PoW, PoS y resolución de conflictos de transacciones. ¿Como funciona? ¿No está en riesgo el PoS aquí?

Así que estoy tratando de poner mi cabeza alrededor de POS. Y tengo una pregunta sobre la resolución de conflictos de transacciones y si existe un riesgo de ataque aquí.

Si entiendo correctamente cómo funciona el POS, si hay dos transacciones que luchan por la legitimidad, entonces las personas que votan serán recompensadas por la que se incluye en la cadena de bloques y por las que votaron por la transacción perdedora.

Así que aquí está el escenario y me gustaría saber si me perdí algo o no. Aquí está la idea: digamos que envío en diferentes máquinas pero al mismo tiempo una transacción para enviar todos mis ETH de una cuenta a otra. Debido a que está repartido por todo el mundo, algunos votantes aceptarán la transacción x, algunos la transacción y y algunos otra transacción. Si aún no tiene información sobre las otras transacciones, la validará y apostará por ella. Entonces, lo que sucederá es que una pequeña porción de los votantes será recompensada con la transacción correcta y los demás perderán su apuesta. Esto podría usarse como un ataque para ganar ETH al hacer que el otro pierda. Como atacante de votantes, puedo reconocer fácilmente mi transacción (firmándola, por ejemplo) y asegurarme de no participar en la votación del bloque que contiene ninguna de mis transacciones.

¿Qué pasaría en ese caso? ¿Cómo puede el sistema resolver estos conflictos sin penalizar demasiado a los votantes?

Mi observación es que en el caso de PoW, la resolución de conflictos no cuesta nada, eventualmente un bloque ganará y eso es todo. Pero en el caso de PoS, cada resolución de conflicto resultará en un costo para las personas que votan por el bloque equivocado sin saber que lo están haciendo.

Respuestas (1)

Hay tres razones por las que un ataque como este no funcionaría (según el sistema CASPER actual).

Primero, ya no hay transacciones "contradictorias". Todo lo que una transacción necesita para ser válida es que esté correctamente formateada. Todo lo demás, desde la verificación inmediata hasta la validación de que la cuenta tiene suficiente ETH para enviar, será realizado por el EVM. Entonces, la transacción X y la transacción Y podrían "suceder". Es solo que uno enviará todo el ETH de la cuenta, y el otro no haría nada.

En segundo lugar, el derecho a crear un bloque, por el sistema actual, es determinista. Se sabe qué validador producirá el bloque en cada altura. Entonces, para crear dos bloques contradictorios, un validador tendría que hacerlo personalmente. Esto daría como resultado que el validador sea castigado con la pérdida de su depósito.

Tercero, apostar no es todo o nada. Un validador da probabilidades, como "Creo que este bloque tiene un 60% de posibilidades de ser correcto". Los validadores, por la estrategia predeterminada, aumentan las probabilidades cuando ven que otros validadores apuestan de la misma manera. Si hubiera dos bloques contradictorios, los validadores sabios dejarían de apostar por el bloque que parecía estar perdiendo y comenzarían a apostar por el bloque que parecía estar ganando. Aquellos que habían comenzado a apostar al bloque perdedor perderían algunas de sus apuestas, pero no tanto como el validador que había producido dos bloques en primer lugar.