Bitcoins: entendiendo una criptomoneda Mauro Flores www.isaca.org.uy Agenda • • • • Un poco de historia. Minando Bitcoins. Transacciones con Bitcoins. El futuro de las monedas digitales. www.isaca.org.uy Open Web Application Security Project • Materiales para seguridad en todos el SDLC (ej: OpenSAMM) • Herramientas para el desarrollo seguro • Herramientas para capacitación www.isaca.org.uy AppSec Latam 2013 - Perú www.isaca.org.uy Un poco de Historia Bancos que usaron eChash: • Mark Twain (USA, hasta 1997) • St. George Bank (Australia) • Credit Suisse (Suiza, 1998) • Deutsche Bank (Alemania) • Bank Austria • Dan Norske Bank (Noruega) • Merita Bank (Suecia) 1990 www.isaca.org.uy 2007 1990 - 2000 • Untraceable Electronic Cash (Chuman-Fiat-Naor) • Chuman funda DigiCash Inc. e implementa eChash • eChash: Basado en firmas RSA, impedia vincular los retiros a los gastos de dinero • Distributed Double Spending Prevention (Hoepman) • Bitcoin: A Peer-toPeer Electronic Cash System (Satoshi Nakamoto) • 2008 Combating Double Spending using Cooperative P2P Systems (OsipkovVasserman-Kim-Hopper) Introducción • Mineros – Crean los Bitcoins • Transacciones – Intercambio de Bitcoins entre usuarios. • Usuarios – Identificados mediante dirección BTC (clave pública). • Cantidad total de BTC a generar 21 millones www.isaca.org.uy Minando Bitcoins for( nonce=0; sha256(sha256(header)) > TARGET; nonce++) Hash(T1) Hash(T2) : Hash(Tn) Hash(TransPropia) Transacción 1 Transacción 2 : : : : : : : Transacción N-1 Transacción N TransPropia Bloque www.isaca.org.uy 256 Header nonce Se ajusta la red de forma dinámica (6 bloques por hora) Target 0x00000043FA3… 0 Hoy son 25 BTC por bloque Transaction Log Transacciones Alice Bob THRWE76543DSDSFGDDF… UYTHF09832DDAAE2132… ID: YJETERT567HYSFDS127KIFT784OA… Origen: THRWE76543DSDSFGDDF… Destino: UYTHF09832DDAAE2132… Cantidad: 100 BTC ID_TrPrevia: AC435DFE321165A… www.isaca.org.uy Transacciones Transacción Alice PubKey Validación de Firma Validación de Log www.isaca.org.uy Transaction Log INSERT (Tr, Transaction Log) GetNewBlock () Transacciones Transaction Log Bob GetTransactionUpdate () UYTHF09832DDAAE2132… ID: YJETERT567HYSFDS127KIFT784OA… Origen: THRWE76543DSDSFGDDF… Destino: UYTHF09832DDAAE2132… Cantidad: 100 BTC ID_TrPrevia: AC435DFE321165A… www.isaca.org.uy Que podemos comprar? www.isaca.org.uy Que podemos comprar? www.isaca.org.uy Futuro 1990 www.isaca.org.uy 1990 - 2000 2007 2008 Preguntas? Muchas Gracias Mauro Flores mauro.flores@owasp.org @mauro_fcib www.isaca.org.uy