Some Features of Bitcoin

This article is excerpted from: Popular science articles on Bitcoin and blockchain

1. P2P network

  The eDonkey that we are familiar with, Xunlei Download uses P2P download. The style of this download is that the file is cut into small pieces, only one copy is stored on each host, and then each host uploads and downloads at the same time. For specific ideas, please refer to "Why P2P mode downloads faster with more people, and why P2P hurts mechanical hard disks".
   In the case of Bitcoin, we know that there are two chains, one is the transaction chain and the other is the blockchain. Multiple transaction chains form a complete transaction network. This transaction network maintains the owner information of the currency, and The blockchain maintains the validity information of the transaction. Whether it is a transaction network or a blockchain, it must be recognized by the entire network in order to reach a consensus and form trust. Therefore, this transaction network and this blockchain are broadcast to every node in the entire network through the P2P network. Ideally, each node will have this transaction network and this blockchain. However, in actual implementation, it is not so ideal, and there are always some optimizations, which will not be repeated here.

2. Asymmetric Algorithms and Bitcoin Wallets

  The invention of asymmetric algorithms is definitely a pioneering work, and the details of such algorithms will not be repeated here. For the Bitcoin scenario, since everyone can generate a pair of keys at will, the significance of the public key makes it very suitable for the address of the wallet. For example, the public key is equivalent to a piggy bank. The private key is equivalent to the key that opens the piggy bank. Anyone can put money into the piggy bank, but only they can take out the money in it.
   The asymmetric algorithm used by Bitcoin is the ECC algorithm. Compared with RSA, this algorithm requires a much shorter key length for the same encryption strength, and the ECC unit has high security strength, which is especially suitable for embedded environments with limited memory. .

3. Hash algorithm, digest algorithm

  This is to say, just some time ago on February 23, Google announced an instance of SHA-1 collision. If this instance occurs in Bitcoin's current transaction network or blockchain, how many solutions will there be? Woolen cloth?

4. Bitcoin’s anonymity

  Since in the Bitcoin environment, for the person receiving the money, any money sent to him can be received unconditionally, so it is only necessary to generate a new public-private key pair at any time, and then publish the public key as the wallet to receive the money, which makes the transaction Trajectories are hard to track, which also guarantees anonymity to a certain extent, as if you were using renminbi. But neither Bitcoin nor RMB is completely anonymous. For Bitcoin, it means that you can create your own new wallet to receive money anytime, anywhere.

5. If building a math puzzle

  The result set of the calculation must be a uniform distribution, only in this way to get a specific answer, you must guess number by number. This means that there is no opportunistic solution, and there is no algorithm to exploit other than traversal. Therefore, an inverse hashing process will be a suitable problem, provided that the hash function must be good and the hash result distribution must be uniform.

6. Bitcoin Generation

  First, there is an initial genesis block that confirms an initial trial transaction amount that falls from the sky, and then starts the transaction with this money, and all the rest of the newly generated bitcoins are generated by mining. Similar to the gold rush in the physical world, Bitcoin mining also has a time when mining is finished. According to the design, the mining income will be halved every 4 years, so that the Bitcoin mine will eventually be hollowed out. At this time, the total amount of Bitcoin in the world is The amount is 21 million! This one is very similar to gold. The gold reserves of gold mines on the earth are a fixed value, so the total amount of gold must have an upper limit. Gold itself will not inflation, and the inflation is caused by the dollar bills directly linked to it. The key depends on how 1 dollar is defined. , is a dollar with a gold content of 0.888671 grams of gold? Or to say that the gold content of one dollar is 1.888671 grams of gold, which has absolutely different effects on the world. This is the drawback of the Latton Woods system. Looking at the situation of Bitcoin, although the number of Bitcoin itself is fixed, its basic unit can be divided down almost infinitely. The unit will lead the payment, and the key depends on how the name is called. So I don't think it's correct to say that Bitcoin is a contractionary currency, and it will still go wrong when it should.
  In fact, there is no truly correct financial system in the world at all.
  Now let’s talk about when the bitcoin mining is finished and new bitcoins are no longer generated. What incentives do miners rely on to continue to solve those fingerprint problems, very simple, rely on transaction fees. If you still want the Bitcoin system to continue to operate, then pay others enough fees when you trade, so that others will solve the fingerprint problem and help you get your transaction into the block to form a consensus.

7. How to Ensure Bitcoin Transactions Are Absolutely Safe

  There is no absolute safety! Transactions that are included in newer blocks are less secure, because the attacker needs to solve fewer fingerprint problems. Is it appropriate to wait a few blocks before confirming the transaction is completed? There is no conclusion. Simply put, the larger the transaction amount, the more time you spend waiting for more blocks to be linked to the blockchain to ensure security.

8. What is the essential difference between blockchain technology and PKI

  This is what the Wenzhou boss asked. Isn't the blockchain to solve the problem of authentication, integrity, and non-repudiation? Isn't the PKI system already very mature? Not so. PKI needs a trust center, and blockchain completely relies on technology to solve problems that should require human intervention. I asked, what if the people working in the root CA are all bad people or someone else rebels? Can the certificate it issues still be trusted? Even if it is not the root CA, if any CA at any level is instigated, the certificates issued by the CAs at all levels below it will lose their trust. However, the blockchain is a consensus mechanism, similar to parliamentary voting. Unless you mobilize more than half of the members to do things together, you can rely on yourself, even if you kidnap the president, because the president says it doesn’t count. The above is my answer. At this time, Sister Wang said that if most of the bad guys in the blockchain network can launch the so-called 51% attack, and this kind of mobilization is very easy in countries such as China and India, each person has a computer in each house to form a nationwide network. Cluster, how is this computing power? Wouldn't it be easy to do something together? The above command is enough. Yeah?
  My answer is relatively short. I said that it is meaningless to do so. It is equivalent to saying that all jade and stone will be burned. Bitcoin on the blockchain will no longer be trusted, the system will be completely destroyed, and no one will benefit. On the contrary, everyone will suffer losses.
  In fact, this is the reason why the 51% attack never happens...

9. Concentration of mining power

  At the beginning, each point shared equal mining power with CPU, gradually, the mining power began to widen the gap, from CPU mining to GPU, FPGA, and then to professional ASIC chips, driven by interests, it should have been Amortized mining power is gradually centralized. Is this the same as the socialist divide between the rich and the poor?

10. How to quickly verify the data integrity of the transaction slip

  In fact, the Bitcoin transaction hashes in the block are not superimposed and calculated, but are organized into a tree called Merkle tree, and its structure is very simple:

write picture description here

  The purpose of this is to quickly perform the integrity check operation. The verification starts from the root and is performed according to the time complexity of the binary tree O(logn), and the final verification failure will limit the scope of the problematic transaction order to a certain subtree. In terms of space utilization, since each node does not actually need to transmit the entire transaction network and the entire blockchain, this method of only checking HASH will also reduce the amount of data transmission, which is especially suitable for the Bitcoin P2P network that broadcasts frequently.

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325774994&siteId=291194637
Recommended