Proof-of-Work vs. Proof-of-Stake: Как изменится Эфириум

  • 09.04.2024

Что изменится в технологиях майнинга, если сообщество Ethereum решит сменить одно на другое?


Что такое Proof-of-Work?

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

Кон-цеп-ция су-ще-ство-ва-ла за-дол-го до бит-ко-и-на (Bitcoin), но когда Са-то-си На-ка-мо-то при-ме-нил (или при-ме-ни-ла — мы до сих пор ни-че-го не знаем о лич-но-сти со-зда-те-ля крип-то-ва-лю-ты) эту тех-ни-ку к сво-е-му изоб-ре-те-нию, это по-ло-жи-ло на-ча-ло ре-во-лю-ции в об-ла-сти циф-ро-вых тран-зак-ций.

Стро-го го-во-ря, идея PoW была пред-ло-же-на Син-ти-ей Дворк и Мони Наор еще в 1993 году, но сам тер-мин по-явил-ся го-раз-до позже, в 1999-м, в ста-тье Мар-ку-са Джей-коб-со-на и Ари Джу-эл-са.

Но вер-нем-ся в на-сто-я-щее. Не будет пре-уве-ли-че-ни-ем ска-зать, что Proof-of-Work — глав-ная идея, ле-жа-щая в ос-но-ве бит-ко-и-на: имен-но она слу-жит базой для рас-пре-де-лен-но-го ре-ест-ра.

Что такое распределенный реестр?

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

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

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


Proof-of-Work и

На более глу-бо-ком уровне Proof-of-Work пред-став-ля-ет собой набор тре-бо-ва-ний к слож-ным ком-пью-тер-ным вы-чис-ле-ни-ям, ко-то-рые необ-хо-ди-мо про-ве-сти, чтобы со-здать новую груп-пу за-ве-рен-ных тран-зак-ций (блок) и до-ба-вить ее к рас-пре-де-лен-но-му ре-ест-ру (блок-чей-ну). Этот про-цесс на-зы-ва-ет-ся май-нин-гом. Май-нинг пре-сле-ду-ет две глав-ные цели:

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

При тран-зак-ции с крип-то-ва-лю-той про-ис-хо-дит сле-ду-ю-щее:

  • Транзакции случайным образом группируются в блоки;
  • Майнеры подтверждают легитимность транзакций в каждом блоке;
  • Для этого им приходится решить сложную математическую задачу, известную как proof-of-work problem;
  • Первый майнер, решивший задачу, связанную с конкретным блоком, получает вознаграждение в виде криптовалюты;
  • Заверенные транзакции добавляются к блокчейну, который доступен каждому участнику системы.

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

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

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

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

По-вы-ше-ние по-ро-га долж-но про-ис-хо-дить в сред-нем каж-дые 14 дней, а новый блок фор-ми-ру-ет-ся каж-дые 10 минут. Proof-of-Work ис-поль-зу-ет-ся не толь-ко в си-сте-ме бит-ко-и-на, но и в Ethereum и мно-гих дру-гих си-сте-мах, ос-но-ван-ных на блок-чейне.

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

Раз-ра-бот-чи-ки Ethereum хотят из-ме-нить си-сте-му це-ли-ком, пе-рей-дя к новой си-сте-ме под на-зва-ни-ем Proof-of-Stake.

Что такое Proof-of-Stake?

Proof-of-Stake — дру-гой спо-соб ве-ри-фи-ци-ро-вать тран-зак-ции и обес-пе-чи-вать distributed consensus.

Это ал-го-ритм, ко-то-рый слу-жит ровно тем же целям, что и Proof-of-Work, но спо-соб до-сти-же-ния этих целей со-вер-шен-но от-ли-ча-ет-ся.
Идея Proof-of-Stake была впер-вые пред-ло-же-на на фо-ру-ме bitcointalk еще в 2011 году; год спу-стя по-яви-лись пер-вые крип-то-ва-лю-ты, ис-поль-зу-ю-щие этот метод, — Peercoin, ShadowCash, Nxt, BlackCoin, NuShares/NuBits, Qora и Nav Coin.

