:RU: Поведение при расщеплении пула и свойства равновесия в схеме вознаграждений Cardano

Перевод статьи Pool Splitting Behaviour and Equilibrium Properties in Cardano’s Rewards Scheme – Blockchain Technology Lab Blog

image

С момента внедрения блокчейн систем более десяти лет назад группы и отдельные лица как из академических кругов, так и из коммерческих стремились усовершенствовать базовые протоколы, улучшая их масштабируемость, стабильность или свойства децентрализации, и это лишь перечислено несколько. В этой статье в блоге мы сосредоточимся на аспекте децентрализации и, в частности, на ее зависимости от системных стимулов. Мы рассмотрим ситуацию с Cardano, блокчейном, основанным на работе консенсуса с доказательством ставки (PoS), дизайн которого основывался на подходе, основанном на первопринципах, и базировался на исследованиях, проведенных совместно с нашей лабораторией.

Сначала мы кратко объясним, как распределяется вознаграждение в Cardano, а затем рассмотрим несколько вопросов, возникающих в этой схеме вознаграждений. Например, каким образом планируется, что держатели токенов будут взаимодействовать с протоколом? Приближается ли система к равновесию, т.е. к состоянию, в котором держатели токенов определились со своими “стратегиями” и не имеют стимула отклоняться от них? Если да, то сколько пулов существует в этой стабильной конфигурации системы и сколько независимых держателей токенов стоят за этими пулами? Другими словами, насколько децентрализована равновесная система?

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

Вознаграждение в Cardano

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

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

Игнорируя различия, вносимые выполнением базового консенсусного протокола, объем вознаграждений, которые получает хорошо работающий пул, зависит как от его общего размера (стейка), так и от его пледжа. Как показано на приведенной ниже диаграмме, если два пула имеют одинаковый пледж, то тот, у которого более высокий общий стейк, получает более высокое вознаграждение (R2 > R1); если два пула имеют одинаковый общий размер стейка, то преимущество имеет тот, у которого самый высокий пледж (R3 > R2); однако, если размер пула превышает указанную точку насыщения, то вознаграждения, которые он получает, равны вознаграждениям пула с таким же пледжем, когда его размер точно соответствует точке насыщения, т.е. он не получает дополнительных вознаграждений за любой стейк, превышающий насыщение (R5 = R4).

image

Обратите внимание, что если бы вознаграждение не было ограничено порогом насыщения, то у пула был бы стимул увеличивать свой стейк до неопределенного уровня, и, поскольку владельцы ресурсов естественным образом распределяют свои ресурсы между пулами, которые получают наибольшее вознаграждение, в системе могло бы оказаться всего несколько “мега-пулов” — или даже всего один — с чрезмерным рычагом воздействия и, следовательно, практически без достижения децентрализации. Негативным побочным эффектом ограничения является то, что это может создать стимул для некоторых операторов запускать несколько пулов. Это то, что призвана уравновесить стимулирующая часть механизма: предоставление более высокого вознаграждения пулам с более высоким пледжем призвано побудить операторов концентрировать свой стейк в одном пуле, а не разделять его на несколько пулов (что также может проявляться как атака Сивиллы против системы). Использование определенного ограничения и степень влияния размера пледжа пула на его вознаграждение, зависят от параметров протокола, соответственно параметра k, который представляет желаемое количество пулов в системе, и параметра a0 (мы подробнее обсудим влияние этих параметров позже в посте).

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

Из приведенного выше описания мы понимаем, что пул может быть менее или более привлекательным для делегатов в зависимости от удержаний, которые проводятся в качестве вознаграждения пула перед распределением среди делегатов (в соответствии с эксплуатационными расходами пула и маржой прибыли, выбранной оператором). Например, приведенные выше диаграммы показывают, что Пул A и Пул B получают равные вознаграждения от протокола (1000 ADA), но разные суммы в конечном итоге распределяются между делегатами каждого пула (970 в случае Пула A и 920 в случае Пула B); это связано с тем, что пул A имеет более низкие эксплуатационные расходы (20 против 30) и маржу прибыли (1% против 5%), чем пул B. Поэтому делегатам необходимо обратить внимание на параметры различных пулов, прежде чем сделать свой выбор, чтобы максимизировать свою прибыль.

Симуляция

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

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

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

