Does decentralization necessarily require consensus?

CN
9 hours ago

There is a long-standing misconception in the blockchain world: consensus is a necessary condition for establishing decentralized payments. We are bound by Bitcoin and Ethereum.

**Original Title: *Wait, Why Do We Need Consensus Again?*

Authors: Shresth Agrawal, Dionysis Zindros, k4m4, pod.network

Translation: Tia, Techub News

The misconception that the Earth is the center of the universe persisted for centuries. People at that time believed that the sun, stars, and planets revolved around the Earth. It wasn't until brave thinkers revealed the truth of heliocentrism that astronomy was fundamentally changed, breaking the geocentric model.

Like the world of astronomy, there is a long-standing misconception in the blockchain world: consensus is a necessary condition for establishing decentralized payments. We are bound by Bitcoin and Ethereum.

Decentralized currency requires a decentralized consensus solution. — Ethereum White Paper, 2014

Consensus is actually the enemy. By eliminating consensus, we can complete transactions as quickly as a Google search.

Consensus Problem

Eve saved up Bitcoin to buy her first Tesla. Bob and Charlie are the operators of the Tesla dealership.

Eve signs a message to indicate that she is transferring funds to Bob. Bob receives the payment signed by Eve but is still hesitant to hand over the car keys. This is because Bob needs to ensure that Eve has not simultaneously signed a payment transaction to Charlie (double spending).

Figure 1: Eve attempts double spending, aiming to transfer the same tokens to both Bob and Charlie.

Typically, blockchain consensus is used to solve the double spending problem. Consensus takes transactions as input and outputs them in some global order agreed upon by the majority of nodes.

Figure 2: Consensus acts as a black box, taking unordered "mempool" transactions as input and outputting them in an agreed-upon order.

Back to Eve. The transaction where Eve pays Bob is called tx1, and the transaction where she pays Charlie is called tx2. The blockchain ensures the order of transactions through consensus, where in the case of double spending, only the transaction that is packed into a block first is considered valid.

In a network with only one party involved, reaching consensus is simple: that party just needs to output transactions in the order they are received. However, in a network with two or more parties involved, differences in network conditions will lead to transactions being received in different orders. Additionally, malicious parties can intentionally present contradictory views or introduce network delays. So, how do we reach a consensus on global order?

We could use a centralized bank to manage all transactions. But since we do not want to rely on any trusted intermediaries, we choose a group of participants called validators and assume that more than two-thirds of them are honest.

Validators reach consensus through multiple rounds of communication. At regular intervals, a leader is randomly selected, who proposes a global order by placing pending transactions into a block they sign. The remaining validators vote on the leader's block. A block signed by two-thirds of the validators is considered notarized. A malicious leader may selectively censor transactions or even fail to create a block, forcing the process to restart. Repeating this iterative process multiple times allows everyone to eventually agree on the same order. The consensus process is slow.

In contrast, web applications are fast; they only require one round trip — the client sends an HTTP request, and the server returns an HTTP response.

Do we need complete ordering?

Let’s reconsider: does every transaction need to become part of the global state?

Suppose there are two payment transactions: Alice pays Bob, and Charlie pays Dave. Since these two payments are independent, they can actually be executed in any order. That is, regardless of how they are executed, the resulting state remains unchanged.

Figure 3: The payment from Alice to Bob is unrelated to the payment from Charlie to Dave. Regardless of the settlement order of these transactions, the result remains unchanged.

Consensus can solve the double spending problem — but can we avoid the delay costs that come with it?

Here’s how. Similar to consensus, a group of validators is still needed, and we assume that more than two-thirds of them are honest. Validators do not reach agreement on global order but instead ensure that the transactions they receive are valid (based on their local view) through signatures. As long as a transaction is confirmed by more than two-thirds of the validators, it is considered a valid transaction.

Eve sends two double spending transactions to the validators. First, a group of dishonest validators simultaneously signs both transactions. Then, she divides the honest validators into two groups (assuming each group constitutes one-third of the total validators) and sends different transactions to different groups (for example, sending the transaction to Bob to the first group and the transaction to Charlie to the second group). However, Eve still cannot collect enough signatures for both transactions to execute a double spending attack.

Visualizing this distributed network, suppose there are N validators in the network, with less than one-third being malicious.

Honest users: Broadcast new transactions to all validators and consider the transaction complete once they receive signatures from more than two-thirds of the validators, thus obtaining a certificate.

Honest validators: Maintain a list of locally unspent tokens and only sign the first valid transaction for a token.

To complete a double spend, both double spending transactions need to obtain certificates, which means more than one-third of the validators must be dishonest.

This non-consensus protocol does not require communication between validators and only needs one network round trip! Moreover, this architecture has been thoroughly studied in blockchain literature, where its academic terminology is known as consistent broadcasting.

Will there be potential risks? When Eve attempts to double spend, consensus will sort her transactions globally, and only the first of the two transactions will be accepted. However, in the protocol we described, the protocol cannot guarantee that every transaction of Eve will eventually be completed. Eve's account may even be permanently blocked, as we do not have to provide any guarantees to the opposing party.

So, why do we need to reach consensus again?

We do not have a consensus to reach.

Apart from payments, "bag" or common subset protocols (such as on-chain auctions, voting, limit orders), merely additional information flows (decentralized social, notarization), and protocols that can be represented as conflict-free replicated data types (social graphs, reputation systems, games) can all operate without global ordering. Many currently operating DeFi protocols that rely on ordering can also function without global ordering.

Pod eliminates consensus, achieving a decentralized system that is as fast as Google search and as secure as Bitcoin.

免责声明:本文章仅代表作者个人观点,不代表本平台的立场和观点。本文章仅供信息分享,不构成对任何人的任何投资建议。用户与作者之间的任何争议,与本平台无关。如网页中刊载的文章或图片涉及侵权,请提供相关的权利证明和身份证明发送邮件到support@aicoin.com,本平台相关工作人员将会进行核查。

Share To
APP

X

Telegram

Facebook

Reddit

CopyLink