1. Цель документа
Nervos Network состоит из многочисленных протоколов и инноваций. Важно иметь четкую документацию и технические спецификации по разработке и реализации ключевых протоколов, для этого мы используем процесс RFC. Мы считаем, что это необходимо помочь сообществам понять, что мы пытаемся достичь, на что мы пошли и как мы пришли к текущему дизайну.
Мы начинаем этот документ с подробного изучения проблем, с которыми сегодня сталкиваются общедоступные блокчейны без разрешения, и существующих решений для устранения этой проблемы. Мы надеемся, что читатели смогут найти здесь всю необходимую информацию и понять наше собственное обоснование того, как лучше всего подходить к этим проблемам, а также наши, лежащие в основе, проектные решения. Мы также сделали общий обзор всех частей сети Nervos, уделяя особое внимание тому, как они работают вместе, чтобы предоставить общее видение сети.
2. Основание документа
Масштабируемость, устойчивость и функциональная совместимость являются одними из самых больших проблем, с которыми сегодня сталкиваются общедоступные блокчейны без разрешения. Хотя во многих проектах утверждается, что решения этих проблем у них есть, важно понимать, почему возникают эти проблемы, и находить лучшее решение из возможных.
2.1 Масштабируемость
Биткойн[1] стал первым общедоступным блокчейном без разрешения, который предназначался для использования в качестве одноранговых электронных денег. У Эфириум [2] было больше вариантов использования, была создана децентрализованная вычислительная платформа общего назначения. Тем не менее, у этих платформ есть ограничения на транзакции: биткойн ограничивает размер своего блока, а эфириум ограничивает лимит газа в блоке. Это необходимые шаги для обеспечения долгосрочной децентрализации, однако они также ограничивают возможности платформ.
В последние годы сообщество блокчейнов предложило множество решений по масштабируемости. Эти решения можно разделить на две категории: масштабирование в сети и масштабирование вне сети.
Решения для масштабирования в сети направлены на увеличение пропускной способности процесса консенсуса и создание блокчейнов с собственной пропускной способностью, которая конкурирует с централизованными системами. Оффчейн решения для масштабирования используют блокчейн только как безопасный актив и платформу расчетов, при этом почти все транзакции перемещаются на верхние уровни.
2.1.1 Масштабирование внутри сети с помощью одного блокчейна
Самый простой способ увеличить пропускную способность блокчейна — увеличить объем блочного пространства. Благодаря дополнительному блочному пространству через сеть может проходить и обрабатываться больше транзакций. Увеличение предложения блочного пространства в ответ на возросший спрос на транзакции, также позволяет снизить комиссию за транзакции.
Bitcoin Cash (BCH) использует этот подход для масштабирования своей одноранговой платежной сети. Изначальный размер блока протокола Bitcoin Cash составлял 8 МБ, который позже был увеличен до 32 МБ и будет продолжать увеличиваться бесконечно по мере увеличения потребности в транзакциях. После реализации Segregated Witness в биткойнах (BTC) в августе 2017 года протокол биткойнов теперь допускает средний размер блока около 2 МБ.
Если каждый из 7,5 млрд человек будет совершать по 2 ончейн-транзакции в день, сети потребуется создавать блоки объемом 26 ГБ каждые 10 минут, что приведет к скорости роста блокчейна на 3,75 ТБ в день или 1,37 ПБ в год [3]. Эти требования к хранилищу и пропускной способности оптимальны для любой облачного сервиса на сегодня.
Ограничение работы узла средой центра обработки данных приводит к единой сетевой топологии и вынуждает идти на компромиссы в области безопасности (скорость разветвления блокчейна будет увеличиваться по мере увеличения требований к передаче данных по сети), а также децентрализации (полное количество узлов будет увеличиваться или уменьшаться по мере увеличения стоимости консенсусного участия).
С экономической точки зрения постоянно увеличивающийся размер блока снижает давление на пользователей. Анализ сети Биткойн показал, что комиссии остаются неизменными до тех пор, пока блок не будет заполнен примерно на 80%, а затем они растут в геометрической прогрессии[4].
Возложение растущих затрат сети на ее операторов может показаться разумным решением. Однако оно может быть недальновидным по двум причинам:
-Сдерживание комиссий за транзакции вынуждает майнеров полагаться преимущественно на компенсацию от выпуска новой монеты (награды за блок). Если инфляция не является постоянной частью протокола, выпуск новых монет в конечном итоге прекратится (когда будет достигнут общий предел выпуска монет), и майнеры не получат ни вознаграждений за блок, ни значительных комиссий за транзакции. Экономические последствия этого серьезно ставят под угрозу модель безопасности сети.
-Стоимость запуска полного узла становится очень высокой. Это лишает обычных пользователей возможности самостоятельно проверять историю и транзакции блокчейна, и заставляет полагаться на поставщиков услуг, таких как биржи и платежные системы, для обеспечения целостности блокчейна. Такое "доверие" сводит на нет основное ценностное предложение общедоступных блокчейнов без разрешения как одноранговых распределенных систем без доверия.
Платформы с оптимизированной стоимостью транзакций, такие как Bitcoin Cash, сталкиваются со значительной конкуренцией со стороны других блокчейнов (разрешенных и неразрешенных), а также традиционных платежных систем. Решения по проектированию, повышающие безопасность или устойчивость к цензуре, влекут за собой сопутствующие расходы и увеличивают стоимость использования платформы. Учитывая конкурентную среду, а также поставленные цели сети, вполне вероятно, что более низкие затраты будут главной целью сети.
Эта цель соответствует нашим наблюдениям за использованием транзакционной сети. Пользователя этих систем не важны долгосрочные компромиссы, потому что они будут использовать сеть только в течение короткого времени. После того, как их товары или услуги были получены и оплата произведена, эти пользователи больше не беспокоятся об эффективной работе сети. Принятие этих компромиссов проявляется в широком использовании централизованных бирж крипто-активов, а также более централизованных блокчейнов. Эти системы популярны, прежде всего, из-за их удобства и эффективности транзакций.
Некоторые платформы смарт-контрактов использовали аналогичные подходы к масштабированию пропускной способности блокчейна, позволяя только ограниченному набору валидаторов «суперкомпьютеров» участвовать в процессе консенсуса и независимо проверять блокчейн.
Хотя компромиссы в отношении децентрализации и сетевой безопасности позволяют проводить более дешевые транзакции и могут быть удобны для пользователей. Сложившаяся модель долгосрочной безопасности, ценовой барьер для независимой проверки транзакций, а также вероятная концентрация и стабилизация операторов узлов приводят нас к мысли, что это неправильный подход для масштабирования публичных блокчейнов.
2.1.2 Ончейн масштабирование через несколько цепочек
Ончейн масштабирование через несколько цепочек может быть выполнено с помощью сегментирования, как в Ethereum 2.0, или цепочек приложений, как в Polkadot. Эти схемы эффективно разделяют транзакции сети по нескольким цепочкам, позволяя каждой цепочке быстро достигать локального консенсуса, а затем всей сети достигать глобального консенсуса через консенсус «цепочки-маяка» или «цепочки ретрансляции».
Эти проекты позволяют нескольким цепочкам использовать общую модель безопасности, обеспечивая при этом высокую пропускную способность и быстрые транзакции внутри шардов (Ethereum) или парачейнов (Polkadot). Хотя каждая из этих систем представляет собой сеть взаимосвязанных блокчейнов, они отличаются протоколами, работающими в каждой цепочке. В Ethereum 2.0 каждый шард работает по одному и тому же протоколу, а в Polkadot каждый парачейн может запускать настраиваемый протокол, созданный с помощью инфраструктуры Substrate.
В этих многоцепочечных архитектурах каждый dApp (или экземпляр dApp) находится только в одной цепочке. Хотя сегодня разработчики могут создавать dApp, которые беспрепятственно взаимодействуют с любым другим dApp в блокчейне, шаблоны проектирования необходимо будет адаптировать к новым многоцепочечным архитектурам. Если dApp разделен на разные сегменты, потребуются механизмы для синхронизации состояния между разными экземплярами dApp (находящимися в разных сегментах). Механизмы уровня 2 могут быть развернуты для быстрой связи между сегментами, транзакции между сегментами потребуют глобального консенсуса и приведут к задержке подтверждения.
С такими асинхронными транзакциями возникает проблема «train-and-hotel». Когда две транзакции должны быть элементарными (например, бронирование билета на поезд и номера в отеле на двух разных шардах), нужны новые решения. Ethereum представляет «извлечение» контракта, при котором зависимый контракт удаляется на одном шарде, создается на втором шарде (который содержит другой зависимый контракт), а затем обе транзакции выполняются на втором шарде. Однако тот самый извлеченный контракт будет недоступен на исходном шарде, что приведет к проблемам с удобством использования и снова потребуется новых шаблонов проектирования.
Шардинг имеет свои преимущества и недостатки. Если шарды могут быть действительно независимыми, а потребность в перекрестных сегментах минимальна, блокчейн может линейно масштабировать свою пропускную способность за счет увеличения количества шардов. Это лучше всего подходит для автономных приложений, которым не требуется совместная работа с другими приложениями.
Сегментированная архитектура может быть проблематична для приложений, которые разрабатываются путем объединения приложений из «строительных блоков» («проблема компонуемости»). Компонуемость особенно актуальна для децентрализованных финансов (DeFi), где более совершенные продукты строятся поверх других продуктов из стандартных блоков.
С технической точки зрения, для сегментирования обычно требуется топология «1 + N», в которой N цепочек подключаются к одной метацепочке, что вводит верхнюю границу количества сегментов, которые метацепочка может поддерживать, не сталкиваясь с проблемами масштабируемости.
Мы видим большую ценность в унифицированной глобальной системе, позволяя появляться экосистеме взаимозависимых приложений и разработчикам внедрять инновации, подобно тому, как веб-разработчики используют библиотеки для задач более низкого уровня и открытые API для интеграции сервисов. Гораздо более простой процесс разработки становится возможным, когда разработчикам не нужно учитывать синхронность (при передаче активов между сегментами или обмене сообщениями), а также пользовательский интерфейс, являющийся результатом согласованности архитектурных проблем взаимодействия блокчейна.
Сегментирование - это многообещающее решение масштабируемости (для менее взаимозависимых приложений), но мы считаем целесообразным создать структуру, которая концентрирует наиболее ценное состояние в одной цепочке блоков, сохраняя возможность компоновки. В этом дизайне используются подходы к масштабированию вне цепочки для обеспечения более высокой пропускной способности.
2.1.3 Офчейн масштабирование через уровень 2
В протоколах уровня 2, блок-цепочке базового уровня, действует уровень расчетов, в то время как сеть второго уровня направляет криптографические доказательства, которые позволяют участникам «принимать доставку» криптовалюты. Все действия второго уровня криптографически защищены базовой цепочкой блоков, а базовый уровень используется только для расчета сумм, входящих/исходящих из сети второго уровня, а также для разрешения споров. Эти схемы работают без делегирования права хранения (или риска потери) средств и обеспечивают мгновенные, почти бесплатные транзакции.
Эти технологии показывают, как сеть, такая как биткойн, может использоваться для повседневных платежей. Наиболее типичным примером решения уровня 2 на практике является канал оплаты между покупателем и кофейней. Предположим, что Алиса посещает биткойн-кафе каждое утро. В начале месяца она вносит средства в платежный канал Lightning, который она открыла в кофейне. Посещая кофейню каждый день, она криптографически подписывает право кофейни на получение части средств в обмен на ее кофе. Эти транзакции происходят мгновенно и являются полностью одноранговыми, «вне цепочки», что обеспечивает беспрепятственное взаимодействие с клиентами. Канал Lightning не требует доверия, Алиса или кофейня могут закрыть канал в любое время, забрав выделенные им средства.
Технологии платежных каналов, такие как Lightning, являются лишь одним из примером техники масштабирования вне сети; существует много развивающихся технологий, которые могут безопасно масштабировать пропускную способность блокчейна таким образом. В то время как каналы оплаты используют соглашения вне сети для распределения балансов между двумя сторонами, каналы состояния включают соглашения вне сети для произвольного состояния между участниками канала. Это обобщение может быть основой масштабируемых, не требующих доверия, децентрализованных приложений. Один канал состояния может даже использоваться несколькими приложениями, что обеспечивает еще большую эффективность. Когда одна сторона готова выйти из канала, она может отправить согласованное криптографическое доказательство в блокчейн, который затем выполнит согласованные переходы состояний.
Боковая цепь — это еще одна конструкция, которая позволяет увеличить пропускную способность, даже через доверенных сторонних операторов блокчейна. Благодаря двусторонней привязке к блокчейну с надежным консенсусом, не требующим доверия, средства могут перемещаться туда и обратно между основной и боковой цепями. Это позволяет проводить большой объем доверенных транзакций в боковой цепи с последующим расчетом в основной цепи. Транзакции с боковой цепью имеют минимальную комиссию, быстрое подтверждение и высокую пропускную способность. Хотя сайдчейны в некотором отношении имеют превосходный опыт, они ставят под угрозу безопасность. Тем не менее, существует множество исследований ненадежных сайдчейнов, которые могут обеспечить такие же улучшения производительности без ущерба для безопасности.
Примером технологии боковой цепи без доверия является Plasma (описанная в 5.3), архитектура боковой цепи, которая использует доверительный корень в цепочке блоков с широким глобальным консенсусом. Цепи Plasma предлагают те же улучшения производительности, что и централизованные боковые цепи, но при этом предлагают гарантии безопасности. В случае, если у оператора цепи Plasma есть злое намерение, пользователям доступен механизм, который позволяет им безопасно выводить свои активы боковой цепи в основную цепь. Это делается без сотрудничества с оператором цепи Plasma, предлагая пользователям удобство транзакций боковой цепи, а также безопасность блокчейна уровня 1.
Масштабирование вне сети обеспечивает децентрализацию, безопасность и масштабируемость. Перемещая все, кроме расчетных транзакций и диспутов за пределы сети, эффективно используется ограниченный глобальный консенсус публичного блокчейна. Различные протоколы уровня 2 могут быть реализованы в зависимости от требований приложения, что обеспечивает гибкость для разработчиков и пользователей. По мере того, как в сеть добавляется больше участников, производительность не снижается, и все стороны могут совместно использовать гарантии безопасности, предлагаемые консенсусом уровня 1.
2.2 Устойчивое развитие
Поддержка долгосрочной работы автономного публичного блокчейна без владельца представляет собой довольно сложную задачу. Стимулы должны быть сбалансированы между различными заинтересованными сторонами, а система должна быть спроектирована таким образом, чтобы обеспечить широкомасштабную работу с полным нодом и возможностью публичной проверки. Требования к оборудованию должны оставаться разумными при поддержке открытой глобальной сети.
Стимулы и средства контроля собственного актива блокчейна должны быть в состоянии сбалансировать требования долгосрочных холдеров к вознаграждению с требованиями компенсаций майнеров или валидаторов, обеспечивающих безопасность сети.
После того, как общедоступная цепочка блоков запущена, очень сложно изменить базовые правила, регулирующие протокол. С самого начала система должна быть устойчивой. Мы провели тщательный анализ трудностей, связанных с созданием устойчивых блокчейнов без разрешений.
2.2.1 Децентрализация
Одной из самых больших долгосрочных задач, с которыми сталкиваются публичные блокчейны, является постоянно растущий барьер для независимого участия и проверки транзакций, что отражается на стоимости работы полного нода. Полные ноды позволяют участникам блокчейна независимо проверять состояние/историю в цепочке и привлекать к ответственности майнеров или валидаторов сети, отказываясь перенаправлять недействительные блоки. Поскольку стоимость полных нодов увеличивается, а их количество сокращается, участники сети все чаще вынуждены полагаться на профессиональных операторов услуг для предоставления как истории, так и текущего состояния, подрывая фундаментальную модель доверия открытых и неразрешенных блокчейнов.
Чтобы полный нод мог соответствовать прогрессу блокчейна, он должен иметь достаточную вычислительную пропускную способность для проверки и приема транзакций, емкость хранилища для хранения всего глобального состояния. Чтобы контролировать эксплуатационные расходы полного узла, протокол должен принять меры для ограничения пропускной способности или роста емкости всех трех этих ресурсов. Большинство протоколов блокчейна ограничивают свою вычислительную или пропускную способность, но очень немногие ограничивают рост глобального состояния. По мере увеличения размера и продолжительности работы этих цепочек затраты на эксплуатацию полных узлов будут возрастать.
2.2.2 Экономическая модель
Хотя в последние годы было проведено много исследований протоколов консенсуса, мы считаем, что криптоэкономика является недостаточно изученной. Текущие криптоэкономические модели для протоколов уровня 1 в основном сосредоточены на стимулах для обеспечения консенсуса в сети, а нативные токены в основном используются для оплаты транзакционных сборов или для удовлетворения требований по стейкингу, которые обеспечивают сопротивление Sybil.
Мы считаем, что хорошо продуманная экономическая модель должна выходить за рамки процесса консенсуса и обеспечивать долгосрочную устойчивость протокола. В частности, экономическая модель должна быть разработана с учетом следующих целей:
-сеть должна иметь стабильный способ увеличения дохода для компенсации поставщикам услуг (обычно майнерам или валидаторам), также должны быть гарантии, что сеть останется безопасной;
-сеть должна иметь устойчивый способ поддерживать низкий барьер для участия, гарантируя, что сеть останется децентрализованной с течением времени;
-ресурсы общедоступной сети должны быть эффективно и справедливо распределены;
-нативный токен блокчейна должен иметь внутреннюю ценность
2.2.3 Анализ экономической модели Биткоина
Протокол Биткойн ограничивает размер блоков и устанавливает фиксированное время блока. Это делает пропускную способность сети дефицитным ресурсом, на который пользователи должны делать ставки за счет комиссий за транзакции. У Биткойн-скриптов нет циклов, это приближает длину скрипта к вычислительной сложности. Более высокий спрос на блочное пространство приводит к более высокой комиссии за транзакции для пользователей. Кроме того, чем больше входов, выходов или вычислительных шагов задействовано в транзакции, тем больше пользователь будет платить комиссию за транзакцию.
Внутренняя ценность Биткойна почти полностью определяется его денежным выражением (готовностью общества относиться к нему как к деньгам) и, в частности, готовностью использовать его как средство сбережения. Поскольку доход майнеров выражается в BTC, это восприятие должно сохраняться, чтобы экономическая модель Биткойна была устойчивой. Другими словами, модель безопасности Биткойна носит замкнутый характер — она зависит от коллективного убеждения в том, что сеть устойчиво безопасна и поэтому может использоваться в качестве денежного средства сбережения.
Ограничение размера блока Биткойн эффективно устанавливает барьер для участия в сети — чем ниже ограничение размера блока, тем легче непрофессионалам запускать полные узлы. Глобальное состояние Биткойна — это его набор UTXO, скорость роста которого также эффективно ограничена лимитом размеров блока. Пользователи заинтересованы в эффективном создании и использовании UTXO; создание большего количества UTXO приводит к более высоким комиссиям за транзакции. Однако не предусмотрено никаких стимулов для поощрения объединения UTXO и уменьшения размера глобального состояния; как только UTXO будет создан, он будет занимать глобальное состояние бесплатно, пока не будет потрачен.
Экономическая модель Биткойна, основанная на транзакционных комиссиях, является справедливой моделью для распределения его пропускной способности, дефицитного ресурса, налагаемого протоколом. Это подходящая экономическая модель для одноранговой платежной системы, но плохой выбор для настоящей платформы сбережения. Пользователи биткойнов, которые используют блокчейн для хранения стоимости, платят комиссию за транзакцию только один раз, но затем могут занимать состояние всегда, будучи уверенными в безопасности, обеспечиваемой майнерами, которые должны постоянно инвестировать ресурсы.
У Биткойна есть жесткое ограничение общего предложения, и его новая эмиссия через вознаграждение за блок в конечном итоге достингет нуля. Это может вызвать две проблемы:
Во-первых, если Биткойн останется средством сбережения, удельная стоимость BTC будет продолжать расти, и общая стоимость, которую обеспечивает сеть, также будет увеличиваться (по мере того, как в сеть будет поступать все больше денежных средств). У платформы сбережения должна быть возможность увеличивать свой бюджет безопасности, поскольку стоимость, которую она защищает, увеличивается с течением времени, в противном случае она дает возможность злоумышленникам удвоить расходы и забрать активы сети.
Когда стоимость нарушения безопасности протокола меньше, чем прибыль, которую они могут получить, действуя честно, злоумышленники всегда будут атаковать. Это похоже на ситуацию с городом, который должен увеличивать военные расходы по мере роста и развития города. Без этих вложений рано или поздно город будет атакован и уничтожен.
При существовании вознаграждений за блоки, Биткойн может масштабировать безопасность до совокупной стоимости, которую он хранит — если цена Биткойна удвоится, доход, который майнеры получают от вознаграждений за блоки, также удвоится, поэтому они смогут производить в два раза большую скорость хэширования, что делает сеть в два раза затратнее для атаки.
Ситуация меняется, когда вознаграждение за блок падает до нуля. Майнерам придется полностью полагаться на комиссию за транзакции; их доход больше не будет масштабироваться до стоимости биткойн-актива, а будет определяться транзакционным спросом в сети. Если спрос на транзакцию недостаточно высок, чтобы заполнить доступное пространство блока, общая комиссия за транзакцию будет незначительной. Поскольку комиссия за транзакцию строго зависит от потребности в блочном пространстве и не зависит от цены биткойна, это окажет глубокое влияние на модель безопасности биткойна. Чтобы Биткойн оставался безопасным, мы должны вызвать постоянный спрос на транзакцию с избыточной емкостью, который также зависит от цены Биткойна.
Во-вторых, когда предполагаемое вознаграждение за блок прекращается, разница в доходе за блок для майнеров увеличивается и дает майнерам стимулы для форка вместо продвижения блокчейна. В крайнем случае, когда мемпул майнера пуст и он получает блок, нагруженный комиссией, его мотивация состоит в том, чтобы разветвить цепочку и забрать комиссию, а не продвигать цепочку и создавать блок с потенциально нулевым доходом[5]. В сообществе Биткойн это известно как проблема «снайперской платы», для которой еще не найдено подходящего решения без снятия жестких ограничений Биткойна.
2.2.4 Анализ экономической модели платформы смарт контрактов.
Типичная экономическая модель платформ смарт-контрактов сталкивается с еще большими проблемами. Рассмотрим это на Ethereum, в качестве примера. Скрипты Ethereum допускают циклы, поэтому длина скрипта не отражает вычислительную сложность скрипта. По этой причине Ethereum ограничивает не размер блока или пропускную способность, а вычислительную пропускную способность (выраженную в лимите блочного газа).
Чтобы транзакции записывались в блокчейне Ethereum, пользователи делают ставки на стоимость вычислений, которую они готовы платить в виде комиссии за транзакцию. Ethereum использует понятие «газ», как меру вычислительной стоимости, выраженной в ETH, а контроль уровня «цены на газ» гарантирует, что стоимость за этап вычислений не зависит от движения цены нативного токена. Внутренняя ценность токена ETH обусловлена его позицией в качестве платежного токена децентрализованной вычислительной платформы; это единственная валюта, которую можно использовать для оплаты вычислений в Ethereum.
Глобальное состояние Ethereum представлено древом информации о EVM, структурой данных, в которой есть балансы и внутренняя информация всех учетных записей. Когда создаются новые учетные записи или контракты, размер глобального состояния увеличивается. Ethereum взимает фиксированное количество газа за вставку новых значений в свое хранилище состояния и предлагает фиксированную «плату на газ», которая компенсирует затраты газа на транзакцию при удалении значений.
Модель хранения «плати один раз, пользуйся всегда» не соответствует текущим затратам майнеров и полных нодов, и эта модель не дает пользователям мотивации самостоятельно удалять состояние или удалять состояние раньше, чем нужно. В результате у Ethereum произошел быстрый рост масштаба состояния. Больший размер состояния замедляет обработку транзакций и повышает эксплуатационные расходы полных узлов. Без сильной мотивации к чистому состоянию эта тенденция будет продолжаться.
Подобно BTC, ценообразование на газ в ETH, основанное на спросе, является справедливой моделью для распределения его вычислительной пропускной способности, ограниченного ресурса платформы. Модель также служит целям Ethereum, как децентрализованной вычислительной системы. Однако его модель платы за хранение не соответствует его потенциальному предложению как децентрализованной платформы для хранения состояния или активов. Без платы за долгосрочное хранение, в интересах пользователей всегда будет сохраняться интерес занимать состояние бесплатно.
В отличие от BTC, у которого существует ограничение размера блока в своем основном протоколе, ETH позволяет майнерам регулировать лимит газа блока при создании блоков. Майнеры с передовым оборудованием и значительной пропускной способностью могут производить больше блоков. Их интерес состоит в том, чтобы скорректировать лимит блочного газа в сторону увеличения, поднять планку и вытеснить более мелких майнеров для устранения конкуренции. Это еще один фактор, почему растет стоимость эксплуатации полного узла.
Платформы смарт-контрактов, такие как ETH - это платформы с мульти активами. Они поддерживают выпуск и транзакции всех типов криптоактивов, обычно представленных в виде «токенов». Они также обеспечивают безопасность не только своих собственных токенов, но и стоимость всех криптоактивов на платформе. Таким образом, «сохранение стоимости» в контексте с несколькими активами относится к свойству сохранения стоимости, которое приносит пользу как собственным токенам платформы, так и криптоактивам, хранящимся на платформе.
С вознаграждением за блок, у BTC есть отличная экономическая модель «сохранения стоимости». Майнерам выплачивается фиксированное вознаграждение за блок, которое выражено в BTC, и, таким образом, их доход растет вместе с ценой BTC. Платформа может приносить доход майнерам для повышения безопасности (измеряемой стоимостью атаки) при сохранении устойчивой экономической модели.
Для платформ с мультиактивами выполнить это требование становится гораздо сложнее, потому что «ценность» может быть выражена в криптоактивах, помимо нативного токена. Если стоимость криптоактивов, защищенных платформой, увеличивается, а стоимость нативного токена не увеличивается, безопасность сети, следовательно, не повышается, и становится намного проще навредить процессу консенсуса платформы, чтобы увеличить трату хранящихся криптоактивов на платформе в два раза.
Чтобы платформа смарт-контрактов с мульти активами функционировала для сбережений, спрос на владение активами в сети должен поддерживаться спросом на владение собственным токеном. То есть, собственный токен платформы должен быть отражением совокупной стоимости активов платформы. Если внутренняя стоимость нативного токена платформы ограничена комиссией за транзакцию, его стоимость будет определяться исключительно спросом на транзакцию. Цена нативного токена не будет соответствовать спросу на владение хранящимися на платформе крипто-активами.
Платформы смарт-контрактов, которые не несут функцию сбережения, должны основываться на финансовой подушке собственного токена (готовность людей удерживать токены сверх их внутренней стоимости) для поддержания их постоянной безопасности. Это возможно только в том случае, если у одной платформы есть уникальные функции, которые нельзя найти где-либо еще, или же она превосходит другие, обеспечивая минимально возможную стоимость транзакций.
ETH сейчас пользуется преимуществами. Однако с появлением конкурирующих платформ, многие из которых предназначены для более высокого TPS и обеспечивают аналогичную функциональность, остается открытым вопрос о том, может ли опора только на денежную премию поддерживать безопасность платформы блокчейна, особенно если нативные токены не рзработаны или не могут быть деньгами. Даже если платформа может предоставить уникальные функции, ее денежная премия может быть абстрагирована пользовательским интерфейсом за счет эффективных свопов ( что весьма вероятно, когда блокчейн будет массово внедряться). Пользователи будут хранить активы, с которыми они хорошо знакомы, такие как BTC или стейблкоины, и приобретать токены платформы, чтобы заплатить комиссию за транзакцию. Фундамент криптоэкономики платформы может сойти на нет.
Платформы с мультиактивами уровня 1 должны обеспечивать устойчивую безопасность для всех криптоактивов, которые они защищают. То есть у них должна быть экономическая модель, предназначенная для сохранения стоимости.
2.2.5 Финансирование разработки основного протокола
Публичные неразрешенные блокчейны - это общедоступная инфраструктура. Первоначальная разработка этих систем требует большого финансирования, а после того, как они будут введены в эксплуатацию, требуется постоянное обслуживание и обновления. Без специальных людей, обслуживающих эти системы, могут возникать сбои в работе. У протоколы BTC и ETH нет собственного механизма, который финансирует текущую разработку, поэтому они полагаются на постоянное участие предприятий со схожими интересами и сообществами с открытым исходным кодом.
Dash был первым финансируемым проектом в рамках протокола. Несмотря на постоянную поддержку развития протокола, этот дизайн идет на компромисс в отношении устойчивости стоимости криптовалюты. такая модель основывается на финансировании на основе инфляции, что снижает стоимость долгосрочных активов.
Сеть Nervos использует похожую модель, которая обеспечивает устойчивое финансирование основной разработки. Средства для финансирования поступают от целевой инфляции краткосрочных холдеров токенов, в то же время последствия этой инфляции смягчаются для долгосрочных холдеров. Более подробная информация об этом механизме описана в (4.5).
2.3 Совместимость
Взаимодействие между блокчейнами - это часто обсуждаемая тема, и многие проекты появлялись для решения этой проблемы. Благодаря надежным транзакциям между блокчейнами в децентрализованной экономике могут быть реализованы настоящие сетевые эффекты.
Первым примером функциональной совместимости блокчейна были элементарные свопы между BTC и LTC . Обмен BTC на LTC и наоборот стал возможен не с помощью механизмов внутри протокола, а с помощью общего криптографического стандарта (в частности, с использованием хэша SHA2-256).
Такой же дизайн Ethereum 2.0 позволяет соединять множество цепочек сегментов, работающих по одному и тому же протоколу и использующих одни и те же криптографические схемы. Это будет ценным при настройке протокола для связи между сегментами, однако Ethereum 2.0 не будет взаимодействовать с другими блокчейнами, которые не используют те же самые криптографические примитивы.
Сети блокчейнов, такие как Polkadot или Cosmos, совершают еще один шаг вперед, позволяя блокчейнам, построенным на одной и той же платформе (Cosmos SDK для Cosmos и Substrate для Polkadot), взаимодействовать друг с другом. Эти платформы дают разработчикам гибкость при создании собственных протоколов, и предоставляют доступ к идентичным криптографическим схемам, позволяя каждой цепочке анализировать блоки друг друга и выполнять перекрестную проверку транзакций. Оба протокола основываются на мостах или «зонах привязки» для подключения к цепочкам блоков, у которых нет собственной структуры, вводя дополнительный уровень доверия. Для примера: хотя Cosmos и Polkadot позволяют создавать «сети блокчейнов», сети Cosmos и Polkadot не предназначены для взаимодействия друг с другом.
Потребуется дальнейшее изучение криптоэкономики межсетевых сетей. И для Cosmos, и для Polkadot нативные токены используются для стейкинга, управления и комиссий за транзакции. Внутренняя ценность токена (пункт 4.2.4), зависимость от транзакций между цепочками для получения ценности экосистемы может быть слабой моделью. Транзакции между цепочками не являются преимуществом сетей с несколькими цепочками, точно так же, как кросс-сегментные транзакции не являются преимуществом сегментированных баз данных. Они являются причиной задержки, и компонуемости. Есть приложения, которым необходимо взаимодействовать друг с другом, чтобы перемещаться в одну и ту же цепочку блоков для уменьшения расходов между цепочками, для уменьшения спроса на транзакции между цепочками и, следовательно, спроса на собственный токен.
Кроссчейн-сети получают пользу от сетевых эффектов — чем больше взаимосвязанных цепочек в сети, тем ценнее сеть и тем привлекательнее она для потенциальных новых участников сети. В идеале мы хотели бы видеть, как эти значения накапливаются в нативном токене, что еще больше стимулирует рост сети. Однако в объединенной сети безопасности, такой как Polkadot, более высокая цена нативного токена повышает стоимость участия и становится сдерживающим фактором для сети, что дает дополнительную ценность подключенной сети, такой как Cosmos, более высокая цена токена увеличивает капитальные затраты для получения комиссий за кроссчейн-транзакции, снижая ожидаемую прибыль на вложенный капитал, препятствуя дальнейшему участию в стейкинге.
Из-за многоуровневого подхода Nervos Network представляет собой сеть с несколькими цепями. Архитектурно Nervos использует модель ячейки и низкоуровневую виртуальную машину для поддержки настройки и созданных пользователем криптографических схем, обеспечивая взаимодействие между гетерогенными цепочками блоков (описано в 4.4.1). С криптоэкономической точки зрения сеть Nervos транслирует ценность (вместо передачи сообщений) в свою корневую цепочку. Благодаря захвату стоимости собственный токен сети Nervos может повышаться, увеличивая бюджет безопасности сети как совокупную ценность, обеспеченная сеть растет. Наконец, растущая цена нативного токена повышает основную ценность сети, а не ослабляет ее. Это подробно описано в (4.4).
3. Основные принципы сети Nervos
Nervos — это многоуровневая сеть, созданная для поддержки потребностей децентрализованной экономики. Есть несколько причин, по которым мы считаем, что многоуровневый подход - это правильный способ построения сети блокчейна. Существует много хорошо известных компромиссов при построении систем блокчейна, таких как децентрализация и масштабируемость, нейтральность и соответствие требованиям, конфиденциальность и открытость, сохранение ценности и стоимость транзакций, криптографическая надежность и пользовательский опыт. Мы считаем, что все эти конфликты возникают из-за попыток решить совершенно противоположные проблемы с помощью единого блокчейна.
Лучший способ правильно построить систему — это не построить всеохватывающий единый уровень, а разделить проблемы и решать их на разных уровнях. Благодаря этому блокчейн уровня 1 может сфокусироваться на безопасности, нейтральности, децентрализованности и открытой общедоступной инфраструктуре, в то время как более мелкие сети уровня 2 могут быть специально спроектированы так, чтобы наилучшим образом соответствовать назначению для их использования.
В сети Nervos протокол уровня 1 (общая база знаний) представляет собой уровень сохранения стоимости всей сети. Он представляет собой открытый, общедоступный и основанный на Proof-of-Work блокчейн, который служит для обеспечения максимальной безопасности, а также контролирует цензуру, а также служит децентрализованным хранителем ценностей и крипто-активов. Протоколы уровня 2 используют безопасность блокчейна уровня 1 для обеспечения неограниченной масштабируемости и минимальных комиссий за транзакции, а также позволяют находить компромиссы для конкретных приложений по таким параметрам, как: модель, конфиденциальность и завершение.
Основные принципы работы Nervos:
-Устойчивый блокчейн первого уровня с несколькими активами должен быть криптоэкономически разработан, чтобы быть местом для хранения.
-Уровень 2 предлагает наилучшие варианты масштабирования, предоставляя почти неограниченные возможности для транзакций, минимальные транзакционные издержки и улучшенный пользовательский интерфейс. Блокчейны уровня 1 должны быть разработаны так, чтобы дополнять друг друга, а не конкурировать с решениями уровня 2.
-Proof of Work как метод сопротивления Sybil имеет важное значение для блокчейнов уровня 1.
-Блокчейн уровня 1 должен предоставлять общую модель программирования для интерактивных протоколов и функциональной совместимости блокчейнов, а также обеспечивать максимально настраиваемый протокол и простоту обновления.
4. The Nervos Common Knowledge Base
4.1 Обзор
Под «Common Knowledge» подразумевается "знание", которое известно всем или почти всем. В контексте блокчейнов в целом и сети Nervos в частности «общее знание» относится к состоянию, подтвержденному глобальным консенсусом и признанному всеми в сети.
Общее знание помогает рассматривать криптовалюту, которая хранится в общедоступных цепочках блоков, в качестве денег. Например, балансы и история всех адресов в биткойне являются общеизвестными для пользователей биткойна, потому что они могут независимо реплицировать общий реестр, верифицировать глобальное состояние с момента генезисного блока и знать, что любой другой может сделать то же самое. Это общеизвестное знание позволяет людям совершать сделки в одноранговой сети без третьей стороны.
База общих знаний Nervos (CKB) предназначена для хранения всех видов общих знаний и даже тех, которые не ограничиваются деньгами. Например, CKB может хранить определяемые пользователем криптоактивы, такие как взаимозаменяемые и невзаимозаменяемые токены, а также ценные криптографические доказательства, которые обеспечивают безопасность для протоколов более высокого уровня, таких как платежные каналы (5.2) и цепочки Plasma (5.4).
И BTC, и Nervos CKB являются общедоступными системами хранения и проверки. Биткойн хранит свое глобальное состояние в виде набора UTXO и проверяет переходы состояний с помощью жестко запрограммированных правил и сценариев, встроенных в транзакции. Nervos CKB обобщает структуру данных BTC и возможности сценариев, сохраняет глобальное состояние в виде набора активных программируемых ячеек и проверяет переходы состояний с помощью определяемых пользователем полных по Turing сценариев, которые запускаются на виртуальной машине.
Хотя Nervos CKB обладает всеми возможностями смарт-контрактов, как у Ethereum и других платформ, его экономическая модель предназначена для сохранения общих знаний, а не для оплаты децентрализованных вычислений.
4.2 Консенсус
Консенсус Накамото Биткойн признается благодаря своей простоте и низким затратам на связь. Однако у консенсуса есть два недостатка: 1) его пропускная способность при обработке транзакций далека от идеальной, и 2) он уязвим для атак майнинга, в которых злоумышленники могут получить дополнительные вознаграждения за блок, уклоняясь от определенного поведения протокола.
Консенсусный протокол CKB — это вариант консенсуса Накамото, который повышает предел производительности и устойчивость к майнингу, сохраняя при этом свои достоинства. Выявляя и устраняя узкое место в задержке распространения блоков консенсуса Накамото, наш протокол поддерживает очень короткие интервалы между блоками без вреда для безопасности. Сокращенный интервал между блоками не только увеличивает пропускную способность, но и снижает задержку подтверждения транзакции. Благодаря включению всех действительных блоков в расчет регулировки сложности, майнинг больше не приносит прибыли в наш протокол.
4.2.1 Увеличение пропускной способности
Nervos CKB увеличивает пропускную способность консенсуса PoW с помощью алгоритма консенсуса, основанного на консенсусе Накамото. Алгоритм использует процент потерянных блоков блокчейна (процент действительных блоков, которые не являются частью канонической цепочки) как возможность подключения по сети.
В ответ на низкую степень утерянных объектов целевая сложность снижается (увеличивается скорость производства блоков), а когда степень утерянных объектов превышает определенный порог, целевая сложность увеличивается (уменьшается скорость производства блоков).
Это позволяет использовать всю пропускную способность сети. Низкий уровень утраты связи указывает на то, что сеть хорошо подключена и может обрабатывать больший объем данных; затем протокол увеличивает пропускную способность в этих условиях.
4.2.2 Устранение уязвимого места распространения блоков
Слабым местом в любой сети блокчейнов является распространение блоков. Консенсусный протокол Nervos CKB устраняет слабое место в распространении блоков, превращая подтверждение транзакции в двухэтапный процесс: 1) предложение и 2) фиксация.
Транзакция должна быть сначала объявлена в «зоне предложений» блока (или одного из его составляющих). Затем транзакция будет зафиксирована, если она появится в «зоне фиксации» блока в течение определенного окна после ее предложения. Такая архитектура устраняет слабое место распространения блока, поскольку зафиксированные транзакции нового блока уже будут получены и проверены всеми узлами, когда они будут предложены.
4.2.3 Устранение атак майнинга
Одной из самых фундаментальных атак на консенсус Накамото является майнинг. В такой атаке майнеры получают несправедливое вознаграждение за блок, преднамеренно забирая блоки, полученные другими.
Несправедливое получение прибыли коренится в механизме настройки сложности Консенсуса Накамото, который не учитывает потерянные блоки при оценке вычислительной мощности сети. Это приводит к снижению сложности майнинга и более высокому усредненному по времени вознаграждению за блок.
Консенсусный протокол Nervos CKB включает составляющие блоки в расчет корректировки сложности, что делает майнинг не всегда рентабельным. Это сохраняется независимо от стратегии или продолжительности атаки.
Благодаря двухэтапному подтверждению транзакции де-факто злонамеренный майнинг также устраняется за счет ограниченного окна времени атаки.
Подробнее о нашем консенсусном протоколе читайте здесь.
4.2.4 Proof of Work или Proof of Stake
Системы Proof of Work (PoW) и Proof of Stake (PoS) уязвимы для централизации власти, однако качество систем обеспечивает очень разные операционные реальности.
Майнинг PoW влечет за собой реальные расходы, которые могут превышать доходы от майнинга, если не контролировать затраты. Те, кто находится у управления, должны следить за инновациями, следовать разумным бизнес-стратегиям и продолжать инвестировать в инфраструктуру, чтобы оставаться на высоте. Оборудование для майнинга, операции майнинг-пула и доступ к дешевой энергии — все это подвержено изменениям, связанным с технологическими инновациями. Трудно поддерживать монополизацию всех трех в течение длительных периодов времени.
Создатели блоков в системах PoS получают вознаграждение определенным образом, в зависимости от суммы ставок, с очень низкими требованиями к операционному капиталу. По мере роста системы будет расти и влияние естественных преимуществ, предоставляемых первым предпринимателям и отдельным лицам. В системе PoS возможно, что управление находится в руках нескольких участников. Хотя системы PoW имеют аналогичную проблему с концентрацией майнинга, стоимость сохранения мощности в системе PoS значительно ниже.
Кроме того, у валидаторов PoS есть одна уникальная способность: контроль над набором валидаторов. Принятие транзакции, которая позволяет валидатору присоединиться к группе консенсуса, находится в руках существующих валидаторов. Попытки влияния на набор валидаторов с помощью цензуры транзакций и манипулирования ордерами будет трудно обнаружить, а также трудно устранить. И наоборот, консенсусное участие в системах PoW действительно открыто и не зависит от текущей структуры власти. Преимуществ ранним участникам системы не предоставляется.
Что касается токеномики, хотя и считается, что стейкинг может привлечь капитал, который поможет получить доход (и, следовательно, увеличить спрос на собственный токен), это еще не все. Все проекты PoS в конечном итоге осознают, что их ставка стейкинга стабилизируется, и капитал, входящий и выходящий из пула стейкингового капитала, будет примерно одинаковым. Механизм стейкинга сам по себе не увеличит спрос на нативный токен. Другими словами, хотя введение стейкинга обеспечивает спрос на нативный токен на начальном этапе проекта (по мере роста ставки стейкинга), стейкинг сам по себе не может обеспечить долгосрочный спрос на нативный токен и, следовательно, не может быть реализован с помощью единственной внутренней ценности нативного токена.
У долгосрочных холдеров токенов в системе PoS есть 3 варианта: они могут 1) управлять инфраструктурой и самостоятельно запускать проверяющий нод для получения новой эмиссии, 2) делегировать свои токены третьей стороне и доверять их целостности и инфраструктуре, или 3) иметь стоимость своих токенов, смешанную с текущей эмиссией. Ни один из этих вариантов не является особенно интересным для долгосрочных холдеров токенов, ориентированных на сохранение стоимости.
Мы считаем, что участие PoW без разрешения является требованием для инфраструктуры, лежащей в основе глобальной экономической деятельности. Главной целью уровня 1 является обеспечение максимально возможной децентрализации, безопасности и нейтральности блокчейна. Хотя системы PoS играют определенную роль в децентрализованной экономике, по нашему мнению, они не отвечают требованиям действительно открытого и децентрализованного уровня 1.
4.2.5 Функции Proof of Work
Блоки Nervos CKB могут быть предложены любым нодом при условии, что 1) блок действителен; и 2) тот, кто предложил вычисления, решил сложную головоломку, называемую Proof of Work. Головоломка с Proof of Work определяется с точки зрения предлагаемого блока; это гарантирует, что решение головоломки однозначно идентифицирует блок.
Биткойн Proof of Work требует поиска допустимого одноразового номера, чтобы результат применения хеш-функции к заголовку блока соответствовал определенному уровню сложности. Для Биткойна хеш-функция дважды повторяется SHA2-256. SHA2 был хорошим выбором для биткойнов, однако, для криптовалют, которые появились после него, это не есть хороший выбор. Для майнинга биткойнов было разработано большое количество специализированного оборудования, большая часть которого простаивает, будучи устаревшей из-за повышения эффективности.
Новая криптовалюта, использующая ту же головоломку с Proof of Work, снова сделает это устаревшее оборудование полезным. Современное оборудование можно арендовать и использовать для майнинга новой монеты. Распределение мощности майнинга для монеты на основе SHA2 было бы очень трудно предугадать, и оно подвержено внезапным и значительным изменениям. Этот аргумент также применим к алгоритмической оптимизации, адаптированной к SHA2, которая также была разработана для удешевления программного вычисления функции.
Для новой криптовалюты имеет смысл определить задачку с Proof of Work с точки зрения функции, которая еще не использовалась другими криптовалютами. Для Nervos CKB мы решили определить его в терминах функции Proof of Work, которая не могла быть предметом преждевременной оптимизации, поскольку она является новой.
Предполагаемая недоступность оборудования для майнинга имеет место только на начальном этапе. В долгосрочной перспективе развертывание выделенного оборудования для майнинга приносит пользу, поскольку значительно усложняет атаки на сеть. Поэтому, помимо того, что она новая, идеальная функция Proof of Work для новой криптовалюты еще и проста, что значительно снижает барьер для разработки аппаратного обеспечения.
Безопасность — очевидная третья цель архитектуры. В то время как известная уязвимость может быть использована всеми майнерами в равной степени и просто приведет к апгрейду сложности, еще нераскрытая уязвимость может привести к оптимизации майнинга, преимущество которой будет превышать долю мощности майнинга.
4.2.6 Eaglesong
Eaglesong — это новая хеш-функция, разработанная специально для Proof of Work Nervos CKB, но она также подходит для других случаев использования, в которых требуется безопасная хеш-функция. Критерии архитектуры были точно такими же, как указано выше: новизна, простота и безопасность. Нам нужен был дизайн, который был бы одновременно достаточно новым, и в то же время достаточно близким к существующим проектам, чтобы стать сильным аргументом безопасности.
С этой целью мы решили создать экземпляр конструкции губки (используемой в Keccak/SHA3) с перестановкой, построенной из операций ARX; аргумент в пользу его безопасности основан на стратегии широкого трайла(тот же аргумент, лежащий в основе AES).
Насколько нам известно, Eaglesong — первая хэш-функция (или функция), которая успешно сочетает в себе все три принципа проектирования.
Вы можете прочитать больше об Eaglesong здесь.
4.3 Cell Model (Клеточная модель)
Nervos CKB использует Cell Model, новую конструкцию, которая может обеспечить многие преимущества модели Account (используемой в Ethereum), сохраняя при этом право собственности на активы и свойства проверки на основе доказательств модели UTXO (используемой в Bitcoin).
Модель ячейки ориентирована на состояние. Ячейки содержат произвольные данные, которые могут быть простыми, такими как количество токенов и холдеров, или более сложными, такими как код, определяющий условия проверки для передачи токена. Конечный автомат CKB выполняет сценарии, связанные с ячейками, чтобы гарантировать целостность перехода состояния.
Помимо хранения собственных данных, ячейки могут также ссылаться на данные в других ячейках. Это позволяет разделить активы, принадлежащие пользователям, и логику, управляющую ими. Это отличается от платформ смарт-контрактов на основе учетной записи, в которых состояние является внутренним свойством смарт-контракта и должно быть доступно через интерфейсы смарт-контрактов. В Nervos CKB ячейки являются независимыми объектами состояния, которые являются собственностью, и на них можно ссылаться и передавать напрямую. Ячейки могут выражать настоящие «сносные активы», принадлежащие своим холдерам (точно так же, как UTXO являются сносными активами для холдеров биткойнов), ссылаясь при этом на ячейку, которая содержит логику, обеспечивающую целостность переходов состояний.
Транзакции модели ячейки также являются доказательством перехода состояния. Входные ячейки транзакции удаляются из набора активных ячеек, а выходные ячейки добавляются в набор. Активные ячейки содержат глобальное состояние Nervos CKB и являются неизменяемыми: после создания ячеек их нельзя изменить.
Модель Cell спроектирована так, чтобы быть адаптируемой, устойчивой и гибкой. Его можно описать как обобщенную модель UTXO, и он может поддерживать определяемые пользователем токены, смарт-контракты и различные протоколы уровня 2.
Для более глубокого понимания клеточной модели см. здесь.
4.4 Virtual Machine
Пока многие проекты блокчейна следующего поколения используют WebAssembly в качестве основы виртуальной машины блокчейна, Nervos CKB включает в себя уникальный выбор дизайна виртуальной машины (CKB-VM) на основе набора инструкций RISC-V.
RISC-V — это архитектура набора инструкций RISC с открытым исходным кодом, которая была создана в 2010 году для облегчения разработки нового аппаратного и программного обеспечения и представляет собой бесплатный, широко понятный и проверенный набор инструкций.
Мы обнаружили многочисленные преимущества использования RISC-V в контексте блокчейна:
Стабильность: основной набор инструкций RISC-V был доработан и заморожен, а также широко протестирован и внедрен. Базовый набор инструкций RISC-V фиксирован и никогда не потребует обновления.
Открытость и поддержка: RISC-V предоставляется по лицензии BSD и поддерживается такими компиляторами, как GCC и LLVM, а реализации языков Rust и Go находятся в стадии разработки. В RISC-V Foundation входит более 235 организаций-членов, которые занимаются разработкой и поддержкой набора инструкций.
Простота и расширяемость: набор инструкций RISC-V прост. С поддержкой 64-битных целых чисел набор содержит всего 102 инструкции. RISC-V также предоставляет модульный механизм для расширенных наборов инструкций, позволяющий использовать векторные вычисления или 256-битные целые числа для высокопроизводительных криптографических алгоритмов.
Точная оценка ресурсов: набор инструкций RISC-V может выполняться на физическом CPU, что обеспечивает точную оценку машинных циклов, необходимых для выполнения каждой инструкции, и информирование о стоимости ресурсов виртуальной машины.
CKB-VM — это низкоуровневая виртуальная машина RISC-V, которая позволяет выполнять гибкие, полные по Тьюрингу вычисления. Благодаря использованию широко распространенного формата ELF, сценарии CKB-VM могут разрабатываться на любом языке, который можно скомпилировать в инструкции RISC-V.
4.4.1 CKB-VM и Cell Model
После развертывания существующие общедоступные блокчейны более или менее фиксируются. Модернизация базовых элементов, таких как криптографические примитивы, требует больших усилий или просто невозможна.
CKB-VM делает шаг назад и перемещает примитивы, ранее встроенные в пользовательские виртуальные машины, в ячейки поверх виртуальной машины. Хотя скрипты CKB являются более низкоуровневыми, чем смарт-контракты в Ethereum, они обладают значительным преимуществом гибкости, обеспечивая надежную платформу и основу для развивающейся децентрализованной экономики.
Ячейки могут хранить исполняемый код и ссылаться на другие ячейки. Почти все алгоритмы и структуры данных реализованы в виде сценариев CKB, хранящихся в ячейках. Сохраняя виртуальную машину как можно более простой и разгружая хранилище программ в ячейки, обновление ключевых алгоритмов выполняется так же просто, как загрузка алгоритма в новую ячейку и обновление существующих ссылок.
4.4.2 Другие виртуальные машины, которые работают на CKB-VM
Благодаря низкоуровневому характеру CKB-VM и доступности инструментов в сообществе RISC-V легко скомпилировать другие виртуальные машины (например, EVM Ethereum) непосредственно в CKB-VM. Это имеет несколько преимуществ:
*Смарт-контракты, написанные на специализированных языках и работающие на других виртуальных машинах, можно легко перенести для работы на CKB-VM. (Они будут работать на своей собственной виртуальной машине, скомпилированной для работы внутри CKB-VM.)
CKB может проверять переходы состояний разрешения споров транзакций уровня 2, даже если правила переходов состояний написаны для работы на виртуальной машине, отличной от CKB-VM. Это одно из ключевых требований для поддержки ненадежных боковых цепей общего назначения уровня 2.
Техническое руководство по CKB-VM см. здесь.
4.5 Экономическая модель
Собственным токеном Nervos CKB является «Общая база знаний», или сокращенно CKByte. CKBytes дает холдеру токена право занимать часть общего хранилища состояния блокчейна. Например, удерживая 1000 CKBytes, пользователь может создать ячейку емкостью 1000 байт или несколько ячеек, добавляя до 1000 байтов емкости.
Использование CKBytes для хранения данных в CKB создает альтернативные издержки для холдеров CKByte; они не смогут депонировать занятые CKBytes в NervosDAO, чтобы получить часть вторичной эмиссии. CKBytes имеют рыночную цену, и, таким образом, пользователям предоставляется экономический стимул для добровольного освобождения хранилища состояния для удовлетворения высокого спроса на расширяющееся состояние. После того, как пользователь освободит хранилище состояния, он получит количество CKBytes, эквивалентное размеру состояния (в байтах), которое занимали его данные.
Экономическая модель CKB позволяет выпускать собственный токен для роста состояния, поддерживая низкий барьер участия и обеспечивая децентрализацию. Поскольку CKBytes становится дефицитным ресурсом, их можно оценивать и распределять наиболее эффективно.
Генезисный блок сети Nervos будет содержать 33,6 млрд. CKB, из которых 8,4 млрд сгорят. Новая эмиссия CKBytes состоит из двух частей - базовой эмиссии и вторичной эмиссии. Базовая эмиссия ограничена конечным общим объемом (33,6 млрд. CKBytes) с графиком эмиссии, аналогичным биткойну. Награда за блок уменьшается вдвое примерно каждые 4 года, пока выпуски не сведутся к 0. Вся базовая эмиссия присуждается майнерам в качестве поощрения за защиту сети. Вторичный выпуск имеет постоянную скорость выпуска 1,344 млрд. CKB в год и предназначен для наложения альтернативных издержек на занятие состояния хранилища. После того, как базовая эмиссия прекратится, будет только вторичная эмиссия.
Nervos CKB включает специальный смарт-контракт под названием NervosDAO, который функционирует как «сбережение от инфляции» от последствий вторичной эмиссии. Владельцы CKByte могут вносить свои токены в NervosDAO и получать часть вторичной эмиссии, которая точно компенсирует инфляционные эффекты от вторичной эмиссии. Для долгосрочных холдеров токенов, пока они блокируют свои токены в NervosDAO, инфляционный эффект вторичной эмиссии является номинальным. Благодаря смягчению последствий вторичной эмиссии эти пользователи фактически держат токены с жестким ограничением.
Хотя CKBytes используются для хранения состояния, их нельзя использовать для получения вознаграждений за вторичную эмиссию через NervosDAO. Это превращает вторичную эмиссию в постоянный инфляционный налог или «ренту состояния» за использование хранилищ состояния. Эта экономическая модель вводит плату состояния за хранение, пропорциональную как площади, так и времени занятия. Это более устойчиво, чем модель «плати один раз, занимай всегда», используемая другими платформами, и более осуществима и удобна для пользователя, чем другие решения по ренте, требующие значительных платежей.
Майнеры получают компенсацию как в виде вознаграждения за блок, так и в виде комиссии за транзакцию. Что касается вознаграждения за блок, когда майнер добывает блок, он получает полное базовое вознаграждение за выпуск блока и часть вторичного выпуска. Эта часть основана на владении состоянием, например: если половина всех нативных токенов используется для хранения состояния, майнер получит половину вторичного вознаграждения за выпуск блока. Дополнительная информация о распределении вторичной эмиссии включена в следующий раздел (4.6). В долгосрочной перспективе, когда эмиссия базы прекратится, майнеры по-прежнему будут получать доход от «состояния ренты», который не зависит от транзакций, но привязан к принятию Общей базы знаний Nervos.
По аналогии, CKBytes можно рассматривать как землю, а криптоактивы, хранящиеся в CKB, можно рассматривать как дома. Земля требуется для строительства дома, а CKBytes необходимы для хранения активов в CKB. По мере роста спроса на хранение активов в CKB растет и спрос на CKBytes. По мере роста стоимости хранимых активов растет и стоимость CKBytes.
При таком дизайне спрос на множество активов преобразуется в спрос на один актив, и можно использовать ту же систему стимулов, которая защищает Биткойн. Майнеры получают вознаграждение за блоки в CKBytes, которые растут с ростом спроса и, таким образом, увеличивают бюджет безопасности сети Nervos.
Более подробное объяснение экономической модели см. здесь.
4.6 Валютные запасы
Часть вторичной эмиссии, которая не достается 1) майнерам или 2) долгосрочным холдерам токенов, залоченным в NervosDAO, пойдет в валютный фонд. Например, если 60% выпущенных CKBytes используются для хранения состояния и 30% CKBytes депонированы в NervosDAO, майнеры получат 60% вторичной эмиссии, NervosDAO (долгосрочные холдеры) получат 30% вторичной эмиссии, а 10% вторичной эмиссии пойдет в валютные запасы.
Валютный фонд будет использоваться для финансирования текущих исследований и разработок протокола, а также для создания экосистемы сети Nervos. Использование валютных средств будет открытым, прозрачным и доступным для всех. По сравнению с моделью валютного финансирования, основанной на инфляции, эта модель не разбавляет долгосрочных холдеров токенов (которые вложили свои токены в NervosDAO). Финансирование разработки протокола строго зависит от альтернативных издержек для краткосрочных холдеров токенов.
Валютный фонд не будет активирован сразу после запуска основной сети Nervos Common Knowledge Base. Он будет активирован с помощью хард-форка позже, только после того, как Nervos Foundation использует фонд экосистемы, который входит в блок Genesis. Перед активацией валютного фонда, эта часть вторичной эмиссии будет устранена.
4.7 Управление
Управление — это то, как общество или группы в рамках этого процесса организуются для принятия решений. Каждая соответствующая сторона, заинтересованная в системе, должна быть вовлечена в этот процесс. Что касается блокчейна, то сюда должны входить не только пользователи, холлдеры, майнеры, исследователи и разработчики, но и провайдеры услуг, такие как кошельки, биржи и пулы майнинга. Различные группы заинтересованных сторон имеют разные интересы. Вот почему управление блокчейном является сложной и противоречивой темой. Если рассматривать блокчейн как большой социальный эксперимент, управление требует более сложной конструкции, чем любая другая часть системы. Мы до сих пор не определили общие передовые методы или устойчивые процессы для управления блокчейном.
Некоторые проекты осуществляют управление через определенных людей (например, Линус Торвальдс в Linux). Безусловно это позволяет проекту быть очень эффективным, сплоченным; однако это противоречит децентрализации, основной ценности блокчейна.
У некоторых проектов есть свой комитет, который принимает решения, например, ECAF (Центральный Арбитражный Форум EOSIO) на EOS. Однако у этих комитетов нет необходимых полномочий, чтобы гарантировать, что участники будут соблюдать их решения, что могло сыграть роль в решении о закрытии ECAF ранее в этом году.
Некоторые проекты, такие как Tezos, реализуют управление в сети, чтобы гарантировать, что все участники соблюдают решения, принятые единогласно. Это также позволяет избежать разногласий между разработчиками и майнерами (или пользователями полных нодов). Обратите внимание, что управление по цепочке отличается от простого голосования по цепочке: если предложенная функция или патч набрали достаточное количество голосов благодаря управлению по цепочке, код цепочки будет обновляться автоматически, майнеры или полные ноды не имеют возможность держать это изменение под контролем. Polkadot использует еще более сложный подход к управлению в сети, у Polkadot есть избранный комитет, процесс референдума для полноправного голосования и механизмы подсчета явки избирателей.
Однако, несмотря на свою простоту, ончейн управление на практике не так просто, как его представляют. Прежде всего, голоса отражают интересы только холдеров токенов, без учета остальных сторон. Во-вторых, низкий уровень голосования — давняя проблема как в мире блокчейнов, так и в реальном мире. Как результаты могут отвечать интересам большинства, если голосует лишь меньшинство? И последнее, но самое важное, хард-форк всегда следует рассматривать как последний выход для всех заинтересованных сторон. Учитывая доступность данных, обеспечиваемую широким выпуском блокчейна без разрешения, всегда должно быть возможным разветвление существующей цепочки с полным сохранением данных и без перерыва. Хардфорк никогда не может быть реализован через управление в сети.
Пока нет однозначных ответов по вопросам управления. В первые дни фонд Nervos возьмет на себя роль руководящего департамента проекта. На фонде лежит задача дальнейшего развития сети Nervos, развитие экосистемы и внедрение.
По мере того, как добывается все больше токенов, майнинг становится более распределенным и привлекается больше разработчиков, обязанности по управлению постепенно переходят к сообществу. В долгосрочной перспективе сообщество будет управлять процессом обновления протокола и выделением ресурсов из валютного фонда.
Изначальная идея Nervos CKB - это быть децентрализованной автономной инфраструктурой, которая может просуществовать очень долго, а это означает, что есть определенные вещи, которые требуют от сообщества максимальных усилий, независимо от того, как эта сеть будет развиваться. Есть 3 основных варианта:
*График выдачи полностью фиксирован, поэтому никогда не изменится.
*Состояние/данные, хранящиеся в ячейках, не должны быть изменены.
*Семантика существующих скриптов не подлежит изменению.
Управление блокчейнами сообществом — это довольно новый тренд. Мы понимаем, что это нетривиальная тема, и требуется время для досканального изучения и поиска оптимального подхода. Мы придерживаемся консервативного подхода к управлению на уровне сообщества, оставаясь при этом полностью приверженными этому направлению в долгосрочной перспективе.
5. Обзор решений Layer 2 (уровень 2)
5.1 Что такое Layer 2 (уровень 2)?
Уровень 1 сети блокчейна определяется ограничениями. Идеальный блокчейн уровня 1 не ставит под угрозу безопасность, децентрализацию и устойчивость, однако это создает проблемы, связанные с масштабируемостью и транзакционными издержками. Решения уровня 2 строятся поверх протоколов уровня 1, что позволяет перемещать вычисления вне цепочки с помощью механизмов безопасного возврата к цепочке блоков уровня 1.
Это похоже на нетто расчеты в современной банковской системе или обязательные нормативные документы SEC. Сокращая объем данных, требующих глобального консенсуса, сеть может обслуживать больше участников и способствовать большей экономической активности, сохраняя при этом свойства децентрализации.
Пользователи уровня 2 зависят от безопасности, обеспечиваемой блокчейном уровня 1, и используют эту безопасность при перемещении активов между уровнями или разрешении споров. Эта функция похожа на судебную систему: суд не должен отслеживать и подтверждать все транзакции, а служит только местом для регистрации ключевых доказательств и разрешения споров. Точно так же в контексте блокчейна, блокчейн уровня 1 позволяет участникам совершать транзакции вне сети, а в случае разногласий дает им возможность внести криптографические доказательства в блокчейн и наказать за обман.
5.2 Платежные каналы и каналы состояния
Платежные каналы создаются между двумя сторонами, которые часто совершают сделки. Они обеспечивают быстрые транзакции. Каналы оплаты функционируют аналогично счету в баре — вы можете открыть счет с барменом и продолжать заказывать напитки, но оплатить счет и окончательную сумму только тогда, когда будете готовы уйти. При работе платежного канала участники обмениваются сообщениями, содержащими криптографические обязательства по своим балансам, и могут обновлять эти балансы неограниченное количество раз вне сети, прежде чем они будут готовы закрыть канал и вернуть балансы в блокчейн.
Платежные каналы могут быть однонаправленными или двунаправленными. Однонаправленные платежные каналы проходят от стороны А к стороне Б. Сторона А вносит максимальную сумму, которую она планируют заплатить стороне Б за товары и услуги, а затем постепенно переводит средства по мере получения товаров или услуг.
Двунаправленные платежные каналы более сложные, но они демонстрируют масштаб возможностей технологий уровня 2. В этих платежных каналах средства перетекают туда и обратно между сторонами. Это позволяет «перебалансировать» платежные каналы и открывает возможность платежей по каналам через общего контрагента. Это позволяет использовать сети платежных каналов, такие как Lightning Network Биткойн. Средства могут быть переведены от Стороны А к Стороне Б без прямого канала между ними, если Сторона А сможет найти посредника.
Так же, как платежные каналы могут масштабировать платежи в сети, каналы состояния могут масштабировать любые транзакции в сети. В то время как канал оплаты ограничен управлением балансами между двумя сторонами, канал состояния — это соглашение о произвольном состоянии, позволяющее выполнять все, от игры в шахматы без доверия до масштабируемых децентрализованных приложений.
Подобно платежному каналу, стороны открывают канал, обмениваются криптографическими подписями и передают конечное состояние (или результат) в смарт-контракт в цепочке. Затем смарт-контракт будет выполняться на основе этого ввода, выполняя транзакцию в соответствии с правилами, закодированными в контракте.
«Обобщенный канал состояния» — это мощная конструкция канала состояния, позволяющая одному каналу состояния поддерживать переходы состояний между несколькими смарт-контрактами. Это уменьшает раздувание состояния, присущее архитектуре «один канал на приложение», а также упрощает адаптацию с возможностью использовать каналы состояний, которые уже открыты пользователями.
5.3 Сайдчейны (боковые цепочки, side-chains)
Боковая цепочка — это отдельная цепочка блоков, которая прикреплена к основной цепи с двусторонней привязкой. Чтобы использовать сайдчейн, пользователь отправляет средства на указанный адрес в основной цепочке, блокируя эти средства под контролем операторов сайдчейна. Как только эта транзакция будет подтверждена и пройдет безопасность, подтверждение может быть передано операторам боковой цепи с подробным описанием депозита средств. Затем операторы создадут транзакцию в боковой цепи, распределяя соответствующие средства. Затем эти средства можно потратить на сайдчейн с низкой комиссией, быстрой валидацией и высокой пропускной способностью.
Основным недостатком сайдчейнов является то, что они требуют дополнительных механизмов безопасности и предположений о безопасности. Простейшая конструкция боковой цепи, федеративная боковая цепь, доверяет группе операторов с несколькими подписями. На платформах смарт-контрактов модели безопасности могут быть точно настроены с помощью токенов или экономических игр.
По сравнению с другими решениями общего назначения для масштабирования вне сети, боковые цепи легче внедрить и адаптировать. Для типов приложений, которые позволяют создавать модель доверия, приемлемую для их пользователей, сайдчейны могут быть практичным решением.
5.4 Цепочки коммитов
В цепочках коммитов[6], таких как Plasma[7], строится цепочка уровня 2, которая использует основу доверия в блокчейне уровня 1 (корневая цепочка) с широким глобальным консенсусом. Эти цепочки коммитов безопасны; в случае злоумышленного или недееспособного оператора цепочки пользователи всегда могут вывести свои активы через механизм в корневой цепи.
Оператору цепочки коммитов доверяют правильное выполнение транзакций и публикацию периодических обновлений в корневой цепочке. При любых условиях, за исключением продолжительной цензурной атаки на корневую цепочку, активы на коммит-цепочках останутся в безопасности. Как и в случае с федеративными сайдчейнами, дизайны коммитчейнов обеспечивают превосходный пользовательский опыт по сравнению с ненадежными блокчейнами. Однако они делают это, сохраняя более сильные гарантии безопасности.
Цепочка коммитов защищена набором смарт-контрактов, работающих в корневой цепочке. Пользователи вносят активы в этот контракт, а оператор цепочки коммитов затем предоставляет им активы в цепочке коммитов. Оператор будет периодически публиковать обязательства в корневой цепочке, которые пользователи могут позже использовать для подтверждения владения активами с помощью доказательств Меркла, «выхода», при котором активы коммитной цепочки выводятся в корневую цепочку.
Здесь описывается общее понятие структуры коммит-цепочек, лежащее в основе нового типа протоколов, включая Plasma. Протокол проекта Plasma[7], созданный Виталиком Бутериным и Джозефом Пуном в 2017 году, излагает амбициозное видение. Хотя все цепочки Plasma в настоящее время основаны на активах и могут хранить только взаимозаменяемые и невзаимозаменяемые токены (и передачи), выполнение кода без доверия (или смарт-контракты) является активной областью исследований.
5.5 Верифицированные вычисления оффчейн
У криптографии есть инструмент, который адаптирован к динамике дорогостоящей проверки в цепочке и недорогих вычислений вне цепочки: интерактивные системы проверки. Интерактивная система доказательства представляет собой протокол с двумя участниками, доказывающим и проверяющим. Отправляя сообщения туда и обратно, Доказывающий будет предоставлять информацию, чтобы убедить Верификатора в том, что определенное утверждение верно, тогда как Верификатор проверит то, что предоставлено, и отклонит ложные утверждения. Утверждения, которые Верификатор не может отклонить, принимаются как истинные.
Основная причина, по которой Верификатор не просто наивно проверяет утверждение самостоятельно, заключается в эффективности — взаимодействуя с Доказывающим, Верификатор может проверить утверждения, проверка которых в противном случае была бы чрезмерно дорогой. Этот пробел в сложности может возникать из разных источников: 1) Верификатор может работать на легком оборудовании, которое может поддерживать только вычисления, ограниченные пространством или временем (или и тем, и другим) 2) наивная проверка может потребовать доступа к длинной последовательности недетерминированных вычислений 3) наивная проверка может быть невозможна, поскольку Верификатор не обладает определенной секретной информацией.
В то время как секретность важной информации, безусловно, является важным сдерживающим фактором в контексте криптовалют, более важным сдерживающим фактором в контексте масштабируемости является стоимость проверки в цепочке, особенно в отличие от относительно дешевых вычислений вне цепочки.
В контексте криптовалют значительное внимание было уделено zk-SNARK (нулевым знаниям, кратким неинтерактивным аргументам знания). Это группа неинтерактивных систем доказательства находится вокруг арифметической схемы, которая кодирует произвольное вычисление как схему сложений и умножений над конечным полем.
Доказательства zk-SNARK имеют постоянный размер (сотни байтов) и могут быть проверены за постоянное время, хотя эта эффективность Verifier обходится дорого: требуются надежная установка и структурированная ссылочная строка в дополнение к арифметике на основе пар (из которых конкретная криптографическая стойкость остается предметом беспокойства).
Альтернативные системы доказательства обеспечивают различные компромиссы. Например, у Bulletproofs нет надежной настройки, и они полагаются на гораздо более распространенное предположение о дискретном логарифме, однако имеют доказательства логарифмического размера (хотя все еще довольно маленькие) и верификаторы линейного времени. zk-STARK представляют собой альтернативу zk-SNARK с точки зрения масштабируемости, без надежной настройки и полагаются только на надежные криптографические предположения, хотя полученное доказательство имеет логарифмический размер (и довольно большой: сотни килобайт).
В контексте многоуровневой криптовалютной экосистемы, такой как сеть Nervos, интерактивные доказательства предлагают возможность переноса дорогостоящих вычислений на сторону доказывающего на уровень 2, в то время как на уровне 1 требуется лишь небольшая работа со стороны верификатора. Например, эта интуиция улавливается, в протоколе ZK Rollup Виталика Бутерина [8]: ретранслятор без разрешений собирает транзакции вне цепочки и периодически обновляет корень Merkle, хранящийся в цепочке. Каждое такое корневое обновление сопровождается zk-SNARK, который показывает, что в новом дереве Меркла были собраны только действительные транзакции. Смарт-контракт проверяет доказательство и позволяет обновлять корень Merkle только в том случае, если доказательство действительно.
Описанная выше конструкция должна поддерживать более сложные переходы состояний помимо простых транзакций, включая DEX, несколько токенов и вычисления с сохранением конфиденциальности.
5.6 Экономическая модель решений уровня 2
В то время как решения уровня 2 обеспечивают масштабируемость, экономия токенов этих систем может создавать проблемы при проектировании.
Экономика токенов уровня 2 может включать компенсацию за критически важную инфраструктуру, а также дизайн стимулов для конкретного приложения. Критическая инфраструктура уровня 2, как правило, лучше работает с моделью подписки на основе продолжительности. В сети Nervos эта структура ценообразования может быть легко реализована с помощью метода оплаты CKB на основе альтернативных затрат. Поставщики услуг могут взимать проценты с «гарантийных депозитов» своих пользователей через NervosDAO. Затем разработчики уровня 2 могут сосредоточить экономические модели токенов на стимулах, характерных для их приложений.
В некотором смысле, эта модель ценообразования точно так же, как пользователи платят за хранение состояния в CKB. По сути, они платят майнерам абонентскую плату за распределение их инфляционных вознаграждений, выдаваемых NervosDAO.
6. Nervos Network
6.1 Уровень 1 как платформа с мультиактивами для хранения ценности
Мы считаем, что блокчейн уровня 1 должен выступать в роли средства сбережения. Чтобы максимизировать долгосрочную децентрализацию, она должна основываться на консенсусе Proof of Work с экономической моделью, разработанной на основе использования хранилища состояния, а не комиссий за транзакции. База общих знаний (CKB) — это доказательство работы блокчейна с несколькими активами и накоплением стоимости с его программными и экономическими моделями, разработанными с учетом состояния.
CKB — это базовый уровень сети Nervos, отличающийся высокой безопасностью и высокой степенью децентрализации. Владение и транзакция активов в CKB сопровождаются довольно высокими затратами, однако обеспечивают наиболее безопасное и доступное хранилище активов в сети и максимальную компонуемость. CKB лучше всего подходит для ценных активов и долгосрочного сохранения активов.
Общая база знаний — это первая цепочка блоков уровня 1, созданная специально для поддержки протоколов уровня 2:
CKB предназначен для дополнения протоколов уровня 2 и уделяетособое внимание безопасности и децентрализации, вместо того, чтобы снижать приоритеты уровня 2, такие как масштабируемость.
CKB моделирует свой бухгалтерский учет по состоянию, а не по учетным записям. Ячейки — это, по сути, автономные объекты состояния, на которые могут ссылаться транзакции и которые могут передаваться между уровнями. Это идеально для многоуровневой архитектуры, где объекты, на которые ссылаются и которые передаются между уровнями, являются частями состояния, а не учетными записями.
CKB разработан как универсальная машина проверки, а не вычислительная машина. Это позволяет CKB служить криптографическим судом, который проверяет переходы состояний вне сети.
CKB позволяет разработчикам легко добавлять собственные криптографические примитивы. Это защищает CKB, позволяя проверять доказательства, созданные различными решениями уровня 2.
Общая база знаний стремится стать инфраструктурой для хранения самых ценных общих знаний в мире с лучшей в своем классе экосистемой уровня 2, обеспечивающей наиболее масштабируемые и эффективные транзакции блокчейна.
6.2 Масштабирование с помощью решений уровня 2
Благодаря своей многоуровневой архитектуре сеть Nervos может масштабироваться на уровне 2 до любого количества участников, сохраняя при этом жизненно важные свойства децентрализации и сохранения активов. Протоколы уровня 2 могут использовать любой тип обязательств уровня 1 или криптографических примитивов, обеспечивая большую гибкость и творческий подход при разработке транзакционных систем для поддержки растущей пользовательской базы уровня 2. Разработчики уровня 2 могут выбирать свои собственные компромиссы в отношении пропускной способности, окончательности, конфиденциальности и моделей доверия, которые лучше всего работают в контексте их приложений и пользователей.
В сети Nervos уровень 1 (CKB) используется для проверки состояния, а уровень 2 отвечает за генерацию состояния. Каналы состояния и боковые цепи являются примерами генерации состояния, однако поддерживается любой тип шаблона генерации-проверки, например кластер генерации доказательства с нулевым разглашением. Кошельки также работают на уровне 2, выполняя произвольную логику, генерируя новое состояние и отправляя переходы состояния в CKB для проверки. Кошельки в сети Nervos очень мощные, потому что они являются генераторами состояний с полным контролем над переходами состояний.
Боковые цепи удобны для разработчиков и обеспечивают хороший пользовательский опыт. Однако они полагаются на честность своих валидаторов. Если валидаторы ведут себя злоумышленно, пользователи рискуют потерять свои активы. Nervos Network предоставляет стек сайдчейнов с открытым исходным кодом и простой в использовании для запуска сайдчейнов на CKB, состоящий из блокчейн-фреймворка Proof-of-Stake под названием «Muta» и основанного на нем решения сайдчейна под названием «Аксон».
Muta — это настраиваемая, высокопроизводительная инфраструктура блокчейна, предназначенная для поддержки Proof-of-Stake, консенсуса BFT и смарт-контрактов. Он отличается высокой пропускной способностью и низкой задержкой консенсуса BFT «Overlord» и поддерживает различные виртуальные машины, включая CKB-VM, EVM и WASM. Различные виртуальные машины могут использоваться в одном блокчейне Muta одновременно с возможностью взаимодействия между виртуальными машинами. Muta значительно снижает барьер для разработчиков при создании высокопроизводительных блокчейнов, при этом обеспечивая максимальную гибкость для настройки своих протоколов.
Axon — это комплексное решение, созданное с помощью Muta, чтобы предоставить разработчикам сайдчейн «под ключ» поверх Nervos CKB с практичной моделью безопасности и экономики токенов. Решения Axon используют CKB для безопасного хранения активов и используют механизм управления на основе токенов для управления валидаторами боковой цепи. Также будут встроены межцепочечные протоколы для взаимодействия между боковой цепью Axon и CKB, а также между боковыми цепями Axon. С помощью Axon разработчики могут сосредоточиться на создании приложений, а не на создании инфраструктуры и межсетевых протоколов.
И Muta, и Axon в настоящее время находятся в стадии активной разработки. Мы скоро откроем исходный код фреймворков, и RFC для Muta и Axon также находятся в разработке.
Протоколы уровня 2 — это процветающая область исследований и разработок. Мы предвидим будущее, в котором все протоколы уровня 2 будут стандартизированы и беспрепятственно взаимодействовать. Тем не менее, мы признаем, что решения уровня 2 все еще развиваются, и мы часто все еще расширяем границы их возможностей, а также находим компромиссы. Мы видели ранние многообещающие решения, но еще предстоит провести множество исследований по таким темам, как функциональная совместимость, безопасность и экономические модели в проектах уровня 2. После запуска нашей основной сети мы посвятим большую часть наших исследований протоколам уровня 2.
6.3 Устойчивое развитие
В рамках долгосрочного развития, общая база знаний Nervos ограничивает состояние, устанавливает стоимость хранения в сети и предоставляет пользователям стимулы для очистки своего хранилища состояния. Ограниченное состояние снижает требования к полному участию узла, гарантируя, что узлы могут работать на недорогом оборудовании. Надежное участие полного узла повышает децентрализацию и, в свою очередь, безопасность.
Налагая пропорциональную по времени стоимость «ренты состояния» на состояние хранилища, База общих знаний Nervos смягчает истощение общих ресурсов, с которой сталкиваются многие блокчейны в парадигме «плати один раз, храни всегда». Этот механизм платы за аренду состояния, реализованный с помощью «целевой инфляции», обеспечивает бесперебойную работу пользователей, в то же время налагая расходы на хранилище состояния.
Эта инфляционная стоимость может быть таргетирована, потому что пользователи владеют согласованным пространством, которое занимают их данные. Эта модель также включает собственный механизм, позволяющий пользователям удалять свое состояние из пространства консенсуса. В сочетании с экономическими стимулами государственной ренты это гарантирует, что размер состояния всегда будет сводиться к минимальному объему данных, требуемому участниками сети.
Индивидуальное состояние также значительно снижает затраты разработчиков. Вместо того, чтобы покупать CKBytes для требований состояния всех своих пользователей, разработчикам нужно приобрести достаточное количество CKBytes только для хранения проверочного кода, необходимого их приложению. Каждый пользователь будет использовать свои собственные ячейки для хранения своих токенов и будет нести полную ответственность за свои активы.
Наконец, рента состояния обеспечивает постоянное вознаграждение майнерам за счет выпуска новых токенов. Этот предсказуемый доход стимулирует майнеров продвигать блокчейн вместо того, чтобы разветвлять прибыльные блоки для получения комиссий за транзакции.
6.4 Согласованные стимулы
Экономическая модель Общей базы знаний уравнивает стимулы для всех участников экосистемы. В частности, растущая цена токена поддерживает цели каждого:
*Майнеры: рост цен на токены увеличивает доход майнеров
*Пользователи: растущая цена токена привлекает больше майнеров и повышает безопасность активов
*Разработчики: растущая цена токена обеспечивает большую безопасность для их пользователей без значительного повышения стоимости для разработчиков
*Холдеры токенов: растущая цена токенов увеличивает стоимость их токенов
Общая база знаний Nervos создана специально для безопасного сохранения стоимости, а не для низких комиссий за транзакции. Такое позиционирование привлечет пользователей, которые хранят свои активы, подобно сообществу пользователей Биткойн, а не пользователей, которые обменивают средства.
Варианты использования среды обмена имеют тенденцию всегда подталкивать сеть блокчейна к централизации, стремясь к большей эффективности и низким комиссиями. Без значительного комиссионного дохода для операторов инфраструктуры, обеспечивающих безопасность сети (майнеров или валидаторов), безопасность должна финансироваться за счет денежной инфляции или просто недофинансироваться. Денежная инфляция наносит ущерб долгосрочным холдерам, а недостаточное финансирование безопасности наносит ущерб любому участнику сети.
Однако пользователи предъявляют высокие требования к устойчивости к цензуре и безопасности активов. Они полагаются на майнеров, которые обеспечивают это и, в свою очередь, компенсируют им их роль. В сети сбережений эти стороны имеют общие интересы.
Хотя в других сетях долгосрочные холдеры могут считаться «спекулянтами», холдеры токенов вносят непосредственный вклад в общую стоимость Nervos Network. Эти пользователи создают спрос на собственные токены, что способствует увеличению бюджета безопасности сети.
Выравнивая стимулы всех участников, единое сообщество Nervos может расти, а согласованная экономическая система сети также будет устойчива к хард-форку.
6.5 Создание и получение ценности
Чтобы любой блокчейн оставался безопасным по мере увеличения стоимости активов, защищенных платформой, система должна иметь механизм для сдерживания стоимости по мере роста стоимости защищенных активов. Ограничивая состояние, CKB делает пространство консенсуса дефицитным и рыночным ресурсом. По мере роста спроса на хранилище активов в сети, стоимость пространства для хранения состояния (и собственных токенов CKB) также будет расти. CKB является первой платформой с несколькими активами, которая напрямую увеличивает стоимость собственного токена.
Как платформа, сохраняющая стоимость, внутренняя ценность CKB как платформы определяется степенью безопасности, которую она обеспечивает для активов, которые она хранит. По мере роста стоимости защищенных активов механизм сдерживания стоимости экономической модели CKB может автоматически увеличивать бюджет безопасности CKB для привлечения большего количества ресурсов для майнинга, делая платформу более безопасной и повышая внутреннюю ценность платформы. Это важно не только для того, чтобы сделать платформу устойчивой, но и для роста внутренней ценности платформы: по мере того, как платформа становится более безопасной, она также становится более привлекательной для активов с более высокой стоимостью и создает больший спрос. Очевидно, что это связано с общей совокупной стоимостью, которая в конечном итоге переместится в пространство блокчейна, но мы считаем, что CKB возьмет значительную долю этого спроса.
Мы ожидаем, что доля CKB в экономике увеличится. CKBytes будут использоваться для хранения ценных активов, а малоценные активы будут перемещены в блокчейны, подключенные к CKB, такие как боковые цепи уровня 2. Вместо прямой защиты активов CKB можно использовать в качестве корня доверия для защиты всей экосистемы боковой цепи, например, с помощью нескольких сотен байтов криптографических доказательств. Экономическая плотность таких доказательств необычайно высока, что еще больше поддерживает кривую спроса на пространство для хранения по мере значительного роста цены CKBytes.
Наконец, благодаря дизайну NervosDAO и его функции «ухода от инфляции» долгосрочные холдеры токенов всегда будут удерживать фиксированный процент от общей эмиссии, что делает собственный токен отличным средством сбережения.
6.6 Устранение регуляторных пробелов
Блокчейны без разрешения обеспечивают полную децентрализацию выпуска активов и транзакций. Именно это делает их ценными, но также это явялется причиной несовместимости с реальными финансовыми и судебными системами.
Появление многоуровневой архитектуры дает возможность создавать соответствующие нормативным требованиям части нерегулируемого блокчейна без разрешений. Например, пользователи могут хранить свои децентрализованные активы на уровне 1, пользоваться абсолютным правом собственности на эти активы, а также могут вести реальный бизнес на уровне 2, где на них распространяются нормативные и юридические ограничения.
Например, криптовалютные биржи в таких странах, как Япония и Сингапур, выдали лицензии биржам и создали нормативные требования. Соответствующая требованиям биржа или филиал биржи может создать трейдинговую цепочку уровня 2, импортировать идентификаторы пользователей и активы, а затем вести легальный бизнес в соответствии с местными нормативными требованиями.
Выпуск и транзакция реальных активов становятся возможными в рамках многоуровневой конструкции блокчейна. Реальные активы могут перетекать в экосистему блокчейна через регулируемую боковую цепь уровня 2 в блокчейн уровня 1 без разрешений, предоставляя этим активам доступ к крупнейшей экосистеме компонуемых децентрализованных финансовых услуг и максимальной ценности.
В будущем Nervos Network также будет использовать такие боковые цепи и приложения уровня 2 в качестве основы для широкомасштабного принятия пользователями в сотрудничестве с ведущими компаниями в этой области.
References
[1] Satoshi Nakamoto. "Bitcoin: A Peer-to-Peer Electronic Cash System". 31 Oct 2008, https://bitcoin.org/bitcoin.pdf
[2] Vitalik Buterin. "Ethereum White Paper: A Next Generation Smart Contract & Decentralized Application Platform". Nov 2013 http://blockchainlab.com/pdf/Ethereum_white_paper-a_next_generation_smart_contract_and_decentralized_application_platform-vitalik-buterin.pdf
[3] With an average Bitcoin transaction size of 250 bytes: (2 * 250 * 7,500,000,000) / (24 * 6) = 26,041,666,666 byte blocks (every 10 minutes); 26,041,666,666 * (24 * 6) = 3,750,000,000,000 bytes (blockchain growth each day); 3,750,000,000,000 * 365.25 = 1,369,687,500,000,000 bytes (blockchain growth each year)
[4] Gur Huberman, Jacob Leshno, Ciamac C. Moallemi. "Monopoly Without a Monopolist: An Economic Analysis of the Bitcoin Payment System". Bank of Finland Research Discussion Paper No. 27/2017. 6 Sep 2017, https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3032375
[5] Miles Carlsten, Harry Kalodner, S. Matthew Weinberg, Arvind Narayanan. "On the Instabiliity of Bitcoin Without the Block Reward". Oct 2016, https://www.cs.princeton.edu/~smattw/CKWN-CCS16.pdf
[6] Lewis Gudgeon, Perdo Moreno-Sanchez, Stefanie Roos, Patrick McCorry, Arthur Gervais. "SoK: Off The Chain Transactions". 17 Apr 2019, https://eprint.iacr.org/2019/360.pdf
[7] Joseph Poon, Vitalik Buterin. "Plasma: Scalable Autonomous Smart Contracts". 11 Aug 2017, https://plasma.io/plasma.pdf
[8] Vitalik Buterin. "On-chain scaling to potentially ~500 tx/sec through mass tx validation". 22 Sep 2018, https://ethresear.ch/t/on-chain-scaling-to-potentially-500-tx-sec-through-mass-tx-validation/3477