Сравнение Proof-of-Work и Proof-of-Stake. Как работает PPCoin

05.04.2019

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

Древняя клинописная табличка для учёта. Когда кто-то должен мне несколько коз

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

В базах данных IOU, маржинальная стоимость добавления дополнительной строки равна нулю . После того, как я решил отразить первичные капиталовложения посредством «заострённой палочки и глиняной таблички» (или 1U сервера и копии MySQL), действительно выяснилось, что стоимость добавления дополнительной строки и отслеживания добавленных активов равна нулю. Причина, по которой мы используем такие инструменты учёта именно в том, что стоимость хранения записи намного меньше, чем цена отслеживаемого актива.

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

В чём отличие Биткойна? Дело в том, что здесь запись в базе данных является активом. Иными словами – это первый цифровой образец облигации. Это «распределённая база данных», разделённая на части, что позволяет ей быть носителем долговых обязательств. Централизованная база данных не может содержать облигации, так как их нельзя оттуда удалять.

Proof of Stake

В основе идеи «Proof of Stake» лежит замена «майнеров» на «дольщиков», «кузнецов» или «валидаторов» – лиц, которые держат монеты, и также как и в «Proof of Work », стремятся максимально увеличить свои доли. Мы будем называть их «валидаторы». Стратегия максимизации прибыли майнеров в Биткойне одновременно обеспечивает как консенсус, так и распределяет активы в виде монет. Биткойн объединяет эти две разные идеи идеи. Давайте разделим их и рассмотрим по отдельности.

Консенсус

Есть масса литературы, освещающая создание баз данных, отказоустойчивых по отношению к задаче византийских генералов (Byzantine Fault Tolerance , BFT) – самой продвинутой из них является BFT медоеда (Honey Badger BFT). Тема в индустрии давно забыта, потому что в принципе, никто не хочет делиться своей базой данных. Таким образом, индустрия в настоящее время предлагает только базы данных, которые толерантны к «не-византийским» отказам, таким как сбои узлов. Эта литература описывает верный способ обработки «византийских» отказов без экономического стимулирования.

Предположение, что стратегия увеличения прибыли может быть применена к монете, подразумевает, что в первую очередь эта монета сколько-то стоит. Но как мы уже говорили, маржинальная стоимость строки базы данных равна нулю, даже если она причудливо криптографически подписана. Максимизация прибыли базы данных, состоящей из набора строк с нулевой стоимостью, эффективно равна нулю. Это экономический способ описания проблемы «Nothing at Stake» (ничего на кону). Расчёт максимизации прибыли налицо – создание блоков с нулевой стоимостью и порождение форков ничего не стоит.

Тот факт, что создание форков ничего не стоит, привёл к тому, что в некоторых монетах были попытки помешать реорганизации цепи. Это либо приводило к запрету реорганизации цепи дальше определённой глубины (720 блоков в NXT), или же к введению «времени обязательства» (bonding time). То есть для того, чтобы стать валидатором, участник должен внести обеспечительный взнос — другими словами, обязательство — и этот взнос блокируется на определённый период времени (для ‘а Ethereum’а предлагается период в четыре месяца). Но это не решает фундаментальную проблему, а только говорит о том, насколько глубок должен быть форк атакующего. Давайте определим это как время форка доли F .

Понятие консенсуса в данном случае также основывается на закольцованной аргументации : у меня был консенсус энное количество (F) блоков назад, и я могу это использовать, чтобы принять решение о консенсусе в отношении определённого блока (F) +1. Этот аргумент является округлённым и логически некорректным. Злоумышленник может просто создать 10000 форков, отступив некоторое количество блоков назад. Удачи в поисках единственно корректного.

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

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

Я думаю, что это мнение основано на логике взаимозаменяемости, применимой к системе учета, не допускающей замены. То есть, монеты не могут быть вычтены из одного форка и добавлены к другому. Форки так не работают. Форк – это совершенно другая история, и монеты между ними принципиально не взаимозаменяемы. Поэтому и не представляется возможным «наказать» нападавших. Можно только создать продлённое окно для защищённых депозитов, и тогда мы снова возвращаемся к закольцованной аргументации.

Наконец, есть распространённый аргумент — «Значит ли что существующие монеты в «Proof of Stake» работают?». В действительности Peercoin, NXT, Bitshares и другие функционируют уже в течение многих лет. Тем не менее, есть очень серьезная, негативно стимулирующая проблема. Понятно, что можно стать валидатором, к примеру, на NXT и создать форк длиной 720 блоков. Но при этом я бы получил бы кучу $СкамКойнов, которые не смог бы продать. Правда, такой негативный стимул предохраняет эти монеты от уровня атак, присущх Биткойну. И к тому же, отсутствие доказательства не является доказательством отсутствия.

Распределение монет

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

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

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

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

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

