Обмен электронных валют по самому выгодному курсу!
 


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

инфографика задача византийский генералов
Источник: crypto.com

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

инфографика задача византийских генералов
Источник: crypto.com

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Классический консенсус

Консенсус блокчейна

Набор пиров

Централизованный

Колеблется в зависимости от стимулов

Безопасность или жизнеспособность

Фокусируется на безопасности

Фокусируется на жизнеспособности

Самоподдержка

Нет вознаграждений

Вознаграждения в виде внутренних токенов

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

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

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

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

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

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

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

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

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

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

инфографика таблица типов блокчейнов
Источник: crypto.com

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

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

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

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

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

Распределение

Централизация

Пример

Один узел

Централизованная

Ваш ноутбук

Распределённая

Централизованная

Amazon, Microsoft, Google и т. п.

Распределённая

Децентрализованная

Биткойн, Эфириум

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

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

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

Уровень

Описание

Прикладной уровень

Смарт-контракты или любые приложения на базе блокчейн-системы (например, Omni в Биткойне или EVM в Эфириуме)

Консенсусный уровень

Логика консенсусного механизма (например, PoW в Биткойне, dPoS в EOS, Tendermint в CRO)

Сетевой уровень

Логика сетевых коммуникаций между узлами (например, протокол Gossip в Биткойне, транспортный протокол RLPx в Эфириуме)

Уровень данных

Структура хранения данных (например, блокчейн в Биткойне, DAG/Tangle в IOTA)

Блокчейн и технология распределённого реестра

Возможно, вы в некоторых случаях вместо блокчейна встречали термин «технология распределённого реестра» (DLT). В чём разница?

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

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

Некоторые альтернативные структуры данных:

Структура данных

Пример

DAG

IOTA, Hedera Hashgraph

Блочная решётка

Nano

Короче говоря, блокчейн – это подвид DLT. Однако в действительности, когда говорят «блокчейн», часто имеют в виду DLT, что охватывает все похожие технологии в данной индустрии.

Источник


Источник

*Биткоин бесплатно получить

*Купить, продать, обменять Биткоин

Теги: Безопасность  Инфраструктура  Эфир  банки_и_блокчейн  Банковские_гарантии_на_блокчейне  безопасность_биткойна  безопасность_блокчейнов  безопасность_персональных_данных  безопасность_транзакций  Блокчейн_Биткойна  блокчейн_в_судопроизводстве  Водительские_права_на_блокчейне  денежные_переводы_через_блокчейн  децентрализация_блокчейна  децентрализованные_финансы  децентрализованный_банк  децентрализованный_консенсус  децентрализованный_регистр  децентрализованный_реестр  дилемма_блокчейна  задача_византийских_генералов  распределенные_базы_данных  распределенный_кооператив  Распределенный_реестр 



[vkontakte] [facebook] [twitter] [odnoklassniki] [mail.ru] [livejournal]

Каталог сайтов