Предложение по улучшению Fantom 1: Proof of Stake

EIP-1 Proof of Stake: https://github.com/Fantom-foundation/FIPs/blob/master/FIPS/fip-1.md

Вступление

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

Для защиты сети Fantom выбрал модель токена «Proof of Stake», заимствуя некоторые из лучших идей, по мнению команды.

В сети будет два типа узлов: узлы валидатора и прослушивания.

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

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

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

Для формирования модели Fantom’s Proof of Stake необходимо:

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

Основные характеристики для пользователей сети

Пользователи в сети смогут использовать свои токены двумя способами:

Размещение на основе транзакций. Любой участник сети, включая пользователя кошелька, может поставить процент токенов, чтобы получить процент от гарантированного объема транзакции в сети.
Оплата транзакций: как Ethereum или Bitcoin, пользователи смогут платить за транзакцию, которая будет подтверждена сетью.

Ставки на основе транзакций

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

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

У FTM есть максимум 3,175 миллиардов токенов, из которых более 30% доступны для вознаграждения за блоки при запуске сети. В течение некоторого времени фонд активно покупал FTM на рынке, чтобы увеличить вознаграждение за наш блок, по сути, исключив его из общего объема оборотных поставок.

Предсказуемые затраты на транзакции и хранение

Затраты по сделке будут выражаться через внутреннюю систему бухгалтерского учета, называемую Fantom Gas («FTG»).

FTG будет работать аналогично газу в сети Ethereum на уровне виртуальных машин. Будет определена стоимость, связанная с каждым кодом операции, выполняемым виртуальной машиной на основе регистра (стоимость будет указана в будущих технических документах. На данный момент Fantom будет следить за расходами на газ для виртуальной машины Ethereum (EVM), как указано в «Приложении G. Плата». «График» Эфириума «Желтая бумага», так как Fantom в настоящее время использует Golang и Rust реализации EVM). Отношения между FTM и FTG похожи на отношения между Wei и Gas в Ethereum:

FTM = FTG_price*FTG

Где:

FTM: Fantom Token

FTG: Fantom Gas

FTG_price: цена FTG в пересчете на FTM. Это будет обсуждаться дальше.

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

В связи с этим Fantom предлагает создать в сети машину специального назначения («SPV») со встроенным обменом на FTG. Пользователи смогут купить FTG, чтобы заплатить за вычисления заранее.

FTG представляет собой фиксированный объем вычислительной мощности.

FTG можно купить только через FTM, через внутреннюю биржу.

Для курса FTG / FTM будет внутренняя цена «оракул». Владельцы FTM будут голосовать по обменному курсу.

Будет создан резервный пул (SPV) (содержащий x количество FTM), чтобы обеспечить поддержание ликвидности.

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

Любой пользователь может купить FTG, используя FTM, используя действующий обменный курс. С точки зрения пользователя: FTM дебет, FTG кредит. Для SPV все ровно наоборот.

Пользователи также могут конвертировать FTG обратно в FTM через обмен, с 10% комиссией. С точки зрения пользователя: FTM кредит, FTG дебет. Противоположность будет верна для SPV.

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

Как оплачиваются сборы?

Если пользователь владеет FTG, он может его использовать для оплаты услуг TX.

  • Пользователь: FTG debit.
  • SPV: кредит FTG, дебет FTM.
  • Валидаторы: FTM кредит.

Если у пользователя нет FTG, FTM будет использоваться напрямую с преобладающей скоростью.

  • Пользователь: FTM debit.
  • SPV: FTM кредит.
  • Валидаторы: FTM кредит.

Однако есть несколько открытых вопросов для подтверждения. Разделение платы между SPV и валидаторами имеет решающее значение. Часть дохода SPV будет приходиться на комиссию за транзакции, а также на распространение пользователям, продающих FTG FTM. Но SPV должен будет гарантировать минимальный доход валидатора. Дополнительным риском является волатильность цены в цене FTM / FTG. Рассмотрим следующий сценарий:

  • Предположим, 1 FTM = 3 FTG.
  • Пользователь покупает 30 FTG за 10 FTM.
  • FTM падает с точки зрения FTG, и теперь 1 FTM = 1 FTG.
  • Пользователь продает 30 FTG обратно на биржу за 27 FTM (30 минус 10%)
  • Результат: чистый выигрыш 17 футов для пользователя, чистый убыток 17 футов для SPV

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

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

Органический рост емкости сети в соответствии со спросом

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

Стимулы для активных пользователей
Вес, придаваемый пользователям в системе, будет зависеть от двух факторов:

  1. Их доли в FTM и
  2. Показатель активности за последние 6 месяцев, причем более поздняя активность была более взвешенной.

