<p>Because anyone can use logic and creativity to find bugs, and there is a serious amount of money to be stolen by finding such bugs. You can be very confident they are not in there, Bitcoin is too old for that sort of nonsense. It is only an enigma to some.</p>

CC BY-SA 3.0
2013-12-09T16:07:13.207Z
Thank you. I suppose you are right. I do think that some kind of *groupthink* may still prevent people from imagining potential sources of abuse of the algorithm (eg. if everyone focuses its attention on the possibility of *stealing* coins, people may collectively fail to see the huge risks associated with even a minimal interference with the speed of the monetary expansion). I do wonder whether a person with the mental capability of exploiting this groupthink exists, but nevertheless the risk cannot be mathematically ruled out
user114618
CC BY-SA 3.0
2013-12-09T16:35:41.243Z
Also, I do not think that Bitcoin is 'too old'. It's been around for only four years! Central banks have been around for centuries and paper money for even longer and yet we still keep learning new things about their use and function (eg. the invention of QE as a substitute of traditional monetary policies)
user114618
CC BY-SA 3.0
2013-12-15T07:05:36.440Z
Firstly: cognitive biases do no effect the people who do real work on the algorithm like they do fanboys.

Secondly: Don't drop my context on what I meant with "too old." It's four billion dollars old. If they are there, nobody has found them, if they had: we'd know. There are four billion reasons to demonstrate that kind of knowledge.

Thirdly: proof is code.
John Tate
CC BY-SA 3.0
2013-12-09T15:59:30.397Z
2013-12-09T15:59:30.397Z
John Tate
<p>I'm going to answer your questions directly although I know you've selected another answer. It's for all those who come across this question.</p>

<blockquote>
  <p>How do we know that the algorithm cannot be modified to gain control over the expansion of the monetary base? </p>
</blockquote>

<p>These are part of the config settings of the Bitcoin protocol. It can be changed but all you would be doing is changing your own node. You would have to convince all the other nodes to change their settings too and additionally you would have to be able to mine coins faster than anyone else to guarantee that you were generating the coins. Without getting too technical, this is the power of a p2p distributed network, the crowd matters, not the individual.</p>

<blockquote>
  <p>After all, I don't think that there exists a man-made software that cannot be hacked.</p>
</blockquote>

<p>Nobody is saying that one day in the future we won't find a way to hack the security of bitcoin. But if we do then everything is broken, including the internet. The type of security that is used to send your bank details between servers, or when you log in to secure <code>https</code> websites relies on the same type of security. Even the NSA rely on this security. But if it does happen, we just move to the next level, and send our coins to a new address. (It's a little more complex but I summarise).</p>

<blockquote>
  <p>Many discussions on this forum flag that suck[<em>sic</em>] a type of attack would be extremely expensive if not impossible. However, how do we know that such type of bug isn't already in the algorithm? See question 3</p>
</blockquote>

<p>We know because anyone can look at the code. It's open source. If someone found a bug it would have been exploited already, it is the biggest financial prize in history, you don't think people are trying all the time? They have been trying for 5 years. It may happen if and when a new function is added which is why the core developers need a lot of support from the community.</p>

<blockquote>
  <p>How do we know that Satoshi hasn't left a bug in his software (or purposely left out some important protective codelines) that will allow him to artificially steal or claim bitcoins at his/her discretion? After all, Satoshi, the inventor of the software has not revealed himself (or herself).
  Even if Satoshi did not actually steal the money for himself, but simply left an option for himself to increase/decrease the speed of expansion of the monetary base, that would still give him a 'soft', yet enormous power, making him a de facto central bank (and people would not necessarily be aware of this). How do we know that this could not happen?</p>
</blockquote>

<p>Just because the developer chose to be anonymous doesn't mean he has anything to hide. Also see my answer above, the code is open source.</p>

<p>The only thing that Satoshi could do that may cause problems is dump his coins on the market. That might spook people and the price might drop considerably, but the whole mechanism is pretty robust and it does what it is supposed to do. So unless there is a real problem, people will just scoop up the cheap coins and we'd all carry on with the mission.</p>

<p><strong>EDIT</strong> I just want to add that although Satoshi is revered, his coding style has been criticised for various reasons, and some would say he was not an out and out programming expert. Indeed bugs were discovered early on and corrected, by everyone involved at the time.</p>

CC BY-SA 3.0
2013-12-09T17:15:38.930Z
2013-12-09T17:15:38.930Z
T9b
<p>I'm new to Bitcoin. My understanding as a trained economist (and not a programmer or IT expert) is that the key selling point of Bitcoin is the assignment of monetary policy prerogatives to an algorithm distributed across a P2P network. What this means is that people do not have to rely on a human politician (and his promises) to protect the value of the currency (which, philosophically, represents their past work) by not printing new money discretionally. Instead, they would give this task to an algorithm distributed over a P2P network, which, by definition, will KEEP its promises and will not be under the control of any one single person.</p>

<p>Now, my questions are:</p>

<ol>
<li>How do we know that the algorithm cannot be modified to gain control over the expansion of the monetary base? After all, I don't think that there exists a man-made software that cannot be hacked.</li>
<li>Many discussions on this forum flag that suck a type of attack would be extremely expensive if not impossible. However, how do we know that such type of bug isn't already in the algorithm? See question 3</li>
<li>How do we know that Satoshi hasn't left a bug in his software (or purposely left out some important protective codelines) that will allow him to artificially steal or claim bitcoins at his/her discretion? After all, Satoshi, the inventor of the software has not revealed himself (or herself).</li>
<li>Even if Satoshi did not actually <em>steal</em> the money for himself, but simply left an option for himself to increase/decrease the speed of expansion of the monetary base, that would still give him a 'soft', yet enormous power, making him a <em>de facto</em> central bank (and people would not necessarily be aware of this). How do we know that this could not happen?</li>
</ol>

