Автор: Wuyue, компьютерщик web3

Монтажер: Фауст

С тех пор, как в 2022 году идея АА стала популярной в сообществе Ethereum, концепция абстракции учетных записей стала популярной в сообществе Web3. На самом деле это концепция дизайна системы учетных записей, целью которой является установление стандартов на более высоком уровне и расширение функциональности учетной записи. В основных блокчейнах, таких как Ethereum, из-за ограничений фиксированных правил гибкость и универсальность системы учетных записей очень низки, например:

  1. Вы должны заранее иметь на своем счету ETH и другие токены Gas, иначе вы не сможете инициировать транзакции, что, очевидно, очень недружелюбно по отношению к новым учетным записям;

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

Считалось, что предложение EIP-4337, которое ранее было популярно в сообществе Ethereum, способно решить вышеуказанные проблемы. Однако из-за таких факторов, как его техническая модель, исторический багаж, экологическое развитие и познание разработчиков, EIP- План исправлений 4337 больше похож на патчи, а не на фундаментальное решение проблемы. Считается, что EIP-3074, который пытается добавить новые коды операций в EVM, несет в себе риски для безопасности. Решая старые проблемы, он приносит новые проблемы, и это приводит к появлению новых проблем. целесообразность весьма спорна.

По разным причинам команда основателей Ethereum не полностью рассмотрела систему учетных записей в начале запуска основной сети, оставив после себя много багажа, например: учетные записи EOA и контрактные учетные записи разделены, газовые транзакции не поддерживаются и несколько учетных записей. не поддерживаются примитивы шифрования и т. д. Этот исторический багаж создал очевидные препятствия на пути реализации дорожной карты AA Ethereum. Можно даже сказать, что план AA Ethereum не позволяет его системе учетных записей превзойти более поздние новые публичные сети, а лишь устраняет разрыв между ними. Если публичная сеть полностью учитывает дизайн учетной записи при ее первоначальном проектировании, не будет необходимости идти в обход, как в случае с Ethereum.

В отличие от публичных сетей EVM, Nervos тщательно рассмотрел вопрос системы учетных записей в начале разработки. После проведения исследования мы считаем, что система учетных записей Nervos более ориентирована на нижний уровень и суть модели учетных записей UTXO. и поддержка нескольких методов проверки OmniLock полностью соответствует целям AA от начала до конца и не имеет никакого исторического багажа. Он, естественно, поддерживает системы учетных записей других публичных сетей, таких как BTC, ETH и даже Solana.

Кроме того, для недавно популярного BTCFi, поскольку он сам представляет Defi и другие сценарии для собственных биткойн-активов, для того, чтобы держатели биткойнов могли получить беспрепятственный опыт работы с продуктом, необходимо быть совместимым с основными биткойн-кошельками и другими периферийными устройствами CKB. Нативное решение AA естественным образом достигает этой цели, создавая необходимые условия для широкомасштабного внедрения BTCFi.

Ниже мы интерпретируем систему абстракции учетных записей Nervos с разных точек зрения, таких как концепция дизайна, архитектура системы, приложение и экология.

Биткойн UTXO и клеточная модель Nervos

Большинству людей известно, что структура хранения данных публичной цепочки, основанная на модели UTXO, не основана на системе «счет-баланс», а принимает уникальную форму. В частности, UTXO можно переплавлять или чеканить, как золото. При каждой транзакции старый UTXO уничтожается и рождается новый. Кроме того, данные UTXO не хранятся по централизованному адресу, а хранятся рассредоточенно в транзакции, сгенерировавшей UTXO, и их можно найти только путем чтения записей прошлых блоков.

Не будет преувеличением сказать, что Биткойн создал парадигму хранения, отличную от традиционной системы «информации об учетных записях» платформы Web2, которая может решить проблемы взрыва состояния, низкой эффективности чтения и записи данных, а также размытого владения. В модели UTXO очень четко определены место хранения и право собственности на данные активов разных людей, а также поддерживается параллелизм/параллелизм. Также легко поддерживать такие функции, как аренда хранилища, и можно избежать многих ошибок традиционной учетной записи. система.

Система учетных записей публичной сети Nervos полностью вобрала в себя преимущества Bitcoin UTXO с самого начала ее разработки. Ее модель Cell на самом деле представляет собой обновленную версию Bitcoin UTXO, обеспечивающую полную программируемость по Тьюрингу. Кроме того, как CKB, так и другие активы являются первоклассными активами и не относятся к собственным активам иначе, чем ERC-20, как публичная цепочка EVM.

