«Почему 1inch понадобился хард кошелек — так это из-за юзабилити»: Алексей Девяткин про 1inch Hardware Wallet, его фичах и команде разработки

«Почему 1inch понадобился хард кошелек — так это из-за юзабилити»: Алексей Девяткин про 1inch Hardware Wallet, его фичах и команде разработки

GuideDAO

ПРО БЭКГРАУНД. Я давно занимаюсь электроникой — еще с самого детства. Вся жизнь была связана с этим. После универа я занимался целевой практикой — работал в найме, после начал работать в стартапах. Там я был фаундером и идейным вдохновителем. Какие-то стартапы поехали дальше, какие-то умерли — так обычно и бывает. Но так или иначе все они были связаны с разработкой железа или электронных девайсов. В каких-то стартапах я руководил командой разработки, в каких-то я был техлидом и генерировал идеи.


В крипту попал через друзей. Многие были связаны с блокчейном. Сергея Кунца (фаундер 1inch) знаю давно. Мы учились в одной школе до 6 класса, пока он не уехал в Германию. До позапрошлого года мы не общались, а потом встретились в Лиссабоне.


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


В Лиссабоне я познакомился с ребятами из Opium, Zerion и Антоном Буковым (второй фаундер 1inch). Они сразу обратили внимание на то, что я занимаюсь электроникой. Начали говорить, что я мог бы разработать нормальный кошелек. Ребята просто делились своими болями касательно холодных кошельков. 

Я подумал, почему бы нет. Сергей и Антон сказали, что давно хотят создать аппаратный кошелек, но никак не могут найти подходящего человека для реализации задумки. У меня и у самого была эта идея, но я совсем не хотел связываться со стартапом, поскольку это всегда работа на энтузиазме и денег в стартапах в начале обычно нет, а в этом случае делать что-то поистине классное сложно и долго. Тогда ребята…

Предложили мне поучаствовать в грантовой программе. Я тут же начал готовить документы и подавать на грант. Собственно, в конце декабря мне пришло подтверждение, что мой проект интересен и актуален. С января 2022 года запустился проект 1inch Hardware Wallet — он существует по сей день. Разработка кошелька еще в процессе.


ПРО ПРОЕКТ 1INCH HARDWARE WALLET. Почему вообще 1inch понадобился свой аппаратный кошелек — так это из-за юзабилити. Существующие решения на рынке — утилитарные и отчасти классические, старые. Наверное где-то из середины 2000-х, когда кошельки выглядят, как флешки. 

Основная проблема, с которой сталкивался 1inch — закрытый исходный код. Например, как у всех популярных кошельков. Никто не знает, что внутри кошелька. 


Если говорить про генерацию приватного ключа, то,  когда мы генерируем кошелек, достаем его из упаковки — мы создаем кошелек. Он по определенным алгоритмам накапливает энтропию и генерирует случайным образом сид -фразу. В проектах с закрытой прошивкой мы имеем черный ящик — никто не знает, насколько генерация сид-фразы истинно случайна. Для большинства пользователей это актуальная проблема, потому что хочется знать, не выстрелит ли это в ногу через 5 или больше лет. 


Еще 1inch сталкивался с проблемами удобства устройства. Ну и внешние фичи. У многих устройств просто две кнопки для управления всем устройством — это накладно. Мы уже в таком веке, когда есть телефон и планшет, везде тачскрин.


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


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

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


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


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


Главное требование, которое я выставлял — опенсорсный проект. У нас в планах открыть репозиторий на GitHub, чтобы любой человек из комьюнити мог посмотреть, что мы сделали с кошельком, как им пользоваться и как проверить на безопасность. Любой сможет проверить, что с софтом все нормально и им можно пользоваться. 


Мы выложим на GitHub 3D модель кошелька. А также схемы сборки и как шла разработка. Так что любой сможет собрать устройство у себя дома, если закажет такую же плату, какую использовали мы. 


