The third generation technology of blockchain
broadly speaking, blockchain technology is a new distributed infrastructure and computing paradigm, which uses blockchain data structure to verify and store data, uses distributed node consensus algorithm to generate and update data, uses cryptography to ensure the security of data transmission and access, and uses intelligent contract composed of automated script code to program and operate data
as we all know, blockchain technology is an independent underlying architecture from bitcoin system. From the perspective of architecture model, it is a set of distributed ledger, which is naturally used for bookkeeping
in the blockchain technology, if you want to generate accounting records, you need to have the transaction and flow of funds. Therefore, in the initial blockchain technology, the cryptocurrency corresponding to the main network is used as circulation goods, and the circulation transaction records of cryptocurrency between the accounts of the main network of the blockchain will be recorded on the main network
different from other transaction record databases, transaction records on the main network of blockchain technology will be recorded on all block nodes (i.e. all data blocks) in the main network, which is the so-called decentralization principle. That is to say, in blockchain technology, there is no central database to store all records, Every block on the chain has the transaction data of the whole chain, that is to say, every data block is the center
another feature of blockchain technology is that it can't be tampered with, because every transaction on the blockchain will be recorded in all blocks on the chain, so no single data block can change the record. Even if you change it, all other data blocks will also record real data, and each group of data can be traced back to the first time
because of these characteristics of blockchain technology, after the advent of bitcoin, blockchain has also attracted a lot of attention, and many people also began to want to use blockchain technology to make a centerless, traceable and unchangeable data, so as to ensure the credibility of the data
however, blockchain technology also faces many problems, such as single application scenario, non modifiable original error data, non recoverable currency stolen by hackers, etc.
From the perspective of technology and architecture, I will tell you my understanding of blockchain in common language
what is blockchain? In a word, blockchain is a storage system. To be more specific, blockchain is a distributed storage system without an administrator and each node has all the data
What are the common storage systems like
first, how to ensure high availability
the common storage system usually uses "rendancy" to solve the problem of high availability. As shown in the figure above, if the data can be copied into several copies and rendant to multiple places, high availability can be guaranteed. The data in one place is hung, and there is data in other places. For example, the master-slave cluster of MySQL is the same principle, and the raid of disk is also the same principle
two points need to be emphasized in this place are: data rendancy often leads to consistency problems
1. For example, in the master-slave cluster of MySQL, there is actually a delay in reading and writing, which means there is a inconsistency in reading and writing in a short period of time. This is a side effect of data rendancy
The second point is that data rendancy often reces the efficiency of writing, because data synchronization also consumes resources. If you add two slave libraries, the write efficiency will be affected. The common storage system is to use rendancy to ensure the high availability of dataso the second question, ordinary storage system, can write more
the answer is yes, for example, take this graph as an example:
in fact, MySQL can do a master-slave synchronization of al masters, master-slave synchronization of al masters, two nodes can be written at the same time. If you want to do a multi room multi live data center, in fact, multi room multi live data synchronization. What we should emphasize here is that multi-point writing often leads to the consistency problem of writing conflicts. Take MySQL as an example, suppose that the attribute of a table is self incrementing ID, then the data in the database is 1234 now. If one of the nodes writes and inserts a piece of data, it may become 5, and then these 5 pieces of data are synchronized to another master node, Before synchronization, if another write node inserts a piece of data, a piece of data with self incrementing ID of 5 will be generated. Then, after the generation, synchronize to another node, and the synchronized data will conflict with the two local 5's after it arrives, which will lead to synchronization failure and write consistency conflict. This problem will occur in the case of multi-point writing
how to ensure consistency in multi-point writing
the reform "Swan class" gives you more technical work
1. Blockchain links
as the name suggests, blockchain is a chain composed of blocks. Each block is divided into block head and block body (including transaction data). The block head includes the prevhash value (also known as hash value) of the previous block used to realize the block link and the random number (nonce) used to calculate the mining difficulty. The hash value of the previous block is actually the hash value of the head of the previous block, and the random number calculation rule determines which miner can obtain the right to record the block
2. Consensus mechanism
blockchain is accompanied by the birth of bitcoin, which is the basic technology architecture of bitcoin. Blockchain can be understood as an Internet-based decentralized accounting system. A decentralized digital currency system like bitcoin requires the consistency of accounting of honest nodes without a central node, which needs blockchain to complete. Therefore, the core of blockchain technology is a consensus mechanism to reach a consensus on the legitimacy of transactions between indivials without mutual trust without central control
there are four main types of consensus mechanisms in blockchain: pow, POS, dpos and distributed consistency algorithm
3. Unlocking script
script is an important technology to realize automatic verification and contract execution on blockchain. Every output of every transaction does not point to an address in the strict sense, but to a script. A script is like a set of rules that constrain how the receiver can spend the asset locked on the output
the validation of transactions also depends on scripts. At present, it depends on two kinds of scripts: Lock script and unlock script. Locking script is a condition added to the output transaction, which is realized by a script language and located in the output of the transaction. The unlocking script corresponds to the locking script. Only when the conditions required by the locking script are met can the assets corresponding to the script be spent, which is located in the input of the transaction. Many flexible conditions can be expressed by script language. Interpretation script is similar to the "virtual machine" in our programming field, which runs in every node of the blockchain network in a distributed way
4. Transaction rules
blockchain transaction is not only the basic unit of a block, but also the actual effective content recorded by the blockchain. A blockchain transaction can be a transfer, or the deployment of smart contracts and other transactions
as far as bitcoin is concerned, a transaction refers to a single payment transfer. The transaction rules are as follows:
1) the input and output of the transaction cannot be empty
2) for each input of a transaction, if its corresponding utxo output can be found in the current transaction pool, the transaction will be rejected. Because the current transaction pool is the transaction not recorded in the blockchain, and each input of the transaction should come from the confirmed utxo. If it is found in the current trading pool, it is Shuanghua trading
3) for each input in a transaction, the corresponding output must be utxo
4) each input unlocking script must verify the compliance of the transaction together with the corresponding output locking script
5. Transaction priority
the priority of blockchain transaction is determined by the blockchain protocol rules. For bitcoin, the priority of a transaction to be included in a block is determined by the time when the transaction is broadcast to the network and the amount of the transaction. With the increase of transaction broadcast time on the network and the increase of transaction chain age, the priority of transaction will be improved and eventually be included by the block. For Ethereum, the priority of the transaction is also related to the transaction fee that the publisher is willing to pay. The higher the transaction fee that the publisher is willing to pay, the higher the priority that the transaction is included in the block
6. Merkle proof
the original application of Merkle proof is bitcoin, which was described and created by Satoshi Nakamoto in 2009. Bitcoin blockchain uses Merkle proof to store transactions in each block. So that the transaction can not be tampered with, but also easy to verify whether the transaction is included in a specific block
7. RLP
RLP (recursive length prefix) is one of the main encoding methods of object serialization in Ethereum. Its purpose is to encode the sequence of arbitrary nested binary data.
ecol ecol is an intelligent, efficient and molar blockchain ecosystem and application scenario solution with unified standards for the security vulnerabilities of blockchain technology, which is committed to building a programmable society with smart contracts. Ecol ecosystem enables the blockchain ecosystem to use blockchain, big data, Internet of things, artificial intelligence (AI), virtual reality (VR) and many other technologies to help people from all walks of life seamlessly connect the existing systems and services with the blockchain, and jointly accelerate the implementation of the blockchain from "technical concept" to commercial scene
ecol ecol has 10 core technological innovations compared with other "blockchain black technology". Main chain and side chain technology, cross chain communication, support high concurrency, inhibit block inflation,
both integration and division of labor, both security and convenience; Artificial intelligence
AI
coordination of molar intelligence system, to provide alternative functional moles; Unique virtual machines and smart contracts support all kinds of creative smart contracts; Block fog and fog storage fog computing technology, smaller network delay, fast response; Lower security risk; The al quantification of block structure and digital assets has great significance of standardization, normalization and unification of block structure and digital asset valuation; Matching hardware wallet, light wallet and cold wallet, it integrates all the functions of eating, drinking, basic necessities of life, work and life. The integration of blocks and transactions enables each transaction to directly participate in maintaining the transaction order of the whole network, which greatly improves the efficiency. Ten core technological innovations to jointly build a complete ecol ecosystem.
iota adopts DAG technology to build a residential planet of blockchain rental platform, and will also be developed on the basis of iota. Ideally, the larger the network, the faster the transaction confirmation speed of iota, and the more secure the network. The purpose of living planet is to realize the interconnection of intelligent terminals such as intelligent door lock, router, camera and so on.
DAPP is the abbreviation of decentralized application, which translates into decentralized application, also known as distributed application. Compared with the app we are familiar with, DAPP does not rely on IOS and Android system development, but is put on the blockchain system and combined with smart contract. DAPP is to blockchain just as app is to IOS and Android
generally, different dapps will adopt different underlying blockchain development platforms and consensus mechanisms, or issue their own tokens, or use common tokens based on the same blockchain platform. However, DAPP can not be developed on all blockchains, but must use a public blockchain platform with smart contract function. It allows anyone to build and use distributed applications running through blockchain technology, such as Ethereum and EOS.
the characteristics of blockchain technology enable it to achieve some business models that are difficult to achieve in the centralized mode
2 - blockchain technology has a flexible architecture
according to different application scenarios and user needs, blockchain technology can be divided into public chain, private chain and alliance chain, which can be selected according to the actual use of institutions
the openness of 3-chain technology encourages innovation and collaboration
through the opening and cooperation of source code, blockchain technology can promote the cooperation among different developers, researchers and institutions, and learn from each other, so as to achieve a more efficient and secure solution
jinwowo will use blockchain technology to fully record big data sources and improve storage.