How block-chain is so secure? [closed]

2019-07-20 15:41发布

问题:

Yesterday I read about an article on Blockchain and according to it, blockchain are very secured? I am not able to understand how it is secure? How blockchain makes data secure even it is available to normal people?

回答1:

@saurabh provided a very good explanation, Its a complex topic and require a detailed explanation, please read more about different consensus and proof of work algorithms to actually figure out the beauty of blockchains. There are tons of good blogs present on internet for you to explore. Let me try to provide you a brief summary with my limited knowledge of distributed ledgers.

Blockchain is actually theoretically tamperproof (Someone can still make a 51% attack on blockchain, but that would require huge computational power)

Why is it so? Two reasons :

A cryptographic fingerprint unique to each block

consensus protocol, the process by which the nodes in the network agree on a shared history.

The fingerprint, called a hash, takes a lot of computing time and energy to generate initially(This time and energy increases or decreases depending upon the total computing power present with the miners). It thus serves as a proof that the miner who added the block to the blockchain did the computational work to earn a bitcoin reward (for this reason, Bitcoin is said to use a “proof-of-work” protocol). This hash is just a merkle hash of all the transactions included in this block. It also serves as a kind of seal, since altering the block would require generating a new hash. Verifying whether or not the hash matches its block, however, is easy, and once the nodes have done so they update their respective copies of the blockchain with the new block. This is the consensus protocol.

The final security element is that the hashes also serve as the links in the blockchain: each block includes the previous block’s unique hash. So if you want to change an entry in the ledger retroactively, you have to calculate a new hash not only for the block it’s in but also for every subsequent block. And you have to do this faster than the other nodes can add new blocks to the chain (On an average a new block is added every 10 minutes). So unless you have computers that are more powerful than the rest of the nodes combined (and even then, success isn’t guaranteed), all the alterations needs to be done in 10 minutes window, any blocks you add will conflict with existing ones, and the other nodes will automatically reject your alterations. This is what makes the blockchain tamperproof, or “immutable.”

What would happen if you deploy your own blockchain with proof of work? It really depends how many blocks are already present on your blockchain and difficulty of your proof of work algorithm. If complexity is low and few miners are competing for the next block, anybody with more computational power with all the miners combined can make their own valid fork, with transactions suited to their needs.

I want to manipulate a transaction at n-10th block?

lets say the number of blocks in Bitcoin blockchain as of this instant is n, and you want to alter a transaction at n-10th block, thats is 10 blocks back in time.

Miners will compete to put the next block n+1 th block, the time frame for which is approximately 10 minutes, you can also compete but for you to win you must have computational power as compared to miners which is around 51200544 TH/s. Probabilistically speaking if you have 1TH/s mining power, your chance of solving a block is 1/ 51200544, Lets say the hardware to calculate 1TH/s costs around 1000$, just calculate the cost to have an idea .

As already mentioned, Every block has a merkle hash included in the header which is turn depends upon every transaction included in the block and a difficulty which needs to be solved (The stuff miners calculate). This merkle root is included in the header of next block.

so if you want to change a transaction or multiple transactions at n-10th block, You need to do two things for n-10th block. 1. Calculate the merkle root again as transactions have changed. 2. Solve the difficulty.

Since the merkle root has changed, you need to solve the difficulty of every block following this block till this very time instant, to make it a valid branch.

The time frame to do all this is just 10 minutes, because in next 10 minutes , another block will be pushed by miners in the chain.



回答2:

Basic concept of block chain: a distributed database that maintains a continuously growing list of ordered record.

Growing list of records are called blocks, which are linked and secured using cryptography. Each block contains a cryptographic hash of previous block, a timestamp and transaction data.

It is an open distributed ledger that can record transactions between two parties efficiently and in a verifiable way.

For use a distributed ledger, a blockchain is typically managed by a peer-to-peer network collectively adhering to a protocol for inter-node communication and validating new blocks. Once recorded, the data in any given block cannot be altered retroactively without alternation of all subsequent blocks, which require consensus of the network majority.



回答3:

For an example: In a Blockchain, "Data that is available to Normal People" are similar to below

  • Amount : Transaction amount
  • From : Who sent the amount
  • To : Who received the amount
  • Previous Block Hash
  • Current Block Hash

Blockchain Data

In this scenario these are data that can be used to verify a transaction. Knowing these data is not harmful for anyone who is involved and, no one can manipulate the transactions or the blockchain just because they have access to these data.

If someone wants to change/manipulate the data in Block 2 (please refer to the Image) and add it to the Block chain, it is a really hard thing to achieve like @GraphicalDot explained.



回答4:

For example, Bitcoin Network needs a bootstrap from the very beginning, in that stage, you cannot say the network is secure. From year to year, more and more miners join the game, which means one is hardly to take over the whole network (which is very expensive considering the cost it takes). But it does not mean that someone may try to compromise it at any cost would fail.



标签: blockchain