Editor's note: This article is from Ethereum enthusiasts (ID: ethfans), author: Emre Tekisalp, translation & proofreading: Min Min & A Jian, published with authorization.
secondary title
Part 1: Background
Today's World Wide Web (Internet) suffers from two major flaws:
1. It does not preserve "state" independent of trusted operators
2. It does not have a native mechanism for state transfer
The lack of state is due to the simplicity of network protocols such as HTTP and SMTP. At no time can you query the history or current state of a node (i.e. a connected device). From the user's perspective, every time they use a connected device, it's like using the Internet for the first time through a new browser (no history, favorites, saved settings, or autofill usernames). Imagine having to resubmit your user information every time you turn on your device to use a service or download your favorite app. This reduces the usability of the Internet, or at least drastically reduces its efficiency.
However, state is critical to the development of both services and applications because it can represent value. The development of two key technologies has made up for this defect. The first is the cookie technology, which, as Brendan Eich highlights, is designed to help web applications written in the JavaScript language store state on the local device. The problem, however, is that cookies are created and controlled by the service provider, not the user. Users cannot choose which provider stores their state, nor do they have access to their state.
The second is a centralized service provider that keeps user state on its own machine. Today's Internet giants, Google and Facebook, both retain billions of users and create value as a result. This is understandable in essence, after all, users of these companies also enjoy services and value. The problem is that the Internet has brought more benefits to these centralized companies than to the public.
The second major flaw of the Internet is the lack of a native mechanism for state transfer. This is also partly caused by the first flaw. If state (and the value it creates) cannot be preserved, it cannot be transferred. The core of economic development and modern finance is to realize simple and efficient value transfer. As long as the efficiency of value transfer is improved, there will be many positive effects. Today's Internet has improved the efficiency of information transfer by several orders of magnitude, thus creating a huge space for new businesses and services to develop. However, if businesses can't find an easy way to trade value, they need to find other ways to monetize the services they provide.
This is why advertising has been the business model of the Internet for many years, because advertising is the only business that can efficiently store and transfer the state of billions of users. Again, there is nothing wrong with advertising in its nature. However, the problem here lies in three aspects:
1. The third-party intermediary will facilitate and profit from every advertising transaction;
2. Advertising favors established companies over start-ups, limiting the potential of the economy;
3. The advertising economy thrives on the proliferation of user data (to be fed to advertising models), which can lead to distorted user incentives and poor user experience.
Internet development trend
The Internet itself is a product of technological development. It's like a bunch of pipes at people's disposal. In the end it's up to a human to decide where to direct those pipes. Over the years, it has become clear that the trends of the Internet will not benefit those who have not benefited before. In the next ten or twenty years, it will be a better development direction to help achieve the following two points:
1. Any participant can create native economic value;
2. This native value can be transferred to any participant.
secondary title
Part Two: Meaning
As explained in the first part, the Internet today is a stateless Internet - participants cannot retain their own state, nor can they transfer state between each other in a native way. Blockchain technology, pioneered by Bitcoin, gives us a way to preserve state in a digitally native way. In the ecosystem of cryptocurrencies and blockchains, this new fundamental capability has been dubbed Web 3.0. Although Web 3.0 is still in its infancy, we can already vaguely perceive its potential. For example, L4 already has some insights into the potential of Web 3.0.
image description
-Module Framework for Web 3.0 Stack-
The frame above is built from top to bottom along the y-axis. The colors represent the degree of compatibility between modules of different layers. For example, as can be seen from the figure above, today's blockchain digital goods (Crypto Goods) are yellow modules, which are compatible with the Ethereum Virtual Machine (EVM) of the blue and yellow modules, but are compatible with the Bitcoin Script (Bitcoin Script) of the green and red modules. ) are not compatible. The EVM is compatible with the Ethereum blockchain of the blue module, but not with the Bitcoin blockchain of the green module. In the future, digital goods compatible with Bitcoin Script could also be added to this framework (although this is technically almost impossible). This modular framework is critical to promoting the robustness of Web 3.0, because it means that upgrading one layer does not require completely overthrowing all modules in the layers below. It's also worth noting that while the modules of each layer may change dramatically within 5 years, the layers themselves are evolving in a more comprehensive direction, aiming to encompass all the parts that make up Web 3.0.
state layer
The state layer holds the state of the layers below. The state layer is provided almost exclusively by the associated blockchain infrastructure, and anyone who abides by the rules of the network can participate. The goal of any successful network is to be the default reliable infrastructure, just like name server providers are today. When the network is running smoothly as expected (99% of the time), no one cares about it, and when it goes wrong, it hits everyone hard.
The state layer can be public or private/permissioned. Think of state as a default universal truth, and creating private layers is like creating parallel universes. There are also technical differences between the public layer and the licensed layer, but this is beyond the scope of this article and will be a product design choice for developers.
Next, each layer builds on and is compatible with the previous layer.
computing layer
Software is the medium through which people give instructions to computers. The computing layer of Web 3.0 is the medium through which people give instructions to the state layer. However, not all computing layers can execute all instructions. For example, Bitcoin script is very limited and can basically only execute transaction instructions. The Ethereum Virtual Machine (EVM) is Turing complete, so the state layer supporting the EVM can perform arbitrarily complex calculations.
For application developers (and blockchain developers), the choice of computing layer is critical because it determines which blockchains a particular application can run on. For example, any application that can be compiled to EVM code can run on the Ethereum blockchain, but not on the Bitcoin blockchain. The Ethereum Foundation is working on changing Ethereum's current default computing layer and switching to another eWASM technology based on WebAssembly (WASM). Other state layer projects, such as Dfinity, are also planning to be compatible with WASM. This means that applications that can be compiled into eWASM code can theoretically run on the Ethereum blockchain, the Dfinity blockchain, and any other WASM-compatible blockchain.
component layer
After combining the state layer and the calculation layer, the value design space of the new digital currency (that is, the programmable currency) will increase by 1000 times. Many developers have done a lot of experimentation with this. Some of these embodiments have huge potential (see below for specific examples), after all they are complete sub-economies built on specific components, you should be able to imagine. My colleague Jacob Horne at Coinbase refers to this situation (along with the protocol layer) as Cryptoeconomic Primitives (Editor's Note: Chinese translation see hyperlink at the end of the article), and plunges headlong into one of the Cryptoeconomic Primitives (Editor's Note: For the Chinese translation, see the hyperlink "Interesting Paradigm Shift" at the end of the article).
Components are built on top of the computing layer and will reuse standardized smart contract templates. Such template resources are available on OpenZeppelin. Creators of components need to publish new smart contracts on the state layer.
These components include:
Native currency: It is an essential core part of all public chains. It entitles participants to pay the blockchain for a desired service, usually in the form of a transaction. For example, Bitcoin and Ethereum.
Cryptographic assets: It is a homogeneous asset that contains a set of basic functions and their associated metadata. It lowered the threshold for currency issuance and once set off an ICO boom. In addition to currencies, other types of assets such as stocks, bonds, and ownership can also be digitized. The most commonly used standard is ERC-20.
Digital Goods: It is a non-fungible asset that contains a set of basic functions and related metadata, also known as non-fungible tokens (NFT) or digital collectibles. It was originally initiated by a group of cypherpunks, and was later brought into flames by Ethercat. Special merchandise such as collectibles, game assets, access rights, and art can also be digitized. The most commonly used standard is ERC-721.
Identity: It is an autonomous container for identity information. The container itself provides little valuable identity information. However, interested parties can declare their own associations to containers. The range of interested parties is broad, including governments and other trusted parties such as Google and Coinbase. The main adopted standards are ERC-725/ERC-735 and some protocol proposals provided by uPort. Ethereum Naming Service (ENS) is yet another and different type of identity.
protocol layer
protocol layer
After you've created components on top of the state layer, it's time to make those components work. Their lifetime is maintained by some common basic functions, so these functions are being standardized. Partly because these functions need to use the same programming language (hence the name protocol layer), partly because network effects make them more efficient. Fundamentally, these protocols create a healthy market environment for related components, not very different from the real world, but at a lower cost and more efficient.
Various protocols have emerged. They take the form of smart contracts and are deployed by the protocol development team; every application that wants to apply related functions to components can call:
Transactions: For a component to gain value, it needs to be tradable. The transaction protocol allows wallet-to-wallet asset transactions without trusting any intermediaries. Be aware of the difference between the "relayer model" and most "decentralized exchanges", which host assets in smart contracts. If the transaction is concluded through the transaction agreement, the transaction assets will not be escrowed. The projects that adopt the trading protocol mainly include 0x and Kyber Network and so on. If you want to check the daily transaction volume supported by the 0x protocol for more information, you can visit this website.
Borrowing: Borrowing brings return on investment, thus increasing the turnover rate of assets. If there is no lending activity, the return on investment of assets may be zero. Under a standard lending agreement, an American can lend money to a Zimbabwean via a smartphone. Dharma and ETHLend are currently the two most important lending projects.
Derivatives: The global market for derivatives is the largest, estimated at $1,200 trillion. Building derivative protocols can form a trust-free market for native components on the state layer. dy/dx and Market Protocol are two typical derivative projects.
Scalability/Transport Layer
Blockchain has been widely criticized for its scalability. The Bitcoin blockchain has 7 transactions per second, and the Ethereum blockchain has 15 transactions per second. Although the issue of whether the blockchain should make some compromises and increase the transaction volume to thousands of transactions per second has caused a lot of controversy, it is an indisputable fact that state transfer through different layers (also known as Layer 2 scaling scheme ) requires the state layer to support a robust topology (Editor's Note: For the Chinese translation, see the hyperlink at the end of the article "Lightning Network is Bitcoin's TCP/IP Protocol Stack". These scalability solutions need to be compatible with the computing layer of the underlying blockchain.
There are many proposals on how to solve the scalability problem. Here are a few examples:
Payment Channels: Only specific native currencies are allowed to be transferred. It does so through verifiable signatures attached to state layer transactions. Because there may be disputes in the transaction, a deposit is required. Related projects include Bitcoin’s Lighting Network, Ethereum’s Raiden, and SpankChain’s Vynos on Ethereum.
State channel: Allows the transfer of all states. It does so by adding verifiable signatures to transactions on the state layer. Because there may be disputes in the transaction, a deposit is required. Related projects include Counterfactual for EVM, Celer Network, Arcadeum, Fate Channel and Connext developed by FunFair.
Sidechain: allows all state transfers. It is achieved by developing other chains that are compatible with the main chain. Sidechains must be able to communicate with the computing layer on the mainchain. Because there may be disputes in the transaction, a fund needs to be locked. Sidechains can be centralized or privately managed infrastructure such as PoA Network for EVM, Loom Network and Plasma Framewok. Note that Plasma (which has spawned many different projects) has additional requirements on its internal systems to ensure that users can safely withdraw their assets back to the computing layer.
Now that we have reached layer 5, we can see how this modular stack gives developers autonomy in some underlying design choices, such as which chain to build on.
Assume that in the near future there will be a stablecoin smart contract that can be compiled by eWASM, run on the Ethereum blockchain, and is compatible with state channels (that is, such smart contracts can be transferred on state channels). In theory, the above stablecoin code is compatible with EOS and Dfinity, because both use WASM technology. The code can even be transferred on similar state channels running on top of these blockchains. (to be continued)
