4 ms·
You almost understand it, but are missing the actual role of proof of work. Merkle tree makes verifying the blockchain datastructure easier, and enables older
by datadata 4y ago
You almost understand it, but are missing the actual role of proof of work.
Merkle tree makes verifying the blockchain datastructure easier, and enables older blocks to be further secured by newer blocks.
Proof for work however makes producing an entirely alternive blockchain expensive. When looking at the bitcoin blockchain, you can prove exactly how much energy was used to make it, and know that energy was not used for making any other variant. This means you can be confident the blockchain is not a altered forgery meant to defraud you, as this attack would require spending all of that energy again.
- p4bl0 4y agoYes, proof of work is a consensus mechanism. But modifying a block discreetly would require a full collision on its hash. Even without proof of work. This is what makes a blockchain immutable, and is not a specificity of blockchains, nor of PoW.
- datadata 4y agoI'm not talking about a discreet modification of the blockchain. When you bootstrap a bitcoin client, you need to be use that the blockchain is the real one without having to trust another party, otherwise someone could give you a completely different version. By incorporating proof of work, you can prove that the copy of the blockchain you have needed X amount of energy to create. This is what I sort of agree with you that immutability is not the right technical word for this property, but that is what I was getting at.
- p4bl0 4y agoBootstrapping a client requires the same trust in the source from which you're getting the blockchain history, with or without PoW. PoW doesn't play a role here. But you're right that immutability does. What can give you confidence is that the version of the blockchain that you got is consistent with what others have and can show you (i.e., that you will be able to be a part of the network). This is the "distributed" part of what make immutability. The amount of energy spent until then plays no role here.
- datadata 4y agoNo, you do not have to trust the source when bootstrapping a client. The proof of energy needed to construct the blockchain is what ensures that the copy you receive is likely to be a held as the consensus, since it would be prohibitively expensive to have multiple versions. Without an energy expenditure, the source could fabricate the entire blockchain just to attack you.
- p4bl0 4y agoI never said you had to trust the source, I said that the necessary level of trust is the same (and it is indeed zero). So yes, PoW can give you confidence, but it is unnecessary in practice. Well, let's say it's an additional security measure where something else more trivial is already enough. When you get a copy of the blockchain, verifying if all the Merkle tree structure (without even checking for the PoW) and comparing the last hash (or the few last hashes) with what you see on the network from other sources is enough to be sure that your copy is valid. Because providing you with a fake chain which still has the same last hash would require to have at some point (for the block the attacker –i.e., the source of your copy of the blockchain– wants to modify) found a full collision, which is much more difficult than computing alternative valid PoW. So yeah, here PoW can give you confidence in the copy of the blockchain you get without having to even minimally interact (just looking at a blockchain explorer not controlled by your source for example) with others. But the whole point of the tech is to interact otherwise you don't need to bootstrap a client. So this refinement makes little to no sense.
- datadata 4y agoI think you are just not getting it. In my scenario (downloading the blockchain from nothing and bitcoin not having any proof of work scheme), you would not need to find a full collision as you don't have any hash that you trust to check against anyway. The blockchain you downloaded could have been entirely made up by one person-- e.g. all of the addresses are opened and signed by them, etc. The entire thing is fake. This would be possible to construct with almost no energy, because we have removed proof of work. There would be no way to determine if the blockchain data is real You keep referring to other consensus mechanisms that are not really trustable without the PoW foundation (looking at other copies on the network, blockchain explorer). The beauty of PoW is that it speaks for itself-- you could download the data over an untrusted network with just one peer, and still be confident you got the real thing, because you can prove energy was sacrificed for its construction. PoW has other benefits beyond this quite silly scenario, I am just explaining it again as you don't seem to get it.