характер. Это могут быть сведения о численности каждой из армий либо
просто обозначение своего намерения — атаки или отступления. Важно то, что
каждый из генералов (допустим, что их число равно n) передает всем
остальным генералам свою информацию и получает от них назад n-1 наборов
подобных же сведений. Но это еще не все. Получается, что каждый генерал
обладает неким объемом информации, полученным от всех остальных
генералов при прямом общении. И он может как ретранслировать полученную
информацию всем генералам, так и получить себе подобные же наборы
данных от других. То есть каждый генерал располагает не только той
информацией, которую он получил напрямую от каждого из прочих генералов, но и имеет в распоряжении всю коммуникационную картину в формате «какой
генерал какому генералу что сообщил». Однако мы должны принимать во
внимание тот факт, что один или даже несколько генералов могут быть
предателями и, соответственно, намеренно искажать передаваемую
информацию. Тем не менее всегда есть возможность проверить, что каждый
конкретный генерал сообщал другим генералам, и найти либо совпадения, либо расхождения в информации. На базе полученных данных можно выявить
часть нелояльных генералов и оценить их долю в общей массе.
Математически доказано, что в случае более 2/3 лояльных узлов система
считается устойчивой и консенсус может быть достигнут. В противном случае
система утрачивает работоспособность и как следствие доверие участников.
Принцип устойчивости к «византийской проблеме» — это классическая задача
из «теории игр», которая является важным элементом безопасности при
формировании консенсуса в блокчейн-проектах. Каждый узел в системе
должен строго следовать ее правилам, прописанным в виде алгоритмической
логики программного обеспечения узла. Однако почти все программное
обеспечение в блокчейн-проектах поставляется в виде открытого кода, который каждый узел может при желании модифицировать таким образом, чтобы попытаться получить преференции, которые ему в обычной ситуации не
полагались. Но даже если какие-то несанкционированные сетью изменения
будут все же внесены отдельным узлом (или даже группой узлов), для
успешности атаки необходимо, чтобы таких узлов было достаточно много.
Иначе остальная сеть будет отвергать информацию от нарушителей, поскольку
она не будет соответствовать общим правилам, которыми руководствуется
большинство. В этом и состоит суть консенсуса, который применяется для
управления в децентрализованных системах. Целостность системы
нарушается, если количество «инакомыслящих» узлов начинает превышать
критическую массу, после чего происходит разделение сети, которое
называется «форк». Узлы, исповедующие разные правила консенсуса, образуют разные сети, которые с момента разделения начинают жить
отдельной жизнью, становясь, по сути, различными проектами, хотя и со
схожей технологией — по крайней мере, на первых порах. К понятию «форк»
как важному явлению в блокчейн-индустрии мы еще вернемся.
Для того чтобы пояснить работу консенсуса в блокчейн-средах на конкретных
примерах, необходимо перейти к изучению структуры блоков и транзакций, а
также рассмотрению принципов формирования блоков и их цепочек. В
предыдущих главах мы поговорили обо всех важных составляющих элементах
технологии блокчейн по отдельности и теперь можем начать собирать эти
знания воедино, как гамбургер, ингредиенты которого были заранее
приготовлены и разложены на столе, чтобы в определенный момент сложиться
в совокупный кулинарный конструктив. Его мы и предложим к употреблению
заждавшимся гостям, приглашенным на пиршество, прелюдия к которому
несколько затянулась по причинам сугубо технологического свойства.
Блоки и их структура
В описании общих принципов построения структуры блокчейна архитектура
децентрализованной базы данных была сравнена с бухгалтерской книгой, страницы которой являлись блоками, куда записывались финансовые
транзакции. Было отдельно указано, что эти «страницы» упорядочены в
строгой последовательности, которую нельзя поменять, так как они
математически крепко сцеплены между собой специальными
«криптографическими замками». Теперь, когда мы ознакомились с основными
технологическими элементами блокчейн-сетей, включая криптографию, мы
Читать дальше
Конец ознакомительного отрывка
Купить книгу