Краткое содержание
«Не ваш ключ, не ваша монета», независимо от кошелька смарт-контракта или кошелька личного аккаунта, закрытый ключ имеет абсолютный контроль над кошельком. Как только закрытый ключ утерян, наш кошелек полностью подвергается риску.
Закрытый ключ — это основа кошелька, а мнемоническая фраза — решение для восстановления закрытого ключа, что также является в настоящее время препятствием для развития кошелька.
Решение беспомощной словесной памяти, предложенное MPC и социальным восстановлением, является основой массового усыновления.
Больше возможностей для будущих кошельков, ожидания от EIP-4337
текст
В 2010 году у Виталика Бутерина, основателя Ethereum, был аккаунт чернокнижника в World of Warcraft. Однажды Blizzard решила резко сократить количество персонажей-чернокнижников и убрать часть магического урона из заклинания выкачивания жизни. Он плакал, пока не заснул, и в тот день, осознав ужасы централизованных серверов, решил уйти и создать децентрализованную сеть Ethereum. В ноябре 2022 года FTX, крупнейшая в мире биржа деривативов, была уличена в незаконном присвоении средств пользователей. Основатель SBF был арестован багамской полицией и готовился к передаче в США для суда.
От игрока-чернокнижника, которого Blizzard необъяснимо нанесла удар в спину 13 лет назад, до пострадавших пользователей FTX, защищающих свои права сегодня, мы все больше осознаем важность фразы «Ни твой ключ, ни твоя монета»: даже с учетом сторонних проверок/ Регулирующие органы и централизованные серверы по-прежнему могут подделывать и скрывать данные по своему усмотрению. В децентрализованной сети реестр в цепочке прозрачен и не может быть подделан. Пока у нас есть закрытый ключ нашей собственной учетной записи, мы имеем абсолютный контроль. над нашими личными активами.
Децентрализация – это прекрасно, но какой ценой?
Мы, живущие в сети блокчейна, являемся первыми лицами, ответственными за наши личные активы. Самый важный компромисс для большинства пользователей при выборе ончейн-кошелька заключается в том, какой риск и ответственность я готов взять на себя за свои активы? Возьмем в качестве примера традиционные финансовые учреждения:
По мнению пользователей, которые заботятся о безопасности, они надеются разместить свои деньги в банке со сложными процедурами открытия счетов, но в больших масштабах: Безопасность фондов (риск) крупных банков > Стандартные и строгие процедуры открытия счетов (ответственность)
По мнению пользователей, которые стремятся к практичности, они могут просто положить свои деньги в WeChat и Alipay. WeChat и Alipay могут легко выполнять P2P-транзакции, и для завершения регистрации им требуется только удостоверение личности и номер мобильного телефона, даже если WeChat и Alipay — это просто. Две листинговые компании, а не банковские учреждения, поддерживаемые государством: удобство WeChat (ответственность) > операционный статус WeChat (риск)
Возвращаясь к web3, у нас есть два способа хранения активов в web3: кастодиальные и некастодиальные кошельки. Перед этим нам нужно кратко представить принцип работы кошельков:
Кошелек и закрытый ключ
Генерация учетной записи — это процесс создания закрытого ключа. В Ethereum существует два типа учетных записей: учетные записи EOA (внешняя собственная учетная запись, внешние учетные записи) и контрактные учетные записи (смарт-контракты, развернутые в цепочке через учетные записи EOA):
Взяв в качестве примера учетную запись EOA,

адрес ЕОА
Генерируя 256-битное случайное число в качестве закрытого ключа, а затем используя закрытый ключ для получения соответствующего открытого ключа с помощью алгоритма SHA3, а затем используя keccak-256 для вычисления адреса (последние 20 байтов исходного хэша) , уникальный Личный кабинет, соответствующий закрытому ключу. В ходе этого процесса закрытый ключ рассчитает и сгенерирует 12 мнемокодов, и мы сможем использовать мнемонику для повторного получения закрытого ключа.

В настоящее время наиболее распространенными кошельками dApp в основных основных цепочках являются кошельки EOA, такие как Metamask, Phantom (Solana), BSC Wallet (BSC) и Keplr (Cosmos).
2. Смарт-аккаунт — это часть кода EVM, развернутая в цепочке через учетную запись EOA, которая может реализовывать различные функции. Но в отличие от учетной записи EOA, учетная запись контракта не имеет закрытого ключа и не может быть активно исполнена. Таким образом, окончательный контроль над кошельком смарт-контракта = закрытый ключ учетной записи EOA, используемый для развертывания. Если понимать на этом уровне контракт, учетные записи смарт-контракта также контролируются закрытыми ключами. Пока адрес кошелька является контрактом, это кошелек со смарт-контрактом.
Кошельки со смарт-контрактами делятся на кошельки с несколькими подписями (учетная запись Multisig) и абстрактные кошельки учетной записи (абстрактная учетная запись):
Кошельки с мультиподписями. Еще в 2013 году кошельки с мультиподписями стали лучшим выбором для МВФ. Эта технология изначально была разработана в экосистеме Биткойн, и теперь в Ethereum есть отличные кошельки с мультиподписями (например, Gnosis Safe): Ethereum Foundation использует кошелек с мультиподписью 4 из 7 (то есть создайте смарт-контракт для хранения средств и контроля контракта через 7 учетных записей EOA. Только когда подписывается более 4/7 учетных записей EOA, подпись может быть завершена).
Абстракция учетной записи использует один кошелек EOA для управления адресом контракта для достижения эффекта моделирования EOA с помощью смарт-контрактов. Все популярные проекты, такие как Argent/Loopring, относятся к кошелькам абстракции учетной записи.

