BTC has several more blocks in the longest chain
blockchain includes public blockchain, joint (instry) blockchain and private blockchain. Public chain point-to-point e-cash system: bitcoin, smart contract and decentralized application platform: Ethereum
blockchain is a new application mode of distributed data storage, point-to-point transmission, consensus mechanism, encryption algorithm and other computer technologies
blockchain is an important concept of bitcoin. In essence, it is a decentralized database. At the same time, as the underlying technology of bitcoin, it is a series of data blocks generated by using cryptographic methods. Each data block contains a batch of bitcoin network transaction information, Used to verify the validity of its information (anti-counterfeiting) and generate the next block
extended data
according to the different degree of blockchain network centralization, three kinds of blockchains under different application scenarios are differentiated:
1. The blockchain with the whole network open and without user authorization mechanism is called public chain
2. The authorized nodes are allowed to join the network, and the information can be viewed according to the authority. It is often used in the inter agency blockchain, which is called alliance chain or instry chain
3. All the nodes in the network are in the hands of one organization, which is called private chain
alliance chain and private chain are also called licensing chain, and public chain is called non licensing chain
blockchain features
1, decentralization. Blockchain technology does not rely on additional third-party management institutions or hardware facilities, and there is no central control. In addition to the self-contained blockchain itself, each node realizes information self verification, transmission and management through distributed accounting and storage. Decentralization is the most prominent and essential feature of blockchain
2. Openness. Blockchain technology is based on open source. In addition to the private information of all parties involved in the transaction is encrypted, the data of blockchain is open to everyone. Anyone can query blockchain data and develop related applications through the open interface, so the information of the whole system is highly transparent
3. Independence. Based on consensus specifications and Protocols (similar to various mathematical algorithms such as hash algorithm used by bitcoin), the whole blockchain system does not rely on other third parties, and all nodes can automatically and safely verify and exchange data in the system without any human intervention
4. Safety. As long as 51% of all data nodes cannot be controlled, the network data cannot be arbitrarily manipulated and modified, which makes the blockchain itself relatively safe and avoids subjective and artificial data changes
5. Anonymity. Unless there are legal requirements, technically speaking, the identity information of each block node does not need to be disclosed or verified, and the information can be transferred anonymously
anyone can run software on specialized hardware and become a bitcoin miner. mining software monitors transaction broadcast through P2P network and performs appropriate tasks to process and confirm these transactions. Bitcoin miners can earn transaction fees paid by users to speed up transaction processing and additional bitcoin issued according to fixed formula
new transactions need to be included in a block with mathematical workload proof before they can be confirmed. This kind of proof is hard to generate because it can only be generated by trying billions of calculations per second. Miners need to run these calculations before their blocks are accepted and rewarded. As more people start mining, the difficulty of finding effective blocks will be automatically increased by the network to ensure that the average time to find a block remains at 10 minutes. Therefore, the competition for mining is very fierce, and no indivial miner can control the content contained in the block chain
workload proof is also designed to rely on previous blocks, which forces the time sequence of block chain. This design makes it extremely difficult to cancel previous transactions, because the workload proof of all subsequent blocks needs to be recalculated. When two blocks are found at the same time, the miner will process the first block received, and once the next block is found, it will be transferred to the longest block chain. This ensures that the mining process maintains a global consistency based on processing capacity
bitcoin miners can neither increase their rewards by cheating, nor deal with the fraulent transactions that destroy the bitcoin network, because all bitcoin nodes will reject the blocks containing invalid data that violate the bitcoin protocol rules. Therefore, even if not all bitcoin miners can be trusted, the bitcoin network is still secure
sha256 is an encryption algorithm.
a person signed by Nakamoto Tsui has put forward a revolutionary idea: let's create a currency that is not controlled by the government or anyone else! This idea is crazy: there is no asset support behind a string of figures, and no one is responsible for it. How can anyone accept it when you pay it to the other party as money
Merkle tree
looks like a binary tree, but this is the lower two nodes. Take the hash value to get the upper node. Just remember the root node to detect whether the whole tree has been tampered
the root hash value is stored in the block header, and the transaction process is stored in the block body. All nodes include block header and block body, but light nodes (such as bitcoin wallets on mobile phones) only include block header. This tree can prove that a transaction has been written into the blockchain
3. Consensus agreement
two issues should be paid attention to in decentralized currency:
1. Who can issue digital currency: mining
2. How to verify the legitimacy of transactions: blockchain
double spending attack
double spending attack is a major challenge of digital currency
all transactions in bitcoin have input and output. Where does bitcoin come from and where does it go
under normal circumstances, there may be two bifurcations, because two nodes obtain the bookkeeping right at the same time, and the two nodes package the block and calculate the random number at the same time. At this time, the two bifurcations will coexist temporarily until one of the blocks finds the next block first, which becomes the longest legal chain, and the other one is discarded<
Sybil attack
a malicious node keeps generating accounts. If the total number of accounts exceeds half of the total accounts, it obtains the control of the blockchain
consensus protocol in bitcoin
some nodes are malicious, and most nodes are good
idea 1: pack some transactions into blocks as candidate blocks, let each block vote, and write them into the blockchain if they pass
No, because some malicious nodes have been publishing blocks containing malicious transactions, and they have been voting and occupying resources. And some nodes don't vote<
idea 2: vote not by the number of accounts, but by computing power. Each node can generate legal transactions and put them into the block. These nodes start to try random numbers until H (block header) ≤ target is found, then this node has the right to account
the only way to generate bitcoin
coinbase transaction. There is no need to point out the source of the currency. If you have the bookkeeping right, you will get a reward< br />
50BTC-> 25BTC-> 12.5btc, the reward will be halved for every 210000 bitcoins
the process of bitcoin competing for bookkeeping rights is called mining. The node competing for bookkeeping right is called miner.
does each node have complete blockchain data? You mean a user node? A user node needs to keep the of the block head of the longest workload proof chain, so it knows the data of all the block heads. It can move forward to know all the data on the block chain, but not all of them are saved. A block header is very small, only 80 bytes, which can be saved completely, because the generation of nodes is very slow. Even with the passage of time, the amount is not too large now.
anyone can become a bitcoin miner by running software on specialized hardware. Mining software monitors transaction broadcast through P2P network and performs appropriate tasks to process and confirm these transactions. Bitcoin miners can earn transaction fees paid by users to speed up transaction processing and additional bitcoin issued according to fixed formula
new transactions need to be included in a block with mathematical workload proof before they can be confirmed. This kind of proof is hard to generate because it can only be generated by trying billions of calculations per second. Miners need to run these calculations before their blocks are accepted and rewarded. As more people start mining, the difficulty of finding effective blocks will be automatically increased by the network to ensure that the average time to find a block remains at 10 minutes. Therefore, the competition for mining is very fierce, and no indivial miner can control the content contained in the block chain
workload proof is also designed to rely on previous blocks, which forces the time sequence of block chain. This design makes it extremely difficult to cancel previous transactions, because the workload proof of all subsequent blocks needs to be recalculated. When two blocks are found at the same time, the miner will process the first block received, and once the next block is found, it will be transferred to the longest block chain. This ensures that the mining process maintains a global consistency based on processing capacity
bitcoin miners can neither increase their rewards by cheating, nor deal with the fraulent transactions that destroy the bitcoin network, because all bitcoin nodes will reject the blocks containing invalid data that violate the bitcoin protocol rules. Therefore, even if not all bitcoin miners can be trusted, the bitcoin network is still secure
if you still don't understand, go to bitcoin home to see the deeper understanding of netizens.
new transactions need to be included in a block with mathematical workload proof before they can be confirmed. This kind of proof is hard to generate because it can only be generated by trying billions of calculations per second. Miners need to run these calculations before their blocks are accepted and rewarded. As more people start mining, the difficulty of finding effective blocks will be automatically increased by the network to ensure that the average time to find a block remains at 10 minutes. Therefore, the competition for mining is very fierce, and no indivial miner can control the content contained in the block chain
workload proof is also designed to rely on previous blocks, which forces the time sequence of block chain. This design makes it extremely difficult to cancel previous transactions, because the workload proof of all subsequent blocks needs to be recalculated. When two blocks are found at the same time, the miner will process the first block received, and once the next block is found, it will be transferred to the longest block chain. This ensures that the mining process maintains a global consistency based on processing capacity
bitcoin miners can neither increase their rewards by cheating, nor deal with the fraulent transactions that destroy the bitcoin network, because all bitcoin nodes will reject the blocks containing invalid data that violate the bitcoin protocol rules. Therefore, even if not all bitcoin miners can be trusted, the bitcoin network is still secure.
