On October 31, 2008, an ID signed by Satoshi Nakamoto solved this problem with a 9-page paper on how to pay me in a completely anonymous and decentralized network.
We now know that the mysterious man known as Satoshi Nakamoto and those nine pages created out of thin air the equivalent of 100 billion RMB in bitcoin and the technology that powers it, the blockchain.
Without a trusted third party, the biggest problem is that none of us can trust each other, so in a blockchain world, transfers would have to be broadcasted so that everyone would know the history of each and every dollar of each and every person in the network. People will verify that this is indeed what I said with an electronic signature, and then put the transfer in a ledger. This ledger is the block. Connecting the blocks together is the blockchain. It records all the transactions of Bitcoin from its inception to today, and now there are about 600,000 blocks, with two or three thousand transactions recorded in each block, and every account, including yours and mine, remembers exactly how much money it has, where it came from, where it was spent, and it’s transparent and open.
In the blockchain network, everyone is holding an identical and real-time updated ledger. Unsurprisingly, the reliability of the ledger is the cornerstone of digital currency, and if the ledger is out of order, no currency will work well.
But this raises two new questions: who keeps the books for everyone? How do you ensure that the books are not falsified?
If everyone could keep a ledger, the transactions and sequence of transactions contained in each block might be different, and if there were deliberate false entries, it would be even more chaotic. It’s impossible to get a ledger that is acceptable to everyone.
So the person keeping the books has to get everyone to accept them so that everyone’s books are uniform. This is also known as the consensus mechanism.
Today there are all kinds of different consensus mechanisms for various blockchains, and Satoshi’s solution is to do the problem. Whoever works out the answer first has the right to keep the books. This mechanism is called PoW : Proof-of-Work, Proof of Workload.
The nature of proof of workload is exhaustive, and the more arithmetic power your device has, the higher the likelihood of figuring out the answer.
In order to do this, hash encryption is used.
Take the SHA256 algorithm for example, any string of characters encrypted with it yields a unique string of 256-bit binary numbers. If the original input is altered in any way, the hash encrypted number will be completely different.
The nature of proof of workload is exhaustive, and the more arithmetic power your device has, the higher the likelihood of figuring out the answer.
In order to do this, hash encryption is used.
Take the SHA256 algorithm for example, any string of characters encrypted with it yields a unique string of 256-bit binary numbers. If the original input is altered in any way, the hash encrypted number will be completely different.
The nature of proof of workload is exhaustive, and the more arithmetic power your device has, the higher the likelihood of figuring out the answer.
In order to do this, hash encryption is used.
Take the SHA256 algorithm for example, any string of characters encrypted with it yields a unique string of 256-bit binary numbers. If the original input is altered in any way, the hash encrypted number will be completely different.
The nature of proof of workload is exhaustive, and the more arithmetic power your device has, the higher the likelihood of figuring out the answer.
In order to do this, hash encryption is used.
Take the SHA256 algorithm for example, any string of characters encrypted with it yields a unique string of 256-bit binary numbers. If the original input is altered in any way, the hash encrypted number will be completely different.
The nature of proof of workload is exhaustive, and the more arithmetic power your device has, the higher the likelihood of figuring out the answer.
In order to do this, hash encryption is used.
Take the SHA256 algorithm for example, any string of characters encrypted with it yields a unique string of 256-bit binary numbers. If the original input is altered in any way, the hash encrypted number will be completely different
When we open a block, we can see the number of transactions recorded in that block, transaction details, block header and other information.
A block header is a label of a block containing information such as timestamp, Merk tree root hash, random number and the hash of the previous block, and doing a second SHA256 calculation on the block header will give us the hash of this block.
To keep track, you have to package up the various information in the block, and then modify this random number in the block header so that the input value can be hashed to get a hash value where the first n digits are 0 after the hash calculation.
There are actually only two possibilities for each digit: 1 and 0, so the probability of success for each change to the random number is one nth of 2. For example, if n is 1, that is, as long as the first number is 0, then the probability of success is 1 out of 2.
The more computing power there is in the network, the more zeros there are to count, and the harder the workload is to prove.
Today, n in the Bitcoin network is roughly 76, which is a success rate of 1 in 76 parts per 2, or almost 1 in 755 trillion.
With a $8,000 RTX 2080Ti graphics card, that’s roughly 1407 years to count.
It’s really not easy to get the math right, but once you do, everyone can verify in an instant that you got it right. If it’s indeed correct, everyone will connect that block to the ledger and start packing in the next block.
This way, everyone in the network has an identical, real-time updated ledger.
And to keep everyone motivated to do the bookkeeping, the first node to finish packing the block will be rewarded by the system, which is now 12.5 bitcoins, or almost 600,000 RMB. This process is also known as mining.
On the other hand, in order to prevent tampering with the ledger, each new block added needs to record the hash value of the previous block, also known as a hash pointer, in the block header. Such a constant forward pointer will eventually point to the first founding block, chaining all the blocks together tightly.
If you modify any of the characters in any block, you change the hash value of that block, invalidating the next block’s hash pointer.
So you have to modify the hash pointer of the next block, but that in turn affects the hash value of that block, so you also have to recalculate the random number, and after you finish the calculation, you have to then modify the next block of that block until you have modified all the blocks after that block, which is very cumbersome.
This makes it impossible for the bookkeeper to keep track of the forgeries even if he wanted to. Because of the electronic signature, the bookkeeper can’t fake a transfer from someone else to himself, and because of the history of the book, he can’t change a sum of money out of thin air either.
But this raises a new question: if two people complete the calculations at the same time and pack out a new block, who should they listen to?
The answer is whoever is long enough to listen, and now everyone can pack after both blocks. For example, if the first guy who finishes the calculation in the next round chooses to connect to B, then the B chain will be longer and everyone else will be more likely to connect to B as well.
Within six blocks of packing, the winner is usually settled, and the abandoned chain trade is withdrawn and placed back into the trading pool to be packed.
But since it’s whoever is the longest listens to whoever is the longest, as long as you can count better than everyone else, and your counting power is greater than 51%, you can figure out the longest chain by yourself, and then control the ledger.
So the greater the computing power of the miners in the Bitcoin world, the more zeroes everyone has to count, ensuring that no one can control the ledger.
But other blockchains with few participants don’t fare so well, such as the 51% attack on a digital currency called Bitcoin Gold on May 15, 2018.
The attackers first transferred $10 million worth of their own bitgold to an exchange, and this transfer was recorded on block A. The attackers were also able to transfer $10 million worth of their own bitgold to an exchange. At the same time, the attacker secretly prepared a block B where the transfer did not take place and calculated a new block after block B. The attacker also secretly prepared a block B where the transfer did not take place.
Once the transfer on the A chain is confirmed, the attacker can withdraw the bit gold on the exchange. But since the attacker’s computing power is 51% greater than the entire network, the B chain will eventually be longer than the A chain, and by releasing a longer B chain to the entire network, history will be rewritten, the B chain will replace the A chain as the true main chain, and the transfer to the exchange in Block A will be withdrawn, earning the attacker 10 million for nothing.
Today, the easiest way for the average person with no arithmetic power to get digital currency is to buy it on an exchange and withdraw it to your wallet address.
This address comes from your private key, which is encrypted, and the public key, which is encrypted, gets the address.
In an anonymous network like the blockchain, only the private key can prove that you are you, and as long as the transfer is accompanied by an electronic signature generated by your private key, everyone can confirm that the transfer is valid. So if the private key is compromised, anyone can pretend to be you and transfer the money.
Post time: Sep-10-2020