Подтверждение доли и доказательство работы / Bitfury Group corporate blog / Habr
Блокчейн — это распределенная система, в которой могут находиться тысячи участников. В отличие от обычных распределенных баз данных, в блокчейне почти всегда отсутствует центральный администратор, который конфигурирует узлы сети, поэтому получается, что архитектура блокчейна не просто распределена, но децентрализована. В связи с этим для блокчейна является актуальной задача распределенного консенсуса:«Как узлам сети достичь одинаковой точки зрения на журнал транзакций блокчейна в распределенной сети при условии, что произвольные узлы могут «падать» или зависать, руководствуясь лишь общими правилами обработки сообщений в сети?»
О том, как достигается консенсус в блокчейнах, мы поговорим в нашем сегодняшнем материале.
/ изображение jgbarah CC
Структура и узлы блокчейн-сетей
В любой блокчейн-сети передаются два основных типа сообщений — транзакции и блоки (которые, в свою очередь, являются списками транзакций). Транзакции формируются участниками системы и их алгоритм консенсуса не касается: для того чтобы инициировать, скажем, отправку биткойнов, никакого соглашения не надо, достаточно знать правильный ключ. Блоки — совсем другое дело. Они являются основным продуктом алгоритма консенсуса и определяют, в каком порядке транзакции будут включены в журнал транзакций.
Зачем нужны эти сложности? Оказывается, без согласования между узлами сети возможна повторная трата средств (double spending). Предположим, у Евы есть 1 биткойн. Она может сформировать две транзакции, согласно которым этот биткойн переходит Алисе и Бобу. Если Алиса и Боб никак не согласовывают свою историю транзакций, они оба примут платеж Евы, поскольку транзакции будут подписаны электронной подписью Евы, а до выполнения транзакции у Евы действительно был этот биткойн! Поэтому участникам сети нужно согласовывать журналы транзакций. Тогда успешно выполнится только одна из транзакций Евы, а вторая станет некорректной — средства Евы будут уже потрачены.
Можно ли обойтись без блоков, включая транзакции в журнал по отдельности? Теоретически да, но на практике блоки экономят объем трафика и вычислительные ресурсы узлов сети. Кроме того, у них есть и другие преимущества в контексте конкретных алгоритмов консенсуса — оказывается, что со слишком частыми блоками работа блокчейна становится нестабильной.
Блоки создаются особой категорией узлов сети блокчейна — так называемыми узлами консенсуса. В случае биткойна и других криптовалют эти узлы называют майнерами, поскольку они вознаграждаются за свою работу (майнинг) генерацией новых порций криптовалюты. Майнеры активно участвуют в формировании блокчейна, постоянно группируя входящие транзакции в блоки и распространяя их по сети.
Второй тип — узлы аудита. Они не участвуют в процессе консенсуса, однако имеют у себя полную копию блокчейна. «Аудиторы» регулярно проверяют работу майнеров и занимаются распределением нагрузки по сети, выполняя функцию своеобразной сети доставки контента (CDN) для данных блокчейна.
Третий тип узлов — это легкие клиенты. Легкими они называются потому, что не имеют полной версии блокчейна и содержат лишь те данные, которые важны для узла. По этой причине они являются хорошим вариантом для организации криптовалютного кошелька — всей картины сети такой клиент не даст, но позволит эффективно отслеживать баланс пользователя. Легкие клиенты требуют меньше вычислительных ресурсов и объемов памяти, поэтому могут работать на мобильных платформах.

