BIP39 MNEMONIC WORDS

Similar documents
Wallet Cryptography 101. Steve Swing Substratum

How to Create Your Cryptocurrency Wallet and Add PumaPay Tokens

imtokenwallet Manual If you have any question, please contact us via our telegram (

Wallet Technology. Information Presentation

Electra Desktop Wallet Set-Up Guide

BITCOIN TRANSACTION MALLEABILITY THEORY IN PRACTICE

The KWallet Handbook. George Staikos Lauri Watts Developer: George Staikos

Superwallet User Manual

BARE + BEAUTY Save an EXTRA 15% -OR- 25% off purchases $75+ Save an EXTRA 15% off - OR - a n EXTRA 25% off $75+

NeoPixie Dust Bag with Circuit Playground Express

Beginner's Guide To Gemmology By Peter G. Read READ ONLINE

THINK AND GET LAID: THE 11 KEYS TO UNLOCKING FEMALE ATTRACTION BY DOMINIC MANN

The First Crypto-Currency For Printing. WHITE PAPER - LITE VERSION

Regulating the Blockchain. An in-depth look at the most pressing legal issues facing these technologies.

Visual Search for Fashion. Divyansh Agarwal Prateek Goel

Android GBoard Morse Code Control with Circuit Playground Express

Non-SAC Member Facility Higg Index Guide: Overview

Field to Finish Working with AutoCAD Civil 3D

Sew and Tell Project Planner

Crickit Dancing Marionette Kit Created by Dano Wall. Last updated on :03:11 PM UTC

How to drape a saree MARCH RAMACHCHANDRAN Sulaxana

Using IFTTT with Adafruit IO to Make an IoT Door Detector

The E ects of Wind and Human Movement on the Heat and Vapour Transfer Properties of Clothing

TruVisage and PurEssance Benefits. TruVisage and PurEssance Ingredients

The Fine Art Of Kimono Embroidery By Shizuka Kusano READ ONLINE

BeagleBone. Created by lady ada. Last updated on :46:10 PM UTC

Bluefruit LE Connect for ios

SAFETY DATA SHEET according to 1907/2006/EC, Article 31

Desktop MQTT Client for Adafruit.io

Adafruit IO Basics: Digital Output

MASTERING FASHION MARKETING (PALGRAVE MASTER SERIES) BY TIM JACKSON, DAVID SHAW

OpenSesame EyeLink tutorial

Steven Universe Cosplay Shirt & Gem Created by Erin St Blaine. Last updated on :54:25 PM UTC

Audio Prank Gift Box. Created by Becky Stern. Last updated on :46:15 PM UTC

Version 1.4 Getting Started Guide

Home Security Begins at the Front Door

TECHNOLOGY October 2016 PLATFORM OVERVIEW

Hair and Makeup Packet!

Adafruit GPS Hat in Windows IoT Core

How to Swish. There are loads of different types of Swishes, some massive, some tiny, and each one with its own unique charms.

COSMOS-standard. Labelling Guide. Version 1.4 September 3 rd 2014

The Generation U th Event/ Party Plan

Data Logging with Feather and CircuitPython

Adafruit IO Basics: Color

Adafruit Si7021 Temperature + Humidity Sensor

Oklahoma Wesleyan University Eagles Athletics Branding & Identity Style Guide

The AVQI with extended representativity:

Ring Doorbell is 4.98 x 2.43 x 0.87 inches, x 6.17 x 2.21 cm.

Home Security Begins at the Front Door

CADENUS AND VANESSA BY JONATHAN SWIFT DOWNLOAD EBOOK : CADENUS AND VANESSA BY JONATHAN SWIFT PDF

LIFE OF LADY MARY WORTLEY MONTAGU BY ROBERT HALSBAND

Sword & Wand Prop Effects with Circuit Playground

TRON Bag. Created by Becky Stern

Without Boiling Water

Bike Wheel POV Display

Related KidsHealth Links

Purchasing/Team Card Procedure Using the My Wallet Pivot Grid

News English.com Ready-to-use ESL / EFL Lessons

CRYPTOCURRENCY FOR THE FASHION COMMUNITY

Adafruit Mini TFT with Joystick Featherwing

Multi Tester. Instructions

NeoMatrix 8x8 Word Clock

When Color Fades By C.J. Clark

Adafruit 8x16 LED Matrix FeatherWing

Naughty or Nice Machine

Popcorn: Pop Songs To Play And Sing By Tim Norell;Ulf Wahlberg

TECHNICAL NOTE NO. TN16-1 DATE January 2016 ADA DEVELOPMENT OF MATLAB SCRIPTS FOR THE CALCULATION OF THERMAL MANIKIN REGIONAL RESISTANCE VALUES

Princess: A True Story Of Life Behind The Veil In Saudi Arab By Jean Sasson

Adafruit AM2320 Sensor

SOLIDWORKS Apps for Kids New Designs

Li & Fung s Involvement In Higg Index Adoption

The Higg Index 1.0 Index Overview Training

ONE SMALL CHILD SHEET MUSIC SATB FROM HAL LEONARD - THIS SONG IS FAST BECOMING A STANDARD IN CONTEMPORARY CHRISTMAS LITERATURE.

For over 45 years, Smiley has shaped the way we share happiness and express ourselves through iconic and creative products found all over the world.


How to cure toenail fungus dr oz

Arduino Lesson 6. Digital Inputs

Summer Girl Winter Boy By Barbara Elsborg READ ONLINE

THE LINKOLN PROJECT AT THE ITALIAN SENATE

Adafruit 2.4" TFT FeatherWing

Flora Wearable GPS. Created by Becky Stern. Last updated on :32:36 PM UTC

Color Swatch Add-on User Guide

ewellness magazine The inspiration to loving yourself a little more! Beauty

LED Stego Flex Spike Hoodie

Finding and Citing Images

Storming Heaven: LSD And The American Dream By Jay Stevens READ ONLINE

Higg.org Platform Update What to Expect: Timeline and Next Steps

Instruction Manual New Factory Styles 2011

Adafruit VL53L0X Time of Flight Micro-LIDAR Distance Sensor Breakout

Related KidsHealth Links

BOBBI BROWN BEAUTY RULES PDF

Business Use. P&G at Tor Vergata. Big Data Event 4th October 2018

Tattoo Detection Based on CNN and Remarks on the NIST Database

Adafruit PowerBoost 500 Shield

AAU Library Resources for Fashion

Research and Development Business

STYLOPEDIA. Team 4 Kiran Viswanathan Vanitha Venkatanarayanan Prasad Kodre Prathamesh Bhurke 5/13/2014

Fashion Drawing For Dummies By Lisa Arnold, Marianne Egan

Monochrome OLED Breakouts

PERSONAL. Exhibition PROJECT

Transcription:

BLOCKCHAIN TUTORIAL 28 BIP39 MNEMONIC WORDS emotion allow junior win develop pave volcano box dirt upgrade question athlete

INTRO In this video I will explain: What a wallet is. What the difference is between a non-deterministic wallet and a deterministic wallet. What mnemonic words are. What BIP-39 is.

WHAT IS A 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 addresses 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 queries the blockchain and searches for Unspent TX Outputs (UTXO) for all your Bitcoin addresses to display their balances.

WHAT IS A WALLET The bitcoins on these UTXO can be unlocked and transferred to another Bitcoin address using the private keys stored in the wallet. The word wallet is misleading, it just stores private 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 these 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 address 2 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.

NON-DETERMINISTIC WALLET If you use a non-deterministic wallet you must make regular backups of these private keys. If you have problems with your wallet, you can restore your wallet by importing the backupped private keys. Explaining a non-deterministic wallet (for educational purpose only), see: https://www.mobilefish.com/services/cryptocurrency/cryptocurrency.html

DETERMINISTIC WALLET A deterministic wallet uses 12-24 words to create a 512 bit seed. For example: choice fatal slab rookie These words are called mnemonic words, because they are more easily to remember than this long hexadecimal string BF8526205D0B2E227C52E411472FAD5CA8CAE0285BBEBD566F2B. The 512 bit seed is used to create a master private key. This master private key in turn is used to create private keys and corresponding public addresses.

DETERMINISTIC WALLET master Generate 12-24 words 512 bit seed private private keys key public address

DETERMINISTIC WALLET Generally speaking using these 12-24 words will complete restore your wallet with exactly the same private keys and corresponding public addresses. Hence the word deterministic. It is imperative that you safely store these 12-24 words, without it you have no access to your private keys. To see how an Ethereum deterministic wallet works, see YouTube movie: MetaMask: How to restore your accounts https://youtu.be/cqz8-hoz_nk

BIP-39 The acronym BIP means Bitcoin Improvement Proposal. BIPs are design documents for introducing features or information to Bitcoin. An overview can be found at: https://github.com/bitcoin/bips BIP-39 describes the implementation of mnemonic words for the generation of deterministic wallets. More information about BIP-39 can be found at: https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki BIP-39 is becoming an industry standard which is not only used for Bitcoin wallets but it is also used in Ethereum, Dash and other Altcoin wallets.

BIP-39 ENT = Random number (Allowed lengths: 128, 160, 192, 224, 256 bits) multiple of 32. Example: ENT (128 bits, 16 bytes) = [10101111, 00110011,.., 11110000, 01011110] More bits means better security but means more mnemonic words. Checksum Length CL (bits) = ENT length in bits / 32 Example: CL = 128 / 32 = 4 bits HASH = SHA256(ENT) Example: HASH = SHA256([10101111, 00110011,.., 11110000, 01011110]) HASH = 321e9b91a5647270522e87959d1a56ea3f7601f0e32e837aa8bf420558a2df6f

BIP-39 CHECKSUM CS = Take the first CL bits of the HASH Example: HASH = 321e9b91a5647270522e87959d1a56ea3f7601f0e3 CS = 00110010 ENT_CS = Append the checksum at the end of the random number = ENT + CS Example: [10101111, 00110011,.., 11110000, 01011110] 0011 Split ENT_CS in groups of 11 bits. Example: [10101111001, 10011..,..111100000, 1011110 0011] Word Index = Convert each 11 bits into integers. Example: 1401,..1507

BIP-39 Number of combinations with 11 bits = 2 11 = 2048 The value range is: 0-2047 The wordlist can be found at: https://github.com/bitcoin/bips/blob/master/bip-0039/bip-0039-wordlists.md The wordlist consists of 2048 words. These words and the order must not be changed. The wordlist is also available in other languages. Use the wordlist to find the words for each word index value. Example: 1401 (= quality),..1507 (round) Mnemonic words = [quality,, round]

BIP-39 ENT (bits) # of words combinations combinations 128 12 2048 12 ~5.4 x 10 39 160 15 2048 15 ~4.6 x 10 49 192 18 2048 18 ~4.0 x 10 59 224 21 2048 21 ~3.4 x 10 69 256 24 2048 24 ~2.9 x 10 79

BIP-39 To give you an idea how big these numbers are, the number of atoms in the entire observable universe is estimated to be within the range of 10 78 to 10 82. Concatenate these words into one long string. Mnemonic words = [quality,, round] Mnemonic phrase = qualitycouple conductround Optionally for additional security you can allow users to enter a passphrase. For example: Passphrase = MyBigSecret The word mnemonic together with the passphrase is used as salt. If no passphrase is used the passphrase is an empty string. For example Salt = mnemonic + passphrase Salt = mnemonicmybigsecret

BIP-39 Use the Password-Based Key Derivation Function 2 (PBKDF2) together with the mnemonic phrase and salt to produce a 512 bits seed. The iteration count is set to 2048 and HMAC-SHA512 is used as the pseudo-random function. If an attacker gets its hands on your mnemonic words the passphrase (it you have set it) will prevent the attacker to access the private keys. PBKDF2 is purposefully made slow to make brute force dictionary attack very difficult.

BIP-39 Salt mnemonicmybigsecret Mnemonic phrase qualitycouple conductround PBKDF2 use HMAC-SHA512 2048 iterations 512 bits seed

BIP-39 The 512 bit seed is used to generate deterministic wallets. How to generate deterministic wallets is explained in BIP-32 and BIP-44. It is important to know that each time you enter a different passphrase it will generate a valid 512 bit seed and thus a valid wallet with valid public and private key pairs. This feature can help you limit your loss after a 5$ wrench attack. You can setup a second deterministic wallet with some coins to satisfy the attacker. If you do not know what a 5$ wrench attack is watch this comic: https://xkcd.com/538/ Storing your passphrase at the same location as your mnemonic words is not recommended and beats the purpose.

BIP-39 But if you lose your passphrase, you have lost access to your coins. A JavaScript implementation of BIP-39 can be found at: https://github.com/bitcoinjs/bip39 How this JavaScript library is used see: https://www.mobilefish.com/download/ethereum/bip39.html A Mnemonic Code Converter web application can be found at: https://iancoleman.github.io/bip39

WHAT NEXT In my next video about Hierarchical Deterministic Wallet I will explain how the 512 bit seed is used to create the private keys and corresponding public addresses.