ПРО ФИЧИ КОШЕЛЬКА 1INCH. Устройство будет работать без подзарядки две недели. Это если подписывать транзакции где-то 2-3 раза в день. У него встроенный аккумулятор. Если с точки зрения ресурсов, то зарядка продержится от 3 до 5 лет. 


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


Также есть NFC (Near field communication). На сегодняшний день это тоже некий тренд. Много кошельков, у которых на борту есть NFC. У нас нет на устройстве никаких проводных и беспроводных интерфейсов, типа блютуз или USB. В целом с точки зрения безопасности мы решили сделать устройство максимально защищенным. Просниферить сигналы нельзя.

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


Да и само комьюнити нам говорило, что это неудобно. У нас спрашивали, неужели устройство не позволяет создать несколько кошельков с разными сид-фразами? Я задался таким же вопросом и с технической точки зрения не увидел никаких ограничений. Мы в целом двигаемся в ту сторону, чтобы реализовать такой функционал, чтобы в холодном кошельке можно было создать несколько кошельков с разными сид-фразами. Если мы говорим про кошелек с большими суммами и нужна максимальная защита — мы предлагаем использовать камеру с QR, тут все прозрачно. Если создавать дополнительный кошелек, например, daily wallet, где хранятся маленькие суммы, — тут уже можно использовать NFC. Так будет быстрее осуществлять транзакции.


Есть кейс — называется blind sign. Когда человек не знает, какую транзакцию подписывает и какой смарт-контракт исполняется. Не имеет понятия, что действительно будет с его активами сейчас. А вдруг сейчас исполняется смарт-контракт, который просто возьмет и переведет все активы на чужой адрес? Непрозрачность этого момента за собой влечет множество кейсов потери денег. Решение этой флоу лежит на плечах разработчиков. 


ПРО ТЕХНИЧЕСКОЕ УСТРОЙСТВО КОШЕЛЬКА. У команды 1inch есть решение по парсингу коллдаты транзакции. Есть база данных смарт-контрактов. А их сотни тысяч. Пока самое адекватное решение — интеграция библиотеки с небольшой базой данных распространенных смарт-контрактов, которая в оффлайн режиме позволит нашему кошельку распарсить транзакцию и в понятном для пользователя виде показать транзакцию и предупредить, что выполняется смарт-контракт. Так пользователь будет понимать, тот ли смарт-контракт работает и подписывается ли транзакция вообще. 

Кошелек будет совместим с EIP-4527 стандартом. Это как раз тот стандарт, который регламентирует взаимодействие холодного аппаратного кошелька с другим устройством посредством QR-кода. Мы вооружились этим стандартом и начали разработку, базируясь на нем. Так как такой опыт уже есть, и он применим к блокчейну, мы решили не изобретать велосипед. Но мы даем возможность пользователю выбрать: камера или NFC. 


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


Надежность самого кошелька, конечно, снижена. Но в ближайшее время мы планируем стресс-тесты. Будем проверять его на прочность. Мы хотели сделать его максимально герметичным. Внутри мало свободного пространства, и просто так от удара оно не сломается. Плюс его вес довольно маленький — 75 граммов. 


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


Моя команда занимается разработкой именно аппаратного разрешения. Что касается прошивки — всё будет выложено в опенсорс. Чтобы пользователь мог проверить, а та ли прошивка зашита в девайс. 


Есть бутлоадер — основная прошивка устройства. Он позволяет зашить основную прошивку в устройство. Он живет на нем пожизненно. Основная идея — чтоб пользователь мог проверить бутлоадер, правильно ли он зашит в устройство. А еще иметь возможность самостоятельно собрать билд прошивки из репозитория на GitHub, чтоб быть уверенным, что в данный момент в устройство зашита та прошивка, которая выложена в репозиторий. И что она соответствует требованиями безопасности, конечно же. 


Моя главная задача — сделать проект максимально прозрачным. Каждый пользователь должен иметь возможность проверить все, что его интересует. Убедиться в безопасности и качественной работе девайса. 

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


