Proof-of-Activity в действии: версия Enecuum

Bloomchain представляет спецпроект, подготовленный совместно с компанией Enecuum. Антон Никоноров, СТО Enecuum, рассказал о различных протоколах подтверждения записей в блокчейне и будущем децентрализованных систем.

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

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

Сегодня технологические компании используют несколько типов протоколов подтверждения записей: Proof-of-Work, Proof-of-Stake, Proof-of-Activity, Proof-of-Space, Proof-of-Authority, а также гибридные алгоритмы консенсуса. Начнем с Proof-of-Work.

Принцип работы этого протокола был сформулирован в 1993 году преподавательницей Гарварда Синтией Дворк  и израильским ученым Мони Наором. Для идентификации участников интернет-коммуникации ученые предложили пользователям не только вводить пароль, но и решать математическую задачу. В 1999 американский исследователь Хэл Финни придумал выдавать за решение задач цифровые жетоны (токены), транзакции с которыми можно было вносить в особый реестр. Еще через десять лет этот вариант появился в системе bitcoin.

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

Физически угадать такое число сложно, поэтому его подбором занимаются компьютеры. Для решения подобных задач необходимы особые оптимизированные процессоры и специальное программное обеспечение. Тот, чей компьютер (или компьютеры) первым решил задачу, вписывает в реестр новый блок и получает 12,5 BTC.  

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

Proof-of-Stake и Proof-of-Activity: альтернативный вариант

В процессе борьбы с централизованным майнингом энтузиасты предложили протокол, который “справедливо” разделит заработанное между всеми владельцами узлов системы (master nodes) и пулом майнеров. При этом узел, вносящий информацию в блокчейн, будет определяться компьютером путем случайной выборки. На таком протоколе работает виртуальная валюта Dash, стоимость которой за год выросла на 400%. О возможном использовании Proof-of-Stake рассуждали владельцы Ethereum, однако в конечном счете отказались от этой идеи.

Proof-of-Activity: компромисс возможен?

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

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

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

Proof-of-Activity: альтернативный подход

Команда адаптивной децентрализованной платформы Enecuum предложила свой вариант с использованием протокола Proof of Activity (PoA), который применяется на практике впервые. Он дает возможность подтверждать транзакции практически с любого подключенного к сети устройства, что позволяет добиться максимально возможной степени распределенности системы и её высокой устойчивости к различным атакам.

EnecuumНа первом этапе добыча блока в системе Enecuum осуществляется по системе Proof-of-Work. Майнеры ищут нужное число для блоков различной величины, победитель заполняет блок транзакциями. Затем начинается вторая стадия процесса создания блока, на которой новый блок подписывают владельцы узлов сети. Каждый блок должны подписать 64 владельца, отобранные случайным образом. Enecuum гарантирует равномерное распределение участников по географическому, гендерному и возрастному признаку.

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

Создание блока состоит из трех этапов, каждый из которых соответствует одному из существующих протоколов. Комиссия за майнинг делится между всеми участниками: 70% получает первый майнер, 20% делятся между 64 “подписчиками” и еще 10% достаются проверяющему. Количество получаемых майнерами токенов растет при увеличении их баланса.

Непосредственное начисление токенов за добычу блока происходит в среднем 1 раз в день. Это сделано для защиты от получения контроля над большей частью вычислительных мощностей или взлома алгоритма майнинга.

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