Недавно (20 июня 2019 года) на Cryptology ePrint Archive была опубликована статья "SoK of Used Cryptography in Blockchain". Данный пост - двенадцатый в запланированной серии, содержащей любительский перевод этой статьи.
Систематизация знаний по используемой криптографии в блокчейне
(перевод с английского
статьи
Mayank Raikwar, Danilo Gligoroski and Katina Kralevska
SoK of Used Cryptography in Blockchain
Cryptology ePrint Archive, Report 2019/735
https://eprint.iacr.org/2019/735)
Аннотация
(перевод аннотации здесь)
1 Введение (перевод введения здесь)
1.1 Наш вклад (перевод здесь)
2 Методология исследования (перевод здесь)
3 Основные понятия блокчейна
3.1 Криптографическая хэш-функция (перевод здесь)
3.2 Механизмы консенсуса (перевод здесь)
3.3 Сетевая инфраструктура (перевод здесь)
3.4 Типы блокчейна (перевод здесь)
4 Проблемы в блокчейн
4.1 Безопасность и приватность (перевод здесь)
4.2 Проблемы масштабируемости (перевод здесь)
4.3 Форкинг
Блокчейн-форк по существу возникает, когда два майнера находят блок почти одновременно из-за обновления программного обеспечения или управления версиями. В сети блокчейн каждое устройство или компьютер рассматривается как "полный узел", который запускает программное обеспечение для обеспечения безопасности блокчейна путем проверки реестра. Программное обеспечение обновляется для настройки некоторых параметров и установки новых функций в блокчейн. Это обновленное программное обеспечение может быть несовместимо со старым программным обеспечением. Следовательно, старые узлы, которые не обновили свое программное обеспечение, и новые узлы, которые выполнили обновление программного обеспечения, могут вызвать форк в блокчейне, когда они создают новые блоки. Существует два типа форка: один, который не совместим с предыдущей версией программного обеспечения, называемый хард-форком, и другой, который совместима с предыдущей версией (обратная совместимость), называемый софт-форком. Хард-форк происходит, когда происходит значительное изменение в программном обеспечении, такое как изменение параметров блока или изменение механизма консенсуса. В случае Ethereum хард-форк произойдет, когда он перейдет от Proof of Work к Proof of Stake. Одним из примеров софт-форка является Segregated Witness (SegWit), который был реализован в Биткойне путем изменения формата транзакции. Недавно приватная монета Beam [79] (реализация протокола приватности Mimblewimble) провела свой первый хардфорк от ASICS. На рисунке 4 показан сценарий блокчейн форкинга, где правильной цепью может быть любая из этих двух раздвоенных цепей в зависимости от случая хард-форка или софт-форка.
Исследовательская проблема 5. Сконструировать механизм консенсуса без форкинга для неконтролируемого публичного блокчейна.
Рисунок 4. Блокчейн форкинг.