Наш кошелек будет с предпрошитой прошивкой. Таким его будут делать на заводе-производителе. Но из-за растянутой логистики, к моменту, как придет устройство, прошивка уже может обновиться. Так что скорее всего пользователю будет предложено обновить прошивку на более свежую версию. Если он не доверяет никому, то он сможет сам прошить все, опираясь на репозиторий. 


Кошелек будет поддерживать блокчейн Ethereum и ему подобные. Пока что. В перспективе планируем и другие блокчейны подключить. Интерес комьюнити же не только к Ethereum. Хотим поддержать Ton, Near и другие. Например, с Ильей, фаундером Near, обсуждали возможность интеграции и поддержки их блокчейна. 


Устройство должно быть универсальным, а мы должны реализовать желания пользователей. 


ПРО РЕЛИЗ. В феврале закончим инженерный образец. То есть, закончим делать внешний вид девайса. В мае мы планируем получить препродакшн, то есть устройство готовое к серийному производству. Дальше будем проводить последние испытания. К концу года уже, думаю, мир увидит первую партию кошельков. 


Обязательно проведем аудит по безопасности. Как только все будет готово. Только после этого мы перейдем к серийному производству. Без аудитов нецелесообразно выводить устройство в продажи, потому что аудит — это как своеобразная печать качества, что мы провели тесты и гарантируем безопасность. 


Да, сейчас такая тенденция наблюдается. Наверное, скоро уже все будут ходить с крипто телефонами. Solana вот делает свой мобильник. 1inch тоже понимает, что следующий шаг — что-то похожее на телефон. Как скоро это будет — не знаю.


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


ПРО КОМАНДУ 1INCH HARDWARE WALLET. Моя команда — независимая, но у нас обязательства перед 1inch Network. Это касательно разработки продукта и реализации той идеи, которая в проект изначально была заложена. Лично на мне есть ответственность. На сегодняшний день мы привлекаем инвестиции — финансирование у нас отдельное. Сам 1inch никак не финансирует наш проект. Мы являемся независимыми контрибьюторами. 


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


Наша главная задача сейчас — выпустить первую версию устройства. Дать пользователям его протестировать, посмотреть и пощупать. Когда нам дадут обратную связь, мы уже сделаем другое устройство. И оно будет лучше, чем первое, — будет учитывать все фидбэки пользователей. 


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


Еще есть аппаратный взлом. То есть, доступ за счет физического доступа к девайсу. Оттуда он берет приватную информацию. Холодный кошелек призван защищать от удаленных взломов. Когда на устройстве отсутствуют любые возможности самостоятельного выхода в интернет — это всегда гарант дополнительной безопасности. В нашем случае, у нас нет проводных и беспроводных интерфейсов. 


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


Сейчас перед нами проблема — объем памяти устройства. Думаю, что в ближайшее время мы займемся расширением количества флеш-памяти на борту кошелька. На текущий момент мы не планируем закладывать все смарт-контракты, которые существуют в сфере блокчейна. Мы хотим заложить распространенные. Я много общался с разработчиками и меня успокоили, что есть только 20-30 контрактов, которыми пользуются чаще всего, поэтому закладывать очень много памяти пока что под это всё не нужно. 


ПРО БУДУЩЕЕ КОШЕЛЬКОВ И WEB3. В целом я считаю, что это альтернативное развитие будущей финансовой системы. Многие говорят, что за web3 будущее. Поскольку многие события в мире сейчас доказывают и показывают это — именно web3 и сам блокчейн — то, что в большей степени будет гарантировать людям надежность финансовой системы. 


Люди сами должны понимать в чем разница между холодным и горячим кошельком. В крипто-индустрии есть понятие «не твои ключи — не твои коины». Получается, что твои приватные ключи определяют, будет у тебя доступ к твоим крипто-активам или нет.

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


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


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


Report Page