<p>There is no consensus. I think part of the reason for that is that many people involved in the Bitcoin project have a vested interest in maintaining that there is nothing wrong with Bitcoin.</p>

<p>In fact, there really is nothing wrong with Bitcoin, but there is lots of room for improvement. However, most improvements suggested have corresponding costs, and there is no consensus that the benefits outweigh the costs for many of the improvements.</p>

<p>Here are a few areas where improvements are likely possible:</p>

<ol>
<li><p>The mining algorithm is only computation hard. It is not memory hard or decision hard.</p></li>
<li><p>Anonymity is limited by the inability to publish a receiving address without revealing how many coins are transferred to that address.</p></li>
<li><p>There is no good way to prune the block chain.</p></li>
<li><p>There is no good way to reverse a transaction or indicate acceptance of a transaction.</p></li>
<li><p>Transaction fees are not predictable long-term.</p></li>
<li><p>Mining pools have centralized the decision of which transactions to include and which chain to work on, defeating some of the protection diversified mining was supposed to provide.</p></li>
<li><p>There is no way to recover lost coins.</p></li>
<li><p>There is no good way to manage the currency if that turns out to be needed. For example, the block payout algorithm is all but fixed in stone but may make no sense in a decade.</p></li>
<li><p>There is no good way to pull coins out of the block chain such that they can be put back in.</p></li>
<li><p>A 51% attack can revert as much of the chain as desired, up to the last checkpoint.</p></li>
</ol>

<p>My own opinion is that it's way too early to talk about Bitcoin 2.0. We don't know enough about what's really right and what's really wrong yet, and such efforts would actually work against broader adoption of crypto-currencies by reducing stability.</p>

CC BY-SA 3.0
2011-09-20T22:36:18.673Z
I would also add that some people can consider the Bitcoin transactions to be a bit slow (taking on average an hour to get 6 confirmations needed for your transaction to be "fully" processed).
ThePiachu
CC BY-SA 3.0
2011-09-15T23:25:51.320Z
2011-09-15T23:25:51.320Z
David Schwartz
<p>I think the only real downside to Bitcoin is that proof-of-work is terribly expensive (energy-consumption wise) and it <a href="http://www.links.org/?p=1175" rel="nofollow">is not clear if it really works</a> (i.e. provides assurance that no single or few people can control the blockchain underwriting) in the presence of mining pools, bot nets, and the fabled 51% attack. Seeing that miners, while powerful, cannot do really critical things like arbitrarily increasing the coin supply, spending other peoples' money, or lock down other peoples' accounts (the three main reasons why people want Bitcoin as opposed to a fiat currency), maybe a cheaper, trust-based version is acceptable here.</p>

<p>Other problems like scalability and confirmation delays can be taken care of by services layered on top of Bitcoin. There is for example no real reason why all everyday consumer-level transactions need to happen on the blockchain (as opposed to between and inside wallet services). You obviously still want to be able to store significant amounts on your own computer without any third party involved, but you'd be trusting some services with some amount of money, and that can be leveraged. Think PayPal, but using Bitcoins instead of Dollars. MtGox seems to be going that way.</p>

CC BY-SA 3.0
2011-09-15T22:40:43.530Z
2011-09-15T22:40:43.530Z
Thilo
<p>The least burdensome but most useful change IMO is that you should be able to send a message along with a transaction. It would make things so much easier - ordering products or services could become a 1-step process, and email back-and-forth would be considerably reduced.</p>

