billeteras de bitcoin...la seed es su ciente para backupear e importar la billetera es un conjunto...

48
Billeteras de Bitcoin Introducci´on, software y hardware wallets Fran Dosk & Eti Marcus 23 de abril de 2020 kryptminers.tech - recovercoins.io

Upload: others

Post on 27-Jan-2021

0 views

Category:

Documents


0 download

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