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

Про бэкграунд

Я давно занимаюсь электроникой — еще с самого детства. Вся жизнь была связана с этим. После универа я занимался целевой практикой — работал в найме, а после начал работать в стартапах.
В них я был фаундером и идейным вдохновителем. Какие-то стартапы поехали дальше, какие-то умерли — так обычно и бывает. Но все они были связаны с разработкой железа или электронных девайсов. В каких-то стартапах я руководил командой разработки, в каких-то я был техлидом и генерировал идеи.
В крипту попал через друзей. Многие из них были связаны с блокчейном. Сергея Кунца, кофаундера 1inch, знаю давно. Мы учились в одной школе до 6 класса, пока он не уехал в Германию. До позапрошлого года мы не общались совсем, но потом встретились в Лиссабоне.
Article image
Это и стало отправной точкой. До этого времени я уже взаимодействовал с ребятами из криптоиндустрии и чувствовал интерес к этой сфере. В какой-то момент я принял для себя решение, что больше не хочу делать стартапы — для меня это накладно и по ресурсам, и по времени. Хотел заниматься сторонними проектами и разработкой устройств на заказ, например. Мы случайно списались с Сергеем, и он предложил приехать к нему, чтобы пообщаться.
В Лиссабоне я познакомился с ребятами из Opium, Zerion и Антоном Буковым, вторым кофаундером 1inch. Они сразу обратили внимание на то, что я занимаюсь электроникой. Начали говорить, что я мог бы разработать нормальный кошелек. Все ребята тогда просто делились своими болями касательно холодных кошельков.
Article image
Я подумал, почему бы нет. Сергей и Антон сказали, что давно хотят создать аппаратный кошелек, но никак не могут найти подходящего человека для реализации их задумки. У меня и у самого была эта идея, но я совсем не хотел связываться со стартапом, поскольку это всегда работа на энтузиазме, и денег в стартапах в начале обычно нет, а в таком случае делать что-то поистине классное — сложно и долго. Тогда ребята предложили мне поучаствовать в грантовой программе.
Я тут же начал готовить документы и подавать на грант. Собственно, в конце декабря мне пришло подтверждение, что мой проект интересен и актуален. С января 2022 года мы начали разработку 1inch Hardware Wallet — и она всё еще в процессе.

Про проект 1inch Hardware Wallet

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

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

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

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

Удивительно, что сейчас все кошельки — это механические кнопки. Удобства использования нет. Например, 8 символов в пароле, чтоб подписать транзакцию, — двумя кнопками проблематично ввести такой пин-код. Это вызывает затруднения, если тебе надо подписать 3-4 транзакции в день. В общем, это вызывает негатив, нежели удовлетворение в пользовании,
Article image
Мы сразу решили, что кошелек будет с тачскрином, чтобы им было приятно и удобно пользоваться. А само устройство было в форм-факторе банковской карты.
Получилось, что мы разработали UI. Можно управлять интерфейсом, как на телефоне, — просто прикосновением пальца. На сегодняшний день, на мой взгляд, это максимально подходящий кейс, который соответствует всем мировым трендам и стандартам.
Наш проект посвящен комьюнити. Это если говорить про софтовый функционал. Вообще мой поинт на этот счет такой — я не хочу разрабатывать устройства, придумывая идеи из пальца. Проект появился из реальной потребности пользователей, а не из моей головы.
Главное требование, которое я выставлял — опенсорсный проект. У нас в планах открыть репозиторий на GitHub, чтобы любой человек из комьюнити мог посмотреть, что мы сделали с кошельком, как им пользоваться и как проверить на безопасность. Любой сможет убедиться, что с софтом все нормально и им можно пользоваться.
Мы выложим на GitHub 3D-модель кошелька. А также схемы сборки и процесс разработки. Так что любой сможет собрать устройство у себя дома, если закажет такую же плату, какую использовали мы.

Про фичи 1inch Hardware Wallet

