Настройка Wi-Fi

Сравнение Proof-of-Work и Proof-of-Stake. Алгоритм Proof of Stake: особенности схемы работы в сравнении с Proof of Work

Сравнение Proof-of-Work и Proof-of-Stake. Алгоритм Proof of Stake: особенности схемы работы в сравнении с Proof of Work

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 остаются конкурентами.

Вовсе не обязательно покупать дорогостоящие видеокарты или ASIC, способные быстро выполнять вычисления хешей с минимальными затратами электроэнергии. Существует PoS-майнинг - другой вариант добычи монет, для которого вовсе не требуется дорогостоящего «железа». Для заработка нужно лишь иметь у себя в кошельке криптовалюту системы, поддерживающей PoS (Proof-of-Stake или «Подтверждение доли»). Заработок похож на инвестиции в банковский депозит - чем больше криптомонет хранится на счету, тем выше доход от майнинга.

Что такое PoS-майнинг

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

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

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

В этом случае вознаграждение при эмиссии начисляется держателям монет пропорционально их доле в общем количестве. Если владелец кошелька обладает 2% всей криптовалюты системы, то при выпуске новых монет он получит 2% из них.
Чтобы майнить PoS-криптовалюту достаточно быть участникам системы и хранить монеты без движения в своем кошельке. Можно не покупать биткоин, криптовалюты на «ПОС» позволяют зарабатывать с минимальными вложениями.

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

Как начать PoS майнинг

Чтобы начать зарабатывать криптовалюту ст PoS-алгоритмом, необходимо совсем немного.

  • Выбрать криптовалюту с поддержкой PoS (сюда входят некоторые системы на алгоритмах SHA256 и SCRYPT).
  • Создать кошелек, зарегистрировавшись на сайте системы.
  • Купить электронную валюту через биржу или сайт-обменник.
  • Установить программу-клиент на ПК или удаленный сервер.
  • Выждать сутки, пока система не будет сгенерировано достаточное количество блоков в системе.
  • Активировать кошелек.

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

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


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

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

Отличие от PoW

Системы с PoW-майнингом имеют существенные недостатки, которых лишен алгоритм PoS:

  • Бесполезные вычисления. Огромные вычислительные мощности, задействованные в решении криптографических задач, работают лишь ради самого «доказательства работы». В результате большое количество ресурсов (как энергии, так и видеокарт с АСИКами), расходуются впустую;
  • Постепенная централизация. Более 80% хешрейта приходится на китайских пользователей. Это теоретически способствует объединению майнеров для реализации атаки 51% с целью захвата всей эмиссии и проведения двойных платежей.

PoS-майнинг не требует постоянного вычисления хешей с пустым расходованием электроэнергии, а система защищена от атаки 51% за счет двух факторов:

  • сосредоточить 51% валюты в одних руках обойдется слишком дорого;
  • держатель большей части валюты в первую очередь пострадает при проведении атаки.

Преимущества этого способа заработка состоят в следующем:

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

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

Монеты для POS майнинга

Самыми популярными на текущий момент являются следующие монеты: LEOcoin, ReddCoin, ClubCoin и NovaCoin. Если вы не хотите рисковать, вкладываясь в развивающиеся проекты, то стоит попробовать PoS-майнинг этих криптовалют.

  • Создатели NovaCoin обещают доходность 100% годовых. Система имеет капитализацию более 8,5 миллиона долларов и торгуется на 8 биржах.
  • ClubCoin при доходности 20% торгуется всего на 2 биржах, зато в их число входит знаменитый Bittrex. Капитализация системы - свыше 43 миллиона долларов.
  • ReddCoin с низкой доходностью 5% годовых более интересна как вложение с перспективой роста. При капитализации более 41 миллиона долларов она продолжает расти. Торговля ею проводится на Bittrex и еще 7 биржах.
  • LEOcoin обеспечивает доходность 20% при владении более чем 50 тысячами монет. Торговля монетами идет на 5 биржах, а капитализация системы превышает 24 миллиона долларов.

Облачный PoS

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

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

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

Вкладчики также не остаются внакладе благодаря преимуществам, которые предоставляет сервис:

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

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

Хотите быть в курсе свежайших новостей и получать бесплатные инсайды? Подписывайтесь на наш ,

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

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

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

Proof of Stake является одним из двух самых распространенных алгоритмов консенсуса в криптовалютных системах. Он базируется на особом механизме доказательства выполненной работы.

Суть алгоритма Proof of Stake

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

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

Чем примечателен алгоритм Proof of Stake

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

Как работает Proof of Stake?

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

Синхронизация узлов системы, работающей на PoS , осуществляется посредством пиринговой сети Р2Р. Благодаря Proof of Stake обеспечивается реализация криптовалюты в условиях высокой безопасности и конфиденциальности во избежание хакерских атак и действий мошенников.

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

Работа сети Биткоин организована так, что для обеспечения эффективной безопасности требуются физически редкие ресурсы, представленные специализированным оборудованием и значительными энергоресурсами. Такие требования делают Bitcoin менее эффективным. PoS майнинг предоставляет реальные возможности пользователям получать вознаграждения от добычи блоков при задействовании доступных мощностей и других ресурсов. Особенности Proof of Stake заключаются в том, что вместо использования больших вычислительных мощностей для успешной добычи крипты пользователю достаточно иметь большую долю в самой системе, что гарантирует получение справедливого вознаграждения при вычислениях при вероятности, прямо пропорциональной размеру доли.

Если объяснять, что такое Proof of Stake , простыми словами, то определение принципа работы алгоритма можно дать следующим образом: чем большая у вас доля в системе, тем с большей вероятностью ваш майнинг будет успешен, что и влияет на доходность мероприятия. Это же касается и безопасности, поскольку Proof of Stake – это не только майнинг, но еще и сохранность активов. Если у вас в системе хранится приличное количество токенов, то вы первым будете заинтересованы в отсутствии вероятности вторжения хакеров с целью хищения ваших кровных. К тому же для возможности атаки мошенник должен стать владельцем внушительной доли, что влечет за собой очень большие расходы при популярности сети.

Чем PoS отличается от PoW?

Углубляясь в рассмотрение темы, что такое Proof of Stake (PoS) , нелишним будет провести его сравнительный анализ с конкурентом и еще одним лидером – алгоритмом Proof of Work . Криптовалюты, функционирующие на базе PoW, характеризуются двойным расходованием. При этом это расходование снижается при росте объемов совершенных операций в сети и находится в зависимости от вычислительных мощностей, которые имеются в распоряжении хакеров. Для максимального снижения рисков двойного расходования пользователи ожидают конкретного количества подтверждений операций, а также используют дополнительные механизмы защиты для снижения рисков.

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

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

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

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

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

«За» и «против» Proof of Stake

Применение алгоритма Proof of Stake предоставляет пользователю как преимущества, так и недостатки работы. Среди достоинств PoS необходимо отметить:

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

Недостатки Proof of Stake проявляются в следующем:

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

Из списка проблем также стоит выделить Nothing-at-Stake, или пустой стэйк, – она снижает видимую стабильность 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