Адрес контракта Apecoin
3. После создания учетной записи любые действия в сети, в которых мы участвуем, неотделимы от участия закрытого ключа.
Согласно вступлению учителя Ляо Сюэфэна:
В децентрализованной сети нет такого учреждения доверия, как банк. Если вы хотите осуществить транзакцию между двумя узлами, вы должны реализовать механизм безопасных транзакций при нулевом доверии.
Предположим, что Сяо Мин и Сяо Хун хотят заключить сделку. Один из способов заключить сделку — это заявить Сяо Хун, что Сяо Мин дал ему 10 000 юаней, что явно неправдоподобно;
Другой способ создания транзакции: Сяо Мин утверждает, что он дал Сяо Хуну 10 000 юаней. Если можно подтвердить, что это заявление действительно сделано Сяо Мином, а у Сяо Мина действительно есть 10 000 юаней, транзакция считается эффективной. .
Как проверить заявление Сяо Мина?
Подпись, созданная с помощью закрытого ключа, позволяет верификатору подтвердить инициатора утверждения: любой может использовать открытый ключ для сравнения цифровой подписи и результата передачи. Поскольку только Сяо Мин с закрытым ключом может инициировать это утверждение, это могу сделать я. Я убежден, что это заявление действительно было сделано Сяо Мином.
В сети Ethereum к таким транзакциям относятся не только P2P-транзакции, но и вызовы смарт-контрактов.
Поэтому, когда мы используем кошелек ежедневно, это эквивалентно вызову локального закрытого ключа через платформу кошелька для завершения подписи в цепочке.
Безопасность кошелька, пороги и устойчивость к цензуре
Все в кошельке построено на закрытых ключах. Кошелек — это, по сути, инструмент, который 1. создает закрытый ключ, 2. хранит закрытый ключ, 3. использует закрытый ключ, 4. создает резервную копию закрытого ключа, 5. восстанавливает текущую основную резервную копию закрытого ключа. Решением для восстановления является мнемоника Words, то есть словосочетания 12/24, которые появляются при регистрации кошелька:
Мнемоническая фраза может вывести простой текст закрытого ключа. Когда пользователь переносит кошелек на новое устройство, ему нужно всего лишь ввести мнемоническую фразу в приложении кошелька, чтобы получить закрытый ключ и восстановить контроль над кошельком.
Для пользователей закрытый ключ = мнемоническая фраза, но эти две концепции по-прежнему различны при ежедневном использовании кошелька: мнемоническая фраза — это решение для резервного копирования и восстановления закрытого ключа пользователя.
Аналогия: мнемоника эквивалентна копированию вашего ключа. Когда ваш ключ утерян, вы можете использовать мнемонику для создания идентичного ключа.

Поскольку закрытый ключ — это наши единственные учетные данные для взаимодействия с сетью блокчейн, мы несем ответственность за обеспечение безопасности закрытого ключа и мнемонической фразы нашего кошелька. Конечно, самый безопасный способ создать учетную запись — создать учетную запись в автономной среде и сгенерировать собственный адрес, запуская случайные числа (закрытые ключи) и алгоритмы SHA256 через код. Однако этот порог, несомненно, слишком высок и не подходит. для большинства пользователей. Поэтому при выборе кошелька пользователям необходимо учитывать три момента: безопасность, порог и устойчивость к цензуре:
Безопасность: Насколько дорого хакеру взломать закрытый ключ/мнемоническую фразу кошелька?
Если взять в качестве примера аппаратные кошельки, хакеры могут получить личные ключи пользователей только посредством фишинга или кражи личных ключей в автономном режиме.
Порог: насколько легко использовать кошелек?
Процесс регистрации Metamask требует, чтобы пользователи записали 12 мнемокодов, и 12 мнемокодов необходимо ввести повторно при смене устройства. Регистрация на бирже Binance и вход в устройство могут быть завершены одним щелчком мыши по электронной почте.
Устойчивость к цензуре: находится ли окончательный контроль над кошельком за пользователем.
Если приложение-кошелек сохраняет открытый текст мнемонической фразы, импортированной пользователем, и загружает его на сервер, хакеры могут украсть кошелек пользователя, взломав сервер. И даже если хакерской атаки не будет, все равно остается вероятность того, что сторона проекта Slope совершила кражу и не добилась сопротивления цензуре.
Существует две основные категории кошельков: кошельки, не связанные с хранением, и кошельки с централизованным хранением.
Некастодиальный кошелек: пользователи сохраняют собственные мнемонические фразы
а. В качестве примера возьмем основной кошелек Metamask. MetaMask — это криптовалютный кошелек, не предназначенный для хранения (или самостоятельного хранения). Некастодиальный означает, что MetaMask не хранит никаких данных о кошельке, а все данные закрытого ключа находятся в браузере или мобильном приложении на локальном уровне. Когда пользователю необходимо выполнить действия по подписанию в цепочке, MetaMask вызовет частный ключ. ключ из локального файла для подписи. А если закрытый ключ и мнемоническая фраза пользователя будут утеряны/украдены, Metamask не сможет помочь пользователю восстановить его, и активы пользователя будут безвозвратно потеряны.
б. Признанный самым безопасным аппаратным кошельком (например, Ledger), аппаратное устройство используется для генерации закрытого ключа и адреса кошелька в автономном режиме, а затем открытый ключ адреса импортируется в веб-кошелек, такой как Metamask. требуется подпись, Ledger Аппаратное обеспечение подтверждается в автономном режиме. Поскольку закрытый ключ вообще не касается Интернета, хакерам сложно украсть закрытый ключ в аппаратном кошельке. Однако если пользователь потеряет мнемоническую фразу или подвергнется фишингу, защитный эффект аппаратного кошелька будет сведен к нулю, а активы пользователя все равно будут украдены.
Хостинг-кошелек
Биржевые кошельки, такие как Coinbase/Binance, используют метод управляемого кошелька. Разница в том, что учетная запись, отображаемая в Coinbase, не содержит собственного закрытого ключа пользователя, а представляет собой только учетный номер, отображаемый в программе Coinbase, а не в Etherscan. Под активами цепочки можно понимать пользователей, доверяющих Coinbase и доверяющих активы Coinbase вместо того, чтобы владеть ими самостоятельно, поэтому учетные записи Coinbase не могут взаимодействовать с dAPP, такими как Uniswap.

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