Итак, как агенты выбирают свои стратегии в моделировании? Прежде всего, под “стратегией” мы подразумеваем то, что агент делает со своей долей, поэтому возможные стратегии заключаются в следующем:

А) Управлять пулом с с установленной маржой прибыли и использовать свою долю в качестве пледжа

Б) Делегировать свою долю одному или нескольким пулам

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

При рассмотрении вопроса о том, какому пулу делегировать свои токены, держатель токенов изучает различные активные пулы в системе и оценивает, какой пул, вероятно, принесет ему наибольшее вознаграждение. С точки зрения делегата, пул более привлекателен, когда он позволяет распределять более высокую долю вознаграждений между его участниками. Возвращаясь к примеру, который мы рассмотрели ранее, где Пул A распределяет вознаграждение в размере 970 из 1000 среди своих участников, а Пул B - 920 из 1000, очевидно, что потенциальный делегат предпочел бы Пул A Пулу B, поскольку таким образом он получит часть большей доли (1).

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

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

Мы проводим несколько экспериментов с использованием моделирования, чтобы понять, как держатели токенов ведут себя в различных условиях и как развивается система в целом. Во многих из этих экспериментов мы используем распределение Парето для выборки размера долей, с которых начинают агенты, что является стандартной методологией моделирования распределения богатства. Мы устанавливаем общее вознаграждение, доступное в системе, равным 1, а для затрат агентов мы используем равномерное распределение в диапазоне [10-5, 10-4], что означает, что средняя стоимость эксплуатации одного пула составляет 5/100 000 от общего вознаграждения (3).

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

(2) Обратите внимание, что в этом примере Пул A более желателен, чем Пул B, даже несмотря на то, что оператор Пула A получает в целом большее вознаграждение. Это связано с тем, что более высокая доля, которую оператор получает от своего делегирования, не влияет отрицательно на долю других делегатов (это означает только, что для делегирования остается меньше места до насыщения), поэтому в этом аспекте для делегатов это не имеет значения.

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

Эволюция системы – Расщепление пула

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

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

Следовательно, важной частью работы, которую мы здесь представляем, была интеграция стратегий с несколькими пулами в среду моделирования, чтобы мы могли изучить формирование и влияние поведения при расщеплении пула. Сделав это, мы запускаем моделирование и наблюдаем за результатами, начиная со следующего графика, который показывает количество активных пулов в системе в течение нескольких раундов, пока не будет достигнуто равновесие. Обратите внимание, что для экспериментов в этом разделе мы использовали n=1000 держателей токенов в системе и низкое k=10 для количества желаемых пулов – в первую очередь в целях иллюстрации, – но последующие разделы также охватывают более крупные эксперименты.

image

Из приведенного выше графика мы видим, что система действительно сходится к k уровню пулов, в соответствии с предыдущими экспериментами и несмотря на расщепление пула. Кроме того, мы наблюдаем, что на первых этапах моделирования наблюдается всплеск создания пулов, поскольку агенты “испытывают свою удачу”, но в итоге остается всего несколько пулов. Однако приведенный выше график не показывает двух важных вещей. Во-первых, равномерно ли распределен стейк системы между пулами или меньшинство пулов контролирует большую часть стейка? Во-вторых, принадлежат ли эти k пулов независимым агентам или есть агенты, которым удалось контролировать несколько пулов вплоть до равновесия? Чтобы ответить на эти вопросы, мы построим другой график, который показывает для каждого раунда, какой именно стейк распределяется между держателями токенов через пулы, которыми они владеют.

image

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

Ранее мы говорили о стимуле внесенного пледжа в Cardano в том смысле, что чем большую долю оператор пула вносит в свой пул, тем большее вознаграждение получит пул. Но насколько большее? Это зависит от параметра протокола a0 (чем выше значение a0, тем выше влияние пледжа на размер общего вознаграждения пула). В предыдущем примере мы использовали a0 = 0.3, это то значение, которое в настоящее время имеет параметр в протоколе Cardano. Похоже, что для условий, которые мы смоделировали выше, этого значения достаточно, чтобы предотвратить расщепление пула. Однако что произойдет, когда мы используем гораздо меньшее значение для этого параметра? В этом случае уменьшение размера пледжа пула может не снизить его вознаграждение в достаточной степени, чтобы обеспечить противодействие расщеплению пула. Используя a0 = 0,003, мы получаем результаты, которые проиллюстрированы на приведенном ниже графике.

image

