– public key, ie identity digital signature hash pointer –
The fourth tool is the message authentication code technology, which is used to confirm whether the information received by the sender is the sender's intention. There is also a key distribution problem encountered in the symmetric key. Because there is little relationship with the blockchain technology we discussed, we will not do specific development here.
- What challenges does the blockchain face in the real economy? Academic experts think so
- Singapore Banking Corporation OCBC Bank joins JP Morgan Chase Blockchain Network
- Li Lihui, former president of Bank of China: The blockchain needs to be scaled up, and it is urgent to break through five technical bottlenecks.
- Research Report | Ethereum 2.0 Upgrade Report
- AI+Internet of Things + Blockchain: These 10 companies need to be medical network security guardians
- Babbitt column | Thinking about blockchain from the perspective of database
The fifth tool is digital signature technology, which is based on the principle of public key cryptography, which is used in reverse. Simply put, the sender can use his private key to attach a digital signature to the message. After the message is sent, the receiver can use the sender's public key to check the authenticity and integrity of the message. Through the digital signature technology, the function of signature and stamping in the real world can be realized.
The last tool is a pseudo-random number generator, which is software that generates cryptographic numbers by cryptographic techniques. The core of random numbers is unpredictability, because software that relies on human programming cannot generate true random numbers, so add a "pseudo" word.
The combination of the above six technologies together constitutes the goal of information security protection that cryptography needs to achieve, namely confidentiality, integrity, authentication and non-repudiation. So, what part of the blockchain's non-tamperable and cryptographic techniques have been absorbed? We use the first complete application on the blockchain, and the most representative bitcoin, as an example.
Bitcoin is mainly used in the above three cryptography toolboxes, namely public key cryptography, one-way hash function and digital signature. In order to make the transaction publicly verifiable, there are a large number of open account addresses on Bitcoin, and each transaction needs to be checked for validity before being recorded on the chain, and must not be tampered with afterwards.
Based on public key cryptography, users can create anonymous Bitcoin accounts arbitrarily without the approval of others. Here, the public key is the user's account identity. In an Internet-centric environment, the application of the account needs to be authorized by the platform, and the information such as the password needs to be stored on the server of the platform. In the Bitcoin system, the account can be generated arbitrarily and can be queried by anyone, but the user's own private key must be used to decrypt the relevant information.
By digitally signing Bitcoin transactions with a private key, Bitcoin can be sent to anyone in the world in just a few minutes. After the transaction is signed, Bitcoin miners are responsible for verifying the validity of the transaction and updating the balance of the relevant Bitcoin account. The introduction of digital signatures ensures that the user's transactions can not be forged, thus protecting the individual's rights in the system, and providing technical support for the large-scale and authentic transmission of transaction information by Bitcoin.
The digital signature scheme used by Bitcoin is called the elliptic curve digital signature algorithm. This algorithm has been considered to be safe after several years of careful cryptanalysis. When using elliptic curves to generate transactional digital signatures, it is important to ensure a good source of randomness, and some pseudo-random number generator techniques are involved here.
There are many one-way hash functions (often transliterated as hash functions). SHA-256 is a hash function that is mainly used by the Bitcoin world and has a very good effect. The hash function is called the Swiss Army Knife in cryptography and is widely used in the structure of Bitcoin. The first is the storage of information. In Bitcoin we encounter a hash pointer, which refers to a pointer to a hash value of the data storage location and its location data. In addition to this, the hash pointer can also clarify the hash of the data under a timestamp.
To build a linked list with a hash pointer, we call this data structure a blockchain. Bitcoin simply packs information into blocks that are unidirectionally connected one after another, each of which has both data and a hash pointer to the previous block. In this case, each block not only tells us where the value of the previous block is, but also contains a summary of the hash value of the value, so that we can verify that the value has not changed.
The biggest advantage of this structure is tamper-proof. If someone modifies the data of any part of the blockchain, it will cause the hash pointer of the next block to be incorrect. If he wants to keep trying and cover up the tampering by tampering with the hash of the next block, he needs to keep changing along the block. So as long as we store the hash pointer of the linked list header (also known as the creation block) in a place that cannot be changed, no one can tamper with any block without being detected.
Through public key cryptography, hash function and digital signature, Bitcoin presents two attributes: non-tamperable and encrypted: in the non-tamperable aspect of the group, the hash pointer generated based on the hash function ensures that The information stored in the block is difficult to be tampered with; in terms of individual encryption, the public key cryptography implements decentralized identity authentication, and the digital signature ensures that the user's rights and obligations in the transaction are linked to his own commitment.
In addition to the above core technologies, Bitcoin brings a fresh design to the original network architecture through the application of cryptography in the two technologies of open source and openness, incentive and coordination. In the first aspect, the entire Bitcoin system is designed in an open manner based on cryptographic techniques widely used in the world. One of the very common principles of cryptography is not to use a secret cryptographic algorithm, because it is obviously safer to use an algorithm that has been publicly available for years and cannot be deciphered by attempts by countless interpreters.
We know that Bitcoin is actually built on top of the TCP/IP protocol. Inheriting the spirit of open source and open code on the Internet, it further introduces a series of cryptography techniques. In fact, in addition to using the above three cryptographic techniques to form a more credible state, system rules and user personal information are better protected, Bitcoin itself does not use any encryption algorithm (here encrypted and we discussed Individual encryption is different, generally refers to cryptographic information encryption technology). From this perspective, passwords are more of a means of rights protection for Bitcoin, and do not run counter to the original open spirit of the Internet.
On the other hand, let's take a look at the incentive design of Bitcoin. We talked about how to form a linked list structure by packing data into blocks, which ensures that once the data is generated, it is very difficult to tamper with it later. But in the process, how to ensure that the node provides data honestly? Bitcoin uses a very clever design that solves the hash function.
In this operation, the nodes get a chance to record the transaction by competing to calculate the puzzle and write the record to the block. A block is made up of several transaction records, in which the node that created the block can add a special transaction to the block. This transaction is a coin-operated transaction. Since adding blocks to the blockchain is like digging out bitcoin from gold mines, it is called mining, while those engaged in mining are called miners.
This process is actually a brute force cracking hash function. Of course, this kind of cracking is just to prove that a miner does invest a lot of computing resources to get the job done, instead of saying that he really wants to attack the hash function. Through such a reward mechanism, Bitcoin guarantees that most nodes honestly record information about blocks.
These two aspects are not strictly cryptographic techniques, but system- and institutional-level innovations based on cryptography. For example, the parties are competing to crack the design of the hash function, which is the case of the game theory we talked about in the previous article. Starting from this place, Bitcoin created a cryptographic-based, completely transparent environment that was not encountered in previous game theory.
For example, placing multiple cryptographic techniques in a blockchain system with large-scale data samples will likely promote the research and development of cryptography, and promote the intersection and integration of cryptography and economics and society. It is also with the help of such a series of similar innovations that Bitcoin has been able to show a thriving growth force, thus unveiling the prelude to the entire blockchain world.
* The article is the original independent view of the author Li Kailong. Unauthorized reproduction is prohibited.
* Li Kailong, founder and CEO of Digital Agency.