proof of work - What stage of the bitcoin protocol deals (or 'solves') the double-spend problem?

proof of work – What stage of the bitcoin protocol deals (or ‘solves’) the double-spend problem?

 

There are multiple parts of the protocol that play together to concert a solution to the doublespend problem.

Transactions generally have first-party mutability: just like Mallory can promise the same $10-bill to both Alice and Bob, a sender of bitcoins can create multiple conflicting versions of a transaction.

Bitcoin is a distributed system with transmission delays: we cannot guarantee that every participant sees the same messages at the same time. It follows that we cannot prevent a sender from submitting conflicting transactions to different network participants. However, a monetary system’s purpose is to track ownership of funds—just like Mallory can promise both, but finally only hand the bill to either Alice or Bob, we want bitcoins to only be transferred to one recipient.

So, if we cannot prevent the network from having conflicting information, how do we converge every participant on a single shared truth?
We need a mechanism that produces a canonical order of the events in the network.

To that end, we hold a lottery. Each participant submits their recount of the events as block candidates. Eventually, we draw a winning lot. Naturally, we require that a block must be a valid continuation of our shared journal: transactions must be valid, and the block cannot contain any conflicting instructions. Invalid block candidates just get discarded, but a winning block is promptly announced to all: by randomly promoting a single author’s point-of-view to the shared truth, we break the tie.

Bitcoin’s proof-of-work mechanism takes the role of the lottery here. Every hashing attempt by miners is the submission of a lot. Since miners have real-world costs of hardware investments and power costs, they’re incentivized to build on each other’s blocks rather than paying to enter a separate lottery to write a diverging history. Over time, as more blocks are found, transactions get buried under a heap of proof-of-work and they become probabilistically immutable.

As the emerging blockchain is single-file and each block may not contain conflicting transactions, bitcoins can only be spent once.

So, who was responsible? Every node on the network enforces the rules, guaranteeing that blocks don’t create new money or spend it twice. The miners take the role of authoring block candidates, and they must not include double-spends lest they get rejected by the nodes. However, the proof-of-work mechanism regulates the frequency with which blocks are found and induces the economic incentives for collaboration and convergence.



Source link

Leave a Comment

Your email address will not be published.