Рабочий механизм CKB Cell примерно такой же, как и у Bitcoin UTXO: оба управляются «скриптами блокировки» и «скриптами разблокировки». пароль. lock; а «скрипт разблокировки» — это соответствующий ключ, который может разблокировать «скрипт блокировки». Пока вы можете отправить «ключ», соответствующий «замку», связанный с ним UTXO будет в вашем распоряжении.

Но в отличие от Bitcoin UTXO, Cell добавляет поле «TypeScript» над скриптом блокировки. Если LockScript — это аутентификатор личности, который определяет, имеете ли вы право перезаписывать эту ячейку, то TypeScript — это смарт-контракт, прикрепленный к ячейке. Коды DEX и протоколы кредитования могут быть развернуты в TypeScript.

Если разработчики хотят реализовать пул ликвидности, аналогичный AMM, в CKB, им нужно всего лишь написать код контракта на TypeScript выделенной ячейки, а затем сохранить информацию о состоянии пула ликвидности (например, в пуле) в поле «Данные». этой ячейки. Различные балансы активов), а затем пользователь может взаимодействовать с кодом на TypeScript.

Эта конструкция CKB расширяет более широкие сценарии поверх модели Bitcoin UTXO и является гораздо более программируемой. Более того, поскольку сама CKB использует виртуальную машину RISC-V, она поддерживает программы, написанные на нескольких языках программирования, и может поддерживать различные логические схемы. более мощный, чем Биткойн.

Что касается сценария блокировки LockScript компании Cell, он напрямую связан с нашей сегодняшней основной темой AA. Потому что одна из функций, которую пропагандирует AA, заключается в том, чтобы позволить учетным записям в цепочке поддерживать гибкие и разнообразные методы аутентификации. Для UTXO, чтобы реализовать эту функцию, необходимо работать над LockScript, который действует как аутентификатор. Для этой цели CKB запустил скрипт OmniLock, который специально поддерживает несколько схем аутентификации.

Давайте посмотрим на конкретную конструкцию OmniLock.

OmniLock и абстракция учетной записи

Ранее мы упоминали, что права на использование CKB Cell и Bitcoin UTXO определяются сценарием блокировки. LockScript определяет, кто может перезаписать Cell, что играет роль в проверке личности. Для поддержки нескольких методов аутентификации CKB предоставляет универсальный сценарий блокировки под названием OmniLock, который совместим с несколькими алгоритмами подписи и механизмами проверки.

OmniLock модульно объединяет различную логику проверки. При задании различных параметров можно гибко настроить различные алгоритмы проверки. Пользователи могут напрямую манипулировать активами в цепочке CKB, используя учетные записи, кошельки/методы аутентификации, такие как BTC, ETH и даже WebAuthn.

Итак, как же реализован и используется OmniLock? Фактически, если объяснить это простым языком, OmniLock — это фрагмент кода, который Nervos официально размещает непосредственно в цепочке CKB. Этот код пишется на конкретной Ячейке и может использоваться другими Ячейками, точно так же, как «системный контракт». в публичной сети EVM «То же самое. Если ячейка хочет использовать OmniLock, она может объявить ссылку на OmniLock в своем собственном сценарии блокировки.

Ниже мы можем понять принцип работы скрипта блокировки и OmniLock с помощью фрагмента псевдокода.

Сценарий блокировки CKB содержит три поля: хэш кода, тип хеша и аргументы. Поскольку хеш кода и тип хеша не имеют большого отношения к содержимому этого раздела, они не будут здесь объясняться. Ниже мы сосредоточимся на поле Args. Благодаря гибкой настройке Args вы можете использовать различные алгоритмы проверки, определенные в OmniLock.

Содержимое, соответствующее полю Args, можно разделить на две части. Одна часть — это auth, которая специально используется для аутентификации. Ее длина составляет 21 байт, включая 1-байтовый идентификатор флага и 20 байтов данных аутентификации. Аутентификационные данные аутентификации содержат предварительно установленный хэш открытого ключа. Только владелец открытого ключа, соответствующий хэшу открытого ключа, может пройти проверку личности и иметь право перезаписать данные в ячейке.

Флаг в Auth — это идентификатор, используемый для выбора различных методов аутентификации. Упомянутый здесь метод аутентификации относится не только к проверке криптографической подписи, но также включает в себя комплексные процессы, такие как обработка информации: если флаг равен 0x01, он представляет метод аутентификации Ethereum для внешних устройств. Сообщения. Помимо Ethereum, OmniLock также поддерживает разнообразные формы проверки сообщений, такие как Bitcoin, Dogecoin, Tron и мультиподпись.