Число пулов снова стабилизируется до 10, демонстрируя способность механизма индуцировать конвергенцию до k пулов. Однако, отслеживая распределение стейка в каждом индивидуальном субъекте, мы наблюдаем совсем иную историю, чем в прошлый раз. Теперь есть агенты, которые пытаются разделить свой стейк и управлять несколькими пулами на протяжении всего процесса моделирования. Не все из них успешны, но в итоге один оператор остается ответственным за половину активных пулов (и половину активного стейка), что не является желательным результатом.

image

Измерение децентрализации: коэффициент Накамото

Мы увидели, что значение параметра a0 механизма вознаграждения может оказать огромное влияние на поведение агентов и конечную структуру пулов в системе. В связи с этим возникает вопрос: что произойдет, если мы изменим другой параметр, связанный с вознаграждениями, количество желаемых пулов k? Как мы можем найти комбинацию значений для этих параметров, которая способствует децентрализации? Чтобы получить представление об условиях, необходимых для достижения благоприятного результата, нам сначала нужно найти краткий способ представить выполнение моделирования на основе его возможной степени децентрализации, а затем провести многочисленные эксперименты с различными комбинациями параметров.

Популярным показателем, который был предложен для количественной оценки расплывчатой концепции децентрализации, является коэффициент Накамото. Коэффициент Накамото представляет минимальное количество независимых субъектов, которые коллективно контролируют более 50% ресурсов сети (и, следовательно, могут запустить 51%-ную атаку на систему и нарушить транзакции, если они вступили в сговор). В контексте консенсуса с доказательством ставки PoS это означает контроль над большей частью активного стейка. В наших элементарных примерах с выше, чем k=10, коэффициент Накамото был бы равен 6 в случае более высокого a0 и 2 в случае более низкого.

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

image

Мы наблюдаем, что очень низкого a0 недостаточно для предотвращения расщепления пула, что приводит к неприемлемо низкому коэффициенту Накамото, когда только несколько независимых операторов (или даже только один в некоторых случаях) контролируют большую часть доли через свои многочисленные пулы. С определенного момента (0,1 в случае этого эксперимента) a0 становится эффективным, и мы видим, как коэффициент Накамото подскакивает до хорошего диапазона значений. Любое значение выше порога, при котором происходит фазовый переход, теоретически является хорошим значением для a0, однако, прежде чем делать такой выбор, следует рассмотреть две вещи.

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

Аналогично для параметра k мы видим, что более высокое значение обычно приводит к более высокому коэффициенту Накамото в наших экспериментах, но есть пара вещей, которые нужно отметить в этих наблюдениях. Во-первых, мы можем видеть, что когда a0 низкий (0,001 и 0,01 в наших экспериментах), то k оказывает лишь незначительное влияние, если таковое и имеется, поскольку он не может помочь контролировать поведение при расщеплении пула. Для приемлемого значения a0, такого как 0,1 или больше, увеличение k действительно приводит к существенному увеличению коэффициента Накамото, подтверждая, что изменение k может помочь ускорить децентрализацию системы.

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

Еще одно возражение, которое можно сделать, посмотрев на тепловую карту выше, заключается в том, что несмотря на то, что более высокие значения a0 приводят к высоким значениям коэффициента Накамото, эти значения не достигают “идеального” коэффициента Накамото, который ожидалось бы получить, если бы система стремилась к k независимо принадлежащим пулам с равным стейком. В этом идеальном сценарии коэффициент Накамото равен k/2+1, как это было в нашем первом элементарном примере с k=10. Однако в более серьезных экспериментах мы видим, что коэффициент Накамото всегда немного ниже идеального – расхождение, которое только увеличивается по мере роста k. Например, для k=100 мы получаем 47 вместо идеального 51, а для k = 200 мы получаем 88 вместо 101.

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

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

image

