Blockchain file backup
blockchain is a new application mode of distributed data storage, point-to-point transmission, consensus mechanism, encryption algorithm and other computer technologies. Blockchain is an important concept of bitcoin,
in essence, it is a decentralized database. At the same time, as the underlying technology of bitcoin, it is a series of data blocks generated by using cryptographic methods. Each data block contains a batch of information of bitcoin network transactions, Used to verify the validity of its information (anti-counterfeiting) and generate the next block
extended data
most blockchain public chains are limited by scalability. The biggest feature of blockchain technology is decentralization, which requires that all accounts in the network need to deal with the accounting process. Distributed accounting has high security, low misoperation rate, political neutrality and correctness
however, blockchain technology embraces these features at the same time, sacrificing scalability, unable to meet the personalized supervision, and slightly insufficient in protecting data privacy. Moreover, with the increase of the number of ledger, the interaction delay will increase exponentially, that is to say, the more ledger in the blockchain network, the higher the delay
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 keyconstructor(index,timestamp,data,previousHash=' 39;)< br />{
this.index=index;< br />this.timestamp=timestamp;< br />this.data=data;< br />this.previousHash=previousHash;< br />$this.hash=this.calculateHash();< br />}
calculateHash(){
return SHA256(this,index+this.previousHash+this.timestamp+JSON.stringify(this.data)).tostring();< br />}
}
class Blockchain{
constructor(){
this.chain=[this.createGenesisBlock()];<
}
/ / create a generated information block
creategenesis block() {
return new block (0, & quot; 01/01/2019",& quot; Genesis block", 0);
/ / the date is the user's data. In fact, it is the hash value obtained by adding several values together. Here, the information is encrypted and the picture is encrypted. Then the data is still stored in the database, but all the data are hash values. To get this data, you must know the hash value of the previous data block. Then, if the hacker needs to crack all the nodes, the hash value is decrypted, Then all the blocks from the first node to the last node can be decrypted to get the real data. So the security of data stored in the blockchain depends on whether the data is encrypted. If the plaintext is not encrypted, then it is not a blockchain
}
/ / get the last block
getlatesblock() {
return this.chain [this.chain. Length-1]
}
/ / create block
addblock (newblock) {
newblock. Previoushash = this. Getlatesblock(). Hash< br />newBlock.hash=newBlock.calculateHash();< br />this.chain.push(newBlock);< br />}
}
generally, the blockchain platform will provide corresponding interfaces, such as RPC, json-rpc, HTTP, etc. of course, the platforms are not the same, and the degree of friendliness is different
some companies specializing in API, such as blockcypher, can provide friendly calling interfaces, and it is not very convenient to write answers on the mobile phone, Search below
as for the storage content, add a point: in addition to the conventional cloud storage, file entities on the file hash record chain also have blockchain based storage schemes, such as IPFs, storej and so on
With the rapid development of Internet technology, it has brought us infinite wonderful and convenient life. At the same time, with the continuous improvement of 5g network, container cloud and high-performance storage hardware, data growth has entered an unprecedented stage of development
AR, VR, Internet of things, edge computers and other devices available everywhere generate a continuous stream of data, just like an open water pipe, the data source has been flowing out. The data generated will increase geometrically. At this time, the storage technology of blockchain will be demonstrated. A few years ago, there was an excellent IPFs project in the blockchain storage technology
{rrrrrrr}
yottachain takes the blockchain as the underlying technology and develops a powerful incentive scheme for miners. With 1GB
of space invested by miners, yottachain can generate 5-10gb of storage capacity, which proces the miracle effect that the purchasing power of digital currency obtained by resource suppliers exceeds the resources they supply
(1) distributed ledger, that is, transaction bookkeeping is completed by multiple nodes distributed in different places, and each node records complete accounts, so they can participate in monitoring the legitimacy of transactions, At the same time, they can testify together
different from traditional distributed storage, the uniqueness of distributed storage of blockchain is mainly reflected in two aspects: one is that each node of blockchain stores complete data according to block chain structure, while traditional distributed storage generally stores data in multiple copies according to certain rules. Second, the storage of each node in the blockchain is independent and has the same status, which relies on the consensus mechanism to ensure the consistency of storage, while the traditional distributed storage generally synchronizes data from the central node to other backup nodes[ 8]
no single node can record the account data separately, so as to avoid the possibility that a single bookkeeper is controlled or bribed to record false accounts. In theory, unless all the nodes are destroyed, the accounts will not be lost, so as to ensure the security of the account data
(2) asymmetric encryption and authorization technology, the transaction information stored on the blockchain is public, but the account identity information is highly encrypted, which can only be accessed under the authorization of the data owner, thus ensuring the data security and personal privacy
(3) consensus mechanism is how to reach a consensus among all accounting nodes to determine the validity of a record, which is not only a means of identification, but also a means of preventing tampering. Blockchain proposes four different consensus mechanisms, which are suitable for different application scenarios and achieve a balance between efficiency and security
the consensus mechanism of blockchain has the characteristics of "the minority is subordinate to the majority" and "everyone is equal", in which "the minority is subordinate to the majority" does not completely refer to the number of nodes, but also can be the computing power, the number of shares or other characteristics that can be compared by computers“ "Everyone is equal" means that when the nodes meet the conditions, all nodes have the right to put forward the consensus results first, and then directly recognized by other nodes, and finally may become the final consensus results. Taking bitcoin as an example, the workload proof is adopted. Only when more than 51% of the accounting nodes in the whole network are controlled can a nonexistent record be forged. When there are enough nodes in the blockchain, this is basically impossible, thus eliminating the possibility of fraud.
(4) smart contract, which is based on these trusted and tamperable data, can automatically execute some pre-defined rules and terms. Take insurance as an example. If everyone's information (including medical information and risk occurrence information) is true and reliable, it is easy to carry out automatic claim settlement in some standardized insurance procts
digital currency also makes use of this feature of blockchain. Puyin is a kind of tea standard digital currency developed based on blockchain technology.