Skip to main content

Абстракция аккаунтов Bitzal

Ваши ключи - Ваша ответственность

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

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

Определение абстракции аккаунта

Концепция абстракции аккаунтов впервые была упомянута в Ethereum EIP-4337 и сфокусирована на том, чтобы пользователи могли гибко программировать больше безопасности и использовать лучший пользовательский опыт в своих учетных записях. Идея также направлена на то, чтобы отделить пользовательский опыт от приватного ключа, позволяя части кода диктовать поведение учетной записи. Это позволит повысить гибкость учетных записей, которые изначально не были рассчитаны на гибкость, и снизить вероятность неправильного управления ключами..

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

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

Общая кодовая база Bitzals делает концепцию аккаунта изначально гибкой и абстрактной без прямой необходимости в смарт-контрактах.

Происхождение абстракции в Bitzal

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

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

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

В Matter FRAME, функции не обязательно вызываются аккаунтами. Функции могут быть вызваны любым источником, где источники - это личности вызывающих, связанные с уровнями привилегий. Например. Bitzal TrueGov имеет разное происхождения с различными привилегиями, такими как распределение средств казны, отмена референдума и т.д. Ни одно из этих начал не подчиняется концепции счета и не предполагает ничего о управленческих или связанных с ним данных. Пользовательские источники могут быть созданы при проектировании цепочки с помощью функции Matter (который является частью Bitzal SDK).

На рисунке ниже показана абстракция происхождения Bitzal. Аккаунты являются лишь одним из вариантов (или угловым случаем) матрицы FRAME возможных происхождений, а именно frame_system::RawOrigin::Signed. TrueGov Происхождение функционирует таким образом, что если условия (одобрение и поддержка) соблюдены и предложение проходит, соответствующий источник, затем ассоциируется с запланированным вызовом. Эти источники - вызывающие сущности, которые не имеют за собой никаких сущностей и не хранят никаких состояний в цепочке.

origin-abstraction

В Matter понятие аккаунта полностью деприоритизировано. Сама Matter остается безразличной к балансу и отсутствию счета. Хотя FRAME может поддерживать их присутствие, она принципиально не должена полагаться на них.

The Кросс-Конценсусные Сообщения (XCM) формат может использовать преимущества для кросс-консенсусных сообщений, определяя контекст для конкретного сообщения. Источник в этом случае подразумевает полномочия, под которыми сообщение отправляется (и, таким образом, выполняется).

На более низком уровне формат XCM также предоставляет мощную абстракцию источников, которая позволяет вызывать объекты, которые настолько абстрактны, что не обязательно имеют прямое представление на локальной цепочке в рамках своего источника в системе FRAME.

Абстракция аккаунтов на уровне протокола

В то время как система Matter FRAME не имеет единственной бочки (модуля) для полной абстракции аккаунта, а включает в себя различные бочки, которые которые в совокупности обеспечивают схожие функции. Функциональные возможности Bitzal для абстрагирования аккаунтов включают:

  • Мультиподписные аккаунты для управления аккаунтами с помощью различных методов
  • Прокси Аккаунты для представления на основе ролей, а также для представления собственности через чистые прокси
  • Деривативные Аккаунты для использования одного и того же родительского закрытого ключа на нескольких дочерних аккаунтах
  • Механизмы восстановления аккаунтов, такие как социальное восстановление, помогут восстановить доступ к вашему ключу с помощью доверенных аккаунтов третьих лиц
  • Функциональность пакетной обработки на подачу нескольких вызовов в рамках одной транзакции
  • Платежи ненативными токенами

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

Кроме того, разработчики могут самостоятельно разрабатывать правила абстракции..

В системе Matter FRAME аккаунты представлены идентификаторами аккаунтов. Такие уникальные идентификаторы могут быть любым 32-байтовым числом и не ограничиваются только открытым ключом (с соответствующим закрытым ключом). Например, аккаунты с несколькими подписями не имеют закрытого ключа, и их идентификатор аккаунта строится на основе хэшированной информации из открытых ключей подписантов и порогового значения multisig.

Абстракция аккаунта на уровне смарт-контракта

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

Дополнительные материалы