Другая часть Args называется Omnilock args. Это кнопка, которая позволяет вам выбирать среди предустановленных функциональных режимов OmniLock, таких как режим администратора (например, функция заморозки администратора USDT), режим микроплатежей для всех. (для небольших пожертвований), режим блокировки по времени и т. д. В любом случае, пока вы настраиваете аргументы Omnilock, вы можете использовать различные функции, заранее написанные в OmniLock.

Таким образом, мы можем ввести разные параметры в поля Auth и Omnilock args сценария блокировки ячейки, чтобы выбрать методы аутентификации для различных публичных цепочек или платформ, а также ввести различные методы аутентификации в CKB. Конечно, в дополнение к нескольким методам аутентификации, предопределенным в OmniLock, разработчики также могут определять свои собственные схемы аутентификации.

Абстрактная экосистема аккаунтов Nervos: CCC, Mobit и JoyID

Выше мы уже знаем, что OmniLock является основой для Nervos для достижения абстракции учетных записей, а кошельки на основе OmniLock, такие как Mobit, .bit, Omiga и промежуточное программное обеспечение CCC (Common Chains Connector), составляют богатую экосистему абстракции учетных записей BTCFi в дополнение к Did. .id, платформа DID, обеспечивающая надежную защиту конфиденциальности и услуги управления идентификацией, и Dobby, децентрализованная платформа для торговли активами Dobs.

Хорошие функции AA также обеспечивают большое удобство экологическим приложениям BTCFi, позволяя проектам в экосистеме CKB напрямую поддерживать взаимодействие с кошельком BTC, снижая порог использования. Далее давайте воспользуемся конкретным случаем для изучения экосистемы AA CKB.

Соединитель общих цепей (CCC)

Во-первых, давайте возьмем CCC в качестве примера. Это промежуточное программное обеспечение для подключения к кошельку, которое специально обеспечивает кошелькам и dApps работоспособность различных публичных цепочек на CKB.

На рисунке ниже показано окно подключения CCC. Здесь мы возьмем MetaMask в качестве примера. Если у вас есть учетная запись Ethereum, как управлять соответствующей учетной записью в цепочке CKB.

При использовании CCC для проведения транзакций в цепочке CKB демо-версия вызывает метод Personal_sign кошелька MetaMask для подписи. Этот метод используется для подписи текстового сообщения, которое не загружается напрямую в цепочку.

Мы видим, что эта информация содержит ряд шестнадцатеричных кодов для транзакции CKB. Сообщения, подписанные MetaMask, будут отправлены в цепочку Nervos CKB и проверены с помощью таких механизмов, как OmniLock.

Как мы упоминали ранее, Nervos сам поддерживает проверку формата сообщений Ethereum. Можно сказать, что CKB рассмотрел возможность подключения к другим экосистемам публичной сети снизу вверх. Пользователи могут войти в экосистему CKB через существующие и знакомые входы и инструменты;

Для разработчиков Nervos определил стандарт OmniLock на нижнем уровне и абстрагировал детали реализации многоцепочных кошельков через CCC, что значительно снижает сложность разработки и позволяет разработчикам приложений верхнего уровня лучше сосредоточиться на разработке верхнего уровня. бизнес-логика. Не зацикливайтесь слишком на деталях низкого уровня.

Мобит

Mobit — это платформа DID и управления активами, основанная на Nervos. Если использовать метафору, Mobit — это дверь для входа во внешний мир в экосистему Nervors, и порог для этой двери очень низок. С Mobit пользователям практически не требуется предварительных знаний, им достаточно лишь некоторых простых операций для завершения взаимодействия в экосистеме Nervos с использованием учетных записей из других публичных сетей.

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

В качестве примера все еще беру кошелек Metamask. Подключенный интерфейс также может видеть адрес EVM и CKB пользователя, а также отображать активы Token и DOB, хранящиеся по адресу в цепочке CKB.

Давайте поговорим здесь о DOB, которые уникальны для экосистемы Nervos и похожи на активы NFT, но DOB фундаментально отличаются от NFT. Прежде всего, данные DOB полностью хранятся в цепочке, которую можно рассматривать как «полноцепочечный NFT», в то время как данные многих NFT Ethereum не полностью хранятся в цепочке;

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

Что касается Omiga, торговой платформы для DOB в экосистеме Nervos, пользователи могут напрямую перейти к ней через интерфейс Mobit Apps одним щелчком мыши.

