When I started the Bitcoin network, the Bitcoin-Qt client was designed to both mine and act as a wallet. As such, it was far from perfect as the alpha software, but many of the key peer aspects of cash such as in the form of IP-to-IP transactions that have been removed form an essential part in making it a cash system.
In 2009, there was practically no value at any point to Bitcoin other than a promise of the future. Users would have to download the entire blockchain, consume hard-drive and valuable network capacity, and with a CPU time heat up their computers paying for electricity with no promise of anything past the dream of Bitcoin being valuable one day. The dream was not terribly valuable at the time, and many people failed to adequately protect the Bitcoin that they were mining.
I defined Bitcoin to work in such a way as there was no way I could see to bring on a large commercial player who acted in competition with others and to convince them to run a distributed database in competition at the time. Rather, the people using Bitcoin acted as a paid system to allow the system to bootstrap.
I did so to ensure that the early users would help in bootstrapping the network. Before there was any real value in Bitcoin, such interested parties would mine and help propagate transactions. As more miners became available due to the popularity of the software, the difficulty increased and each party gained fewer coins.
In the first few years, the total size of the Bitcoin blockchain was minimal. It was not too big an ask for people who were particularly interested in the field to download a large file and try running the software. In the age of hobby miners, the interaction between such individuals secured the network. At the time, it was not difficult to participate, but Bitcoin was designed so that over time, fewer and fewer home-user systems would be mining Bitcoin. Users generally don’t want to download an entire blockchain. It’s inconvenient.
More importantly, mining specialises. The end result is that home computers add a nearly negligible result to the total amount of hash power.
If people bothered to read the comments in the code, they would see that I always termed miners as the nodes in the system. It was always designed to specialise and move into professional data centres. I haven’t said so once; I’ve said it many times, to many people. When I created Bitcoin, I created a system that was designed to specialise as such is the only way that it can work.
//// Nodes collect new transactions into a block, hash them into a hash tree, and scan through nonce values to make the block’s hash satisfy proof-of-work requirements. When they solve the proof-of-work, they broadcast the block to everyone and the block is added to the block chain. The first transaction in the block is a special one that creates a new coin owned by the creator of the block. Blocks are appended to blk0001.dat files on disk. Their location on disk is indexed by CBlockIndex objects in memory.
Simplified payment verification (SPV) as defined in the white paper is not the same as the Electrum wallets and bloom-filter-based systems that we see now.
Many people have misunderstood what I tried to define as SPV. SPV would work as a peer-to-peer system with the receiver, the equivalent of the person being paid with a cheque or negotiable money order, lodging the transaction. That is, the receiver sends or broadcasts to the miners.
I also saw specialised servers becoming available. They would be businesses based on an SPV model. For those people not running their own systems and operating off-line services, they would be able to subscribe to a commercial system that scans all new blocks and indexes them. The service would save the user from needing to index and analyse blocks, and could be provided for a very small fee. The initial download would only involve the block headers.
As transaction volumes get larger and larger, network nodes that are specialised analysing the blockchain for clients and business systems that watch for corporate transactions would interact with server farms allowing users to operate as users running only the client software.
Development work would then focus on the optimisation and parallelisation of blocks as they grow in size — which allows Bitcoin to scale to any necessary level. As much traffic as you can imagine could go through the system.
I don’t worry about network nodes consolidating. I’ve never worried about the fact that corporate entities would be running a distributed ledger across the world. I don’t worry about government taking over Bitcoin. The issue here is: there is no world government, and there won’t be one in my lifetime. States can’t even agree within the USA, and we’re already seeing the European Union fraying at the edges.
The methodology didn’t require that every node needed to scan everything. Right now, for those who are a little paranoid, monitoring blocks is still possible, but it will specialise over time. Indexing services, from the free search engine onto more elaborate pay-as-you-go systems, will evolve.
You see, Bitcoin is designed to be honest money. A transaction system that works within the current legal framework. To achieve such an end, it needs to act in a way that lies within the existing regulatory frameworks. It then becomes the killer app for compliance officials and the system that enables accounting organisations to simply scan and access client accounting records in a manner that is secure while also private.
To be efficient and effective, a subsidy cannot remain across the entire life of a product. It would skew demand far more than is necessary. Bitcoin was designed to be subsidised because the initial product had no market value. As you’ll see from the subsidy diagram, adding a subsidy increases market demand. In the initial phase of Bitcoin’s development, such an effect was essential. The demand was essentially zero. In creating a halving every four years where the reward was lowered based on the subsidy being halved, Bitcoin was forced down a path of professionalisation. The mechanism was designed to change the quantity and price ratio as more professional server farms would be developed.
I did not contemplate ASICs in the manner in which they exist now with Bitcoin. I did so for GPUs and even Xeon Phi systems, but none of it changes the essential nature of the operations. Over time, the existing ASIC formats will need to change.
I foresee a large distributed database that is operated as an economically secure system. It will become a global ledger — not because individuals run it, as such isn’t the way Bitcoin was designed, but because individuals can operate a peer-to-peer network that is settled and secure without facing an economically significant risk of double spending.