В от-ли-чие от Proof-of-Work, где ал-го-ритм воз-на-граж-да-ет май-не-ров, ко-то-рые про-во-дят вы-чис-ле-ния для ва-ли-да-ции тран-зак-ций и со-зда-ния новых бло-ков, в Proof-of-Stake со-зда-тель но-во-го блока вы-би-ра-ет-ся си-сте-мой за-ра-нее на ос-но-ва-нии его со-сто-я-ния, то есть доли в общем ко-ли-че-стве крип-то-ва-лю-ты.

Никакого вознаграждения за блок

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

Почему Ethereum хочет перейти на PoS?

Со-об-ще-ство Ethereum и со-зда-тель крип-то-ва-лю-ты Ви-та-лик Бу-те-рин пла-ни-ру-ют про-ве-сти хард- , чтобы пе-рей-ти с си-сте-мы Proof-of-Work на Proof-of-Stake.

Но по-че-му? Рас-пре-де-лен-ный ре-естр, ос-но-ван-ный на Proof-of-Work тре-бу-ет от май-не-ров боль-ших за-трат энер-гии. Одна тран-зак-ция с бит-ко-и-ном тре-бу-ет столь-ко же элек-тро-энер-гии, сколь-ко пол-то-ры семьи по-треб-ля-ют за целый день.

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

Это силь-но бес-по-ко-ит раз-ра-бот-чи-ков крип-то-ва-лют, и со-об-ще-ство Ethereum хочет ис-поль-зо-вать Proof-of-Stake как более эко-ло-гич-ную и де-ше-вую форму под-дер-жа-ния рас-пре-де-лен-но-го ре-ест-ра.

Кроме того, из-ме-нит-ся ме-ха-низм воз-на-граж-де-ния: в си-сте-ме Proof-of-Work у май-не-ра может во-об-ще не быть крип-то-ва-лю-ты, для ко-то-рой он про-во-дит вы-чис-ле-ния. В слу-чае Proof-of-Stake, фор-дже-ры все-гда вла-де-ют ка-кой-то ча-стью крип-то-ва-лю-ты.

Как стать форджером?

Если новый про-то-кол Proof-of-Stake под на-зва-ни-ем Casper будет при-ме-нен, в си-сте-ме по-явит-ся некий пул ва-ли-да-то-ров. Поль-зо-ва-те-ли смо-гут при-со-еди-нять-ся к пулу, чтобы по-лу-чить воз-мож-ность войти в число фор-дже-ров.

Сам Бу-те-рин утвер-жда-ет:

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

Воз-на-граж-де-ние для ва-ли-да-то-ров со-ста-вит «от 2% до 15% от суммы тран-зак-ции», го-во-рит Бу-те-рин, — впро-чем, по этому пунк-ту у него пока нет уве-рен-но-сти.

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

Более надежная система?

Любая ком-пью-тер-ная си-сте-ма нуж-да-ет-ся за-щи-те от ха-кер-ских атак, осо-бен-но если она как-то свя-за-на с день-га-ми. По-это-му глав-ный во-прос сво-дит-ся к сле-ду-ю-ще-му: будет ли Proof-of-Stake без-опас-нее, чем Proof-of-Work?

Он бес-по-ко-ит не толь-ко экс-пер-тов — скеп-ти-ки на-хо-дят-ся и в самом со-об-ще-стве. В слу-чае Proof-of-Work зло-умыш-лен-ни-кам труд-но по-лу-чить до-ступ к си-сте-ме из-за вы-со-ко-го тех-но-ло-ги-че-ско-го и эко-но-ми-че-ско-го по-ро-га вхож-де-ния.

Атаки в си-сте-ме PoW об-хо-дят-ся очень до-ро-го — чаще всего для этого вам по-на-до-бит-ся боль-ше денег, чем вы в итоге смо-же-те украсть.

