Что такое блокчейн? От задачи византийских генералов до консенсуса

Если совсем по-простому, блокчейн – это некоторые данные, которые обрабатываются и записываются группой компьютеров. При этом они записываются: неизменяемо, прозрачно, децентрализовано.

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

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

Технология блокчейна всё ещё находится на стадии активных исследований и разработок, чтобы стать более полезной в повседневной жизни.

Введение в распределённые системы

Блокчейн – распределённая система. Будучи распределённой системой, он уже решает или может решить в будущем много проблем.

Распределённой называется такая система, где аппаратные или программные составляющие, находящиеся на сетевых компьютерах, контактируют и координируют свои действия, только обмениваясь сообщениями. Ключевые характеристики распределённой системы:

  • Параллельность;
  • Отсутствие глобальных часов;
  • Независимость отказов.

Параллельность

Параллельность означает, что на разных машинах одновременно происходят разные вычисления. Это может казаться очевидным, но если рассмотреть, как должны взаимодействовать разные машины, возникают сложности (см. ниже).

Отсутствие глобальных часов

В распределённой системе каждый участник, или машина, имеет равный вес в определении того, что верно, а что – нет. Машина А может считать, что сейчас 11:13, а машина Б 11:14. Сетевая задержка может ещё больше усугубить ситуацию. Даже если на обеих машинах одинаковое локальное время, они не будут знать, сколько времени сеть передавала данные, поэтому, когда машина должна подтвердить время своего соседа, всегда присутствует случайный шум. В распределённой системе нет единого источника истины.

Независимость отказов

Допустим, машине А нужны данные от машины Б, чтобы продолжать работу, поэтому ей нужно связаться с машиной Б и дождаться ответа. Однако машина Б может дать сбой (например, выключиться из-за перегрева), и сеть может произвольно создать задержку или даже оборвать связь. Проектировщик сети должен тщательно продумать обработку коммуникаций и реакции на отказы, чтобы обеспечить бесперебойную работу системы.

Решение проблемы византийских генералов с помощью Proof of Work

Proof of Work (PoW) — это оригинальный алгоритм консенсуса блокчейна, который используется в таких проектах, как Биткойн и Эфириум. Это механизм, который позволяет пользователям сети блокчейнов достигать согласованной «истины». Доказательство работы — это, по сути, ответ на сложную математическую проблему. Для создания требуется много работы (отсюда и название), но это легко проверить другими.

Биткойн был первым блокчейном, который реализовал PoW (известный как Hashcash) в качестве алгоритма консенсуса. Биткойн-майнеры запускают компьютерную программу, которая дает каждому майнеру равные шансы, пропорциональные их вычислительной мощности, найти решение для следующего блока. Они соревнуются, чтобы найти ответ (известный как хеш) на заданные параметры PoW для этого блока. Этот хэш представляет собой ответ длиной 64 символа и основан на входных данных блока, таких как транзакции, которые он содержит.

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

В результате PoW решает проблему византийских генералов, поскольку достигает соглашения большинства без какой-либо центральной власти, несмотря на присутствие неизвестных / потенциально ненадежных сторон и несмотря на то, что сеть не является мгновенной. Он дает возможность распределенным и несогласованным Генералам прийти к соглашению:

  1. Генералы соглашаются, что первый план, полученный всеми генералами, будет принят в качестве плана.
  2. Генерал решает проблему PoW, создавая блок, который транслируется в сеть, чтобы все генералы получали его.
  3. После получения этого блока каждый генерал проверяет и работает над решением следующей проблемы PoW, включая в нее предыдущее решение, так что их план дополняет предыдущее решение.
  4. Каждый раз, когда генерал решает проблему PoW, генерируется блок, и цепочка начинает расти. Со временем любой генерал, работающий над другим решением, переключится на самую длинную цепочку. Это то, чему способствует большинство генералов, и поэтому у него наибольшие шансы на успех.
  5. Поскольку генералы примерно знают, сколько времени требуется для решения PoW-решения, по прошествии определенного времени они узнают, работает ли достаточное количество других генералов в той же цепочке.

Благодаря этому процессу генералы могут прийти к единому мнению о том, когда атаковать, могут оценить свои шансы на успех и могут предотвратить одновременную отправку нескольких различных сигналов для атаки.

PoW также предотвращает саботаж сети злоумышленниками, такими как генерал-предатель, путем подделки исторических сообщений. Биткойн, например, хранит хеш-подпись предыдущего блока в каждом новом блоке. Поэтому любое изменение более раннего блока потребует изменения всех последующих блоков. Это потребует чрезмерно большой вычислительной мощности, и поэтому реестр защищен от изменений.

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

