De la especificación (énfasis añadido):
Bajo una división neta, un libro mayor puede ser cerrado por la minoría de la red, este libro mayor puede ser descartado en el futuro .
¿Significa esto que sería posible gastar dos veces, una en cada lado de la división?
Incluso si la transacción simplemente se rechaza más tarde, podría engañar a un comerciante para que acepte su pago, luego reciba la entrega y luego permita que la red rechace la transacción una vez que se resuelva la división. ¿Es esto correcto? ¿Cómo sabría la minoría de los nodos que están separados del resto de la red?
Ripple debería ser inmune a este ataque porque una transacción no se considera validada hasta que una abrumadora mayoría de validadores (que le interesan) hayan firmado un recibo diciendo que la han procesado (al validar un libro mayor que lo incluye en ese libro mayor o en uno de sus libros anteriores). Si la red se hubiera dividido, no podría recibir recibos de una gran mayoría de validadores.
Los servidores Ripple tienen una "puerta" interna. Continúan rastreando la red, intentan llegar a un consenso, firman validaciones, etc. Pero no informan las transacciones como confirmadas a los clientes hasta que pasan esta puerta interna. Para pasar la puerta, un libro mayor debe tener suficientes validaciones de fuentes confiables. Una vez que un libro mayor alcanza ese umbral, la puerta avanza justo más allá de ese libro mayor y todo hasta ese nuevo punto se considera completamente validado.
Cualquier cosa después de la puerta está en proceso de cambio, sujeto al consenso con otros validadores. Todo lo que hay detrás de la puerta está comprometido para siempre. La gran mayoría de los validadores se han comprometido a ello.
Si está en el lado minoritario de una división (o incluso en el lado ligeramente mayoritario de una mala división), ninguna transacción pasará la puerta. La red quedará inutilizable, pero nadie confiará en una transacción que se deshace cuando se resuelve una división.
A cambio de la inmunidad a este ataque y de las rápidas confirmaciones de Ripple sin necesidad de prueba de trabajo, se paga un precio. Uno puede imaginar situaciones en las que las transacciones podrían no pasar la puerta aunque no haya división de red. Por ejemplo, si una gran cantidad de validadores de repente dejan de validar todos al mismo tiempo, puede pensar que está separado de ellos y que es posible que se necesite una intervención manual para permitir que las transacciones pasen la puerta.
luca mateis
david schwartz
luca mateis
david schwartz
luca mateis
david schwartz
luca mateis
david schwartz
luca mateis
david schwartz