Imagine if Chase Bank and Citibank required their ledgers to be in sync before executing a new transaction for their database. This is how Ethereum and any other account-based blockchain works. In the account-based model, users have a balance of tokens or coins associated with an address or account.
Take John from the United States who lives from paycheck to paycheck. On Thursday, John has zero dollars in his Chase bank account. Tomorrow (Friday) John gets paid. To spend his money, he must wait for the balance to reach his account. From Chase Bank’s perspective, John cannot spend from his account until the balance is positive. John can only buy dinner at a fancy restaurant on a Friday night after settling a credit at the bank. Credit must be processed before debiting the order. This can be managed for a private database where only one entity is responsible for maintaining updates to its own ledger, but not for an open public ledger where many parties write updates to different accounts constantly.
Ethereum (and other account-based models) transactions must be processed sequentially. This is the reason why gas prices on the grid are high when there is a high demand to use the grid. Users bid on fees on top of each other to process their transactions sequentially before the other.
To solve this scalability issue, the developers of Ethereum have proposed Retail (Or more Known in computer science as multi-threading) to solve this problem. Different nodes process different sets of transactions horizontally across the ledger to increase productivity. However, if we consider the implications when processing more transactions, we can conclude that this solution is like kicking the can down the road.
First, looking at the banking example above, only certain transactions can be processed across fragments in parallel, those that don’t update the same account or object state (think digital pet, or in-game weapon attributes). If Shard A tries to process the debit from John’s dinner before Shard B tries to process the requested John credit, the transactions are invalid. Therefore, the fragments are limited to paralleling only certain parameters. Second, as the order increases the transactions that need to be processed, how many blocks are enough?
If the request across the network is 1,000,000 transactions per second, and we have 8 nodes that can handle 125,000 each, what happens when one of the nodes can’t handle that volume?
Suddenly the bottleneck becomes the weakest node on the network that is too slow or collapses due to high demand. If the hash succeeds in 1 million transactions, it may not work at 10 million or 100 million. Sharing is a relief at best, not a long-term solution. Maybe that’s why the technique hasn’t been implemented yet, but “It could ship sometime in 2023.”
Compare this approach with UTXO based model Where the terms of spending on coins do not depend on other terms. For example, if I have a $1 bill and $5 in my pocket, I can spend $1 without any regard for a $5 bill. This is the trade-off that Satoshi Nakamoto made when designing Bitcoin One of the main reasons for its expansion. Technically, $1 and $5 can be spent in different places at the same time, regardless of demand. This is the opposite of John’s case above where transactions need to be processed in order.
However, the trade-off is a universal case which, while useful, is not broad. The state can be calculated independently by off-chain users, for example summarizing the coins associated with a Bitcoin address to get their ‘state’. However, nodes don’t care or have any such concept of balances, which is why Bitcoin Expands horizontally simply by rolling out more devices and resources in the problem.
Watch: BSV Global Blockchain Convention Committee, The Future World with Blockchain
width=”560″ height=”315″ frameborder=”0″ allowfullscreen=”allowfullscreen”>
New to Bitcoin? Check out CoinGeek’s Bitcoin for beginners the ultimate resource guide to learn more about Bitcoin – as originally envisioned by Satoshi Nakamoto – and the blockchain.
#Sharing #work #solution #scaling #blockchain