Для того, чтобы продвинуть «Proof of Stake», Эфириум активизировал «бомбу сложности», которая увеливает сложность по экспоненте. Экстраполируя линейное увеличение скорости хэша в течение последних нескольких месяцев, этот экспоненциальный рост будет опережать темп роста сложности хэша естественным образом в течение первых нескольких месяцев 2018 года. После этого момента Эфириум потеряет свою привязку к реальному миру, но в то же время, создание новыех монет продолжится. С этого момента эфир превратится в инфляционную валюту.

Его якорь c реальным миром, если сравнить с тем, как это было изначально в «Proof-of-Work», нормализуется. Любой потенциальный валидатор сможет конкурировать с определённым пулом «Proof-of-Work», и такое валидаторство — игра с нулевой суммой. Поскольку существует ряд аккаунтов, не являющихся валидаторами, система распределения монет превратится в инфляционную передачу активов от «не-валидаторов» к валидаторам. Таким образом, «бомбу сложности» лучше назвать «инфляционной бомбой».

Для тех, кто ниасилил: Резюме

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

Кроме того, даже если бы «Proof of Stake» работал, с точки зрения реальной стоимости такая монета не имела бы устойчивого вознаграждения. Она бы имела нулевую стоимость и нулевое значение. Правильное применение технологии в этих случаях — это использование базы данных BFT и признание того факта, что представленные активы являются долговыми расписками.

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

Честно говоря, не встретил в комментариях чего-то близкого к практическим реализациям.
Сейчас есть две основные валюты, поддерживающие PoS: Novacoin и PeerCoin.

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

При старте валюты монеты сначала добывались только с помощью PoW, чтобы не было ситуации, когда у разработчика изначально есть деньги и он якобы их раздает, кому хочет. Первые монеты майнились, "по старинке" видеокартами. Когда первые монеты созрели до 30 дней, подключился уже PoS майнинг. Основная эмиссия и проведение транзакций идут через ПоС для энергоэффективности и, на мой взгляд (мнения разработчиков может отличаться), для того, чтобы монеты попадали не столько PoW майнерам, тут же сливающих монеты на биржах, а заинтересованным в развитии валюты PoS майнерам, хранящим свои деньги в Новакоине. на один PoW блок (обычный майнинг мощностями) приходится 3 блока PoS. Гибридный подход используется не только для выпуска первых монет, но и для повышения безопасности. Биткоин и другие PoW системы уязвимы к атаке 51% PoW: получивший контроль над большей частью мощностей может атаковать сеть даблспендом и т.д. Аналогичная ситуация и в чистой PoS системе: хоть это и выглядит несколько маловероятно, но если найдется в чистой системе ПоС лицо, получившее контроль над 51% деньгами всей валюты, то он теоретически так же может атаковать. Гибридная архитектура эти ситуации кардинально меняет: теоретически, чтобы атаковать сеть, надо одновременно и владеть мощностями и деньгами, что в устоявшейся валюте звучит невозможно. Кроме безопасности, огромным преимуществом является энергоэффективность такой валюты: большая часть транзакций проводится с помощью ПоС майнинга, не требующего трат на оборудование для майнинга и электроэнергию: достаточно обычного кошелька с монетами, работающего в фоне.
Саморегуляция Новакоина продумана так, что посмайнинг в устоявшейся валюте перестает быть средством обогащения богатых: сложность задирается, а если она растет, то награда за блок падает. Ограничения на награду сверху (сейчас 10 монет) создают выравнивающий фактор: 100 монет или 1000 на входе не сделают за раз больше 10 монет. В общем, система не так проста и глупа, как в описано в комментарии выше. При этом нет ситуации, как в биткоине, когда майнинг действительно выгоден только богатым производителям оборудования, владельцем пулов и хозяем датацентров майнерских, появляющихся в Китае и Швеции.

Дешевыми, быстрыми и даже экологически чистыми.

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

Но вместе с небывалыми перспективами он несет значительные угрозы.

Cодержание:

Для обычного пользователя купить или продать криптовалюту не составляет труда.

Все что необходимо – зарегистрироваться на бирже, или воспользоваться обменником.

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

Делают это они, конечно, не бесплатно и зарабатывают на комиссиях.

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

Один из них – Proof o Stake (доказательство доли владения).

В чем сыр бор

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

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

Блоки создаются постоянно, и вмещают информацию о .

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

Для это и нужны майнеры, которые добывают блоки.

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

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

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

Этот алгоритм называется Proof of Work (PoW ) – подтверждение выполненной работы.

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

При чем тут Proof of Stake

Все чаще в криптомире звучит идея отхода от Proof of Work и перехода к Proof of Stake .

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

Здесь, система автоматически выбирает создателя на основании доли его баланса в общем количестве той или иной монетки.

Чем больше баланс, тем выше вероятность того, что именно он сгенерирует блок.

При этом он будет расходовать ресурсы, которых по сути, не существует, что угрожает всей цепи.

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

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

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

