Ir al contenido

Protocolo Bitcoin

De Wikipedia, la enciclopedia libre
Un diagrama de una transferencia de bitcoin.

El protocolo Bitcoin es el conjunto de reglas que rigen el funcionamiento de Bitcoin. Sus componentes y principios clave son: una red descentralizada de igual a igual sin supervision central; la tecnologia blockchain, un libro de contabilidad publico que registra todas las transacciones de Bitcoin; mineria y prueba de trabajo, el proceso para crear nuevos bitcoins y verificar transacciones; y seguridad criptografica.

Los usuarios transmiten mensajes firmados criptograficamente a la red utilizando el software debilletera de criptomonedas Bitcoin. Estos mensajes son transacciones propuestas, cambios que se realizaran en el libro mayor. Cada nodo tiene una copia del historial completo de transacciones del libro mayor. Si una transaccion viola las reglas del protocolo Bitcoin, se ignora, ya que las transacciones solo ocurren cuando toda la red llega a un consenso de que deben realizarse. Este "consenso total de la red" se logra cuando cada nodo de la red verifica los resultados de una operacion de prueba de trabajo llamada mineria. La mineria empaqueta grupos de transacciones en bloques y produce un codigo hash que sigue las reglas del protocolo Bitcoin. Crear este hash requiere energia costosa, pero un nodo de red puede verificar que el hash sea valido usando muy poca energia. Si un minero propone un bloque a la red y su hash es valido, el bloque y los cambios en su libro mayor se agregan a la cadena de bloques y la red pasa a transacciones aun no procesadas. En caso de disputa, se considerara correcta la cadena mas larga. En promedio, se crea un nuevo bloque cada 10 minutos.

Los cambios en el protocolo Bitcoin requieren consenso entre los participantes de la red. El protocolo Bitcoin ha inspirado la creacion de muchas otras monedas digitales y tecnologias basadas en blockchain, lo que lo convierte en una tecnologia fundamental en el campo de las criptomonedas.

Cadena de bloques

[editar]

La tecnologia Blockchain es un libro de contabilidad digital descentralizado y seguro que registra transacciones a traves de una red de computadoras. Garantiza transparencia, inmutabilidad y resistencia a manipulaciones, lo que dificulta la manipulacion de datos. Blockchain es la tecnologia subyacente de criptomonedas como Bitcoin y tiene aplicaciones mas alla de las finanzas, como la gestion de la cadena de suministro y los contratos inteligentes.[1]

Transacciones

[editar]
la mejor cadena consta de la serie mas larga de registros de transacciones del bloque genesis al bloque o registro actual. Registros huerfanos existen fuera de la mejor cadena.

La red requiere una estructura minima para compartir transacciones. Una red descentralizada de voluntarios ad hoc es suficiente. Los mensajes se transmiten segun el maximo esfuerzo y los nodos pueden abandonar y volver a unirse a la red a voluntad. Al reconectarse, un nodo descarga y verifica nuevos bloques de otros nodos para completar su copia local de la cadena de bloques.[2] [3]

Plataforma de mineria basada en GPU, 2012
Una granja minera de bitcoin, 2018

Bitcoin utiliza un sistema de prueba de trabajo o de prueba de transaccion para formar un servidor de marca de tiempo distribuido como una red peer to peer.[3] Este trabajo a menudo se denomina mineria de Bitcoin. Durante la mineria, practicamente toda la potencia computacional de la red Bitcoin se utiliza para resolver tareas criptograficas, lo que constituye una prueba de trabajo. Su proposito es garantizar que la generacion de bloques validos implique una cierta cantidad de esfuerzo para que la modificacion posterior de la cadena de bloques, como en el escenario de ataque del 51%, pueda descartarse practicamente. Debido a la dificultad, los mineros forman "fondos de mineria" para obtener pagos a pesar de estos altos requisitos de potencia, costosas implementaciones de hardware y hardware bajo control. Como resultado de la prohibicion china de la mineria de bitcoin en 2021, Estados Unidos posee actualmente la mayor participacion de los grupos de mineria de bitcoin.[4] [5]

Exigir una prueba de trabajo para aceptar un nuevo bloque en la cadena de bloques fue la innovacion clave de Satoshi Nakamoto. El proceso de mineria implica identificar un bloque que, cuando se procesa dos veces con SHA-256, produce un numero menor que el objetivo de dificultad dado. Si bien el trabajo promedio requerido aumenta en proporcion inversa al objetivo de dificultad, un hash siempre se puede verificar ejecutando una sola ronda de doble SHA-256.