Си-сте-ме PoS, на-про-тив, по-на-до-бят-ся до-пол-ни-тель-ные сред-ства за-щи-ты — без этого ата-ко-вать ее будет го-раз-до проще.

Чтобы раз-ре-шить этот во-прос, Бу-те-рин со-здал про-то-кол Casper, —ал-го-ритм, спо-соб-ный опре-де-лять об-сто-я-тель-ства, при ко-то-рых небла-го-на-деж-ный ва-ли-да-тор может по-те-рять свой де-по-зит. Он по-яс-ня-ет: «Casper тре-бу-ет, чтобы ва-ли-да-то-ры вно-си-ли вклад для уча-стия. Участ-ник те-ря-ет де-по-зит, если про-то-кол опре-де-ля-ет, что он на-ру-шил неко-то-рый набор пра-вил».

Вывод

Бла-го-да-ря PoS ва-ли-да-то-рам не нужно ис-поль-зо-вать свою вы-чис-ли-тель-ную мощ-ность, — един-ствен-ны-ми фак-то-ра-ми, вли-я-ю-щи-ми на успех, яв-ля-ет-ся общее ко-ли-че-ство их соб-ствен-ных монет и те-ку-щая слож-ность си-сте-мы.

Таким об-ра-зом, пе-ре-ход от PoW к PoS может обес-пе-чить сле-ду-ю-щие пре-иму-ще-ства:

  • Экономия энергии;
  • Более безопасная сеть, поскольку атаки станут более дорогими: если хакер захочет купить 51% от общего количества монет, рынок отреагирует быстрым повышением цен.

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

Если некий ва-ли-да-тор со-здаст «недо-пу-сти-мый» блок, его залог будет уда-лен, а сам он ли-шит-ся воз-мож-но-сти уча-стия в си-сте-ме.

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

Под-го-то-ви-ла Тая Аря-но-ва

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

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

История создания алгоритма Proof-of-Work

Идея механизма PoW появилась в литературе ещё в далёком 1993 году. Тогда его предложили использовать для защиты электронной почты от спама. Хотя словосочетание Proof-of-Work ещё не прозвучало - термин появился только в 1999.

Первое практическое воплощение состоялось через четыре года, в 1997 и также было связано с борьбой со спамом. Проект получил название HashCash.

Для создания блокчейна биткоина Сатоши Накамото применил защитный алгоритм HashCash (который уже доказал к тому времени свою работоспособность), а в качестве вычисляемой хэш-функции использовал SHA-256 - наиболее популярную в 2008 году.

Что такое Proof-of-Work?

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

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

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

Особенности Proof-of-Work

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

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

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

Плюсы Proof-of-Work

Proof-of-Work предлагает достаточно высокий уровень безопасности блокчейна, стремительно растущий по мере того, как увеличивается число узлов в сети и их суммарная вычислительная мощность.

Связано это с тем, что большая часть атак на блокчейн, использующий PoW, требует, чтобы атакующий контролировал большую часть вычислительных мощностей сети.

Теоретически, у злоумышленника есть возможность подтверждать только свои блоки, игнорируя другие, собирать 100% новых монет и блокировать транзакции. Однако для этого ему нужно контролировать более половины вычислительных мощностей (отсюда название «атака 51%»). Это, по большому счету, лишает атаку экономического смысла.

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

Минусы PoW

Основная проблема Proof-of-Work - это постоянно растущая сложность вычислений. Возникающие из-за этого требования к оборудованию и огромная энергозатратность делают поиск новых блоков крайне дорогостоящим и энергонеэффективным процессом.

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

Проблема «прожорливости» PoW усугубляется риском потратить ресурсы «в никуда». Предсказать, какой именно узел найдёт новый блок, невозможно, а вознаграждение получит только «победитель». Все прочие узлы жгли электричество напрасно.

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