CC BY-SA 3.0
2011-09-19T19:35:36.597Z
Keep in mind that the blockchain has to contain all transactions ever made, so allowing arbitrary-length messages would bloat it beyond control.  If you're willing to store just the hash of your message in the blockchain I'm sure you can embed it in a [script](https://en.bitcoin.it/wiki/Script).
eldentyrell
CC BY-SA 3.0
2012-09-18T17:40:31.080Z
Also the legal risk of censorship in a given country.  If someone were to include arbitrary text, and it was distributed to all the wallets, then the government could take action against those wallets.
makerofthings7
CC BY-SA 3.0
2011-09-17T15:13:06.533Z
2011-09-17T15:13:06.533Z
Vitalik Buterin
<p>There has been some criticism from cryptography experts about the current Bitcoin algorithm(s). Now that Bitcoin has been released to the wild and everyone has had time to study it, is there any consensus for improvements that could be made to make Bitcoin better?</p>

<p>If it was possible to start over knowing what we know now could Bitcoin be designed any better?</p>

CC BY-SA 3.0
2011-09-15T23:23:05.343Z
please link to criticism(s). also maybe too general of a question...
lemonginger
CC BY-SA 3.0
2011-09-16T03:10:53.933Z
David Schwartz links to some of Dan Kaminsky's criticism(s) in his answer here: http://bitcoin.stackexchange.com/questions/367/have-any-crypotography-experts-vetted-the-bitcoin-source-code
Element
<algorithms>
Is there any consensus over specific improvements Bitcoin needs?
Element
# Is there any consensus over specific improvements Bitcoin needs?

(Asked by: username_0 on 2011-09-15)

There has been some criticism from cryptography experts about the current Bitcoin algorithm(s). Now that Bitcoin has been released to the wild and everyone has had time to study it, is there any consensus for improvements that could be made to make Bitcoin better?

If it was possible to start over knowing what we know now could Bitcoin be designed any better?

**Tags:** algorithms

> **Comments:**
> **username_1**: please link to criticism(s). also maybe too general of a question...  
> **username_0**: username_2 username_2 links to some of Dan Kaminsky's criticism(s) in his answer here: http://bitcoin.stackexchange.com/questions/367/have-any-crypotography-experts-vetted-the-bitcoin-source-code  

---

## 3 answers

### Answer by username_2 on 2011-09-15. Score: 10

There is no consensus. I think part of the reason for that is that many people involved in the Bitcoin project have a vested interest in maintaining that there is nothing wrong with Bitcoin.

In fact, there really is nothing wrong with Bitcoin, but there is lots of room for improvement. However, most improvements suggested have corresponding costs, and there is no consensus that the benefits outweigh the costs for many of the improvements.

Here are a few areas where improvements are likely possible:

1. The mining algorithm is only computation hard. It is not memory hard or decision hard.
2. Anonymity is limited by the inability to publish a receiving address without revealing how many coins are transferred to that address.
3. There is no good way to prune the block chain.
4. There is no good way to reverse a transaction or indicate acceptance of a transaction.
5. Transaction fees are not predictable long-term.
6. Mining pools have centralized the decision of which transactions to include and which chain to work on, defeating some of the protection diversified mining was supposed to provide.
7. There is no way to recover lost coins.
8. There is no good way to manage the currency if that turns out to be needed. For example, the block payout algorithm is all but fixed in stone but may make no sense in a decade.
9. There is no good way to pull coins out of the block chain such that they can be put back in.
10. A 51% attack can revert as much of the chain as desired, up to the last checkpoint.

My own opinion is that it's way too early to talk about Bitcoin 2.0. We don't know enough about what's really right and what's really wrong yet, and such efforts would actually work against broader adoption of crypto-currencies by reducing stability.

> **Comments:**
> **username_3**: I would also add that some people can consider the Bitcoin transactions to be a bit slow (taking on average an hour to get 6 confirmations needed for your transaction to be "fully" processed).  

---

### Answer by username_4 on 2011-09-15. Score: 2

I think the only real downside to Bitcoin is that proof-of-work is terribly expensive (energy-consumption wise) and it [is not clear if it really works](http://www.links.org/?p=1175) (i.e. provides assurance that no single or few people can control the blockchain underwriting) in the presence of mining pools, bot nets, and the fabled 51% attack. Seeing that miners, while powerful, cannot do really critical things like arbitrarily increasing the coin supply, spending other peoples' money, or lock down other peoples' accounts (the three main reasons why people want Bitcoin as opposed to a fiat currency), maybe a cheaper, trust-based version is acceptable here.

Other problems like scalability and confirmation delays can be taken care of by services layered on top of Bitcoin. There is for example no real reason why all everyday consumer-level transactions need to happen on the blockchain (as opposed to between and inside wallet services). You obviously still want to be able to store significant amounts on your own computer without any third party involved, but you'd be trusting some services with some amount of money, and that can be leveraged. Think PayPal, but using Bitcoins instead of Dollars. MtGox seems to be going that way.


---

### Answer by username_5 on 2011-09-17. Score: 1

The least burdensome but most useful change IMO is that you should be able to send a message along with a transaction. It would make things so much easier - ordering products or services could become a 1-step process, and email back-and-forth would be considerably reduced.

> **Comments:**
> **username_6**: Keep in mind that the blockchain has to contain all transactions ever made, so allowing arbitrary-length messages would bloat it beyond control.  If you're willing to store just the hash of your message in the blockchain I'm sure you can embed it in a [script](https://en.bitcoin.it/wiki/Script).  
> **username_7**: Also the legal risk of censorship in a given country.  If someone were to include arbitrary text, and it was distributed to all the wallets, then the government could take action against those wallets.  

---