Криптоплатформы второго поколения, такие как NXT, Ethereum, Bitshares, предлагают функционал, далеко уходящий за пределы финансовых транзакций. Этот функционал интегрирован ядро системы, а не надстроен поверх него. Второе поколение криптоплатформ подчеркивает главное в природе распределенной базы данных блокчейна. Основная идея в основе блокчейна - создать децентрализованную базу данных, работа которой не может быть нарушена каким-либо индивидуальным игроком рынка, и которая используется для хранения произвольных данных.

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

Децентрализованная база данных блокчейн

Давайте будем использовать конструктивный подход. Итак, нам нужна децентрализованная база данных, которая может быть доступна и модифицируема всеми участвующими в сети узлами. База данных должна быть согласованной (все узлы видят абсолютно одинаковую версию базы), доступной (узлы могут записывать данные в базу и читать их из нее в любой момент времени), и устойчивые к разделению (если один узел становится неработоспособным, это никак не отражает на базе данных). Однако, согласно теореме CAP, такая база данных не может существовать. Вы можете достичь двух из трех свойств, но не всех сразу. Мы не можем сочетать доступность или устойчивость к разделению, поэтому нам придется смириться с тем фактом, что разные узлы время от времени могут видеть разные версии блокчейна, обычно называемые форками.

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

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

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

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

Защита блокчейна

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

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

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

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

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

Proof-of-stake

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

Узлы отправляют друг другу блокчейн-токены (определенное значение, связанное с транзакционными входами и выходами), которое эффективно создает биткоин-баланс узла получателя (в действительности, база данных биткоина не содержит никаких балансов, вместо них содержатся транзакционные входы и выходы). Это дало человеку под ником Sunnyking, создателю криптовалюты Peercoin, идею использовать «стейк» (“stake”) — некоторое значение, заблокированное на транзакционных выходах, в качестве ресурса, который определяет, какой узел получает право на майнинг следующего блока. В подходе proof-of-stake узлы также пытаются хэшировать данные в поисках результата меньше определенного значения, но сложность в данном случае распределяется пропорционально и в соответствии с балансом данного узла. Иными словами - в соответствии с количеством монет (токенов) на вашем счету. Таким образом, узел с большим балансом имеет больше шансов сгенерировать следующий блок. И поскольку маловероятно, что конкретному узлу не так интересно иметь больший баланс, чем у остальной сети, эта схема выглядит достаточно привлекательной, прежде всего из-за небольших требований к вычислительным ресурсам, а также потому, что не возникает ситуации «выброшенных» компьютерных мощностей.

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

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

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

Проблема Nothing-at-Stake проявляет себя во всех векторах атак на PoS системы. Условно, атака может делиться две категории: ближние и дальние. В случае с ближними атаками происходит замена большинства последних блоков, при дальней атаке атакующий идет глубже, пытаясь заменить всю историю сети. Дойти он может вплоть до генезис-блока.

Ближние атаки

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

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

Классическая стратегия предотвращения ближних атак состоит в исключении вредоносных узлов. Преимущество PoS-системы перед PoW-системой – в её большей детерминированности. Как правило, шанс узла сгенерировать следующий блок в PoS-системе зависит от адреса узла, его баланса, текущей сложности и временной метки. Пространство поиска ограничено количеством секунд между смежными блоками (поскольку это единственный параметр, который изменяется). Таким образом, становится возможным предугадать следующий узел майнинга (или, как это принято называть в PoS – форжинга) и наложить на него санкции посредством отклонения его версии блокчейна. Именно так разработана NXT, одна из первых криптовалют второго поколения.

Другой подход заключается в том, чтобы обязать майнеров делать взнос в виде определенного количества сетевых токенов до начала работы. Когда узел видит, что майнер подписал своим общедоступным ключом два соревнующихся блока на двух соревнующихся блокчейнах, он сообщает об этом, и залог у майнера конфискуется. Именно такой подход будет использован в протоколе Ethereum, и пока что он не реализован ни в одной из криптовалют.

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

Дальние атаки

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

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

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

На что нам хотелось бы обратить внимание, это определенное сходство между система PoS- и PoW-системами в вопросах обеспечения безопасности. Оба подхода полагаются на добрую волю и порядочность разработчиков.

Многие POS-системы были форкнуты разработчиками, чтобы “отмотать” историю назад после успешных атак на блокчейн или даже просто обмен большого количества криптовалюты, происхождение которой вызывало вопросы.

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

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

Вероятно, большинство серьезных криптовалют не станут отказываться от PoW – менталитет Nothing-at-Stake крепко сидит в головах экспертов по криптовалютам. Однако PoS-системы всегда будут более легкими для имплементации и такими же надежными с точки зрения безопасности, как и PoW-системы.

Саша Иванов специально для ForkLog

Нашли ошибку в тексте? Выделите ее и нажмите CTRL+ENTER

Подписаться на новости Forklog