Устройство будет работать без подзарядки две недели. Это если подписывать транзакции где-то 2-3 раза в день. У него встроенный аккумулятор. Если с точки зрения ресурсов, то зарядка продержится от 3 до 5 лет.
Мы встроили в кошелек маленькую камеру. Она считывает QR-транзакции, которые нужно подписать. Далее устройство предлагает подписать или отклонить. После подписания уже генерируется ответный QR, мы его тоже считываем с экрана холодного кошелька и тем самым гарантируем, что подписание транзакции максимально защищено.
Также есть NFC (Near-Field Communication). На сегодняшний день это тоже некий тренд. Существует много кошельков, у которых на борту есть NFC. У нас нет на устройстве никаких проводных и беспроводных интерфейсов, типа блютуза или USB. И в целом, с точки зрения безопасности мы решили сделать устройство максимально защищенным. Просниферить сигналы нельзя.
Article image
Мы решили сделать мультисид-wallet. Это дополнительная фича. Почти каждый из наших конкурентов позволяет создать кошелек только с одной сид-фразой. Некоторые поддерживают протокол HD Wallet, когда из одной сид-фразы получается несколько наборов кошельков, но в целом сид-фраза остается одна и та же. Мы решили, что это нечестно.

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

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

Про технические свойства кошелька

У команды 1inch есть решение по парсингу коллдаты транзакции. Есть база данных смарт-контрактов — а их сотни тысяч. Пока самое адекватное решение — интеграция библиотеки с небольшой базой данных распространенных смарт-контракт выполняетсяов, которая в оффлайн-режиме позволит нашему кошельку распарсить транзакцию и в понятном для пользователя виде показать транзакцию, предупредив, что смарт-контракт. Так пользователь будет понимать, тот ли смарт-контракт работает и подписывается ли транзакция вообще.
Article image
Кошелек будет совместим со стандартом EIP-4527. Это как раз тот стандарт, который регламентирует взаимодействие холодного аппаратного кошелька с другим устройством посредством QR-кода. Мы вооружились этим стандартом и начали разработку, базируясь на нем. Так как такой опыт уже есть, и он применим к блокчейну, мы решили не изобретать велосипед. Но мы даем возможность пользователю выбрать: камера или NFC.
Мы хотим сделать устройство защищенным по-максимуму. И здесь защита не только интерфейса, но и подключения. Камера и NFC закрывают большинство кейсов по простому подключению к любым девайсам: мобильному, десктопу или лэптопу — для этого не нужна установка драйверов и других сопряжений.
Надежность самого кошелька, конечно, снижена. Но в ближайшее время мы планируем проводить стресс-тесты — будем проверять устройство на прочность. Мы хотели сделать его максимально герметичным. Внутри мало свободного пространства, и просто так от удара оно не сломается. Плюс ко всему, его вес довольно маленький — всего 75 граммов.

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

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

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

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

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

Про релиз кошелька

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

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

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

Про команду 1inch Hardware Wallet

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

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

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

Про будущее кошельков и web3

В целом, я считаю, что это альтернативное развитие будущей финансовой системы. Многие говорят, что за web3 будущее, поскольку многие события в мире сейчас доказывают и показывают это. Именно web3 и сам блокчейн — то, что в большей степени будет гарантировать людям надежность финансовой системы.
Люди сами должны понимать, в чем разница между холодным и горячим кошельком. В крипто-индустрии есть понятие «не твои ключи — не твои коины». Получается, что твои приватные ключи определяют, будет у тебя доступ к твоим крипто-активам или нет.
Article image
Пользователи отдадут предпочтение холодным кошелькам. Или каким-то гаджетам, которые более специализированные для того, чтобы максимально защищенно хранить приватные ключи. Произойдет это, как только они поймут разницу и осознают, что горячие кошельки не обеспечивают безопасность, а хранение средств онлайн может быть скомпроментировано.
Чтобы горячий кошелек был безопаснее, — нужно апгрейдить программно-аппаратный комплекс. Например, специализированные микросхемы, которые призваны улучшить защиту хранения приватных ключей. Не может быть такого, чтобы улучшения были только с точки зрения софтовой части продукта.
Когда люди начнут понимать, как крипта работает, — родится спрос на безопасное хранение их активов. Думаю, появится еще больше специализированных кошельков для хранения приватных ключей. Сейчас архитектура каждого кошелька — это разные чипы. Например, микроконтроллер и микросхема. Скорее всего, тенденция начнет развиваться в сторону СОКов. Это системы на кристалле — специализированное устройство в одном чипе. Возможно, в перспективе это будет внедряться в мобильные телефоны.
Article image
Буткемп: Web3-разработчик
От основ JS до своих смарт-контрактов
Подробнее
Поделиться
Вам может понравиться
    Интересно погрузиться в крипту?
    Поможем выбрать буткемп!
    или