Биткойн-блокчейн является одним из крупнейших блокчейнов. По данным сайта bitnodes, 8 апреля 2017 года в биткойн-сети наблюдалось 7025 узлов с полной копией блокчейна. Большая часть из них — это узлы аудита; продуктивных майнеров в сети не так уж много — несколько десятков. Отметим, что количество узлов в несколько раз меньше числа участников сети биткойн (которых более 13 миллионов). Так получается потому, что пользователи не обязаны хранить локальную копию блокчейна для отправки транзакций — достаточно хранить закрытые ключи, при помощи которых транзакции подписываются.
Консенсус
Задача распределенного консенсуса не специфична для блокчейнов и имеет хорошо проверенные решения для многих других распределенных систем (например, баз данных NoSQL). Даже задача консенсуса, в котором узлы могут вести себя «по-плохому», — задача византийского консенсуса — впервые была сформулирована в 80-х годах прошлого века, а методы её решения появились в конце 90-х.
Но биткойн и другие блокчейны от предыдущих наработок отличаются условиями работы сети. В обычных алгоритмах византийского консенсуса у узлов сети есть «личности», выражаемые через цифровые подписи или сходные криптопримитивы, а сам список узлов известен заранее или меняется редко, но предсказуемо. В биткойн-блокчейне все наоборот.
Участники сети не только заранее неизвестны, но и могут свободно подключаться или отключаться от сети. При этом блокчейн, являясь децентрализованной системой, имеет определенные свойства: устойчивость к цензуре (никто не может запретить майнить криптовалюту) и объективность (для определения текущей версии журнала транзакций не нужно доверие неким авторитетным источникам — корень доверия находится в самом блокчейне).
Из-за этого обычные алгоритмы византийского консенсуса для блокчейна не подходят. Поэтому было предложено множество различных алгоритмов, среди которых выделяются две основные категории: алгоритмы на основе доказательства работы (proof-of-work) и алгоритмы на основе подтверждения доли (proof-of-stake).
Доказательство работы — PoW
Доказательство работы было «изобретено» задолго до биткойна еще в начале 90-х и применялось в ином контексте: для защиты от спама. Например, один вариант доказательства работы (Hashcash) был предложен английским криптографом Адамом Бэком (Adam Back), который сейчас является генеральным директором одного из крупнейших блокчейн-стартапов.
В случае доказательства работы хеш сообщения, объединенного со специальным полем (nonce), должен быть меньше определенного значения (или начинаться с определенного числа нулевых битов). Nonce не несет смысла для самого сообщения — это поле перебирается автором доказательства, пока не будет найдено подходящее значение. Название «доказательство работы» отражает тот факт, что для нахождения nonce надо совершить вычислительную работу, ожидаемое количество которой измеримо. Например, если нужно, чтобы первые 16 бит хеша равнялись нулю, то в среднем нужно перебрать 65536 значений nonce.
Проиллюстрировать это можно с помощью программы на Python:
import itertools from hashlib import sha256 # Интерпретирует последовательность символов как little-endian число to_long = lambda x: sum(ord(b) << (8*i) for i, b in enumerate(x)) # Комбинирует nonce и сообщение для вычисления хэша. combine = lambda nonce, msg: str(nonce) + ":" + msg # Проверяет доказательство работы def verify_pow(msg, nonce, difficulty): h = sha256(combine(nonce, msg)).digest() # Равны ли первые difficulty битов хеша нулю? return to_long(h) % (1 << difficulty) == 0 # Создает доказательство работы для сообщения def create_pow(msg, difficulty): for nonce in itertools.count(0): if verify_pow(msg, nonce, difficulty): return nonce msg = "blockchain" nonce = create_pow(msg, 16) combine(nonce, msg), sha256(combine(nonce, msg)).hexdigest() #43952:blockchain 000027b5022f88d2da21bd2802268966050f5a0b031058ce4562939c13727303
(adsbygoogle = window.adsbygoogle || []).push({});
Уточнение насчет ожидаемого количества работы является важным. Теоретически, при сильном везении, подходящий nonce можно найти очень быстро. Если программу выше запустить с сообщением «Bl0Ckchain», то получится, что значение nonce равняется 6571, а это в десять раз меньше ожидаемого. Поэтому, глядя на доказательство работы, можно лишь оценить затраченные на него ресурсы, однако для высокой сложности доказательства (то есть ожидаемого количества выполненной работы) эта оценка будет достаточно точна.
Доказательство работы похоже на цифровые подписи — оно обеспечивает целостность сообщения, так как вероятность того, что один и тот же nonce подойдет для различных сообщений, очень мала. Доказательства также легко проверяются — достаточно провести лишь одну операцию хеширования. В отличие от подписей, создание доказательства работы не требует знания секретов, но «потребляет» больше вычислительных ресурсов. Например, в приведенной выше программе на создание доказательства работы для сообщения «blockchain» сложностью 32 бита требуется несколько часов вычислений на обычном персональном компьютере, однако проверяется это доказательство практически мгновенно.
sha256("5263268363:blockchain") = 000000007cf39dfc8fccae534b39b5f362c16891abca02d0e7b1dbd5a129ee17
PoW и консенсус
Использование PoW для консенсуса — пожалуй, самая большая инновация оригинальной статьи о биткойне. Соответствующий алгоритм консенсуса получил вполне академическое название — консенсус Накамото. Сатоши (автор или авторы статьи) предложил «подписывать» каждый создаваемый блок доказательством работы, сложность которого зависит от общей вычислительной сложности сети биткойна. Такой подход дает несколько преимуществ:
- Консенсус Накамото решает главный бич анонимных сетей — атаки Сибиллы, в которых злоумышленник создает кучу фейковых узлов, чтобы «задавить» получившимся большинством мнение честных пользователей. Чтобы обладать мнением в консенсусе Накамото, нужно обладать реальной вычислительной мощностью, которую нельзя подделать, и которая не требует никакой дополнительной аутентификации — она сама по себе привязывает узлы к реальному миру.
- Доказательство нельзя подделать и «перенести» на другие блоки. Таким образом, майнеры не могут воровать доказательства друг у друга.
- Более того, доказательства нельзя заготовить впрок — в каждый блок входит ссылка на предыдущий, поэтому начать работать над доказательством можно только после появления предыдущего блока в сети.
- Доказательства работы обеспечивают честность — награда каждого майнера пропорциональна его вычислительной мощности (хешрейту). Если у майнера есть 10% хешрейта от всей сети, то он будет в среднем создавать 10% блоков и получать 10% награды.
- Поскольку на создание доказательства тратятся реальные ресурсы (которые в случае биткойна измеряются тысячами долларов в минуту), у майнеров возникает совершенно новый стимул действовать в рамках протокола — нечестное поведение немедленно лишает их реальных денег.
Доказательства работы используются узлами биткойна для определения состояния системы. Актуальный журнал транзакций определяется как цепочка блоков с наибольшей суммарной сложностью доказательств работы. Майнеры, соответственно, должны искать блок поверх этой цепочки. Но, теоретически, никто не запрещает создавать новые блоки на основе какого-то старого блока (иногда случаются расщепления — форки — блокчейна, потому что два майнера находят новый блок практически одновременно). Однако намеренные форки невыгодны экономически, потому что блоки из побочных ветвей блокчейна никем не учитываются и не приносят их создателям никакой прибыли — одни затраты на нахождение доказательства работы.
Консенсус Накамото обеспечивает два ключевых требования к блокчейну, которые мы выделили ранее. Из-за того, что доказательство работы не привязывается к личностям майнеров (в отличие от цифровых подписей/сертификатов), обеспечивается устойчивость к цензуре. А за счет того, что доказательства работы быстро проверяются и не требуют для проверки ничего, кроме блокчейна, достигается объективность протокола.
Консенсус Накамото устойчив к атакам на сеть блокчейна, причем его безопасность достаточно хорошо исследована теоретически (в отличие от более новых предложений для блокчейнов). В оригинальной статье отмечено, что сеть биткойна продолжит адекватно функционировать, даже если половина майнеров начнет злонамеренную активность. Если же среди майнеров появится злонамеренное большинство (так называемая атака 51%), они смогут игнорировать блоки от всех остальных майнеров, чтобы забрать себе всю награду в сети, или, например, мошенничать, производя повторную трату средств за счет намеренных форков блокчейна. Однако при этом отметим, даже если все майнеры в сети сговорятся, они не смогут обойти базовые механизмы безопасности биткойна — например, не смогут похитить биткойны пользователей.
Биткойн — самая мощная сеть, использующая доказательство работы. За одну секунду майнеры биткойна вычисляют более трех квинтиллионов (3∙1018) хешей. 32-битное доказательство (которое вычисляется на компьютере несколько часов) — это минимальная сложность в биткойне, которую можно было наблюдать лишь в самом начале работы сети. Это связано с тем, что сложность доказательства автоматически регулируется так, чтобы биткойн-сеть находила в среднем один блок в 10 минут. При увеличении хешрейта сети растет и сложность — сейчас сложность одного доказательства составляет около 70 бит. Соответственно, hex-запись хеша блока должна начинаться с 17 нулей.

