Bitcoin Tutorials - Herong's Tutorial Examples - v1.06, by Herong Yang
Data Architectures of Bitcoin Wallet
This section describes Data Architectures of a Bitcoin Wallet.
Depending on how it interacts with the Bitcoin Network, a Bitcoin Wallet implements one of the following architectures to manage Bitcoin blockchain data:
1. Standalone Full-Node Wallet - A Standalone Full-Node Wallet is a standalone programs that performs functionalities of Managing Personal Public Keys, Signing Transactions to Send Bitcoins, and Interacting with the Bitcoin Network all locally on your device.
A Standalone Full-Node Wallet maintains a complete copy of the Bitcoin blockchain data and can run as a node becoming part of the Bitcoin network.
The main advantage of a Standalone Full-Node Wallet is that you are truly independent of any service providers, and able to fully verify any payments.
The disadvantage of a Standalone Full-Node Wallet is that it consumes a large amount of disk space, like 150 GB as of 2018, to store blockchain data. It also requires a large CPU resource to run.
For example, Bitcoin Core is a Standalone Full-Node Wallet.
2. Client-Server Wallet - A Client-Server Wallet is just a client program that only performs functionalities of Managing Personal Public Keys and Signing Transactions to Send Bitcoins locally on your device.
Functionalities of Interacting with the Bitcoin Network are done by calling the Internet server operated by the wallet provider. Of course, the provider's server is running a full Bitcoin node and connected to the Bitcoin network all the time.
The main advantage of a Client-Server Wallet is that it is ultra light. No bitcoin block data is stored on your device.
The disadvantage of a Client-Server Wallet is that if the wallet provider closes their business, you will have difficulties to access your Bitcoins in your wallet.
For example, Copay is a Client-Server Wallet.
3. Standalone SPV Wallet, also called Light Wallet - A Standalone SPV (Simple Payment Verification) Wallet is a standalone programs that performs functionalities of Managing Personal Public Keys, Signing Transactions to Send Bitcoins, and Interacting with the Bitcoin Network all locally on your device.
But a Standalone SPV Wallet does not maintains a complete copy of the Bitcoin blockchain data. It only stores block headers of the blockchain, no transactions.
To confirm a transaction, it call other nodes on the Bitcoin network for information to perform the SPV (Simple Payment Verification) process.
The main advantage of a Standalone SPV Wallet is that it is light, about 30 MB, as of 2018. And it is independent of any service providers.
The disadvantage of a Standalone SPV Wallet is that it does not perform full payment verification.
For example, Breadwallet is a Standalone SPV Wallet.
Table of Contents
Functionalities of Bitcoin Wallet
►Data Architectures of Bitcoin Wallet
Install Bitcoin Core for Windows
Bitcoin Core Download Blockchain
Bitcoin Core Data File Location
Uninstall Bitcoin Core for Windows