Y
Y
YuriyBum3342017-12-11 18:33:10
Cryptocurrency
YuriyBum334, 2017-12-11 18:33:10

Found a way to kill bitcoin. Am I right?

We have already become accustomed to the fact that bitcoin and blockchain can be considered a priori invulnerable to hacking and destruction attempts. It is based on the proof-of-work mechanism, which requires a certain number of zeros at the beginning of the hash received from SHA256, which is extremely rare, which explains the value of the mined coins. Let's say I want to fool everyone. To do this, I add a solo miner with a twist that reduces the complexity to nothing, for example:
for(i = 0; i<=Difficulty; i++) {
BlockHash[i] = '0';
};
Now I have all the hashes from the correct ones turn into valid ones for the system. Next, I disconnect from the network and instantly stamp 2K "blocks" on the local computer. If you try to calculate their hash again, the deception will immediately be revealed, but who sees that? At the end of the process, I reconnect.
The network sees my longest chain and obediently distributes it to all miners. Let the last block sweep away, but we are not greedy. But the rest safely remain in the chain, and new blocks are created already on top of the fake ones. Everyone sees that the blocks are fake, but no one can do anything about it, because. they are already in the middle of the blockchain. It is done.
I have not found information anywhere that the system recalculates the hashes of already mined blocks, in order to avoid this. Maybe I'm wrong?

Answer the question

In order to leave comments, you need to log in

1 answer(s)
I
Ivan Tikhonov, 2017-12-11
@YuriyBum334

There are attacks such as hidden chain generation, but in PoW systems it is very risky and expensive, unlike the same PoS.
The described above will not work for a bunch of reasons, I will now state the main errors in the logic, and dig the documentation or code for details:
1. It is not the number of zeros that matters, but that the hash is less than or equal to the target. About zeros are usually told to simplify understanding for beginners. As well as about the longest chain.
2. The network accepts valid not the longest, but the most complex chain. Most often this is the longest, but not necessarily.
3. All nodes check the blocks that come to them, and if the hashes there do not match the content, the dates are out of range, etc., then the block will be rejected. The network is not a separate decision-making body, it is a network of independent nodes, each of which makes decisions. And they simply do not relay what they consider invalid. So your fake blocks will not go further than the nearest nodes at all.
4. Many clients have hardcoded "checkpoints" on some old blocks, so that even if some such evil vulnerability is revealed, it would not be possible to quickly rewrite the entire chain for everyone.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question