Why is proof-of-work required in Bitcoin?Why do we need Proof of Work in bitcoin?Why do we need Proof of Work in bitcoin?Why can't timestamps be a substitute for blockchain?Hashcash proof of work bitcoin sha256group proof of workCan a Blockchain be Built Like This?Why have proof of work?The “work” in proof of workWhy are blocks in a permissioned blockchain linked together?Proof of Work: email versus bitcoinWhy do we need to chain the blocks (creating blockchain) in a permissioned blockchain?
Filling a listlineplot with a texture
Are the players on the same team as the DM?
Higman's lemma and a manuscript of Erdős and Rado
Duplicate instruments in unison in an orchestra
Round towards zero
What to look for in a spotting scope?
Changing JPEG to RAW to use on Lightroom?
How many lines of code does the original TeX contain?
Could this kind of inaccurate sacrifice be countered?
Anyone else seeing white rings in the Undead parish?
What happened to the HDEV ISS Experiment? Is it over?
What is a natural problem in theory of computation?
Are game port joystick buttons ever more than plain switches? Is this one just faulty?
Joining lists with same elements
Very slow boot time and poor perfomance
Why do banks “park” their money at the European Central Bank?
Where does learning new skills fit into Agile?
Why did Khan ask Admiral James T. Kirk about Project Genesis?
How to check whether a sublist exist in a huge database lists in a fast way?
Cooking Scrambled Eggs
Macro inserted via everypar in obeylines context doesn't see some commands
"Opusculum hoc, quamdiu vixero, doctioribus emendandum offero."?
When calculating a force, why do I get different result when I try to calculate via torque vs via sum of forces at an axis?
Why doesn't 'd /= d' throw a division by zero exception?
Why is proof-of-work required in Bitcoin?
Why do we need Proof of Work in bitcoin?Why do we need Proof of Work in bitcoin?Why can't timestamps be a substitute for blockchain?Hashcash proof of work bitcoin sha256group proof of workCan a Blockchain be Built Like This?Why have proof of work?The “work” in proof of workWhy are blocks in a permissioned blockchain linked together?Proof of Work: email versus bitcoinWhy do we need to chain the blocks (creating blockchain) in a permissioned blockchain?
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
It seems that the rationale behind the proof-of-work requirement in Bitcoin is that it creates trust in a decentralized trustless network by:
helping to reach consensus on which version of the blockchain is the correct one in case that there are multiple temporary competing forks.
making the accepted blockchain computationally immutable (irreversible).
Question: Why is proof-of-work required for creating trust?
If most users are honest, then they would voluntarily enforce the prohibition to rewrite the blockchain.
If most users are dishonest, they can still rewrite the blockchain, even with the proof-of-work requirement, not just by outperforming the honest miners, but even simply by creating a consensus to accept a new fork of the main blockchain as the correct version of the blockchain.
proof-of-work decentralization trust
New contributor
add a comment |
It seems that the rationale behind the proof-of-work requirement in Bitcoin is that it creates trust in a decentralized trustless network by:
helping to reach consensus on which version of the blockchain is the correct one in case that there are multiple temporary competing forks.
making the accepted blockchain computationally immutable (irreversible).
Question: Why is proof-of-work required for creating trust?
If most users are honest, then they would voluntarily enforce the prohibition to rewrite the blockchain.
If most users are dishonest, they can still rewrite the blockchain, even with the proof-of-work requirement, not just by outperforming the honest miners, but even simply by creating a consensus to accept a new fork of the main blockchain as the correct version of the blockchain.
proof-of-work decentralization trust
New contributor
Possible duplicate of Why do we need Proof of Work in bitcoin?
– RedGrittyBrick
7 hours ago
1. The question does not explicitly point to the contradiction in the conventional justification for proof-of-work. 2. The answers given are not logically rigorous.
– rapt
7 hours ago
add a comment |
It seems that the rationale behind the proof-of-work requirement in Bitcoin is that it creates trust in a decentralized trustless network by:
helping to reach consensus on which version of the blockchain is the correct one in case that there are multiple temporary competing forks.
making the accepted blockchain computationally immutable (irreversible).
Question: Why is proof-of-work required for creating trust?
If most users are honest, then they would voluntarily enforce the prohibition to rewrite the blockchain.
If most users are dishonest, they can still rewrite the blockchain, even with the proof-of-work requirement, not just by outperforming the honest miners, but even simply by creating a consensus to accept a new fork of the main blockchain as the correct version of the blockchain.
proof-of-work decentralization trust
New contributor
It seems that the rationale behind the proof-of-work requirement in Bitcoin is that it creates trust in a decentralized trustless network by:
helping to reach consensus on which version of the blockchain is the correct one in case that there are multiple temporary competing forks.
making the accepted blockchain computationally immutable (irreversible).
Question: Why is proof-of-work required for creating trust?
If most users are honest, then they would voluntarily enforce the prohibition to rewrite the blockchain.
If most users are dishonest, they can still rewrite the blockchain, even with the proof-of-work requirement, not just by outperforming the honest miners, but even simply by creating a consensus to accept a new fork of the main blockchain as the correct version of the blockchain.
proof-of-work decentralization trust
proof-of-work decentralization trust
New contributor
New contributor
edited 8 hours ago
rapt
New contributor
asked 8 hours ago
raptrapt
1063 bronze badges
1063 bronze badges
New contributor
New contributor
Possible duplicate of Why do we need Proof of Work in bitcoin?
– RedGrittyBrick
7 hours ago
1. The question does not explicitly point to the contradiction in the conventional justification for proof-of-work. 2. The answers given are not logically rigorous.
– rapt
7 hours ago
add a comment |
Possible duplicate of Why do we need Proof of Work in bitcoin?
– RedGrittyBrick
7 hours ago
1. The question does not explicitly point to the contradiction in the conventional justification for proof-of-work. 2. The answers given are not logically rigorous.
– rapt
7 hours ago
Possible duplicate of Why do we need Proof of Work in bitcoin?
– RedGrittyBrick
7 hours ago
Possible duplicate of Why do we need Proof of Work in bitcoin?
– RedGrittyBrick
7 hours ago
1. The question does not explicitly point to the contradiction in the conventional justification for proof-of-work. 2. The answers given are not logically rigorous.
– rapt
7 hours ago
1. The question does not explicitly point to the contradiction in the conventional justification for proof-of-work. 2. The answers given are not logically rigorous.
– rapt
7 hours ago
add a comment |
3 Answers
3
active
oldest
votes
Proof of work does not create trust. It creates incentive.
Miners are paid if their block is eventually part of the main version of history ("blockchain") that the network accepts. They must irrecoverably burn electricity in order to create blocks, which costs them money; money they only get paid for if their block "wins".
These factors together mean that miners have a strong incentive to cooperate with other miners, instead of having each try to construct their own version of history, because ultimately only one version will be accepted (ignoring things like intentional forks in the network).
Proof of work is also used for a much more logistical, but equally important purpose: denial of service protection. Because the minimum difficulty for a block scales with the network's hashrate, it is enormously expensive for someone to produce more blocks than (on average) 1 per 10 minutes. Without an objective measure of work like PoW (or central trusted set of parties) anyone could spam the network with an unboundedly large amount of blocks to validate.
To sum up what you said, PoW creates incentive to collectively create one, irreversible version of history. What was the rationale behind this design? Was it simply some arbitrary decision of the system creator? Or was it considered a way to create trust in a decentralized trustless network? My question still stands then... as for your spam objection, in the current system miners who claim to complete work do submit their proposed block and its PoW for the network to validate. I don't know if spam is actually a problem, but it's easy to mitigate, and PoW is not what helps to deal with it.
– rapt
4 hours ago
1
It's not arbitrary. The rationale was creating a decentralized consensus system that instead of trusted parties relies on economic incentives. As far as I know, it's the only known solution to that problem. As far as DoS protection goes, I think you underestimate how hard that is without trusted parties. Without a rate limit on block creation, it would be trivial for anyone to bring the network in a state where it does not converge, because blocks are created faster than it takes time for them to propagate between miners.
– Pieter Wuille
4 hours ago
add a comment |
If most users are honest, then they would voluntarily enforce the prohibition to rewrite the blockchain.
Without proof of work, this is just not possible. There would be no limit to the number of blocks that could be created at about the same time, there could be thousands of them created every minute. Different servers might receive them in different orders. And a server that was down for a day would have no way to know what to accept.
You need some way to agree on which of two or more equally good ways the system can make forward progress will be agreed upon. Proof of work is not the only way to do this, but you need some way.
In addition, there would be no way to do the initial distribution of the bitcoins as they're created.
It's not completely clear what your objections are in the 1st paragraph. The current system already allows every miner to construct their own valid block. PoW is one way to pick one out of them (actually, a few, since work for several blocks may be completed at about the same time). But there are other ways to pick one. For example, a public lottery. And if you say that the winner may not be broadcast soon enough to all miners — it's even worse with the winner(s) chosen by PoW (which is why there may be several blocks considered winners for a while by the network in the PoW method).
– rapt
5 hours ago
@rapt PoW is a public lottery. For any other kind of lottery, who would decide who gets a ticket? Present a detailed alternate proposal because you're hand-waving around all the reasons the implementation won't actually work. Who would choose the winner and how?
– David Schwartz
4 hours ago
Off the top of my head, let every miner submit their proposed block to the network within a certain time interval, and use an open-source deterministic algorithm to pick a winner.
– rapt
4 hours ago
1
@rapt That assumes every node agrees on the same set of proposed blocks within that timeframe. To accomplish that... you need a consensus algorithm.
– Pieter Wuille
3 hours ago
@rapt That can't work. How do I know that I saw the same set of proposed blocks that you did? How do I know that you and I agree on which blocks were received before the end of the time interval? What keeps an attacker from submitting more blocks than any of us can look through in the time interval? Present a detailed alternate proposal and you'll find you always come back to the same problem -- you need something scarce and what is that going to be? With PoW, it's hashing power. It has to be something or work is unbounded.
– David Schwartz
39 mins ago
add a comment |
Proof of work is not required, there are other algorithms such as proof of stake that are still decentralized (though I don't know how it works even though Ethereum wants to use proof of stake mining). The proof of work gives a block a difficulty, saying "there must be at least X zeroes in a block." (X does not have to be an integer, if it did, difficulty could only be adjusted on orders of two, four, or sixteen; right now it is a little above 16.8) This adding zeroes controls the number of problems that can be solved, and is usually on the order of hundreds or (lower) tens of hundreds per day. When there are more miners, the network responds relatively soon by raising difficulty (in less than 2 weeks), and when there are less, it also responds by doing the opposite (in possibly more than 2 weeks). The proof of work is like a lottery, and who solves the problem is randomly selected and is then awarded the prize through the coinbase. Proof of work is basically a verification mechanism that looks at the zeroes in a hash (work) and forces a certain number (minimum) to be zero.
1
May be a valid answer to the question "How proof-of-work is implemented in Bitcoin?".
– rapt
7 hours ago
True, I tried to answer both but I tended towards what you said.
– Number File
6 hours ago
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "308"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
rapt is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fbitcoin.stackexchange.com%2fquestions%2f89972%2fwhy-is-proof-of-work-required-in-bitcoin%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
Proof of work does not create trust. It creates incentive.
Miners are paid if their block is eventually part of the main version of history ("blockchain") that the network accepts. They must irrecoverably burn electricity in order to create blocks, which costs them money; money they only get paid for if their block "wins".
These factors together mean that miners have a strong incentive to cooperate with other miners, instead of having each try to construct their own version of history, because ultimately only one version will be accepted (ignoring things like intentional forks in the network).
Proof of work is also used for a much more logistical, but equally important purpose: denial of service protection. Because the minimum difficulty for a block scales with the network's hashrate, it is enormously expensive for someone to produce more blocks than (on average) 1 per 10 minutes. Without an objective measure of work like PoW (or central trusted set of parties) anyone could spam the network with an unboundedly large amount of blocks to validate.
To sum up what you said, PoW creates incentive to collectively create one, irreversible version of history. What was the rationale behind this design? Was it simply some arbitrary decision of the system creator? Or was it considered a way to create trust in a decentralized trustless network? My question still stands then... as for your spam objection, in the current system miners who claim to complete work do submit their proposed block and its PoW for the network to validate. I don't know if spam is actually a problem, but it's easy to mitigate, and PoW is not what helps to deal with it.
– rapt
4 hours ago
1
It's not arbitrary. The rationale was creating a decentralized consensus system that instead of trusted parties relies on economic incentives. As far as I know, it's the only known solution to that problem. As far as DoS protection goes, I think you underestimate how hard that is without trusted parties. Without a rate limit on block creation, it would be trivial for anyone to bring the network in a state where it does not converge, because blocks are created faster than it takes time for them to propagate between miners.
– Pieter Wuille
4 hours ago
add a comment |
Proof of work does not create trust. It creates incentive.
Miners are paid if their block is eventually part of the main version of history ("blockchain") that the network accepts. They must irrecoverably burn electricity in order to create blocks, which costs them money; money they only get paid for if their block "wins".
These factors together mean that miners have a strong incentive to cooperate with other miners, instead of having each try to construct their own version of history, because ultimately only one version will be accepted (ignoring things like intentional forks in the network).
Proof of work is also used for a much more logistical, but equally important purpose: denial of service protection. Because the minimum difficulty for a block scales with the network's hashrate, it is enormously expensive for someone to produce more blocks than (on average) 1 per 10 minutes. Without an objective measure of work like PoW (or central trusted set of parties) anyone could spam the network with an unboundedly large amount of blocks to validate.
To sum up what you said, PoW creates incentive to collectively create one, irreversible version of history. What was the rationale behind this design? Was it simply some arbitrary decision of the system creator? Or was it considered a way to create trust in a decentralized trustless network? My question still stands then... as for your spam objection, in the current system miners who claim to complete work do submit their proposed block and its PoW for the network to validate. I don't know if spam is actually a problem, but it's easy to mitigate, and PoW is not what helps to deal with it.
– rapt
4 hours ago
1
It's not arbitrary. The rationale was creating a decentralized consensus system that instead of trusted parties relies on economic incentives. As far as I know, it's the only known solution to that problem. As far as DoS protection goes, I think you underestimate how hard that is without trusted parties. Without a rate limit on block creation, it would be trivial for anyone to bring the network in a state where it does not converge, because blocks are created faster than it takes time for them to propagate between miners.
– Pieter Wuille
4 hours ago
add a comment |
Proof of work does not create trust. It creates incentive.
Miners are paid if their block is eventually part of the main version of history ("blockchain") that the network accepts. They must irrecoverably burn electricity in order to create blocks, which costs them money; money they only get paid for if their block "wins".
These factors together mean that miners have a strong incentive to cooperate with other miners, instead of having each try to construct their own version of history, because ultimately only one version will be accepted (ignoring things like intentional forks in the network).
Proof of work is also used for a much more logistical, but equally important purpose: denial of service protection. Because the minimum difficulty for a block scales with the network's hashrate, it is enormously expensive for someone to produce more blocks than (on average) 1 per 10 minutes. Without an objective measure of work like PoW (or central trusted set of parties) anyone could spam the network with an unboundedly large amount of blocks to validate.
Proof of work does not create trust. It creates incentive.
Miners are paid if their block is eventually part of the main version of history ("blockchain") that the network accepts. They must irrecoverably burn electricity in order to create blocks, which costs them money; money they only get paid for if their block "wins".
These factors together mean that miners have a strong incentive to cooperate with other miners, instead of having each try to construct their own version of history, because ultimately only one version will be accepted (ignoring things like intentional forks in the network).
Proof of work is also used for a much more logistical, but equally important purpose: denial of service protection. Because the minimum difficulty for a block scales with the network's hashrate, it is enormously expensive for someone to produce more blocks than (on average) 1 per 10 minutes. Without an objective measure of work like PoW (or central trusted set of parties) anyone could spam the network with an unboundedly large amount of blocks to validate.
answered 6 hours ago
Pieter WuillePieter Wuille
51.2k4 gold badges105 silver badges176 bronze badges
51.2k4 gold badges105 silver badges176 bronze badges
To sum up what you said, PoW creates incentive to collectively create one, irreversible version of history. What was the rationale behind this design? Was it simply some arbitrary decision of the system creator? Or was it considered a way to create trust in a decentralized trustless network? My question still stands then... as for your spam objection, in the current system miners who claim to complete work do submit their proposed block and its PoW for the network to validate. I don't know if spam is actually a problem, but it's easy to mitigate, and PoW is not what helps to deal with it.
– rapt
4 hours ago
1
It's not arbitrary. The rationale was creating a decentralized consensus system that instead of trusted parties relies on economic incentives. As far as I know, it's the only known solution to that problem. As far as DoS protection goes, I think you underestimate how hard that is without trusted parties. Without a rate limit on block creation, it would be trivial for anyone to bring the network in a state where it does not converge, because blocks are created faster than it takes time for them to propagate between miners.
– Pieter Wuille
4 hours ago
add a comment |
To sum up what you said, PoW creates incentive to collectively create one, irreversible version of history. What was the rationale behind this design? Was it simply some arbitrary decision of the system creator? Or was it considered a way to create trust in a decentralized trustless network? My question still stands then... as for your spam objection, in the current system miners who claim to complete work do submit their proposed block and its PoW for the network to validate. I don't know if spam is actually a problem, but it's easy to mitigate, and PoW is not what helps to deal with it.
– rapt
4 hours ago
1
It's not arbitrary. The rationale was creating a decentralized consensus system that instead of trusted parties relies on economic incentives. As far as I know, it's the only known solution to that problem. As far as DoS protection goes, I think you underestimate how hard that is without trusted parties. Without a rate limit on block creation, it would be trivial for anyone to bring the network in a state where it does not converge, because blocks are created faster than it takes time for them to propagate between miners.
– Pieter Wuille
4 hours ago
To sum up what you said, PoW creates incentive to collectively create one, irreversible version of history. What was the rationale behind this design? Was it simply some arbitrary decision of the system creator? Or was it considered a way to create trust in a decentralized trustless network? My question still stands then... as for your spam objection, in the current system miners who claim to complete work do submit their proposed block and its PoW for the network to validate. I don't know if spam is actually a problem, but it's easy to mitigate, and PoW is not what helps to deal with it.
– rapt
4 hours ago
To sum up what you said, PoW creates incentive to collectively create one, irreversible version of history. What was the rationale behind this design? Was it simply some arbitrary decision of the system creator? Or was it considered a way to create trust in a decentralized trustless network? My question still stands then... as for your spam objection, in the current system miners who claim to complete work do submit their proposed block and its PoW for the network to validate. I don't know if spam is actually a problem, but it's easy to mitigate, and PoW is not what helps to deal with it.
– rapt
4 hours ago
1
1
It's not arbitrary. The rationale was creating a decentralized consensus system that instead of trusted parties relies on economic incentives. As far as I know, it's the only known solution to that problem. As far as DoS protection goes, I think you underestimate how hard that is without trusted parties. Without a rate limit on block creation, it would be trivial for anyone to bring the network in a state where it does not converge, because blocks are created faster than it takes time for them to propagate between miners.
– Pieter Wuille
4 hours ago
It's not arbitrary. The rationale was creating a decentralized consensus system that instead of trusted parties relies on economic incentives. As far as I know, it's the only known solution to that problem. As far as DoS protection goes, I think you underestimate how hard that is without trusted parties. Without a rate limit on block creation, it would be trivial for anyone to bring the network in a state where it does not converge, because blocks are created faster than it takes time for them to propagate between miners.
– Pieter Wuille
4 hours ago
add a comment |
If most users are honest, then they would voluntarily enforce the prohibition to rewrite the blockchain.
Without proof of work, this is just not possible. There would be no limit to the number of blocks that could be created at about the same time, there could be thousands of them created every minute. Different servers might receive them in different orders. And a server that was down for a day would have no way to know what to accept.
You need some way to agree on which of two or more equally good ways the system can make forward progress will be agreed upon. Proof of work is not the only way to do this, but you need some way.
In addition, there would be no way to do the initial distribution of the bitcoins as they're created.
It's not completely clear what your objections are in the 1st paragraph. The current system already allows every miner to construct their own valid block. PoW is one way to pick one out of them (actually, a few, since work for several blocks may be completed at about the same time). But there are other ways to pick one. For example, a public lottery. And if you say that the winner may not be broadcast soon enough to all miners — it's even worse with the winner(s) chosen by PoW (which is why there may be several blocks considered winners for a while by the network in the PoW method).
– rapt
5 hours ago
@rapt PoW is a public lottery. For any other kind of lottery, who would decide who gets a ticket? Present a detailed alternate proposal because you're hand-waving around all the reasons the implementation won't actually work. Who would choose the winner and how?
– David Schwartz
4 hours ago
Off the top of my head, let every miner submit their proposed block to the network within a certain time interval, and use an open-source deterministic algorithm to pick a winner.
– rapt
4 hours ago
1
@rapt That assumes every node agrees on the same set of proposed blocks within that timeframe. To accomplish that... you need a consensus algorithm.
– Pieter Wuille
3 hours ago
@rapt That can't work. How do I know that I saw the same set of proposed blocks that you did? How do I know that you and I agree on which blocks were received before the end of the time interval? What keeps an attacker from submitting more blocks than any of us can look through in the time interval? Present a detailed alternate proposal and you'll find you always come back to the same problem -- you need something scarce and what is that going to be? With PoW, it's hashing power. It has to be something or work is unbounded.
– David Schwartz
39 mins ago
add a comment |
If most users are honest, then they would voluntarily enforce the prohibition to rewrite the blockchain.
Without proof of work, this is just not possible. There would be no limit to the number of blocks that could be created at about the same time, there could be thousands of them created every minute. Different servers might receive them in different orders. And a server that was down for a day would have no way to know what to accept.
You need some way to agree on which of two or more equally good ways the system can make forward progress will be agreed upon. Proof of work is not the only way to do this, but you need some way.
In addition, there would be no way to do the initial distribution of the bitcoins as they're created.
It's not completely clear what your objections are in the 1st paragraph. The current system already allows every miner to construct their own valid block. PoW is one way to pick one out of them (actually, a few, since work for several blocks may be completed at about the same time). But there are other ways to pick one. For example, a public lottery. And if you say that the winner may not be broadcast soon enough to all miners — it's even worse with the winner(s) chosen by PoW (which is why there may be several blocks considered winners for a while by the network in the PoW method).
– rapt
5 hours ago
@rapt PoW is a public lottery. For any other kind of lottery, who would decide who gets a ticket? Present a detailed alternate proposal because you're hand-waving around all the reasons the implementation won't actually work. Who would choose the winner and how?
– David Schwartz
4 hours ago
Off the top of my head, let every miner submit their proposed block to the network within a certain time interval, and use an open-source deterministic algorithm to pick a winner.
– rapt
4 hours ago
1
@rapt That assumes every node agrees on the same set of proposed blocks within that timeframe. To accomplish that... you need a consensus algorithm.
– Pieter Wuille
3 hours ago
@rapt That can't work. How do I know that I saw the same set of proposed blocks that you did? How do I know that you and I agree on which blocks were received before the end of the time interval? What keeps an attacker from submitting more blocks than any of us can look through in the time interval? Present a detailed alternate proposal and you'll find you always come back to the same problem -- you need something scarce and what is that going to be? With PoW, it's hashing power. It has to be something or work is unbounded.
– David Schwartz
39 mins ago
add a comment |
If most users are honest, then they would voluntarily enforce the prohibition to rewrite the blockchain.
Without proof of work, this is just not possible. There would be no limit to the number of blocks that could be created at about the same time, there could be thousands of them created every minute. Different servers might receive them in different orders. And a server that was down for a day would have no way to know what to accept.
You need some way to agree on which of two or more equally good ways the system can make forward progress will be agreed upon. Proof of work is not the only way to do this, but you need some way.
In addition, there would be no way to do the initial distribution of the bitcoins as they're created.
If most users are honest, then they would voluntarily enforce the prohibition to rewrite the blockchain.
Without proof of work, this is just not possible. There would be no limit to the number of blocks that could be created at about the same time, there could be thousands of them created every minute. Different servers might receive them in different orders. And a server that was down for a day would have no way to know what to accept.
You need some way to agree on which of two or more equally good ways the system can make forward progress will be agreed upon. Proof of work is not the only way to do this, but you need some way.
In addition, there would be no way to do the initial distribution of the bitcoins as they're created.
answered 6 hours ago
David SchwartzDavid Schwartz
46.2k5 gold badges96 silver badges165 bronze badges
46.2k5 gold badges96 silver badges165 bronze badges
It's not completely clear what your objections are in the 1st paragraph. The current system already allows every miner to construct their own valid block. PoW is one way to pick one out of them (actually, a few, since work for several blocks may be completed at about the same time). But there are other ways to pick one. For example, a public lottery. And if you say that the winner may not be broadcast soon enough to all miners — it's even worse with the winner(s) chosen by PoW (which is why there may be several blocks considered winners for a while by the network in the PoW method).
– rapt
5 hours ago
@rapt PoW is a public lottery. For any other kind of lottery, who would decide who gets a ticket? Present a detailed alternate proposal because you're hand-waving around all the reasons the implementation won't actually work. Who would choose the winner and how?
– David Schwartz
4 hours ago
Off the top of my head, let every miner submit their proposed block to the network within a certain time interval, and use an open-source deterministic algorithm to pick a winner.
– rapt
4 hours ago
1
@rapt That assumes every node agrees on the same set of proposed blocks within that timeframe. To accomplish that... you need a consensus algorithm.
– Pieter Wuille
3 hours ago
@rapt That can't work. How do I know that I saw the same set of proposed blocks that you did? How do I know that you and I agree on which blocks were received before the end of the time interval? What keeps an attacker from submitting more blocks than any of us can look through in the time interval? Present a detailed alternate proposal and you'll find you always come back to the same problem -- you need something scarce and what is that going to be? With PoW, it's hashing power. It has to be something or work is unbounded.
– David Schwartz
39 mins ago
add a comment |
It's not completely clear what your objections are in the 1st paragraph. The current system already allows every miner to construct their own valid block. PoW is one way to pick one out of them (actually, a few, since work for several blocks may be completed at about the same time). But there are other ways to pick one. For example, a public lottery. And if you say that the winner may not be broadcast soon enough to all miners — it's even worse with the winner(s) chosen by PoW (which is why there may be several blocks considered winners for a while by the network in the PoW method).
– rapt
5 hours ago
@rapt PoW is a public lottery. For any other kind of lottery, who would decide who gets a ticket? Present a detailed alternate proposal because you're hand-waving around all the reasons the implementation won't actually work. Who would choose the winner and how?
– David Schwartz
4 hours ago
Off the top of my head, let every miner submit their proposed block to the network within a certain time interval, and use an open-source deterministic algorithm to pick a winner.
– rapt
4 hours ago
1
@rapt That assumes every node agrees on the same set of proposed blocks within that timeframe. To accomplish that... you need a consensus algorithm.
– Pieter Wuille
3 hours ago
@rapt That can't work. How do I know that I saw the same set of proposed blocks that you did? How do I know that you and I agree on which blocks were received before the end of the time interval? What keeps an attacker from submitting more blocks than any of us can look through in the time interval? Present a detailed alternate proposal and you'll find you always come back to the same problem -- you need something scarce and what is that going to be? With PoW, it's hashing power. It has to be something or work is unbounded.
– David Schwartz
39 mins ago
It's not completely clear what your objections are in the 1st paragraph. The current system already allows every miner to construct their own valid block. PoW is one way to pick one out of them (actually, a few, since work for several blocks may be completed at about the same time). But there are other ways to pick one. For example, a public lottery. And if you say that the winner may not be broadcast soon enough to all miners — it's even worse with the winner(s) chosen by PoW (which is why there may be several blocks considered winners for a while by the network in the PoW method).
– rapt
5 hours ago
It's not completely clear what your objections are in the 1st paragraph. The current system already allows every miner to construct their own valid block. PoW is one way to pick one out of them (actually, a few, since work for several blocks may be completed at about the same time). But there are other ways to pick one. For example, a public lottery. And if you say that the winner may not be broadcast soon enough to all miners — it's even worse with the winner(s) chosen by PoW (which is why there may be several blocks considered winners for a while by the network in the PoW method).
– rapt
5 hours ago
@rapt PoW is a public lottery. For any other kind of lottery, who would decide who gets a ticket? Present a detailed alternate proposal because you're hand-waving around all the reasons the implementation won't actually work. Who would choose the winner and how?
– David Schwartz
4 hours ago
@rapt PoW is a public lottery. For any other kind of lottery, who would decide who gets a ticket? Present a detailed alternate proposal because you're hand-waving around all the reasons the implementation won't actually work. Who would choose the winner and how?
– David Schwartz
4 hours ago
Off the top of my head, let every miner submit their proposed block to the network within a certain time interval, and use an open-source deterministic algorithm to pick a winner.
– rapt
4 hours ago
Off the top of my head, let every miner submit their proposed block to the network within a certain time interval, and use an open-source deterministic algorithm to pick a winner.
– rapt
4 hours ago
1
1
@rapt That assumes every node agrees on the same set of proposed blocks within that timeframe. To accomplish that... you need a consensus algorithm.
– Pieter Wuille
3 hours ago
@rapt That assumes every node agrees on the same set of proposed blocks within that timeframe. To accomplish that... you need a consensus algorithm.
– Pieter Wuille
3 hours ago
@rapt That can't work. How do I know that I saw the same set of proposed blocks that you did? How do I know that you and I agree on which blocks were received before the end of the time interval? What keeps an attacker from submitting more blocks than any of us can look through in the time interval? Present a detailed alternate proposal and you'll find you always come back to the same problem -- you need something scarce and what is that going to be? With PoW, it's hashing power. It has to be something or work is unbounded.
– David Schwartz
39 mins ago
@rapt That can't work. How do I know that I saw the same set of proposed blocks that you did? How do I know that you and I agree on which blocks were received before the end of the time interval? What keeps an attacker from submitting more blocks than any of us can look through in the time interval? Present a detailed alternate proposal and you'll find you always come back to the same problem -- you need something scarce and what is that going to be? With PoW, it's hashing power. It has to be something or work is unbounded.
– David Schwartz
39 mins ago
add a comment |
Proof of work is not required, there are other algorithms such as proof of stake that are still decentralized (though I don't know how it works even though Ethereum wants to use proof of stake mining). The proof of work gives a block a difficulty, saying "there must be at least X zeroes in a block." (X does not have to be an integer, if it did, difficulty could only be adjusted on orders of two, four, or sixteen; right now it is a little above 16.8) This adding zeroes controls the number of problems that can be solved, and is usually on the order of hundreds or (lower) tens of hundreds per day. When there are more miners, the network responds relatively soon by raising difficulty (in less than 2 weeks), and when there are less, it also responds by doing the opposite (in possibly more than 2 weeks). The proof of work is like a lottery, and who solves the problem is randomly selected and is then awarded the prize through the coinbase. Proof of work is basically a verification mechanism that looks at the zeroes in a hash (work) and forces a certain number (minimum) to be zero.
1
May be a valid answer to the question "How proof-of-work is implemented in Bitcoin?".
– rapt
7 hours ago
True, I tried to answer both but I tended towards what you said.
– Number File
6 hours ago
add a comment |
Proof of work is not required, there are other algorithms such as proof of stake that are still decentralized (though I don't know how it works even though Ethereum wants to use proof of stake mining). The proof of work gives a block a difficulty, saying "there must be at least X zeroes in a block." (X does not have to be an integer, if it did, difficulty could only be adjusted on orders of two, four, or sixteen; right now it is a little above 16.8) This adding zeroes controls the number of problems that can be solved, and is usually on the order of hundreds or (lower) tens of hundreds per day. When there are more miners, the network responds relatively soon by raising difficulty (in less than 2 weeks), and when there are less, it also responds by doing the opposite (in possibly more than 2 weeks). The proof of work is like a lottery, and who solves the problem is randomly selected and is then awarded the prize through the coinbase. Proof of work is basically a verification mechanism that looks at the zeroes in a hash (work) and forces a certain number (minimum) to be zero.
1
May be a valid answer to the question "How proof-of-work is implemented in Bitcoin?".
– rapt
7 hours ago
True, I tried to answer both but I tended towards what you said.
– Number File
6 hours ago
add a comment |
Proof of work is not required, there are other algorithms such as proof of stake that are still decentralized (though I don't know how it works even though Ethereum wants to use proof of stake mining). The proof of work gives a block a difficulty, saying "there must be at least X zeroes in a block." (X does not have to be an integer, if it did, difficulty could only be adjusted on orders of two, four, or sixteen; right now it is a little above 16.8) This adding zeroes controls the number of problems that can be solved, and is usually on the order of hundreds or (lower) tens of hundreds per day. When there are more miners, the network responds relatively soon by raising difficulty (in less than 2 weeks), and when there are less, it also responds by doing the opposite (in possibly more than 2 weeks). The proof of work is like a lottery, and who solves the problem is randomly selected and is then awarded the prize through the coinbase. Proof of work is basically a verification mechanism that looks at the zeroes in a hash (work) and forces a certain number (minimum) to be zero.
Proof of work is not required, there are other algorithms such as proof of stake that are still decentralized (though I don't know how it works even though Ethereum wants to use proof of stake mining). The proof of work gives a block a difficulty, saying "there must be at least X zeroes in a block." (X does not have to be an integer, if it did, difficulty could only be adjusted on orders of two, four, or sixteen; right now it is a little above 16.8) This adding zeroes controls the number of problems that can be solved, and is usually on the order of hundreds or (lower) tens of hundreds per day. When there are more miners, the network responds relatively soon by raising difficulty (in less than 2 weeks), and when there are less, it also responds by doing the opposite (in possibly more than 2 weeks). The proof of work is like a lottery, and who solves the problem is randomly selected and is then awarded the prize through the coinbase. Proof of work is basically a verification mechanism that looks at the zeroes in a hash (work) and forces a certain number (minimum) to be zero.
answered 7 hours ago
Number FileNumber File
212 bronze badges
212 bronze badges
1
May be a valid answer to the question "How proof-of-work is implemented in Bitcoin?".
– rapt
7 hours ago
True, I tried to answer both but I tended towards what you said.
– Number File
6 hours ago
add a comment |
1
May be a valid answer to the question "How proof-of-work is implemented in Bitcoin?".
– rapt
7 hours ago
True, I tried to answer both but I tended towards what you said.
– Number File
6 hours ago
1
1
May be a valid answer to the question "How proof-of-work is implemented in Bitcoin?".
– rapt
7 hours ago
May be a valid answer to the question "How proof-of-work is implemented in Bitcoin?".
– rapt
7 hours ago
True, I tried to answer both but I tended towards what you said.
– Number File
6 hours ago
True, I tried to answer both but I tended towards what you said.
– Number File
6 hours ago
add a comment |
rapt is a new contributor. Be nice, and check out our Code of Conduct.
rapt is a new contributor. Be nice, and check out our Code of Conduct.
rapt is a new contributor. Be nice, and check out our Code of Conduct.
rapt is a new contributor. Be nice, and check out our Code of Conduct.
Thanks for contributing an answer to Bitcoin Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fbitcoin.stackexchange.com%2fquestions%2f89972%2fwhy-is-proof-of-work-required-in-bitcoin%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Possible duplicate of Why do we need Proof of Work in bitcoin?
– RedGrittyBrick
7 hours ago
1. The question does not explicitly point to the contradiction in the conventional justification for proof-of-work. 2. The answers given are not logically rigorous.
– rapt
7 hours ago