4 ms·
Damn, this is a great post. It really demystified a lot for me. Question for those in the know (or the author, if you're lurking about): > At this point, the
by bobwaycott 9y ago
Damn, this is a great post. It really demystified a lot for me.
Question for those in the know (or the author, if you're lurking about):
> At this point, the idea of a chain should be apparent—each new block contains within itself, the hash of the previous Block. This is crucial because it’s what gives blockchains immutability: If an attacker corrupted an earlier Block in the chain then all subsequent blocks will contain incorrect hashes.
Grokking the idea of a chain is certainly apparent. However, it's a bit less clear in what specific way referencing blockchain immutability with this statement should be taken. If an attacker corrupted an earlier block in the chain, is that being mentioned as something that occurs after all subsequent blocks have already been created, thus proving the corrupted block is, indeed, corrupted by way of identifying it via verifying hashes and seeing a corrupted one?
If a bad actor corrupted block N, then all blocks after block N would themselves be corrupt (and presumably invalid and a waste of mining effort), correct? At this point, it seems to me that protecting the integrity of the chain requires dismissing the corrupted block & all its children, right? Doesn't that kind of indicate mutability of the chain? Or is immutability maintained by allowing corrupted blocks to remain in the chain, but some other process stepping in to essentially invalidate blocks?
I think there's something I'm missing here. No doubt it's obvious, and I'm just looking past it.
edit: I'm also just starting the consensus section, so perhaps that will resolve my confusion.
edit2: After finishing consensus, I think I get it.
- thisisit 9y agoA block is connected or chained to the previous block by using the previous block's hash and connected to the next block by providing it's hash. So the immutability comes after the fact ie once the block is created. So at N + M block, changing the Nth block means all M blocks will become corrupted and needs to be changed or recalculated. The consensus or the p2p will come in the way of re-doing the blocks as everyone except the attacker will be at N+M. So unless everyone agrees there will be no way to change those blocks ie forced immutability. Though the part people have hard time getting their head that there is never a single blockchain in existence. At a given point there are multiple blockchains existing but only the block with "most work" or the most difficult to calculate hash is added to the main chain. That is why the "confirmations" are required for a payment. The older a block gets, the probability of it getting added to the chain is higher. In bitcoin depending on the site, some take 6 confirmations or 6 blocks before being sure that the coin cannot be double spent.
- vanflymen 9y agoYup, you got it. :)
- lifeisstillgood 9y agoAs I understand it, there are no bad actors post-ante. Either your transaction is accepted or not. If, for example, someone steals your private key and moves money from your wallet to theirs, it is, according to the block chain, their money, even if that's not true according to any jurisdiction on the planet. Which is kind of where I wonder how overrides can be put in place. How can one return that money? How does one force a bad actor to hand over the private key for the newly flush wallet ?
- bobwaycott 9y agoYeah, I’m not quite sure I perfectly grasp where wallets come in. It’s not covered in the article, since it’s focused on how the blockchain works at a pretty basic level. Protecting transactions is still a mystery, since it seems one could with the implementation shown, with access to the chain and all transactions, just craft a block that transfers everything to themselves.