Today, let's take a look at the structure of the basic operation method of blockchain technology.
Let's take a look at the specific situation in the following java course.
The basic elements of computing technology are storage, processing and communication.
Mainframes, PCs, mobile devices and cloud services all present these elements in their own ways.
There are also special building blocks in each element to allocate resources.
This paper focuses on the big framework of blockchain: introducing the modules of each computing element of blockchain and some implementation cases of each module, with emphasis on overview rather than detailed explanation.
The following are the building blocks of each computing element in decentralization technology: storage: token storage, database, file system /blob processing: stateful business logic, stateless business logic, high-performance computing communication: data, value and state are connected to network storage as basic computing elements, and the storage part contains the following building blocks.
Token storage.
Token is the storage medium of value (such as assets, securities, etc.). ), the value can be bitcoin, air miles or the copyright of digital works.
The main function of token storage system is to issue and transmit tokens (there are many variants), and at the same time prevent the occurrence of events such as multiple payments.
Bitcoin and Zcash are two "pure" systems that only focus on the token itself.
Ethereum began to use tokens for various services to realize its ideal of becoming a global computing center.
In these examples, tokens are used as internal incentives to operate the entire network architecture.
Some tokens are not internal tools used by the network to promote its own operation, but as incentives for higher-level networks, but their tokens are actually stored in the underlying architecture.
An example is an ERC20 token, such as a dummy, which runs on the Ethernet layer of Ethereum.
Another example is the IP authorization token of Envoke, which runs on the IPDB network layer.
Database.
Databases are dedicated to storing structured metadata, such as data tables (relational databases), document stores (such as JSON), key-value stores, time series or graphic databases.
Databases can use SQL-like queries to retrieve data quickly.
Traditional distributed (but centralized) databases, such as MongoDB and Cassandra, usually store hundreds of terabytes or even petabytes of data, and the performance can reach millions of writes per second.
Query languages such as SQL are very powerful, because they distinguish between implementation and specification, so they are not bound to a specific application.
SQL has been used as the standard for decades, so the same database system can be used in many different industries.
In other words, there is no need to talk about Turing completeness when discussing generality beyond Bitcoin.
You only need a database, which is simple and easy to expand.
Sometimes Turing completeness is also useful, which we will discuss in detail in the section of "Decentralized Processing".
BigchainDB is a decentralized database software and a special document storage system.
It is based on MongoDB (or RethinkDB) and inherits its query and extension logic.
But it also has the characteristics of blockchain, such as decentralized control, tamper resistance and token support.
IPDB is a public example of bigchain.
In the field of blockchain, it can also be said that IOTA is a time series database.
File system /blob data storage.
These systems store large files (movies, music, large data sets) in a hierarchical structure of directories and files.
IPFS and LAFS in tahoe are decentralized file systems, which contain decentralized or centralized blob storage.
FileCoin, Storj, Sia and Tieron are all decentralized blob storage systems, and there are old excellent BitTorrent, although the latter uses p2p system instead of token.
Ethereum Swarm, Dat and Swarm-JS basically support the above two methods.
Data market.
This system connects data owners (such as enterprises) and data users (such as AI startups).
They are located on the database and file system, but they are still the core architecture, because countless applications that need data (such as AI) rely on such services.
Ocean is an example of a protocol and a network, and a data market can be created based on it.
There are also some application-specific data markets: EnigmaCatalyst is used for encryption market, Datum is used for private data, and DataBrokerDAO is used for Internet of Things data flow.
Processing Next, we will discuss processing this basic computing element.
"Smart contract" system usually refers to a system that processes data in a decentralized form [3].
It actually has two subsets with completely different attributes: stateless (composite) business logic and stateful (sequential) business logic.
Stateless and stateful are quite different in complexity and verifiability.
The three distributed processing modules are High Performance Computing (HPC).
Stateless (composite) business logic.
This is an arbitrary logic that does not retain state internally.
In electronic engineering, it can be understood as combinational digital logic circuits.
This logic can be represented by truth table, schematic diagram or code with conditional statements (combination of if/then, and, or, not, etc.).
Because they have no state, it is easy to verify large stateless smart contracts, thus creating a large verifiable security system.
N inputs and one output need o (2 n) calculations to verify.
The Cross Ledger Protocol (ILP) includes the Cryptographic Condition (CC) protocol in order to clearly mark the combinational circuits.
CC is easy to understand, because it has become the Internet standard through IETF, and ILP is widely used in various centralized and decentralized payment networks (such as Ruibo, which is used by more than 75 banks).
There are many independent versions of CC, including JavaScript, Python, Java and so on.
Systems such as BigchainDB and Ripple also use CC to support combined business logic/intelligent contracts.