Альтернативы для PoW
У консенсуса Накамото есть свойство, которое многими воспринимается как большой недостаток, — для обеспечения безопасности нужно «работать», то есть производить доказательства работы. Вычисления, которые выполняются в рамках PoW, не служат никакой полезной цели, и это архитектурная особенность. Оказывается, очень сложно придумать доказательство работы, которое бы выполняло общественно полезную роль. Поэтому может показаться, что ресурсы (прежде всего, электричество) на майнинг тратятся впустую (если не считать, что они тратятся на обеспечение безопасности).
Помимо этого, майнинг все же подвержен проблеме централизации. Более 70% хешрейта биткойна на данный момент находится в одной стране — Китае. Многие криптовалюты пытаются децентрализовать майнинг за счет использования доказательств работы, которые экономически невыгодно вычислять на специализированном оборудовании, однако с таким подходом возникает другая проблема — если сделать выгодным майнинг биткойнов с помощью домашних компьютеров, то арендовать оборудование для атаки (или создать для нее ботнет) станет существенно дешевле и проще.
Пытаясь решить эти проблемы, сообщество предлагает множество алгоритмов консенсуса, которые не требуют «работы». Самая популярная категория таких алгоритмов основана на доказательствах доли (proof-of-stake, PoS). Доказательство доли похоже на доказательство работы, только вместо совершения определенной работы автор показывает, что у него есть доля в системе (например, в виде ненулевого баланса криптовалюты). Получается, что для майнинга с PoS достаточно «запастись» криптовалютой, после чего просто получать с нее «проценты».
Однако у доказательства доли есть неприятный недостаток в сравнении с PoW: поскольку доказательства доли базируются не на реальном мире (вычислительная мощность), а на чём-то внутри самого блокчейна (баланс криптовалюты), задача построения надежного PoS-алгоритма оказывается нетривиальной.
В простейших вариантах PoS-консенсуса возникают проблемы с базовыми свойствами. Оказывается, что в них самым экономически выгодным поведением является размножение форков блокчейна для повторной траты средств. Были созданы более сложные варианты доказательства доли, без явных дыр в безопасности; такие алгоритмы возвращают в консенсус фактор экономической ответственности за счет обязательного залога, который конфискуется в случае некорректного поведения участника.
У криптографического сообщества все еще остаются сомнения насчет возможности надежных алгоритмов с доказательством доли. Возможно, планируемый переход на доказательство доли блокчейна Ethereum — второго по объему рынка публичного блокчейна — расставит все точки над i.
Кроме доказательства доли, блокчейн-энтузиасты экспериментируют и с другими алгоритмами «proof-of-*». Например, Брэм Коэн (Bram Cohen), создатель протокола BitTorrent, недавно предложил использовать для консенсуса в блокчейнах доказательство локального хранения файлов (proof-of-space), то есть заменить вычислительную мощность в PoW на дисковое пространство. Однако по степени зрелости подобные инициативы еще сильнее отстают от алгоритмов доказательства работы, чем proof-of-stake.
P.S. А вот еще небольшая подборка наших материалов:
habr.com
Механизмы достижения консенсуса в блокчейне / Waves corporate blog / Habr
Криптовалюты используют распределенные регистры или блокчейны для записи информации — в первую очередь, о балансе каждого адреса на платформах передачи ценности (например, Биткоина и большинства криптовалют), хотя такой подход может применяться к любой информации.Ключевое условие — сеть должна коллективно согласовывать содержимое регистра: он распределен между всеми участниками цепочки вместо того, чтобы передать централизованное ведение счетов одному субъекту — например, банку.
Для этого сети требуется поддерживать консенсус вокруг информации, записанной в блокчейне. Способ достижения этого консенсуса влияет на безопасность и экономические параметры протокола. Вот пять примеров его достижения.
1. Подтверждение выполнения работы (Proof of Work, PoW)
Подтверждение выполнения работы — это первый распределенный механизм достижения консенсуса, созданный создателем Биткоина, известным под псевдонимом Сатоши Накамото. Его примеру последовали многие криптовалюты, в том числе и Ethereum.
В случае в PoW, все компьютеры в сети, которым поручено поддерживать безопасность блокчейна (в случае Биткоина они называются майнеры), работают над вычислением математической функции, называемой хэшем. Это довольно простая задача (для компьютера), но постоянно повторяющаяся и, следовательно, дорогая в плане вычислений. Компьютеры конкурируют за поиск хэша с особыми свойствами. Компьютер, который вычислит его первым, получит подтверждение того, что он выполнил необходимую работу и сможет добавить новый блок транзакций в блокчейн. В качестве вознаграждения, он получит транш свежедобытых биткоинов (в настоящее время 12,5 BTC за блок или примерно каждые 10 минут), плюс все небольшие сборы за проведение транзакций, которые пользователи заплатили за отправку монет.
PoW работает по следующему принципу: добавить транш новых транзакций в блокчейн — это дорого, а вот проверить, действительны ли транзакции — это очень легко, благодаря прозрачности регистра. Майнеры коллективно подтверждают действительность всего блокчейна, и транзакции не считаются полностью «подтвержденными», пока к ним не добавятся несколько новых блоков. Если злоумышленник попытается использовать монеты незаконным способом, то его транзакции будут проигнорированы остальной частью сети. Единственный способ для злоумышленника совершить такое мошенничество — это обладать огромным количеством вычислительной мощности, позволяющим майнить блок за блоком и раз за разом первым из всей сети получать подтверждение выполнения работы. Такой способ называется «атака 51%», потому что для его реализации необходимости иметь более половины общего сетевого хэша. Реальность такова, что ни один майнер не может иметь такую долю хэша. Другими словами, попытка такого мошенничества 1) чрезвычайно дорогая (поскольку она требует затрат на оборудование и электроэнергию, а также несет в себе альтернативные издержки, вызванные отсутствием работы в действительной версии блокчейна и получением за это вознаграждения) и 2) крайне маловероятна. Следовательно, майнерам лучше (то есть более выгодно) оставаться честными.
2. Подтверждение доли (Proof of Stake)
PoW является дорогостоящим и энергоемким методом из-за требуемой вычислительной мощности. Вокруг создания специального оборудования, предназначенного исключительно для майнинга, выросла целая индустрия. Подтверждение доли (PoS) — это альтернативный способ, который не требует специального оборудования и в последние годы стал очень популярным. В случае PoW, вероятность того, что участник добавит следующий блок транзакций в цепочку, определяется уровнем хэша. В случае PoS, эта вероятность определяется количеством монет участника. Другими словами, каждый сетевой узел связан с определенным адресом, и чем больше монет принадлежит этому адресу, тем больше вероятность того, что они намайнят (или «надолят» в этом случае) следующий блок. Это похоже на лотерею: победитель определяется случайно, но чем больше монет (лотерейных билетов) у него есть, тем больше у него шансов. Злоумышленнику, который хочет совершить мошенническую транзакцию, потребуется владеть более 50% монет для надежной обработки нужных транзакций; покупка такого количества монет спровоцирует рост цен на них и сделает такую попытку непомерно дорогой.
Система PoS была впервые разработана Nxt. Поскольку она не столь энергоемкая, как PoW, то затраты на получение монет не требуют такого вознаграждения, как в случае Биткоина. Таким образом, системы PoS хорошо подходят для платформ с фиксированным количеством монет и отсутствием инфляции от создаваемых блоков. Вознаграждение участников состоит только из комиссии за проведение транзакций. Это подход применяется большинством платформ, финансируемым за счет краудсейла, где токены распределяются на основе инвестиций, и увеличение количества монет не понравится инвесторам, так как это «разбавит» их долю.
В настоящее время, подтверждение доли — это хорошо отлаженный механизм достижения консенсуса, но он не часто используется в своем первоначальном виде. Определенные преимущества предлагают две его разновидности, LPoS и DPoS.
3. Арендованное подтверждение доли (Leased Proof of Stake, LPoS)
В случае с классическим PoS, участники сети с небольшим балансом вряд ли смогут добавлять блоки в цепочку — так же, как небольшие майнеры с низким уровнем хэша вряд ли смогут создать блок в цепочке Биткоина. Может пройти много лет, прежде чем небольшому участнику посчастливится создать блок. Это означает, что многие участники сети с небольшим балансом не имеют узлов и позволяют ограниченному числу более крупных участников управлять сетью. Поскольку безопасность сети повышается с увеличением числа участников, то важно стимулировать этих небольших участников принимать в ней участие.
Механизм LPoS позволяет участникам делать это, сдавая свои средства в аренду крупным узлам. Арендованные средства остаются под полным контролем их владельца и могут быть переведены или потрачены в любое время (после чего аренда заканчивается). Арендованные монеты увеличивают «вес» узла сети, повышая его шансы на добавление блока транзакций в блокчейн. Любыми полученными вознаграждениями узлы делятся с арендодателями. Такой подход применяет Waves.
4. Делегированное подтверждение доли (Delegated Proof of Stake, DPoS)
BitShares и ряд других платформ используют несколько иной подход. С помощью DPoS, владельцы монет используют свои средства для выбора списка узлов, которые будут иметь возможность создавать блоки новых транзакций и добавлять их в блокчейн. Это вовлекает в работу сети всех владельцев монет, хотя они могут и не получать прямого вознаграждения, как в случае LPoS. Владельцы монет могут также голосовать за изменения параметров сети, что повышает их влияние на сеть и долю в ней.
5. Подтверждение важности (Proof of Importance, PoI)
Последней разновидностью этих механизмов достижения консенсуса является PoI. NEM стала первой криптовалютной платформой реализации этого способа. В случае PoI, важно не только количество монет. Система достижения консенсуса NEM основана на идее, что вознаграждать следует за продуктивную сетевую активность, а не просто за владение монетами. Вероятность создания блока зависит от ряда факторов, в том числе доступных средств, репутации (определяется отдельной специальной системой) и количества входящих и исходящих транзакций с этого адреса. Это дает более целостную картину «полезного» члена сети.
Существует множество разновидностей этих основных подходов, и некоторые платформы используют комбинацию PoW и PoS — первый часто используется для распространения монет, а затем платформа переходит на второй способ для поддержания сети. Еще один подход — это использование главных узлов в сочетании с майнингом PoW, как в случае с DASH и Crown. Они помогают обрабатывать транзакции и получать долю от вознаграждений за деятельность майнеров.
Во всех случаях, цель подхода к достижению консенсуса заключается в обеспечении безопасности сети, преимущественно с помощью экономических средств: атака на сеть должна быть слишком дорогой, а ее защита — более выгодной.
habr.com
Что такое алгоритм консенсуса в блокчейне и как он работает COINLIFE.COM
До появления блокчейна биткоина было предпринято множество попыток создать децентрализованную платежную систему. Но все они были безуспешны, так как разработчикам не удавалось решить проблему достижения консенсуса. То есть механизма, который бы позволил достичь соглашения между всеми участниками сети и обеспечить ее работоспособность. На примере самых популярных алгоритмов консенсуса рассмотрим, как они устроены и как достигается соглашение в блокчейне.
Договорные отношения
Консенсус в общем понимании означает способ прийти к соглашению. В блокчейне, который представляет собой децентрализованную систему, не имеющую единого управляющего органа, для достижения консенсуса разработаны различные алгоритмы.
В блокчейн-сети не имеет значения, доверяют ли участники системы друг другу или нет. Они должны договориться об определенных принципах работы, которые будут касаться всех. И это – прямая функция механизма консенсуса.
Алгоритм консенсуса в блокчейне представляет собой набор определенных математических правил и функций, которые позволяют достичь соглашения между всеми участниками и обеспечить работоспособность сети. В настоящий момент есть несколько различных методов достижения консенсуса.
PoW
Объяснение механизма доказательства работы кроется в самом названии – Proof-of-work. Чтобы участвовать в проверке транзакции, участникам необходимо публично доказать проведенную работу. Это правило предотвращает атаку на систему, в том случае, если злоумышленник создает фейковых избирателей. Чем больше проделано работы, тем больше возможностей произвести следующий блок и получить вознаграждение. Но, важно отметить, что это всего лишь возможности, а не общее правило.
PoW считают самым легким и в то же время самым стабильным алгоритмом в контексте полной децентрализации и анонимности.
PoS
Механизм Proof-of-Stake очень похож на голосование среди акционеров компании — наибольшую власть получает тот, у кого больше всех акций. Таким образом, дело не в количестве голосов, а в их весомости.
Преимущество алгоритма в мотивации честно подтверждать транзакции. Недостаток в том, что в реальности сложно построить систему, основанную на PoS, которая предусмотрит все возможные злонамеренные сценарии поведения участников.
В PoW атака 51% теоретически возможна, хотя в действительности она бессмысленна для хакеров. В системе PoS атака возможна, если больше чем половина заинтересованных лиц тайно сговорится друг с другом.
До сих пор нет проверенного временем и гарантированно безопасного метода на основе PoS, все они в стадии разработки.
При этом, разработчики Ethereum прямо сейчас пытаются объединить преимущества PoW и PoS с помощью протокола Casper.

