Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Summary
- Blockchain-based distributed systems and consensus-based distributed systems are not that different. Both of them use deterministic rules to decide what is legal and some agreement scheme to ensure agreement on which of two conflicting legal transactions is ultimately universally accepted. The majority of what you can do with one, you can do with the other, and both techniques support a wide range of internal variation to meet different use cases.
- Importantly, in both systems, so long as they are operating correctly, ordinary users need not concern themselves with the underlying technology. They can simply submit transactions to the network and they will work. Mining, so long as it is working, can be ignored. Validators, so long as they are working, can be ignored.
- Common to both systems: Both can solve the cryptocurrency double spend problem without a central authority. Both make it possible for a decentralized system to agree on system state. Both can be used to build cryptographic payment systems.
- Advantages of blockchains: Blockchains can be used to perform the initial distribution of a currency. Blockchains are technically simpler and can have a smaller attack surface. Blockchains do not require management of distributed trust as this is accomplished by the cost of hashing power.
- Advantages of distributed agreement systems: Distributed agreement systems have a clear response to a 51% attack. Distributed agreement systems can reach a comparable level of confirmation certainty more quickly than blockchains can. Distributed agreement systems can detect when a server has a minority view. Distributed agreement systems do not require some mechanism to incentivize proof of work to maintain their transaction security. Distributed agreement systems do not permit any single stakeholder to choose the composition of transaction groups.
- There are, however, areas in which the technologies differ fundamentally. The analysis below assumes the most common implementations of both types of systems without any unusual changes. It is possible to make changes to either type of system to make it behave more like the other.
- Stake
- Stake in a blockchain is just hashing power, that is, people buy stake by buying hashing power. Stake in a consensus system is typically chosen by the stakeholders.
- The advantage for blockchain systems is that no effort is required to manage the stake directly, since it cannot be managed directly Social pressures are used to prevent a single stakeholder from acquiring sufficient stake to dominate the system.
- The advantage for consensus systems is that the stake can be managed directly. If some party has too much stake, other stakeholders can simply reduce their stake directly.
- Either system can be given the characteristics of the other, if desired. Blockchains can be based on proof of stake or signed blocks. Stake in a consensus scheme can be based on holding an asset controlled by the system.
- Performance
- Consensus schemes can reach an equivalent level of transaction confirmation confidence much more quickly than a blockchain can. Systems have real-world performance limits on transaction volume that do not relate to whether they use a blockchain or a consensus system.
- Complexity
- Consensus schemes are inherently more complex. This makes it much harder to assure that a consensus scheme is implemented correctly. In addition, proof of work schemes have been around longer, and while they’ve had more serious failures, their behavior is better understood.
- Reliability
- Blockchain schemes currently provide no way to ensure reliable operation. For example, if the Bitcoin network is split such that you are connected to less than 50% of the mining power, your confirmations will appear as normal, just more slowly. Consensus schemes always make it possible to tell what fraction of the network you are connected to.
- For sufficiently large block times, this is not an issue. For example, with 6 confirmations required and 10 minute block times, you’d need to be disconnected from the network for an hour to accept a transaction that you should not accept. However, this would be a significant problem if attempts were made to increase block times and/or use fewer confirmations.
- Complex Payments
- In a blockchain system, for any given block, there is one miner who had complete control over what transactions were included in that block. That means they can include transaction never broadcast over the network or exclude legitimate transactions, even if they pay high fees. This is the reason that consensus systems frequently provide complex forex and cross-currency payments while blockchain systems rarely do.
- For example, if Ripple’s transactions were switched to a blockchain, miners could take the very best offers themselves. They could reject transactions that attempted to take them but include transactions that included generous offers including their own transactions to take them. They could front run orders and payments, taking liquidity and reselling it at the maximum amount others were willing to pay. Essentially, the incentive to mine would be the ability to extort profit by controlling transaction execution.
- By contrast, in a consensus scheme, no single party need have control over any block. Each transaction is individually voted into each consensus round by a majority of stakeholders.
Advertisement
Add Comment
Please, Sign In to add comment