4. Scalability Concerns

4

Scalability Concerns

HERE, SATOSHI REPLIES to a comment concerning scalability. To make a payment, a client’s wallet needs to have the full block chain, and with a growing block chain, it would put a memory burden on those small client wallet. This issue was addressed by Satoshi in a later release. Today, a smartphone app can easily handle transactions by connecting to a server it trusts that has the full block chain.

Re: Bitcoin P2P e-cash paper

Satoshi Nakamoto Sun, 02 Nov 2008 17:56:270800

James A Donald wrote:

Satoshi Nakamoto wrote:

I’ve been working on a new electronic cash system that’s fully peer-to-peer, with no trusted third party.

The paper is available at: http://www.bitcoin.org/bitcoin.pdf

We very, very much need such a system, but the way I understand your proposal, it does not seem to scale to the required size.

For transferable proof of work tokens to have value, they must have monetary value. To have monetary value, they must be transferred within a very large network for example a file trading network akin to bittorrent.

To detect and reject a double spending event in a timely manner, one must have most past transactions of the coins in the transaction, which, naively implemented, requires each peer to have most past transactions, or most past transactions that occurred recently. If hundreds of millions of people are doing transactions, that is a lot of bandwidth each must know all, or a substantial part thereof.

Long before the network gets anywhere near as large as that,it would be safe for users to use Simplified Payment Verification (section 8) to check for double spending, which only requires having the chain of block headers, or about 12KB per day. Only people trying to create new coins would need to run network nodes. At first, most users would run network nodes, but as the network grows beyond a certain point, it would be left more and more to specialists with server farms of specialized hardware. Aserver farm would only need to have one node on the network and the rest of the LAN connects with that one node.

The bandwidth might not be as prohibitive as you think. A typical transaction would be about 400 bytes (ECC is nicely compact). Each transaction has to be broadcast twice, so lets say 1KB per transaction. Visa processed 37 billion transactions in FY2008, or an average of 100 million transactions per day. That many transactions would take 100GB of bandwidth, or the size of 12DVD or 2 HD quality movies, or about $18 worth of bandwidth at current prices.

If the network were to get that big, it would take several years, and by then, sending 2 HD movies over the Internet would probably not seem like a big deal.

Satoshi Nakamoto

The Cryptography Mailing List

Last updated