Еще раз установлено, что низкие значения a0 не создают достаточных препятствий для расщепления пула, позволяя всего нескольким операторам получить контроль над большей частью сейка в системе. Однако на этот раз мы наблюдаем, что при более высоких значениях a0 мы получаем “идеальный” коэффициент Накамото, предполагая, что механизм работал именно так, как и предполагалось, и в каждом из этих 15 запусков моделирования было сформировано k пулов с равными стейками. Это также служит напоминанием о том, что все результаты, которые мы здесь обсуждаем, зависят от распределения держателей токенов, которое мы вводим в моделирование, и распределение Парето, которое мы использовали до сих пор, может не отражать процесса распределения в реальном мире, где в контексте процесса делегирования могут проявляться более сложные шаблоны (например, когда многие тысячи пользователей участвуют и даже объединяются в группы оффчейн или заимствуют токены для стейка для запуска пулов). Тем не менее, приведенные выше эксперименты по-прежнему дают хорошее представление об эффективности рассматриваемой схемы вознаграждения (обратите внимание, что цифры, представленные на приведенных выше тепловых картах, являются средними значениями по ряду запусков моделирования с этими настройками параметров для различных случайных начальных значений).

Чтобы оценить сложность развертывания в реальном мире, мы проводим два дополнительных эксперимента.

Во-первых, мы увеличиваем число держателей токенов с 1000 до 10 000 и показываем, как коэффициент Накамото реагирует на более широкий диапазон значений a0 и на более высокие значения k. Примечательным результатом здесь является то, что в некоторых случаях (вероятно, когда значение a0 находится на границе эффективности) мы можем наблюдать “верхнюю границу” для параметра k, который мы обсуждали ранее, после чего коэффициент Накамото резко падает (в таблице ниже обратите внимание на строку, соответствующую a0 = 0,215).

image

Во-вторых, мы проводим эксперимент со специально разработанным первоначальным распределением держателей токенов, которое отражает основные особенности существующего в настоящее время распределения держателей токенов Cardano. В частности, мы разрабатываем искусственное распределение стейков, направленное на эмуляцию текущего распределения держателей токенов Cardano, используя комбинацию точек реальных данных (взятых из ADApools и PoolTool) и искусственных точек, которые мы извлекаем из распределения Парето. Обратите внимание, что мы отмечаем около 1/4 от общего стейка в системе как неактивные, что означает, что он принадлежит агентам, которые воздерживаются от делегирования, и мы предоставляем точные значения стейков для ряда держателей токенов, которые были идентифицированы ADApools как криптовалютные биржи (например, Binance), конкретные организации (например, IOG или Emurgo) и сберегательные сервисы.

Мы используем n=10 000 агентов и a0=0,3 (это значение, используемое в настоящее время в Cardano), и мы сравниваем некоторые варианты для k, начиная со значения, используемого в настоящее время в системе (k = 500), и переходя к тому, которое было предложено для обновления (k=1000). Как и ожидалось, значения коэффициента Накамото больше отличаются от идеальных, но увеличение k по-прежнему помогает достичь более высокой степени децентрализации, как видно из приведенной ниже таблицы. Обратите внимание, что конечное количество пулов также было меньше, чем k в этих наблюдениях, что можно объяснить уменьшением активного стейка системы.

image

Ключевые выводы

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

Полученные нами результаты согласуются с теоретическими утверждениями, изложенными в документе, в котором представлена Схема Распределения Вознаграждений Cardano, и могут быть обобщены следующим образом:

  • В случае полного участия моделирование достигает равновесия с ~k пулами (что является желательным количеством пулов в соответствии со схемой вознаграждения), даже когда агентам разрешено управлять более чем одним пулом. Когда участие меньше, это влияет на количество пулов, находящихся в равновесии, в равной пропорции.
  • Успех держателей токенов в расщеплении пула сильно зависит от значения параметра a0 схемы вознаграждения. Соответствующая настройка a0 и k может привести систему к более децентрализованному состоянию, что измеряется ее коэффициентом Накамото.
  • Степень, в которой можно приблизить максимально возможное значение коэффициента Накамото, зависит также от первоначального распределения стейка между держателями токенов. Предполагается, что это распределение, в контексте нашего моделирования, включает в себя любой возможный обмен стейками и организацией между ними в ожидании процесса делегирования.

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

На последок отметим, что мы работаем над тем, чтобы сделать движок моделирования общедоступным; код и его внутренняя работа - это то, что будет описано в будущем сообщении в блоге.

// От переводчика: для получения дополнительных переведенных на русский язык статей о Cardano посетите русскоязычный раздел на форуме Cardano. Видеоролики о Cardano на русском можно найти на YouTube канале нашего замечательного амбасадора Тимура Сахабутдинова, а также на канале Чарльз Хоскинсон на русском. Хотите поговорить или задать вопрос о Cardano по-русски? Приглашаем вас в наше уютное сообщество в Telegram. Оставайтесь на связи, все только начинается!