Para la red de marcas de tiempo de Bitcoin, una prueba de trabajo valida se encuentra incrementando un nonce hasta que se encuentra un valor que le da al hash del bloque la cantidad requerida de bits cero iniciales. Una vez que el hash ha producido un resultado valido, el bloque no se puede cambiar sin rehacer el trabajo. A medida que se encadenan bloques posteriores, el trabajo para cambiar el bloque incluiria rehacer el trabajo para cada bloque subsiguiente. Si hay una desviacion en el consenso entonces puede ocurrir una bifurcacion de la cadena de bloques.

El consenso mayoritario en Bitcoin esta representado por la cadena mas larga, que requirio la mayor cantidad de esfuerzo para producirse. Si la mayoria del poder computacional esta controlado por nodos honestos, la cadena honesta crecera mas rapido y superara a cualquier cadena competidora. Para modificar un bloque pasado, un atacante tendria que rehacer la prueba de trabajo de ese bloque y todos los bloques posteriores y luego superar el trabajo de los nodos honestos. La probabilidad de que un atacante mas lento los alcance disminuye exponencialmente a medida que se agregan bloques posteriores.[3]

La dificultad de la mineria ha aumentado significativamente.

Para compensar el aumento de la velocidad del hardware y el interes variable en ejecutar nodos a lo largo del tiempo, la dificultad de encontrar un hash valido se ajusta aproximadamente cada dos semanas. Si los bloques se generan demasiado rapido, la dificultad aumenta y se requieren mas hashes para crear un bloque y generar nuevos bitcoins.[3]

Dificultad y grupos de mineria

[editar]
Los primeros mineros de Bitcoin usaban GPU para minar, ya que eran mas adecuadas para el algoritmo de prueba de trabajo que las CPU.[6]
Mas tarde, los aficionados minaron bitcoins con chips FPGA y ASIC especializados. Las fichas que se muestran en la imagen se han vuelto obsoletas debido a la creciente dificultad.
Hoy en dia, las empresas mineras de Bitcoin dedican instalaciones a albergar y operar grandes cantidades de hardware de mineria de alto rendimiento.[7]
Los grupos de mineria de Bitcoin mas grandes a abril de 2020 por nacion en la que se basan los grupos

La mineria de Bitcoin es una actividad competitiva. Se ha observado una "carrera armamentista" a traves de las diversas tecnologias de hashing que se han usado para minar bitcoins: se han usado unidades centrales de procesamiento (CPU) basicas, unidades de procesamiento grafico (GPU) de alta gama, matrices de puertas programables en campo (FPGA) y circuitos integrados de aplicaciones especificas (ASIC), cada una de las cuales reduce la rentabilidad de la tecnologia menos especializada. Los ASIC especificos de Bitcoin son ahora el metodo principal de mineria de Bitcoin y han superado la velocidad de la GPU hasta 300 veces. La dificultad del proceso de mineria se ajusta periodicamente a la potencia de mineria activa en la red. A medida que los bitcoins se han vuelto mas dificiles de minar, las empresas fabricantes de hardware informatico han visto un aumento en las ventas de productos ASIC de alta gama.[8]

La potencia informatica suele agruparse o "poolarse" para reducir la variacion en los ingresos de los mineros. Las plataformas mineras individuales a menudo tienen que esperar largos periodos para confirmar un bloque de transacciones y recibir el pago. En un pool, todos los mineros participantes reciben un pago cada vez que un servidor participante resuelve un bloque. Este pago depende de la cantidad de trabajo que cada minero contribuyo para ayudar a encontrar ese bloque y del sistema de pago utilizado por el grupo.[9]

Efectos medioambientales

[editar]
Instalaciones de mineria de bitcoin, Quebec, Canada

El impacto ambiental de Bitcoin es significativo. La mineria de Bitcoin, el proceso mediante el cual se crean los bitcoins y se finalizan las transacciones, consume mucha energia y produce emisiones de carbono,[10] ya que aproximadamente la mitad de la electricidad utilizada en 2025 se genero a traves de combustibles fosiles.[11] Ademas, los bitcoins se extraen en hardware informatico especializado, lo que genera desechos electronicos.[12] Los academicos sostienen que la mineria de bitcoin podria respaldar el desarrollo de energias renovables al utilizar el excedente de electricidad proveniente de fuentes eolicas y solares.[13] El impacto ambiental de Bitcoin ha atraido la atencion de los reguladores, lo que ha dado lugar a incentivos o restricciones en varias jurisdicciones.

Maquina minera basada en ASIC Avalon

