stringtranslate.com

Doble gasto

El doble gasto es la producción y el gasto no autorizados de dinero, ya sea digital o convencional. Representa un problema de diseño monetario: un buen dinero es verificablemente escaso, y cuando una unidad de valor puede gastarse más de una vez, se cuestiona la propiedad monetaria de escasez. Al igual que con el dinero falso , este doble gasto conduce a la inflación al crear una nueva cantidad de moneda copiada que antes no existía. Como todos los recursos cada vez más abundantes, esto devalúa la moneda en relación con otras unidades monetarias o bienes y disminuye la confianza del usuario, así como la circulación y la retención de la moneda.

Las técnicas criptográficas fundamentales para evitar el doble gasto, preservando al mismo tiempo el anonimato en una transacción, son la introducción de una autoridad (y por lo tanto la centralización) para firmas ciegas y, particularmente en sistemas fuera de línea, la división de secretos . [1]

Monedas digitales centralizadas

La prevención del doble gasto generalmente se implementa mediante un tercero confiable y central en línea que puede verificar si se ha gastado un token. [1] Esto normalmente representa un único punto de falla desde los puntos de vista de disponibilidad y confianza.

Monedas digitales descentralizadas

En un sistema descentralizado, el problema del doble gasto es mucho más difícil de resolver. Para evitar la necesidad de un tercero de confianza, muchos servidores deben almacenar copias idénticas y actualizadas de un libro de transacciones público , pero a medida que se transmiten las transacciones (solicitudes de gastar dinero), llegarán a cada servidor en momentos ligeramente diferentes. Si dos transacciones intentan gastar el mismo token, cada servidor considerará que la primera transacción que vea es válida y la otra no. Una vez que los servidores no están de acuerdo, no hay forma de determinar los saldos verdaderos, ya que las observaciones de cada servidor se consideran igualmente válidas.

La mayoría de los sistemas descentralizados resuelven este problema con un algoritmo de consenso , una forma de volver a sincronizar los servidores. Dos tipos notables de mecanismos de consenso son la prueba de trabajo y la prueba de participación .

En 2007 se habían propuesto varios sistemas distribuidos para la prevención del doble gasto. [2] [3]

La criptomoneda Bitcoin implementó una solución a principios de 2009. Su protocolo criptográfico utilizaba un mecanismo de consenso de prueba de trabajo en el que las transacciones se agrupaban en bloques y se encadenaban entre sí mediante una lista enlazada de punteros hash ( cadena de bloques ). Cualquier servidor puede producir un bloque resolviendo un rompecabezas computacionalmente difícil (específicamente, encontrar una colisión hash parcial ) llamado minería . El bloque se compromete con todo el historial de transacciones de bitcoin, así como con el nuevo conjunto de transacciones entrantes. El minero recibe algunos bitcoins como recompensa por resolverlo.

Sin embargo, el problema del doble gasto persiste si se extraen dos bloques (con transacciones en conflicto) aproximadamente al mismo tiempo. Cuando los servidores inevitablemente no están de acuerdo sobre el orden de los dos bloques, cada uno de ellos conserva ambos bloques temporalmente. A medida que llegan nuevos bloques, deben comprometerse con un historial o con el otro, y eventualmente una sola cadena continuará, mientras que las otras no lo harán. Dado que la cadena más larga (técnicamente, la "más pesada") se considera el conjunto de datos válido, los mineros se ven incentivados a construir solo bloques en la cadena más larga que conocen para que se convierta en parte de ese conjunto de datos (y para que su recompensa sea válida).

Por lo tanto, las transacciones en este sistema nunca son técnicamente "finales", ya que una cadena de bloques conflictiva siempre puede superar la cadena canónica actual. Sin embargo, a medida que se construyen bloques sobre una transacción, se vuelve cada vez más costoso y, por lo tanto, es poco probable que otra cadena la supere.

Ataque del 51%

Debido a la naturaleza de una cadena de bloques descentralizada , y a falta de una autoridad central que lo haga, la sucesión correcta de transacciones está definida únicamente por el consenso dominante. Esto lleva a la posibilidad de que un actor obtenga el control mayoritario sobre las entidades que deciden dicho consenso, para forzar su propia versión de los hechos, incluidas las transacciones alternativas y dobles. Debido a los retrasos en la propagación de la información, los ataques del 51% también son posibles temporalmente para un subconjunto localizado de actores.

La potencia computacional total de un sistema de prueba de trabajo descentralizado es la suma de la potencia computacional de los nodos, que puede diferir significativamente debido al hardware utilizado. Una mayor potencia computacional aumenta la posibilidad de ganar la recompensa minera por cada nuevo bloque extraído, lo que crea un incentivo para acumular grupos de nodos mineros o pools mineros . Cualquier pool que alcance el 51% de potencia de hash puede anular efectivamente las transacciones de la red, lo que resulta en un doble gasto.

Una de las bifurcaciones de Bitcoin, Bitcoin Gold , fue golpeada por un ataque de este tipo en 2018 y luego nuevamente en 2020. [4]

La susceptibilidad de una criptomoneda a los ataques depende de la potencia de hash existente en la red, ya que el atacante debe superarla. Para que el ataque sea económicamente viable, la capitalización de mercado de la moneda debe ser lo suficientemente grande como para justificar el costo de alquilar la potencia de hash. [5] [6]

En 2014, el pool de minería GHash.io obtuvo el 51% de poder de hash en Bitcoin , lo que generó importantes controversias sobre la seguridad de la red. El pool limitó voluntariamente su poder de hash al 39,99% y solicitó a otros pools que siguieran su ejemplo para restablecer la confianza en la red. [7]

Referencias

  1. ^ de Mark Ryan. "Digital Cash". Facultad de Ciencias Informáticas, Universidad de Birmingham . Consultado el 27 de mayo de 2017 .
  2. ^ Jaap-Henk Hoepman (2008). "Prevención del doble gasto distribuido". arXiv : 0802.0832v1 [cs.CR].
  3. ^ Osipkov, I.; Vasserman, EY; Hopper, N.; Kim, Y. (2007). "Combatir el doble gasto mediante sistemas cooperativos P2P". 27.ª Conferencia internacional sobre sistemas informáticos distribuidos (ICDCS '07) . pág. 41. CiteSeerX 10.1.1.120.52 . doi :10.1109/ICDCS.2007.91. S2CID  8097408. 
  4. ^ Canellis, David (27 de enero de 2020). "Bitcoin Gold sufre ataques del 51%, se gastan 72.000 dólares en criptomonedas". Hard Fork | The Next Web . Consultado el 29 de febrero de 2020 .
  5. ^ "Costo de un ataque del 51% para diferentes criptomonedas | Crypto51". www.crypto51.app . Consultado el 29 de febrero de 2020 .
  6. ^ Varshney, Neer (24 de mayo de 2018). "Por qué la prueba de trabajo no es adecuada para las criptomonedas pequeñas". Hard Fork | The Next Web . Consultado el 25 de mayo de 2018 .
  7. ^ "Un popular grupo de minería de Bitcoin promete restringir su poder de cómputo para evitar el temido fiasco del '51%'". TechCrunch . 16 de julio de 2014 . Consultado el 29 de febrero de 2020 .