Недостатки мнемосхем
По мере того, как WEB3 продолжает развиваться, появляется все больше и больше требований и сценариев применения, а экология в сети процветает. Особенно Defi Summer в 2021 году привлекло большое количество пользователей, которые изначально торговали на биржах только для того, чтобы перенести свои активы на On. В цепочке по состоянию на март 2022 года количество активных пользователей MetaMask достигло 30 миллионов. Однако в то же время, как самое распространенное мнемоническое решение для восстановления учетной записи, мнемонические фразы стали основной целью хакеров: для обычных пользователей они наиболее распространены. Случай кражи кошелька заключается в том, что мнемоническая фраза копируется в буфер обмена или файл закрытого ключа, хранящийся локально, украден фишинговым веб-сайтом.
Когда хакер атакует, ему необходимо измерить стоимость атаки и полученное вознаграждение. Все закрытые ключи (12 мнемонических слов) являются подмножествами словаря. Пока словарь исчерпан, хакер может получить все активы в хранилище. цепь. . Однако такое соотношение ввода-вывода плохое, если словарь упорядочивает все комбинации с помощью алгоритма грубой силы;
В настоящее время основные мнемонические слова состоят из 12 английских слов, а словарный запас насчитывает в общей сложности 2048 слов. То есть 2048^12=5.44e39 видов (5444517870735000000000000000000000000000);
Если использовать такую огромную вычислительную мощность, хакеры уже смогут контролировать сеть BTC посредством атаки 51%;
Таким образом, метод с более высокой вероятностью возврата для хакеров — получить мнемоническую фразу пользователя посредством фишинга или украсть закрытый ключ, сохраненный на локальном устройстве пользователя.
Продолжая пример с метамаской, есть два места, где хакер может получить сохраненную мнемоническую фразу и закрытый ключ:
Мнемоническая фраза
а. После создания кошелька пользователю необходимо сохранить сгенерированную мнемонику. Обычно рекомендуется скопировать ее на белый лист бумаги с помощью ручки и сохранить правильно. Однако есть и ленивые люди, которые будут использовать для этого буфер обмена. скопируйте, вставьте и сохраните его в документе или даже в истории чата WeChat;
б. Если хакер установил вредоносное ПО на телефон/компьютер пользователя и постоянно контролирует буфер обмена пользователя, он или она может украсть вновь созданный закрытый ключ. Например, QuickQ VPN копировал буфер обмена пользователей для кражи мнемонических фраз.
закрытый ключ
а. При этом Metamask обычно шифрует закрытый ключ и сохраняет его на локальном устройстве, где создан кошелек, чтобы его можно было вызвать в любое время, если в Chrome установлен плагин Metamask:
i. В месте хранения в Windows адрес хранения закрытого ключа Metamask:
C:\Users\ИМЯ_ПОЛЬЗОВАТЕЛЯ\AppData\Local\Google\Chrome\User Data\Default\Local Extension Settings\nkbihfbeogaeaoehlefnkodbefgpgknn
ii Место хранения на Mac: Библиотека>Поддержка приложений>Google>Chrome>По умолчанию>Настройки локального расширения>nkbihfbeogaeaoehlefnkodbefgpgknn.
б. Безопасность Metamask зависит от безопасности Chrome. После взлома брандмауэра Chrome хакер может получить закрытый ключ адреса пользователя и передать все активы. Вот почему аппаратные кошельки безопаснее, чем подключаемые кошельки, такие как Metamask.
Помимо Metamask, некоторые неуправляемые кошельки даже не достигают высокой устойчивости к цензуре, например, инцидент с кражей кошелька Slope на Solana: мобильное приложение Slope отправляло мнемонические слова на свой сервер Sentry через TLS при создании кошелька Phantom. Мнемоническая фраза: затем сохраняется в виде открытого текста, то есть любой, у кого есть доступ к Sentry, может получить доступ к закрытому ключу пользователя.
Кроме того, есть и другие инциденты с безопасностью кошельков, достойные нашего внимания:
Аккаунт EOA украден
Украден кошелек основателя Fenbushi Capital:
Причиной кражи кошелька Шен Бо стала утечка мнемонической фразы. В момент кражи использовался кошелек Trust Wallet. Украденная сумма включала примерно 38,23 миллиона долларов США, 1 607 ETH, 720 000 долларов США и 4,13 BTC.
Кошелек Wintermute подвергся атаке и потерял около 160 миллионов долларов США. Причина кражи заключалась в том, что Wintermute использовала Profanity для создания кошелька Vanity с целью экономии платы за газ (начиная с 0x0000000, что позволяет экономить газ при вызове смарт-контрактов):
Ненормативная лексика предназначена для того, чтобы помочь людям создавать учетные записи со специальными визуальными эффектами, например учетную запись, которая начинается или заканчивается специальными символами. С другой стороны, некоторые разработчики используют ее для создания учетных записей, которые начинаются с большого количества нулей.
После того, как Profanity получит первый 32-битный закрытый ключ SeedPrivateKey, чтобы столкнуться с требуемым адресом учетной записи, он будет непрерывно повторять закрытый ключ по фиксированному алгоритму до 2 миллионов раз (значение взято из статьи, раскрытой 1inch). . Когда PublicKey известен, мы можем получить SeedPrivateKey путем исчерпывающего перечисления SeedPrivateKey и Iterator. Сумма вычислений составляет примерно 2 ^ 32 раза по 2 миллиона раз. Видеокарта с мощной вычислительной мощностью может выполнить это за несколько дней или даже несколько. часы.
Контрактный аккаунт украден
Адрес развертывания контракта Paraswap был украден:
Согласно отчету о расследовании SlowMist: хакерский адрес (0xf358..7036) получил разрешения на секретный ключ ParaSwap Deployer и QANplatform Deployer. Хакер снял 1000 долларов США с ParaSwap Deployer и перевел их на адреса развертывания QANplatform и обратно в качестве теста. Мы использовали платформу AML для анализа адресов 0xf358..7036 и обнаружили, что хакер также украл The SolaVerse Deployer и множество других красивых адресов. На сегодняшний день хакеры украли более 170 000 долларов.
Ronin Bridge был взломан в марте этого года, что привело к потере 173 600 ETH и 25,5 миллионов долларов США:
Хакер создал несуществующую компанию, связался со старшим инженером Экси через Linkedin и WhatsApp, заманил его новыми вакансиями, устроил собеседование и, наконец, предложил щедрую зарплату. Однако файл с предложением был ядовитым, поэтому он добился успеха. вторгся в систему Axie и украл. Инженер развертывает закрытый ключ адреса EOA контракта.
Мнемосхема не только является основной целью хакеров, но и является высоким порогом, который не позволяет новым пользователям войти в WEB3.
При создании кошелька вам необходимо вручную скопировать 12 слов в целях безопасности, и лучше не фотографировать этот технический документ, а сохранить его. Даже используя надежное программное обеспечение для сохранения паролей с открытым исходным кодом (например, 1password), мы не можем использовать удобное сохранение паролей из-за риска кражи буфера обмена.
При восстановлении кошелька, то есть при смене устройства входа, вам необходимо перевернуть этот документ и повторно ввести 12 слов.
Хранение листа белой бумаги с написанными на нем 12 словами звучит очень ненадежно и ненадежно3: Мы с нетерпением ждем возможности жить в будущем метавселенной, но безопасность наших учетных записей зависит от листа белой бумаги, изобретенного во времена династии Сун. На данный момент этих двух шагов достаточно, чтобы отговорить большинство игроков web2. В конце концов, в мире web2 в большинство процессов регистрации можно войти одним щелчком мыши, используя учетную запись Google/iOS.
Новое решение для восстановления аккаунта без запоминания слов
Чтобы снизить порог кошелька и привлечь больше пользователей для входа в WEB3, нам необходимо использовать решения для входа в социальные учетные записи, такие как Web2, без потери безопасности и устойчивости кошелька к цензуре. Поэтому нам нужно более удобное и безопасное решение для восстановления аккаунта. Все текущие дискуссии указывают на конец: беспомощная память. В настоящее время существует два решения для беспомощных слов: решение MPC и решение для социального восстановления.
Решение MPC: закрытый ключ рассчитывается и генерируется несколькими сторонами, что позволяет избежать единичных происшествий, вызванных потерей/кражей закрытого ключа пользователя.
Это можно понимать так: MPC — это 3FA. Каждый метод проверки содержит фрагмент ключа. Дверной замок не имеет отдельного ключа. При утере одного из фрагментов ключа пользователь может использовать другие методы проверки для восстановления утерянного ключа. . ключевой фрагмент
Решение для социального восстановления: храните средства в смарт-контрактах, контролируемых кошельком EOA с помощью решения с несколькими/одной подписью, и назначайте доверенного стороннего опекуна. Когда закрытый ключ кошелька EOA утерян, сторонний хранитель заменяет его. контроль контракта, поэтому пользователю не нужно сохранять мнемоническую фразу.
Текущие дискуссии обычно обсуждают кошельки социального восстановления и абстракции учетных записей одновременно. Следует отметить, что решение социального восстановления является стандартом и функцией смарт-контрактов, предложенных EIP-2429 в 2019 году, что означает, что пользователи могут контролировать контракт через опекунов. Закрытый ключ заменен; недавно горячо обсуждавшийся EIP-4337 представляет собой дискуссию об абстракции учетной записи, которую мы обсудим в следующей главе.
Решение MPC
Решение MPC заключается в том, что при создании кошелька EOA несколько сторон совместно создают фрагменты закрытого ключа. В 2019 году на выставке CRYPTO 2019 была опубликована статья «Двусторонняя цифровая подпись на основе эллиптической кривой, основанная на безопасных многосторонних вычислениях», что официально сделало реализацию MPC в поле зрения каждого. MPC означает безопасные многосторонние вычисления.
Многосторонние вычисления (MPC) — это отрасль криптографии, которая началась с новаторской работы Эндрю К. Яо почти 40 лет назад. Используя многосторонние вычисления, генерацию закрытых ключей больше не нужно завершать в одной точке, они могут рассчитываться и храниться группой из нескольких сторон (n сторон), которые не доверяют друг другу (n фрагментированных закрытых ключей). Эта технология называется DKG (распределенная генерация ключей).
Генерация распределенных ключей может осуществляться таким образом, чтобы допускались различные типы структур доступа: обычная установка «t из n» (действительная подпись может быть подтверждена, пока в подписи участвует t из n фрагментов закрытого ключа). сможет выдерживать до t произвольных сбоев в операциях, связанных с закрытыми ключами, без ущерба для безопасности.
Схема пороговой подписи (TSS) — это название комбинации распределенной генерации ключей (DKG) и распределенных подписей.
При этом, когда фрагменты закрытого ключа одной из сторон утеряны/обнародованы, решение MPC поддерживает восстановление и замену фрагментов закрытого ключа, обеспечивая безопасность учетной записи без смены учетной записи.
Решение MPC гарантирует, что полный закрытый ключ не появится при создании, использовании, сохранении, резервном копировании и восстановлении учетной записи. Благодаря совместному созданию/хранению фрагментов закрытого ключа несколькими сторонами и схеме пороговой подписи TSS «t из n», достигается достижение. уровень лучше, чем Metamask. Удобнее создавать/хранить кошельки с закрытыми ключами в одной точке. Безопасность и устойчивость к цензуре: по сравнению с традиционными мнемоническими фразами, он значительно повышает безопасность пользователя и даже сравним с аппаратными кошельками.
безопасность
a. Отсутствие закрытого ключа/мнемоники: в процессе создания кошелька каждая сторона (участник проекта кошелька и пользователь) генерирует фрагменты закрытого ключа через MPC. Полный закрытый ключ никогда не появляется в течение всего процесса. Можно понять, что MPC является действительно частным. кошелек без ключа;
б. Стоимость хакерских атак значительно возрастает: даже если хакер проникнет в локальное устройство пользователя, он сможет получить только фрагменты закрытого ключа. Только когда хакер овладеет сервером кошелька + локальным устройством пользователя, он сможет украсть собственность пользователя.
порог:
Социальный вход: пользователи могут создавать учетные записи в кошельке MPC с помощью таких методов проверки личности, как электронная почта (при условии, что кошелек MPC использует схему подписи 2/2, то есть для подписи можно использовать два фрагмента закрытого ключа одновременно).
Цензурное сопротивление:
Централизованное учреждение (кошелек/устройство резервного копирования) хранит только фрагменты закрытого ключа учетной записи и не может контролировать учетную запись пользователя.
программа социального восстановления
Решение социального восстановления развертывается на учетной записи смарт-контракта. Кошелек смарт-контракта можно понимать как использование учетной записи EOA для развертывания контракта для управления средствами в цепочке. Это то же самое, что и обычный смарт-контракт EOA-кошелька. контроль над смарт-контрактом.
Кошелек со смарт-контрактом не является частным решением без ключа, поскольку контролируемый кошелек EOA имеет закрытый ключ;
Но кошельки со смарт-контрактами могут изменять закрытые ключи подписи пользователей с помощью схем социального восстановления;
Решение социального восстановления — попросить опекуна заменить ваш ключ после его утери.
Через два года после предложения EIP-2929 Виталик впервые предложил на форуме вариант применения кошелька социального восстановления в 2021 году:
При создании кошелька со смарт-контрактом пользователи могут назначить другие адреса EOA в качестве «опекунов». Адрес «опекуна» необходимо подписать в цепочке для подтверждения и оплатить комиссию за газ;
Учетная запись EOA пользователя служит «закрытым ключом для подписи» и может использоваться для одобрения транзакций;
Существует как минимум 3 (или более) «опекуна» учетных записей EOA, которые не могут утверждать транзакции, но могут изменить «закрытый ключ подписи». Изменение «закрытого ключа подписи» также требует от «опекуна» уплаты комиссии за подтверждение подписи;
Подписывающий закрытый ключ имеет функцию добавления или удаления опекунов, но весь процесс занимает некоторое время (обычно 1-3 дня).
В сценариях повседневного использования пользователи могут использовать кошельки со смарт-контрактами с возможностями социального восстановления (такие как Argent и Loopring), как обычные кошельки, подтверждая транзакции своими ключами подписи. Таким образом, каждая транзакция выполняется быстро с одним подтверждением, как и в традиционных кошельках, таких как Metamask:
а. Создайте закрытый ключ.
Кошелек абстрактного аккаунта ничем не отличается от Metamask в создании приватных ключей.
б. Сохраните закрытый ключ.
Поскольку кошелек EOA, который контролирует контракт, используется только в качестве «закрытого ключа подписи» и может передавать управление через опекуна, пользователям не нужно специально хранить мнемоническую фразу.
c.Используйте закрытый ключ
○ Контрактные кошельки также являются переводами/транзакциями, и поскольку они требуют вызова контрактов, они будут дороже, чем кошельки MPC и традиционные кошельки;
○ Но поскольку он вызывает контракт, он поддерживает использование для оплаты неродных токенов, таких как USDC/USDT (например, ETH — это собственный токен, используемый для оплаты комиссий за газ в Ethereum). Это, несомненно, значительно уменьшит сложность). взаимодействия для новых игроков Web3: в принципе, в той же транзакции команда проекта обменивает USDC пользователя на ETH, а затем платит комиссию за газ от их имени.
г. Создайте резервную копию закрытого ключа.
Шаг резервного копирования закрытого ключа абстрактного кошелька учетной записи заменяется «хранителем», однако это нелогично и дорого:
① Пользователь впервые использует web3 и хочет зарегистрировать кошелек, но ему необходимо найти трех надежных друзей, у которых уже есть кошельки EOA в web3, и попросить их заплатить комиссию за газ, чтобы они стали их опекунами;
② Если пользователь хочет компенсировать своим друзьям комиссию за газ и использует вновь созданный кошелек для трех переводов, ему нужно будет внести в общей сложности 6 комиссий за газ для создания кошелька. Создание учетной записи в кошельке не требует никаких затрат. МПК кошелек.
e.Восстановить закрытый ключ
Если пользователь потеряет свой ключ подписи, он может запросить использование функции социального восстановления. Пользователям необходимо связаться со своим опекуном и попросить его подписать специальную транзакцию (пользователь или опекун оплачивает комиссию за газ) и изменить открытый ключ подписи, зарегистрированный в контракте кошелька, на новую подпись. Это намного проще: опекун может просмотреть запрос на восстановление и подписать его, посетив веб-страницу, например Security.lopring.
Однако безопасность закрытого ключа не достигает уровня кошелька MPC:
Цена атаки: хакеры по-прежнему могут получить полный закрытый ключ, проникнув на устройство пользователя. Другими словами, у пользователей, использующих кошельки со смарт-контрактами, есть только один способ получить закрытый ключ в случае его утери.
Низкая устойчивость к цензуре: поскольку программа социального восстановления требует назначения «опекунов», существует вероятность того, что «опекуны» вступят в сговор друг с другом, чтобы совершить зло.
Основными рисками социального восстановления являются:
① Сговор: если некоторые пользователи знают, что они участвуют в восстановлении, они могут быть заинтересованы в выполнении атаки восстановления;
②Целевая атака: внешний агент может знать владельца восстановления и нацелиться на самое слабое место, необходимое для выполнения атаки восстановления;
③ Общая уязвимость: если злоумышленнику удается заразить большую базу пользователей, зависящих от среды, и получить доступ к нескольким идентификаторам, это также может иметь побочные эффекты для незатронутых пользователей в результате восстановления.
Решение MPC против решения социального восстановления: безопасность, порог, устойчивость к цензуре

Будущее массового внедрения: кошелек Web3
Благодаря беспомощному решению для восстановления учетной записи мы можем рассчитывать на новое поколение кошельков Web3, которые можно зарегистрировать и войти в систему с помощью электронной почты. Мы выбрали для анализа репрезентативные проекты кошелька MPC и абстрактного кошелька учетной записи соответственно: с точки зрения пользовательского доступа они достигли низкого порога бессловесной памяти. Мы оцениваем их отдельно с точки зрения безопасности и устойчивости к цензуре.
#Битизен
Среди кошельков MPC кошелек Bitizen, который является более тщательным в плане антицензуры и удобства, использует решение TSS 2/3. Давайте проанализируем его с точки зрения безопасности и антицензуры кошелька:
безопасность:
а.Создать
Чтобы обеспечить строгую проверяемость, после завершения регистрации кошелька пользователь может использовать второе устройство для резервного копирования фрагментов закрытого ключа через Bluetooth, используя решение 2/3TSS: сервер Bitizen, локальное устройство пользователя и второе устройство пользователя.
б. Хранение
Поскольку полный закрытый ключ не генерируется в процессе создания кошелька, мнемосхемы нет: учетная запись Bitizen пользователя будет связана с облачным диском и электронной почтой пользователя, и пользователю нужно только войти в систему по электронной почте, чтобы нормально использовать кошелек Bitizen. .
в.Использовать
① Пользователь может получить фрагменты секретного ключа, хранящиеся в облаке Bitizen, и фрагменты секретного ключа, хранящиеся на локальном устройстве, посредством аутентификации с распознаванием лица для подписи (2/3);
②После того, как второе устройство создаст резервную копию фрагментов закрытого ключа через Bluetooth, его можно сохранить полностью в автономном режиме, и его не нужно использовать в будние дни (для завершения подписи требуется только сервер Bitizen и основное устройство пользователя).
d.Резервное копирование
① Резервное копирование фрагментов локального закрытого ключа на облачный диск пользователя;
② Когда пользователю необходимо сменить устройство для входа в систему, ему нужно только пройти аутентификацию через электронную почту и лицо, Bitizen попросит пользователя восстановить резервную копию фрагментов закрытого ключа с облачного диска.
e.Восстановление
①Аналогично, когда устройство пользователя теряет/случайно удаляет локальные файлы Bitizen, фрагменты закрытого ключа можно восстановить через облачный диск;
② Когда пользователь не может даже войти в облачный диск, Bitizen пересчитывает фрагменты закрытого ключа через фрагменты закрытого ключа на сервере и втором устройстве резервного копирования пользователя, позволяя пользователю возобновить нормальное использование.

Источник: Битизен Цензурное сопротивление:
2/3 решения TSS позволяет пользователям иметь абсолютный контроль над своими кошельками (2/3 фрагментов закрытого ключа находятся в руках пользователей). Даже если Bitizen обанкротится или сбежит, пользователи все равно смогут осуществлять обычный контроль. над своими кошельками.
#Unipass
В качестве примера абстрактного кошелька учетной записи Unipass использует подход «умный контракт + кошелек MPC», сочетающий в себе преимущества двух решений:
В транзакциях вы можете использовать любой токен, поддерживаемый кошельком (основные, высоколиквидные токены), для оплаты комиссий за газ;
Что касается хранения приватных ключей, технологии MPC (2/2) и TSS используются для генерации приватных ключей распределенным способом, так что нет возможности получить приватный ключ хакеру в одной точке - приватном ключе. ключ разделен на две части, одна часть хранится в Unipass. На сервере копия сохраняется на локальном устройстве пользователя;
Для восстановления закрытых ключей Unipass использует решение DomainKeys Identified Mail (DKIM). Пользователи могут использовать адреса электронной почты в качестве «опекунов» вместо других адресов EOA. Это значительно снижает порог для пользователей при поиске опекунов: нет необходимости использовать опекунов. Блокчейн требует только адрес электронной почты опекуна.

Источник: Unipass
Низкий порог —> высокая применимость
Низкопороговые кошельки — это еще не конец приложений кошельков. Текущая инфраструктура Web3 все еще сильно отстает от традиционных финансов Web2. Функции автоматического вычета и регулярных автоматических платежей, предоставляемые Visa, приносят большое удобство пользователям, но их все еще сложно реализовать на Ethereum. Счета с абстракцией учетных записей могут стать следующим весьма применимым повествованием о кошельках с блокчейном: Visa опубликовала статью «Автоматические платежи для самостоятельных кошельков», в которой исследуется возможность использования кошелька с абстракцией учетных записей Argent для реализации в сети StarNet. Автоматизированные программируемые платежи, позволяющие пользователям автоматизировать платежи. использование собственных кошельков без необходимости подписывать каждую транзакцию. Как реализован абстрактный кошелек учетной записи? На самом деле это понятие зародилось очень давно.
Абстракция учетной записи — от EIP-2938 до EIP-4337
С предложением EIP-4337 тема абстракции учетных записей вернулась к всеобщему вниманию. Решение для социального восстановления и абстракция учетной записи (с использованием смарт-контрактов в качестве кошельков EOA, то есть абстракции учетной записи) были предложены ранее, чем EIP-1271, и были реализованы Argent и другими кошельками на уровне 2, такими как StarkNet. Решение недавно горячо обсуждалось в сообществе. В чем разница (абстракция аккаунта)?
Начиная с EIP-86 в 2015 году и заканчивая недавней горячей точкой EIP-4337, основное мышление разработчиков вращается вокруг того, что «контракт — это кошелек», а абстракция учетной записи позволяет пользователям интуитивно взаимодействовать с основной сетью. Это позволяет пользователям точно контролировать ключевые разрешения своих учетных записей. Поскольку код учетной записи EOA оговорен, невозможно реализовать модульную и функциональную конструкцию кошелька EOA, например, добавить пакетную передачу/социальное восстановление и другие функции, поэтому все сосредотачиваются на смарт-контрактах. Наиболее близким к EIP-4337 предложением является EIP-2938, который также определяет новый протокол работы смарт-контракта, но его необходимо изменить на уровне консенсуса, что затрудняет его поддержку разработчиками. заключается в том, что основная сеть не требует изменений протокола на уровне консенсуса.
В EIP-1237 инициирование подписи адреса контракта должно полагаться на централизованный ретранслятор для подписи, а ретранслятор является централизованным, а стандарты между каждым ретранслятором различны, и он не совместим с несколькими цепочками/мульти-dAPP. ;
В EIP-4337 предлагается заменить Relayer на Bunbler — децентрализованную многопартийную систему, которая повышает устойчивость кошельков смарт-контрактов к цензуре и унифицирует стандарты подписи, что может значительно снизить сложность интеграции для разработчиков;
EIP-4337 окажет влияние в будущем, но на данный момент он не улучшит взаимодействие с пользователем. Таким образом, энтузиазм по поводу обсуждения этого решения ограничен венчурными капиталистами и разработчиками. Это больше похоже на Move to Aptos, что вызывает энтузиазм у венчурных капиталистов и других инвесторов и сообщества разработчиков. Для пользователей web3 этот Layer1 написан на Solidity или Move? пользовательский опыт пока не сильно изменился.
① В конце концов, Argent, кошелек для абстрагирования счетов, с 2018 года завершил финансирование на сумму 56,2 миллиона долларов США. После 4 лет разработки у него всего 7,40 000 адресов: сразу после появления Defi пользователи в валютном кругу перешли с обмены на использование Metamask. Рост популярности Metamask обусловлен высоким уровнем APY. В настоящее время увлечение кошельками со смарт-контрактами все еще нуждается в новом катализаторе.

