Wallet and Trust – The Bigger the Better
In a distributed ledger system, trust is based on consensus mechanisms which require every user to independently obtain and validate the transaction blocks. The issue is that the size of the blockchain data may be impractical for most users. In the case of Bitcoin, it has already grown over 160 GB.
In his whitepaper, Satoshi Nakamoto had already anticipated the scalability issue with bitcoin. He proposed a method to reclaim disk space and another one to allow “thin” clients with Simplified Payment Verification.
However, these proposals encourage implementations and usage behaviors that are unfavorable to strong security and may weaken the network.
Here is a quick roundup of the most common Bitcoin tools:
SPV Wallets and Web Wallets
In practice, most Bitcoin end-users do not download a full blockchain on their computer or mobile device.
They install (or even just access) a wallet that implements various mechanisms to reduce the amount of data needed to operate (e.g. Simplified Payment Verification [SPV] wallets or centralized web wallets).
These highly usable wallets may better suit your needs. However, no matter the sales speech, the shortcuts always imply trust delegation to third-parties and/or affect the overall strength of the network by opening it to new angles of attacks.
The “Selfish” Node
The official Bitcoin client, Bitcoin Core, has a non-default mode called Pruning.
When this option is switched on, the client still downloads the chain data however, after validation it is not required to keep it. A minimum of 288 blocks or two days (288 x 10 ÷ 60 = 48 hours) worth of data is currently kept.
Why is this option not the default since the trust level is not affected (i.e. the data is still downloaded and validated)?
Because the blockchain relies on consensus, individual assessments essentially become worthless when not shared. As long as these selfish nodes are the minority, the protocol works because full nodes compensate. But, if they were to become the norm, they would be deteriorating the strength of the network.
Although practical, pruning is a self-centered solution that does not contribute to strengthen the network.
The Full Node
Ideally, a blockchain should have each of its users run a full node (i.e. download the chain data, validate it and serve it to contribute to reaching the consensus). In addition to not relying on third party for trust, each full node also strengthens the network.
The very concept of contribution is the foundation pillar of the blockchain and the protocol would collapse without the individual contributions of its users.
Global map of users currently serving the Bitcoin network
Scalability is a tough issue and research is ongoing to find more secure practical approaches.
In the meantime let’s remember that size is not only a usability conundrum; because alternative implementations affect security as well.
What’s the Weather Like?
Full Node: “I’ll check the weather outside and report to everyone.”
Pruned Mode: “I’ll check for myself – only.”
SPV Wallet: “I can ask my trusted friends.”
Hardware wallet: “I can lock the weather in your pocket.”
Paper Wallet: “It’s deterministically rainy out there.”
Web Wallet: “Trust me, it’s sunny!”