Introduction | Vision · System Registry of the World Computer
Ethereum's goal is global computers , which is our first visit to https://www.ethereum.org/ in 2016. But from the concept of 2013 to today, we still only use it as a bare-metal database, carrying a small number of usable "tables": addresses (accounts and contracts), blocks, transactions and events. And if you want to use it as an operating system, you will need thousands of data types.
Currently, the killer app for Ethereum is paid, but it can do more.
The problem of a small number of standard data types
- Libra leader David Marcus: Why do we want to establish a new currency agreement?
- In addition to physical delivery futures, what are the ambitions of Bakkt?
- Germany releases blockchain strategy, focusing on digitalization of securities
Take the classic web. For example, it has only a few data types: web pages, hyperlinks, and keywords. In addition to treating some keywords as strings, web pages know nothing about text content.
The following is the meaning of the interface seen by each page creator.
In the eyes of human users, what is the web network? Browse through the cumbersome search, and try to understand the resources pointed to by each interface. The current "solution" is a "top-level" website that uses a small number of companies that have sufficient funds to build an easy-to-use interface. This will further reduce competition and make new websites difficult to find and use.
What happens when you need to use government or education department interfaces or legal resources? It will make you exhausted to find and use related services.
What about machine users? It can lead to an error in the automated system when browsing the web. So you can only make web crawlers, but you can't browse the web smartly and accurately.
The Semantic Web is well suited to be the System Registry of the Classical Web. But it will bring extra work to the content producer side, so it is not accepted. It provides a large number of new types and types that represent type relationships. Since the World Wide Web was created in the 1990s, global computers based on the World Wide Web can only use a small number of data types.
Ethereum promises to be a global computer and provide Turing's complete environment from the start, which is a great starting point (at least in terms of system expressiveness). However, after many years of creation, Ethereum still does not support type registration, and even does not have a system registry. We hope to see the data type registry in Ethereum, and then sprout the prototype of the system registry.
Therefore, we submitted an EIP that implements a distributed type system (dType) on EVM: http://eips.ethereum.org/EIPS/eip-190.
Update: See also dType storage extensions, dType aliases, language extensions, function extensions.
The benefit of type registries is type reuse. Instead of creating the same type (different versions) of their own requirements (so that the bytecodes on the chain are bloated), they can reuse the types that have been deployed to the type registry.
When the interface type is accurately understood, we can present the data in a richer form. Imagine that when a blockchain browser understands a numeric array on a chain as a coordinate type, it can render it as a point on the map. Or when it understands the data type, it can render an excellent time series graph:
The same time series can be displayed as a normal table or spreadsheet, which is the UI representation of the default two-dimensional array.
Note: We have a way to know the structure name in the ABI after the solc compilation. It will allow ABI to determine and easily find the type in the input and output. We now have HTML widgets for different data , and the presentation is also programmable. Users can even choose a presentation format based on existing options , no longer limited.
This will enable everyone to use well-coordinated UI/UX components . Components can save users time because they know exactly what the desired outcome is, rather than being forced to understand how a new interface works or is painful to be unable to tell if it is a bug or a feature.
A unified type system can also prepare for machine learning and AI tools to better understand the data.
We can go a step further by building a web2 tool to use the types in the registry and gradually unify the centralization and decentralization services.
Requirements for the type registry
The data in the type registry should be a common data format that everyone can use. An important part of the registry is maintaining its public goods attributes, so it must be unmanaged and resistant to censorship .
The general way to create a type is to get everyone's agreement and provide it in a template, and you should also suggest and categorize the type (avoid naming conflicts or names that don't match the actual data).
Anyone can create and submit types . Adding a new type to the registry is the result of a community consensus , similar to the current Ethereum EIP process. As a result, we will increasingly need decentralized management tools and their corresponding version management systems. I hope to see these tools being used by dType in the near future. Similar to DAOstack, Aragon, these open source projects have made great progress in building management tools.
Each data type should store enough data in the registry to ensure:
Anyone can apply types to their own contracts (eg type name, library/contract address, subtypes and tags)
Anyone can get the source code of the type library and contract
Anyone can cache the complete registry data under the chain and develop tools based on it (the current blockchain has given us this property)
Allow new types to be added when consensus is reached
The type of update is a bit tricky and may undermine backward compatibility, we recommend only adding a newer type
Types can be removed if they are no longer used and consensus has been reached
We've seen some benefits: reducing redundancy on chain type definitions, unifying interfaces, smarter UI/UX organization, auto-incentives, benefiting from data analysis, and better interactivity (including web2 – web3).
So, what are the shortcomings? Will it be more than the advantages?
As with any need for consensus and standardization, these are accompanied by the cost of collaboration and debate. But in the case of Ethereum, we must collaborate and argue to create a fair and beautiful system.
Regardless of what you develop, you must look at whether there are types that can be reused, or submit a new one. This will require some research costs, and you can build the right development tools to use search to reduce the cost of research.
The biggest expense people will complain about is the storage cost of the registry itself . However, taking the above type library reuse as an example, the actual type registration transaction overhead is smaller than the overhead of repeatedly adding bytecodes when deploying a contract.
Side note: If it is state fees, we want to be able to distinguish between general data ( system data ) and personal data (which can be added by everyone to the blockchain and benefit a small percentage of people).
As long as human users have enough wisdom, patience and time, they can still access the Internet. But the algorithm can't do it. Contrary to efforts to establish a common understanding, developers are trying to teach algorithms to be human-based based on how humans use the World Wide Web. This approach has had little effect because its methodological basis is incorrect.
That's why successful AI applications come from companies that have internal data representation standards , such as Google, Amazon, and Facebook. These companies strive to make life easier for users, but at the expense of user freedom. Because the company's tools are black boxes, they can modify the rules of the game at any time without being known to the user.
The new web3 is about to be implemented. Our only choice is to let the black box companies who are willing to control the behavior of users control or collaborate and create a fair and transparent system standard? Either way, it will be a long-term battle.
Author: Loredana Cirstea
Translation & Proofreading: Wuwei & Ajian
This article is authored by the author to translate and republish EthFans.
- After reading the Ethereum 2.0 progress update (September 2019)
- Supply Chain + Blockchain: How does the blockchain set off a global supply chain revolution?
- Ling listening | "V God" is not God: Vitalik Hangzhou line 48 hours close-up observation
- Blockchain version of Airbnb? Tripio Day orders for "blockchain + travel" broke 1,000, and the series plans to follow
- "Libra" in the course of history: a 50-year history of man-made currency
- Direct access to the Yunqi Conference, a literary view of the ant blockchain ecological summit
- Lambda He Xiaoyang: It is foolish to change the white paper, and the blockchain is advancing in exploration.