Skip to content

Week 8#21

Open
gedanziger wants to merge 2 commits intomasterfrom
week-8
Open

Week 8#21
gedanziger wants to merge 2 commits intomasterfrom
week-8

Conversation

@gedanziger
Copy link
Owner

No description provided.


### Class 23 - Current Blockchain Research - Sidechains & Scaling

We've covered most of the common topics in blockchain, now we'll look at the actively researched ones. One big area of research is how to expand the transactions per second in a blockchain. Currently, bitcoin handles under 10 transactions per second and Ethereum under 20. At peak times, the Visa credit card network handles tens of thousands (~40,000) transactions per second. For cryptocurrencies to replace centralized payment mechanisms, one question to answer is scale.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

one question to answer is scale.

Maybe scalability is better?


The structure of a blockchain like bitcoin, ethereum or even a DPOS chain makes scalability difficult. In bitcoin, each party tries to keep a full set of the database or tries to mine based on hashes of it. Even in delegated proof of stake networks like EOS, all witness nodes try to validate all blocks. This differs from some distributed databases (thinking back to lecture 2 digging into blockchain fundamentals). A common strategy is to split up data for faster processing, or holding more data overall. Pruning can solve some of this, discarding unncecessary or stale data, but verifying the full history (without relying on hashes for stale data) is still a challenge.

Some active topics in blockchain research and development involve splitting up data into more manageable chunks, but still trying to take on the verifiablity of a blockchain. Many of these solutions are only starting to launch, and still in early stages (as of the date of the lecture). Some of the popular areas of research include:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

involve splitting up data into more manageable chunks, but still trying to take on the verifiablity of a blockchain.

involve splitting up data into more manageable chunks , but while remaining verifiable as a blockchain.


### Sharding

In a sharded database, each node doesn't have to hold all of the content. For example, if I have the 4 servers (call them server A, B, C, D) and 8 pieces of data (data 1,2,3, … 8). In a sharded database, I might write data 1 to server A & server C, then data 2 to server B & server D (or any number of write configurations). Each hardware device has its own capacity for writes, so the write capacity of a distributed database can sometime surpass the write capacity of a single hardware device (or the total amount of data stored).
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For example, if I have the 4 servers (call them server A, B, C, D) and 8 pieces of data (data 1,2,3, … 8).

This is a sentence fragment. Suggested fix:

  • For example, assume that there are 4 servers (named A, B, C, D) and 8 pieces of data (named 1,2,3, … 8).

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Each hardware device has its own capacity for writes, so the write capacity of a distributed database can sometime surpass the write capacity of a single hardware device (or the total amount of data stored).

  • Make sure the students understand that you're talking about servers when you talk about hardware devices
  • Discuss why you're talking about write capacity. How does it relate to sharding or sharded databases?
  • Why is the write capacity significant?


In Bitcoin or Ethereum at the current time, we don't take advantage of this. Each computer maintains the full database (In the above example, server A holds data 1-8, as well as B, C & D). All of them maintain the state of the blockchain, so to interfere with any part of the blockchain, it would take over 50% of the processing power.

In a sharded blockchain, each node maintains only some of the data. There are numerous strategies in how the shards maintain state, splitting off specific contracts or dapps, splitting data randomly and other strategies. Sharded blockchains also have to deal with possible bad actors. In a sharded proof of work chain, any single shard could be compromised by a majority of bad actors. Others try to elect representatives such as a DPOS strategy to maintain data. A long-standing production solution has yet to be implemented (at the time of the lecture) and it is an area of strong interest.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sharded blockchains also have to deal with possible bad actors. In a sharded proof of work chain, any single shard could be compromised by a majority of bad actors.

  • Discuss why or how any single shard/sharded chain can be compromised differently from a regular blockchain.


### Sidechains

Another strategy to handle scaling is a sidechain. While an asset can be defined securely in a very decentralized manner on a blockchain, it has to share the transactional capacity of that blockchain with each other asset or smart contract defined there. This can result in high gas fees or slow confirmation times exchanged for the increased security on the network.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please define what sidechain is right after the 1st sentence.


### Lightning

Another solution is handling transactions off of the mainchain through a channel. The most popular implementation of this is Bitcoin's Lightning Network, and other implementations have called this channel-based payments system by the same name.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please define what a channel is after the first sentence.


### Privacy Concerns

The structure of a blockchain gives makes transactions open and verifiable which has driven the usage seen before. However, not all users wish their transactions to be open and verifiable. In bitcoin, the method of change addresses gives some degree of obscurity to transactions - a user could deny owning the change address a transaction was sent to. By design, the entire payment history, including current balances, is available for any to verify. This means that someone holding millions of dollars worth of cryptocurrency could have their address identified, possibly opening them up to physical harm or extortion by bad actors. It also disincentivizes some sensitive transactions - such as buying guns, drugs or other illegal transactions.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The structure of a blockchain gives makes transactions open and verifiable which has driven the usage seen before.

This sentence doesn't make sense.

By design, the entire payment history, including current balances, is available for any to verify.

Revise to: "By design, the entire payment history, as well as the current balance of a single address, is available for anyone to verify."

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It also disincentivizes some sensitive transactions - such as buying guns, drugs or other illegal transactions.

This sentence implies that illegal transactions and purchasing guns or drugs should be incentivized?? Aren't you currently listing negative consequences of public address histories?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants