PoW, PoS и разрешение конфликтов транзакций. Как это работает? Не подвергается ли PoS риску?

Поэтому я пытаюсь разобраться в POS. И у меня есть вопрос о разрешении конфликта транзакций и есть ли здесь риск атаки.

Если я правильно понимаю, как работает POS, если есть две транзакции, которые борются за легитимность, то люди, голосующие, будут вознаграждены тем, кто взят в блокчейн, и теми, кто проголосовал за проигравшую транзакцию.

Итак, вот сценарий, и я хотел бы знать, пропустил я что-то или нет. Вот идея: допустим, я отправляю на разные машины, но в то же время транзакция по отправке всех моих ETH с одной учетной записи на другую. Поскольку он распространен по всему миру, некоторые избиратели примут транзакцию x, часть транзакцию y и еще одну транзакцию. Если у вас еще нет информации о других транзакциях, вы подтвердите ее и сделаете ставку на нее. Итак, что произойдет, так это то, что небольшая часть избирателей будет вознаграждена правильной транзакцией, а остальные проиграют свою ставку. Это может быть использовано в качестве атаки, чтобы получить ETH, заставив другого проиграть. Как злоумышленник, я могу легко распознать свою транзакцию (например, подписав их) и убедиться, что я не участвую в голосовании блока, содержащего какую-либо из моих транзакций.

Что произойдет в этом случае? Как система может разрешить эти конфликты, не слишком наказывая избирателей?

По моим наблюдениям, в случае с PoW разрешение конфликтов ничего не стоит, в итоге один блок выиграет и на этом все. Но в случае PoS каждое разрешение конфликта приведет к издержкам для людей, голосующих за неправильный блок, даже не зная, что они это делают.

Ответы (1)

Есть три причины, по которым подобная атака не сработает (согласно текущей системе CASPER).

Во-первых, больше нет «противоречивых» транзакций. Все, что нужно для того, чтобы транзакция была действительной, — это ее правильное форматирование. Все остальное, от одноразовой проверки до проверки наличия достаточного количества ETH для отправки, будет выполняться EVM. Таким образом, транзакция X и транзакция Y могут «произойти». Просто один отправит все ETH аккаунта, а другой ничего сделать не сможет.

Во-вторых, право на создание блока в текущей системе является детерминированным. Известно, какой валидатор будет выдавать блок на каждой высоте. Таким образом, чтобы создать два противоречащих друг другу блока, валидатор должен был бы сделать это лично. Это приведет к наказанию валидатора потерей депозита.

В-третьих, ставки — это не все или ничего. Валидатор дает шансы, например: «Я считаю, что этот блок имеет 60%-й шанс быть правильным». Валидаторы, согласно стратегии по умолчанию, увеличивают шансы, поскольку видят, что другие валидаторы делают такие же ставки. Если бы было два противоречащих друг другу блока, то мудрые валидаторы перестали бы делать ставки на блок, который казался проигрышным, и начали бы ставить на блок, который казался выигрышным. Те, кто начал делать ставки на проигрышный блок, потеряют часть своих ставок, но не так много, как валидатор, который изначально создал два блока.