Сосредоточение вычислительных ресурсов под контролем немногочисленных компаний противоречит самой идее децентрализации, заложенной в криптовалюты. Работы над «ASIC-защищёнными» PoW-алгоритмами ведутся, однако, говорить об их полной успешности пока рано. В основном они лишь делают использование спецоборудования более затратным.

Использование Proof-of-Work в криптовалютах

Proof-of-Work используется в абсолютном большинстве криптовалют, представленных сегодня на рынке. Исключение составляют те валюты, в которых выпуск новых токенов либо не предусмотрен (все монеты находились в сети с самого начала работы), либо осуществляется централизовано (как в Ripple).

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

Майнинг криптовалют, использующих Proof-of-Work

На сегодняшний день все «майнящиеся» цифровые валюты используют именно алгоритм PoW. Однако майнинг крупнейших криптовалют для одиночек, использующих неспециализированное оборудование и не входящих в крупные пулы, практически недоступен. Их нишей стали немногочисленные ASIC-защищённые крипты или монеты «со дна», которые никому из крупных игроков не нужны.

Популярные криптовалюты на алгоритме Proof-of-Work

Само собой, главная PoW-крипта в мире - это Bitcoin. С него началась история криптовалют и пока что не видно монеты, которая смогла бы сместить биткоин с вершины и отобрать у него звание «цифрового золота».

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

Вторая криптовалюта по капитализации - Ethereum, на данный момент также использует для защиты сети алгоритм PoW, называемый Ethash. В дальнейшем разработчики планируют перейти сперва на гибридную схему PoW+PoS, а затем и полностью отказаться от алгоритма Proof-of-Work.

Подобный подход вызван тем, что создатель Ethereum Виталик Бутерин изначально намеревался использовать концепцию Proof-of-Stake, однако, нерешённые проблемы этого алгоритма вынудили его обратиться к более проверенным вариантам. Сейчас же разработчики надеются, что создаваемый ими протокол PoS под названием Casper решит проблемы доказательства доли и защиты блокчейна от форков, что позволит отказаться от PoW.

Monero представляет собой редкий пример успешной валюты, использующей ASIC-защищённый PoW-алгоритм. Протокол, названный CryptoNight, использует встроенные инструкции CPU, исполнение которых на устройствах с низкой частотой и быстрой памятью или специализированном оборудовании очень затратно. Успешность Monero, впрочем, обеспечивается не нововведениями в алгоритме консенсуса, а уникально высокой анонимностью - в отличие от того же биткоина, транзакции в блокчейне Monero не отслеживаемы в принципе.

Какое будущее ждёт алгоритм Proof-of-Work?

Proof-of-Work остаётся наиболее надёжным (во многом в силу того, что он - наиболее старый и испытанный из всех) алгоритмом консенсуса. В связи с этим даже те разработчики криптовалют, которые заявляют о своей приверженности альтернативным алгоритмам, вынуждены использовать PoW как минимум для распределения токенов.

И, хотя недостатки Proof-of-Work приводят к постепенному переходу от «чистых» PoW-алгоритмов к гибридным, отказа от использования этой концепции в ближайшее время не произойдёт. И тем более этого не случится, пока будет работать блокчейн биткоина.

  • Перевод

Продолжаем переводить крутые статьи с сайта Bytecoin.org . Сегодня - «Alternatives for Proof of Work, Part 1: Proof Of Stake » Рэя Паттерсона (Ray Patterson).
Также читайте перевод «Краткой истории эволюции proof-of-work в криптовалютах»: и .

Критика Proof of Work

Как мы все помним, Proof of Work родился в далеком 1993 году в семье криптографов; родители прочили ему карьеру защитника от DoS и спама . Однако в 2008 году ему поступило заманчивое предложение от некоего анонима с япоским акцентом: стать основой для распределенного сервера меток времени. Схема представлялась простой: узлы сети «голосуют» за свою версию истории транзакций, вкладывая свои мощности в вычисление «редких» хешей. Версия, получившая большинство голосов, принимается другими узлами в качестве эталонной.

