Почему мы сделали Vela

Мы не собирались делать ещё один кошелёк. Всё началось с вопроса, на который у нас так и не получалось ответить нормально:

Где вообще хранить двенадцать слов?

Честный ответ — это скриншот

Положите их в «Заметки» — и вы в одном украденном телефоне от беды. Запишите на бумаге — и вот вы уже думаете про пожар, воду, переезды, соседей, мусорные пакеты и про то, вспомнит ли будущий вы, где было «надёжное место».

Для многих честный ответ — скриншот в галерее. Все знают, что так неправильно. И всё равно так делают, потому что «правильный» ответ слишком тяжело тащить через жизнь.

Сид-фраза — это секрет, который должен пережить десятилетия обычной жизни, ни разу не будучи скопированным, сфотографированным, введённым не в то поле или зачитанным вслух отзывчивому человеку по телефону. Для очень аккуратного человека это не сложная задача. Для человека — сложная.

А потом passkey изменили ощущение от кошелька

Мы каждый день пользовались Base Account, и подпись через Face ID казалась очевидной так, как сид-фраза не казалась никогда: меньше похоже на обращение с опасным веществом, больше — на обычный интернет.

Но чем дольше мы им пользовались, тем чаще упирались в края, которые невозможно игнорировать:

  • ключ восстановления, сгенерированный в браузере, которому просто приходилось доверять;
  • никаких пользовательских сетей;
  • никакой возможности поднять это у себя;
  • и тихая проблема, которая оказалась самой большой: исчезнет сервис — исчезнет и кошелёк.

Поэтому мы сделали ту версию, на которую сами готовы полагаться.

Что такое Vela на самом деле

Vela — это кошелёк на passkey, который может быть полностью вашим.

Ваш passkey остаётся там, где устройство и так его защищает: в Связке ключей iCloud, в Менеджере паролей Google или на аппаратном ключе безопасности, который вы держите в руках. Когда вы подписываете транзакцию, Vela отправляет устройству запрос; устройство подписывает его и возвращает только подпись. Сам ключ Vela не видит никогда.

У большинства кошельков всё ещё есть опасный момент, пусть и краткий: слова на экране, сид-фраза в памяти, ключ восстановления, лежащий во вкладке браузера. Vela устроен так, чтобы такого момента не было вовсе.

Мы сделали Vela открытым, чтобы вы могли проверить это сами, и пригодным для самостоятельного размещения, чтобы ваш кошелёк никогда не зависел от того, остаётся ли наша компания онлайн. И построили его на неизменённых контрактах Safe, потому что скучный, проверенный временем путь — правильный, когда речь о чужих деньгах: это те же контракты, которые уже охраняют миллиарды в блокчейне.

Цена, которую мы выбрали

Цена всё же есть, и замалчивать её было бы нечестно.

С Vela ваш аккаунт Apple или Google важен, потому что именно там живёт синхронизируемый passkey. Потеряете этот аккаунт или удалите passkey — и не будет ни сид-фразы, ни сброса через поддержку, ни чёрного хода.

Но любой самостоятельный кошелёк заставляет выбрать, с каким риском вам жить удобнее. Сид-фразу можно скопировать, сфотографировать, выманить фишингом или вбить не на том сайте в час ночи. Passkey устроен иначе: нет слов, которые можно выдать, нет секрета, который можно вставить, и нет поддельного сайта, который заставит вас его отдать. Устройство подписывает для настоящего домена — или не подписывает вовсе.

И выбор не бинарный. Кошелёк можно создать с семью подписывающими ключами, и любой из них подписывает сам по себе: passkey на разных устройствах, телефон рядом, который вы сканируете, или аппаратный ключ USB/NFC. Если вы предпочитаете, чтобы кошелёк вообще не зависел от аккаунта платформы, самым первым ключом можно сделать аппаратный. Единственное условие — момент: адрес выводится из всего набора ключей, поэтому ключи выбираются при создании кошелька.

Вот почему Vela существует

Кошелёк, в котором нечего прятать вместо сид-фразы, нечему доверять вместо ключа восстановления и не нужно надеяться, что какая-то компания будет жить вечно.

Если хотите проверить утверждения, а не принять их на веру: whitepaper содержит архитектуру, аудиты и известные проблемы перечисляют каждый контракт, от которого мы зависим, и что проверено аудитом, а что нет, а весь код лежит на GitHub.

Дальше: установка Vela.