▲圖片來源:infoworld
Blockchain networks combine groups of transactions into collections (blocks) that are appended to each other (chains). The blocks employ a function to ensure that values are not re-used in transactions, thus avoiding the problem of double spending. The network then uses a blockchain consensus mechanism to come to an agreement that a given block is valid.
Blockchains have devised a variety of consensus mechanisms to use for validation. This article explores the most common blockchain consensus mechanisms and some real-world variations.
Proof of Work
For people seeking to understand blockchain, the original Bitcoin white paper is a good place to start. It introduces Bitcoin as a peer-to-peer electronic cash system and discusses the first blockchain consensus mechanism, Proof of Work. That mechanism is the seed from which all other blockchain consensus mechanisms grow.
Every consensus mechanism exists to solve a problem. Proof of Work was devised to solve the problem of double spending, where some users could attempt to transfer the same assets more than once. The first challenge for a blockchain network was thus to ensure that values were only transferred once.
Bitcoin's developers wanted to avoid using a centralized “mint” to track all transactions moving through the blockchain. While such a mint could securely deny double-spend transactions, it would be a centralized solution. Decentralizing control over assets was the whole point of the blockchain.
Instead, Proof of Work shifts the job of validating transactions to individual nodes in the network. As each node receives a transaction, it attempts the expensive calculation required to discover a rare hash. The resulting "proof of work" ensures that a certain amount of time and computing power were expended by the node to accept a block of transactions. Once a block is hashed, it is propagated to the network with a signature. Assuming it meets the criteria for validity, other nodes in the network accept this new block, add it to the end of the chain, and start work on the next block as new transactions arrive.
Proof of Stake
Proof of Work was an ingenious solution to the problem of double spending. It introduced permissionless peer-to-peer consistency, which was an entirely new model for distributed computing. All blockchain networks elaborate on the basic idea of securing open networks with cryptography.
However, the original blockchain mechanism has substantial drawbacks. The hashing function necessitates high energy expenditure. It also creates a bottleneck in how many transactions can be processed in a given period of time.
These shortcomings inspired some interesting variations on the initial idea. The first and most influential alternative to the Proof of Work consensus mechanism is Proof of Stake, which was introduced by the Peercoin project.
Proof of Stake creates incentive for nodes to approve transactions honestly by holding their own currency as a bond. Proof of Stake operates very similarly to Proof of Work with respect to its relationship to the network. It fulfills the same role. The difference is that Proof of Stake validator nodes have a stake in the network: If they act dishonestly, they not only stand to lose part of their stake, but they devalue their own currency.
Proof of Stake offers potentially much higher block-processing time because it is not limited by hash-function processing. It also reduces the use of computing power. Many newer blockchain networks have adopted Proof of Stake, including Ethereum 2.
Delegated Proof of Stake
Delegated Proof of Stake is an elaboration of the Proof of Stake mechanism. Essentially, it means validators can be elected by other participants in the network, usually according to a weight based on their token holdings (that is, their stake). This mechanism works similarly to the electoral college in elections.
A Delegated Proof of Stake network is more flexible because token holders can adjust how validators are deployed in validating blocks more dynamically. It also mitigates the influence of high-value validators who otherwise can have exaggerated control over the network. Delegated Proof of Stake is a way to build governance into a more fundamental layer of the network. Voting on validator status is built into the everyday operation of the network.
Proof of History
Proof of History is an idea proposed by the Solana project. It is not a standalone consensus mechanism but rather a means for improving the efficiency of other mechanisms. Proof of History uses a verifiable delay function (VDF)) server that ensures the ordering of transactions across the network. The validator nodes are then able to deal more efficiently with processing transactions because they don’t need to be concerned with timing.
The time server is incorporated into the network in a decentralized way by rolling over to a different validator periodically or in the event of a failure. Proof of History is an increase in architectural complexity in exchange for optimized performance. (See my introduction to Solana blockchain for more about the Proof of History mechanism.)
Proof of Space
Proof of Space covers a range of techniques for demonstrating that a node in the network has committed storage resources. It is sometimes also called Proof of Storage.
The basic idea is to commit nodes to honest block validation in a similar fashion as Proof of Work, but instead of CPU cycles, this mechanism uses disk space. One algorithm used for this purpose is what’s called a hard-to-pebble graph. In this mechanism, nodes claim to have reserved space based on a graph that is hard to calculate. Consensus is achieved when the network asks for proof in the form of random samplings from the reserved space. Nodes must actually solve and store the problem to offer the proof.
Proof of Capacity
Using disk storage to engage nodes offers the potential of less energy usage than the Proof of Work mechanism. One variation on the Proof of Space mechanism performs the work ahead of time and stores it, thereby creating a kind of queue that validators can rely on. This mechanism, known as Proof of Capacity, is used by the Signum project.
Proof of Spacetime
Proof of Spacetime is another refinement of the Proof of Space mechanism that ensures that disk space has been held for a certain length of time. It's a rather ingenious mechanism in that it not only establishes an algorithm for proving the expenditure of space and time in computational resources, but dynamically adjusting the relative weight the prover devotes to each. Read the Proof of Spacetime proposal to learn more about it.
Proof of Activity
Proof of Activity is an attempt to combine Proof of Work with Proof of Stake. It basically works in two phases, first using Proof of Work to validate blocks and then confirming the blocks via Proof of Stake. This mechanism increases the overall security of transactions by ensuring blocks are both hash-mined and stake-validated. On the other hand, it doesn’t address the shortcomings of Proof of Work.
Proof of Elapsed Time
Proof of Elapsed Time was first proposed by Intel and is a different animal than the others described here because it applies to permissioned blockchain networks. One of the key characteristics of Bitcoin-like blockchains has been that they are permissionless. Making nodes identify themselves with credentials to participate results in a private blockchain. The idea is to leverage some blockchain characteristics, like network resilience, but in the context of a proprietary network.
The open source HyperLedger Sawtooth project is the most prominent example of Proof of Elapsed Time.
Proof of Authority
Another more drastic departure from Nakamoto's Proof of Work is Proof of Authority. In this model, validators are vetted upfront using both the computer and human aspects. Instead of distributing proof of validity across the network via something like a hashing function, Proof of Authority uses an external mechanism that imposes compliance from the outside. The VET cryptocurrency uses Proof of Authority.
Proof of Burn
Another high-level alternative to Proof of Work and Proof of Stake is the Proof of Burn mechanism. In this type of network, nodes validate their work by burning tokens. Burning tokens is an expensive activity, which ensures they have skin in the network. The Proof of Burn mechanism still relies on other mechanisms to ensure the tokens themselves have value. At this time, that would probably be Proof of Work or Proof of Stake.
Proof of Burn's strength is in providing a kind of bridge between networks that operate with different consensus mechanisms. It has interesting use cases in enabling cross-chain transactions.
Proof of Importance
Proof of Importance is a kind of Proof of Stake mechanism that attempts to incorporate more data into the decisions about what nodes are accepted as validators. It creates a score for nodes that weighs their legitimacy, and the amount of token staked is one factor in that score. Proof of Importance includes other factors like the longevity and activity that nodes exhibit, their relationship with other nodes, and can apply weighting like moving averages to token spends. Proof of Importance was introduced by the NEM project.
Proof of Identity
Proof of identity is a fertile area of development because it represents the intersection of blockchain and identity. This is the general goal of tying a blockchain ID—a private key—to a real-world identity like citizenship. One of the most likely areas of disruption for blockchain is in authentication using a decentralized ID. If a generally accepted means for verifying personal or organizational identity within a blockchain were implemented, blockchain users and networks could use Proof of Identity to participate and validate transactions.
See my introduction to zero-knowledge proof for more about decentralized authentication.
轉貼自: infoworld.com
若喜歡本文,請關注我們的臉書 Please Like our Facebook Page: Big Data In Finance
留下你的回應
以訪客張貼回應