5 ms·
> more work = more trust This is not true. The trust you are talking about is the "solidity" of the blockchain, i.e., it's immutability feature, what (supposed
by p4bl0 5y ago
> more work = more trust
This is not true. The trust you are talking about is the "solidity" of the blockchain, i.e., it's immutability feature, what (supposedly) makes it a trustable source.
But it is not PoW that makes the blockchain immutable. A lot of people are saying that, but they're wrong, I'm sorry.
What actually makes the blockchain immutable is that it is distributed and that it cannot be done to rewrite it's history discretely. People will notice because the hash of the blocks would change.
The same is true for a Git repository. If you have a Git repository that everyone mirrors regularly (so that it is distributed, just like a blockchain), then you can't rewrite it's history without having people notice: the new log will be incompatible with the history they already have all the commits hash will be different.
The only solution would be, in both case, to find entire collision for each block/commit. This is waaaaay more expansive than mining to find new valid hashes for a given blockchain.
- selestify 5y agoYou’re talking about the problem after the network has already reached consensus on a block. Problem is, if you’re downloading new blocks from the blockchain, and you’re getting two sets of history, which one do you pick? With Git, it’s trivial to recreate history differently, albeit with different hashes. With crypto, you pick the chain with more resources put into its creation. Otherwise, any random person can spin up a hundred Bitcoin nodes and start spoofing the latest transactions pretty easily.
- p4bl0 5y agoYes, this is true in a decentralized and adversarial environment. This is exactly the problem that blockchains have been invented for! In such an environment, we do not have solutions to reach "consensus" apart from blockchains. My point is that apart from cryptocurrencies (where the blockchain is enough because it defines the truth), since you need some form of trusted third-party to make what's written on the blockchain relevant, then you're not in a decentralized and adversarial setting. So you can do things more efficiently, you don't need a blockchain. You don't have to solve the distributed consensus problem.
- selestify 5y agoAh I see what you mean. Good point!
- riptheworld 5y ago> But it is not PoW that makes the blockchain immutable. A lot of people are saying that, but they're wrong, I'm sorry. You are incorrect. The proof of work mechanism is central to ensuring the immutability of the blockchain. As a concrete example, suppose there are N blocks in the blockchain, and I want to change a transaction in the (N - 2) block. Obviously, this will change the hash of the (N - 1) and N-th blocks, so the decentralized network will not accept this arbitrary change. However, if I can produce four PoWs corresponding to the new (N - 2), (N - 1), N, and (N + 1)th blocks, then I can convince the network to accept. Of course, I have to produce these four PoWs before the honest users on the network mine the next block at index (N + 1). This is extremely difficult by design. In theory, you would need the majority of the network’s computing power to carry out this attack. In other words, the security level of the proof of work is directly related to the difficulty in modifying the blockchain.
- p4bl0 5y agoOkay so now suppose that some one finds a way to break the hash function used in a way that allows to quickly compute partial collisions. This person is able to mine valid blocks very quickly because they can have a number of zeros at the beginning of their hashes thanks to the vulnerability they found. So they do what you're saying and rewrite history. In a few minutes, they start with block (N - 10), and rebuild an alternative chain up to block N and then add two new blocks so their version of the chain in longer. Yes, what is supposed to happen, in theory and according to you, is that their version of the chain will prevail. What would happen in practice? People would notice. A fork will be decided. Such things have happened with blockchains already, either the community, or worse, the developers, decided against the rogue version to hard switch to the original version. And everyone except the attacker will agree… So I repeat: the only way to actually modify the recorded history is to do so discretely. And that requires computing full hashes collision. Even for a single one it is much much expensive than mining hundreds if not thousands of blocks. Another point: if PoW is what guarantees immutability, what about PoS blockchains? The truth is: PoW and PoS are not immutability mechanisms, they're adversarial distributed consensus mechanisms: i.e., complex ways of selecting someone at random such that no one else can dispute the choice.