Публичные и частные
Вероятно, самое очевидное разделение блокчейнов – на публичные и частные или открытые и закрытые, что по сути одно и то же, но с некоторыми нюансами. Каковы основные отличия открытого и закрытого блокчейна и что они значат для пользователей?
Степень открытости блокчейна может зависеть от нескольких факторов. Первый – доступность исходного кода протокола блокчейна (обычно под этим подразумевается наиболее распространенный клиент данного блокчейна). Для Bitcoin таким клиентом является Bitcoin Core. А, например, в системе Ethereum нет одного общепринятого клиента, и пользователи могут выбирать из нескольких вариантов: Geth, Parity, MyEtherWallet и т.д., и все они разрабатываются с открытым исходным кодом.
Криптовалюты создавались как децентрализованные и общедоступные платежные системы, поэтому их исходный код, как правило, открыт с самого начала разработки, и его изменения ведутся на одном из наиболее популярных ресурсов, например на GitHub.
Блокчейны и платформы для корпоративного применения могут быть как с открытым, так и с частично или полностью закрытым исходным кодом. Проект Hyperledger, созданный под эгидой Linux Foundation как открытая блокчейн-платформа для бизнеса, изначально открыл свой исходный код, а разработчики Ripple открыли исходный код своего серверного приложения только через год после запуска. Такие ИТ-гиганты, как Microsoft или SAP, для собственных блокчейн-продуктов, очевидно, будут придерживаться обычной своей политики, и их исходный код останется закрытым.
Что же касается блокчейн-разработок для государственного сектора, то их количество еще слишком мало, используемых в реальных процессах продуктов практически не существует, но следует ожидать, что большинство из них также будут закрытыми.
Второй и наиболее важный показатель – возможность для любого пользователя свободного подключения к сети без получения каких-либо разрешений. Именно это является определяющим отличием публичного блокчейна от частного. Подавляющее большинство известных на сегодня блокчейнов публичны – для подключения к ним достаточно скачать совместимую с текущей версией протокола программу (клиент) и установить связь с другими равноправными узлами сети.
Чтобы полноценно участвовать в работе сети, в частности, проверять и ретранслировать транзакции других пользователей или участвовать в создании блоков, необходимо запустить клиент с функциональностью полного узла. В остальных случаях достаточно легкого клиента с ограниченными возможностями. Однако в публичных блокчейнах уровень участия пользователя всегда определяется им самим и зависит только от его личных (финансовых или аппаратных) ресурсов. Кроме того, никто не может отключить пользователя от распределенной сети, поскольку все участники публичного блокчейна равноправны. В отдельных случаях они могут, например, бойкотировать пользователя, рассылающего некорректные транзакции или пытающегося передать не соответствующую протоколу информацию, но такие инициативы носят исключительно саморегулируемый характер и не вводятся на уровне протокола.
В частных же блокчейнах за подключение к сети новых пользователей (а также за возможность их отключения) могут отвечать выделенные доверенные узлы или группы узлов, имеющие более высокий уровень полномочий по сравнению с остальными пользователями. Частные блокчейны представляют собой иерархические структуры, состоящие из двух или более уровней. Пары ключей, предоставляющие доступ к системе, выдаются и управляются специальными административными узлами и при необходимости могут быть отозваны. Таким образом, частные блокчейны не реализуют основные принципы технологии – децентрализацию и равноправие участников, так как для корпоративных систем их наличие оборачивается существенными рисками.