Taiko масштабирует Эфириум таким образом, чтобы максимально точно эмулировать Эфириум — как технически, так и нетехнически. В частности, Taiko — это ZK-Rollup, эквивалентный Ethereum, который масштабирует Ethereum, поддерживая все коды операций EVM в архитектуре уровня 2, которая является децентрализованной, защищенной и защищенной.
Эфириум представляет собой огромный скачок вперед в механизмах, доступных для координации и личной свободы человека.
Как глобальный, заслуживающий доверия нейтральный уровень расчетов, Эфириум обеспечивает надежные права цифровой собственности и предлагает любому возможность перемещать стоимость, куда и когда он хочет. Это протокол, лежащий в основе ценностного интернета, и со времен самого Интернета мы не видели сети, движение в которой было бы настолько плавным.
Больше, чем движение, создание стоимости столь же текуче и безгранично. Творческая сила разработчиков, развертывающих свои смарт-контракты и приложения на всегда включенном, всегда доступном компьютере без границ, поразительна.
Чтобы достичь вышеизложенного, Эфириуму пришлось (правильно) отдать приоритет одним атрибутам блокчейна над другими, а именно децентрализации и безопасности над масштабируемостью. Если общедоступная цепочка блоков не децентрализована и не безопасна, то она не является заслуживающей доверия нейтральной и, следовательно, непривлекательной для размещения высокоценных и критически важных функций. Однако, если публичный блокчейн не масштабируется, большая часть разработчиков, пользователей и вариантов использования не сможет использовать сеть из-за непомерно высоких комиссий за транзакции и низкой пропускной способности.
Чтобы в полной мере достичь того воздействия, на которое он способен, Ethereum обязательно должен поддерживать всех, кто хочет участвовать. Эфириум должен быть масштабируемым для населения. Именно здесь Ethereum рассматривает накопительные пакеты как наиболее многообещающее решение для масштабирования, а наиболее многообещающим типом накопительных пакетов является ZK-Rollup, эквивалентный Ethereum.
Taiko стремится стать полностью эквивалентным Ethereum ZK-Rollup. Мы стремимся масштабировать Эфириум таким образом, чтобы эмулировать сам Эфириум на техническом уровне и на уровне принципов.
Технический обзор Taiko
ZK-Rollups масштабирует вычисления, выполняя, агрегируя и подтверждая транзакции вне сети и полагаясь на Ethereum для проверки доступности данных и подтверждения достоверности. Самый большой недостаток находящихся в настоящее время в производстве ZK-Rollups заключается в том, что они не могут точно поддерживать обобщенное вычисление EVM, а вместо этого в основном зависят от приложения. Это нарушает совместимость с существующими смарт-контрактами и децентрализованными приложениями Ethereum L1 и, кроме того, затрудняет создание новых, которые предлагают такой же тип компонуемого, выразительного опыта.
Эквивалентные Ethereum ZK-Rollups, иногда называемые ZK-EVM, являются святым Граалем решений масштабирования уровня 2, поскольку они не ставят под угрозу безопасность или совместимость. Говоря недавним языком, Taiko стремится стать ZK-EVM типа 1 , который отдает приоритет идеальной эквивалентности EVM/Ethereum, а не скорости генерации ZK-доказательства.
Taiko состоит из трех основных частей: схемы ZK-EVM (для генерации доказательства), узла свертки L2 (для управления цепочкой свертки) и протокола на L1 (для соединения этих двух частей вместе для проверки протокола свертки).
1. ЗК-ЭВМ
ZK-EVM доказывает правильность вычислений EVM в сводке с доказательствами достоверности.
Тайко может запускать код смарт-контракта Ethereum как есть, никаких изменений не требуется. Разработчики могут тривиально перенести свои существующие смарт-контракты Ethereum и полные децентрализованные приложения в Taiko или, конечно же, внедрить свой новый код Solidity в Taiko в качестве своей первой/единственной среды. Taiko реализует ZK-EVM, который поддерживает каждый код операции EVM, обеспечивая доказательство работоспособности схемы ZK-EVM . Помимо идеальной совместимости со смарт-контрактами и децентрализованными приложениями Ethereum L1, это также означает, что все инструменты Ethereum и Solidity без проблем работают с Taiko, и нет необходимости нарушать рабочий процесс разработчиков.
Результат этого двоякий:
- Опыт разработчиков — это именно то, к чему разработчики смарт-контрактов уже привыкли: никаких потерь времени, никаких трений. Импульс разработчиков EVM и смарт-контрактов Ethereum не остановить, и этот импульс не нужно отклонять или замедлять.
- Смарт-контракты (и системы смарт-контрактов/децентрализованных приложений), работающие на Ethereum — во многих случаях в течение многих лет, со стоимостью в миллиарды долларов — закалены в боях и могут быть перенесены на Taiko без риска их компиляции в другой язык или иная настройка фреймворка. Это означает перенос конкретных децентрализованных приложений или строительных блоков/шаблонов разработки смарт-контрактов.
Помимо преимуществ эквивалентности EVM, которые в основном проявляются на уровне приложений, Taiko стремится к эквивалентности Ethereum, позволяя использовать существующую инфраструктуру Ethereum, такую как исполняющие клиенты, которые легко перепрофилировать в узлы Taiko. Например, клиент Taiko в настоящее время основан на закаленном в боях клиенте Go-Ethereum. Таким образом, идеально совместима не только виртуальная машина, но и «окружающая ткань», учитывая, что узлы Taiko используют тот же алгоритм хеширования, схему подписи и структуру данных хранения, что и Ethereum. Важно отметить, что Taiko также стремится стать эквивалентом Ethereum в будущем; если будут обновления протокола Ethereum, Taiko внедрит их в наш zkEVM для поддержания синхронизации. Наконец, если Taiko создаст новые интересные направления на основе собственных исследований и разработок, мы сможем реализовать их на Ethereum.
Что касается совместимости, то не только разработчики и поставщики инфраструктуры получат удовольствие от развертывания Taiko, но и пользователи. На Taiko пользовательский интерфейс, модели использования и продукты будут полностью знакомы пользователям.
Стоит остановиться, чтобы поразмыслить над мета-мыслью о том, почему вышеизложенное так важно. В качестве L2 общего назначения цель Taiko состоит в том, чтобы расширить возможности разработчиков, которые в конечном итоге расширяют возможности пользователей. Мы строим то, что строим сами, чтобы другие могли делать то же, что и они.
Тайко изменит этот мир только в том случае, если поможет другим изменить этот мир к лучшему. Использование возможностей Ethereum, EVM, четко определенной инфраструктуры и инструментов, критической массы смарт-контрактов и неявных знаний разработчиков — вот основные причины быть ZK-EVM первого типа. Это волнует нас.
2. Узел свертки Taiko L2
Узлы Taiko получают данные транзакций от Ethereum и выполняют транзакции на L2, в конечном итоге изменяя состояние в соответствии с выполнением транзакций. Таким образом, эти узлы управляют цепочкой свертки. В настоящее время узел Taiko является форком Ethereum Geth.
3. Протокол Taiko
Протокол Taiko определяет и обеспечивает соблюдение правил объединения и определяет потенциальных участников. Дизайн поддерживает основные принципы безопасности, децентрализации и отсутствия разрешений.
Смарт-контракты, развернутые на Ethereum L1, действуют как механизм доступности данных и верификатор доказательств ZK-SNARK. Смарт-контракт, развернутый на Taiko L2, выполняет определенные важные функции протокола, которые мы объясняем в нашем техническом описании .
С точки зрения участников сети мы можем наблюдать три роли, которые вписываются в вышеприведенную архитектуру:
- Предлагающие . Создавать блоки свертки из транзакций пользователей L2 и предлагать их L1; любой желающий участник может выполнить эту функцию создания блока.
- Доказательства . Генерировать доказательства ZK-SNARK, подтверждающие достоверность транзакций L2 и блоков из вышеупомянутых предложенных блоков; эту доказывающую функцию может выполнить любой желающий участник.
- Бегуны узлов . Выполняйте транзакции из данных в цепочке, чтобы оставаться в курсе состояния цепочки. В то время как и предлагающие, и доказывающие должны запускать узлы для выполнения своих соответствующих ролей, другие участники также будут запускать узлы, например, те, которые предлагают такие услуги, как обозреватель блоков, и поставщики инфраструктуры узлов. Любой желающий участник может запустить узлы Taiko.
Как это работает
Блоки в блокчейне Taiko L2 состоят из наборов транзакций, которые выполняются последовательно. К цепочке могут быть добавлены новые блоки для обновления ее состояния, которое можно рассчитать, следуя правилам протокола для выполнения транзакций.
Отправка блока разделена на две части:
- Предложение блока: Предлагается блок, данные которого публикуются в Ethereum, и блок добавляется к списку предлагаемых блоков в контракте TaikoL1 . Протокол гарантирует неизменность блока в этот момент, что означает, что выполнение блока является детерминированным, и поэтому любой может рассчитать состояние цепочки после выполнения. Мы называем блок и все вложенные в него транзакции завершенными . Отличительной особенностью предлагаемого блока на L1 является то, что могут быть недопустимые транзакции, которые будут пропущены узлами Taiko L2. Эта функция обеспечивает отказоустойчивость при одновременном предложении нескольких блоков.
- Проверка блоков: поскольку все предлагаемые блоки являются детерминированными, блоки могут проверяться параллельно, поскольку известны все промежуточные состояния между блоками. Как только доказательство для блока проверено и его правильно связанный родительский блок финализирован в цепочке, мы помечаем блок как финализированный в цепочке .
Фундаментальное требование протокола заключается в том, что все данные, необходимые для восстановления текущего состояния и, таким образом, для создания и добавления новых блоков, общедоступны в Ethereum. Кроме того, доказывающие могут генерировать доказательства для блока, используя только общедоступные данные в Ethereum. Именно эти факты, основанные на общедоступных данных Ethereum и предоставляющие всем потенциальным участникам равные условия, делают L2 Taiko децентрализованным.
Подробную информацию о накопительном пакете Taiko см. в технической документации .
Общая истина заключается в том, что EVM не предназначен для работы в цепи ZK, и существует множество аспектов вычислений EVM, структур данных Ethereum и встроенной криптографии, которые несовместимы с ZK-SNARK и неэффективны (медленны) для доказательства. Преодоление этих проблем было целью усердной работы многих специалистов в этой области, таких как PSE компании EF. Тем не менее, генерация ZK-доказательств для вычисления EVM остается медленной. Это основной компромисс, противоречащий совместимости в различных типах ZK-EVM, причем тип 1 является самым медленным с генерацией доказательств, но обладает идеальной совместимостью и надежностью в будущем. Другие типы гораздо быстрее генерируют доказательства, но теряют разную степень совместимости EVM/Ethereum и защищенности от будущего.
Поддерживая не подлежащие обсуждению децентрализованность, отсутствие разрешений и безопасность, а также приоритет полной EVM-эквивалентности, явная цель свертывания Taiko состоит в том, чтобы смягчить недостатки медленного времени проверки с помощью дизайна протокола. То есть протокол стремится к быстрому завершению, прежде чем ZKP будут сгенерированы. Мы продолжим разрабатывать протокол с учетом этих целей, но также останемся открытыми для корректировок/оптимизаций виртуальных машин, если медленное доказательство резко ухудшит работу пользователей с сетью.
Завершив краткий обзор технических аспектов, давайте перейдем к человеческому и общественному аспекту совместимости Taiko и Ethereum. Это чрезвычайно важно, потому что, в конце концов, блокчейны — это социальные контракты, обеспечиваемые кодом. В конечном счете, именно люди и их системы ценностей управляют протоколами.
Принципы Taiko
Под слоем-1 находится слой-0, люди. Блокчейны создаются людьми, и то, что заботит этих людей, закладывается в общественный договор, код и всеобъемлющий дизайн. Как уже упоминалось, здесь мы снова стремимся к максимальной совместимости с Ethereum.
У нас есть веская причина придерживаться примера и спецификации Ethereum; это происходит не только из простой любви к протоколу и людям. Это потому, что это единственная экосистема, которая дает нам то, о чем мы заботимся, и шанс изменить мир к лучшему, особенно для тех, кто больше всего в этом нуждается. Это звучит высокомерно, но таковы цели сообщества Ethereum и Taiko.
Ниже мы делимся принципами Тайко, тремя основными принципами, которыми мы руководствуемся.
Доступный
Любой, кто хочет использовать, развивать или участвовать в Taiko, может это сделать. Это происходит потому, что транзакционные сборы дешевы, а пропускная способность высока; опыт разработчиков надежен, а миграция децентрализованных приложений Ethereum беспрепятственна; сеть не имеет разрешений и в полной мере повторно использует инфраструктуру Ethereum. Вы не можете иметь свободу без доступа.
включительно
Тайко устойчива к цензуре и не может исключать группы или отдельных лиц. Объединение децентрализовано — доступность и безопасность данных зависят от Ethereum; и без разрешений - позволяя любому участнику сети, пользователю или разработчику подписаться. Нет специальных ролей, которые могут подвергнуть цензуре пользователей/приложения/транзакции. Мы заинтересованы только в создании заслуживающих доверия нейтральных и справедливых систем.
Открыть
Taiko полностью открыт и ориентирован на сообщество. Мы строим на плечах гигантов и ценим вклад в технический прогресс Ethereum и сообщество. Мы ценим вклад сообщества в проект, привлекая лучшие умы и идеи, заинтересованные в этом пространстве. Тип деятельности, которую Taiko выполняет и обеспечивает, требует прозрачности.
Спасибо
Спасибо за чтение. Мы работаем над Taiko с первого квартала 2022 года, при этом некоторые товарищи по команде участвуют в исследованиях и разработках ZK-EVM с 2021 года, и многие другие из нас работают над масштабируемостью и пространством ZK-Rollup с 2018 года. Мы очень рады продолжить наш путь, так как это наша самая большая страсть и честь работать над безопасным доведением Ethereum до миллиардов людей.
Мы хотели бы поблагодарить многие команды и исследователей за их феноменальную работу над ZK-EVM и связанными технологиями, включая Ethereum Foundation PSE, Vitalik, Zcash, Aztec, Scroll и ряд других.
В следующих постах мы углубимся в техническую архитектуру Taiko и поделимся дорожной картой с графиками. Если вы хотите узнать больше о протоколе объединения Taiko прямо сейчас, вы можете ознакомиться с нашим техническим документом .
Присоединяйтесь к нам
Если вы хотите присоединиться к нам в нашем путешествии в любом качестве, мы будем рады услышать от вас. Вы можете подать заявку на вступление в нашу команду, отправив электронное письмо по адресу [email protected] , осмотреться и внести свой вклад в наш GitHub или присоединиться к сообществу через Discord , Twitter или Reddit .