The classic is that special computers race to solve a complex math problem. While this isn't technically correct according to many, is there a better way to explain it? Finding a needle in a hay stack? Curious what you all think.
pull down to refresh
76 sats \ 1 reply \ @WeAreAllSatoshi 14 May
I’ve used the math problem example many times. I usually get asked “but what is the problem for?” I think people have a hard time understanding that the goal is to provide a way to convert energy to Bitcoin at a (roughly) regulated rate.
reply
1 sat \ 0 replies \ @kepford OP 14 May
Indeed. Proof of work has multiple functions. Providing security as well as tying it to the physical world through the use of energy. Technical people seem to get it more easily.
reply
173 sats \ 2 replies \ @_stacktoshi 15 May
I always like to explain it in terms of security:
- We need a way to incentivize people to check that the most recent transactions (in the last 10 minutes or so) are valid, and a way to ensure that new blocks are allowed to be added to the database (blockchain). Just like you rely on a secure connection to your bank, and the banks rely on secure connections to each other so that funds can't be intercepted, this sequence of transactions needs a similar amount of security to guard against theft.
- These tasks need to be performed in such a way that can't be gamed by a centralized organization or a group of coordinated actors, because then they could write whatever sequence of transactions & blocks they wished and divert potentially all funds to themselves. We want to make it extremely costly to do that.
- So we need an algorithm or computer program that anybody in the whole can run that allows them to 1) organize the most recent transactions 2) factor in the solution from the previous block and 3) combine them in such a way that produces a solution to a new puzzle unique to those inputs. It's very difficult to solve this new puzzle, but it's easy to verify that it's correct. This asymmetry is the basis of modern cryptography and is what virtually guarantees the integrity of the transaction history.
- The people running this program need to produce a block roughly every ten minutes, so as computers get faster with technological advancements and the number of running this program increases, the algorithm needs to be periodically adjusted so that new blocks are added on that schedule.
reply
31 sats \ 1 reply \ @kepford OP 15 May
Very good.
And these people running computers are incentivized into doing this work to secure the network by being rewarded with bitcoin. The fact that they are willing to expend capital to run these machines is one way to tie this digital token to the physical world.
reply
0 sats \ 0 replies \ @_stacktoshi 15 May
Yeah, sorry, left out that key bit about what to incentivize them with. Was in a rush. lol
And tying to the physical world is how we know each block (each puzzle or set of transactions) is mined (solved or validated) using real work, a fact that many imitators can't claim or at least nowhere near the extent of the Bitcoin network.
Finding the right combinations of words for the right audience is tricky though. I need to dust off my copy of the Bitcoin Standard and make sure I'm phrasing these concepts correctly for a broad audience.
reply
87 sats \ 2 replies \ @itsMoro 14 May freebie
solving a randomly generated, big ass rubik cube. the miners are solving it, each on their own, turning sections and getting it to the right position. and once completed, the miner yells 'done!' and shows the nodes. its frivolous for nodes to confirm it was solved correctly as its obvious that all sides are the right color. then, onto the next cube
reply
21 sats \ 1 reply \ @030a29f333 15 May
That's pretty good
reply
21 sats \ 0 replies \ @030a29f333 15 May
Actually I like this a lot
reply
55 sats \ 2 replies \ @0xbitcoiner 14 May
I've also used that explanation before, but I've found a new one that's more technically accurate and easier to understand. Computers compete with each other to find a unique identifier, which must have a variable number of leading zeros.
reply
55 sats \ 1 reply \ @398ja 14 May
Although correct, I think it's still too abstract, and more contextual information will be needed for a non-tech person to truly understand. For example, what purpose does it serve? Why is it important? etc.
reply
21 sats \ 0 replies \ @kepford OP 14 May freebie
The WHY is a different question but you are correct. I think the why is easier to explain actually. We often skip the why and I think that's why people have a hard time with bitcoin itself.
reply
55 sats \ 0 replies \ @TNStacker 14 May
reply
10 sats \ 0 replies \ @netstatic 15 May freebie
Proof of work is like starting a live stream, writing some viewer comments on a basketball, and trying to make full-court shots backwards. You keep trying until the ball gets in and once you make it, you number the ball and repeat the process with a new ball. Let's say everyone who got their comment on a ball sends some money to an escrow you can only spend after 100 balls are made after it.
Now if someone else comes into the stream while you're trying to get ball 64 in and does the same process of writing the comments and shooting backwards, then they can start stealing escrowed funds. For example, if they started from ball 63 and got ball 64 in, they would be entitled to the escrows for both balls (63 and 64). In that case the original person could focus on ball 65 and get a new escrow, or he can try his luck at overtaking the second person from ball 63 again.
In this example the balls are blocks, the comments are transactions, the miners are players, and the escrow is the combined fees and subsidy. Shooting balls is the equivalent of mining with sha256 and the winning block hash (with preimage) is like the video of the ball going in (the thing produced that shows you did the work).
I didn't add a difficulty adjustment in my analogy, but let's say when the commenters see too many balls get in the hoop too quickly, the commenters stop giving money until the basket is moved even farther from the players.
reply
21 sats \ 0 replies \ @BlueSlime 15 May
IMO The best mental model for conveying proof of work to a layman is to explain it as a lottery game, where you have to guess a magic number to win.
The magic number is very large, completely random, and unknowable beforehand. The only viable strategy is to guess randomly until you get it.
That is an easy enough game for anyone understand, though it sounds like the most boring game on earth.
However, one upside is that you can guess as much as you want, as quickly as you can handle. So it makes better sense to play this game using a computer, where essentially the most computation wins.
It is also the simplest and fastest provably fair lottery system that you can play amongst computers. There are no ways to cheat and no central authority conducting the lottery. It's just a game of math and computation that a network of computers can play.
So while this lottery may be the most boring game on earth to humans, it can provide great utility for computer networks, and it happens to scale incredibly well.
The greatest example of course (in hindsight) is to run a peer-to-peer decentralized banking system, where computers can compete in the lottery to make updates to the central ledger, in a way that's provably fair across the network.
But another good example is spam prevention, where the lottery is kept fairly easy to play for a single round, but scales very poorly for multiple rounds (i.e a spam attack). Proof-of-work was invented originally for this use-case.
I hope this helps.
reply
0 sats \ 0 replies \ @oomahq 15 May
Hands down a Rubik cube metaphore.
reply
0 sats \ 0 replies \ @Satosora 15 May
Does anyone remember peercoin?
reply
0 sats \ 0 replies \ @Coinsreporter 15 May
I say it's more like becoming a partner in the Bitcoin Revolution while maintaining the security and ethics for Bitcoin.
reply