billeteras de bitcoin...la seed es su ciente para backupear e importar la billetera es un conjunto...
TRANSCRIPT
-
Billeteras de Bitcoin
Introducción, software y hardware wallets
Fran Dosk & Eti Marcus
23 de abril de 2020
kryptminers.tech - recovercoins.io
-
Contenido
1. Introducción
2. Hardware Wallets
3. Software Wallets
4. ¡Debate!
1
-
Introducción
-
Introducción
Fuente:xkcd.com
2
-
Introducción - Wallet
• La propiedad (ownership) de Bitcoin es establecida a través delas llaves digitales, direcciones de Bitcoin y firmas digitales
• Las llaves digitales no están almacenadas en la red sino en unarchivo o base de datos llamado wallet
• Las llaves son independientes del protocolo y son generadas yadministradas por la wallet sin referencia a la blockchain ni a Internet
• Cada transacción requiere una firma digital válida para ser incluidaen la blockchain
• Cualquiera que posea una copia de la llave privada tiene control delos Bitcoin en esa cuenta
• Llave privada y llave pública es comparable a Cuenta bancaria y PIN
• La dirección es derivada de la llave pública
3
-
Introducción - Criptograf́ıa de llave pública y criptomonedas
• Inventada en los 70s, base de la computación y seguridad informática• Funciones matemáticas (ej. SHA2 o SHA256):
• Irreversibles, fácil de calcular en una dirección, inviable en la opuesta• Permiten la creación de firmas y llaves digitales• Bitcoin utiliza la multiplicación de curvas eĺıpticas
• Utilizamos criptograf́ıa para crear un par de llaves que controlan elacceso a bitcoins
• Una llave privada para firmar las transacciones (y mensajes)generando una firma digital. ¡Tiene que permanecer secreta y
backupeada!
• Una llave pública, derivada de la anterior, para recibir bitcoins
• La firma se valida con la llave pública sin la privada.
4
-
Introducción - Llaves privadas y públicas
Una billetera o wallet de bitcoin contiene una colección de pares de llaves
(key pairs) que consisten en una llave pública y una privada. Para generar
la dirección a partir de la llave pública o esta misma a partir de la privada
se usan estas funciones irreversibles
Fuente:Mastering Bitcoin. Andreas Antonopoulos
Figura 1: Llave púbica, llave privada y dirección de bitcoin
5
-
Introducción - Direcciones
La dirección de bitcoin se deriva a partir de la llave privada
Se representa en Base58Check que es un sistema númerico de 58 d́ıgitos
con error-check (binario 2, decimal 10, hex 16, etc)
Fuente:Mastering Bitcoin. Andreas Antonopoulos
Figura 2: Conversión de una llave pública en una dirección de bitcoin6
-
Introducción - Tipos de llaves
Las llaves públicas y privadas se expresan de formas diferentes
Type Prefix(s) Example
Legacy 1 17VZNX1SN5NtKa8UQFxwQbFeFc3iqRYhem
Segwit compatible 3 3EktnHQD7RiAE6uzMj2ZifT9YgRrkSgzQX
SegWit mainnet bc1 bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4
SegWit testnet tb1 tb1qw508d6qejxtdg4y5r3zarvary0c5xw7kxpjzsx
Private key 5 5Hwgr3u458GLafKBgxtssHSPqJ ...
(WIF ’uncompressed’) ... nYoGrSzgQsPwLFhLNYskDPyyA
Private key K or L L1aW4aubDFB7yfras2S1mN3bqg ...
(WIF ’compressed’) ... 9nwySY8nkoLmJebSLD5BWv3ENZ
HEX 1 1E99423A4ED27608A15A2616A2B0E9E5 ...
... 2CED330AC530EDCC32C8FFC6A526AEDD
7
-
Introducción - Wallets
• Wallets contienen llaves y no dinero ni un balance• Diferentes tipos:
• No determińısticas ’Just a bunch of keys’Colección de llaves privadas generadas aleatoriamente, en desuso
• Determińısticas Derivadas de una semilla o seed a través de unafunción de hash
Fuente:Mastering Bitcoin. Andreas Antonopoulos
Figura 3: Wallet no determińıstica (izq) y determińıstica (der)
8
-
Introducción - Wallets determińısticas jeráquicas (HD)
• Son derivadas de una semilla o seed a través de una función de hash• La seed es suficiente para backupear e importar la billetera• Es un conjunto de 12 a 24 palabras (128 a 256 bits)
Ej; army van defense carry jealous true garbage claim echo media make crunch
Fuente:Mastering Bitcoin. Andreas Antonopoulos
Figura 4: Billetera determińıstica9
-
Introducción - Seed
Figura 5: Seed, simplemente las 12 palabras
10
-
Introducción - Paper Wallets
Las billeteras de papel son claves privadas de bitcoin impresas en papel
a veces también incluyen la dirección de bitcoin correspondiente Se puede
generar y tener totalmente offline
Fuente:bitcoinpaperwallet.com
Figura 6: Billetera de papel con la llaves pública y la privada en una solapa
plegable
11
-
Hardware Wallets
-
Hardware Wallets - Trezor, Ledger y Coldcard
Figura 7: Todos los modelos de Ledger, Trezor y Coldcard MK3
12
-
Hardware Wallets - Trezor, Ledger y Coldcard
Wallet Soft and Hard licenses Secure Element (SE)
Trezor OpenSource Secret stored in a general
everything open and verifiable purpose microcontroller (MCU)
Ledger Security Through Obscurity EAL5+ certified SE
trust factor is introduced
Coldcard OpenSource Secure MCU
A Secure Element (SE) is a microprocessor chip which can store sensitive data and
run secure apps such as payment. It acts as a vault, protecting what’s inside the SE
(applications and data) from malware attacks that are typical in the host (i.e. the
device operating system). However, the bank-grade SE usually comes along with
(partially or fully) closed-source firmware.
Fault attack: Active attacks against cryptographic implementations
Evaluation Assurance Level (EAL) is a numerical grade assigned following the
completion of a Common Criteria security evaluation, an international standard.
13
-
Software Wallets
-
Electrum 101 - Como crear una billetera
14
-
Electrum 101 - Como crear una billetera
14
-
Electrum 101 - Como crear una billetera
14
-
Electrum 101 - Como crear una billetera
14
-
Electrum 101 - Como crear una billetera
14
-
Electrum 101 - Como crear una billetera
14
-
Electrum 101 - Como crear una billetera
14
-
Electrum 101 - Como crear una billetera
14
-
Electrum 101 - Como crear una billetera
14
-
Electrum 101 - Como crear una billetera
14
-
Electrum 101 - Como crear una billetera
14
-
Electrum 101 - Como crear una billetera
14
-
Electrum 101 - Como crear una billetera
14
-
Electrum 101 - Como crear una billetera
14
-
Electrum 101 - Como crear una billetera
14
-
Electrum 101
Cabe destacar que durante la creación de la billetera generamos una
seed, la extensión de la seed (passphrase) y la contraseña de la billetera.
Estas primeras dos son sólo necesarias al restaurar la billetera.
• Seed:offer range wife ticket emotion disagree kind wood special flock
original deliver
• Extension, custom word o passphrase: customword• Contraseña de encriptación de la billetera: W4ll3tP4$$w0rd
15
-
Electrum 101 - Como crear una billetera de sólo lectura
16
-
Electrum 101 - Como crear una billetera de sólo lectura
16
-
Electrum 101 - Como crear una billetera de sólo lectura
16
-
Electrum 101 - Como crear una billetera de sólo lectura
16
-
Electrum 101 - Como crear una billetera de sólo lectura
16
-
Electrum 101 - Como crear una billetera de sólo lectura
16
-
Electrum 101 - Como crear una billetera de sólo lectura
16
-
Electrum 101 - Como hacer una transacción desde la cold wallet
Primero generamos la transacción en la billetera watching only
17
-
Electrum 101 - Como hacer una transacción desde la cold wallet
Acá ponemos ”Save”para exportar el archivo de la transacción sin firmar
17
-
Electrum 101 - Como hacer una transacción desde la cold wallet
En el Ethereum cold storage importamos y firmamos
17
-
Electrum 101 - Como hacer una transacción desde la cold wallet
Finalmente se hace el broadcast
17
-
¡Debate!
-
Mind Map
18
-
¡Gracias a todos!
¿Preguntas?
recovercoins.io
kryptominers.tech
19
recovercoins.iokryptominers.tech
-
¿Preguntas?
19
IntroducciónHardware WalletsSoftware Wallets¡Debate!Apéndice