Читать книгу Системы распределённого реестра. Блокчейн - - Страница 2
Системы распределенного реестра. Блокчейн
Что такое технология блокчейн. Виды блокчейн
ОглавлениеНиже мы рассмотрим одну из самых распространенных технологий распределенного реестра – блокчейн, а также вопросы его практического применения.
Блокчейн (от англ. Blockchain или block chain, – цепочка блоков) – выстроенная по определённым правилам непрерывная последовательная цепочка блоков (связный список), содержащих информацию. Копии цепочек блоков хранятся на множестве разных компьютеров независимо друг от друга.
bitcoin.org
В 1991 году Стюарт Хабер (Stuart Haber) и В. Скотт Сторнетта (W. Scott Stornetta) представили то, что многие люди стали называть блокчейном. Их первая работа в статье «Как создать временную метку в цифровом документе» была связана с работой над криптографически защищенной цепочкой блоков, в которой никто не мог подделать временные метки документов.
Каждый блокчейн – это распределенный реестр (DLT), но не каждый распределенный реестр – блокчейн.
Оба понятия подразумевают децентрализацию и достижение консенсуса между узлами. Однако, в блокчейне данные организованы в блоки, и разрешено только добавлять новые данные.
Как первое применение технологии блокчейн в 2008 году появился Биткойн. Сатоши Накамото (Satoshi Nakamoto, если, конечно, такой человек реально существовал), в своем техническом документе описал это как электронную пиринговую систему.
Биткойн и Блокчейн – это не одно и то же, поскольку блокчейн является базовой технологией, которая обеспечивает работу большинства приложений. Одним из них является криптовалюта, где блокчейн играет роль главного общего реестра для всех операций. Хотя первое использование Блокчейн в современной отрасли зафиксировано в механизме цифровых денег Биткоин, необходимо разделять данные понятия. Использование технологии Блокчейн может быть гораздо шире, чем создание цифровых денег.
Рис. 2. Как работает Блокчейн. Источник: rbc.ru.
В 2013 году был задуман, а в 2015 был запущен блокчейн Ethereum, как новый публичный блокчейн с дополнительными функциональными возможностями по сравнению с биткойнами, и он стал поворотным моментом в истории блокчейна. Ethereum превратился в одно из крупнейших приложений технологии блокчейна, учитывая его способность поддерживать смарт-контракты, используемые для выполнения различных функций.
Блок – запись нескольких транзакций в определённом формате. Транзакция – минимальная логическая операция, которая может быть совершена только полностью (т.е. транзакция либо выполнена, либо нет; состояния, например, в 62% выполнения транзакции быть не может).
К примеру, в сети Биткоин транзакции объединяются в одиночные блоки и проверяются на математическую верность (сеть Биткоин автоматически поддерживает сложность алгоритма, чтобы подобная операция осуществлялась в среднем раз в 10 минут) с помощью операции майнинг. Каждый последующий блок дополнительно проверяет предыдущие блоки и делает дупликацию транзакции биткоин невозможной. Транзакция, получившая подтверждение, уже не может быть отменена или проведена вторично.
В блокчейн хранятся не только все транзакции с момента его старта, но и хеш-функции каждого блока, причём каждая хеш-функция содержит хеш предыдущего блока.
Хеш-функция – функция, которая преобразует сообщение произвольной длины в число («свёртку») фиксированной длины. Ключевой особенностью хеш-функции является отсутствие обратной функции (имея хеш, нельзя восстановить начальные данные, из которых он был подсчитан).
Благодаря описанным свойствам хеш-функций и достигается целостность блокчейн. В таких условиях подделка информации становится практически невозможной. Единственным механизмом «отката» данных в блокчейн-сети будет согласованный со всеми узлами переход на альтернативную цепочку блоков, так называемый механизм «хардфорка».
Если кто-то захочет поменять местами события, записанные в блокчейн, или внести изменения, то ему придется заново пересчитать хеш всех последующих событий.
Таким образом, мы получаем упрощенное Хеш-дерево, или дерево Меркла (англ. Merkle tree) – полное двоичное дерево, в листовые вершины которого помещены хеши от блоков данных, а внутренние вершины содержат хеши от сложения значений в дочерних вершинах.
Дерево Меркла применяется для эффективного хранения транзакций в блокчейн. Оно позволяет получить «отпечаток» всех транзакций в блоке, а также эффективно верифицировать транзакции.
Ключевым аспектом блокчейн-сетей является децентрализация: информация хранится в зашифрованном виде, будучи распределённой на сотни и тысячи компьютеров (узлов сети). По степени децентрализации блокчейн-сети разделяются на два типа: открытые блокчейны и приватные.
Открытая блокчейн-сеть полностью децентрализована:
•
все узлы равнозначны, отсутствует орган или компания, которая управляла бы этой сетью, нет ролевых механизмов и т.п.;
•
нет механизмов запрета на подключение к сети новых узлов;
•
нет механизмов, дающих каким-либо участникам сети возможности управления децентрализованной логикой (смарт-контрактами);
•
нет механизмов ограничения области видимости данных и инструментов репликации данных на узлах.
В приватных блокчейн-сетях добавляются упомянутые механизмы выделения узлов; как правило, применяются ролевые механизмы; появляются механизмы ограничения подключений новых узлов и механизмы ограничения областей видимости. Конкретные механизмы отличаются у разных производителей – и даже версий блокчейнов.
К примеру, открытая блокчейн-сеть Биткоин основана на пиринговом (P2P) протоколе, в котором все пользователи в сети работают и взаимодействуют непосредственно друг с другом, вместо того чтобы передавать свои данные через посредника, как, например, банк или кредитная компания.
В открытых блокчейн-сетях отсутствует идентификация участников, применяется только механизм управления владением криптоактивом с помощью асимметричной криптографии. Причем в открытых блокчейн-сетях участник может генерировать ключевые пары в неограниченных количествах и применять их по своему усмотрению в любых транзакциях. Владелец криптоактива получает доступ к его изменению за счет использования приватного ключа. Утрата приватного ключа приводит фактически к утрате криптоактива. Например, если вы потеряете ключ от биткоин-кошелька, то доступ к хранящимся в нём средствам технически невозможно восстановить.
В некоторых дистрибутивах приватных блокчейнов начинают добавляться механизмы идентификации узлов на аналогичных принципах (асимметричная криптография), однако сейчас эти возможности ещё недоступны. По состоянию на 2018 год к приватным блокчейн-сетям имеет смысл применять дополнительные (внешние) технологии ограничения доступа (файерволы, шифраторы трафика и т.п.).
Свойства блокчейн2:
Невозможность подмены данных в блокчейне. Если мы поменяем транзакцию в цепочке блоков, то необходимо будет переписать и все последующие блоки, иначе подобная транзакция не будет подтверждена узлами сети.
Распределённый реестр информации. Одна и та же база хранится на всех компьютерах, подключенных к системе, и любая необходимая информация доступна без задержки. База обновляется через заданные промежутки времени, актуализируя транзакции.
Устойчивость к воздействию вирусов, катастроф и других факторов. Благодаря распределённому реестру база блокчейна хранится на тысячах или миллионах компьютеров в разных частях света.
Виды блокчейн:
Блокчейн без необходимости в разрешениях (Permissionless Blockchain). База хранится на любом компьютере в мире. Публичный блокчейн подразумевает абсолютную децентрализацию. Нет человека, который управляет всей системой и подтверждает транзакции, а значит, нет необходимости и в авторизации. Примером как раз и служит Биткоин. Если отправить кому-то несколько биткоинов, то об этом (о факте перевода, но не о личностях отправителя и получателя) узнает вся сеть.
Открытый блокчейн с разным уровнем разрешений (Public Permissioned Blockchain). База может храниться на любом компьютере, любой пользователь может создать свой собственный блокчейн для своих целей, установив разные уровни разрешений для его пользователей. Определённые пользователи (управляющий орган, правительство, учреждение) обладают правом подтверждать транзакции, а остальные пользователи могут просматривать данные. Таким пользователям необходима авторизация. К примеру, производители товаров могут создать свой блокчейн для исключения подделок, в котором любой пользователь сможет отследить, когда и где выпущен тот или иной продукт – но не сможет изменять записанные данные самостоятельно.
Закрытый блокчейн с разным уровнем разрешений (Private Permissioned Blockchain). Доступ к просмотру реестра имеет ограниченное количество пользователей. База хранится распределённо, но только на компьютерах, которые входят в конкретную блокчейн-систему. К таким случаям можно отнести, например, блокчейны, применяемые банками для проведения расчётов.
2
Информация с сайта imponderablethings.com