Principles of bitcoin software
centralized account book (bank)
the bank is a centralized account book, which is stored in the bank's central database, and it says:
Zhang San's a account balance is 3000 yuan, The balance of Li Si's B account is 2000 yuan...
when Zhang San wants to transfer 1000 yuan to Li Si's B account through a account:
Zhang San goes to the bank and submits the transfer request to the bank
the bank confirms Zhang San's identity through bank card password and checks whether Zhang San's a account has enough balance
after passing the check, The bank adds a transfer record: account number a transfers 1000 yuan to account number B,
and modifies the balance: account number a balance = 3000-1000 = 2000 yuan, account number B balance = 2000 + 1000 = 3000 yuan
decentralized account book
suppose there is such a small village where people do not rely on the bank, but use the account book to record who has how much money, Everyone's account book says:
Zhang San's a account balance is 3000 yuan, Li Si's B account balance is 2000 yuan...
when Zhang San wants to transfer 1000 yuan to Li Si's B account through a account,
Zhang San roars: attention, I transfer 1000 yuan to Li Si's B account with a account
the villagers near Zhang San listen to Zhang San's voice and check whether Zhang San's a account has enough balance
after passing the inspection, the villagers write on their account books: account a transfers 1000 yuan to account B
and modify the balance: account a balance = 3000-1000 = 2000 yuan, account B balance = 2000 + 1000 = 3000 yuan
the villagers near Zhang San tell the distant villagers about the transfer until everyone knows about the transfer, so as to ensure the consistency of everyone's account book
decentralized account book (bitcoin)
bitcoin users run bitcoin client software on the computer, such a computer is called a node
a large number of node computers connect with each other to form a peer-to-peer network like spider web
when Zhang San wants to transfer 1 bitcoin to Li Si's B account through a account,
Zhang San broadcast the transfer transaction requirements to the surrounding nodes: a account transfers 1 bitcoin to B account, and signs with the private key of a account
(the private key of account a can be simply understood as the password of account a, and the bitcoin on account a can be used as long as the private key of account a is known)
the nodes around Zhang San check the authenticity of the transaction signature through the public key of account a, and check whether Zhang San's account a has enough balance
after the check, the node writes to its own account book: account a transfers 1 bitcoin to account B,
and modify the balance: a account balance = 3 bitcoin - 1 bitcoin = 2 bitcoin, B account balance = 2 bitcoin + 1 bitcoin = 3 bitcoin
the node broadcasts the transaction to the surrounding nodes and transmits it to all the nodes until all the nodes receive the transaction
bitcoin's decentralized public ledger is called blockchain. This is the simplest description of the operation of bitcoin. Of course, the actual operation of bitcoin is far more complex than this. We will explain it further in the future.
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.
in a recent article in the New York Times, a Venezuelan economist described how bitcoin became a part of Venezuela's daily life, so that on a mainstream bitcoin trading platform, Venezuela's trading volume ranked second only to Russia in the world. But bitcoin is not just used to protect wealth in extreme conditions. In general, bitcoin is also an excellent choice for portfolio diversification, and it should be seen as part of a comprehensive wealth preservation strategy.
however, at present, professional Avalon ASIC miner is needed for mining, and it also needs to be included in a mine pool. If you are a retail investor, of course, if you arrange a large mine, you don't need it.
the principle of bitcoin mining is to implement rules made by people and automatically executed by computers
Satoshi Nakamoto, the inventor of bitcoin, has stipulated this rule from the very beginning, and those who participate in bitcoin blockchain must automatically abide by it unconditionally
The content ofrules is generally ,
people who pack the circulation data of bitcoin, arrange it into a fixed size, and then upload it to the blockchain for bitcoin whole network synchronous broadcasting can get 50 bitcoins rewarded by the system
under certain conditions, these rewards will be halved, about once every four years
so how to complete the data packing
the person who wants to complete this action must first have the necessary tools, that is, the software to execute the bitcoin blockchain, and the machine (computer at the beginning) to run the software; Then download and save all the bitcoin transaction data that have been recognized by the whole network. At this time, you become a "node" and a part of protecting the blockchain data
Thenode can only get the priority of the packaged data after running a specific mathematical formula and getting the correct answer. The system will automatically give the reward to the node who gets the priority, who completes the packaging first and then uploads it to the blockchain, and receives and approves it from other nodes
if there is bitcoin service charge in the packaged transaction, the service charge belongs to the node
people think that the process of calculating the mathematical formula and then completing the package to get the reward is just like fishing for gold in the river. It is necessary to discard many wrong answers in order to find the right key to get gold, so people compare this process to mining
so bitcoin mining is not really to dig something, or to use computers to constantly collide and guess. Whoever guesses first wins the reward, that's all
the content of this article comes from: financial code of the people's Republic of China: application edition, China Law Press
Bitcoin mining is a process of using computer hardware to do mathematical calculation for bitcoin network to confirm transactions and improve security