Рост интереса к биткойну и его цены привели к тому, что больше пользователей его добывают, что, в свою очередь, привело к увеличению требуемой вычислительной мощности. Майнинг биткойнов в настоящее время является многомиллиардной отраслью, и, хотя все пользователи по-прежнему имеют равные шансы добыть биткойны, пропорциональные их вычислительной мощности, появление операций по добыче биткойнов в промышленных масштабах означает, что у обычного человека очень мало шансов на успешную добычу. Биткойн. По мере того как майнинговые картели продолжают увеличиваться в размерах, сеть становится более централизованной — картели контролируют большую часть хэш-мощности и могут добывать больше биткойнов. Это, в свою очередь, означает, что они могут позволить себе расширить операции и взять на себя большую долю вычислительной мощности.

Кроме того, в результате роста биткойнов и других сетей и связанного с этим увеличения вычислительной мощности PoW теперь требует огромного потребления энергии. Один только биткойн в настоящее время поглощает почти весь спрос Швейцарии на электроэнергию. Это наносит ущерб окружающей среде и потенциально неприемлемо, если сложность добычи будет продолжать расти без сопутствующих технологических усовершенствований.

Критики также указывают на бесполезную трату вычислительной мощности, которая, по сути, используется только для защиты сети — расчеты не имеют отношения к другим областям. Это энергетическое и финансовое бремя — это стоимость обеспечения безопасности сети.

Эта неэффективность ресурсов является одной из проблем, которую сторонники других алгоритмов консенсуса, таких как Proof of Stake, называют причиной перехода с PoW.

Задача византийских генералов

Задача византийских генералов – это состояние компьютерной системы, в частности распределённой вычислительной системы, где компоненты могут дать сбой и информация о том, дал ли компонент сбой, несовершенна.

Для иллюстрации задачи приведём следующую историю.

Группа генералов, каждый из которых командует частью византийской армии, окружила город. Им нужно решить, атаковать или отступить. Но, какое бы решение они ни приняли, главное – достичь консенсуса. Однако достичь консенсуса сложно, потому что генералам не известно решение других генералов.