Tumisu / Pixabay
DPoS
Главная идея Delegated Proof-of-Stake состоит в том, что каждый пользователь может голосовать за представителей – тех, кто одобряет транзакции. Личности представителей заранее известны. Это могут быть авторитетные люди, известные своими успехами в сфере блокчейна.
Важно отметить, что система учитывает вес голосов. Чем больше конкретный избиратель имеет нативной (внутренней) валюты, тем больше может влиять на «выборы».
PoI
Proof of Importance (PoI) – алгоритм консенсуса, который представляет собой расширенную версию PoS. Кроме рассмотрения количества участников, обладающих монетами, алгоритм анализирует поведение участников. Например, где, когда и как часто монеты ими передаются. Таким способом, устраняется ситуация, когда богатеют только богатые.
BFT
Алгоритмы консенсуса Multisignature и Byzantine Fault Tolerance стоит рассмотреть вместе. Они используются для достижения согласия среди ограниченной по численности группы людей. В случае с Multisignature, это – единицы участников, в Byzantine Fault Tolerance — десятки. Byzantine Fault Tolerance имеет смысл только тогда, когда все стороны знают друг друга.
FBA
Federated Byzantine Agreement был первоначально применен в Ripple и позже был улучшен Stellar. Механизм разрешает достигать согласия среди большого количества участников, общее количество которых неизвестно.
Каждый участник доверяет ограниченному числу других участников, формируя «круг доверия», в котором они легко достигают согласия. В конечном счете получается много «кругов доверия», что так или иначе позволяет достигнуть полного согласия во всей сети.
Никто не идеален
Безусловно, ни один из алгоритмов консенсуса не является идеальным и нет универсального метода достижения согласия в децентрализованной или частично децентрализованной системе. У каждого механизма свои достоинства и недостатки. Вот почему алгоритмы непрерывно обновляются и дополняются.
Разработчики довольны креативны в вопросе создания консенсусов. И этому остается только порадоваться, потому что блокчейн без консенсуса, как смартфон без подключения к интернету – едва ли имеет смысл.
Источник: Cryptovest.com
coinlife.com
Алгоритмы и методы консенсуса — что это такое (PoW, PoS, PoI)
В основу всех современных криптовалют положен принцип работы одноранговых сетей (тот самый peer-to-peer), в которых каждый узел является независимой единицей и может участвовать в подтверждении транзакций и формировании сети блокчейн. Для того чтобы сеть функционировала нормально и чтобы максимально исключить атаки на сеть, все узлы сети должны взаимно подтверждать и одобрять действия друг друга, т.е. достигать консенсуса при подтверждении каждой транзакции и создании нового блока. Право генерации нового блока как раз и определяется моделью консенсуса или, как ее часто называют алгоритмом консенсуса.
Что такое алгоритмы консенсуса
По сути, алгоритм консенсуса — это набор определенных математический правил и законов, которые регулируют работу блокчейна.
- Частоту генерации новых блоков — это помогает исключить ситуации, когда каждый узел генерирует свой блок и записывает его в блокчейн. Например, в блокчейне биткоина блок генерируется каждые 10 минут (итого 6 блоков в час). Иногда возникают ситуации, когда несколько узлов практически одновременно (с разницей в несколько долей секунды) генерируют блок, тогда возникает конфликт, который решается в пользу узла, который раньше всех создал блок. Транзакции, которые входили в «отвергнутый» блок/блоки, помещаются в список неподтвержденных транзакций и обрабатываются уже в следующем блоке.
- Размер вознаграждения за сгенерированный блок. Размер зависит от сложности: чем выше сложность, тем ниже сумма вознаграждения.
- Проверка корректности данных блока. Все узлы должны подтвердить правильность данных блока, который был сгенерирован определенным узлом. Проверяются хеши транзакций, предыдущего и сгенерированного блока, правильность подбора числа nonce.
- Избежание повторной траты средств. Например, в блокчейне биткоина при отправке транзакции в блокчейн отправляются все средства, после чего указанная сумма уходит получателю, а остаток возвращается обратно на счет отправителя.
Алгоритмы консенсуса в блокчейне базируются на криптологической задаче византийских генералов. Однако для применения в криптовалютах ее принципы были немного изменены и адаптированы под работу в P2P-сети:
- Стойкость к цензуре. В отличие от «Византии» блокчейн не нуждается в главнокомандующем, потому что блокчейн — это децентрализованная система, и никто не может никому запретить заниматься майнингом.
- Объективность — в блокчейне всегда хранится актуальная версия журнала транзакций и поэтому эта информация не нуждается в подтверждении авторитетными источниками.
В настоящее время самыми используемыми являются два алгоритма — Proof-of-Work и Proof-of-Stake. Также существуют и другие, однако они применены в намного меньшем количестве монет. Это связанно, в первую очередь, с их относительно недавним появлением и с пока что недостаточно отработанной технологией.
Proof-of-Work (PoW)