Bitcoins minados

[editar]
Diagrama que muestra como se verifican las transacciones de Bitcoin

Por convencion, la primera transaccion en un bloque es una transaccion especial que produce nuevos bitcoins propiedad del creador del bloque. Este es el incentivo para que los nodos apoyen la red.[2] Proporciona una manera de poner en circulacion nuevos bitcoins. La recompensa por minar se reduce a la mitad cada 210.000 bloques. Comenzo con 50 bitcoins, bajo a 25 a finales de 2012 y a 6,25 bitcoins en 2020. El halving mas reciente, que ocurrio el 20 de abril de 2024 a las 12:09 a. m. UTC (con el bloque numero 840 000), redujo la recompensa del bloque a 3,125 bitcoins.[14] [15] Se espera que el proximo halving ocurra en 2028, cuando la recompensa por bloque caera a 1,625 bitcoins.[16] [17] Este proceso de reduccion a la mitad esta programado para continuar un maximo de 64 veces antes de que cese la creacion de nuevas monedas.[18]

Verificacion de pago

[editar]

Cada minero puede elegir que transacciones se incluyen o se eximen de un bloque.[19] Un mayor numero de transacciones en un bloque no equivale a una mayor potencia computacional requerida para resolver ese bloque.[19]

Como se senala en el documento tecnico de Nakamoto, es posible verificar los pagos de Bitcoin sin ejecutar un nodo de red completo (verificacion de pago simplificada, SPV). Un usuario solo necesita una copia de los encabezados de bloque de la cadena mas larga, que estan disponibles consultando los nodos de la red hasta que sea evidente que se ha obtenido la cadena mas larga; luego, obtener la rama del arbol Merkle que vincula la transaccion a su bloque. Vincular la transaccion a un lugar en la cadena demuestra que un nodo de red la ha aceptado, y los bloques agregados despues establecen aun mas la confirmacion.[2]

Caracteristicas del protocolo

[editar]

Seguridad

[editar]

Se han considerado varios ataques potenciales a la red Bitcoin y su uso como sistema de pago, reales o teoricos. El protocolo Bitcoin incluye varias caracteristicas que lo protegen contra algunos de esos ataques, como el gasto no autorizado, el gasto doble, la falsificacion de bitcoins y la manipulacion de la cadena de bloques. Otros ataques, como el robo de claves privadas, requieren el debido cuidado por parte de los usuarios.[20] [21]

Gastos no autorizados

[editar]

El gasto no autorizado se mitiga mediante la implementacion de la criptografia de clave publica-privada en Bitcoin. Por ejemplo, cuando Alice envia un bitcoin a Bob, Bob se convierte en el nuevo propietario del bitcoin. Eva, al observar la transaccion, podria querer gastar el bitcoin que Bob acaba de recibir, pero no puede firmar la transaccion sin el conocimiento de la clave privada de Bob.[21]

Doble gasto

[editar]

Un problema especifico que un sistema de pagos por Internet debe resolver es el doble gasto, mediante el cual un usuario paga la misma moneda a dos o mas destinatarios diferentes. Un ejemplo de tal problema seria si Eva le enviara un bitcoin a Alicia y luego le enviara el mismo bitcoin a Bob. La red Bitcoin protege contra el doble gasto registrando todas las transferencias de Bitcoin en un libro de contabilidad (la cadena de bloques) que es visible para todos los usuarios y garantizando que todos los Bitcoins transferidos no hayan sido gastados previamente.[21] : 4

Condiciones de carrera

[editar]

Si Eva ofrece pagarle a Alicia un bitcoin a cambio de bienes y firma una transaccion correspondiente, todavia es posible que ella tambien cree una transaccion diferente al mismo tiempo enviando el mismo bitcoin a Bob. Segun las reglas, la red solo acepta una de las transacciones. Esto se llama condicion de carrera, ya que existe una carrera entre los destinatarios para aceptar primero la transaccion. Alice puede reducir el riesgo de una condicion de carrera al estipular que no entregara los bienes hasta que el pago de Eve a Alice aparezca en la cadena de bloques.[22]

Una conficion de carrera variante (que se ha denominado ataque Finney en referencia a Hal Finney) requiere la participacion de un minero. En lugar de enviar ambas solicitudes de pago (para pagar a Bob y a Alice con las mismas monedas) a la red, Eve emite solo la solicitud de pago de Alice a la red, mientras que el complice intenta minar un bloque que incluya el pago a Bob en lugar de a Alice. Existe una probabilidad positiva de que el minero deshonesto tenga exito antes que la red, en cuyo caso el pago a Alice sera rechazado. Al igual que con la condicion de carrera simple, Alice puede reducir el riesgo de un ataque Finney esperando a que el pago se incluya en la cadena de bloques.[23]