Рассмотрим следующий случай:

  • Есть три генерала: А, Б и В.
  • Генералы должны атаковать врага одновременно, иначе их может ждать неудача.
  • У генералов нет эффективного способа мгновенно общаться. Поэтому им нужно послать другим гонца с посланием.
  • Генералам нужно достичь консенсуса до атаки.
      Им нужно подтверждение, что другие генералы будут атаковать в то же время.
  • Следовательно, прежде чем начать атаку, генералам нужно передать друг другу сообщения и подтверждения.

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

    Из этой истории можно вывести следующее:

    • Византийские генералы представляют узлы сети;
    • Каждый консенсус группы генералов представляет блок (т. е. набор действительных транзакций).
    • Точно так же как все генералы должны подтвердить решения друг друга, чтобы достичь консенсуса, прежде чем начинать скоординированную атаку, все узлы должны договориться о следующем блоке, который будет записан.
    • Следовательно, узлы дают сбой, когда: один из узлов передаёт непоследовательную информацию (вредоносный узел);
    • или ответ отсутствует из-за сетевого сбоя.

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

    Варианты решения задачи

    Предположим, что один из четырех генералов оказался предателем (N = 4 , M = 1). Следовательно, трое верных военачальников пошлют верные сведения о количестве своих легионеров, а в сообщениях предателя цифры могут быть какими угодно. Допустим, первый генерал сообщил, что в составе его легиона есть 1 тысяча воинов, у второго – 2 тысячи, у четвертого – 4 тысячи. Третий генерал (перебежчик) указал остальным случайно выбранные цифры x, y, z. Из полученных данных каждый военачальник формирует свой вектор:

    • 1-й вектор — 1,2,x,4;
    • 2-й вектор — 1,2,y,4;
    • 3-й вектор — 1,2,3,4;
    • 4-й вектор — 1,2,z,4.

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

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

    Затем генералы определяют количество воинов в каждом легионе. Для расчета первого легиона берется три числа: численность этого легиона, известная из сообщений всех генералов за исключением командующего самим первым легионом. Если одно из 3-х чисел повторяется дважды или трижды, оно помещается в итоговый вектор. Если совпадений нет, значение итогового вектора определяется как «неизвестное».

    В итоге каждый верный генерал получает свой вектор N, в котором первый элемент равняется действительной численности войск первого легиона (в случае, если его командир не является предателем) или содержит неправдивые данные (если ее генерал работает на врага). При этом векторы всех верных генералов должны получиться идентичными.

    Результат выглядит следующим образом: ( 1,2,f (x,y,z), 4 ), где f (x,y,z) – значение, встречающееся как минимум дважды среди чисел x,y,z или «неизвестное» в случае, если все 3 числа различны. Поскольку x,y,z и функция f (x,y,z) у всех верных генералов совпали, следовательно, согласие достигнуто и враг будет разбит.

    Что такое консенсус

    Если вы поняли задачу византийских генералов, то несложно будет понять, что такое консенсус. Согласно Википедии:

    «Консенсус требует согласия ряда процессов (или агентов) о едином значении данных. Некоторые процессы (агенты) могут дать сбой или быть ненадёжными в другом смысле, поэтому консенсусные протоколы должны быть отказоустойчивыми. Процессы должны каким-то образом представлять свои варианты значений, общаться друг с другом и договариваться о едином консенсусном значении».

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

    Консенсус изучался начиная с 1970-х. Вот некоторые примечательные результаты:

    • 1980 г.: точный византийский консенсус для 3f+1 узлов.
    • 1983 г.: невозможность распределённого консенсуса с одним бракованным процессом (известная как FLP-невозможность).
    • 1986 г.: приблизительный консенсус с асинхронностью и отказом.
    • 1989 г.: Paxos.

    Есть много разных вариаций консенсусных механизмов:

    Без отказов или отказы разрешены

    • Аварийный отказ: Бракованный узел в определённый момент перестаёт выполнять какие-либо шаги.
    • Византийский отказ: Бракованный узел может вести себя произвольно;
    • Пропускать, изменять сообщения;
    • Отправлять непоследовательные сообщения.

    Синхронный или асинхронный

    • Синхронный: для всех операций установлены ограничения по времени.
    • Асинхронный: нет ограничений.

    Детерминистический или вероятностный

    • Детерминистический: Всегда верный результат (согласие, действительность).
    • Вероятностный: Верность только с высокой вероятностью.

    Точное или приблизительное согласие

    • Точное согласие: все узлы соглашаются о точно идентичном значении (результате).
    • Приблизительное согласие: Узлы согласны с приблизительно равными значениями.
    • Тождественность в пределе, когда время → ∞.

    Лидерный или безлидерный

    • Лидерный: Существует виртуальный лидер, предлагающий конечный результат, и другие узлы за него голосуют.
    • Безлидерный: Виртуального лидера, предлагающего конечный результат, нет; любой может предложить результат, и другие узлы за него голосуют.

    Большинство исследований до Биткойна фокусировались на безопасности и предполагали фиксированное число участников. Главный прорыв блокчейна открыл новое направление исследований распределённых систем, фокусирующееся на жизнеспособности и снявшее ограничения на число участников, чтобы допустить открытую структуру. Некоторые различия между классическим консенсусом и консенсусом блокчейна:

    Классический консенсус Консенсус блокчейна
    Набор пиров Централизованный Колеблется в зависимости от стимулов
    Безопасность или жизнеспособность Фокусируется на безопасности Фокусируется на жизнеспособности
    Самоподдержка Нет вознаграждений Вознаграждения в виде внутренних токенов

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

    Что такое одноранговые узлы и ноды?

    Большинство блокчейнов или криптовалют работают как сети, где все компьютеры в сети имеют равный доступ и права, и напрямую взаимодействуют друг с другом. Каждый отдельный компьютер в этой сети известен как узел или нода.

    В действительно децентрализованной системе ни один узел не имеет больше полномочий или власти, чем следующий. Это означает, что нет менеджеров, координаторов или директоров, которые бы обеспечивали соблюдение правил, определяли, что является правдой, или наказывали за ненадлежащее поведение.

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

    Инклюзивные и эксклюзивные блокчейны

    Эксклюзивный блокчейн – это такой, где для участия в сети требуется разрешение, тогда как к сети инклюзивного блокчейна может присоединиться любой. Также участники эксклюзивного блокчейна могут пользоваться полными или выборочными привилегиями.

    Частные и публичные блокчейны

    Частный блокчейн – это такой, который находится в частной сети. (Например, вы запустили частную версию Эфириума на своём компьютере, чтобы изучить смарт-контракты.) Он изолирован, и другие не видят его и не могут присоединиться к вашей сети. Чтобы иметь доступ к частному блокчейну, нужно получить приглашение и одобрение от администратора сети или в соответствии с определёнными правилами и ограничениями.

    Публичный блокчейн полностью открыт, и любой может присоединиться к сети и сделать свой вклад. Примеры публичных эксклюзивных блокчейнов – Ripple и EOS, где обычные участники имеют меньше возможностей, чем привилегированные, такие как уникальные узлы (в Ripple) или создатели блоков (в EOS).

    К публичным инклюзивным блокчейнам относятся Биткойн, Эфириум и им подобные.

    Примеры частных эксклюзивных блокчейнов – это когда вы запустите собственную версию Hyperledger или Эфириума на своём компьютере или частный блокчейн внутри компании.

    Блокчейн-консорциумы

    Последний тип – блокчейн-консорциумы, когда группа участников (скорее всего, транснациональные корпорации) образуют сеть (можно представить это как своего рода «интранет») и присоединиться к ней и пользоваться ею могут только они. Примеры блокчейн-консорциумов – , Hyperledger от Linux Foundation и Quorum от JP Morgan.

    Каково будущее Биткоина?

    Биткоин — это классический сетевой эффект, позитивный контур обратной связи. Чем больше посетителей его используют, тем выше его ценность для пользователей, тем больше мотивация к использованию технологии для последующих посетителей интернета. Сетевой эффект Биткоина распространяется на телефонную систему, веб- и популярные интернет-сервисы, такие как eBay и Facebook.

    Биткоин представляет собой четырехсторонний сетевой эффект. Существует четыре типа пользователей, которые принимают участие в увеличении ценности Биткоина вследствие собственной заинтересованности и участия в процессах. Эти четыре типа пользователей: (1) покупатели, оплачивающие покупки посредством Биткоин, (2) продавцы, принимающие оплату через Биткоин, (3) «рабочие», управляющие теми компьютерами, которые выполняют процессы и оценку транзакций, благодаря чему и существует защищенная распределенная сеть, и (4) разработчики и коммерсанты, создающие новые продукты и услуги как в рамках системы Биткоин, так и за ее пределами.

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

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

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

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

    Более того, Биткоин способен сыграть роль мощного инструмента, благодаря которому большое количество людей во всем мире получит доступ к использованию современной экономической системы. В настоящее время всего 20 стран обладают современной банковской и платежной системами, остальные страны, а их примерно 175, должны пройти долгий путь, прежде чем смогут позволить себе нечто подобное. В результате многие люди в большинстве стран мира не имеют доступа к продуктам и услугам, которые мы, жители развитых стран, принимаем как должное. Даже Нетфикс (Netflix), полностью виртуальный сервис, доступен только в 40 государствах. Биткоин в качестве глобальной платежной системы, работающей всегда и для всех, сможет стать сильным катализатором, который расширит виртуальные границы современной экономической системы и сделает ее доступной абсолютно для каждого жителя нашей планеты.

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

    Третья, поистине прекрасная возможность использования Биткоина заключается в микроплатежах, или в ультрамелких платежах. Микроплатежи долгое время были неосуществимы, несмотря на 20 лет безуспешных попыток создать для них подходящую систему, поскольку проведение мелких платежей неэффективно с точки зрения затрат (речь идет о суммах, не превышающих 1 доллара, о центах или о долях цента) в существующих кредитно-дебитовых банковских системах. Структура комиссионных сборов делает подобные операции нежизнеспособными. Неожиданно благодаря Биткоину микротранзакции приобрели тривиальную легкость проведения. Биткоины обладают исключительной возможностью бесконечного деления, в настоящее время сумма может обозначаться с точностью до восьми знаков после запятой, но в будущем система позволит большее. Таким образом, пользователь сможет точно указывать даже самые минимальные суммы, вплоть до тысячных долей цента, и пересылать их в любую точку мира бесплатно или почти бесплатно.

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

    Внезапно, при помощи Биткоина, появляется экономически жизнеспособный путь к взиманию оплаты в микроскопических суммах за прочтение отдельных статей, разделов, становится возможной почасовая оплата, оплата отдельных видео, доступа к архиву или уведомления о новостях.

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

    Случайный зритель на спортивной трансляции держал в руках плакат с кодом QR и текстом «Отправьте мне биткоин!». Он получил 25 000 долларов в биткоинах за первые 24 часа после эфира, и все транзакции были проведены незнакомыми людьми. Это был первый случай в истории, когда вы могли увидеть человека, держащего знак, лично, по телевизору или на фото, а затем перечислить деньги на его счет двумя кликами на смартфоне, сфотографировав код QR на знаке одним кликом и отправив деньги — вторым.

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

    К примеру, некоторые выдающиеся экономисты высказывают скептицизм в отношении Биткоина, несмотря на то что Бен С. Бернанке, бывший председатель Федерального Резерва, недавно озвучил мысль, что цифровая валюта, подобная Биткоину, «может обладать большим потенциалом, особенно если она способствует созданию более быстрой, более защищенной и более действенной платежной системы».

    Централизованные, децентрализованные и распределённые системы

    Если централизованную систему понять легко, иногда сложно различить децентрализованную и распределённую систему.

    Распределённая система хранит и обрабатывает данные в разных местах или на разных компьютерах; обычно данные воспроизводятся.

    Децентрализованная система – это такая, где ни один участник не может решить, как система будет себя вести. Прежде чем принять решение, должны быть собраны ответы различных участников.

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

    Распределение Централизация Пример
    Один узел Централизованная Ваш ноутбук
    Распределённая Централизованная Amazon, Microsoft, Google и т. п.
    Распределённая Децентрализованная Биткойн, Эфириум

    Доказательство устойчивости криптовалютных систем

    Еще одно свойство биткоина было обнаружено известным американским ученым Лесли Лэмпортом. Он доказал, что согласия в штабе N генералов можно достичь лишь в случае, если количество перебежчиков не превышает N/2 минус один генерал. Это правило, работающее при генерации биткоинов, получило название «правило 51 процента». Говоря проще, если мощности предателей превышают мощности честных генералов, то последние не смогут построить корректную систему векторов по причине недостатка правильной информации. В случае с биткоинами это позволит «перебежчикам» выборочно подтверждать чужие блоки, а значит, контролировать процесс добычи криптовалюты.

    Правило 51-го процента подразумевает устойчивость системы, если более половины участников блокчейна действуют честно

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

    Решение задачи генералов на базе платформы блокчейн применимо и к другим сферам, где пользователям распределенной сети не хватает доверия: системам доменных имен, референдумам, выборам и т. д., и количество генералов в условии задачи может быть бесконечным.

    • 2shares
    • 0
    • 0
    • 2

    Различные уровни в блокчейн-системе

    Блокчейн – сложная система. Это база данных, поэтому он должен хранить данные. Это распределённая система, поэтому он должен передавать данные в сети. Он должен решать задачу византийских генералов, следовательно, ему нужен консенсусный механизм. Он должен пересылать деньги, а некоторые блокчейны даже позволяют писать смарт-контракты, поэтому поверх него работает какое-то приложение.

    Блокчейн можно условно разделить на 4 уровня:

    Уровень Описание
    Прикладной уровень Смарт-контракты или любые приложения на базе блокчейн-системы (например, Omni в Биткойне или EVM в Эфириуме)
    Консенсусный уровень Логика консенсусного механизма (например, PoW в Биткойне, dPoS в EOS, Tendermint в CRO)
    Сетевой уровень Логика сетевых коммуникаций между узлами (например, протокол Gossip в Биткойне, транспортный протокол RLPx в Эфириуме)
    Уровень данных Структура хранения данных (например, блокчейн в Биткойне, DAG/Tangle в IOTA)

    Соображения

    • Проблема для двух византийских генералов такая же, как когда перевод денег осуществляется без надежного посредника. [ 1 ] Биткойн предложил первое практическое решение этой проблемы.
    • В реальном мире линии непреднамеренно выходят из строя. Коды обнаружения ошибок могут использоваться для их обнаружения . В сценарии с устными сообщениями вышедшая из строя линия может рассматриваться как предательский узел. Если используются подписанные сообщения, то отказ линии будет неопровержимо обнаружен.
    • Чтобы распознать отправителя сообщения с помощью устных сообщений, у вас должны быть фиксированные линии, а не сети связи. В подписанных сообщениях нет проблем с распознаванием отправителя.
    • Отсутствие сообщений обычно определяется по таймауту (временным ограничениям).
    • В реальном мире никогда не гарантируется, что случайная ошибка не может подделать подпись. Однако это имеет очень низкую вероятность при правильных методах подписи.
    • Предотвращение умышленного мошенничества становится криптографической проблемой. Поэтому важно выбирать безопасные алгоритмы подписи.
    • Это должно быть обнаружено, если сообщение отправлено дважды, путем проверки его подписи. Таким образом, подпись не может быть сгенерирована, если процесс уже видел ту же подпись в другое время.
    Рейтинг
    ( 1 оценка, среднее 4 из 5 )
    Понравилась статья? Поделиться с друзьями: