Что такое абстракция аккаунта и почему все об этом говорят?

Что такое абстракция аккаунта и почему все об этом говорят?

24 декабря 2022 г.

Недавно я говорил с сообществом об абстракции аккаунта. В этой статье мы разберемся, что это такое, и постараемся подробно осветить тему. Формат статьи – ответы на вопросы, которые были присланы мне на сайте Newton.so, а также вопросы, которые я задавал спикерам на подкаст 101 Account Abstraction.

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

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

То же развитие можно увидеть в Web 3.0. В этой статье я попытаюсь получить тезисы разных людей об абстракции учетных записей (АА). Newton — это переполнение стека web3. Будучи там разработчиком, я задавал сообществу вопросы об АА. Мы вышли в эфир с первопроходцами, внедряющими АА: Жюльеном, сооснователем ArgentX, представителями StarkNet, zkSync и владельцем охранной компании Ginger Labs. Мы задавали им много разных вопросов об АА.

Что такое АА в одном предложении?

<цитата>

Абстракция означает, что каждая учетная запись представляет собой смарт-контракт, который может содержать логику и реализовывать потоки, такие как социальное восстановление, мониторинг мошенничества, множественные звонки и т. д. Так что на самом деле каждая учетная запись представляет собой смарт-контракт. Жюльен Низель (соучредитель Argent)

<цитата>

На мой взгляд, речь идет о переносе аутентификации пользователей из сети на смарт-контракт и предоставлении разработчикам кошельков возможности решать, как аутентифицировать своих пользователей. Генри (защитник разработчиков в StarkWare)

<цитата>

Для меня это просто будущее блокчейна и то, что принесет массовое распространение. Для меня абстракция учетной записи — это величайшее событие, произошедшее с криптографией со времен смарт-контрактов, и я действительно в это верю. Гершон Баллас (основатель Ginger Security)

Что такое абстрактный аккаунт?

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

Статус-кво

  • Сегодня в Ethereum существует два типа учетных записей: контрактные учетные записи и учетные записи, принадлежащие внешним владельцам (EOA, последний из которых — учетные записи обычных пользователей).
  • Чтобы что-либо произошло в сети, транзакция должна быть инициирована и оплачена EOA.
  • Управлять EOA можно с помощью закрытого ключа. Вы используете этот закрытый ключ для создания подписи, которая подтверждает блокчейну, что это ваша учетная запись.

Почему это не работает

  1. При такой настройке ваш закрытый ключ делает вас уязвимым. Если вы его потеряете, вы потеряете свой аккаунт и все свои средства. Недавно мой друг случайно загрузил свой главный закрытый ключ на общедоступный GitHub. сканирующий бот мгновенно подхватил его и опустошил его счет со всеми его сбережениями. Токенов на сумму 15 000 долларов США.
  2. Основная проблема заключается в том, что система негибкая и жестко запрограммирована. Вы можете реализовать мультиподписные кошельки смарт-контрактов, такие как Gnosis Safe, но по умолчанию это так: вы получаете учетную запись с ключом, и если вы потеряешь ключ, тебе конец.
  3. Альтернатива кастодиальным счетам, таким как Coinbase, не идеальна. Если их взломают, у вас будет та же проблема. Это даже хуже, чем когда многие номера кредитных карт раскрываются после взлома. Поскольку вы не можете реализовать максимальные суммы транзакций на классической учетной записи EOA, хакер может вывести все ваши средства за одну транзакцию. Это единая точка отказа, и правительствам очень легко произвольно конфисковать или заморозить все ваши деньги, как недавно сделал Джастин Трюдо из Канады, вырезание протестующих, которые ему не нравились, из финансовой системы.

# Как АА улучшает все?

  • Абстракция учетной записи объединяет контрактные учетные записи и EOA. Это делает учетные записи пользователей более «программируемыми». Вы удаляете логику подписания транзакций из учетной записи и «абстрагируете» ее, следовательно, абстрагируете учетную запись.
  • Это открывает большую гибкость, вы можете закодировать учетную запись для мульти-подписи, двухфакторной аутентификации, ограничений на снятие средств и истечения срока действия ключей… Это немного похоже на то, что Виртуальные карты Revolut переведены на кредитные карты.
  • Это очень интересно, потому что позволяет масштабировать UX блокчейна, не связанного с тюремным заключением. (Можете ли вы действительно представить себе риск для безопасности, если позволить вашим родителям управлять своими закрытыми ключами, когда их пароль электронной почты «Майами1973», они всегда забывают его и пишут на столе?)

Виктор Форисье, основатель Newton

Как кошельки абстрактных учетных записей взаимодействуют с закрытыми ключами?

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

Таким образом, можно закодировать любой вид контракта с аккаунтом, и на ваш вопрос может быть столько ответов, сколько существует реализаций контракта с аккаунтом.

