Книга Блокчейн, страница 15. Автор книги Александр Цихилов

Разделитель для чтения книг в онлайн библиотеке

Онлайн книга «Блокчейн»

Cтраница 15

Для того чтобы пояснить работу консенсуса в блокчейн-средах на конкретных примерах, необходимо перейти к изучению структуры блоков и транзакций, а также рассмотрению принципов формирования блоков и их цепочек. В предыдущих главах мы поговорили обо всех важных составляющих элементах технологии блокчейн по отдельности и теперь можем начать собирать эти знания воедино, как гамбургер, ингредиенты которого были заранее приготовлены и разложены на столе, чтобы в определенный момент сложиться в совокупный кулинарный конструктив. Его мы и предложим к употреблению заждавшимся гостям, приглашенным на пиршество, прелюдия к которому несколько затянулась по причинам сугубо технологического свойства.

Блоки и их структура

В описании общих принципов построения структуры блокчейна архитектура децентрализованной базы данных была сравнена с бухгалтерской книгой, страницы которой являлись блоками, куда записывались финансовые транзакции. Было отдельно указано, что эти «страницы» упорядочены в строгой последовательности, которую нельзя поменять, так как они математически крепко сцеплены между собой специальными «криптографическими замками». Теперь, когда мы ознакомились с основными технологическими элементами блокчейн-сетей, включая криптографию, мы можем раскрыть более подробно, каким образом поддерживается целостность структуры блоков и как это влияет на общую безопасность хранения информации в распределенных системах. Очевидно, что каждая блокчейн-система в отдельности имеет свои особенности структурного дизайна, и когда мы будем изучать самые популярные реализации различных проектов, мы эти особенности выявим и внимательно рассмотрим. Однако почти все системы, созданные на базе технологии блокчейн, имеют единые принципы формирования структуры и ее элементов. Поэтому целесообразно их рассматривать в рамках общего описания, так как в большинстве практических случаев они присутствуют в проектах в очень схожей технологической форме, без существенных различий.

Идея хранить информацию в виде связных списков возникла достаточно давно – гораздо раньше, чем появились сами компьютерные технологии. А именно – более 4000 лет назад у индейской цивилизации инков и их предшественников примерно в III тысячелетии до нашей эры. Речь идет о способе сохранения информации в виде так называемых «кипу» – хитросплетений нитей, нанизанных на единую веревочную основу и связанных между собой в зависимости от контекста записываемой информации. Каждая нить могла иметь свой цветовой код, а также специальные узлы, форма и количество которых являлись важными маркерами, определяющими значения и типы хранимой информации. Прослеживая начало и конец каждой из нитей, можно было определить весь путь формирования цепочки данных – от базовой веревки и до окончания ответвления. Общее число нитей в одном кипу могло достигать 2500. При помощи кипу инки как правящий класс всего союза индейских племён Центральных Анд могли учитывать все необходимые подконтрольные им ресурсы – войска, запасы продовольствия, численность населения и объем взимаемых налогов.


Блокчейн

Появившиеся в тех местах в первой половине XVI века испанские конкистадоры далеко не сразу постигли утилитарный смысл этих странных веревочно-узловых конструкций, при помощи которых инки фактически управляли своей империей. Для того чтобы сломать установившийся порядок управления, испанцам пришлось навязать завоеванным территориям европейские принципы письменности и учета данных. Кипу были полностью вытеснены из обращения и забыты, и только в начале XIX века ученые начали их изучать на относительно системной основе. Им удалось расшифровать достаточно много информации, содержащейся в сохранившихся экземплярах. Поняв основные принципы логики построения подобной системы учета, ученые были весьма удивлены, что такая древняя цивилизация, будучи изолированной от более прогрессивного мира, сумела найти столь эффективный способ компактной записи и хранения данных, подчиняющийся логике связных информационных блоков.

Во второй половине XX века, когда информационные технологии начали медленно, но верно завоевывать мир, возникла необходимость в создании различных форм записи и хранения информации. Одной из таких форм стали связные списки – специальные структуры данных, каждая из которых содержала не только данные как таковые, но и специальные ссылки на подобные же структуры, как на предыдущие, так и на последующие. Это позволяло игнорировать естественный порядок хранения данных на различных носителях и руководствоваться при этом исключительно той информационной логистикой, принцип которой был заложен в наборе внутренних связей между блоками. В зависимости от логики решения поставленных задач формы списков данных в большинстве случаев могли быть односвязными (однонаправленными) или двусвязными (двунаправленными). Также обе формы списков могли иметь кольцевую структуру, когда последний элемент ссылается на первый или наоборот. Пример простого односвязного списка показан на рисунке:


Блокчейн

Собственно, в своем классическом виде блокчейн представляет собой односвязный список, когда каждый следующий блок в системе ссылается на предыдущий. Вопрос в том, что значит «ссылается»: каким образом это технологически реализовано, а главное, зачем он вообще это делает? Ответ прост – для поддержания целостности базы данных. Блок состоит из двух основных частей – заголовка, содержащего служебную информацию, и списка транзакций для передачи цифровых активов между участниками системы или просто записи фактов. Все это – набор данных, который можно отобразить в виде хеша стандартной длины. Вычислив хеш данных заголовка, мы фиксируем состояние всего блока, и любое вмешательство в его целостность немедленно приведет к тотальному изменению общего хеша. А что, если каждый новый блок будет содержать хеш от данных предыдущего блока как один из элементов своего заголовка? Тогда получится, что, хешируя данные одного заголовка, мы автоматически включаем туда хеш заголовка предыдущего блока, и таким образом получается форма сцепления блоков. Нам известно, что любое малейшее изменение в прообразе меняет его хеш до неузнаваемости. Это означает, что если мы вмешаемся в любой бит данных любого из блоков в середине цепочки, это приведет к пересчету всех хешей последующих блоков. Другими словами, изменятся данные всей цепочки.


Блокчейн

О чем в первую очередь нам говорит связная структура блоков? О том, что блокчейн – это система, куда можно только добавлять информацию, но нельзя менять или удалять. При этом добавить информацию возможно только в виде новых блоков и только в конец цепочки. Это, безусловно, порождает определенное неудобство при управлении информацией, помещаемой в блокчейн, но, с другой стороны, создает исключительную безопасность хранения данных в распределенном виде. Ведь вся база блоков копируется каждому участнику системы, и каждый из них имеет возможность записать туда что угодно. Другое дело, что эти изменения, будучи сделаны с нарушением правил системы, не будут приняты другими участниками сети. А соответствие правилам проверяется участниками системы чисто математически, поэтому подсунуть им искаженную информацию никак не удастся. Алгоритмы проверки информации, содержащейся в блоках, сразу же просигнализируют о нарушении целостности данных, и данный блок будет считаться неприемлемым для всей сети.

Вход
Поиск по сайту
Ищем:
Календарь
Навигация