How to solve the problem of computing power of blockchain softwa
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 keyblockchain is essentially an encryption algorithm, which is based on the principle of hash 256 bit algorithm to achieve information security; The application of modern information will become more and more global and universal. Besides the basic requirements of anti tampering, anti repudiation and trustworthiness, the protection of privacy needs to be strengthened. The blockchain technology is proced because of the development of modern cryptography. The cryptography used today is the result of cryptography 20 years ago, Therefore, in order to apply the blockchain technology to more participation scenarios, especially in the Internet economy, more verification is needed to verify whether the existing encryption technology can meet the demand, and more in-depth integration of cryptographic frontier technology and continuous innovation are needed
as long as we use blockchain to make innovations in accounting methods based on our own mode, it will not affect efficiency and waste computing power, but will shorten the time and improve efficiency.
blockchain is a new application mode of distributed data storage, point-to-point transmission, consensus mechanism, encryption algorithm and other computer technologies
the so-called consensus mechanism is a mathematical algorithm to establish trust and obtain interests between different nodes in the blockchain system
in a narrow sense, blockchain is a kind of chain data structure that combines data blocks in chronological order in a sequential way, and it can not be tampered with and forged by cryptography
broadly speaking, blockchain technology is a new distributed infrastructure and computing method, which uses blockchain data structure to verify and store data, uses distributed node consensus algorithm to generate and update data, uses cryptography to ensure the security of data transmission and access, and uses intelligent contract composed of automated script code to program and operate data< Advantages:
1) the algorithm is simple and easy to implement
2) there is no need to exchange additional information between nodes to reach a consensus
3) it takes a lot of cost to destroy the system< Disadvantages:
1) waste of energy
2) it is difficult to shorten the block confirmation time
3) the new blockchain must find a different hash algorithm, otherwise it will face bitcoin attack
4) it is easy to generate bifurcation and needs to wait for multiple confirmations
5) there is no finality, and checkpoint mechanism is needed to make up for it.
the expansion of blockchain is the general trend, but there are differences in the specific operation. According to the different levels of blockchain architecture, the instry has proposed a number of expansion solutions: first, optimize the data transmission protocol for the underlying data layer of blockchain, do not change the upper structure of blockchain, and improve the scalability, such as bloxroute, the 0-layer expansion scheme of blockchain; The second is to change the data structure and consensus algorithm to improve the scalability of the basic protocol of blockchain, such as DAG (directed acyclic graph), fragmentation, dpos algorithm, etc; Third, aiming at the application level, such as side chain, sub chain, state channel lightning network and so on, part of the on chain transactions are transferred to the off chain execution to rece the on chain processing pressure and improve the overall efficiency.
for example, AUR, Golem, vechain, omisego, which provides asset exchange and transfer services, is a prediction platform based on blockchain. Using blockchain technology, these projects can better solve the problems of trust and cross-border circulation. At the same time, using smart contracts and tokens on the blockchain, they can better realize automatic execution and greatly improve the efficiency of social and economic activities
Application blockchain projects cover a wide range of fields, including finance, social networking, games, property rights protection and so on. It is also the field where the market value of blockchain projects is growing fastest at present.