Proof of Work переводится как «доказательство работы». Впервые, в 1993 году его принцип был описан в работе американской ученой в области информатики Синтии Дворк и израильского криптографа Мони Наора. Они создали теоретическую базу PoW, предлагая создать алгоритм, который бы предоставлял доступ к определенным данным только тем пользователям, которые правильно решили определенную задачу. Следующий шаг в развитии алгоритма «доказательства работы» был Hashcash Адама Бэка, созданный в 1996 году — этот инструмент помогал предупредить DoS-атаки и рассылки спама.
Официально термин Proof-of-Work был предложен Маркусом Якобсеном и Ари Джуэлсом в 1999 году. В 2008 году все эти наработки были соединены в разработке Сатоши Накамото, которую мы сегодня знаем как Bitcoin. Иногда Proof-of-Work в отношении биткоина называют консенсусом Накамото. За основу Сатоши взял Hashcash с алгоритмом хеширования SHA-256 (SHA-256 более безопасный, чем оригинальный алгоритм Hashcash), а PoW обеспечивает работу сети блокчейн: используется для генерации нового блока и гарантирует безопасной всей сети.
Блокчейн-сеть, работающая по принципу алгоритма Proof-of-Work работает следующим образом: узлы сети производят математические вычисления, питаясь найти неизвестное число (nonce) рандомным способом. Данная операция несложная, но требует больших вычислительных мощностей. Когда один из узлов находит nonce, другие проверяют правильность результатов, просто подставив найденное число в формулу. После подтверждения корректности данных происходит генерация блока и начисление вознаграждения узлу, нашедшему правильное решение.
Основа работы Proof-of-Work
- Сложность вычислений должна быть достаточно высокой
- Проверка результата должна быть быстрой и доступной всем узлам
В модели PoW роль играют два параметра: вычислительная мощность (хешрейт) и вероятность нахождения рандомного числа nonce. Однако эти два параметра взаимосвязаны: чем выше хешрейт — тем выше шанс сгенерировать блок. Ввиду огромного роста сети биткоин для генерации блоков требуются очень большие мощности, поэтому сейчас майнингом биткоина в основном занимаются пулы. Уже к 2012 году общий хешрейт биткоин-сети превысил вычислительную мощность самого мощного суперкомпьютера в мире. В качестве узлов сети выступают GPU: 1 GPU = 1 узел. Учет GPU, а не IP в качестве узлов, предотвратило возможность захвата сети владельцами множества IP-адресов. Однако сегодня создаются целые майнинг-фермы, в которых работают тысячи вычислительных устройств.
Это создает опасность проведения так называемой атаки 51%, когда больше половины всего хешрейта сети сконцентрирована в одних руках. Это первый недостаток Proof-of-Work. Второй — чрезмерное расходование электроэнергии, которое увеличивается с каждым месяцем. В долгосрочной перспективе это может привести к глобальной экологической катастрофе.
Достоинства алгоритма доказательства работы
- Невозможность подделки результатов — найденный nonce проверяется всеми узлами сети, прежде чем будет сгенерирован блок
- Невозможность «заготовки» результата — работа над поиском nonce очередного блока начнется только после того, как будет закончена работа над предыдущим
- Невозможность возникновения атаки Сивиллы — теоретический злоумышленник не сможет создать множество фейковых узлов, при помощи которых он мог бы «массой» подавить мнение других узлов сети. Для того чтобы участвовать в майнинге, необходимо обладать реальной вычислительной мощностью, которая потребляет реальные ресурсы
- Стимул к честному участию — когда один из узлов начинает «хитрить» и пытаться нарушить работу сети, он может быть навсегда заблокирован другими участниками с сети
- Честность заработка — сумма потенциального вознаграждения напрямую зависит от хешрейта, которым обладает узел. Однако сегодня это преимущество достаточно спорно, так как практически 70% всего хешрейта сконцентрировано в одной стране — в Китае.
Алгоритм Proof-of-Work используется во многих популярных криптовалютах: Bitcoin, Ethereum, Litecoin, Dogecoin, Zcash, Monero.
Proof-of-Stake (PoS)