Важным моментом было обеспечение большой суммарной мощности сети: для защиты от потенциального злоумышленника с его потенциальными 51% ресурсов. Однако изначальная концепция PoW подразумевала небольшие задания, которые должен выполнить клиент, чтобы получить доступ к ресурсам сервера. В рамках такой модели защиты от DoS даже небольшие мощности клиента не помешают добропорядочному использованию ресурса, а большие просто не требовались. Поэтому мотивация для работы майнеров была реализована просто: «натурой», биткоинами, т.е. фактически деньгами.

И это все изменило. В мире криптовалют PoW превратился в монстра, пожирающего электричество в гонке за прибыльностью майнинга. Серьезные претензии появились примерно в 2012 году, когда суммарная мощность Bitcoin-сети «обогнала » по производительности самый мощный суперкомпьютер в мире. «Бесполезная трата энергии!» - раздавались со всех сторон крики. Робкие протесты защитников по поводу защиты от атаки 51% и энерго-аппетитов банковских терминалов игнорировались, благо на горизонте уже была первая альтернатива – Proof of Stake.

Proof of Stake

В качестве идеи появился на свет в одном из постов на bitcointalk еще в 2011 году. Первая реализация увидела свет через год, в 2012, в криптовалюте PPCoin (сейчас называется PeerCoin). В дальнейшем подобные протоколы появились и в других проектах, о них чуть позже.

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

Как работает PPCoin

Итак, ресурс майнера – это его монеты (непотраченные, разумеется). А точнее – непотраченные выходы транзакций, каждому из которых соответствует какое-то число монет. Майнинг происходит следующим образом:

  1. Выбираем свой выход, который был получен как минимум 30 дней назад.
  2. Формируем структуру Kernel , куда входят: детерминированные данные от выхода (время блока, в котором он появился, его номер внутри блока и т.д.), текущее время и т.н. nStakeModifier (периодически пересчитываемый блок псевдослучайных бит).
  3. Хэшируем Kernel и сравниваем полученное значение с текущей целью, которая зависит от текущей сложности сети (выше сложность – меньше цель), «возраста» выхода (больше возраст – больше цель) и его суммы (больше монет – больше цель).
  4. Если хэш оказался больше цели – возвращаемся к п.1, берем следующий выход.
  5. Если же выход оказался «удачным» – мы тратим его в coinbase-транзакции (отправляя себе же), прибавляем награду за блок и комиссии от включенных транзакций и подписываем весь блок ключом, который был связан с потраченным выходом.
  6. Вуаля, блок готов. Начинаем поиски следующего.
Замечания:
  • Проверка блока детерминирована: текущее время берется из заголовка блока, данные выхода – из блокчейна, nStakeModifier тоже однозначно вычисляется для каждого блока.
  • Выход должен быть «старым», чтобы атакующий не мог, пересылая деньги между своими кошельками, получить «хороший» выход, который сразу же позволяет найти блок.
  • nStakeModifier рассчитывается на основе последних блоков, и потому непредсказуем. Благодаря этому майнинг делается еще более непредсказуемым (и более устойчивым к возможным атакам).
  • Текущий Timestamp в п.2 может варьироваться в широких пределах: плюс-минус час. Поэтому по факту для каждого выхода можно проверить 7200 хэшей, а не один.
  • «Возрастной» множитель цели ограничен сверху 90 днями . В противном случае атакующий мог бы, располагая всего несколькими ОЧЕНЬ старыми монетками, с высокой вероятностью сгенерировать несколько блоков подряд.

По сути, процесс PoS-майнинга является такой же лотереей, что и в PoW. Однако за билет не нужно «платить» своими мощностями: перебор вариантов происходит на очень ограниченном пространстве собственных выходов и не зависит от скорости CPU. На ваши шансы влияют лишь ваше общее число монет и текущая сложность сети.