Источник: Дюна ②Текущие пользовательские депозиты на Argent не так велики, как сумма финансирования.

Источник: Дюна ③Однако реализация предложения по абстракции учетных записей основной сети Ethereum означает, что пользователи Argent смогут беспрепятственно подключаться из StarkNet к основной сети Ethereum. Искры, возникшие в этом процессе, также заслуживают внимания.
Случаи использования
①Усовершенствованный контроль разрешений: уточнено разрешение единой подписи EOA:
▽Предоставьте пользователю A лимит перевода X TokenB в контракте.
▽Предоставьте авторизованные разрешения на транзакцию tokenC пользовательского контракта B вместо разрешений на передачу.
▽Если контрактом долгое время никто не пользуется, право на использование контракта автоматически перейдет
② Диверсифицированные способы оплаты газа: оплата другими или оплата любым токеном.
③Автоматический вычет/автоматический возврат
Охватывая будущее Web3
Как гласит клише, насчитывается 4,8 миллиарда пользователей web2, а в 2022 году число пользователей web3 только что превысило 100 миллионов. Мы все еще находимся на ранней дикой стадии развития блокчейна.

Возвращаясь к вопросу в начале статьи: «Какой риск и ответственность я готов взять на себя за свои активы?», могу ли я гарантировать, что мой кошелек не будет потерян, не запоминая свой закрытый ключ?
Я всегда слышал традиционные вопросы ВК: существуют ли сценарии, которые может реализовать только web3, а web2 — нет? Мы считаем, что кошелек Web3 является примером пощечины традиционному Web2: только в децентрализованной сети Web3 мы можем ожидать хороший кошелек, который отвечает требованиям устойчивости к цензуре, безопасности и пользовательскому опыту. Пользователям не нужно ни нести риски, ни брать на себя какие-либо обязательства. ответственность. Появление такого кошелька также является важной основой для 4,7 миллиардов пользователей Web2, чтобы они могли принять будущее Web3: кошелек — это не только первый вход в Web3, но и доменное имя в цепочке (например, ENS), токен с привязкой к душе (Soul-Bounded Token), основа для разработки систем репутации в цепочке (децентрализованные идентификаторы), без безопасной среды кошелька построение Web3 Lego не будет иметь прочной основы.
Нам нужно думать более серьезно. На медвежьем рынке не так много возможностей. MPC показал нам будущее, в котором кошельки EOA будут проще в использовании, более безопасны и смогут адаптироваться ко всем текущим цепочкам EVM. Путь, который предстоит пройти, прежде чем смарт-контракты смогут быть подключены к dAPP. План социального восстановления в настоящее время кажется бесполезным, но будущие возможности смарт-контрактов впечатляют. На кого мы будем делать ставку? реальные деньги, чтобы сдать этот ответ.
2022 год — мрачный год для криптовалют, но мы по-прежнему верим, что будущее светлое. Мы — пробудившиеся чернокнижники в World of Warcraft, и мы хотим создать мир, в котором никто не сможет отобрать у нас выкачивающую жизнь (если предложение не будет проголосовано).

