Пограничная сеть Ethereum в настоящее время использует алгоритм консенсуса Proof-of-Work (PoW), в то время как будущая версия сети вместо этого планирует использовать алгоритм Proof-of-Stake (PoS). В чем разница между этими двумя типами алгоритмов?
Давайте начнем с того, что у них общего: они оба являются алгоритмами для достижения консенсуса в блокчейне.
Не вдаваясь в подробности, нам нужен консенсус, потому что любой может создать блок; в то время как нам нужна только уникальная цепочка, поэтому нам нужен способ решить, какому блоку мы должны доверять.
Доказательство работы имеет замечательное свойство: вы можете использовать теорему Байеса и законы термодинамики, чтобы доказать, что данный блок действительно требует определенного объема работы для добычи. Таким образом, пользователи могут просто выбрать самую длинную действующую цепочку с наибольшим объемом работы в качестве правильной цепочки.
Но это означает, что Proof of Work чрезвычайно неэффективен с точки зрения энергии и, следовательно, очень дорог; которые побуждают майнеров централизовать вычислительную мощность, что явно нежелательно для сети, цель которой — свести к минимуму необходимость доверять третьим сторонам.
Proof of Stake — это не майнинг, а проверка. По сути, блоки по-прежнему должны быть кем-то созданы, и то, кто будет создавать следующий блок, зависит от конкретного алгоритма Proof of Stake, но процесс выбора должен иметь некоторую случайность или, по крайней мере, должным образом распределять голосующие доли (иначе мы возвращаемся к централизованной системе).
В PoS каждый валидатор владеет некоторой долей в сети, эфиром в случае Ethereum, которую они связывают . Связывание ставки означает, что вы вносите деньги в сеть и в некотором смысле используете их в качестве залога, чтобы поручиться за блок. В PoW вы знаете, что цепочка действительна, потому что за ней стоит много работы, в то время как в PoS вы доверяете цепочке с самым высоким обеспечением.
Существуют важные различия между различными разрабатываемыми алгоритмами Proof of Stake. Этот вопрос касается PoW и PoS, поэтому я держу ответ очень общим.
Ethereum собирается использовать Casper, где доля злонамеренных валидаторов будет (частично) сокращена, например, если они подпишут два (конкурирующих) блока со слишком высокой вероятностью.
Цель алгоритма консенсуса в общедоступной сети блокчейнов состоит в том, чтобы позволить множеству разных пользователей прийти к соглашению о текущем состоянии блокчейна, даже если они не доверяют друг другу или какому-либо центральному органу. Это сложная проблема, и до запуска сети Биткойн она оставалась нерешенной.
Решение Биткойн состояло в том, чтобы использовать что-то под названием Proof of Work (или «майнинг», или «хеширование») , когда участвующие пользователи работали над решением сложных математических задач, а затем публиковали решения. Поскольку для поиска этих решений требуются ресурсы реального мира , такие как компьютеры и электричество, нет никакого способа «обмануть» и притвориться, что вы представляете большую часть мощности майнинга в сети, чем на самом деле. В результате алгоритмы PoW могут использовать количество и сложность найденных решений для измерения того, насколько сеть согласна с текущим состоянием блокчейна.. Единственный способ помешать законным пользователям прийти к соглашению о состоянии блокчейна — это контролировать достаточное количество общей вычислительной мощности, чтобы вы могли делать вид, что группа не согласна сама с собой, или даже что ваше мнение является настоящим консенсусом, а все остальные пользователи лгут о состоянии блокчейна. Это требование к ресурсам — это хорошо , потому что это означает, что вмешательство в консенсус группы требует много ресурсов (т. е. денег).
К сожалению, алгоритмы консенсуса PoW в том виде, в каком мы их знаем в настоящее время, требуют постоянного расхода ресурсов только для того, чтобы нормально работать. Работа должна быть сделана независимо от того, пытается кто-то вмешиваться или нет , и кто-то должен за нее платить. Большинство существующих блокчейнов PoW, таких как Биткойн, оплачивают эти расходы за счет предварительно согласованного создания монет, также известного как инфляция. Эта зарплата должна распределяться независимо от того, атакует кто-нибудь или нет, что кажется довольно неэффективным. Руководствуясь этим и другими соображениями, было предложено новое решение проблемы децентрализованного консенсуса , получившее название Proof of Stake.
В этом новом алгоритме согласие в блокчейне будет измеряться не на основе того, насколько вычислительная мощность согласуется с текущим состоянием, а на основе того, насколько цифровая валюта согласуется с текущим состоянием . Владельцы этой цифровой валюты финансово заинтересованы в успехе блокчейна, который ее отслеживает, откуда мы и получили название алгоритма.
Краткая версия — POW требует, чтобы майнеры или физический компьютер были включены и обрабатывали транзакцию. Это может быть неэффективно, поскольку для майнинга создаются и оптимизируются более совершенные компьютеры, что может привести к централизации, такой как биткойн. Биткойн может рассматриваться как централизованный в Китае небольшой группой людей, владеющих мощностью майнинга, которая может превышать 51%.
POS более экологичный и не требует энергии. Вы должны по существу заблокировать свои монеты/токены для майнинга или обработки транзакций. В настоящее время также существуют проблемы с POS, например, небольшая группа людей, владеющая большинством токенов/монет, может удвоить расходы. Существует также проблема «Ничего не подвержено риску», которая гласит, что если есть вилка, вы можете продолжать использовать обе вилки, пока одна из них не умрет. Я думаю, что Виталик и Влад, возможно, нашли решение CBB (консенсус по пари). Подробнее здесь:
https://blog.ethereum.org/2015/12/28/understanding-serenity-part-2-casper/
the_truth
= Согласованная структура данных (блок), содержащая действительное будущее состояние виртуальной машины Эфириума (и связанную с ней информацию), рассчитанное мной с использованием правил, изложенных в желтой бумаге.
rand
= 8-байтовое случайное число
Доказательство работы:
Я буду соревноваться с вами, чтобы найти хеш-значение
the_truth
+rand
, которое меньше согласованного уровня сложности, приз для победителя.Когда кто-то выиграет, я проверю, согласен, потом рассчитаю новую версию
the_truth
и начну новую гонку.
Доказательство доли:
Могу поспорить, что
the_truth
это будет согласованное будущее состояние виртуальной машины Эфириума.
Proof of Work (PoW) и Proof of Stake (PoS) — это два протокола, имеющих одну и ту же цель, и цель состоит в том, чтобы установить консенсус в отношении блокчейна, т. е. мы хотим согласовать определенное состояние блокчейна, или все узлы должны согласовать определенное состояние блокчейна. Итак, ребята, когда создается блок, его нужно добавить в блокчейн, и все майнеры пытаются его добыть. Позвольте мне очистить его.
Когда приходит блок, мы хешируем все транзакции в блоке и получаем хэш этих транзакций, после чего нам нужно найти доказательство или в блокчейне это называется «одноразовый номер (случайные биты)». Опять же, с самого начала майнеры получают хэш нового блока с транзакциями, и им нужно найти другую часть (Proof или nonce), поэтому, когда они объединяют эти два вместе в строку и после хеширования этой строки, они должны получить ответ и майнеры знают, что ищут, и этот ответ общеизвестен.
В биткойн-блокчейне строка ответа, представляющая собой хэш, должна начинаться с определенного количества нулей, и все майнеры это знают. Вся проблема заключается в том, чтобы найти одноразовый номер, а найти правильный одноразовый номер очень сложно, поэтому майнеры пробуют разные одноразовые номера с хешем блока, чтобы найти правильный одноразовый номер, они видят свой новый хеш, который начинается с определенного количества нули, и если они не находят нули при запуске, они снова пробуют новый другой одноразовый номер. Они пробуют это снова и снова, чтобы найти правильный ответ. Майнеру требуется много времени, чтобы найти правильный одноразовый номер и получить правильный ответ.
Это дорого и неэффективно, потому что электричество используется миллионами машин, чтобы найти этот одноразовый номер.
Это было объяснение Proof of Work ..... надеюсь, вы поняли. Давайте перейдем к Proof of Stake .
Это похоже на PoW, однако он пытается устранить проблемы, связанные с процессорами и графическими процессорами. В PoS майнер, у которого больше всего денег в кошельке, скорее всего, будет добывать новые блоки, и это больше не будет называться майнингом. Вместо подсчета процессоров или графических процессоров или того, сколько денег вы потратили на оборудование, он считает деньги, которые у вас есть в блокчейне или в вашем кошельке, и это делается потому, что система думает, что когда у вас много денег в блокчейне, вы меньше вероятно, навредит сети и добудет ложные блоки, и если вы добудете ложные блоки, вы уменьшите стоимость своих денег в блокчейне. При этом человек с большим количеством денег в блокчейне сможет добывать новый блок.
Ethereum пытается включить PoS с помощью своего нового протокола PoS под названием Casper. Это функция, которая гласит, что злонамеренный валидатор (в случае PoS майнер называется валидатором), который проверяет блок, потеряет деньги, если он/она проверит вредоносный блок. блок не правильный.
Я думаю, что теперь достаточно ясно, ч/б PoW и PoS. Я хочу добавить больше. В PoS, когда валидатор проверяет алгоритм или блок, он просто вкладывает деньги или ставку для проверки этого блока, вы не можете получить их обратно, пока блок не будет проверен, или вы можете фактически потерять свои деньги, которые вложены для решения этого блока, если вы проверяете ложный блок в обновлении casper.
Джефф Коулман
Тьяден Хесс