Omiga также использует возможности абстракции учетных записей Nervos.

Простое управление и комплексные функции Mobit облегчат взаимодействие с BTCFi. Суть продуктов BTCFi заключается в предоставлении разнообразного опыта Defi для собственных биткойн-активов. Совместимость с основными биткойн-кошельками будет важным фактором, который следует учитывать при выборе периферийных устройств BTCFi, и CKB в настоящее время готов.

Принятие WebAuthn

WebAuthn — это сетевой стандарт, совместно разработанный Консорциумом World Wide Web (W3C) и Альянсом FIDO (Fast IDentity Online). Целью является повышение безопасности аутентификации пользователей, упрощение процесса входа в систему и снижение зависимости от традиционных паролей или конфиденциальности. ключи.

Программное обеспечение для управления ключами, встроенное в некоторые распространенные настольные или мобильные операционные системы, такие как iOS и Android, может использовать локальные модули безопасности или облачное хранилище для хранения ключей и выполнения подписей. В настоящее время основная практика WebAuthn обычно поддерживает P-256, P-384, P-521 и т. д. Поскольку OmniLock от Nervos поддерживает пользовательские криптографические примитивы, они также могут быть охвачены.

Вот некоторые клиенты, поддерживаемые WebAuthn:

  • Связка ключей Apple:

  • Security Enclave: устройства Apple используют Secure Enclave для обработки критически важных криптографических операций, включая хранение и подписание закрытых ключей.

  • iOS и macOS: системы Apple могут использовать Keychain API для операций аутентификации и подписи, а также аутентификации пользователей с помощью Face ID или Touch ID.

  • Windows Привет:

  • TPM (доверенный платформенный модуль). Устройства Windows могут использовать TPM для генерации закрытого ключа и подписи через Windows Hello.

  • Биометрическая аутентификация: Windows Hello поддерживает распознавание отпечатков пальцев и распознавание лиц для проверки личности пользователя.

  • Хранилище ключей Android. Устройства Android могут использовать аппаратные модули безопасности для хранения и подписания ключей, а также аутентификации с помощью биометрических данных, таких как отпечатки пальцев или распознавание лиц.

  • Ключи безопасности Ubisoft: аппаратные устройства с ключами безопасности, такие как YubiKey, поддерживают безопасную аутентификацию и операции подписи через USB или NFC.

Экологический кошелек CKB JoyID — приложение, реализованное с использованием технологии WebAuthn. С помощью JoyID пользователи могут проходить аутентификацию напрямую с помощью биометрических данных, таких как отпечатки пальцев или распознавание лиц, что обеспечивает беспрепятственный и высокобезопасный вход в систему и управление идентификацией.

.bit в экосистеме Nervos также является сценарием, в котором реализация Apple WebAuthn используется для входа в систему и использования блокчейна.

Из приведенных выше случаев мы видим, что решение CKB AA по своей сути поддерживает другие публичные сети и пользователей Web2. Для большинства пользователей Web2 поддержка WebAuthn имеет решающее значение. Она избавляет от бремени управления закрытыми ключами и мнемоническими фразами и значительно снижает порог использования. Чем раньше экосистема публичной сети предпримет усилия в этом направлении, тем больше преимуществ она получит в будущем.

Подведем итог

Ethereum ограничен своим историческим багажом. Существующее решение AA в основном лечит симптомы, но не первопричину, и не может решить проблему, исходя из основной причины. Однако Nervos полностью рассмотрел дизайн системы учетных записей при запуске основной сети и предоставил ее. функция OmniLock. Поддерживается любой метод аутентификации.

Модель Cell от Nervos, по сути, является функциональным расширением Bitcoin UTXO. Ее сценарий блокировки может поддерживать различные алгоритмы проверки подписи. OmniLock поддерживает прямой вызов любой ячейки в сценарии блокировки аналогично системному контракту, предоставляя платформу для этого. разработчикам. Предоставляет пользователям возможности уровня Web2;

В настоящее время в абстрактной экосистеме учетных записей Nervos уже есть такие продукты, как CCC, Mobit и Joyid, которые в основном готовы;

Суть BTCFi заключается в предоставлении разнообразного опыта Defi для собственных биткойн-активов. Совместимость с основными биткойн-кошельками будет важным фактором, который следует учитывать при выборе периферийных устройств BTCFi. Будучи важным объектом в экосистеме BTCFi, CKB применяет инклюзивный подход. Подход заключается в том, чтобы создать необходимые условия для максимально массового внедрения BTCFi как на стороне разработчиков, так и на стороне пользователей.