Proof of Stake переводится как «доказательство доли владения». Этот алгоритм впервые предложен пользователем QuantumMechanic на сайте bitcointalk.org в 2011 году как альтернатива используемого в биткоине Proof-of-Work. PoS еще называют форджингом. Первая монета, которая частично была реализована на алгоритме доказательства доли владения — Peercoin. А если быть точнее, то в PPC использовался гибридный вариант: изначально использовался принцип майнинга по алгоритму Proof-of-Work, а после того как все монеты были добыты произошел переход к Proof-of-Stake. Первыми «чистыми» монетами, которые с самого начала работали на PoS, были Nxt и Blackcoin.
Принцип работы Proof-of-Stake состоит в следующем: некоторое количество монет на счетах участников, которые участвуют в форджинге, «замораживается» в качестве некой гарантии честности узла. Монеты находятся в «замороженном» состоянии до тех пор, пока одной нодой не будет сгенерирован блок, а остальные участники не подтвердят правильность действий мастерноды. Подобная «заморозка» также является мерами предосторожности, которые помогают предотвратить атаки на сеть, избежать «двойной траты» монет и исключить возможность валидации поддельных транзакций узлами.
В отличие от Proof-of-Work в Proof-of-Stake определяющим фактором является количество монет на счету ноды (узла). Т.е. чем большее количество монет хранится на одном кошельке, тем больше шансов сгенерировать блок и получить порцию новых монет. Узел, который «побеждает в схватке» называется мастернодой. Принцип PoS в некотором роде схож с игрой в рулетку: чем больше ставок вы делаете (в нашем случае имеете монет), тем выше шансы выиграть (получить вознаграждение в виде криптовалюты).
Преимущества PoS над PoW
- Энергоэффективность — в отличие от традиционного Proof-of-Work алгоритм Proof-of-Stake не требует огромных энергоресурсов — электроэнергия тратится только на подтверждение самих транзакций
- Низкие требования к ресурсам оборудованию — все, что нужно, чтобы участвовать в форджинге — компьютер (обычный ПК или ноутбук), стабильный интернет и установленная программа-клиент
- Низкие комиссии — в отличие от биткоина и других монет, которые работают на PoW и в комиссию которых закладываются кроме обработки майнерами транзакций еще и оплата счетов за электричество, транзакции монет на PoS более дешевые в виду отсутствия расхода энергорессурсов
- Бо́льшая децентрализация — для того, чтобы создать стабильную мастерноду и фактически иметь полную власть над процессом подтверждения транзакций, потребуется иметь просто огромное количество монет. Однако здесь есть и обратная негативная сторона — теоретически «киты» могут выкупить бо́льшую часть монет, консолидироваться и захватить власть над форджингом определенной монеты.
- Высокая стойкость к поломке оборудования — так как форджинг не требует дорогого и сложного оборудования, то в случае поломки устройства его очень легко заменить.
- Низкая вероятность проведения атаки 51% — чтобы совершить этот тип атаки, форджер должен обладать более чем половиной всех монет. Во-первых, это очень дорого, а, во-вторых, от атаки пострадает он сам в первую очередь, так как стоимость этих монет после проведения атаки резко упадет.
Недостатки технологии Proof-of-Stake
- Возможность совершения атаки «double-spend» — это атака «двойной траты средств». Дело в том, что в PoS майнить блоки можно на любой высоте. Поэтому, чтобы совершить атаку, необходимо майнить параллельно два блока — один с платежом, который уйдет к получателю, а второй — с транзакцией, которая обратно вернется майнеру. Если майнер найдет оба эти блока, то первый он подтвердит, и деньги уйдут получателю, а второй попадет в сеть для подтверждения другими участниками, деньги вернутся майнеру, и сеть продолжится уже с этого блока
- Невозможность оборота монет — чтобы участвовать в форджинге, нужно иметь на счету определенное количество монет и не снимать их, т.е. не получится ни совершать покупки, ни обменивать монеты на бирже, ни проводить любые другие операции
- Достаточно высокий порог входа — чтобы участвовать в форджинге, узел должен обладать определенным количеством монет (например, для Dash нужно иметь минимум 1000 DASH)
- Небольшая прибыль — в этом случае низкие комиссии становятся не достоинством, а недостатком, так как при форджинге по получится зарабатывать так много как на майнинге
На PoS работают следующие криптовалюты: PayCoin, Blackcoin, Nxt, Clobal. В будущем Ethereum также планирует перейти на Proof-of-Stake.
Leased Proof of Stake (LPoS)
Leased Proof of Stake переводится как «арендованное доказательство доли владения». Это гибридный вид алгоритма PoS. Его суть заключается в том, что более мелкие участники форджинга (или те, которые не могут участвовать в нем ввиду недостаточного количества монет на счету) как бы сдают в аренду свои монеты полноценным нодам, повышая этим шанс последних сгенерировать блок. Взамен «арендодатели» получают свою долю в общем вознаграждении. Это имеет схожесть с майнинг-пулами, которые на данный момент в своем большинстве обслуживают сеть биткоина. В системе LPoS участник имеет полное право сделать со своими монетами что угодно в любой момент: потратить их, обменять на другие монеты и т.д. При этом «договор аренды» автоматически разрывается и с этого момента «арендодатель» уже не может рассчитывать на долю.
Алгоритм LPoS позволяет сделать сеть более децентрализованной, привлекая большое количество мелких узлов. Также это отличный шанс для владельцев небольшого количества монет получать небольшую, но стабильную прибыль, просто держа монеты на «долгосроке».
Пример монеты, которая работает по алгоритму LPoS — Waves.
Delegated Proof of Stake (DPoS)
Delegated Proof of Stake — делегированное доказательство доли владения. Как и LPoS DPoS — это подвид алгоритма Proof-of-Stake. Часто DPoS называют технологической демократии. Работу этого алгоритма можно сравнить с компанией, в которой каждый сотрудник имеет своим голосом повлиять на выбор начальника или его увольнение, если последний не справляется со своими обязанностями. Суть DPoS состоит в том, что ноды сети методом голосования выбирают узел, который будет генерировать блоки. В этом случае работает правило: чем большим количеством монет обладает нода, тем больший вес имеет ее голос. Правила начисления вознаграждения также определяются также участниками сети. В некоторых сообществах вознаграждение начисляется не только ноде, которой делегировали право генерировать блоки, но и остальным участникам.
Первая монета, в которой был применен алгоритм DPoS — Bitshares. Также он применяется в следующих монетах: EOS, Lisk, Ark, Steem.
Proof-of-Devotion (PoD)
Proof of Devotion — доказательство преданности. Алгоритм разработанный командой Nebulas (NAS) учитывает ранги пользователей на основе данных NR (Nebulas Rank). Участники с рейтингом свыше определенного уровня смогут становиться своеобразными «бухгалтерами» платформы. Они смогут участвовать в генерации новых блоков, и получать за это бонусы. Кроме того, им будет начисляться премия за проведение транзакций.
Proof-of-Importance (PoI)
Proof of Importance — доказательство важности. Этот алгоритм похож на Proof-of-Stake, однако в нем учитывается не только количество монет на счету, но и другие факторы, такие как репутация ноды (определяется через специальный сервис), количество входящих и исходящих транзакций. Т.е. этот алгоритм дает право генерировать блоки только «полезным» членам сети. На PoI разработана популярныя криптовалюта NEM.
Proof-of-Activity
Proof of Activity —доказательство активности. Это гибридный вариант, который создан на основе алгоритмов PoW и PoS. В этом алгоритме блоки PoS параллельно ищутся с блоками PoW, т.е. блокчейн Proof-of-Activity состоит из блоков обоих типов.
Если возникает конфликт в системе, то вес блоков PoW больше, чем блоков PoS, так как в Proof-of-Work практически невозможно осуществить атаку «double-spend», которую теоретически возможно реализовать в Proof-of-Stake. В этом случае форджеры «принимаются за работу» только после того, как произведена работа майнерами. Это создает меры безопасности, которые не позволяют монополистам-холдерам каждый раз получать вознаграждение за генерацию нового блока или совершить атаку 51%. Это помогает сделать работу сети более безопасной и защищенной.
Proof-of-Burn
Proof of Burn — это доказательство сжигания. Майнеру нужно «сжечь» монеты, чтобы иметь право заниматься майнингом. Под «сжечь» подразумевается отправка монет на адрес, к которому ни у кого нет доступа. Таким образом нода получает пожизненное право участвовать в майнинге и получать вознаграждение за генерацию блоков. Причем, чем больше монет «сжег» майнер, тем больше у него шансов найти блок. По данному алгоритму работает Slimcoin.
Proof-of-Capacity
Proof of Capacity — доказательство емкости. Если в Proof-of-Work определяющим фактором является хешрейт, то в Proof-of-Capacity главную роль играет место на жестком диске. Для майнинга можно использовать даже самый обычный ПК, главное, чтобы на жестком диске были тысячи (а лучше сотни тысяч) терабайт свободного места, которое будет «забиваться» случайными хешами в надежде на то, что один из них поможет сгенерировать блок. Данный алгоритм применен в монете Burst.
Proof-of-Signature (PoSign)
Proof of Signature — доказательство подписи. Это новый алгоритм, который появился достаточно недавно (в ноябре 2017 года) и еще даже не разработан до конца. Суть его состоит в том, блоки подписываются каждым узлом сети, за что последние получают вознаграждение. Если один из узлов попытается совершить атаку, то он будет исключен из сети без дальнейшего права участвовать в майнинге. На данный момент эта технология применяется в монете XTRABYTES — это первый и пока единственный проект, который работает на основе алгоритма PoSign.
Proof-of-Authority (PoA)
Proof of Authority — доказательство полномочий. Этот алгоритм позволяет только избранным (изначально определенным нодам) генерировать блоки и устанавливать свои правила в сети. Подходит для создания частных сетей или государственных криптовалют. В качестве примера можно назвать сеть Kovan.
Proof-of-Brain
Proof of Brain — доказательство «мозговой деятельности». Майнинг происходит путем создания качественного контента, который поддерживается другими участниками сети через голосование (лайки и комментарии). Чем больше лайков и комментариев получит узел, создавший контент, тем больше монет он сможет «намайнить». На данной технологии работает сеть Steemit и ее форк Golos.
Алгоритмы консенсуса играют самую важную роль в «жизни» монеты, поскольку определяют ее функционал, эмиссию и общие правила сети. В данный момент на первом месте по популярности находится Proof-of-Work, за ним идет PoS, все чаще встречаются и гибридные алгоритмы. Каждый из алгоритмов имеет свои достоинства и недостатки, но в общем идеальный алгоритм консенсуса должен выполнять две важных задачи:
- Атаки на сеть должны быть максимально затратными и иметь плохие последствия для самого атакующего
- Защита сети должна хорошо вознаграждаться
Proof of Credit Share – доказательство доли кредита. Созданный разработчиками GXChain алгоритм консенсуса, задача которого заключается в устранении дисбаланса при обмене информацией между крупными и небольшими компаниями. Расчет баллов PoCS осуществляется после завершения членами альянса процессов обмена данными. Оценивается PoCS в зависимости от частоты транзакций. Эти параметры учитываются для проведения оплаты. Те из членов альянса, которые имеют меньший счет, будут вынуждены оплачивать более высокие комиссии. В то же время для участников с высокими счетами транзакционная комиссия будет снижаться.
Отличная статья 0
ruscoins.info
Обзор механизмов консенсуса блокчейна — Статьи
Криптовалюты используют распределённые реестры или блокчейны для записи информации, в первую очередь об остатках по счетам для передачи значений внутри платформ (таких как биткоин и большинство других криптовалют), хотя эта функция не ограничивается передачей денег и может включать запись любой информации.Необходимым условием для функционирования блокчейна является консенсус или коллективное согласие участников сети по содержимому реестра: вместо того, чтобы создавать центральную власть, которая хранила бы записи о всех счетах централизованно, криптовалюты разделяют эту функцию между всеми пользователями системы. Методы достижения консенсуса определяют безопасность и экономические параметры протокола. Предлагаем ознакомиться с пятью наиболее распространёнными методами достижения консенсуса в криптовалютах:
Proof of Work (PoW)
Proof of work – это первый метод достижения распределённого консенсуса, который впервые в мире криптовалют применил Сатоси Накомото. Многие криптовалюты последовали по этому пути, включая Ethereum. В PoW все компьютеры сети занимаются обеспечением безопасности блокчейна (в экосистеме биткоина и многих других криптовалют они известны как майнеры). Они решают задачи, представляющие собой математические функции – хеш. Это простейшая задача (для компьютера), но она подразумевает постоянное повторение одних и тех же операций, и поэтому требует значительных вычислительных мощностей. Компьютеры соревнуются за нахождение хеша, обладающего определёнными свойствами. Компьютер, который первым находит решение – доказательство того, что он выполнил необходимую работу – получает возможность добавить новый блок транзакций в блокчейн. За это майнер получает порцию свежевыпущенных биткоинов (сейчас это 12,5 BTC за блок) и небольшую комиссию, которую пользователи уплачивают за отправку транзакций.
PoW работает согласно принципу: добавление набора новых транзакций в блокчейн обходится дорого, при этом проверить правильность этих транзакций очень легко благодаря прозрачной природе реестра. Майнеры совместно подтверждают правильность целого блокчейна, а транзакция не считается полностью подтверждённой, пока не будет добавлено несколько новых блоков после блока, содержащего данную транзакцию. Если злоумышленник попытается потратить монеты нечестным путём, остальная часть сети будет игнорировать его транзакции.
Впрочем, есть один способ обмануть сеть. Для этого мошенник должен обладать огромными вычислительными мощностями, которые позволят ему майнить блок за блоком и выигрывать в соревновании по майнингу блоков длительное время. Такая операция называется «атакой 51%», поскольку для её осуществления злоумышленник должен обладать более чем половиной хеш-рейта сети. В реальности ни один из майнеров не может получить такую долю вычислительных мощностей. Поэтому попытка осуществления подобной атаки 1) требует огромных затрат (на оборудование и электроэнергию + отсутствие наград за блоки, которые будет производиться в неправильном блокчейне) 2) имеет крайне низкие шансы на успех. Поэтому майнерам выгоднее оставаться честными.
Proof of Stake (PoS)
Из-за высоких требований к вычислительным мощностям PoW дорого обходится и требует больших энергозатрат. Была создана целая отрасль, занимающаяся разработкой и производством чипов для PoW-майнинга. Proof of stake – это альтернативный подход, который стал популярен в последние годы и который не требует специального оборудования. В случае с PoW хеш-рейт отдельного участника определяет вероятность добавления следующего блока транзакций в блокчейн этим участником. В PoS эту вероятность определяет доля участника в общем объёме монет. Таким образом, каждый узел сети привязан к определённому адресу, и чем больше монет содержит этот адрес, тем выше вероятность добавления следующего блока этим узлом. Как в лотерее: победитель определяется случайно, но чем больше у вас монет (лотерейных билетов), тем выше ваши шансы на победу. Злоумышленник, который захочет получить доступ над сетью, будет вынужден собрать у себя больше 50% монет. Покупка такого объёма монет заставит курс криптовалюты взлететь и сделает атаку непозволительно затратной.
Система PoS впервые была применена криптовалютой Nxt. Поскольку, в отличие от PoW, это не энергоёмкий метод, затраты не должны компенсироваться так, как это происходит в случае с биткоином. Таким образом, PoS отлично подходит для платформ с фиксированной эмиссией монет и позволяет им избегать инфляции, возникающей в результате расп
ttrcoin.com
Алгоритмы и достижение консенсуса в блокчейне
Система блокчейн объединяет тысячи пользователей, которые распределены за принципом блочной модели. Здесь работает административный центр, задача которого – конфигурация узлов сети. Они работают каждый по своему принципу, получается децентрализованное построение структуры блокчейн. И поэтому актуальным становится принцип консенсуса, который будет обеспечивать одинаковую величину транзакций блокчейна.
Что такое консенсус в блокчейне?

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

