The following paper, “What Blockchain Can and Cannot Do”, is based on the working paper of the People’s Bank of China published to facilitate academic exchange and discussion on blockchain. The views in this paper represent the author’s personal views only and not necessarily the views of the People’s Bank of China.
What Blockchain Can and Cannot Do
Xu Zhong, Zou Chuanwei
This paper studies what blockchain can and cannot do from an economic perspective. Even if the physical bottleneck of blockchain is alleviated in the future, some economic problems mentioned in this paper will still exist.
Part 1 uses an economic interpretation of blockchain technology to explain the token paradigm adopted by current mainstream blockchain systems, clarify the two basic concepts of consensus and trust as related to blockchain, and summarize the functions of smart contracts.
Part 2 studies the economic function of blockchain. The main application directions of current blockchain projects are reviewed in order to discuss the characteristics of tokens, the influence of tokens on blockchain projects, the governance function of blockchain, the performance and security of blockchain systems, and finally, what blockchain can and cannot do.
In order to avoid confusion or ambiguity, this paper uses “token” to signify several different concepts, such as cryptocurrency and encrypted assets.
Part 1: Economic Interpretation of Blockchain Technology
Blockchain involves computer technology and economics. This part gives an economic explanation of blockchain technology and discusses common misunderstandings about consensus, trust, and smart contracts related to blockchains, laying a foundation for Part 2, which studies the economic function of blockchains.
(I) The token paradigm of blockchain
At present, any mainstream blockchain system, whether it adopts the UTXO model represented by Bitcoin or the account model represented by Ethereum, has a script language with Turing completeness or supports smart contracts. There are three key features, which comprise the token paradigm.
First, a consensus algorithm is applied to tokens within the blockchain. Tokens are essentially a state variable defined within the blockchain. Tokens can be transferred between different addresses within the blockchain. The total amount of tokens is unchanged during the transfer process; that is, when one token is debited at the transfer-out address, one token is credited at the transfer-in address. Some blockchain systems limit the total amount of tokens, as is the case with Bitcoin.
When tokens are transferred between different addresses in blockchain, the token status (which indicates how many tokens are in each address in the blockchain) is updated and the transaction confirmation occurs synchronously. For example, Alice transfers a Bitcoin to Bob, which is recorded in the blockchain (specifically, the transaction is packed into a block and put on the blockchain), and the UTXO (which can be understood as the account balance in the Bitcoin blockchain) of public keys corresponding to Alice and Bob is updated at the same time. Therefore, when the token is traded, it will not form in-transit funds or induce settlement risk in the traditional sense.
Second, there is an inextricable link between tokens and smart contracts. A token itself is an embodiment of a smart contract. For example, the token contract represented by Ethereum ERC20 specifies a series of data such as the total amount of tokens, the issuance rules, the transfer rules, and the destruction rules. The token contract manages a series of statuses, recording which addresses have what information on the token. Based on the token contract, a smart contract that can perform complex operations on tokens can be built. The result of these smart contract executions is mainly that the status of the token is changed. Subsection (III) will analyze the functions of a smart contract.
Third, according to whether it is related to the status and transaction of the token, the information in the blockchain is divided into two categories—the related and the unrelated. The two types of information have completely different statuses under the consensus algorithm. When the node runs the consensus algorithm, it focuses on checking whether the related information conforms to the predefined algorithm rules. The unrelated information is written into the blockchain as additional information about the token transaction, but the node does not verify the accuracy of such information. For example, the Bitcoin node checks that the nonce is a solution to a mining problem, and that the transactions in the block meet pre-defined criteria in terms of data structure, grammatical normalization, input and output, and digital signature. But for the sentence “The Times 03/Jan/2009 Chancellor on brink of second bailout for banks” in Bitcoin’s Genesis block, the node will not be able to verify the accuracy of the sentence.
(II) Consensus and trust in blockchain
Distinguishing between these two types of information is the key to understanding the scope of blockchain consensus. Blockchain consensus is for information about the status and transactions of the token. For example, the Bitcoin consensus determines the number of UTXOs corresponding to each address and the records about transfer of Bitcoin between addresses up to a certain block. Information that is not related to the status or transaction of the token within the blockchain is basically outside the scope of consensus. In general, the mechanism by which outside information is written into the blockchain is referred to as the oracle mechanism.
One of the main trust issues with blockchain is that if the information from outside of the blockchain is not guaranteed to be true and accurate at the source, writing the information into the blockchain only means that the information cannot be falsified from that point onward, and the true accuracy of the information is not improved. However, blockchain does help solve the problem of data registration and traceability. The data registered in blockchain has a traceable subject identity signature and can be used for post-audit, and the inelastic modification of the uplink data also helps to control operational risks.
(III) Functions of the smart contract
A smart contract is a computer code that runs inside a blockchain and performs complex operations on tokens. The limited operating environment within blockchain currently makes such code far from smart—you could even say that the current smart contract mechanism is neither smart nor contractual. This section summarizes the use of smart contracts for the basic operation of transferring X number of tokens from address A to address B under certain trigger conditions.
First, smart contracts function at the property rights level. The A and B addresses can belong to either an account or a smart contract. A token at a particular address contains information about the property rights of that address. For example, if address A is the issue address, it corresponds to the generation of the token (primary market); if address B is the destruction address (that is, a special address similar to 0x0000..0000 that does not correspond to the private key), then it corresponds to the destruction of the token. Token transfer between two addresses corresponds to a change in property rights.
Second, smart contracts function at the process level. For a token transfer to be valid, the transfer initiator must have the right to operate X number of tokens at address A; this means the trigger condition of the smart contract is satisfied. After the initiator propagates the transfer information to the distributed network, the other nodes verify whether the initiator has operation authority for address A, whether the trigger condition is satisfied, and whether the number of tokens at address A exceeds X. The operation authority of address A is reflected in the related signature operation (often involving multiple signatures). The trigger condition depends on the information both inside and outside the blockchain (in which case the information outside blockchain needs to be written into blockchain first). The number of transfers, X, can be determined manually or by a formula to achieve contingent payment or a more complicated payoff structure. There are two results after the execution of smart contracts: “successful” and “failed.” There is no intermediate outcome. In particular, if the transfer initiator cannot ensure that the number of tokens at address A exceeds X, the execution of the smart contract will fail.
Third, smart contracts function at the economic and social level.
- Voting. Transferring a token to an address could be understood as a vote.
- Mortgage. A certain amount of tokens are first transferred to a smart contract, with the agreement that the tokens can be returned at a future time and under certain conditions.
- Freeze and thaw. Freezing is locking a certain number of tokens with a time lock, thus temporarily abandoning the token’s liquidity, and thawing is when the time lock expires.
Based on basic functions such as voting, mortgaging, freezing, and thawing, a smart contract can support more complex governance functions.
However, the shortcomings of smart contracts cannot be ignored. First, when the trigger condition of a smart contract depends on information outside the blockchain, this information needs to be written into the blockchain first, but so far there is no universally applicable decentralized oracle mechanism.
There are two types of oracle mechanisms that are currently being discussed. One is to rely on a centralized information source (such as Bloomberg or Reuters), but this runs counter to the tenet of decentralized blockchain. The second is to discretize the information and then write it into the blockchain using economic incentives and voting. Such mechanisms rely on group wisdom to reward and punish voters according to the results of the vote. The closer a vote is to the average, median, or other sample statistics, the more likely the voter will be rewarded, and vice versa. This will encourage voters to vote seriously. The implicit assumption is that the voting group does not have a systematic bias when voting. However, this is not necessarily true, so currently there is no universally applicable decentralized oracle mechanism.
Part 2. Economic Function of Blockchain
Blockchain applications are generally classified according to the industry in which the application scenario belongs, as with Goldman Sachs (2016). This paper proposes a new classification method based on token usage and discusses the economic issues involved in these applications.
Table 1: Main applications of blockchain
|Token use||Typical Applications||Application Logic|
|Tokens are not involved (i.e., token-free blockchain)||Represented by consortium blockchain, for example, blockchain used in supply chain management, anti-counterfeiting and source tracking, data sharing, social integrity, trade management, and financial information disclosure. Used in scenarios such as receivables in trade financing.||The public shared ledger function of blockchain is utilized, but the blockchain does not directly involve the transfer of property rights and risks.|
|Tokens are involved in non-public offering transactions||Application of asset uplink and blockchain in scenarios such as supply chain finance and digital notes.||Tokens represent assets or rights outside the blockchain.|
|Tokens are involved in public offering transactions||Tokens correspond to outside assets||Economic activities taking tokens as a unit of valuation or underlying assets, e.g., Bitcoin futures, Bitcoin ETFs.||Relies on the legal framework outside blockchain.|
|Tokens are used as a payment tool and an incentive to build a decentralized economic activity||Public chains and distributed applications based on public chains.||Reconstruct real-world economic activities with blockchains, use smart contracts and trustless environments within blockchains to reduce or eliminate reliance on trusted third-party organizations, and design alternative centralization agencies with decentralized arrangements and token-based mechanisms.|
Table 1 divides blockchain application into four categories. The first type of application does not involve tokens, and blockchain is mainly used as a distributed or decentralized database. The public shared ledger function of blockchain helps to alleviate the information asymmetry between economic activity participants and improve the efficiency of their division of labor. The main problem in such applications is how to ensure the authenticity and accuracy of the information outside the blockchain at the source and when written into the blockchain. Compared to the public chain, the consortium chain is more suitable for this application. The consortium chain is only open to authorized nodes and is jointly maintained by such nodes to achieve inter-organizational consensus. The authorized nodes know each other’s identity, and misinformation will affect a node’s reputation. The cost of writing false information into the blockchain is relatively high. The information being written into the blockchain can also be introduced into a third-party authentication organization to verify the authenticity and accuracy of the information. However, these guarantee mechanisms are mainly based on real-world constraints rather than the characteristics of blockchain itself.
Representative cases of the first type of applications are the Bay Area Trade Finance Blockchain Platform of the People’s Bank of China Digital Currency Research Institute and the asset securitization information disclosure platform based on blockchain technology.
The second type of application uses tokens to represent assets or rights outside a blockchain to improve the registration and transaction process of those assets or rights. But whether tokens correspond to assets or rights outside the blockchain, and whether the status and transactions of the token are binding or influential on the real world outside of the blockchain, depends on whether outside laws and institutions give tokens any recognition beyond the blockchain. In this type of application, blockchains are used in scenarios such as supply chain finance and digital notes. At this point, tokens represent the claims of a core institution and act as an internal settlement tool in the supply chain. Tokens replace the offset balance of triangular debt between the upstream and downstream companies in the supply chain with the core institutions’ liabilities to these enterprises, which can reduce capital occupation and improve capital turnover efficiency. The core institution functions like a central counterparty and is responsible for the exchange between tokens and fiat currency. The tokens in these scenarios are equivalent to the concept of network community tokens or business district coins proposed by Wang Yongli (2018). The application value of tokens depends on the breadth and depth of the scene.
This paper analyzes the function of blockchain from the perspective of economics, summarizes the token paradigm adopted by the current mainstream blockchain systems from the perspectives of tokens, smart contracts and consensus algorithms, and gives economic explanations for tokens.
- A token is a state variable defined within blockchain and has several currency-like characteristics. Token transactions within blockchain do not need to rely on trusted third-party agencies, but the trustless environment within blockchain cannot extend beyond blockchain. Once separated from native functions such as token transactions, a blockchain must solve the trust problem in real life, often needing to introduce a trusted central mechanism outside the blockchain to assist.
- A smart contract is a computer code that runs in a blockchain and performs complex operations on tokens. It can implement the definition, issuance, destruction, transfer, mortgage, freeze, and thaw of tokens, but it cannot guarantee the performance of debts in blockchain. It is also difficult to deal with incomplete contracts. The limited operating environment within blockchain currently makes such code far from smart.
- The consensus algorithm is targeted for information about the status and transactions of a token and guarantees the authenticity and accuracy of such information. However, information in the blockchain that is not related to the status or transaction of the token is basically outside the scope of consensus. In particular, when information is written into the blockchain that only means that the information is now public and tamperproof, but it cannot improve the authenticity and accuracy of the information at the source. At present, there is no decentralized oracle function which can truly and accurately write information from outside of blockchain into blockchain.
- Abadi, Joseph,and Markus Brunnermeier, 2018,“Blockchain Economics.”
- Amsden,Ryan, and Denis Schweizer, 2018, “Are Blockchain Crowdsales the New ‘Gold Rush’? Success Determinants of Initial Coin Offerings.”
- Athey, Susan, Ivo Parashkevov, Vishnu Sarukkai, and Jing Xia, 2016, “Bitcoin Pricing, Adoption, and Usage: Theory and Evidence.”
- Benedetti, Hugo, and Leonard Kostovetsky, 2018, “Digital Tulips? Returns to Investors in Initial Coin Offerings.”
- Biais, Bruno, Christophe Bisière, Matthieu Bouvard, and Catherine Casamatta, 2018, “Blockchain Folk Theorem”, Working Papers No 17-817, Toulouse School of Economics.
- Bianchi, Daniele, 2018, “Cryptocurrencies as an Asset Class? An empirical Assessment.”
- Budish, Eric, 2018, “The Economic Limits of Bitcoin and blockchain,”NBER Working Paper 24717.
- Buterin, Vitalik, 2013, “A Next-Generation Smart Contract and Decentralized Application Platform.”
- Catalini, Christian, and Joshua S. Gans, 2016, “Some Simple Economics of blockchain,”NBER Working Paper Series.
- Chod, Jiri, and Evgeny Lyandres, 2018, “A Theory of ICOs: Diversification, Agency, and Information Asymmetry.”
- Committee on Payments and Market Infrastructures (CPMI), 2018, “Central Bank Digital Currencies,”Bank for International Settlement.
- Cong, Lin William, Ye Li, and Neng Wang, “Tokeconomics:Dynamic Adoption and Valuation.”
- Easley, David, Maureen O’Hara, and Soumya Basu, 2018, “From Mining to Markets: The Evolution of Bitcoin Transaction Fees.”
- Eichengreen, Barry, 2018, “The Stable-Coin Myth”, Project Syndicate.
- Foley, Sean, Jonathan R. Karlsen, and Tãlis J. Putniš, 2018, “Sex, Drugs, and Bitcoin: How Much Illegal Activity is Financed Through Cryptocurrencies.”
- Gandal, Neil, JT Hamrick, Tyler Moore, and Tali Oberman, 2017, “Price Manipulation in the Bitcoin Ecosystem.”
- Goldman Sachs, 2016, “Blockchain: Putting Theory into Practice.”
- Griffin, John M, and Amin Shams, “Is Bitcoin Really Un-Tethered?”
- Houy, Nicolas, 2014, “The Bitcoin Mining Game”, GATE Group d’Analyse et de Théorie Économique Lyon-St Étienne WP 1412.
- Huberman, Gur, Jacob D.Leshno, and Ciamac C. Moallemi, 2017, “Monopoly without a Monopolist: An Economic Analysis of the Bitcoin Payment System.”
- Li, Jiasun, William Mann, 2018, “Initial Coin Offering and Platform Building.”
- Ma, June, Joshua S. Gans, and Rabee Tourky, 2018, “Market Structure in Bitcoin Mining,”NBER Working Paper Series.
- Momtaz, Paul P, 2018, “Initial Coin Offering.”
- Nakamoto, Satoshi, 2008, “Bitcoin: A Peer-to-Peer Electronic Cash System.”
- Sockin, Michael, and Wei Xiong, 2018, “A Model of Cryptocurrencies” .
- Szabo, Nick, 1994, “Smart Contracts.”
- Wang Yongli, 2018, “Rational View on Blockchain,” The Economic Observer, March 24, 2018.
- Xu Zhong, Yao Qian, 2016, “Preliminary Plan for Digital Notes Trading Platform,” China Finance, Issue 17, 2016.
- Yuan Yong, Ni Xiaochun, Zeng Shuai and Wang Feiyue, 2018, “Development Status and Prospects of Blockchain Consensus Algorithm,” Acta Automatica Sinica, Issue 11, 2018.
- Yuan Yuming, Liu Yang, 2018, “Stratification Model of Blockchain Technology Scalable Solution,” Report of Huobi Blockchain Research Institute.
- Zou Chuanwei, 2018, “Bubble and Opportunity – Nine Economic Issues in Digital Cryptographic and Blockchain Finance,” Financial Accounting, Issue 3, 2018.