The basic principles of blockchain include
One of the characteristics of blockchain projects (especially public chains) is open source. Through open source code, to improve the credibility of the project, so that more people can participate. But the open source code also makes it easier for attackers to attack blockchain system. In the past two years, there have been a number of hacker attacks. Recently, the anonymous currency verge (xvg) was attacked again. The attacker locked a vulnerability in the xvg code, which allowed malicious miners to add false timestamps on the block, and then quickly dig out new blocks. In a few hours, the attacker obtained nearly $1.75 million worth of digital currency. Although the subsequent attack was successfully stopped, no one can guarantee whether the attacker will attack again in the future
of course, blockchain developers can also take some measures
one is to use professional code audit services,
the other is to understand the security coding specifications and take preventive measures
the security of cryptographic algorithm
with the development of quantum computer, it will bring a major security threat to the current cryptosystem. Blockchain mainly relies on elliptic curve public key encryption algorithm to generate digital signature for secure transactions. Currently, the most commonly used ECDSA, RSA, DSA, etc. can not withstand quantum attacks in theory, and there will be greater risks. More and more researchers begin to pay attention to cryptographic algorithms that can resist quantum attacks
of course, in addition to changing the algorithm, there is another way to improve the security:
refer to bitcoin's treatment of public key address to rece the potential risk of public key disclosure. As users, especially bitcoin users, the balance after each transaction is stored in a new address to ensure that the public key of the address where bitcoin funds are stored is not leaked
security of consensus mechanism
the current consensus mechanisms include proof of work (POW), proof of stake (POS), delegated proof of stake (dpos), practical Byzantine fault tolerance (pbft), etc
POW faces 51% attack. Because POW depends on computing power, when the attacker has the advantage of computing power, the probability of finding a new block will be greater than that of other nodes. At this time, the attacker has the ability to cancel the existing transaction. It should be noted that even in this case, the attacker can only modify his own transaction, but not the transaction of other users (the attacker does not have the private key of other users)
in POS, attackers can attack successfully only when they hold more than 51% token, which is more difficult than 51% computing power in pow
in pbft, when the malicious nodes are less than 1 / 3 of the total nodes, the system is secure. Generally speaking, any consensus mechanism has its own conditions. As an attacker, we also need to consider that once the attack is successful, the value of the system will return to zero. At this time, the attacker does not get any other valuable return except destruction
for the designers of blockchain projects, they should understand the advantages and disadvantages of each consensus mechanism, so as to select an appropriate consensus mechanism or design a new consensus mechanism according to the needs of the scene
security of smart contract
smart contract has the advantages of low operation cost and low risk of human intervention, but if there are problems in the design of smart contract, it may bring greater losses. In June 2016, the Dao, the most popular funding project of Ethereum, was attacked. The hacker obtained more than 3.5 million Ethereum coins, which later led to the bifurcation of Ethereum into Eth and etc
there are two aspects of the proposed measures:
one is to audit the security of smart contract, and the other is to follow the principle of smart contract security development
the security development principles of smart contract are: to be prepared for possible errors, to ensure that the code can correctly handle the bugs and vulnerabilities; Release smart contracts carefully, do well in function test and security test, and fully consider the boundary; Keep smart contracts simple; Pay attention to the threat intelligence of blockchain and check and update in time; Be clear about the characteristics of blockchain, such as calling external contracts carefully
security of digital wallet
there are three main security risks in digital wallet: first, design defects. At the end of 2014, a user lost hundreds of digital assets e to a serious random number problem (repeated r value). Second, the digital wallet contains malicious code. Third, the loss of assets caused by the loss or damage of computers and mobile phones
there are four main countermeasures:
one is to ensure the randomness of the private key
The second is to check the hash value before installing the software to ensure that the digital wallet software has not been tampered with The third is to use cold wallet The fourth is to back up the private keybecause the so-called proction relationship is actually how to do business between people and business partners. And these things, originally, are in the cognitive process between people, and there is no special program to program or quantify it
for example, if you and I are good friends now, we can do business. If someone stirs up our relationship and we are not good friends, we will not do business. Even if we can make money in business, we will not do business because there is no trust between us
as for blockchain, it is actually because the data is authenticated by all nodes and backed up at the same time, so my data is as real as possible and can't be tampered with. In this case, if you believe my data, you can make a program on this basis, and then use the data to make what kind of business contract, what kind of service, what kind of service, and what kind of service, what kind of service, what kind of service, what kind of service, what kind of service, what kind of service, what kind of service, etc This "proction relationship" of commercial cooperation is programmed. In this way, we believe in the data and the program compiled by the algorithm. Because you believe in the data and the program, you can develop all kinds of apps in the program. These apps are the proction relations and what business to do. This is: blockchain is actually a reconstruction of "proction relationship".
1. Do you need a strong trust environment
when your enterprise needs to cooperate with other related enterprises for a certain business collaboration, transaction and data transfer, whether there is a strong trust environment in the process of collaboration, transaction and data transfer is an important application
if your enterprise is an absolute strong credit subject in these business activities, business partners can almost unconditionally trust your enterprise, and do not need to spend extra cost to prevent your enterprise from cheating, falsifying, changing data and almost no risk of counterparties in business activities, then maybe centralized service will be a better choice. If not, blockchain can be considered as an architecture
2. Can the cost of information disclosure be reced
when your enterprise is a powerful enterprise in a credible business ecosystem, such as the core enterprise in the supply chain and the first-class supplier, it is also an important application principle whether you need more costs for self vindication and disclosure of relevant information to partners to eliminate risks and compliance when dealing with other business partners
if you are in the dominant position in the business environment, and at the same time you are a service-oriented enterprise, such as a third-party company or an instrial platform, then blockchain can significantly rece the cost of self vindication, and be more transparent, more intuitive and more digital
3. Is blockchain architecture concive to broadening business boundaries
when your enterprise starts to use the blockchain and has a certain node ecology, the business activities on the chain can also make the environment in the ecology more reliable. If you can continue to broaden the business boundary and make the original business environment more reliable e to data distrust Partners and business models that cannot cooperate e to insufficient information of counterparties can carry out business in building a good blockchain, such as credit sinking of core enterprises, cross supply chain accounts receivable, etc., then blockchain will become a means to open up business boundaries.
in fact, blockchain is not a single innovative technology. Jinwowo suggests that blockchain is a combination of many interdisciplinary technologies, including cryptography, mathematics, algorithms and economic models, and a combination of point-to-point network relationships. With the help of mathematical foundation, trust effect can be established, so that it can become a network without mutual trust A decentralized system that can operate without relying on a single centralized institution.