Securing the network

The person or people claiming the name Satoshi Nakamoto solved a difficult problem. There was a certain amount of creativity required, and a simplistic beauty in the solution. Like many times when a elegant solution is announced, more problems become apparent. It is the very nature of solutions that they expand what people can think about and hence lead to more unanswered questions. In this way, the chain of discoveries progresses on.A real picture of a bitcoin

Satoshi is not immune to this process of answers leading to more questions. We have seen the successful implementation of Bitcoin, which has led to more problems. One such problem is that fees for transactions are static and not dynamically adjusted as demand for block space or market conditions change. Another such problem is blockchain bloat, which every user that downloads the reference client experiences as they loose over seven gigabytes of free space on their hard drive. Another problem is that unsuspecting users get very small payments many times, these payments can’t be spent as they will not cover the fee of a transaction that will be several kilobytes in size. Of course, there is a viewpoint that these are not problems at all, but rather suboptimal solutions.

Blockchain bloat:

One solution is to do nothing, some people running the client on an old laptop get frustrated by the demands of the client and stop running nodes. This would not ruin bitcoin, it would however make it less distributed and more vulnerable to attack. It would also require more trust from the people shutting down their client. Another solution is to produce a client that has a snapshot of all spendable bitcoins after a given block. This information is called the unspent transaction outputs. Someone could publish these data and everyone else could verify that it is correct and then clients would not need to store the whole blockchain, just a snapshot and all the blocks after that time. This solution still has drawbacks as one may expect the bytes used to record unspent transactions outputs grow exponentially with use. This only delays the need to shutdown a client on a given computer. However this may allow a client run for a several more years on a given computer. An individual may wish to upgrade their computer during those years, allowing many more years of running a client. This process of reducing the size of the blockchain needed to be stored is actively being pursued, but will take time to implement well.


A fee is necessary for low priority transactions to prevent or hinder a denial of service attack on the bitcoin network. This basic fee of 0.0005 bitcoins was set when the price of bitcoin was around $20 before the first bitcoin bubble. At that time that would have made the fee worth around $0.01. Today this is worth around $0.06 which is more than intended. However this is still very cheap for the value it provides. For more complicated transactions the fee may be many multiples of this amount. A fee is also required if an output is less than .01 bitcoin. An argument can be made that the fee is not too high, and should not be lowered until the blockchain bloat issue is dealt with.

The rise in legacy currency cost of this fee does affect the culture of bitcoin users. For even general users the cost of this fee must be factored into their decision to use bitcoin. For this reason and others the fee will probably be reduced to .0001 BTC with the next client, version 0.8.2. This is being done as a stop gap measure, as a more dynamic fee is created. In the future we should expect the fee to depend on demand and stress on the network at the time of sending a payment.

“Stuck Satoshis”

The smallest unit of a bitcoin allowed by the protocol is one hundred-millionth of a bitcoin or 0.00000001 bitcoin, and is called a satoshi. This is a very small amount and is not worth anything today. There are few reasons to send a payment so small. One reason is to annoy a bitcoin user that posts a donation address, another is to convey a message. The gambling website Satoshi Dice is one such website that sent these one satoshi payments. The payment was to signal that the gambler lost the bet. Much controversy in the bitcoin community has centered around this gambling website. Some developers are discouraged by the fact that improvements to bitcoin are needed to help people gamble. One developer even goes as far to call Satoshi Dice a denial of service attack on bitcoin. Erik Voorhees who is involved with satoshi dice argues that this service is testing the network. If the bitcoin network can’t support satoshi dice then how can bitcoin grow to a position on the world currency stage?

The issues with these one satoshi payments exaggerate the blockchain bloat problem mentioned above. It even reduces the effectiveness of the unspent transaction output solution to the bloat problem. By creating more complicated transactions when spent this raises the required fee, and has led to complaints by Bitcoin users. For these reasons and others the new client is expected to reject transactions with an output of less than 5430 satoshis. This amount is worth less than $0.01 as of writing. This limit is not hard coded into the client technical users may adjust this as the market changes. Also we should expect this value will change if the market conditions make this viable. This limit has no effect on spending bitcoin outputs lower than 5430 satoshis.

Ongoing Controversy

The limit on output size has sparked controversy. Some people working on other applications of bitcoin are concerned about how this minimum will effect their work. One such alternate application is colored coins. Colored coins is an idea that a given satoshi could represent a share in a business venture. It is not clear how this could be done without a separate client. After the change there will still need to be a separate client for colored coins and dedicated miners. Other implementations of how colored coins could be executed have also been proposed.

Neocash has also received email regarding the way these decisions are made. There is concern that the whole community is not always consulted before these changes are made. It is clear that a community intimately involved with decentralization may see decisions as centralized. The crux of the issue is that these decisions are indeed not centralized. Minority opinions only need the backing of at least one programmer, and anyone can program with enough motivation.

Bitcoin has seen these divisions before. The developer who feels that satoshi dice is a DDOS attack on bitcoin, actually wrote a patch for miners that would prevent satoshi dice transactions from being mined. This patch was implemented on one or two pools, but there was not a lot of demand for this patch. There was also a client made that would never require a fee. This client was never adopted, maybe because the resulting network would be subject to a DDOS attack.

Bitcoin has had an exciting history. We may expect that it will also have a exciting future as well.

One thought on “Securing the network”

Leave a Reply

Your email address will not be published. Required fields are marked *