Благодаря этому мы получаем следующий профит:

  1. Бережем энергию. Здесь не поспоришь, хотя и для PoW можно использовать «полезную работу» (см. Primecoin) или ASIC-resistant функции (Cuckoo Cycle, CryptoNigh, Ethash etc.), которые бы ограничили область майнинга персональными ПК.
  2. Отсутствие бесконечной «гонки вооружений»: теперь общий хэшрейт ограничен не правилом Мура и законами термодинамики, а общим числом монет в кошельках участников. С другой стороны, в такой модели сложно понять, в честных ли руках находится крупный процент ресурсов?
  3. Атака становится дороже. Если я захочу купить 51% монет, то рынок отреагирует быстрым ростом цены. Кроме того, какой мне смысл делать атаку на сеть, если все мои ресурсы вложены в виртуальные монеты этой сети?
Кажется, что все замечательно: мы фактически заменили физическую работу неким виртуальным ресурсом. Но не кроется ли именно в этом проблема?

Критика Proof of Stake

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

А теперь представьте, что для какого-то момента Х в прошлом окажется, что 50% (или больше) всех монет лежали на ключах, купленных сейчас атакующим. Для простоты можно считать, что момент X – это время сразу после создания второго блока, и некто купил ключи обоих блоков, т.е. вернись он в прошлое – обладал бы 100% всей денежной массы.

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

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

С такой конкретной атакой, конечно, можно бороться. PeerCoin, например, использует практику регулярных чекпоинтов: блоков, подписанных ключом разработчика, «глубже» которых запрещено перестроение блокчейна. Но это частное решение, которое не избавляет от более общей проблемы – Nothing on stake.

Проблема заключается в том, что майнинг – голосование – ничего не стоит, не требует никаких физических затрат. Если, например, в какой-то момент появятся два блока на одной высоте (форк цепочки), то можно одновременно майнить обе версии цепочки. С PoW такое невозможно в принципе по очевидным причинам: каждый проверенный хэш цепочки А – это непроверенный хэш цепочки Б. PoS же позволяет вам производить перебор во всех «параллельных мирах» сразу, причем на любой высоте (т.е. в том числе и в прошлом).

В PoS вам гораздо легче осуществить атаку double-spend. Достаточно всегда майнить две версии следующего блока: один с транзакцией, переводящей ваши деньги продавцу (который не ждет N подтверждений), а другой – с переводящей их вам. Если случится так, что вы найдете оба блока, то первый вы отправляете продавцу (и получаете свой товар), а второй – всем остальным. С большой вероятностью продолжена будет вторая версия цепочки, и деньги вернутся к вам.

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

Если вам интересна эта проблема, то подробности можно найти

Proof-of-Work и Proof-of-Stake – это алгоритмы консенсуса, которые используются для проверки новых блоков сети, а также добавления транзакций в них. Соответственно, принцип работы этих систем непосредственно касается майнеров, которые в режиме 24/7 расшифровывают блоки. В чем же заключается разница между двумя алгоритмами и какой из них является более выгодным с точки зрения майнинга? Рассмотрим их принципы работы, а также составим сравнительную характеристику.

Proof-of-Work: принцип работы

Пруф-оф-ворк (Proof-of-Work), или PoW, как его называют сокращенно, с английского переводится как «доказательство работы». Собственно в названии самого алгоритма и заложен принцип его работы. Он дает возможность сети проверить, что майнер фактически выполнил всю работу по вычислению функции SHA-256 или Scrypt, заложенные в основу криптовалют.

Суть PoW состоит в следующем:

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

Если говорить об алгоритме пруф-оф-ворк, конкретно в контексте криптовалют, то он позволяет нодам (узнать, что такое ноды и как они работают можно в ), проверять работу майнеров, а также достоверность их вычислений.

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

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

Proof-of-Stake: принцип работы