Согласованность действий в области торговли криптовалютой проявляется в одобрении и включении в блок очередных транзакций, следующих из разных узлов. Получается, что информация постоянно обновляется и любой участник имеет доступ к ней.
Такая технология позволяет держателям криптовалют работать бесперебойно. Кроме того, работа в системе становится безопасной, а экономические достижения протокола растут.
Алгоритмы консенсуса блокчейна
Консенсусные алгоритмы призваны удостоверить транзакции участников торговли. Современные блокчейн алгоритмы имеют уникальные преимущества и стабилизируют цепочки системы.
Такая слаженность работы достигается следующими методами:
- Доказательство работы (PoW). Используются трудные математические вычисления, прежде чем транзакция подтверждается.
- Подтверждение ёмкости (PoC). Задействованное дисковое пространство используется для создания резервных копий.
- Доказательство ставки (PoS). Предъявляет к пользователю требование доступа к сети и достаточного наличия валюты на счёте.
- Система Peercoin. Устанавливает для пользователей ограничения для подтверждения очередного блока.
Ко всем алгоритмам предъявляется требование достичь наибольшего масштаба охвата участников при определённой степени децентрализации.
Задача византийских генералов

Алгоритм наиболее важен в ситуации, когда возникает ситуация, описываемая в задаче византийских генералов. Это появление среди держателей блоков участника, распространяющего ложную информацию – «генерала-предателя». Достижение консенсуса в таком случае происходит за счет других узлов системы, «верных генералов». Взаимосвязанность блоков приводит к быстрому обнаружению «предателя» и отказу от ложной информации. Основное преимущество этого механизма – высокая скорость написания блоков и эффективность сети, несмотря на ограниченное количество пользователей.
Цель алгоритма – создание доверительных отношений между сторонами сети, не связанными друг с другом. Задача – совершение переводов на быстрой основе, обеспечение пользователей быстрым обменом сообщениями, контроль за состоянием сети.
Существуют и другие алгоритмы, которые активно применяются в работе владельцами криптовалют. Механизмы описывают сбор, хранение и использование виртуальных денежных средств.
Криптовалютная биржа №1 по мнению лучших трейдеров СНГ.
blockchain3.ru
Блокчейн и перспективы Вечного Консенсуса |
Идёт много разговоров о том, что консенсусные механизмы Proof of Stake (PoS) – это Святой Грааль для управления «эффективностью и масштабируемостью» в открытых блокчейнах. В некотором смысле здесь есть сходство с дебатами об открытом или закрытом интернете в 90-х годах.
В начале и середине 90-х годов, многие компании, убеждённые в пороках и опасностях открытого интернета, пытались предлагать его закрытые версии. Возможно, сейчас это звучит абсурдно, но, в то время, многие не верили, что открытая общественная инфраструктура может работать в реальном коммерческом масштабе. Это способствовало созданию неких «огороженных садов» или других форм закрытых сетей. Такие варианты не были успешными, и теперь у нас есть открытая общедоступная сеть, где вы можете управлять безопасностью и конфиденциальностью, используя, рассчитанные на конечного пользователя, приложения и протоколы. Теперь это стало способом, посредством которого, компании, начиная от стартапов и заканчивая глобальными банками, предоставляют надёжные онлайн-услуги.
P.S. Этот пост изначально был частью доклада, проведённого ещё в конце 2015 года, а затем был опубликован его автором на Linkedin в качестве краткого обзора. В 2017 году репост был размещён на Medium. В дальнейшем автор собирался сделать обновлённую версию этого материала с более осязаемым и подробным обсуждением энтропии и механизмов консенсуса PoW/PoS.
Прим. от переводчика. «Энтропия – это мера хаоса в какой-либо системе. Чем меньше в системе порядка, тем больше энтропия»
В настоящее время аналогичные дебаты ведутся относительно блокчейна, но уже в другом варианте. Многие люди всё ещё думают, что открытые публичные блокчейны неэффективны, поэтому некоторые компании создают собственные технологические блокчейн-протоколы для закрытой группы. При том, что открытые общедоступные сети масштабируются в мировых масштабах и имеют рыночную капитализацию более $100 млрд – ни одной частной/закрытой сети (в том числе, тем, которые пытались отказаться от базового цифрового токена) не удалось эффективно масштабироваться и обеспечить производственную выгоду в реальном мире.
И несмотря на то, что ситуация может измениться – законы сетевого эффекта все больше препятствуют компаниям в попытках масштабировать частные блокчейны и конкурировать с открытыми публичными сетями. Таким образом, не исключено, что история повторится, и публичные сети станут доминировать на рынке, хотя и потенциально медленнее, чем интернет, из-за строго регламентированного характера операций с деньгами/активами.
К тому же, до сих пор, идёт ещё более ожесточённый и сложный спор, нежели дебаты относительно открытых или закрытых сетей. Большинство людей, которые понимают природу открытых и закрытых систем, утверждают, что реальная проблема не в том, является ли блокчейн публичным или частным, а в типе консенсусного механизма, лежащего в основе синхронизации сети. Иными словами, в настоящее время ведутся споры о превосходстве Proof of Work (PoW) или Proof of Stake (PoS). И это, вероятно, останется предметом спора на ближайшие годы вперёд. Хотя, возможно, в будущем люди будут обсуждать лишь абсурдность дебатов о PoW и PoS.
Стимулы выживания
Открытые p2p-сети для передачи ценности, такие как Биткойн или Эфириум, должны выдерживать сложные векторы атак в открытой враждебной среде и предполагать, что все стороны (предоставляющие или получающие доступ к сети) заинтересованы и сфокусированы на максимальном извлечении собственной выгоды. В этом сценарии ключевой вопрос заключается в том, как стимулировать все стороны работать на благо защиты сети и одновременно соблюдать собственные интересы.
Это приводит нас к реальной блокчейн-революции и базовому цифровому токену (или криптовалюте). Помимо того, что токен является объектом транзакции между сторонами в сети (пользователями) – он также используется для стимулирования ключевых сторон (майнеров), стремящихся как можно быстрее обеспечить консенсус, относительно состояния блокчейна. (т.е. определить кто и каким количеством токенов владеет). Наградой за защиту сети и достижение консенсуса является либо новая партия токенов, либо плата за транзакцию.
В этой модели, доверие основано как раз на недоверии, которое характерно значительным расходом энергии на процесс майнинга (для предотвращения атаки 51%), что делает нарушение «святости» записей блокчейна дорогостоящим и экономически невыгодным действием по сравнению с альтернативой в виде защиты сети и получения вознаграждения за свой труд. Эта автономная система – проста и красива в своей реализации и не требует больше правил и элементов управления, чем это необходимо.
Криптовалюта является базовым элементом, на котором построен весь открытый блокчейн
Это характеризует основную цель и уникальную природу криптовалюты, и объясняет почему она является фундаментальной для блокчейна.
Связь между консенсусом и токенами
Нет никаких сомнений в том, что PoW тратит много энергии, и в его нынешнем виде не может рассматриваться как долгосрочная перспектива, но является ли PoS реальной альтернативой?
Открытый блокчейн – это то, что может противостоять проблемам в открытой враждебной среде, при условии, что все стороны заинтересованы в максимальном извлечении собственной выгоды. При этом сценарии возникает вопрос – как стимулировать все стороны работать на благо, одновременно соблюдая собственные интересы?
Это приводит нас к настоящей блокчейн-революции, построенной на базовой цифровой ценности, токене, который можно использовать как стимул для конкуренции, способствующий наискорейшему достижению консенсуса.
Здесь доверие создаётся из недоверия, заключённого в необходимости работать. Этот порядок из хаоса (или возрастающей сложности) можно рассматривать как эффективное уменьшение энтропии (хаотичности) системы.
Это также может рассматриваться как основа «структурной целостности» блокчейна. Необходимость проделать определённую работу позволяет навести порядок (что без стимула является маловероятным сценарием доверия) в хаосе (более вероятный сценарий недоверия) и стимулировать стороны к тому, чтобы они расходовали энергию (через ПО) и получали компенсацию в виде базовой цифровой ценности.
Эта автономная система – проста и красива в своей реализации и не требует больше правил и элементов управления, чем это необходимо. Она опирается на простые правила природы из области математики, экономики, а также (о чём мало кто говорит) физики!
В этой оригинальной модели видно, что расход энергии (PoW) – это не просто заменяемый компонент открытого блокчейна, а может быть один из наиболее важных элементов, позволяющих существовать этому блокчейну. Без консенсуса в виде PoW потребуется гораздо более сложный набор механизмов для обеспечения целостности системы и адаптации к возрастающей сложности.
Источник
Поделиться ссылкой:
Related
bitnovosti.com