Читаем 1c2b9509b53cb0837976a7dc6c8bcd37 полностью

нить могла иметь свой цветовой код, а также специальные узлы, форма и

количество которых являлись важными маркерами, определяющими значения

и типы хранимой информации. Прослеживая начало и конец каждой из нитей, можно было определить весь путь формирования цепочки данных — от

базовой веревки и до окончания ответвления. Общее число нитей в одном кипу

могло достигать 2500. При помощи кипу инки как правящий класс всего союза

индейских племён Центральных Анд могли учитывать все необходимые

подконтрольные им ресурсы — войска, запасы продовольствия, численность

населения и объем взимаемых налогов.

Появившиеся в тех местах в первой половине XVI века испанские

конкистадоры далеко не сразу постигли утилитарный смысл этих странных

веревочно-узловых конструкций, при помощи которых инки фактически

управляли своей империей. Для того чтобы сломать установившийся порядок

управления, испанцам пришлось навязать завоеванным территориям

европейские принципы письменности и учета данных. Кипу были полностью

вытеснены из обращения и забыты, и только в начале XIX века ученые начали

их изучать на относительно системной основе. Им удалось расшифровать

достаточно много информации, содержащейся в сохранившихся экземплярах.

Поняв основные принципы логики построения подобной системы учета, ученые

были весьма удивлены, что такая древняя цивилизация, будучи изолированной

от более прогрессивного мира, сумела найти столь эффективный способ

компактной записи и хранения данных, подчиняющийся логике связных

информационных блоков.

Во второй половине XX века, когда информационные технологии начали

медленно, но верно завоевывать мир, возникла необходимость в создании

различных форм записи и хранения информации. Одной из таких форм стали

связные списки — специальные структуры данных, каждая из которых

содержала не только данные как таковые, но и специальные ссылки на

подобные же структуры, как на предыдущие, так и на последующие. Это

позволяло игнорировать естественный порядок хранения данных на различных

носителях и руководствоваться при этом исключительно той информационной

логистикой, принцип которой был заложен в наборе внутренних связей между

блоками. В зависимости от логики решения поставленных задач формы

списков данных в большинстве случаев могли быть односвязными

(однонаправленными) или двусвязными (двунаправленными). Также обе

формы списков могли иметь кольцевую структуру, когда последний элемент

ссылается на первый или наоборот. Пример простого односвязного списка

показан на рисунке:

Собственно, в своем классическом виде блокчейн представляет собой

односвязный список, когда каждый следующий блок в системе ссылается на

предыдущий. Вопрос в том, что значит «ссылается»: каким образом это

технологически реализовано, а главное, зачем он вообще это делает? Ответ

прост — для поддержания целостности базы данных. Блок состоит из двух

основных частей — заголовка, содержащего служебную информацию, и списка

транзакций для передачи цифровых активов между участниками системы или

просто записи фактов. Все это — набор данных, который можно отобразить в

виде хеша стандартной длины. Вычислив хеш данных заголовка, мы

фиксируем состояние всего блока, и любое вмешательство в его целостность

немедленно приведет к тотальному изменению общего хеша. А что, если

каждый новый блок будет содержать хеш от данных предыдущего блока как

один из элементов своего заголовка? Тогда получится, что, хешируя данные

одного заголовка, мы автоматически включаем туда хеш заголовка

предыдущего блока, и таким образом получается форма сцепления блоков.

Нам известно, что любое малейшее изменение в прообразе меняет его хеш до

неузнаваемости. Это означает, что если мы вмешаемся в любой бит данных

любого из блоков в середине цепочки, это приведет к пересчету всех хешей

последующих блоков. Другими словами, изменятся данные всей цепочки.

О чем в первую очередь нам говорит связная структура блоков? О том, что

блокчейн — это система, куда можно только добавлять информацию, но

нельзя менять или удалять. При этом добавить информацию возможно только

в виде новых блоков и только в конец цепочки. Это, безусловно, порождает

определенное неудобство при управлении информацией, помещаемой в

блокчейн, но, с другой стороны, создает исключительную безопасность

хранения данных в распределенном виде. Ведь вся база блоков копируется

каждому участнику системы, и каждый из них имеет возможность записать туда

что угодно. Другое дело, что эти изменения, будучи сделаны с нарушением

правил системы, не будут приняты другими участниками сети. А соответствие

правилам проверяется участниками системы чисто математически, поэтому

подсунуть им искаженную информацию никак не удастся. Алгоритмы проверки

информации, содержащейся в блоках, сразу же просигнализируют о

нарушении целостности данных, и данный блок будет считаться

неприемлемым для всей сети.

Есть и еще одно неудобство: поскольку данные можно только добавить, но

нельзя удалить, даже если они в какой-то момент утратили свою актуальность, общая база с момента образования самого первого блока постоянно растет. Ее

Перейти на страницу:

Похожие книги