До 2012 года PoW являлся единственным алгоритмом, задействованным в криптовалютах, но на горизонте появился конкурент. Им стал алгоритм Пруф-оф-стейк (Proof-of-Stake), или PoS, что в переводе с английского означает «проверка доли». По структуре своей работы он принципиально отличается от «доказательства доли». Если в первом алгоритме для повышения приоритета в сети использовались вычислительные мощности, то в случае с PoS – главную роль играет количество монет в кошельке.

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

Proof-of-Work и Proof-of-Stake: на чьей стороне сообщество?

Алгоритмы Proof-of-Work и Proof-of-Stake (или Пруф-оф-ворк и Пруф-оф-стейк) уже давно стали почвой для серьезных споров между майнерами. Одни утверждают, что доказательство работы более справедливо, другие, что доказательство доли. Какого-либо однозначного ответа дать нельзя.

Кроме того, сегодня довольно часто используется гибридный вариант, объединяющий оба алгоритма. Когда осуществляется эмиссия монеты, сеть работает на Proof-of-Work, а когда эмиссия закончена – на Proof-of-Stake. Это вполне логично. Ведь активное участие на этапе проверки работы позволяет накопить достаточное количество монет для того, чтобы «органично» вклиниться в новый этап проверки долей.

Несмотря на новизну и ярые обсуждения системы PoS, большинство крупных криптовалют не готовы отказаться от алгоритма Proof-of-Work. Возможно, в будущем это и произойдет, но сейчас этого не наблюдается. Proof-of-Work и Proof-of-Stake остаются конкурентами.

Большинство современных криптовалют, включая Bitcoin и Ethereum, использует алгоритм Proof-of-Work для построения цепочки блоков. Вкратце, процесс PoW можно описать так: майнеры затрачивают вычислительные мощности и электроэнергию, подбирая правильную хеш-сумму, которая означает действительную подпись блока транзакций. Рассчитать обычный хеш для блока не составляет труда, но для защиты цепочки блоков от атаки злоумышленников вид хеш-суммы намеренно усложнён, например её первые четыре цифры обязаны быть нулями. В этом случае, если злоумышленник захочет изменить транзакции внутри блокчейна, ему понадобится затратить время для расчёта правильной хеш-суммы. Но т. к. в блокчейне каждый последующий блок связан с предыдущим, пересчитать хеши придётся по всей цепочке. Это делает блокчейн устойчивым к взлому, а майнерам выплачивается вознаграждение за криптографические расчёты. Более подробно процесс описывается в этом видео:

Однако, некоторые криптовалюты (Peercoin, Novacoin, Bitshares и др.) решили отказаться от концепции Proof-of-Work.

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

(Чарльз Хоскинсон изданию Bitcoin Magazine)

Переход Ethereum на Proof-of-Stake был анонсирован предположительно на конец 2017 года. В планах Ethereum всегда присутствовал переход на модель PoS при помощи ещё не завершённого протокола Casper . Впрочем, решение не окончательное: в дискуссии на Reddit, Виталик Бутерин определил вероятность реализации Casper в 2017 году как больше 50%, но меньше 80%. Но почему разработчики Эфириума колеблятся? Если PoW доказал свою эффективность от атак на примере Bitcoin, то c PoS вскрывается множество проблем с безопасностью.

И, наконец, Etherium Classic не планирует переходить в ближайшее время на PoS:

В сообществе ETC по большей части достигло согласия в том, что нам не следует спешить с переходом на непроверенный и потенциально опасный PoS. Наша команда разработчиков сейчас работает над ‘выпиливанием’ печально известной ‘бомбы сложности’, которая должна принудить к переходу на PoS посредством хард-форка. Как минимум, мы должны дождаться и посмотреть (в течение длительного периода) как произойдет такой переход в ETH, оставив им сомнительную честь тестирования непроверенной концепции на живой системе с капитализацией под миллиард долларов. Это даст нам больше времени и данных, чтобы принять решение относительно долгосрочного механизма ETC консенсуса: остаться ли нам на PoW, перейти на PoS, или на гибридную PoW/PoS схему, которая более теоретически обоснована, чем чистый PoS.