<p>The bitcoin network constantly adjusts itself to account for increasing amounts of computational power applied to securing the network.  Thus, faster computers will not adversely affect the integrity of bitcoin.  However, there could be problems should the integrity of the underlying cryptographic algorithms be compromised.  It is possible to move bitcoin to newer cryptographic algorithms, but it would require a high degree of planning and coordination.  The good news is that there would be a strong economic incentive for everyone that uses bitcoin to make that transition happen as quickly and smoothly as possible.</p>

CC BY-SA 3.0
2011-08-30T22:30:08.070Z
2011-08-30T22:30:08.070Z
Stephen
<p>While security is certainly an arms race, the trick that makes bitcoin future-proof is that it's an open source project and we can all actively participate in that arms race. If SHA-256, RIPEMD-160 or ECDSA (the hashing and encryption algorithms behind bitcoin) are ever broken or crippled, we can simply change the client to use whatever "new hotness" replaces them. Since protocols are seldom completely crippled in one fell swoop and there are three protocols that would have to be broken to trivialize bitcoin theft it's quite likely that we'll be able to swap out "crippled" protocols quickly without sacrificing much security.</p>

CC BY-SA 3.0
2011-08-30T22:25:39.420Z
2011-08-30T22:25:39.420Z
David Perry
<p>Bitcoin accounts for the exponential growth in processing power (Moore's law) making hashing easier by re-adjusting the "difficulty" every 2016 blocks. The <a href="https://en.bitcoin.it/wiki/Difficulty" rel="nofollow">difficulty</a>  essentially determines how low the target for the hash of the block header is, the lower the target the harder it is to find.</p>

<p>Each block should on average take 10 minutes to find, so 2016 blocks should take 2 weeks. After each 2016 blocks the difficulty is readjusted by a ratio of (expected time for 2016 blocks)/(actual time for 2016 blocks). So for example if it takes 10 days to find the 2016 blocks between difficulty adjustments the difficulty will increase by a factor of 1.4 (14 days/10 days) for the next 2016 blocks. Conversely if it takes longer than 14 days to solve the 2016 blocks then the difficult will decrease by the ratio of (expected/actual) time to solve the 2016 blocks.</p>

<p>The difficulty change per readjustment cannot be more than 4x or less than 1/4x.</p>

CC BY-SA 3.0
2011-08-30T22:40:21.633Z
2011-08-30T22:40:21.633Z
kirian
<p>Bitcoin makes mining coins progressively harder, and has a max cap on the total number of coins that will eventually be available. This makes the mining mechanism future proof.</p>

<p>In terms of producing fake transactions and thus double spending or stealing money, you are competing against the network of users, and thus must have more computing power than the rest of the network. If all users increase in computing power at about the same rate, then cheating is prevented. </p>

CC BY-SA 3.0
2011-08-30T22:28:43.857Z
2011-08-30T22:28:43.857Z
Artem Kaznatcheev
<p><strong>BitCoin is futureproof</strong>, because in the event that processing power (or more relevantly, mathematical advances) make its algorithms weak or obsolete, the protocol can simply be upgraded.</p>

<p>Copied from <a href="https://stackoverflow.com/questions/5605571/is-bitcoin-protocol-future-proof/5958343#5958343">Stack Overflow</a>:</p>

<p>Upgrades to the Bitcoin protocol that break compatibility are implementable by social mechanisms but not by any technical process, which is by design.  In order to change the hashing or signing algorithms in the event that new techniques weaken them, the following process could be followed:</p>

<ol>
<li>As soon as the existing algorithms are discovered to be weakened, have a trusted entity sign a copy of the existing blockchain, marking it as authoritative via a non-weakened algorithm.</li>
<li>Create a new protocol that 'respects' the existing blockchain (which contains all records of bitcoin ownership), and allows for an upgrade path to exist indefinitely.</li>
<li>Implement the new protocol dormantly in one or more clients, with a designated block number to switch over, and the trusted version of the blockchain hardcoded in.</li>
<li>Convince the vast majority of Bitcoin users that your trusted entity is trustworthy, and to switch to the new client(s) <em>before</em> the designated block is mined.  There really is no equilibrium allowing both versions to coexist, since people who own bitcoins will be able to spend them in <strong>both</strong> communities.  Unless the modified client achieves near-universal adoption before the designated block is mined, users will switch back before the change goes live.</li>
</ol>

CC BY-SA 3.0
2011-08-30T22:47:44.397Z
2011-08-30T22:47:44.397Z
2017-05-23T12:34:59.703Z
eMansipater
<p>As I understand things, the security and integrity of Bitcoin rely on the assumption that its hashing is "hard" in some sense.  However, in the past, processing power has increased exponentially.  This has made some problems solvable in a reasonable amount of time that were not solvable before.  How does Bitcoin account for the possibility that processing power will continue to increase in the future?</p>

CC BY-SA 3.0
2012-06-15T15:37:41.130Z
@MichaelMcGowan What do you mean by "future"? Do you mean 100 years from now? a thousand? a million?
Pacerier
CC BY-SA 3.0
2011-08-30T22:43:34.123Z
This exact question exists on Stack Overflow: http://stackoverflow.com/questions/5605571/is-bitcoin-protocol-future-proof/5958343#5958343 although the question there is focused in a slightly different direction.  Either way, the answer is the same--the protocol can be upgraded.
eMansipater
CC BY-SA 3.0
2011-08-30T22:45:21.717Z
@eMansipater Does that mean it should not exist here as well?  I'm serious as I don't know SE protocol for this sort of thing.
Michael McGowan
CC BY-SA 3.0
2011-08-30T22:48:18.717Z
Me neither, that's why I mentioned it here and will be asking that on meta.
eMansipater
CC BY-SA 3.0
2011-08-30T23:01:20.677Z
Meta discussion at http://meta.bitcoin.stackexchange.com/questions/3/how-should-duplication-between-sites-be-addressed
eMansipater
<security><hash><future-proof>
Is Bitcoin future-proof?
Michael McGowan
# Is Bitcoin future-proof?

(Asked by: username_0 on 2011-08-30)

As I understand things, the security and integrity of Bitcoin rely on the assumption that its hashing is "hard" in some sense. However, in the past, processing power has increased exponentially. This has made some problems solvable in a reasonable amount of time that were not solvable before. How does Bitcoin account for the possibility that processing power will continue to increase in the future?

**Tags:** security, hash, future-proof

> **Comments:**
> **username_2**: This exact question exists on Stack Overflow: http://stackoverflow.com/questions/5605571/is-bitcoin-protocol-future-proof/5958343#5958343 although the question there is focused in a slightly different direction.  Either way, the answer is the same--the protocol can be upgraded.  
> **username_0**: @username_2 Does that mean it should not exist here as well?  I'm serious as I don't know SE protocol for this sort of thing.  
> **username_2**: Me neither, that's why I mentioned it here and will be asking that on meta.  
> **username_2**: Meta discussion at http://meta.bitcoin.stackexchange.com/questions/3/how-should-duplication-between-sites-be-addressed  
> **username_1**: @username_0 What do you mean by "future"? Do you mean 100 years from now? a thousand? a million?  

---

## 5 answers

### Answer by username_2 on 2011-08-30. Score: 17 | Accepted answer

**BitCoin is futureproof**, because in the event that processing power (or more relevantly, mathematical advances) make its algorithms weak or obsolete, the protocol can simply be upgraded.

Copied from [Stack Overflow](https://stackoverflow.com/questions/5605571/is-bitcoin-protocol-future-proof/5958343#5958343):

Upgrades to the Bitcoin protocol that break compatibility are implementable by social mechanisms but not by any technical process, which is by design. In order to change the hashing or signing algorithms in the event that new techniques weaken them, the following process could be followed:

1. As soon as the existing algorithms are discovered to be weakened, have a trusted entity sign a copy of the existing blockchain, marking it as authoritative via a non-weakened algorithm.
2. Create a new protocol that 'respects' the existing blockchain (which contains all records of bitcoin ownership), and allows for an upgrade path to exist indefinitely.
3. Implement the new protocol dormantly in one or more clients, with a designated block number to switch over, and the trusted version of the blockchain hardcoded in.
4. Convince the vast majority of Bitcoin users that your trusted entity is trustworthy, and to switch to the new client(s) *before* the designated block is mined. There really is no equilibrium allowing both versions to coexist, since people who own bitcoins will be able to spend them in **both** communities. Unless the modified client achieves near-universal adoption before the designated block is mined, users will switch back before the change goes live.


---

### Answer by username_3 on 2011-08-30. Score: 6

The bitcoin network constantly adjusts itself to account for increasing amounts of computational power applied to securing the network. Thus, faster computers will not adversely affect the integrity of bitcoin. However, there could be problems should the integrity of the underlying cryptographic algorithms be compromised. It is possible to move bitcoin to newer cryptographic algorithms, but it would require a high degree of planning and coordination. The good news is that there would be a strong economic incentive for everyone that uses bitcoin to make that transition happen as quickly and smoothly as possible.


---

### Answer by username_4 on 2011-08-30. Score: 5

While security is certainly an arms race, the trick that makes bitcoin future-proof is that it's an open source project and we can all actively participate in that arms race. If SHA-256, RIPEMD-160 or ECDSA (the hashing and encryption algorithms behind bitcoin) are ever broken or crippled, we can simply change the client to use whatever "new hotness" replaces them. Since protocols are seldom completely crippled in one fell swoop and there are three protocols that would have to be broken to trivialize bitcoin theft it's quite likely that we'll be able to swap out "crippled" protocols quickly without sacrificing much security.


---

### Answer by username_5 on 2011-08-30. Score: 4

Bitcoin accounts for the exponential growth in processing power (Moore's law) making hashing easier by re-adjusting the "difficulty" every 2016 blocks. The [difficulty](https://en.bitcoin.it/wiki/Difficulty) essentially determines how low the target for the hash of the block header is, the lower the target the harder it is to find.

Each block should on average take 10 minutes to find, so 2016 blocks should take 2 weeks. After each 2016 blocks the difficulty is readjusted by a ratio of (expected time for 2016 blocks)/(actual time for 2016 blocks). So for example if it takes 10 days to find the 2016 blocks between difficulty adjustments the difficulty will increase by a factor of 1.4 (14 days/10 days) for the next 2016 blocks. Conversely if it takes longer than 14 days to solve the 2016 blocks then the difficult will decrease by the ratio of (expected/actual) time to solve the 2016 blocks.

The difficulty change per readjustment cannot be more than 4x or less than 1/4x.


---

### Answer by username_6 on 2011-08-30. Score: 3

Bitcoin makes mining coins progressively harder, and has a max cap on the total number of coins that will eventually be available. This makes the mining mechanism future proof.

In terms of producing fake transactions and thus double spending or stealing money, you are competing against the network of users, and thus must have more computing power than the rest of the network. If all users increase in computing power at about the same rate, then cheating is prevented.


---

