Latest news about Bitcoin and all cryptocurrencies. Your daily crypto news habit.
When I am discussing Bitcoin, blockchain and distributed ledger technologies with friends and colleagues, I always try to mention and explain the following statement:
Donât trust, verify.
This is a very strong statement, which indirectly describes one of the biggest advantages of Bitcoin and consequently blockchain.
Bitcoin arose as an alternative to our existing, catastrophically failing banking system. Our current banking system is based on trust and like Satoshi Nakamoto initially wrote in 2009:
âThe root problem with conventional currency is all the trust thatâs required to make it work. The central bank must be trusted not to debase the currency, but the history of fiat currencies is full of breaches of that trust. Banks must be trusted to hold our money and transfer it electronically, but they lend it out in waves of credit bubbles with barely a fraction in reserve. We have to trust them with our privacy, trust them not to let identity thieves drain our accounts. Their massive overhead costs make micropayments impossible.â
With Bitcoin (and blockchain) we now got a technology, which is still in an early phase of its development, but already offers a solid solution, which has been proved itself as an alternative since 2009.
The wallet is the interface to the underlying technology and up to now not quite ready for mass adoption. There are three essential aspects to evaluate a wallet:
- TrustâââCan I validate transaction myself? Do I have to trust a 3rd party?
- PrivacyâââIs it possible to anonymously buy / sell / transact?
- SecurityâââIs my key secure? How is it stored?
When examining Coinbase:
- Trustâââyou cannot validate the transaction yourself
- Privacyâââyou need to register
- Securityâââyou donât have access to your key (or you donât have a key at all)
Coinbase is the counterexample of what Bitcoin is meant to be.
However, Bitcoin Core (most popular full node implementation) is not perfect either:
- Trustâââit is a full node, which is able to fully validate
- Privacyâââno sign-up required and it is possible to create multiple addresses
- Securityâââit does not come with a secure store (e.g. hardware wallet)
Before going deeper into the distinctions and trade-offs, the concept of full nodes and SPVs (Simplified Payment Verification) will be explained, which are two options to choose from, when not using an exchange:
An SPV is a Bitcoin implementation that does not verify everything. The SPV client submits a bloom filter (a filter to request only matching transactions and merkle blocks) to a full node providing SPV services. Each time a block header is sent, a full node will check against the provided bloom filter if transactions that may or may not be interested is in the block. If positive, then the identified transactions will be included, plus all other transactions required to compute the merkle root. For each block header received, the SPV client will check if it contains a proof of work solution that meets the difficulty requirement and if it is linked to the previous block.
Nodes that fully verify all of the rules of Bitcoin are called full nodes. The most popular implementation of a full node is Bitcoin Core. Full nodes download every block and transaction and check them against Bitcoinâs consensus rules.
https://bitseed.org/mobile-bitcoin-wallets/
It is necessary to run a full node and not just an SPV. Otherwise miners can just change the consensus rules and/or the full node you trust can be simply adversarially adjusted.
The fee estimation should not be done by anyone else, but by yourself. However, the SPV does not have the mempool / UTXO set, which is required to do proper fee estimation without relying on a centralized service.
Nevertheless most of the people are using centralized validation like Coinbase and Trezor (the transactions are sent to their service, but alternatives with Electrum exists though), because of the good usability and the ease of use. For the average person it is impracticable to download the entire blockchain and set up a full node on a computer, a server or even a smartphone. There are neither mobile carrier contracts with up to 200 GB mobile data bandwith, nor smartphones with this amount of internal storage. With a block size limit of 1 MB, Bitcoinâs blockchain scales like around 50 GB per year. If the block size is even bigger, then it becomes even harder to run and maintain a full node for the average person, because it will be economically infeasible. Which means: Less full nodes, less decentralised.
Centralized validation is convenient, but as Satoshi Nakamoto indirectly stated: it is also the root of failure in the past.
However, full nodes are required to make Bitcoin trustless. There is no central institution (like a bank or PayPal), just the software running on your own computer. Everyone is his/her own bank and should verify for themself.
Whenever features are outsourced to someone else, trust and reliance is needed. Though, the less functionalities are outsourced, the more complex the usage becomes and thatâs an obstacle for most of the people. It is quite a tough balancing act to have something âeasy to useâ, in order to have more adoption and at the same time a minimized reliance on a centralized service. Hence, there is still a lot of room for improvements. There are already multiple BIPs (Bitcoin Improvement Proposal), which can and most likely will pave the road for future wallets: e.g. BIP158, BIP174. The development of a (almost) trustless hardware wallet with great user experience is another thing I am looking forward to.
Bitcoin (and blockchain) is about being able to operate in a trustless manner, in a hostile environment. It provides the great opportunity to verify everything, so you can be aware about everything which is happening in the system. Therefore, we should not forget about this powerful, inherent feature.
Sidenote: Currently, it is not much of a hassle and quite affordable to set up and run Bitcoin full nodeâââit is even possible on a Raspberry Pi. Check out this great tutorial.
References:
Thanks and s/o to Jonas Schnelli and more for the good thoughts and work on this!
https://bitcoin.jonasschnelli.ch/BOB_jonasschnelli_csatfow.pdf
http://p2pfoundation.ning.com/forum/topics/bitcoin-open-source
https://en.bitcoin.it/wiki/Full_node
https://bitcoin.org/en/glossary/bloom-filter
What most people forget about Bitcoin (and blockchain) was originally published in Hacker Noon on Medium, where people are continuing the conversation by highlighting and responding to this story.
Disclaimer
The views and opinions expressed in this article are solely those of the authors and do not reflect the views of Bitcoin Insider. Every investment and trading move involves risk - this is especially true for cryptocurrencies given their volatility. We strongly advise our readers to conduct their own research when making a decision.