Modificacion del historial

[editar]

Cada bloque que se agrega a la cadena de bloques, comenzando con el bloque que contiene una transaccion determinada, se denomina confirmacion de esa transaccion. Lo ideal seria que los comerciantes y servicios que reciben pagos en bitcoin esperen a que se distribuyan al menos algunas confirmaciones a traves de la red antes de asumir que el pago se realizo. Cuanto mas confirmaciones espere el comerciante, mas dificil sera para un atacante revertir con exito la transaccion, a menos que el atacante controle mas de la mitad de la potencia total de la red, en cuyo caso se denomina ataque del 51% o ataque mayoritario.[24] Aunque es mas dificil para los atacantes de menor tamano, puede haber incentivos financieros que hagan que los ataques de modificacion del historial sean rentables.[25]

Escalabilidad

[editar]
Numero de transacciones por mes

El problema de escalabilidad de Bitcoin refiere a la discusion respecto a los limites de procesamiento de transacciones de la red Bitcoin (BTC).

Esto se relaciona a que la actualizacion de los registros en la blockchain (realizados mediante el minado de nuevos bloques) estan limitados en medida y frecuencia.[26] [27]

Los bloques de Bitcoin contienen las transacciones de la red,[28] y la el de procesamiento de transacciones esta limitado por dos factores:

  • El tiempo de creacion de los bloques (10 minutos en promedio).
  • El tamano maximo de los bloques creados (alrededor de 1 MB; potencialmente 4 MB en caso de bloques llenos de transacciones SegWit).

La capacidad de procesamiento de la red estimada usando un tamano de transaccion promedio o mediano seria de entre 3,3 y 7 transacciones por segundo.[29]

En caso de estimaciones usando un tamano minimo tanto en complejidad y tamano el numero ascenderia a unas 27 transacciones por segundo.[30]

Existen varias soluciones propuestas e implementadas con el fin de abordar esta cuestion. Tambien existen bifurcaciones del protocolo que cuentan con una red propia y una hoja de ruta independiente, asi como una capacidad mayor (32 MB por bloque), como Bitcoin Cash, que se bifurco de la red Bitcoin por un conflicto relacionado con este debate.

Privacidad

[editar]

Desanonimizacion de los clientes

[editar]

La desanonimizacion es una estrategia de mineria de datos en la que los datos anonimos se cruzan con otras fuentes de datos para volver a identificar la fuente de datos anonimos. Junto con el analisis de graficos de transacciones, que puede revelar conexiones entre direcciones de bitcoin (seudonimos),[20] [31] existe un posible ataque[32] que vincula el seudonimo de un usuario a su direccion IP. Si el par usa Tor, el ataque incluye un metodo para separar al par de la red Tor, obligandolo a usar su direccion IP real para cualquier transaccion futura. Se estimo que el coste del ataque a toda la red Bitcoin fue inferior a 1.500 euros al mes en 2014.[32]

Referencias

