Bitcoin has been bashed by many big names in the crypto community due to its lack of scalability, but one developer is working his hardest to try and fix these much-discussed issues. His plan borrows heavily from the Coda protocol and is rather technical, but it could help fix Bitcoin’s scalability issue.
We are going to try and make this as easy to understand as possible, but we want to apologize in advance if it’s still a bit complicated. The proposal was created by a Bitcoin Core developer named Tyler Smith, and he goes into a lot of technical detail to prove that his instant sync full nodes could change the Bitcoin world.
Here we go…
The Problem with Bitcoin
Bitcoin has this issue whereby it can only process around three to seven transactions per second due to the limits placed on block size and block creation speed. The block size determines how many transactions can fit into a block, while the creation speed is how often a block is mined and added to the blockchain. Block sizes are relatively small and creation time is slow, meaning it’s not practical for a high transaction per second (TPS) use case and its scalability is very poor.
You Can’t Fix TPS By Increasing Block Size or Reducing Block Creation Time
While this might seem like the obvious answer to the problem, both would actually make the entire Bitcoin blockchain payment network slower than it already is. If you increase the block size to fit more transactions in, more data has to be propagated around the network of full nodes. This added latency would reduce any benefit of increasing the block size.
If you decrease the block creation time, more blocks would be created inside an hour, but there is increased risk of double spend attacks occurring. This would mean in order to protect the Bitcoin network from these types of attacks and abuse, you would have to wait for more confirmations before your transaction is accepted as valid by the entire network.
Both of these solutions would therefore make the network even slower and potentially more open to attacks, as well as increased user abuse.
The Coda Protocol in a Nutshell
In not so many words, the Coda protocol aims to make its blockchain as small as possible by using recursive zk-proofs. This means that the blockchain will remain the exact same size, no matter how many transactions are processed or how many users are on the network. By using zk-proofs, a tiny snippet of the previous block is all that’s needed to prove the entire history of the blockchain as true – a bit like a shortened URL – and this saves a ton of space.
What is a ZK-Proof?
A zero-knowledge proof (zk-proof) is a tiny snippet of data cryptographically secured that proves the rest of the blockchain is true and valid. It removes all transaction signatures and unnecessary data and creates a bundle of short codes to save space. These then in turn prove that the blockchain is valid, true, and accurate. By using zk-proofs recursively, Coda manages to completely minify the blockchain data and keep it to the same size as a few Tweets. One zk-proof takes the previous zk-proof’s data, makes it smaller and adds the new set of transactions.
How Can This Fix Bitcoin?
In order to allow the two possible fixes mentioned above to work, we need to develop more nodes that can verify the blockchain quicker. To do so, Smith is proposing to use these zk-proofs to super-compress the blockchain history, so that new full nodes on the network can setup and get running with the verified, genuine, and accurate blockchain in seconds. These smaller data files would take less time to be verified as genuine by two-thirds of all full nodes, meaning your transaction is validated faster than ever before.
This will then allow Bitcoin to scale better and start processing thousands of transactions per second. It will be packaged into a layer that sits on top of the Bitcoin blockchain, similarly to the Lightning Network. In simple English, these new nodes will allow Bitcoin transactions to be verified faster and will help Bitcoin scale better.
Stick to the Lightning Network… For Now
For now, this is just a concept and there is still a lot of work that needs to be done. In theory, it should work and would fix Bitcoin’s scalability issues once and for all. However, it could be a few years before we see the final product tested to the point where it’s added into the Bitcoin Core code. Until then, let’s just stick to the Lightning Network.