| > Especially if you consider that the process of "mining" is literally computing hashes over and over again until you find the right nonce that meets some arbitrary criteria, it's hard to see this process as anything except wasting massive amounts of energy. I think this wording obscures why the mining process gives the network trustworthiness. You are changing the nonce over and over again until the HASH of the block meets some criteria. For example, your hash is below some value (it starts with a certain number of zeroes). This is important. It's important because you can't 'fake' the work. The only physically possible way to come up with a block that has a conforming hash is to change the nonce and run the hashing algorithm and repeat this until your hash matches the criteria. There's no way I can know the nonce I need to use without running the hashing algorithm. Hence, if I present a block that hashes to a conforming value (you don't just take my word for it, you run the hashing algorithm on the block yourself to independently verify the work), you know that I've invested time and electricity (tangible, real-world things) in the creation of that conforming block. Alone this doesn't seem like much, but the time and energy limitations it imposes gives a blockchain properties that make data more 'immutable' the longer it is stored in the chain by making it computationally more expensive to change data further back in time from the most recent block in the chain and makes it computationally expensive for a single bad actor to change past data that nodes in the network have 'agreed' upon. This computational expense is important when combined with the other rules that a node uses when receiving a new block and trying to independently determine that the block is valid and should be treated by that node as 'truth'. The trustworthiness of the blockchain is an emergent network effect. It's not provided or enabled by one single thing, but by many things all contributing at the same time. Proof-of-work is just one small piece of a much larger system. For example, you also need to consider what other rules make proof-of-work useful in the system, such as the rule that a node must accept a chain with more work in it as more truthful than one with less work (hopefully I'm wording that somewhat right!). Saying 'the miners provide security by hashing' is a massive oversimplification of what's going on. It's very much a sum-of-all-the-parts thing. I found this helpful in particularly driving this process as a whole home:
https://anders.com/blockchain/ I'm still really getting my head around blockchain itself, so if I'm way off base on anything in my understanding here I'm happy to be corrected :) As I understand it, the challenging question is - is there something else we can use that's as independently verifiable as proof-of-work that's more energy efficient? What independent verification do we give up if we do choose something that's less energy consuming (but maybe less 'provable')? |
Yes I am aware of this, I simplified a bit so the sentence would read less awkwardly.