Bitcoin - Fundamentos de las criptomonedas

Slides:



Advertisements
Presentaciones similares
Trabajo de redes Inma Gómez Durán
Advertisements

Redes I Unidad 7.
Criptografía de clave privada: Cifrado de Vernam o “one-time pad”
Equipo #4: - Francisco Rodriguez - Karen Lopez - Marcela Mireles - Marcelo Sanchez - Erick Ontiveros - Rodrigo Peña.
CRIPTOGRAFÍA BÁSICA Juan Jesús Bru Castro.
HMAC hash-based message athentication code
Tiene dos partes: usuario e institución. El usuario que realiza una gestión a través de internet necesita: -Un ordenador, teléfono móvil o PDA. -Un navegador.
Punto 6 – Seguridad en el protocolo HTTP Juan Luis Cano.
UNIVERSIDAD LATINA (UNILA) I.- FIRMA Y CIFRADO DE DOCUMENTOS
Salvador Casquero Algarra 1 Blockchain & bitcoin - ¿ Oportunidad o amenaza ? 21 abril 2016 Dirección de Tesorería y Mercado de Capitales.
LEY DE AMPARO Y LAS TIC. ALCANCES INFORMÁTICOS DE LA LEY DE AMPARO. Desde el punto de vista informático, la ley de amparo establece que debe implementarse.
Para generar una transmisión segura de datos, debemos contar con un canal que sea seguro, esto es debemos emplear técnicas de forma que los datos que.
Firma Digital. Definición La firma digital es una herramienta tecnológica que permite garantizar la autoría e integridad de los documentos digitales,
Las Firmas Electrónicas yDigitales. La Firma Digital Es un método criptográfico que asocia la identidad de una persona o de un equipo informático al mensaje.
Algoritmo de seguridad RSA web/aritmetica_modular/rsa.html
COMERCIO ELETRÓNICO Ing. Omar Baldeon Ximena A. Cumba M., Diego Loachamin, Kleber Sánchez, Elisa Santín PASARELA DE PAGOS.
Mónica Cecilia Gallegos Varela Experto en Comercio Electrónico Divisa electrónica y pagos online Mónica Cecilia Gallegos Varela.
Una criptomoneda es una moneda virtual que sirve para intercambiar bienes y servicios a través de un sistema de transacciones electrónicas sin la necesidad.
LA COMUNIDAD DE BITCOIN MÁS GRANDE DEL MUNDO
Comunicaciones Seguras
BITCOIN.
Nuevas Tecnologías aplicadas a los servicios de pago
Programación con la TARJETA INTELIGENTE GPK.
Bitcoin & Money La moneda que está cambiando el mundo
LA COMUNIDAD DE BITCOIN MÁS GRANDE DEL MUNDO
Javier González Granado Notario de Formentera
¿Qué es Bitcoin?. Bitcoin es una criptomoneda. Esto quiere decir que es una moneda virtual y también intangible. Es decir, no es algo físico, por lo que.
Introducción a la Seguridad en Sistemas Informáticos
Multiplexación y encriptación
Microprocesador Estructura interna.
Capítulo 8, Sección 8.6: IPsec
LABORATORIO DE PAGINA WEB
CRIPTOGRAFIA ASIMETRICA RSA
Miguel González Ibarra David Román Ochoa León
PROTOCOLO SSL.
Minería de criptodivisas
PROYECTO DE COMPUTACION INTERNET RED DE REDES. INTERNET ES CONOCIDA COMO LA RED DE REDES YA QUE SE TRATA DE UN SISTEMA DESCENTRALIZADO DE REDES DE COMUNICACIÓN.
Seguridad Informática
Pasos para Desencriptar la Información Confidencial Enviada al Cliente
Correo seguro Gustavo Antequera Rodríguez.
INTERNET Actividad 3 Herramientas Tareas Ruben Dario Acosta V.
Retiro Técnico Puerto Vallarta 2017
Bitcoin: Una Criptomoneda
Seguridad en las redes de computadores Nota sobre el uso de estas diapositivas ppt: Proporcionamos estas diapositivas de forma gratuita para todos (profesores,
¿Son legales las criptomonedas?
FUNDAMENTOS TECNOLÓGICOS DE INFORMACIÓN
Conocimiento de la nueva moneda virtual Bitcoin entre los estudiantes de Ciencias Administrativas de la Universidad Interamericana de Panamá. Integrantes:
TRANSFERENCIAS ELECTRÓNICAS Y PAGOS
A RQUITECTURA C LIENTE - SERVIDOR La arquitectura del cliente servidor se divide en dos partes Los promovedores de recursos o servicios llamados servidores.
LA MONEDA VIRTUAL.
¿QUÉ SON LAS CRIPTOMONEDAS? Las monedas virtuales, criptomonedas o criptodivisas son, por un lado, un monedero electrónico, porque permiten hacer transferencias.
UNFV-FIC TEMA: EL BITCOIN ALUMNO : ESPINOZA VILLACORTA ALEX MGUEL CODIGO: CURSO: DEFENSA NACIONAL DOCENTE: RAMOS FLORES MIGUEL ANGEL AÑO :
TEMA 8: EL DINERO Y LOS MEDIOS DE PAGO
MÉTODO DE JULIO CESAR Desplazamiento de 3 letras
“Blockchain - Conceptos” Rogelio Ferreira Escutia
Presentación del Curso Curso de Seguridad Informática Dr. Jorge Ramió Aguirre Universidad Politécnica de Madrid Material Docente de Libre Distribución.
Tema 0 Una Introducción a la Criptografía
Criptografía de clave pública
Planificación Curso UNIDAD 1. INTRODUCCIÓN A LOS SERVICIOS EN RED
Criptografía de clave pública MIGUEL ÁNGEL PIÑA GARCÍA JUAN DANIEL DEL TORO RAMOS.
ESTRUCTURA DE SISTEMAS OPERATIVOS Carbajal Rojas karla.
Blockchain Ethereum.
Innovative Payments.
COMERCIO COMERCIO ELECTRÓNICO UNA ESTRATEGIA FUNDAMENTAL PARA LOS NEGOCIOS. Lic. Edwin Mendoza.
Curso Básico de Blockchain Blockchain Hecho Facil.
Presentación del Curso Curso de Seguridad Informática Dr. Jorge Ramió Aguirre Universidad Politécnica de Madrid Material Docente de Libre Distribución.
INTRODUCCIÓN A LA INFORMÁTICA
Capítulo 8 Seguridad en Redes:
INTERNET Cuando la gente hace referencia a Internet se está refiriendo normalmente a esta red y a un conjunto de servicios y aplicaciones que permiten.
“Blockchain - Conceptos” Rogelio Ferreira Escutia
Transcripción de la presentación:

Bitcoin - Fundamentos de las criptomonedas Vicente Muñoz (Universidad Complutense de Madrid) Semana de la Ciencia Indignada, 22 de marzo de 2018

Matemáticas en la era digital

World wide web - Internet

Una compra en internet tienda yo banco hacker

Comunicación encriptada Necesidad de comunicación “segura” Queremos encriptar la información de forma que si un tercero la lee no pueda descifrarla RSA es un sistema criptográfico de clave pública desarrollado en 1977 (Rivest, Shamir y Adleman) Es el primer y más utilizado algoritmo de este tipo y es válido tanto para cifrar como para firmar digitalmente La seguridad de este algoritmo radica en el problema de la factorización en números primos Usado en páginas web seguras

Criptografía de clave pública Cada ordenador (A) genera una clave pública (PU-A) y una clave privada (PR-A) La clave privada sirve para encriptar mensajes. La clave pública sirve para desencriptarlos Cada usuario envía su clave pública a la red para que todos los ordenadores en red la oigan Alicia quiere enviar un mensaje M a Bob. Toma la clave pública de Bob y encripta m = Enc(M,PU-B) Envía el mensaje m a Bob por internet Bob lee el mensaje y lo desencripta Des(m,PR-B) = M, usando su clave privada Solo Bob podría desencriptar y leer ese mensaje Para evitar ataques (hackers) debe ser casi imposible adivinar PR-B si conocemos PU-B

Números módulo n Sea n > 1 un número natural Consideramos los números módulo n, dados por 0, 1, 2, …., n-1 Si a,n son coprimos, entonces existe b con a.b ≡ 1 (mod n) es decir a.b = k.n + 1 Los números coprimos con n dan la función de Euler Φ(n) = cantidad de números coprimos con n (módulo n) Para n = 15, tenemos 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14. Luego Φ(15) = 8 Si n = p.q, con p, q primos, tenemos que Φ(n) = p.q – (p + q -1) = (p-1).(q-1) Teorema de Euler: Sea a coprimo con n, entonces: a, a^2, a^3, …. son coprimos con n. Al repetirlo Φ(n) veces, tenemos a^Φ(n) ≡ 1 (mod n)

Encriptación y desencriptación Generación de claves Alicia elige dos números primos p y q, grandes y de forma aleatoria n = p.q Φ(n) = (p-1).(q-1) Clave pública: se elige e coprimo con Φ(n). Se dan a conocer e, n Clave privada: se determina d con e.d ≡ 1 (mod Φ(n)) Encriptación y desencriptación Alicia: sea M el mensaje. Sean e, n las claves PU-Bob (es decir e, n) Alicia encripta y envía: m ≡ M^e (mod n) Bob recibe m y desencripta, usando PR-Bob (es decir, d) m^d ≡ M^(e.d) ≡ M^(1+k.Φ(n)) ≡ M.(M^Φ(n))^k ≡ M (mod n) Usando (teorema de Euler): M^Φ(n) ≡ 1 (mod n)

Seguridad Dos números primos p y q grandes Clave pública: n = p.q , e Clave privada: d con e.d ≡ 1 (mod Φ(n)) donde Φ(n) = (p-1).(q-1) Para encontrar la clave privada, necesitamos conocer p y q, es decir factorizar n. Problema computacionalmente imposible RSA-300 (90 dígitos) puede factorizarse en un ordenador personal en varias horas RSA-768 (232 dígitos), el mayor en ser factorizado por ahora, lleva 15000 años-CPU de cálculo Se suele usar RSA-1024 o RSA-4096

Funciones HASH Una función hash H es una función computable mediante un algoritmo x → H(x), que tiene como entrada una cadena, y la convierte en una cadena de longitud fija y pequeña Bajo costo Compresión (digest) Sirve como identificadores de documentos, difícilmente corruptibles Uniforme (equi-probabilidad) Determinista (pseudo-aleatoria)

SHA (Secure Hash Algorithm) Familia de funciones Hash de cifrado publicadas por el National Institute of Standards and Technology USA SHA-2. Tamaño de salida: 224 a 512 bits Tamaño del mensaje: 2^64 a 2^128 bits Operaciones: +, and, or, xor, shr, not. Iteraciones: 64 a 80 SHA224("The quick brown fox jumps over the lazy dog") 0x 730e109bd7a8a32b1cb9d9a09aa2325d2430587ddbc0c38bad911525 SHA224("The quick brown fox jumps over the lazy dog.") 0x 619cba8e8e05826e9b8c519c0a5c68f4fb653e8a3d8aa04bb2c8cd4c

Mecanismo del SHA-2 Una iteración en la función de compresión de la familia SHA-2. Se divide el mensaje en bloques de 8x32 bits. Los componentes azules representan las siguientes operaciones: Ch ⁡ ( E , F , G ) = ( E ∧ F ) ⊕ ( ¬ E ∧ G ) Ma ⁡ ( A , B , C ) = ( A ∧ B ) ⊕ ( A ∧ C ) ⊕ ( B ∧ C ) Σ 0 ( A ) = ( A ⋙ 2 ) ⊕ ( A ⋙ 13 ) ⊕ ( A ⋙ 22 ) Σ 1 ( E ) = ( E ⋙ 6 ) ⊕ ( E ⋙ 11 ) ⊕ ( E ⋙ 25 ) Los números proporcionados corresponden a la SHA-256. El ⊞ es suma módulo 232

Firmado digital Queremos firmar un documento digital de forma que: Cualquiera pueda comprobar que es nuestro No pueda ser modificado No se pueda averiguar cómo firmar otros documentos con nuestra firma Procedimiento: Sean PR-V, PU-V nuestras claves privada y pública Sea D el documento digital Digerimos el documento: d = HASH(D) La firma es: f = Enc-RSA(d,PR-V). Enviamos (D,f) Como comprobar la autenticidad: Calcular: HASH(D) Debe coincidir con d = Des-RSA(f,PU-V)

Bitcoin – criptomonedas Bitcoin (BTC) es una criptodivisa concebida en Noviembre 2008 por Satoshi Nakamoto. Nadie sabe quién es Puesta en marcha el 9 de enero de 2009

¿Qué es una moneda? ¿Dónde está el bitcoin? A lo largo de la historia se han usado muchos tipos de monedas: Grano de trigo, ovejas, … (productos útiles y necesarios) Conchas (escasas) Metales: bronce, plata, oro (escasos, fácilmente divisibles, inútiles?) Monedas acuñadas (infalsificables) Papel moneda respaldado por oro Papel moneda (fiat, moneda fiduciaria) respaldada por un banco central que la emite y controla Dinero virtual en un banco central (apuntes bancarios, tarjetas de crédito) Criptomonedas: dinero virtual respaldado por una red P2P El buen dinero se atesora, el mal dinero se gasta

Características del (buen) dinero: Difícil de producir o falsificar Fácilmente divisible Fácilmente transportable Es escaso Es inútil ! Debe preservar su valor a lo largo del tiempo (no ser inflacionario ni volátil) “El dinero es confianza” Debe ser fácil de almacenar de forma segura Consenso global (internacional) Digital Descentralizado

Bitcoin Sistema descentralizado, no respaldado por gobierno ni un emisor central Código abierto Funciona como una red P2P (peer to peer) Sistema de prueba de trabajo (work-force) Respaldado por el sistema de nodos (participación abierta), por el mecanismo criptográfico (protocolo matemático) Elimina los bancos Disminuye las comisiones financieras Cada bitcoin se divide en 10^8 partes (llamadas Shatosis) Se generan de modo lento y paulatino hasta un máximo de 21.000.000 Btc (no inflacionario)

Funcionamiento de Bitcoin Todos los usuarios de la red mantienen una copia del registro de todos las transacciones ejecutadas (libro de cuentas global, o ledger), denominada blockchain.

Wallet Bitcoin Cada usuario de bitcoin genera una clave pública y una clave privada con el sistema RSA. Esto forma su monedero (wallet) La clave pública (dirección bitcoin) es del tipo: 18Ry3k3K6NiTCGNxVNFi6zmmSjvZU4uqCx Se recibe dinero con la clave pública, pero sólo se puede enviar con la privada Quien posea la clave privada, posee el dinero Hay 2^160 posibles direcciones. Cada usuario puede usar varias, para aumentar la seguridad

Transacciones Alicia quiere enviar 10 Btc a Bob, en pago por un producto (compra), o a cambio de otra moneda (como euros o dólares) Alicia escribe un mensaje del tipo: Transferir 10 Btc de la Cuenta-A a la Cuenta-B (PU-B) Lo firma con PR-A Alicia envía el texto firmado a toda la red, para que lo escuchen todos los nodos y lo añadan a la blockchain Debemos evitar: Que Alicia gaste dinero que no tiene Que Alicia gaste su dinero dos veces Que un usuario modifique la blockchain falseando un saldo (robo)

Mineros Las nuevas transacciones “flotan” en la red. Algunos usuarios, llamados mineros, recogen las transacciones y las escriben en un nuevo bloque (nueva página del libro de cuentas) Cualquiera puede ser minero El minero añade el hash del último bloque junto con las nuevas transacciones, comprobando que todos los gastos están firmados, que tienen fondos y que no están duplicados, y lo transmite al resto de los nodos a los que está conectado El minado requiere gasto en electricidad Se premia al minero con la generación de nuevos bitcoin (hoy en día 12,5 Btc por bloque generado). Además el minero cobra las comisiones de las transacciones (voluntarias) Se genera un bloque cada 10 minutos, con 2000 transacciones

Proof of work ¿Cómo elegir el nuevo bloque? La generación de bloques (minado) requiere resolver un problema de hash cuya dificultad se ajusta para que se genere un bloque cada 10 minutos (work-force) Un minero genera un nuevo bloque B, y le añade un número T aleatorio al final. Calcula H = HASH(B,T). Solo puede añadir el bloque a la blockchain si H comienza con un número de ceros (a día de hoy, 30 ceros) Un ordenador tardaría años en encontrar T. Entre todos los ordenadores del mundo, alguno lo hace en 10 minutos. Ese minero (afortunado) puede añadir el bloque y quedarse con la recompensa Lo envía a la red, y los demás lo copian a su blockchain Es muy improbable que varios mineros encuentren un bloque a la vez o casi a la vez.

Evitando ataques maliciosos Si varios grupos de mineros se encuentran trabajando con cadenas distintas (split), eventualmente una será mayor. La cadena corta será ignorada por los nodos Para seguridad de que una transacción ha ocurrido se necesitan varias confirmaciones (usualmente 3 confirmaciones) Un cambio en un bloque intermedio cambia el HASH de ese bloque y de todos los posteriores. Habría que rehacer la Proof-of-Work de todos los bloques, lo que es casi imposible Además debe hacerlo de forma que consiga la cadena más larga (necesita el 51% del poder computacional de la red) El proceso se denomina minado porque: Similar a extraer oro de la mina Btc es el símil criptográfico del oro

Cotización bitcoin Se hacen transacciones Moneda fiduciaria Btc en los Exchange (casas de cambio en internet) Las ordenes de compra y de venta fijan el valor del cambio

Otras criptomonedas

Referencias Bitcoin and Decentralized Trust Protocols, Newsletter of the European Math. Soc., 100 p.32, June 2016 https://www.youtube.com/watch?v=bBC-nXj3Ng4 https://www.youtube.com/watch?v=Lx9zgZCMqXE https://bitcoincharts.com/markets/ https://blockchain.info/ https://news.bitcoin.com/ https://forkgen.tech/