Проблемы с Древом Меркла
Ранее в этом году я выкладывал небольшой пост со ссылкой на ветку в Твиттере, в которой разбиралась уязвимость Древа Меркла в библиотеке от Open Zeppelin.
Чуть позже в одном из чатов видел дискуссию о комментарии в этом же контракте:
You should avoid using leaf values that are 64 bytes long prior to hashing, or use a hash function other than keccak256 for hashing leaves.
И вот только сейчас встретил статью, которая помогла многие вещи поставить на место. В ней рассказывается об second preimage attack и почему разработчики должны избегать хеширования листьев древа в 64 байта. Более того, в статье показываются способы, как избежать этой проблемы.
Сначала я хотел написать краткий пост с основными тезисами из статьи, но понял, что будет проще ее всю загнать в переводчик (для тех, кто не знает английский язык) и просмотреть лично, так как там много скринов и описаний, которые будет сложно понять в отрыве от самой статьи.
Поэтому рекомендую каждому ее прочитать от и до:
https://www.rareskills.io/post/merkle-tree-second-preimage-attack
Ну, а если вы, как и я, зададитесь вопросом, почему это SECOND preimage attack, а где же FIRST, то вот эта статья поможет ответить на вопрос.
Надеюсь, вопросов по Древу Меркла у вас стало теперь меньше.
#merkletree #merkle
Post #969
889
- 🔥 4
- ❤ 1