Варианты использования CheckGenesis - PullRequest
1 голос
/ 21 октября 2019

В сегодняшнем совместном обучении по субстратам SignedExtension подразумевается для CheckGenesis (см. этот бунтный разговор для обсуждения, связанного с валидацией). Возвращаясь к первым принципам, каковы варианты использования для CheckGenesis ?

1 Ответ

0 голосов
/ 22 октября 2019

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

Цель CheckGenesis - обеспечить передачу транзакции в правильную цепочку, а не в другую. ,Без CheckGenesis возможна следующая атака.

Алиса платит Бобу несколько жетонов в цепочке, которую они оба обычно используют. Транзакция проходит, как и ожидалось, и Боб получает токены. Боб замечает, что Алиса повторно использует свой ключ в другой цепочке. Поэтому он также передает ее транзакцию в эту вторую цепочку. Транзакция также проходит по второй цепочке, и Боб получает второй платеж.

Ссылаясь на цепочку, для которой предназначена транзакция, в подписанных данных, Алиса может предотвратить эту атаку.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...