Вход в web 3.0, а также про ICP.
Версия в виде Telegram поста: https://t.me/blind_dev/700
Много раз замечал такие фразы:
"авторизация через Метамаск - точка доступа в web 3.0, альтернатива логинам и паролям устаревших централизованных систем".
Они верны, но лишь частично:
1. MetaMask поддерживает не все сети, а упускать тот же Near, Solana в качестве web 3.0 - нельзя.
Да тот-же BTC является частью web 3.0, хоть и там нет децентрализованных приложений...
2. Сама работа с сетями неудобная, но об этом уже писал:
Надо вручную их переключать или, если это сайт позволяет, нажимать на кнопку.
3. MetaMask не поддерживает децентрализованные методы входа без Seed фраз.
4. И не поддерживает домены в качестве ядра, т. е. их настройку, копирование вместо адреса, просмотр профилей и т. д.
Да: переводить по ENS доменам можно, но это лишь часть функционала.
Есть несколько путей развития:
1. MetaMask для EVM сетей, Keplr для Cosmos сетей, Near wallet для Near, Fantom для Solana и пр...
2. Единый кошелёк, например, XDeFi wallet (о нём писал и планирую обзор) и rabby wallet, о котором недавно узнал (ещё не пробовал, поэтому не уверен, что он может значиться мультикриптовалютным кошельком по типу XDeFi).
А что-за децентрализованный метод входа без seed фраз?
Сразу скажу, что они все равно используются в фоне, ну или приватные ключи, но пользователь их не вводит часто (лишь в крайнем случае использует).
Один из таких методов - отпечаток пальца, скан глаза и т. д. (будем называть их словом "отпечаток").
1. Отпечаток можно преобразовать в цифровой ключ.
2. Сформировать этот ключ локально.
3. С его помощью авторизовываться.
Я не знаю, как реализовано преобразование (локально ли) в ICP, но суть в том, что это есть:
1. Идём на https://nns.ic0.app/v2/.
2. Нажимаем на Login - попадаем на https://identity.ic0.app/#authorize;
3. Жмём "Create an Internet Identity Anchor".
И вводим название устройства, после чего нажимаем "Create".
4. Подтверждаете пинкодом, паролем или отпечатком пальца.
5. Вводите капчу (Для чего это здесь, не знаю):
6. Копируете ваш id. Он нужен, чтоб вы могли добавить новые устройства и, вроде, восстановить...
После сохранения нажимаем "Continue".
7. Нажимаем use seed phrase, а далее copy.
9. Вы можете добавить устройство, но это требует какого-то ключа безопасности.
Переходим к странице входа на втором устройстве, нажимаем use a new device и переходим по указанной ссылке на первом с подтверждением авторизации второго устройства.
10. Возвращаемся на https://nns.ic0.app/v2/ и нажимаем "Login".
12. Нажав на main попадаем сюда:
13. Выбрав "New transaction" можно выбрать стейкинг или отправку ICP.
Address: bc02c9bdfd1218de757535805161f7ede2f854d5550104420a13775a3b22ec24
Неудобно, что в поле есть и слово address, но его просто удалить.
15. И пример формы отправки средств (добавляется только адрес получателя):
Вывод
ICP реализовали интересную систему, но она скорее основана на устройствах, а не на отпечатке.
Минус в том, что он позволяет авторизовываться и по пинкоду / паролю, что может быть гораздо менее надёжно...
Как предлагаю реализовать?
2. Расшифровка только путём авторизации через отпечаток пальца, скан глаза и пр...
3. Если надо добавить новое устройство, происходит создание слепка на новом устройстве с последующим добавлением его в файл на старом.
Естественно с подтверждением путём авторизации, а также со сравнением цифрового слепка отпечатка на обоих устройствах.
Это было бы удобно, но не факт, что реализуемо по описанному мной методу:
Всё же я не разбираюсь в железках и тонкостях авторизации, поэтому могу многие детали упускать.
Только считаю, что всё же это возможно сделать в том или ином формате.
Пусть даже ICP станет шлюзом входа во множество блокчейнов...
Благодарю за внимание.
Буду рад сообщениям, обсуждениям и мнениям в @blind_dev_chat