<security><economic-theory><reward-schedule><governance><macroeconomics>
How do we know that the algorithm of Bitcoin does not embed bugs since inception?
user114618
# How do we know that the algorithm of Bitcoin does not embed bugs since inception?

(Asked by: username_0 on 2013-12-09)

I'm new to Bitcoin. My understanding as a trained economist (and not a programmer or IT expert) is that the key selling point of Bitcoin is the assignment of monetary policy prerogatives to an algorithm distributed across a P2P network. What this means is that people do not have to rely on a human politician (and his promises) to protect the value of the currency (which, philosophically, represents their past work) by not printing new money discretionally. Instead, they would give this task to an algorithm distributed over a P2P network, which, by definition, will KEEP its promises and will not be under the control of any one single person.

Now, my questions are:

1. How do we know that the algorithm cannot be modified to gain control over the expansion of the monetary base? After all, I don't think that there exists a man-made software that cannot be hacked.
2. Many discussions on this forum flag that suck a type of attack would be extremely expensive if not impossible. However, how do we know that such type of bug isn't already in the algorithm? See question 3
3. How do we know that Satoshi hasn't left a bug in his software (or purposely left out some important protective codelines) that will allow him to artificially steal or claim bitcoins at his/her discretion? After all, Satoshi, the inventor of the software has not revealed himself (or herself).
4. Even if Satoshi did not actually *steal* the money for himself, but simply left an option for himself to increase/decrease the speed of expansion of the monetary base, that would still give him a 'soft', yet enormous power, making him a *de facto* central bank (and people would not necessarily be aware of this). How do we know that this could not happen?

**Tags:** security, economic-theory, reward-schedule, governance, macroeconomics


---

## 2 answers

### Answer by username_2 on 2013-12-09. Score: 5 | Accepted answer

I'm going to answer your questions directly although I know you've selected another answer. It's for all those who come across this question.

> How do we know that the algorithm cannot be modified to gain control over the expansion of the monetary base?

These are part of the config settings of the Bitcoin protocol. It can be changed but all you would be doing is changing your own node. You would have to convince all the other nodes to change their settings too and additionally you would have to be able to mine coins faster than anyone else to guarantee that you were generating the coins. Without getting too technical, this is the power of a p2p distributed network, the crowd matters, not the individual.

> After all, I don't think that there exists a man-made software that cannot be hacked.

Nobody is saying that one day in the future we won't find a way to hack the security of bitcoin. But if we do then everything is broken, including the internet. The type of security that is used to send your bank details between servers, or when you log in to secure `https` websites relies on the same type of security. Even the NSA rely on this security. But if it does happen, we just move to the next level, and send our coins to a new address. (It's a little more complex but I summarise).

> Many discussions on this forum flag that suck[*sic*] a type of attack would be extremely expensive if not impossible. However, how do we know that such type of bug isn't already in the algorithm? See question 3

We know because anyone can look at the code. It's open source. If someone found a bug it would have been exploited already, it is the biggest financial prize in history, you don't think people are trying all the time? They have been trying for 5 years. It may happen if and when a new function is added which is why the core developers need a lot of support from the community.

> How do we know that Satoshi hasn't left a bug in his software (or purposely left out some important protective codelines) that will allow him to artificially steal or claim bitcoins at his/her discretion? After all, Satoshi, the inventor of the software has not revealed himself (or herself).
> Even if Satoshi did not actually steal the money for himself, but simply left an option for himself to increase/decrease the speed of expansion of the monetary base, that would still give him a 'soft', yet enormous power, making him a de facto central bank (and people would not necessarily be aware of this). How do we know that this could not happen?

Just because the developer chose to be anonymous doesn't mean he has anything to hide. Also see my answer above, the code is open source.

The only thing that Satoshi could do that may cause problems is dump his coins on the market. That might spook people and the price might drop considerably, but the whole mechanism is pretty robust and it does what it is supposed to do. So unless there is a real problem, people will just scoop up the cheap coins and we'd all carry on with the mission.

**EDIT** I just want to add that although Satoshi is revered, his coding style has been criticised for various reasons, and some would say he was not an out and out programming expert. Indeed bugs were discovered early on and corrected, by everyone involved at the time.


---

### Answer by username_1 on 2013-12-09. Score: 2

Because anyone can use logic and creativity to find bugs, and there is a serious amount of money to be stolen by finding such bugs. You can be very confident they are not in there, Bitcoin is too old for that sort of nonsense. It is only an enigma to some.

> **Comments:**
> **username_0**: Thank you. I suppose you are right. I do think that some kind of *groupthink* may still prevent people from imagining potential sources of abuse of the algorithm (eg. if everyone focuses its attention on the possibility of *stealing* coins, people may collectively fail to see the huge risks associated with even a minimal interference with the speed of the monetary expansion). I do wonder whether a person with the mental capability of exploiting this groupthink exists, but nevertheless the risk cannot be mathematically ruled out  
> **username_0**: Also, I do not think that Bitcoin is 'too old'. It's been around for only four years! Central banks have been around for centuries and paper money for even longer and yet we still keep learning new things about their use and function (eg. the invention of QE as a substitute of traditional monetary policies)  
> **username_1**: Firstly: cognitive biases do no effect the people who do real work on the algorithm like they do fanboys.  Secondly: Don't drop my context on what I meant with "too old." It's four billion dollars old. If they are there, nobody has found them, if they had: we'd know. There are four billion reasons to demonstrate that kind of knowledge.  Thirdly: proof is code.  

---

