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;








1















It seems that the rationale behind the proof-of-work requirement in Bitcoin is that it creates trust in a decentralized trustless network by:



  1. helping to reach consensus on which version of the blockchain is the correct one in case that there are multiple temporary competing forks.


  2. 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.










share|improve this question









New contributor



rapt is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





















  • 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















It seems that the rationale behind the proof-of-work requirement in Bitcoin is that it creates trust in a decentralized trustless network by:



  1. helping to reach consensus on which version of the blockchain is the correct one in case that there are multiple temporary competing forks.


  2. 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.










share|improve this question









New contributor



rapt is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





















  • 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












1








1








It seems that the rationale behind the proof-of-work requirement in Bitcoin is that it creates trust in a decentralized trustless network by:



  1. helping to reach consensus on which version of the blockchain is the correct one in case that there are multiple temporary competing forks.


  2. 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.










share|improve this question









New contributor



rapt is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











It seems that the rationale behind the proof-of-work requirement in Bitcoin is that it creates trust in a decentralized trustless network by:



  1. helping to reach consensus on which version of the blockchain is the correct one in case that there are multiple temporary competing forks.


  2. 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






share|improve this question









New contributor



rapt is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.










share|improve this question









New contributor



rapt is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.








share|improve this question




share|improve this question








edited 8 hours ago







rapt













New contributor



rapt is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.








asked 8 hours ago









raptrapt

1063 bronze badges




1063 bronze badges




New contributor



rapt is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.




New contributor




rapt is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.

















  • 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











  • 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










3 Answers
3






active

oldest

votes


















2















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.






share|improve this answer

























  • 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



















1
















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.






share|improve this answer

























  • 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



















0















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.






share|improve this answer




















  • 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













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.









draft saved

draft discarded


















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









2















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.






share|improve this answer

























  • 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
















2















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.






share|improve this answer

























  • 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














2














2










2









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.






share|improve this answer













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.







share|improve this answer












share|improve this answer



share|improve this answer










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


















  • 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














1
















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.






share|improve this answer

























  • 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
















1
















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.






share|improve this answer

























  • 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














1














1










1










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.






share|improve this answer














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.







share|improve this answer












share|improve this answer



share|improve this answer










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


















  • 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












0















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.






share|improve this answer




















  • 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















0















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.






share|improve this answer




















  • 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













0














0










0









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.






share|improve this answer













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.







share|improve this answer












share|improve this answer



share|improve this answer










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












  • 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










rapt is a new contributor. Be nice, and check out our Code of Conduct.









draft saved

draft discarded


















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.




draft saved


draft discarded














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





















































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







Popular posts from this blog

Canceling a color specificationRandomly assigning color to Graphics3D objects?Default color for Filling in Mathematica 9Coloring specific elements of sets with a prime modified order in an array plotHow to pick a color differing significantly from the colors already in a given color list?Detection of the text colorColor numbers based on their valueCan color schemes for use with ColorData include opacity specification?My dynamic color schemes

Invision Community Contents History See also References External links Navigation menuProprietaryinvisioncommunity.comIPS Community ForumsIPS Community Forumsthis blog entry"License Changes, IP.Board 3.4, and the Future""Interview -- Matt Mecham of Ibforums""CEO Invision Power Board, Matt Mecham Is a Liar, Thief!"IPB License Explanation 1.3, 1.3.1, 2.0, and 2.1ArchivedSecurity Fixes, Updates And Enhancements For IPB 1.3.1Archived"New Demo Accounts - Invision Power Services"the original"New Default Skin"the original"Invision Power Board 3.0.0 and Applications Released"the original"Archived copy"the original"Perpetual licenses being done away with""Release Notes - Invision Power Services""Introducing: IPS Community Suite 4!"Invision Community Release Notes

199年 目錄 大件事 到箇年出世嗰人 到箇年死嗰人 節慶、風俗習慣 導覽選單