- Evolution of the Blockchain Application Model along with Changing Consensus
Since Bitcoin emerged in 2009, we have entered an era of blockchain. In the distributed network of Bitcoin, the newly created bitcoins are allocated on a first-solve-first-rewarded basis. To be specific, all the nodes compete to solve a math problem and the rewards only go to the winner who first finds the solution. As the miners solve problems ceaselessly, they create a tamper-proof data chain. The transaction information recorded on-chain as reality derives great value from the consensus built on it. Such an unforgeable ledger, which is called blockchain today, is of revolutionary significance in the development of ledgers over thousands of years.
This post outlines the changes in the consensus of the blockchain world and the way blockchains are applied over recent years, as well as explains why we can build a brand new trusted application with a storage-based computation paradigm.
Bitcoin fundamentalists believe in absolute decentralization. As a global ledger maintained on countless servers, the Bitcoin network may be unable to shut down unless we destroy it just like the Skynet in the famous sci-fi movie titled The Terminator. This kind of P2P network is decentralized and beyond the control of any single country or institution.
Absolute decentralization requires users to verify all the transactions by themselves. At the early stage, it took hours or days for a user to install a Bitcoin wallet on a PC to synchronize with the Bitcoin network. The user could not make a transaction before the synchronization was complete. If the wallet went offline for a long time due to the PC being offline or shut down, the user needed to sync to the latest block before doing any operation. Only after all the data was updated could the user make a new transaction. Such an experience discouraged most users.
Synchronizing and verifying all the transactions is necessary for absolute decentralization.
Due to the 2017’s ICO mania, Ethereum brought the blockchain industry to a new height. As new users surged, Ethereum’s official Mist wallet, which also requires a few days to download and verify all the transactions, was hard to satisfy the growing demands. To solve the problem, imToken built an easy-to-use API wallet.
With an out-of-the-box API wallet, users don’t need to waste much time in data synchronization and transaction verification. The wallet provider operates and maintains a blockchain node, and users’ private keys are kept in their own phones. With access to the node maintained by the provider, users can sign a transaction on their phones and send it to the node.
Another popular API wallet is MetaMask, which played a crucial role in the DeFi boom from 2018 to 2020. The browser extension wallet is also out-of-the-box, and with the help of the novel Ethereum infrastructure infura, it enables users to participate in DeFi with no need to verify transactions. From the token swaps in Uniswap, borrowing & lending in Compound, as well as the yield farming that started to gain popularity in the latter half of 2020, MetaMask is essential to DeFi users.
However, users may lose the fundamental view on the consensus when they become excessively immersed in DeFi. When using an API wallet, users do not verify every blockchain transaction by themselves, but totally trust in the node deployed by the wallet provider. Absolute decentralization is forced to make way for user experience. Ethereum’s official wallet Mist even announced that it would no longer launch an updated version long before the DeFi explosion.
Although absolute decentralization (i.e. users independently verify the ledger) is fading away, the consensus in decentralization has not diminished. As the barriers are lowered for users, DeFi is flourishing and the blockchain story starts to take root in people’s mind. Whether you are using imToken or MetaMask, you entirely depend on their internal nodes rather than verify the ledger. However, once a user’s transaction is included on-chain, it will be secured by thousands of other nodes. Such a reality cannot be changed by a single service provider or centralized cloud service. A centralized service provider can cheat users for a while, but cannot cheat them forever. Users’ transactions are packaged and stored as objective facts in the network that interconnects a large number of nodes so that they cannot be tampered with or falsified.
Compound is a borrowing & lending application that operates on the world computer Ethereum. Every transaction on the Compound platform is computed by thousands of Ethereum nodes to ensure that it becomes an objective fact. However, users and service providers cannot obtain the interest rate of both the borrowing and lending business directly from the blockchain. Although more and more borrowing and lending transactions are becoming objective facts, the APY can only be calculated according to the on-chain data statistics. Users are making decisions based on the superficial data derived from the facts rather than the facts themselves. Hence, objective facts are separated from data presentation.
From the perspective of Bitcoin fundamentalism, only when users verify every transaction with a full node or a SPV wallet, the data presentation they obtain is trustless on a decentralized level. When they use an API wallet like imToken or MetaMask, they are requesting balances from infura or other service providers. The balance is merely a kind of data presentation, which is in its nature not different from the APY provided by Compound.
The APY on Compound is calculated according to the on-chain data (usually using the Ethereum event logs) by the centralized server of Compound. Besides, the balances requested by users from infura or other server providers are also calculated according to the Ethereum program that operates on a centralized server. It’s worth noting that an Ethereum node run on a centralized server is an ordinary program that can be altered or adjusted. Hence, neither the raw data directly obtained from an Ethereum node API nor the new data processed based on it can achieve fully decentralized trustlessness. Service providers can modify their Ethereum nodes and customize statistical programs on their own will. Obviously, if users do not verify every transaction personally, there must be binary separation between objective facts and data presentation. The data that users obtain from service providers is actually a second-hand statement of objective facts.
To understand absolute objective facts, users need to verify all the transactions and perform statistical analysis by themselves. Such a trustless model based on absolute decentralization is too idealistic to be applied to real-life scenarios due to ultra high barriers to entry.
The failure of Ethereum’s official wallet Mist marks a shift in the consensus of the blockchain industry. Users no longer verify transactions by themselves, but make transactions through infura or the nodes run by other service providers. It means they entirely trust in the service providers.
The consensus among users is gradually changing. One reason for this is the ever changing user group in the blockchain industry. Bitcoin fundamentalists witness a flood of new users, who never deploy a node or install a SPV wallet. Most of the new users prefer easy-to-use token transfers and high-return DeFi applications to decentralized trustlessness. The vision for decentralization has shifted from actively obtaining absolute objective facts to relying on service providers for second-hand statements of facts. As shown in the following figure, it has shifted from a one-layer topology model to a two-layer model, and is likely to evolve to a three-layer model in the near future.
Figure 1 shows the model of absolute decentralization where user clients are in the same layer as blockchain nodes. Users need to keep their nodes in sync with the blockchain and verify all the transactions by themselves. The model has extremely poor user experience.
imToken and MetaMask begin to rise since 2017’s ICO boom. To meet the surging user demands, the two-layer model shown in Figure 2 emerges. In this model, users do not verify transactions any more, but rely on service providers to deploy and maintain nodes. After receiving the signed data from users, the nodes operated by service providers will deal with the transactions on behalf of users. This model frees users from troublesome transaction synchronization and verification, thus greatly improving the user experience.
As we can see in figure 3, the three-layer model will entirely decouple users from blockchains. In this model, users do not interact with blockchains and their signed transactions aren’t sent to the blockchain nodes. The trustfulness of service providers is secured by various blockchains, and users’ transactions are entirely dealt with by applications. The greatest advantage of the model is its internet-level user experience, including internet-level TPS and trusted accounts.
The shift in the blockchain application model reflects the constantly improving user experience from the lowest to medium and finally to the easiest-to-use level.
Actually, the current DeFi applications do not belong to a pure two-layer model, but a 2.5-layer model.
When we use DeFi apps, most of the data displayed has been processed in a statistical way by centralized servers, rather than is directly output by nodes. With blockchains merely serving as a settlement layer, a service provider can easily modify the programs and falsify the data of the node run on its server.
We can assume two kinds of attacks:
- Real notes + misleading data presentation. Service providers do operate real nodes, but the interest rate, exchange rate or other information they display is modified in order to induce users to perform on-chain operations. Although transactions are made on-chain, the resulting data is not presented faithfully. For example, the APY displayed is 10%, but the actual value is 9%; the exchange rate displayed is 1 : 256, but the actual value is 1 : 250.
Totally fake nodes. In this case, all the transfers or DeFi transactions that users make through service providers are fake.
The only way to avoid the two attacks is asking users to personally run a node and perform statistical analysis, which will cause a lot of trouble. Hence, users have to rely on the data presentation or verify the data through a third party. In real life, we always need to verify our transactions on the etherscan when interacting with DeFi apps through imToken/MetaMask.
When a service provider develops an app, the trustlessness based on absolute decentralization will be transferred to the app. Users trust in service providers and can achieve a higher level of trustfulness through third-party transaction verification. Anyway, users’ trust has been separated with the decentralized trustlessness secured by blockchains. To conclude, trust can be divided into two categories:
- Absolute trustfulness: With no need to trust anyone, users verify all the blockchain transactions on their own and maintain a totally decentralized ledger.
Relative trustfulness: Users have to trust in service providers and obtain the data presentation of the ledger from them. After that, they will make comparisons among the data from multiple service providers.
The figure in the left is an extension of a two-layer model where users interact with the nodes run by server providers and trust in the data presentation provided by them. In this case, users are in a relatively trustful environment because the service providers’ nodes may not be real. Users need to seek for third-party transaction verification or verify the transactions by themselves.
In a two-layer model, users directly interact with nodes and send transactions to them. The figure in the right is a three-layer model where users, service providers and nodes are isolated from each other. Users do not interact with nodes any more. By enabling trusted computation based on storage, service providers deal with users’ transactions through off-chain programs, which is secured by a blockchain (i.e. a storage-based computation paradigm enabled by Arweave) throughout. Hence, the off-chain computations can also be verified by a third party or users.
In a storage-based computation paradigm, the source code of a deterministic program is publicly available or uploaded to a blockchain. The program is entirely run off-chain with all the inputs sent to and recorded on a storage blockchain. The data packaged is arranged in order (according to time). Any third party can run the off-chain program, which will download the deterministic data from the chain and generate deterministic state.
A Storage-based Computation Paradigm Enabled by Arweave
For users, the three kinds of layered models are relatively trustful. Absolute trustfulness is merely concerned with service providers. A trustless model can never be realized unless users verify all the transactions on their own.
In the three-layer model, we can rebuild Compound by removing the need for an EVM-based on-chain computation model. As long as the program and the data of an app are trustful, the computation results of the app always exist as objective facts. In a three-layer model, not just the APY, but also the balance state changed with every transaction are computed and displayed off-chain. Evolving from a two-layer model to a three-layer model will not change objective facts and the relatively trustful environment for users. As a growing number of transactions are included onto the chain, the resulting objective facts are secured by the blockchain technology.
Why should we build a three-layer computation model to separate users and blockchains?
Blockchains have too many limitations for general users to use. Restricted TPS, expensive gas fee and seed phrase protection discourage users. To achieve absolute decentralization, blockchains sacrifice its usability to a large extent.
With its trustfulness ensured by blockchain nodes, applications built on the three-layer model can be developed in a highly flexible way and provide ultimate ease of use for users.
- Composability: Using a storage-based computation paradigm does not undermine composability, so that any application can interact with each other through an API. After the transactions from applications are included onto the chain, they will become tamper-proof objective facts and can be verified. When two applications interact with each other through an API, any fake transaction and the later ones will be detected and reverted. The reversion will happen off-chain to correct the false entries so as to keep the computation results of the off-chain program consistent with the facts on-chain.
Low development barriers: As long as the traditional applications are open source and the transactions are included on-chain, the applications will be transparent and support third-party verification. The computation paradigm imposes no restrictions on programming languages.
No performance limitation: The performance of the off-chain program only depends on the machine where the program deploys and the capabilities of the development team.
Low consensus cost: The consensus cost can be reduced to as low as the cost of blockchain storage. It only costs 1 dollar to store nearly a million transactions on Arweave.
The model mainly sacrifices permissionless access. The applications built on the model are implemented and deployed by a centralized service provider, who can filter and censor users’ transactions. Besides, a single point of failure may lead to service suspension.
However, no one can undermine the objective facts on the ledger. The factual program and every signed transaction will be secured by the blockchain as verifiable facts.
The lowest consensus cost is the storage cost. Due to its unforgeability and traceability, a blockchain enables us to store the factual program and factual data so as to ensure that the computation results exist objectively and can not be tampered with. Computations actually do not belong to objective facts, which remain unchanged whether we perform computations or not. Verifiability is key to consensus and trustfulness of a blockchain. Ensuring anyone can verify the tamper-resistant objective facts is the cornerstone of trust.
Thanks to verifiability, the storage-based computation paradigm can build trust among multiple parties. A verifiable and transparent ledger revolutionizes the traditional ledger technology. It manages to resolve various contradictions and disputes faced by a traditional ledger (or contract) when coordinating production relations.
A ledger is key to human collaboration. The interlinks among the ledgers from everyone and every institution facilitate the collaboration and division of labor in today’s society. As a revolutionary factual machine, a blockchain will completely change the trust system based on a ledger, make it easier to build trust and realize free value transfer.
- Date of publication:
- Thu, 04/22/2021 - 21:11
Click on the link - it will be copied to clipboard