Заявление: Часть этой статьи основана на интервью с Уинсоном, генеральным директором кошелька Web3 Bitizen. Bitizen является одним из портфолио RedlineDAO. Мы хотели бы поблагодарить Bitizen и Winson за поддержку этой статьи.
Рекомендации
Описание пороговой подписи: https://www.wwsww.cn/btbjiaoxue/1273.html.
Привлечение пользователей Web2 в Web3 — будущее за беспомощным словесным кошельком: https://mp.weixin.qq.com/s/TF2FCQDyyApzEVHQjxgZRg
Бутерин: Зачем нам нужно широкое распространение кошельков социального восстановления? : https://www.163.com/dy/article/GNQ4K9D905373E94.html.
Некастодиальный кошелек Solana Phantom был взломан, и средства нескольких пользователей были украдены: https://chainfeeds.xyz/search
Партнер-основатель Fenbushi Capital Шен Бо: Личное имущество на сумму 42 миллиона было украдено, и об этом было сообщено: https://chainfeeds.xyz/feed/flash/detail/7a02d517-5a54-4892-a42a-ac519406da12
Wintermute потеряла 160 миллионов долларов из-за взлома DeFi: https://chainfeeds.xyz/feed/flash/detail/39c24b5e-693c-49a1-bf5c-ec04b829f8b6
Закрытый ключ адреса развертывания контракта ParaSwap мог быть украден, а средства в цепочке были украдены: https://chainfeeds.xyz/feed/flash/detail/04c9a5d2-6e86-4207-9b1d-913eced8d2a7
Причина кражи перекрестного моста Ronin: https://chainfeeds.xyz/feed/flash/detail/7a810726-80eb-4fef-a40b-a38c3c9f9738
Все права защищены. Перепечатка без разрешения запрещена.




