Blockchain cross principle
"blockchain is equivalent to this account book, and the block is equivalent to a page of this account book. The information carried in the block is the transaction content recorded on this page. The blockchain is block by block, and each block is filled with transaction records and connected together to form a chain, which is called blockchain. "
take bitcoin as an example, there is a "power race" every ten minutes to compete for the right to charge. It's like saying that you have a lot of calculation power, just like your muscles are stronger and more capable of fighting. Everyone will convince you to keep this account, that is, the right to write a block (note that it is not the content in the block) to the general ledger of the blockchain. However, it should be noted that computing power can only determine the probability of winning the competition. For example, there are several lotteries in total, and those with more computing power can buy more to improve the winning probability. However, those who buy more may not win the lottery in the end.
blockchain is a data block chain guaranteed by such computing power. Starting from the first block, each block collects data according to certain rules, and then attaches a value to these data, so that the result of the formed data block after similar one-way function calculation falls into a certain range. By estimating the computing power of the whole network and the size of the control result range, the data blocks that meet the requirements can be found in a long enough time. This calculation result will be included by the next block, and the chain data structure formed in this way is called blockchain
each small ledger is called a block, and each different blockchain protocol (generating different cryptocurrency) will specify the size of each block (the initial bitcoin is 1m). The ledger constitutes a block, the block constitutes a chain list, and the block header contains the hash value of the previous block, which is the blockchain. In this way, no one can modify the content or exchange the order at will. If you do, it means you need to recalculate all the special numbers
regulations allow everyone in the world to build blocks. Every person who builds a new block (finds this special number - sha256 value has 30 zeros) can get a reward. For this part of people (miners) who build a new block:
1. There is no sender information, There is no need to sign
2. Each new block will add a new virtual (encrypted) currency to the whole currency
3. The process of building a new block is also called "mining": it requires a lot of work and can inject new currency into the whole economy
4. The work of mining is: receiving transaction information, building blocks, broadcasting blocks, Then get new money as a reward
for each miner, each block is like a small lottery, and everyone is trying to guess the number quickly until a lucky person finds a special number, so that there are many zeros at the beginning of the hash value of the whole block, and they can get a reward. I remember a Zhihu respondent gave an image analogy. Blockchain is like a king with a beautiful daughter (block). Many young people are looking forward to it. The king's method is to give a very difficult topic for all young people to calculate (learning to change their lives), Who can calculate quickly (or be lucky in the process of calculating the hash value) will be able to win the beauty
for users who want to use this system to collect and pay, they don't need to listen to all the transactions, but just listen to the blocks broadcast by the miners, and then update them to their saved blockchain
"block" can also be imagined as a box, There are some digital currencies and a small note in the block, on which the only transaction information generated in the past ten minutes is recorded, such as "small a transferred to small B100 yuan"; Of course, this piece of information must have been encrypted to ensure that only small a and small B (through the key in their hands) have the ability to interpret the real content
after this magical block was created, it was soon buried underground. Where is it buried? No one does not know that all computer nodes need to participate in digging three feet before it is possible to find (find an effective workload proof). Obviously, this is an event with huge workload and random results. However, for the computer node, once the block is g out from the ground, it will get the valuable digital currency in the block, as well as the tip paid by small a in the process of "small a transferred to small B100 yuan". At the same time, for this node, only he has the right to truly record the contents of the note, which is an honor, while other nodes can only use its , a without digital currency blessing. Of course, there are some other special things about this magical block.
the process of computer nodes digging out blocks from underground is called "mining". As I said just now, this is a huge workload, a lot of luck and a lot of profits. A node on zhangheng road in Pudong New Area of Shanghai, China, suddenly jumped out and said excitedly, "I've g the block! The little notes inside are all valid! The reward belongs to me! ". Although Zhang Heng Road node has got digital currency at the moment, for other computer nodes, because it also involves some other interests, they will not choose to believe what Zhang Heng Road node says by default; Based on the principle that strangers do not trust each other, they take the so-called block () g by Zhang Heng Road node, and start to check whether the small note information in the block is true and effective, etc. In the world of blockchain, nodes check the accuracy of the small note information, or indirectly or directly judge whether the node that successfully digs out the block is lying How to define the true and effective information of a small note will be explained later, but I won't go into details here. In the verification process, each node will directly express their identification (accurate) and attitude towards zhangheng road node through the following two behaviors: stop half or even 80% of the mining process; Add the block () g out by zhangheng road node to the end of its own blockchain. You can be a little confused: if you stop mining, you may have done 80% of the mining work. Then 80% of the previous work is in vain?! Then, what the hell is at the end of the blockchain? For the first puzzle. I want to say that what you said is right, but there is no way. The reality is so cruel. Even if 80% of the work is done, you have to give up. The 80% of the work can be regarded as useless, absolutely damaging the wealth and the masses. The second puzzle is, what is the ghost at the end of blockchain and blockchain? Here, it is not clear in advance, but you can simply imagine: blocks are generated and g out periodically, and a computer node may have executed "take blocks from others" n times in advance; The process of "checking the validity of small notes" must have stored n blocks on its own node, and these blocks will be arranged in a chain in order of time. Yes, this chain is what you always think of as the blockchain. If you still can't understand, it doesn't matter. There will be many opportunities for in-depth study later in the article
go into the more microcosmic world of the block and have a look at what the little note really is, how it came into being and its mission all its life: when initiating a transaction, the initiator will receive a little note, and he needs to write the transaction record, such as "stealing transfer to a piece of RMB 340" on the paper. It's amazing that when it's finished, on the back of the note, the transaction record will be automatically formatted to at least contain the two important fields of "input value" and "output value"“ Input value is used to record the effective source of digital currency, and output value is used to record the object to which digital currency is sent. The newly created note is immediately marked as an "unconfirmed" note. Small pieces of paper that are successfully g out of the ground and eventually connected to the blockchain are initially marked as "valid.". If the valid slip is used as the input value of other transactions, the valid slip will soon be marked as invalid. Due to various reasons, the block is disconnected and discarded from the chain, and the small notes once marked as "valid" in the block will be re marked as "unconfirmed". There is no concept of account balance in the blockchain. The digital asset you really own is actually a piece of transaction information; Get the balance in your digital wallet by simple addition and subtraction. The above 1, 2 and 3 are just the knowledge points forced to you at the beginning. Some of the descriptions may be a bit confusing, which makes you feel confused. Only by understanding the whole blockchain can you have a more comprehensive understanding of the mystery
block capacity. Bitcoin specifies that the block capacity is 1m when it is created, or in the source code. The reason why it was originally designed as 1m is, on the one hand, to prevent DoS attacks. On the other hand, when Zhongben Cong created the blockchain, the capacity was 32m. However, he changed the block capacity to 1m through a humble commit like "clear up". In order to prevent the volume of the blockchain from growing too fast, he added some mystery to the problem of block capacity. The capacity of 1m means that the maximum number of transactions processed by bitcoin is about 2400 (the size of 486882 block 1034.39 is very close)
to put it bluntly, blockchain is a small book for distributed bookkeeping, a tool for bookkeeping, and based on cryptography and cryptography technology, once data transactions are recorded in the book of blockchain, data can not be tampered with and denied. The Internet is the transmission of value, and the blockchain is the transmission of trust. Under the premise of blockchain technology as a credit endorsement, each node in the blockchain changes from a single center to a unified multi center with multi-party participation, which can achieve transaction transmission without the participation of a third party organization and improve the efficiency
(1) introction to price limit trading mode:
price limit buying / selling refers to that the user sets the price and quantity of a buying / selling currency to generate an order. The system will automatically match the buying and selling orders in the market. Once the price set by the user is reached, the transaction will be automatically executed according to the price priority time priority
(2) introction to market price transaction mode:
market price purchase refers to that the user sets a total amount and generates a commission order, from the beginning of selling to the completion of the total amount transaction. Selling at market price means that the user sets the total number of currencies to be sold, generates a commission document, and matches it from the beginning of buying to the completion of the total number of currencies transaction
(3) introction to currency transaction mode:
currency transaction is mainly aimed at the transaction between virtual digital assets and virtual digital assets, in which one currency is used as the pricing unit to purchase other currencies, and the currency transaction rule is also to complete matching transaction according to price priority and time priority< (4) introction of C2C transaction mode:
both parties of the transaction release the transaction information of buying or selling currency on the C2C transaction platform according to the demand. The buyer and the seller complete the transaction offline according to the agreed payment method, and the platform, as an intermediary, charges a certain proportion of the handling fee from each successful transaction< (5) introction to OTC OTC trading mode:
it is a set of platform for offline purchase of digital currency independent of the exchange. Businesses can publish purchase / sale advertisements on the platform, and purchase / sale users can purchase / sell through offline transfer. After the transfer, the platform will transfer the frozen digital currency to the buyer, The technical construction problems of the exchange can be found on the Internet
(6) introction to trading mining mode:
the exchange platform returns a certain proportion of the commission income to the platform users, and the platform coin is returned. According to the principle of distribution proportion, the exchange platform takes a certain proportion as the mining reward. Mining refers to trading on the platform to graally unlock the platform coin until all the platform coins are fed back. This kind of play has a strong attraction to attract users< (7) introction to futures / contract trading mode:
futures contract is an agreement that the buyer agrees to receive certain assets at a specific price after a specified period of time, and the Seller agrees to deliver certain assets at a specific price after a specified period of time. The price that both parties agree to use in future trading is called futures price. The designated r period in which both parties have to trade in the future is called the settlement date or delivery date. The assets agreed to be exchanged by both parties are called "subject matter"< (8) introction to the trading mode of perpetual contract:
perpetual contract is a new and unique contract. The goal of the contract is to allow high leverage to the market conditions of the spot market. The contract will not be delivered and can follow the reference price index through various mechanisms. The contract evolved from the traditional futures contract, but the perpetual contract has more obvious advantages and greater risks than the traditional futures contract, supporting long short two-way trading, opening a 100 times leverage, permanent position, premium and so on.
One of the characteristics of blockchain projects (especially public chains) is open source. Through open source code, to improve the credibility of the project, so that more people can participate. But the open source code also makes it easier for attackers to attack blockchain system. In the past two years, there have been a number of hacker attacks. Recently, the anonymous currency verge (xvg) was attacked again. The attacker locked a vulnerability in the xvg code, which allowed malicious miners to add false timestamps on the block, and then quickly dig out new blocks. In a few hours, the attacker obtained nearly $1.75 million worth of digital currency. Although the subsequent attack was successfully stopped, no one can guarantee whether the attacker will attack again in the future
of course, blockchain developers can also take some measures
one is to use professional code audit services,
the other is to understand the security coding specifications and take preventive measures
the security of cryptographic algorithm
with the development of quantum computer, it will bring a major security threat to the current cryptosystem. Blockchain mainly relies on elliptic curve public key encryption algorithm to generate digital signature for secure transactions. Currently, the most commonly used ECDSA, RSA, DSA, etc. can not withstand quantum attacks in theory, and there will be greater risks. More and more researchers begin to pay attention to cryptographic algorithms that can resist quantum attacks
of course, in addition to changing the algorithm, there is another way to improve the security:
refer to bitcoin's treatment of public key address to rece the potential risk of public key disclosure. As users, especially bitcoin users, the balance after each transaction is stored in a new address to ensure that the public key of the address where bitcoin funds are stored is not leaked
security of consensus mechanism
the current consensus mechanisms include proof of work (POW), proof of stake (POS), delegated proof of stake (dpos), practical Byzantine fault tolerance (pbft), etc
POW faces 51% attack. Because POW depends on computing power, when the attacker has the advantage of computing power, the probability of finding a new block will be greater than that of other nodes. At this time, the attacker has the ability to cancel the existing transaction. It should be noted that even in this case, the attacker can only modify his own transaction, but not the transaction of other users (the attacker does not have the private key of other users)
in POS, attackers can attack successfully only when they hold more than 51% token, which is more difficult than 51% computing power in pow
in pbft, when the malicious nodes are less than 1 / 3 of the total nodes, the system is secure. Generally speaking, any consensus mechanism has its own conditions. As an attacker, we also need to consider that once the attack is successful, the value of the system will return to zero. At this time, the attacker does not get any other valuable return except destruction
for the designers of blockchain projects, they should understand the advantages and disadvantages of each consensus mechanism, so as to select an appropriate consensus mechanism or design a new consensus mechanism according to the needs of the scene
security of smart contract
smart contract has the advantages of low operation cost and low risk of human intervention, but if there are problems in the design of smart contract, it may bring greater losses. In June 2016, the Dao, the most popular funding project of Ethereum, was attacked. The hacker obtained more than 3.5 million Ethereum coins, which later led to the bifurcation of Ethereum into Eth and etc
there are two aspects of the proposed measures:
one is to audit the security of smart contract, and the other is to follow the principle of smart contract security development
the security development principles of smart contract are: to be prepared for possible errors, to ensure that the code can correctly handle the bugs and vulnerabilities; Release smart contracts carefully, do well in function test and security test, and fully consider the boundary; Keep smart contracts simple; Pay attention to the threat intelligence of blockchain and check and update in time; Be clear about the characteristics of blockchain, such as calling external contracts carefully
security of digital wallet
there are three main security risks in digital wallet: first, design defects. At the end of 2014, a user lost hundreds of digital assets e to a serious random number problem (repeated r value). Second, the digital wallet contains malicious code. Third, the loss of assets caused by the loss or damage of computers and mobile phones
there are four main countermeasures:
one is to ensure the randomness of the private key
The second is to check the hash value before installing the software to ensure that the digital wallet software has not been tampered with The third is to use cold wallet The fourth is to back up the private keyPublic chain, also known as "public chain", refers to the blockchain that anyone in the world can enter the system at any time to read data, send confirmatory transactions and compete for bookkeeping. The public chain is generally considered to be "completely decentralized", because no indivial or institution can control or tamper with the reading and writing of data in it. In terms of application, blockchain public chain mainly includes bitcoin, Ethereum, super ledger, most counterfeit currencies and smart contracts. The ancestor of blockchain public chain is bitcoin blockchain, which has the following characteristics:
1, open source code
upload the code to GitHub, and everyone can get complete blockchain data by downloading, Accept the test of the public
2, complete decentralization
anyone can become a node, each node is open, everyone can participate in the calculation of the blockchain, any node is not permanent, but phased, and any center is not mandatory for nodes. Anyone can read and send transactions, and transactions can be effectively confirmed on the blockchain. Anyone can participate in the consensus process. The consensus process determines whether a block can be added to the blockchain and the exact current state. Everyone can get financial reward from it, which is proportional to their contribution to the consensus process. These public chains are generally considered to be "completely decentralized"
3. Developing decentralized applications
through this public chain, developers can easily develop centralized applications. Public chain can protect the rights and interests of users from the influence of program developers
1. Exchanges. Now there are 220 well-known transactions in the world, and about 2000 unknown ones
2. Mobile mining machine: the original mining machine, which costs money and energy, will be replaced by some online games, small videos and articles
3. Blockchain scenario Trading: the blockchain trading platform can be used not only in financial scenarios, but also in e-commerce trading scenarios, game mining scenarios
of course, blockchain developers can also take some measures
one is to use professional code audit services,
the other is to understand the security coding specifications and take preventive measures
the security of cryptographic algorithm
with the development of quantum computer, it will bring great security threat to the current cryptosystem. Blockchain mainly relies on elliptic curve public key encryption algorithm to generate digital signature for secure transactions. Currently, the most commonly used ECDSA, RSA, DSA, etc. can not withstand quantum attacks in theory, and there will be greater risks. More and more researchers begin to pay attention to cryptographic algorithms that can resist quantum attacks
of course, in addition to changing the algorithm, there is another way to improve the security:
refer to bitcoin's treatment of public key address to rece the potential risk of public key disclosure. As users, especially bitcoin users, the balance after each transaction is stored in a new address to ensure that the public key of the address where bitcoin funds are stored is not leaked
security of consensus mechanism
the current consensus mechanisms include proof of work (POW), proof of stake (POS), delegated proof of stake (dpos), practical Byzantine fault tolerance (pbft), etc
POW faces 51% attack. Because POW depends on computing power, when the attacker has the advantage of computing power, the probability of finding a new block will be greater than that of other nodes. At this time, the attacker has the ability to cancel the existing transaction. It should be noted that even in this case, the attacker can only modify his own transaction, but not the transaction of other users (the attacker does not have the private key of other users)
in POS, attackers can only attack successfully when they hold more than 51% of the token, which is more difficult than 51% of the computing power in pow
in pbft, when the malicious nodes are less than 1 / 3 of the total nodes, the system is secure. Generally speaking, any consensus mechanism has its own conditions. As an attacker, we also need to consider that once the attack is successful, the value of the system will return to zero. At this time, the attacker does not get any other valuable return except destruction
for the designers of blockchain projects, they should understand the advantages and disadvantages of each consensus mechanism, so as to select an appropriate consensus mechanism or design a new consensus mechanism according to the needs of the scene
security of smart contract
smart contract has the advantages of low operation cost and low risk of human intervention, but if there are problems in the design of smart contract, it may bring great losses. In June 2016, the Dao, the most popular funding project of Ethereum, was attacked. The hacker obtained more than 3.5 million Ethereum coins, which later led to the bifurcation of Ethereum into Eth and etc
there are two aspects of the proposed measures:
one is to audit the security of smart contracts, and the other is to follow the principles of smart contract security development
the security development principles of smart contract are: be prepared for possible errors to ensure that the code can correctly handle the bugs and vulnerabilities; Release smart contracts carefully, do well in function test and security test, and fully consider the boundary; Keep smart contracts simple; Pay attention to the threat intelligence of blockchain and check and update in time; Be clear about the characteristics of blockchain, such as calling external contracts carefully
security of digital wallet
there are three main security risks in digital wallet: first, design defects. At the end of 2014, a user lost hundreds of digital assets e to a serious random number problem (repeated r value). Second, the digital wallet contains malicious code. Third, the loss of assets caused by the loss or damage of computers and mobile phones
there are four main countermeasures:
one is to ensure the randomness of the private key
the second is to verify the hash value before software installation to ensure that the digital wallet software has not been tampered with
the third is to use cold wallets
the fourth is to back up the private key.
1.0, represented by bitcoin, which is mainly used in virtual currency or digital currency. At this time, the blockchain can only be used for simple digital currency transactions
2.0 is represented by Ethereum (Ethereum) which is more popular now and hyperledger which is coming out soon. The blockchain at this stage can not only meet the corresponding digital currency transactions, but also use the smart contract to customize the currency or asset transactions. If we use the database as an analogy, the emergence of smart contract can be understood as allowing users to define functions or stored proceres in the database and call and execute them
different from the traditional database, some specific elements such as consensus mechanism, incentive mechanism, P2P (Network), hash and so on are introced into the blockchain, which makes it open, decentralized and tamperable.
in fact, blockchain is not a single innovative technology. Jinwowo suggests that blockchain is a combination of many interdisciplinary technologies, including cryptography, mathematics, algorithms and economic models, and a combination of point-to-point network relationships. With the help of mathematical foundation, trust effect can be established, so that it can become a network without mutual trust A decentralized system that can operate without relying on a single centralized institution.
Newton's aim is that everyone should benefit from economic growth, and the way to achieve this aim is community incentive plan. Follow the following principles: first, everyone contributes and everyone benefits. Every positive contribution behavior, no matter how big or small, should be encouraged. 2、 Fair, open and just. Everyone in the world can participate in the community incentive of Newton economy; All people can obtain the model, parameters and analysis results of community motivation; Everyone can participate in the optimization and improvement of community motivation
Newton graally established a decentralized and automatic social economic community through increasingly complete governance, cooperation, incentive and other programs
each person and machine are a node, linked together to form a human-computer community. By comprehensively evaluating the indicators such as credit, token, manpower and computing power of the node, the newforce of the node can be calculated as a measurement system. Under the premise of orderly governance, super nodes can be elected through the voting mechanism to optimize the human-computer community From Newton white paper)