Разработка криптовалютного кошелька Atomic Wallet

Сроки и цены

Альфа-версия 4 месяца Бета-версия 6 месяцев

Технологии

Desktop Electron.js, Vue.js, Node.js, Express.js, Websockets, Web-RTC

Команда

Разработчики Николай Баранов Алексей Калина CEO Константин Брумм

О проекте

Atomic Wallet – уникальный мульти-криптовалютный кошелёк. Гарантируюет максимальную безопасность и анонимность для его пользователей.

Задачи

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

Решение

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

Безопасность

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

Кошелек расположен непосредственно на устройстве пользователя, что смогло дать преимущество: ключи располагаются локально. Приложение было доступно для скачивания на десктоп (Windows 7 и выше, Linux и MacOS) и , при необходимости, на сторонний носитель (жесткий диск, флешка и т.д. ) без потребности в установки.

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

Действия с криптовалютами

Для совершения транзакции достаточно указать адрес получателя и количество монет. В случае с пересылкой монет, работающих на собственных блокчейнах (BTC, ETH, XRP и пр.), на балансе должно оставаться достаточно средств для оплаты комиссии за пересылку. Если же речь идет об отправке ERC20-токенов, на счету должно быть достаточное для этой цели количество ETH. Для приема монет достаточно перейти в раздел “wallet” и скопировать свой адрес кошелька или QR-код. Юзеру был доступен обмен внутри собственного кошелька через системы ShapeShift и Changelly. Кошелек имеет возможность для самостоятельного определения наилучшего курса валют. Доступен обмен нескольких валют в одну и в обратную сторону. Для удобства использования был встроен поиск по валютам кошелька и по транзакциями. В кошельки были приведены все фиатные валюты для удобного пересчёта.

Дополнительные фичи:

  • Пополнение кошелька Atomic c помощью баланса другого кошелька (доступен перевод всех монет со счета другого кошелька)
  • Пользователю доступна подробная история транзакций его кошелька, с возможностью добавления адреса в избраное для повторных транзакций
  • Показывать адрес контракта, тикер и точность; это позволяло видеть свои токены в кошельке, даже которые были созданы собственноручно

Свопы

Для нашего мультивалютного кошелька мы применили методику атомарных свопов для моментального обмена одной криптовалюты на другую без задействия третьих лиц - операция проводилась исключительно P2P по схеме:

  • Ордер бук для заявок
  • Постановка заявка на атомарный своп
  • Исполнение заявки

Уникальностью данного решения заключается в предоставление пользователю возможность избежать взаимодействия с третьей стороной, совершая сделки напрямую с другим пользователем. Если при обычном обмене вся крипта с данными поступает к третьему лицу, где все данные могут потеряться или быть украден, то в системе Atomic Swap такое невозможно. Данная система позволяет ускорить процесс обмена монет между пользователями. Скорость зависит от самой валюты, например, скорость обмена биткоина при помощи свопов может составить 30 минут. Данная система снизила комиссия за совершение сделки. Это произошла из-за исключения из цепочки биржи, которые брали комиссию за сделку через них. Комиссия сделки равна только сетевой комиссии.

Метод свопов был доступен для следующих валют в кошельке:

  • Bitcoin
  • Litecoin
  • QTUM

Доклад Лёши по данному проекту на митапе: https://www.youtube.com/watch?v=oToCHhXhSII

Evercode Lab

Close