Есть несколько ключевых вопросов о хранении ключей в новой парадигме "абстракции аккаунта":

  1. Могу ли я восстановить свой ключ, если я его потеряю? Правильно сгенерированный ключ невозможно восстановить, если он потерян. Однако ваш смарт-контракт может реализовать определенную логику на случай, если вы его потеряете. Например, его можно настроить таким образом, чтобы другой ключ вступал в силу, если исходный ключ не взаимодействует с контрактом в течение определенного периода времени.
  2. Могу ли я иметь кошелек без ключа? Если вы можете найти способ безопасной аутентификации пользователя без использования ключа, вы можете реализовать его в своем смарт-контракте. В рамках этой парадигмы также возможны общие кошельки, в которых каждый может выполнять любые действия.
  3. Могу ли я легко создавать новые кошельки, как в функции «Добавить учетную запись» в Metamask, с помощью только одной исходной фразы? Да, можно легко создавать новые кошельки только с одной исходной фразой, аналогичной Функция «Добавить учетную запись» в Metamask.

Эта информация основана на ответах из треда.

Почему мы говорим об абстракции аккаунта именно сейчас?

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

Вам нужна прочная основа, и вы хотите, чтобы эта технология поддерживала большое количество пользователей. Поэтому мы действительно сосредоточились на базовой технологии и масштабировании. И, конечно же, если вы посмотрите на повествование об Эфириуме, то увидите, что в течение последних двух лет речь шла о доказательстве доли и масштабировании. Теперь ясно, что миллиарды пользователей должны использовать блокчейн. Следующий вопрос: "Хорошо, но как пользователи будут взаимодействовать с этим блокчейном?"

Текущая модель взаимодействия с блокчейном опирается на EOA, а это означает, что пользователям необходимо защищать пароль. Это никогда не будет масштабироваться, и это то, что мы поняли четыре или пять лет назад. Прямо сейчас экосистема достигает этой точки. Мы решили проблему масштабирования, поэтому следующая проблема заключается в следующем: «Хорошо, теперь мы можем принимать людей на борт, но они понимают, что должен произойти сдвиг парадигмы и что нам нужно найти другие способы, чтобы пользователи могли управлять собой. -опека." В своих выступлениях об абстракции аккаунта я обычно говорю, что абстракция аккаунта на самом деле связана с масштабированием UX самообслуживания.

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

Жюльен Низель (Аргент)

Каковы отличные примеры абстракции нашей учетной записи в корпоративном мире?

Я думаю, что это открывает так много возможностей. Например, представьте себе Netflix или Disney Plus, где вы можете иметь учетную запись для своей семьи и дополнительные учетные записи в своей учетной записи, где у вас больше контроля. Это легко сделать с помощью абстракции аккаунта, где у вас есть разрешение на настройку дочерних аккаунтов и определение того, что им разрешено смотреть.

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

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

Рамон Каналес (продукт на zkSync)

Почему такие компании, как StarkNet, поддерживают абстракцию аккаунта?

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

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

Генри (защитник разработчиков в StarkNet)

В чем разница между zkSync и StarkNet в отношении абстракции аккаунта?

Я думаю, основное отличие заключается в том, что zkSync совместим с EVM, то есть предназначен для разработчиков, использующих код Solidity. Это, безусловно, одно из основных отличий, и, вероятно, есть много других меньших. Отдельные реализации отличаются, как и базовые приложения. Например, используется язык Solidity в zkSync и Cairo в StarkNet.

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

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

Рамон Каналес (продукт на zkSync)

Насколько безопасно использовать абстракцию учетной записи?

Что касается преимуществ безопасности абстракции учетной записи, мы работаем над проектом на стадии идеи, который не хочет следовать FTX. Они хотят, чтобы их пользователи знали, что их средства в безопасности, и чтобы они сами хранили их, но они также хотят иметь простой процесс регистрации, такой как на CEX. Короче говоря, им нужна простота использования централизованных бирж с безопасностью DEX.

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

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

Гершон, основатель Ginger Security

Дополнительные ресурсы об абстракции аккаунта

О проектах

Argent – криптовалютный кошелек со смарт-контрактами, который позволяет пользователям безопасно хранить, управлять и взаимодействовать с свои цифровые активы. Он разработан, чтобы быть удобным для пользователя, и это один из первых кошельков, который имеет встроенную поддержку абстракции учетной записи

zkSync — сокращение от Zero-knowledge (zk). Это EVM-совместимое решение для масштабирования уровня 2 ( ZK-Rollup) на Ethereum, который предлагает низкие затраты газа и быстрые транзакции без ущерба для безопасности

StarkNet. StarkNet – это не требующий разрешения децентрализованный накопительный пакет достоверности (часто называемый ZK-накопительным пакетом). Он работает как сеть L2 поверх Ethereum, позволяя любому децентрализованному приложению достигать неограниченного масштаба вычислений — без ущерба для компонуемости и безопасности Ethereum

Ginger Security — компания, занимающаяся веб3-безопасностью, предоставляющая консультации по безопасности, сквозное тестирование на проникновение и аудит смарт-контрактов

Newton — место для обмена знаниями. Платформа с токенами, где можно задавать вопросы о блокчейне и web3 и отвечать на них, где вы можете назначать награды за свои вопросы и повышать скорость разработки программного обеспечения

Об авторе

Александр Малышев — инженер-программист и предприниматель, специализирующийся на разработке бэкенда и хакинге роста. Он является опытным руководителем Open Innovations, который проводит и организует известные соревнования по программному обеспечению в Восточной Европе. Александр — бывший исполнительный директор Steinbeis Consulting Center AI (STAI) в Штутгарте. В настоящее время он работает в Web3 и занимается исследованием новых технологий.


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE