¿Cuál es el equivalente de Ripple del "ataque del 51%"?

En Bitcoin, si un participante obtiene el control de más del 50% del poder hash, puede ejecutar un ataque de doble gasto. El "ataque" podría venir desde adentro, digamos si los poderosos mineros existentes deciden cambiar las reglas.

¿Ripple tiene un problema similar, donde unas pocas personas pueden tomar el control del sistema de manera efectiva? En caso afirmativo, ¿cómo funciona?

Respuestas (2)

Ripple resuelve el problema del doble gasto por consenso. Todos los que quieran ejecutar un servidor en la red Ripple eligen un conjunto de validadores e intentan llegar a un consenso con ellos sobre qué transacciones son válidas.

El equivalente de Ripple del ataque del 51% de Bitcoin sería si algún grupo obtuviera el control sobre suficientes validadores que el proceso de consenso fallara. Debido a que las personas seleccionan específicamente validadores que creen que es poco probable que se confabulen, esto sería algo excepcionalmente difícil de hacer.

Si los validadores se niegan a llegar a un consenso entre ellos, esto es detectable para otros validadores. Luego declaran que la red está rota (porque no saben de qué lado está bien).

En este caso, los servidores declararían inutilizable la red Ripple automáticamente. Hasta que se resolviera el problema, no se podía confiar en los resultados de las transacciones.

La solución consistiría en analizar las validaciones y propuestas firmadas para ver qué validadores no estaban siendo razonables y que todas las personas honestas eliminen esos validadores de las UNL (listas de validadores con las que intentan llegar a un consenso).

Así que tendrías que ganarte la confianza de la gente y luego, en el proceso de realizar el ataque, perderías esa confianza y tendrías que empezar de nuevo.

Por el contrario, si alguien adquirió ASIC para atacar Bitcoin, podría atacar Bitcoin repetidamente. No está claro cómo Bitcoin podría responder a un ataque de este tipo, pero cambiar el algoritmo de minería (para hacer que los ASIC del atacante no tengan valor) probablemente no sea un buen comienzo, ya que también haría que todas las inversiones de los mineros de Bitcoin en ASIC también fueran inútiles.

¿Cómo se asegura la red de que no surjan grupos de validadores? Si tengo razón, los nodos ignoran las propuestas de otros nodos que no sean en los que confían. ¿Qué sucede cuando surge un grupo de nodos que solo confían en los demás en el grupo pero no tienen ningún vínculo con ningún otro nodo fuera del grupo?
Una bifurcación de blockchain :)
"Hasta que se resolviera el problema, no se podía confiar en los resultados de las transacciones". ¿Significa esto que las transacciones no se realizarían? ¿Sabría un usuario que el sistema está en este estado?
En Bitcoin, puede hacer un gasto doble si tiene suficiente poder de hash, y esto es así por diseño. ¿Está diciendo que simplemente no puede gastar el doble en Ripple, solo detener el sistema debido a la falta de consenso (incluso si controló la mayoría de los nodos de validación)?
@StevenRoose: No hay nada de malo con un grupo de validadores, simplemente formarían su propia red. Si desea mantener la coherencia con la red global de validadores y desea estar en el mismo libro de contabilidad que ellos, debe decirle al software que eso es lo que desea.
@Manish: Sí, eso es básicamente correcto si las UNL se mantienen adecuadamente. Pero piénselo: digamos que entra en ese estado y ahora tiene dos mitades de la red que no están de acuerdo. La red se ha paralizado y la única forma de solucionarlo es elegir un lado o el otro. La ventaja es que no debe haber personas que hayan confiado en las transacciones de un lado o del otro.
¿Es este estado de "detención" algo que todos los nodos conocen? ¿O es como Bitcoin, donde felizmente podrías seguir construyendo una rama alternativa para siempre (y terminar con dos libros de contabilidad)? ¿Qué significa "detener", significa que no hay más transacciones?
@Manish: el servidor Ripple tiene una "puerta" interna. Continúa funcionando en función de lo que ve en la red, formando un consenso con todo lo que puede. Pero solo informa transacciones como validadas a los clientes cuando pasan esta "puerta". Si los validadores no están de acuerdo, nada pasará la puerta. El servidor informará datos obsoletos a los clientes y les dirá que no tiene datos actuales. No podía confiar en los resultados de ninguna transacción. Si Bitcoin tiene un estado fallido similar, igualmente procesa felizmente las transacciones e informa las confirmaciones. (Aunque eso es muy raro).

Por el contrario, si alguien adquirió ASIC para atacar Bitcoin, podría atacar Bitcoin repetidamente.

El problema es que no hay suficientes ASIC disponibles en la Tierra para montar un ataque efectivo contra Bitcoin. Los mineros existentes tendrían que ser cooptados como parte del ataque, que efectivamente se convierte en una bifurcación: una nueva cadena se divide con reglas diferentes. Que es lo que pasó con el fiasco de bcash. La vieja cadena continúa sin verse afectada, mientras que la nueva disminuye a medida que los mineros finalmente capitulan y regresan a la cadena de consenso más rentable.