Активность определяется на основе количества газа, потраченного с течением времени в транзакциях, представленных узлом в сеть. Будет минимальное количество газа, необходимого для каждого узла, чтобы получить награды. Это должно стимулировать узлы использовать сеть. Это называется доказательством важности, идея, которая была выражена на других платформах, таких как NEO.

Мы разработаем подходящую формулу, которая объединит эти два фактора.

Ключевые особенности для разработчиков

Ставки на Dapp

Одна из проблем текущей модели Ethereum Proof of Work заключается в том, что разработчики не заинтересованы в создании и запуске Dapps в сети. Вместо этого Ethereum использовался в основном для проведения Первоначальных предложений монет для финансирования проектов, конкурирующих с сетью.

В целях стимулирования роста и развития Dapps в Fantom. Мы предлагаем концепцию, которая называется Dapp-based Staking. Разработчик, который развертывает Dapp, может поставить в сеть определенное количество FTM, и пользователи смогут бесплатно использовать приложение в соответствии с правилами, установленными разработчиком.

Это будет особенность умных контрактов в сети Fantom, где разработчик может вносить платежи в FTM на контрактный счет, чтобы разрешить бесплатное использование приложения, если остались FTM. Контокоррентный счет имеет баланс FTG, сборы сначала снимаются с этого баланса, и только потом взимаются с пользователя. Таким образом, до тех пор, пока остаются деньги, dapp свободен. Если владелец уходит, пользователи могут по-прежнему финансировать сам договор.

Сетевые валидаторы

Количество валидаторов

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

Производительность узла определяется так:

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

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

Размещение токена

В модели с одним фрагментом валидатор должен поставить не менее 0,2% от общего объема поставки FTM (6 350 000 FTM) своих собственных токенов. Этот номер, а также многие другие параметры сети могут быть изменены при голосовании по цепочке. Они также изменятся, когда появится Sharding.

Вознаграждения за валидаторы (сборы)

В обмен на ставку FTM, подтверждение правильности блока и предложение блоков валидаторы будут вознаграждены двумя способами:

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

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

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

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

Сетевая безопасность

Штрафы: валидаторы получат значительное количество маркеров FTM, которые будут подвергаться риску в случае выявления вредоносного поведения. Штрафы необходимы в системе Proof of Stake, чтобы противодействовать вредоносному поведению и избежать проблемы «нет ставок», где, при отсутствии каких-либо штрафов, валидатор стимулирует делать ставки на каждом возможном форке сети.

В сети Fantom мы предлагаем три вида штрафов:

  1. Плата за демерредж: кошелек должен будет предоставить минимальное количество транзакций за определенный период времени или заплатить определенную комиссию. Это должно стимулировать сетевую активность. Плата выплачивается пропорционально валидаторам в сети.
  2. Проверка отклоненных блоков событий: Узлы должны будут делать ставки для каждого блока событий, с которого они хотят получить плату. Если блок событий в конечном итоге не подтверждается ⅔ от общего количества голосов сети, то ставка теряется и распределяется пропорционально другим узлам.
  3. Сокращение сети. Потенциально вредоносные узлы будут быстро устранены. Медленные узлы будут идентифицированы, а их рейтинг будет понижен, что сделает их менее вероятными для проверки.

Будущие разработки

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

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

Формула для расчета доходности по ставкам, которая в настоящее время представляет собой комбинацию сумм по ставкам и Подтверждения важности
Процент гарантированных транзакций в обмен на процент от ставки FTM
Процент гарантированных транзакций при ставке на Dapp
Блокировка награды
Минимальные требования к ставке для проверяющего узла
Минимальные требования к газу / транзакции для получения показателя подтверждения важности
Количественная оценка производительности узла
Максимальное количество проверяющих узлов до снижения производительности
Штрафы:
> Демерредж

> Сетевое Сокращение

Другие идеи, которые в настоящее время изучает Fantom

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

Несколько цепочек сети Fantom, использующих различные вариации модели “Proof of Stake”  с различными параметрами, подключенными через систему управления цифровыми правами (DRCM). Принимая во внимание то, что уровень поведения людей в сети может быть непредсказуемым, пользователи могут выбирать из множества цепочек, и лучшие из них будут выбраны с течением времени.
Решения для добычи транзакций: сами транзакции вознаграждаются. Следовательно, узлы стимулируются: а) создавать транзакции и б) проверять транзакции.
Оплата за хранение. Со временем в сети могут появиться данные, которые станут неиспользованными. Например, Dapps можно отказаться по разным причинам. На централизованных серверах, таких как AWS, разработчик должен продолжать оплачивать расходы на хранение на байт. Однако в таких сетях, как Биткойн или Эфириум, хранилище оплачивается один раз и хранится бесплатно на неограниченный срок. Это приводит к следующим проблемам:

> Сеть становится все более раздутой с неиспользованными данными.

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

Мы активно работаем над включением модели «на основе ренты» в сеть Fantom. Более подробную информацию можно прочитать здесь.