Information about the security part of blockchain
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 keyif you have problems with blockchain, you are welcome to chat in private~~~~~
however, it's easy for people with an eye to see why there is no security layer? In fact, several key features of blockchain have already solved the security problem. First, the blockchain uses asymmetric encryption technology. In fact, encryption and decryption are different keys, namely public key and private key. In short, the public key is open to the public, while the private key is absolutely confidential
secondly, distributed bookkeeping is a way for blockchain to store data. It can also be understood as distributed storage, which is consistent with the concept of decentralization. In the form of ledger, there is no central ledger in the network, and the ledger is stored in each node. Each node is not only independent, but also can act as the central node. Therefore, the central node will not be attacked, leading to the loss of core books or data, and the whole network will not be paralyzed
moreover, tamper proof is the basic feature of blockchain. As long as the chain can not be modified, and can not be deleted. If it needs to be changed, based on the principle of transparency and openness, the whole network and all nodes need to be informed. Therefore, under the democratic mechanism, the possibility of tampering with data at will is very low. Therefore, blockchain technology is applied in various instries, such as finance, payment, traceability, games, etc., such as the network "universe", Tencent's "come together to catch the demon", and Zhongan Huanyu blockchain "Dr dragon hunt" are the safe and high-quality procts under the blockchain technology.
1. Physical security
the network and host running the blockchain system should be in a protected environment. According to the regulatory requirements of specific business, the protection measures can be used to protect the physical network and host by means of VPN, firewall, physical isolation, etc
2. Data security
in principle, the data exchange between nodes of the blockchain should not be transmitted in clear text. For example, asymmetric encryption can be used to negotiate key, and symmetric encryption algorithm can be used to encrypt and decrypt data. The data provider should also strictly evaluate the sensitivity and security level of the data, decide whether to send the data to the blockchain, whether to desensitize the data, and adopt strict access control measures
3. Application system security
application system security needs to start from the aspects of identity authentication, authority system, transaction rules, anti fraud strategy, etc.
relevant personnel, transaction nodes and transaction data involved in application operation should be controlled in advance and auditable afterwards. Taking financial blockchain as an example, consensus algorithm with stronger fault tolerance, anti fraud and higher performance can be adopted to avoid joint fraud of some nodes
4. Key security
to encrypt the communication data between the blockchain nodes and the key to encrypt the data stored on the blockchain nodes, the plaintext should not exist on the same node, and the private key should be properly saved by the encryption machine. When the key is lost or leaked, the system can identify the relevant records of the original key, such as account control, communication encryption, data storage encryption, etc., and implement response measures to make the original key invalid. The key should also be managed strictly in the life cycle, and should not be permanently valid. It needs to be replaced after reaching a certain time cycle
5. Risk control mechanism
there should be careful detection measures for the network layer, host operation, data access of application system, transaction frequency and other dimensions of the system. For any suspicious operation, alarm, record and verification should be carried out. If illegal operation is found, loss assessment should be carried out, remedial measures should be taken at the technical and business levels, and security measures should be strengthened, And trace the source of illegal operation to prevent further attacks
Article source: white paper on blockchain technology and application development in China
loss of private key
error implementation
the protocol was attacked
at this stage, it can only be prevented, and it is unrealistic to completely solve it. After all, blockchain is just a newborn baby. Bitcoin and Ethereum are often attacked. Recently, decent, a relatively active blockchain content publishing platform, will encounter the same technical problems.
Step 1: the trainee swipes his / her ID card to the computer
Step 2: the system sends verification SMS
Step 3: input the mobile phone verification code to query the examination plan
Step 4: make an appointment for the exam
Step 5: driving management department audit
Step 6: inform the students of the test time through SMS one day later
the relevant person in charge of Changsha driving test center reminds the students:
first, the applicable object must be the students who have completed subject 2 and need to take subject 3
Second, the trainees should go to the self appointment terminal of the above places at least 3 days in advance to operate with their ID cards. The deadline for appointment is 20 days. The driving management division of Changsha traffic police detachment will arrange the staff to guide and help the operation on site
thirdly, after successful self appointment, trainees should contact their driving school in time. The driving school is requested to arrange the training before the test, and help the students to go through the payment and filing proceres. The driving management department has also informed the driving schools, asking them to fully cooperate with the relevant work< br />