Trending Technology Machine Learning, Artificial Intelligent, Block Chain, IoT, DevOps, Data Science

Recent Post

Codecademy Code Foundations

Search This Blog

Bitcoin Wallet - Deterministic and Non - Deterministic Wallet

What is a Bitcoin Wallet ?
  • A wallet stores private keys.
  • The public addresses are automatically derived from the private keys.
  • A wallet does not store coins (Bitcoin, Litecoin, Ether etc.).
  • If you open your Bitcoin wallet and one of your Bitcoin address shows that is has a balance of 5 BTC, than these bitcoins are not actually stored in your wallet. It means that these 5 bitcoins were transferred to your Bitcoin address during a transaction. This transaction (TX) information is stored on the blockchain.
  • Your wallet quires the blockchain and searches for Unspent TX Outputs (UTXO) for all your Bitcoin address to display their balances.
  • The bitcoins on these UTXO can be unblocked and transferred to another Bitcoin address using the private keys stored in the wallet.
  • The word wallet is misleading, it just stores keys and not the coins.
  • If you lose your wallet, you lose your private keys and if you lose your private keys you can not unlock UTXO . This means you have lost access to your coins.
  • However if you can restore your private keys (for example you have made a backup you can always access your coins.
Non - Deterministic Wallet

Wallets stores private keys but they also create private keys.

A non-deterministic wallet does the following:
* It generates private key 1 which in turn creates a corresponding public address 1

* It generates private key 2 which in turn creates a corresponding public address2 
etc...

The private keys are randomly generated numbers which are not related to each other.

You can not derive these private keys with an algorithm.
Hence the words "non-deterministic". 

If you use a non-deterministic wallet you must make backups of these private keys.

If you have problems with your wallet, you can restore your wallet by importing the backupped private keys.




Deterministic Wallet
  • A deterministic wallet uses 12-24 words to create a 512 bit seed.
  • These words are called mnemonic words, because they are more easily to remember that this long hexadecimal string
        "BF8526205D0B2E227C52E411472FAD5CAE0285BBEBD566F2B".
  • The 512 bit seed is used to create a master private key.
  • This master key in turn is used to create private keys and corresponding public address.


Generally speaking using these 12=24 words will completer restore your walled with exactly the same private keys and corresponding public addresses. Hence the word "deterministic".

No comments:

Post a Comment

Popular Posts