Что такое дальняя атака в Proof-of-Stake?

Что такое дальняя атака в Proof-of-Stake? И как этот вектор будет смягчен реализацией Casper Proof-of-Stake?

Ответы (2)

В наивно реализованном доказательстве доли предположим, что есть злоумышленник с 1% всех монет в генезис-блоке или вскоре после него. Затем этот злоумышленник запускает свою собственную цепочку и начинает ее майнинг. Хотя злоумышленник будет выбран для создания блока только в 1% случаев, он может легко создать в 100 раз больше блоков и таким образом просто создать более длинную цепочку блоков.

https://blog.ethereum.org/2014/05/15/long-range-attacks-the-serious-problem-with-adaptive-proof-of-work/

Можно немного расширить? Я не понимаю, как атака могла «опередить» реальную цепочку, поскольку основная цепочка будет двигаться с той же скоростью (или будет?). Разве модификатор сложности не требует, чтобы блоки появлялись с одинаковым интервалом?

Каспер 101 :

Это примерно тот же механизм, что и атака 51% (создайте более длинную цепочку, которая перепишет бухгалтерскую книгу в пользу злоумышленника), но вместо того, чтобы начинать атаку на 6 блоков назад, вернитесь намного дальше в историю цепочки (т.е. на 60 000 блоков). Это проблема для PoS, поскольку для перезаписи очень длинной цепочки не требуется доказательства работы (или трудоемкой операции).

Эта проблема и проблема «ничего не поставлено на карту» решаются с помощью идей из слэшера (и его улучшенных вариантов). Основные моменты заключаются в том, что (1) известны валидаторы, которые позволяют приписывать ошибки на уровне валидатора, и (2) наличие «режущих условий», которые сильно лишают стимулов к определенным действиям, позволяет смягчить эти проблемы. Опять же, этот пример имеет решающее значение для понимания точки зрения команды Casper на разработку алгоритма консенсуса: мы можем использовать экономический дизайн механизма для создания защищенной распределенной системы.

Если у вас есть что-то на кону, как вы отправляете поставленные монеты в сеть? Похоже, вам нужно использовать закрытый ключ или какой-либо другой ключ с меньшим доступом. Кроме того, что, если узлы будут взломаны, и хакер заставит узел отправить в сеть неверный результат? Ставка будет сокращена, и они потеряют кучу денег?
@AndroidDev93 Да. То же самое и с обычным кошельком: если злоумышленник взломает ваш кошелек, он может украсть все ваши деньги. Хранение вашего секретного ключа в безопасности — это золотое правило, независимо от того, используете ли вы PoW или PoS.
@stackoverflower Если мой майнер PoW будет скомпрометирован, мои средства не будут украдены. У моего майнера есть только открытый ключ. Однако в доказательстве доли это не так. Это звучит как новая уязвимость при сравнении PoS с PoW?
@ AndroidDev93 У майнера PoW также есть пара ключей, которая используется для получения комиссии за транзакции и новых биткойнов, хотя вы можете регулярно выводить средства из кошелька майнера, чтобы снизить потери. С PoS вы можете разделить свои средства на несколько майнеров и запускать их параллельно. Это не будет потреблять больше электроэнергии, потому что вы можете запрограммировать их, чтобы они всегда принимали одно и то же решение.
@stackoverflower у майнера PoW есть только открытый ключ. Не закрытый ключ кошелька. В PoW вы никогда не берете деньги из кошелька. Вы только кладете деньги в кошелек. Итак, PoW имеет только открытый ключ. Однако в PoS это не так. Вы должны иметь возможность урезать средства, если они ответят неправильно. Итак, вам нужно иметь какой-то закрытый ключ в майнере.