1. Describe in short what a bitcoin wallet does.
A bitcoin wallet stores the users âprivate keysâ (PKs). A wallet does not store or hold coins.
There are 5 types of wallet ranked by there intrinsic security from 1 through 5.
1) Paper Wallet - highly secure because their is no digital signature, but user dependent.
The paper wallet holds the users private key (PK) in paper (hard copy) format which is maintained offline, and so has no digital signature. A paper wallet is highly secure until the PK is entered into the blockchain network via a full node to initiate a transaction. At which point the security of the paper wallet is compromised because the connected device now has a digital record of the paper wallet PK and so is vulnerable to attack.
To regain the integrity of the paper wallet PK the user needs to create another PK (record another PK on a new piece of paper) to regain the security of the PK. This method of transferring funds is highly secure, but also highly inconvenient. If the paper key is lost the user is screwed. E.g. the user washes clothes his trousers and the PK is located within the trouser pocket, ahhhhg.
2) Hardware Wallet -USB device maintaining the PK, but not connected to the network
An example of a hardware (HW) wallet is a Trezor HW Wallet. This is a USB device which maintains the users PK. A hardware wallet is similar to a Simplified Payment Verification (SPV), but is used to simplify the paper wallet transaction process.
A HW wallet does not transmit or expose the PK to the blockchain network. A HW wallet simply authorizes transactions using the users PK returning the completed transaction + hidden PK for broadcast to the blockchain network to transfer funds recorded within the blockchain ledger.
3) Hosted Wallet - user wallet is maintained by a 3rd party, typically an exchange.
The 3rd party exchange (e.g. Coinbase, Binance, Britrex) maintains a record of the blockchain ledger similar to a full node plus multiple user private keys. This solution offers the user an easy methodology to interact with the blockchain ledger/network from multiple remote devices.
The user does not record or maintain their PK. Instead the exchange displays to the user, via a secure HTTPS login portal, the number and type of coins they own. On logging into the exchange the user instructs the exchange via a simplified payment verification (SPV) application (desktop pc or mobile phone) how to manage their online funds.
The SPV initiates transaction requests instructing the exchangeâs cold storage wallet (cold storage wallet; which contains multiple user PK for tracking user identified coins contained within the blockchain ledger) how to initiate a blockchain ledger transaction. i.e. transfer funds from one user to another.
4) Full Node - security improved via offline hardware wallet
Contains a complete copy of the blockchain ledger, and is permanently connected to the blockchain network. Since the PK and full node are one in the same hardware is vulnerable to attack due to a malware security breach.
Full node implementation security is improved by containing the users PK offline via a hardware wallet (Trezor). Raining its security level above that of an exchange.
5) SPV; Simplified Payment Verification. Lowest level of security.
A typical SPV application is a mobile phone wallet. This is a lowest level of security because the wallet can be stolen or lost or hacked via a remote user using a WiFi or Cellular connection installing malware onto the users mobile phone.
A SPV does not contain a complete copy of the blockchain ledger due to its limited memory capacity. An SPV requires access to a full node to complete a blockchain ledger transaction.
To improve the level of security a SPV is typically used to instruct the exchange how to manager the users coins.
An SPV requires access to multiple âfull nodesâ to integrate the blockchain ledger to confirm the requested transaction has been completed successfully. A SPV requires access to more than one âfull nodeâ encase the connected âfull nodeâ is slow to update or is offline to ensure the SPV accurately tracks/records the blockchain ledger transaction.
==== the end ====