[editar]
  1. | Hut, Moody. <>.
  2. | a b c Nakamoto, Satoshi (24 de mayo de 2009). <>. Archivado desde el original el 4 de julio de 2010. Consultado el 20 de diciembre de 2012.
  3. | a b c d Barber, Simon; Boyen, Xavier; Shi, Elaine; Uzun, Ersin (2012). <>. Financial Cryptography and Data Security. Lecture Notes in Computer Science 7397. Springer Publishing. pp. 399-414. ISBN 978-3-642-32945-6. doi:10.1007/978-3-642-32946-3_29.
  4. | Sigalos, MacKenzie (15 de junio de 2021). <>. CNBC (en ingles). Consultado el 5 de diciembre de 2023.
  5. | <>. ccaf.io (en ingles). Consultado el 5 de diciembre de 2023.
  6. | Warren, Tom (30 de enero de 2018). <>. The Verge (en ingles estadounidense). Consultado el 18 de mayo de 2025.
  7. | <>. worldoil.com (en ingles). 26 de enero de 2018. Consultado el 18 de mayo de 2025.
  8. | <>. Taipei Times. 4 de enero de 2014.
  9. | Rosenfeld, Meni (17 de noviembre de 2011). Analysis of Bitcoin Pooled Mining Reward Systems. Bibcode:2011arXiv1112.4980R.
  10. | Huang, Jon (3 de septiembre de 2021). <>. The New York Times. ISSN 0362-4331. Archivado desde el original el 17 de febrero de 2023. Consultado el 1 de febrero de 2022.
  11. | <>. Cambridge Judge Business School (en ingles britanico). Consultado el 29 de abril de 2025.
  12. | de Vries, Alex; Stoll, Christian (December 2021). <>. Resources, Conservation and Recycling 175: 105901. Bibcode:2021RCR...17505901D. ISSN 0921-3449. doi:10.1016/j.resconrec.2021.105901. Archivado desde el original el 23 de noviembre de 2021. Consultado el 6 de octubre de 2022.
  13. | Lal, Apoorv; Zhu, Jesse; You, Fengqi (13 de noviembre de 2023). <>. ACS Sustainable Chemistry & Engineering (en ingles) 11 (45): 16330-16340. ISSN 2168-0485. doi:10.1021/acssuschemeng.3c05445. Archivado desde el original el 23 de noviembre de 2023. Consultado el 23 de noviembre de 2023.
  14. | Macheel, Tanaya (20 de abril de 2024). <>. CNBC (en ingles). Consultado el 20 de abril de 2024.
  15. | <>. Investopedia (en ingles). Consultado el 20 de abril de 2024.
  16. | <>. 6 de junio de 2023.
  17. | <>.
  18. | Antonopoulos, Andreas M (1 de julio de 2017). Mastering bitcoin: programming the open blockchain (2nd edicion). Sebastopol, California, USA: O'Reilly Media. pp. 239. ISBN 978-1-4919-5438-6. OCLC 953432201.
  19. | a b Houy, N. (2016). <>. Ledger 1: 53-68. doi:10.5195/ledger.2016.13. Consultado el 14 de enero de 2017.
  20. | a b Ron Dorit (2012). <>. Cryptology ePrint Archive. Consultado el 18 de octubre de 2012.
  21. | a b c Jerry Brito (2013). <>. Mercatus Center. George Mason University. Archivado desde el original el 21 de septiembre de 2013. Consultado el 22 de octubre de 2013.
  22. | Erik Bonadonna (29 de marzo de 2013). <>. Cornell University. Consultado el 22 de octubre de 2014.
  23. | Karame, Ghassan O.; Androulaki, Elli; Capkun, Srdjan (2012). Two Bitcoins at the Price of One? Double-Spending Attacks on Fast Payments in Bitcoin. International Association for Cryptologic Research. p. iacr.org. Consultado el 22 de octubre de 2014.
  24. | Michael J. Casey (16 de junio de 2014). <">>. Money Beat (Wall Street Journal). Consultado el 30 de junio de 2014.
  25. | Bar-Zur, Roi; Abu-Hanna, Ameer; Eyal, Ittay; Tamar, Aviv (2023). 2023 IEEE Symposium on Security and Privacy (SP). IEEE Computer Society. ISBN 978-1-6654-9336-9. doi:10.1109/SP46215.2023. Consultado el 15 de mayo de 2023.
  26. | [The Limits to Blockchain? Scaling vs. Decentralization.] Social Science Research Network. Cybersecurity, Privacy & Networks eJournal. Accessed 21 April 2019.
  27. | Croman, Kyle; Eyal, Ittay (2016). On Scaling Decentralized Blockchains. doi:10.1007/978-3-662-53357-4_8. Consultado el 10 de diciembre de 2017. <>
  28. | Andreas M. Antonopoulos (April 2014). Mastering Bitcoin. Unlocking Digital Crypto-Currencies. O'Reilly Media. ISBN 978-1-4493-7404-4.
  29. | Croman, Kyle; Eyal, Ittay (2016). On Scaling Decentralized Blockchains. doi:10.1007/978-3-662-53357-4_8. Consultado el 10 de diciembre de 2017. <>
  30. | Georgiadis, Evangelos (2019). How many transactions per second can bitcoin really handle? Theoretically.. Consultado el 26 de abril de 2019. <>
  31. | Reid, Fergal; Harrigan, Martin (2013). <>. Security and Privacy in Social Networks. New York, NY. pp. 197-223. ISBN 978-1-4614-4138-0. doi:10.1007/978-1-4614-4139-7_10.
  32. | a b Biryukov, Alex; Khovratovich, Dmitry; Pustogarov, Ivan (2014). <>. ACM Conference on Computer and Communications Security. Bibcode:2014arXiv1405.7418B. ISBN 9781450329576. arXiv:1405.7418. Archivado desde el original el 22 de mayo de 2017. Consultado el 16 de mayo de 2017.
Control de autoridades