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 supervisión central; la tecnología blockchain , un libro de contabilidad público que registra todas las transacciones de Bitcoin; minería y prueba de trabajo , el proceso para crear nuevos bitcoins y verificar transacciones; y seguridad criptográfica.
Los usuarios transmiten mensajes firmados criptográficamente a la red utilizando el software de billetera de criptomonedas Bitcoin . Estos mensajes son transacciones propuestas, cambios que se realizarán en el libro mayor. Cada nodo tiene una copia del historial completo de transacciones del libro mayor. Si una transacción 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 operación de prueba de trabajo llamada minería . La minería empaqueta grupos de transacciones en bloques y produce un código hash que sigue las reglas del protocolo Bitcoin. Crear este hash requiere energía costosa , pero un nodo de red puede verificar que el hash sea válido usando muy poca energía. Si un minero propone un bloque a la red y su hash es válido, el bloque y los cambios en su libro mayor se agregan a la cadena de bloques y la red pasa a transacciones aún no procesadas. En caso de disputa, se considerará correcta la cadena más 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 creación de muchas otras monedas digitales y tecnologías basadas en blockchain, lo que lo convierte en una tecnología fundamental en el campo de las criptomonedas .
La tecnología Blockchain es un libro de contabilidad digital descentralizado y seguro que registra transacciones a través de una red de computadoras. Garantiza transparencia, inmutabilidad y resistencia a manipulaciones, lo que dificulta la manipulación de datos. Blockchain es la tecnología subyacente de criptomonedas como Bitcoin y tiene aplicaciones más allá de las finanzas, como la gestión de la cadena de suministro y los contratos inteligentes. [1]
La red requiere una estructura mínima para compartir transacciones. Una red descentralizada ad hoc de voluntarios es suficiente. Los mensajes se transmiten con el mayor esfuerzo posible y los nodos pueden abandonar y volver a unirse a la red a voluntad. Tras la reconexión, un nodo descarga y verifica nuevos bloques de otros nodos para completar su copia local de la cadena de bloques. [2] [3]
Bitcoin utiliza un sistema de prueba de trabajo para formar un servidor de marca de tiempo distribuido como una red de igual a igual . [3] Este trabajo a menudo se llama minería de bitcoins .
Durante la minería, prácticamente toda la potencia informática de la red Bitcoin se utiliza para resolver tareas criptográficas, lo que es prueba de trabajo. Su objetivo es garantizar que la generación de bloques válidos implique un cierto esfuerzo, de modo que prácticamente se pueda descartar una modificación posterior de la cadena de bloques, como en el escenario de ataque del 51%. Debido a la dificultad, los mineros forman " grupos de minería " para obtener pagos a pesar de estos altos requisitos de energía, costosas implementaciones de hardware y hardware bajo control. Como resultado de la prohibición china de la minería de Bitcoin en 2021, Estados Unidos posee actualmente la mayor proporción de grupos de minería de Bitcoin. [4] [5]
Exigir una prueba de trabajo para aceptar un nuevo bloque en la cadena de bloques fue la innovación clave de Satoshi Nakamoto . El proceso de minería implica identificar un bloque que, cuando se aplica dos veces hash con SHA-256 , produce un número menor que el objetivo de dificultad dado. Si bien el trabajo promedio requerido aumenta en proporción inversa a la dificultad objetivo, siempre se puede verificar un hash ejecutando una sola ronda de doble SHA-256.
Para la red de marca de tiempo de bitcoin, una prueba de trabajo válida se encuentra incrementando un nonce hasta que se encuentra un valor que le da al hash del bloque el número requerido de bits cero a la izquierda. Una vez que el hash ha producido un resultado válido, el bloque no se puede cambiar sin rehacer el trabajo. A medida que los bloques posteriores se encadenan después, el trabajo para cambiar el bloque incluiría rehacer el trabajo para cada bloque posterior. Si hay una desviación en el consenso, entonces puede ocurrir una bifurcación de blockchain .
El consenso mayoritario en bitcoin está representado por la cadena más larga, que requirió la mayor cantidad de esfuerzo para producirse. Si la mayor parte de la potencia informática está controlada por nodos honestos, la cadena honesta crecerá más rápido y superará a cualquier cadena competidora. Para modificar un bloque anterior, un atacante tendría 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 más lento se ponga al día disminuye exponencialmente a medida que se agregan bloques posteriores. [3]
Para compensar el aumento de la velocidad del hardware y el interés variable en ejecutar nodos a lo largo del tiempo, la dificultad de encontrar un hash válido se ajusta aproximadamente cada dos semanas. Si los bloques se generan demasiado rápido, la dificultad aumenta y se requieren más hashes para crear un bloque y generar nuevos bitcoins. [3]
La minería de Bitcoin es una actividad competitiva. Se ha observado una " carrera armamentista " a través de las diversas tecnologías de hash que se han utilizado para extraer bitcoins: unidades centrales de procesamiento (CPU) básicas, unidades de procesamiento de gráficos (GPU) de alta gama , matrices de puertas programables en campo (FPGA) y aplicaciones. Se han utilizado circuitos integrados específicos (ASIC), cada uno de los cuales reduce la rentabilidad de la tecnología menos especializada. Los ASIC específicos de Bitcoin son ahora el método principal para extraer bitcoins y han superado la velocidad de la GPU hasta 300 veces. La dificultad del proceso de minería se ajusta periódicamente al poder minero activo en la red. A medida que los bitcoins se han vuelto más difíciles de extraer, las empresas de fabricación de hardware informático han visto un aumento en las ventas de productos ASIC de alta gama. [8]
La potencia informática a menudo se agrupa o " agrupa " para reducir la variación en los ingresos de los mineros. Las plataformas mineras individuales a menudo tienen que esperar largos períodos para confirmar un bloque de transacciones y recibir el pago. En un grupo, 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 un minero individual contribuyó para ayudar a encontrar ese bloque y del sistema de pago utilizado por el grupo. [9]
Por convención, la primera transacción en un bloque es una transacción especial que produce nuevos bitcoins propiedad del creador del bloque. Este es el incentivo para que los nodos soporten la red. [2] Proporciona una forma de poner en circulación nuevos bitcoins. La recompensa por minar se reduce a la mitad cada 210.000 bloques. Comenzó en 50 bitcoins, cayó a 25 a finales de 2012 y a 12,5 bitcoins en 2016. La reducción a la mitad más reciente, que ocurrió en mayo de 2020 (con el bloque número 630.000), redujo la recompensa del bloque a 6,25 bitcoins. Se espera que la próxima reducción a la mitad, cuando la recompensa caiga a 3,125 bitcoins, se produzca en abril de 2024. [14] Este proceso de reducción a la mitad está programado para continuar un máximo de 64 veces antes de que cese la creación de nuevas monedas. [15]
Cada minero puede elegir qué transacciones se incluyen o están exentas de un bloque. [16] Un mayor número de transacciones en un bloque no equivale a una mayor potencia computacional requerida para resolver ese bloque. [dieciséis]
Como se señala en el documento técnico de Nakamoto, es posible verificar los pagos de bitcoin sin ejecutar un nodo de red completo (verificación de pago simplificada, SPV). Un usuario sólo necesita una copia de los encabezados de bloque de la cadena más larga, que están disponibles consultando los nodos de la red hasta que sea evidente que se ha obtenido la cadena más larga; luego, obtenga la rama del árbol Merkle que vincula la transacción con su bloque. Vincular la transacción a un lugar en la cadena demuestra que un nodo de la red la ha aceptado y los bloques agregados después establecen aún más la confirmación. [2]
Se han considerado diversos ataques potenciales a la red bitcoin y su uso como sistema de pago, reales o teóricos. El protocolo bitcoin incluye varias características que lo protegen contra algunos de esos ataques, como gastos no autorizados, doble gasto, falsificación de bitcoins y manipulación de la cadena de bloques. Otros ataques, como el robo de claves privadas, requieren la debida atención por parte de los usuarios. [17] [18]
El gasto no autorizado se mitiga mediante la implementación de criptografía de clave pública-privada por parte de Bitcoin. Por ejemplo, cuando Alice envía un bitcoin a Bob, Bob se convierte en el nuevo propietario del bitcoin. Eve, al observar la transacción, podría querer gastar el bitcoin que Bob acaba de recibir, pero no puede firmar la transacción sin conocer la clave privada de Bob. [18]
Un problema específico que debe resolver un sistema de pagos por Internet es el doble gasto , por el cual un usuario paga la misma moneda a dos o más destinatarios diferentes. Un ejemplo de tal problema sería si Eve le enviara un bitcoin a Alice 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 se hayan gastado previamente. [18] : 4
Si Eve ofrece pagarle a Alice un bitcoin a cambio de bienes y firma la transacción correspondiente, aún es posible que ella también cree una transacción diferente al mismo tiempo que envía el mismo bitcoin a Bob. Según las reglas, la red acepta solo una de las transacciones. A esto se le llama ataque de carrera , ya que hay una carrera entre los destinatarios para aceptar primero la transacción. Alice puede reducir el riesgo de un ataque racial estipulando que no entregará los productos hasta que el pago de Eve a Alice aparezca en la cadena de bloques. [19]
Una variante del ataque racial (que ha sido llamado ataque Finney en referencia a Hal Finney) requiere la participación de un minero. En lugar de enviar ambas solicitudes de pago (para pagar a Bob y Alice con las mismas monedas) a la red, Eve emite solo la solicitud de pago de Alice a la red, mientras que el cómplice intenta minar un bloque que incluye el pago a Bob en lugar de a Alice. Existe una probabilidad positiva de que el minero deshonesto tenga éxito antes que la red, en cuyo caso el pago a Alice será rechazado. Al igual que con el simple ataque de carrera, Alice puede reducir el riesgo de un ataque de Finney esperando a que el pago se incluya en la cadena de bloques. [20]
Cada bloque que se agrega a la cadena de bloques, comenzando con el bloque que contiene una transacción determinada, se denomina confirmación de esa transacción. Idealmente, los comerciantes y servicios que reciben pagos en bitcoins deberían esperar a que se distribuyan al menos algunas confirmaciones a través de la red antes de asumir que el pago se realizó. Cuantas más confirmaciones espere el comerciante, más difícil será para un atacante revertir con éxito la transacción, a menos que el atacante controle más de la mitad del poder total de la red, en cuyo caso se denomina ataque del 51% o ataque mayoritario. . [21] Aunque es más difícil para los atacantes de menor tamaño, puede haber incentivos financieros que hagan que los ataques de modificación del historial sean rentables. [22]
El problema de escalabilidad de Bitcoin se refiere a la capacidad limitada de la red Bitcoin para manejar grandes cantidades de datos de transacciones en su plataforma en un corto período de tiempo. [23] Está relacionado con el hecho de que los registros (conocidos como bloques ) en la cadena de bloques de Bitcoin están limitados en tamaño y frecuencia. [24]
Los bloques de Bitcoin contienen las transacciones en la red bitcoin. [25] : cap. 2 La capacidad de procesamiento de transacciones en cadena de la red bitcoin está limitada por el tiempo promedio de creación de bloques de 10 minutos y el límite de tamaño de bloque original de 1 megabyte. Estos limitan conjuntamente el rendimiento de la red . La capacidad máxima de procesamiento de transacciones estimada utilizando un tamaño de transacción promedio o mediano está entre 3,3 y 7 transacciones por segundo. [24] Hay varias soluciones propuestas y activadas para abordar este problema.La desanonimización es una estrategia en la minería de datos en la que los datos anónimos se cruzan con otras fuentes de datos para volver a identificar la fuente de datos anónima. Junto con el análisis del gráfico de transacciones, que puede revelar conexiones entre direcciones de bitcoin (seudónimos), [17] [26] existe un posible ataque [27] que vincula el seudónimo de un usuario con su dirección IP . Si el par está usando Tor , el ataque incluye un método para separar al par de la red Tor, obligándolo a usar su dirección IP real para cualquier transacción adicional. Se estimó que el coste del ataque a toda la red bitcoin era de menos de 1.500 euros al mes en 2014. [27]
El rendimiento máximo es la velocidad máxima a la que la cadena de bloques puede confirmar transacciones. Hoy en día, el rendimiento máximo de bitcoin es de 3,3 a 7 transacciones por segundo [1]. Este número está limitado por el tamaño máximo del bloque y el tiempo entre bloques.
{{cite book}}
: Mantenimiento CS1: falta el editor de la ubicación ( enlace )