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

 About This Book

 Introduction of Bitcoin

 Bitcoin Blockchain

Bitcoin Wallet

 What Is Bitcoin Wallet

 Functionalities of Bitcoin Wallet

Data Architectures of Bitcoin Wallet

 Which Wallet Is Better for Me

 Install Bitcoin Core for Windows

 Run Bitcoin Core for Windows

 Bitcoin Core Download Blockchain

 Bitcoin Core Data File Location

 Uninstall Bitcoin Core for Windows

 Bitcoin Core

 Bitcoin Transaction

 Bitcoin-Qt - Bitcoin Core GUI

 Bitcoin Mining

 Bitcoin Consensus Rules

 Bitcoin Block Data Structure

 Bitcoin Transaction Data Structure

 Bitcoin Blockchain APIs

 Copay - Bitcoin Wallet

 Archived Tutorials

 References

 Full Version in PDF/EPUB