Консенсус TokenGo
Алгоритм консенсуса.
Для того, чтобы любое сообщество любого масштаба смогло прийти к согласованному однозначному мнению по какому-либо вопросу, необходим некий алгоритм консенсуса. Если взять современное общество, то можно найти немало примеров алгоритмов консенсуса, которые применяются, например, для определения принадлежности чего-либо кому-либо. Также примером алгоритма консенсуса, через который население страны согласилось выполнять правила, обозначенные в Конституции, может служить любое Правительство, которое, среди прочего, организует коллегию присяжных и судей для оценки доказательств и вынесения решений. Чаще всего такие решения выполняются, даже если они не верны.
Современные алгоритмы достижения консенсуса, применяемые в криптосистемах, являются более развитыми и сложными одновременно. Неограниченная по числу пользователей ПК сеть может приходить к недвусмысленному решению по самым разным поводам, проблемам и вопросам, минуя такие распространенные риски как создание альтернативного мнения (и, как следствие, альтернативного Блокчейна), закрытие всей сети или цензуры мнения отдельных её участников. Два протокола, которые чаще всего используются этими алгоритмами, а также обеспечивают надёжность функционирования и устойчивость к цензуре, являются протоколы PoW (Proof of Work/Доказательство работой) и PoS (Proof of Stake/Доказательство владением).
Известными проблемами Блокчейна Bitcoin, работающего на протоколе PoW, при котором безопасность сети гарантируется вычислительной мощностью устройств участников, а вероятность сгенерировать очередной блок у отдельного майнера прямо пропорциональна его вычислительной мощности, являются огромные энергетические затраты и относительно небольшая скорость подтверждения транзакции, что при постоянном увеличении объемов существенно тормозит работу. всей сети
Это стало одной из причин поиска более эффективного и современного алгоритма, дающего ещё больше децентрализации, и при этом обеспечивающего надёжную быструю сеть подтверждаемых транзакций в режиме реального времени.
Блокчейн-инженер по имени Даниэль Лаример понял, что блокчейн-система Bitcoin слишком медленна, а майнинг криптовалюты в этой системе крайне расточителен в плане затрат электроэнергии. Он заявил, что добыча Bitcoin в будущем станет централизованной, а гигантские майнинговые пулы будут контролировать Bitcoin. Даниэль захотел построить свою блокчейн-систему, которая могла бы достигнуть увеличения скорости подтверждения транзакций до показателей, превышающих 100 000 подтверждений в секунду. Он придумал и разработал новый алгоритм, который использует меньше энергии, является быстрым, а также полностью безопасным, и назвал его (Delegated Proof of Stake/Делегированное доказательство владением), или DPoS.
По нашим подсчётам, применение DPoS в Bitcoin позволило бы достичь большей децентрализации менее чем за 10% от текущей стоимости. Результатом стало бы не только снижение инфляции и более стремительное увеличение цен на Bitcoin, но и сокращение временных затрат на надёжное подтверждение сделки от 1 часа (6 подтверждений по 10 минут) до 10 секунд.
При этом, анализируя другие проекты на Блокчейне, мы также выявили ряд недочётов альтернативного протокола, так называемого PoS, при котором у майнера тем больше вероятность сгенерировать новый блок в общую цепь, чем большим количеством токенов он владеет. Например, BlackCoin и Peercoin дают возможность всем желающим стать верификаторами и получать доход, благодаря владению криптоактивом. Приведём пример того, как это может происходить в подобных проектах под управлением PoS: если на Вашем кошельке есть, скажем, один процент от общего количества произведённых Сообществом монет, то Вы можете получить право на верификацию одного процента от всех сгенерированных блоков и получение вознаграждения за это только потому, что держите у себя в кошельке эту криптовалюту. Однако, во-первых, это приводит к непомерно высокой плате за транзакцию, а во-вторых, не позволяет получать доход тем участникам, которые владеют менее, чем одним процентом токенов, если стоимость транзакционной платы в их системах не выше, чем в системе под управлением алгоритма DPoS.
Также проанализируем масшабируемость блокчейн-систем под управлением алогоритма PoS и сравним её возможности с DPoS. Если предположить, что наличие ста и более делегатов DPoS приведёт к излишней централизации и попробовать увеличить в системе с PoS число верификаторов, например до тысячи, то их транзакционные выплаты превысят аналогичные в системе DPoS в 10 раз! А если блокчейн под управлением алгоритма PoS вырастет до размеров Bitcoin (с капитализацией в 130 млрд. долларов), то станет очевидным тот факт, что участники, обладающие активами более 1 млн. долларов будут несправедливо получать весь основной доход. Если же уменьшить порог владения, необходимый для участия в качестве верификатора, к примеру, до 1000 долларов, то доход последних будет в десять тысяч раз выше, чем в системах использующих алгоритм DPoS.
Алгоритм консенсуса, построенный на протоколе DPoS, сочетает в себе элементы PoW и PoS, однако, основным его отличием является наличие механизма голосования в реальном времени с учётом уровня собственной репутации или «Силы голоса» участника. Этот механизм позволяет избирать определённый круг лиц, наделённых особыми полномочиями — делегатов. Каждый участник может быть стороной избирательного процесса путём голосования за делегатов или став кандидатом. Делегаты, после избрания, наделяются полномочиями создания и верификации блоков для включения их в Блокчейн. Кроме этого они обязаны противостоять вторжению случайных лиц в данный процесс. К работе доверенные лица допускаются по очереди или в случайном порядке, который изменяется каждый новый раунд. В случае обнаружения некорректного поведения, делегат публично разоблачается и исключается из процесса.
Мы считаем DPoS наиболее эффективным методом Минтинга. Он предоставляет больше децентрализации, а делегированное доказательство владения обеспечивает ещё более надёжный механизм подтверждения транзакций в сетях, реализующих эту технологию, поэтому DPoS была выбрана нами в качестве основы для своих разработок.
Консенсус TokenGo.
Консенсус TokenGo использует адаптированный модифицированный алгоритм DPoP — Delegated Proof of Power, в котором за основу взят гибридный алгоритм DPoS/Pow. Одна из его особенностей — это использование специально выделенного токена GoPower, который является базой для определения приоритета Минтинга и «Силы голоса» при избрании делегатов. При производстве блоков консенсус DPоP предлагает одновременно использовать зависимость от мощностных возможностей оборудования и веса долевого владения токенами GoPower.
Механизм консенсуса, лежащий в основе большинства решений, построенных на технологии распределённых баз данных, в блокчейн платформе «TokenGo» состоит из самостоятельных p2p узлов, объединённых в общую сеть. Транзакции, проходящие через блокчейн, видны каждому из p2p узлов, которые записывают и сразу же проверяют полученную информацию, исключая потерянные, незаконченные или дублированные цепочки. В определённое время происходит группировка записанных данных, их хеширование, а также обеспечивается связь с предыдущим блоком. После этого в блокчейн добавляется новый блок. Под контролем DPoP алгоритма происходит внесение каждого нового блока в распределённый реестр блокчейна.
В блокчейн-сети TokenGo производство блоков осуществляется раундами, а сам процесс их создания называется Минтингом. Майнеры/делегаты, занятые в построении блоков в данном документе будут обозначены как Делегаты. Делегаты отвечают за два отдельных, но при этом логически взаимосвязанных процесса — создание блока транзакций и верификация полученного блока в основную цепь с помощью электронной подписи.
Каждый раунд предполагает участие 101-го Делегата, избранных через встроенную в платформу «TokenGo» систему голосования, так называемый ТОП Делегатов. В целях обеспечения мотивационной конкуренции, приоритет выбора и вероятность попадания в ТОП напрямую зависят от Силы голоса претендентов и избирателей.
Чтобы стать претендентом и подать заявку на участие в голосовании, необходимо пройти процедуру регистрации Делегата. Делегатом может стать любой участник, владеющий 100 и более GoPower. Сообщество «TokenGo» может прийти к совместному решению, при котором общее число избираемых на раунд Делегатов будет увеличено за счёт создаваемого резерва Делегатов, для обеспечения большей скорости и децентрализации.
В каждом раунде среди Делегатов, избранных в ТОП, вторично выбираются два Делегата, выступающие в качестве майнеров. Первый из них выбирается по алгоритму протокола DPoP, а второй — методом случайного выбора. Задача майнеров состоит в производстве блоков и выстраивании текущих транзакций, в свою очередь, специально избранный Делегат данного раунда подписывает их и включает в общую сеть блокчейна.
При выборе одного из классических протоколов PoW создание и верификация блока в общую сеть занимает непрогнозируемое количество времени. В TokenGo, использующем, как отмечалось выше, алгоритм консенсуса DPoP, каждый раунд длится ровно 10 секунд, при этом гарантируется целостность и надежность полученных блоков, с ничтожной вероятностью производства форков.
Таким образом, обозначим три основополагающих факта в пользу алгоритма достижения консенсуса DPoP:
Первый — невероятно высокая скорость проведения транзакций в сети, достигаемая возможностью Делегатов без ожидания проверки половины всех нод сети включать подходящие транзакции в построение блока, переданного на вход.
Второй — демократия. Любой пользователь сообщества, у которого есть хотя бы 1 GoPower, имеет свою Силу голоса и может принимать участие в управлении пропорционально имеющемуся у него количеству токенов.
Третий — высокая степень управляемости. Имеются механизмы, позволяющие приходить к консенсусу по всем вопросам о развитии и будущем сети.
EN ветка TokenGo на bitcointalk