The document summarizes an electronic cash conference workshop on introducing participants to bitcoin cash wallets. The workshop covers creating and recovering wallets from seed phrases, watching wallets without spending ability, importing private keys, and using CashFusion for improved privacy. Participants will download the Electrum ABC wallet, create wallets, transfer funds between addresses, and enable CashFusion.
5. 5
Full node
●
Total control and good
privacy for keys &
addresses
●
Advanced tools, scripts
(using RPC & command line)
●
High bandwidth and disk
space requirements
(hundreds of gigabytes)
6. 6
Exchange
●
Lowest disk space and
bandwidth requirement
●
No control over keys or
infrastructure
●
If the exchange disappears,
you lose your funds!
●
Not your keys, not your
coins
●
Basically a bank
7. 7
Light wallets with centralized infra
●
Low bandwidth and low disk
space requirements
●
You control your keys, the
server only knows your
addresses
●
Some trust required in the
organization running the server
●
If the infra disappears, you can
import your keys in a different
wallet
9. 9
Electrum (2)
●
Moderate disk space requirements
(block headers: 200 MB)
●
Full control over keys
●
Optional control over
infrastructure
●
Advanced tools
●
Desktop only, no mobile app
10. 10
Keys and addresses
●
Private key:
– Large number, impossible to guess
– Controls the funds: signs transactions to spend your coins
– Keep it secret
●
Public key:
– Derived from private key using cryptography (complicated math)
●
Address:
– Derived from public key (or script) using hashing: Address = RIPEMD160(SHA256(pubkey))
●
All of the above are just binary data, and can be represented in various formats
– WIF private key: L1TnU2zbNaAqMoVh65Cyvmcjzbrj41Gs9iTLcWbpJCMynXuap6UN
– Legacy BTC address: 15hETetDmcXm1mM4sEf7U2KXC9hDHFMSzz
– Cash address: ecash:qqehccy89v7ftlfgr9v0zvhjzyy7eatdkqjzq5st4e
etoken:qqehccy89v7ftlfgr9v0zvhjzyy7eatdkquufkxv3w
11. 11
Hierarchical Deterministic wallets (BIP 32)
●
In the past, wallets used a collection
of randomly generated keys
●
A wallet backup required to save all
the keys
●
HD wallets were introduced to
derive an infinite number of keys
from a single master key (seed)
●
A key is identified by an index:
parent_index/child_index/grandchild_index/...
12. 12
Mnemonic seed phrase (BIP 39)
●
A wallet seed can be represented using english words
(usually 12 or 24) from a list of 5000 words.
●
Easy to write down on paper
●
Easy to type when restoring wallet
13. 13
Derivation path (BIP 44)
●
Standardized logical hierarchy (key indexes) for HD wallets
●
Purpose is 44 (reference to BIP 44 standard)
●
Coin type depends on the blockchain:
eCash: 899 or 1899; Lotus: 10605; BTC: 0;
tesnet (all chains): 1
This allows to use the same seed phrase for multiple
blockchains without reusing keys in multi-chain wallets.
m / purpose' / coin_type' / account' / change / address_index
14. 14
Workshop: Create a new standard wallet
●
Create a wallet
●
Write down the seed phrase
●
Receive funds, send a fraction to someone or yourself
– Try to have at least two “coins” in your wallet at the end
●
Copy the xpub to a text document (notepad)
●
Copy two private keys associated with non-empty
addresses
15. 15
Workshop: recover a wallet
●
Recover a wallet using the seed phrase you wrote down
●
Try the derivation path scanner
●
Check that you can send the funds
16. 16
Create a watch-only wallet
●
Create a wallet from an xpub key
– Can you see the funds?
– Can you spend the funds?
– Can you create additional addresses?
– Can you think of interesting use cases for this?
●
Create a wallet from an address from a block explorer
explorer.bitcoinabc.org
– Have a glimpse of someone else’s transaction history
17. 17
Workshop: Wallet from private key
●
Create a wallet from one or more private keys
– Check that you can spend a fraction of the funds to yourself
– How many addresses do you have in that wallet? How many coins?
●
Create a new “standard wallet” and try the “Sweep private keys”
tool. (Menu Wallet > Private Keys > Sweep)
– Did the new wallet receive the funds?
– Are the funds still in the old wallet?
– Why is sweeping preferable to importing the key, when someone else gave
you the key? Who controls the funds in each case?