El doble gasto es una falla potencial en un esquema de efectivo digital en el que el mismo token digital único se puede gastar más de una vez. A diferencia del efectivo físico, una ficha digital consiste en un archivo digital que se puede duplicar o falsificar. [1] [2] Al igual que con el dinero falso , este doble gasto conduce a la inflación al crear una nueva cantidad de moneda copiada que no existía anteriormente. 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 retención de la moneda. Las técnicas criptográficas fundamentales para evitar el doble gasto, mientras se preserva el anonimato en una transacción, sonfirmas ciegas y, particularmente en sistemas fuera de línea, división secreta . [2]
Monedas centralizadas
La prevención del doble gasto generalmente se implementa mediante un tercero de confianza central en línea que puede verificar si se ha gastado un token. [2] Esto normalmente representa un único punto de falla tanto desde el punto de vista de disponibilidad como de confianza.
Monedas descentralizadas
En un sistema descentralizado , el problema del doble gasto es significativamente más difícil de resolver. Para evitar la necesidad de un tercero de confianza, muchos servidores deben almacenar copias idénticas actualizadas de un libro mayor de transacciones públicas , pero a medida que se transmiten las transacciones (solicitudes para gastar dinero), llegarán a cada servidor en momentos ligeramente diferentes. Si dos transacciones intentan gastar el mismo token, cada servidor considerará la primera transacción que considere válida y la otra inválida. 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 esto 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 .
Para 2007, se habían propuesto varios sistemas distribuidos para prevenir el doble gasto. [3] [4]
La criptomoneda Bitcoin implementó una solución a principios de 2009. Su protocolo criptográfico utilizó un mecanismo de consenso de prueba de trabajo donde las transacciones se agrupan en bloques y se encadenan entre sí mediante una lista enlazada de punteros hash ( blockchain ). Cualquier servidor puede producir un bloque resolviendo un rompecabezas computacionalmente difícil (específicamente encontrar una colisión de 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 es recompensado con algunos bitcoins por resolverlo.
Sin embargo, el problema del doble gasto persiste si se extraen dos bloques (con transacciones en conflicto) al mismo tiempo aproximado. Cuando los servidores inevitablemente no están de acuerdo en el orden de los dos bloques, cada uno mantiene ambos bloques temporalmente. A medida que llegan nuevos bloques, deben comprometerse con un historial u otro y, finalmente, una sola cadena continuará, mientras que las otras no. Dado que la cadena más larga (técnicamente más "pesada") se considera el conjunto de datos válido, se incentiva a los mineros 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 Sé valido).
Por lo tanto, las transacciones en este sistema nunca son técnicamente "finales", ya que una cadena de bloques en conflicto siempre puede superar la cadena canónica actual. Sin embargo, a medida que los bloques se construyen sobre una transacción, es cada vez más improbable / costoso que otra cadena lo supere.
51% de ataque
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. Un mayor poder computacional aumenta la posibilidad de ganar la recompensa de minería por cada nuevo bloque extraído, lo que crea un incentivo para acumular grupos de nodos de minería o grupos de minería . Cualquier grupo que alcance el 51% de poder hash puede anular eficazmente las transacciones de red, lo que se traduce en un gasto doble. Una de las bifurcaciones de Bitcoin, Bitcoin Gold , fue golpeada por un ataque de este tipo en 2018 y luego nuevamente en 2020. [5]
La susceptibilidad de ataque de una criptomoneda determinada depende del poder hash existente de la red, ya que el atacante necesita superarlo. 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 el poder hash. [6] [7]
En 2014, el grupo de minería Ghash.io obtuvo un 51% de poder de hash en Bitcoin, lo que generó importantes controversias sobre la seguridad de la red. El grupo ha limitado voluntariamente su poder de hash al 39,99% y solicitó que otros grupos lo sigan para restaurar la confianza en la red. [8]
Ver también
Referencias
- ^ El problema del doble gasto y las criptomonedas . Revista de Banca y Seguros. Red de Investigación en Ciencias Sociales (SSRN). Consultado el 24 de diciembre de 2017.
- ^ a b c Mark Ryan. "Efectivo digital" . Facultad de Ciencias de la Computación, Universidad de Birmingham . Consultado el 27 de mayo de 2017 .
- ^ Jaap-Henk Hoepman (2008). "Prevención del doble gasto distribuido". arXiv : 0802.0832v1 [ cs.CR ].
- ^ Osipkov, I .; Vasserman, EY; Hopper, N .; Kim, Y. (2007). "Combatir el doble gasto mediante sistemas cooperativos P2P". 27th International Conference on Distributed Computing Systems (ICDCS '07) . pag. 41. CiteSeerX 10.1.1.120.52 . doi : 10.1109 / ICDCS.2007.91 . S2CID 8097408 .
- ^ Canellis, David (27 de enero de 2020). "Bitcoin Gold golpeado por ataques del 51%, $ 72K en criptomonedas doble gastado" . Tenedor duro | La próxima web . Consultado el 29 de febrero de 2020 .
- ^ "Costo de un ataque del 51% para diferentes criptomonedas | Crypto51" . www.crypto51.app . Consultado el 29 de febrero de 2020 .
- ^ Varshney, Neer (24 de mayo de 2018). "Por qué la prueba de trabajo no es adecuada para pequeñas criptomonedas" . Tenedor duro | La próxima web . Consultado el 25 de mayo de 2018 .
- ^ "El popular grupo de minería de Bitcoin promete restringir su poder de cómputo para evitar el temido fiasco del '51% '" . TechCrunch . Consultado el 29 de febrero de 2020 .