Недавно (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 Типы блокчейна
Блокчейны можно классифицировать в зависимости от дизайна реализации, правил управления, доступности данных и прав доступа. С академической точки зрения они были классифицированы как ”публичные” (public) и ”частные” (private). В тоже время с административной точки зрения они описываются как ”контролируемые” (permissioned) и ”неконтролируемые” (permissionless). Тем не менее, эти термины используются взаимозаменяемо в большинстве исследованиях блокчейна и применениях в производственном секторе, что не является правильным способом использования этих терминов. Несмотря на то, что классификация блокчейнов не очень четко определена в литературе, мы все еще можем классифицировать блокчейны, соединяя публичные, частные, контролируемые и неконтролируемые.
1. Неконтролируемые Публичные (Permissionless Public): в этом типе блокчейна любой человек может присоединиться или покинуть сеть в любое время и участвовать в консенсусе, а также поддерживать реестр. Каждый также имеет доступ к блокчейну для чтения и записи. Таким образом, он обеспечивает минимальное доверие между участниками, но при этом достигает максимальной прозрачности. Большинство криптовалют и блокчейн-платформ являются неконтролируемыми публичными, например, Bitcoin [1], Zerocash [57] и Monero [58].
2. Контролируемые Публичные (Permissioned Public): этот тип блокчейна позволяет всем читать состояние блокчейна и данные, но для того, чтобы записать данные и принять участие в консенсусе, существуют разрешения/привилегии, связанные с участниками, предоставленные сетевым администратором, что в определенной степени делает систему неполностью децентрализованной. В этом типе блокчейна когда участник имеет некоторые привилегии, на основе этого он также может стать валидатором. Примерами контролируемых публичных блокчейнов являются Ripple [59], EOS [60] и новейшая Libra [43].
3. Неконтролируемые Частные (Permissionless Private): этот тип блокчейна позволяет организациям сотрудничать без необходимости публичного обмена информацией. Будучи неконтролируемым, позволяет любому человеку присоединиться или покинуть блокчейн в любое время, что также признается другими узлами. Смарт-контракты в этих сетях также определяют, кому разрешено читать контракт и связанные с ним данные, а не только кому разрешено выполнять действия. Некоторые неконтролируемыечастные блокчейны используют федеративное византийское соглашение (Federated Byzantine Agreement (FBA)) в качестве протокола консенсуса. LTO [61] сеть - это пример неконтролируемого частного блокчейна, который создает ”живой контракт” в сети.
4. Контролируемые Частные (Permissioned Private): эти блокчейны в основном используются в организациях, где данные/информация хранятся в блокчейне с контролем доступа со стороны пользователей организации. Членство в сети предоставляется сетевым администратором или каким-либо органом управления составом участников сети. Доступ на чтение и запись к данным также предоставляется сетевым администратором. Hyperledger fabric [62], Monax [63], Multichain [64] являются примерами контролируемых частных блокчейнов.
В таблице 3 представлена четкая картина классификации блокчейнов с соответствующими преимуществами, проблемами и областями применения. Однако, как правило, неконтролируемые публичные блокчейны (permissionless public blockchains) обычно называются публичными блокчейнами (public blockchains), а контролируемые частные блокчейны (permissioned private blockchains) - полностью частными блокчейнами (fully private blockchains). Комбинация контролируемого публичного и неконтролируемого частного образует "блокчейн консорциума" (consortium blockchain), который также называется федеративным блокчейном. Блокчейн консорциума не является ни полностью публичным, ни полностью частным, и он делает блокчейн частично децентрализованным. В блокчейне консорциума консенсус достигается выбранной группой участников. В настоящее время большинство организаций выбрали блокчейны консорциума для своих решений с блокчейном.
Тип блокчейна |
Область применения |
Анономность |
Масштабируемость |
Проблемы |
Ссылки |
Неконтролируемые Публичные (Permissionless Public) |
Децентрализованные P2P-сети |
Высокая |
Низкая |
Приватность, Масштабируемость |
Monero [58] |
Контролируемые Публичные (Permissioned Public) |
Децентрализованные организации |
Высокая |
Средняя |
Приватность, Централизация |
|
Неконтролируемые Частные (Permissionless Private) |
Сети внутри организации |
Срелняя |
Средняя |
Консенсус, Масштабируемость |
LTO [61] |
Контролируемые Частные (Permissioned Private) |
Организационные реестры с ограниченным доступом |
Низкая |
Высокая |
Консенсус, Централизация |
Hyperledger fabric [62], |
Таблица 3. Классификация блокчейна.