// Cryptocurrency

Як Створити Апаратний Гаманець Криптовалюти, як Ledger?

У 2020 році світовий ринок апаратних криптогаманців оцінювали у 200 мільйонів доларів і очікується, що до 2026 року він зросте до 877 мільйонів доларів, водночас середньорічний темп зростання становитиме близько 30%. Це робить цю галузь однією з найперспективніших для запуску нових проектів. Далі ми розповімо, як це зробити - як розробити власний апаратний гаманець для криптовалют як Ledger, Trezor, Cobo Vault або CoolWallet.

Що таке апаратний гаманець

Апаратний гаманець - це гаманець для криптовалюти, у якому зберігаються приватні ключі (критично важлива інформація, що використовується для авторизації вихідних транзакцій у мережі блокчейна, такій як Bitcoin, Ethereum) на захищеному фізичному пристрої - апаратному модулі безпеки (HSM). Головне завдання апаратних гаманців - забезпечити повну ізоляцію між приватними ключами і комп'ютером або смартфоном користувача, які легко зламати.

Більшість апаратних гаманців для криптовалют поширюються у вигляді компактних фізичних пристроїв, що нагадують USB-флешку, автомобільний брелок або банківську карту. Усередині таких пристроїв (розглянемо Ledger Nano S) зазвичай містяться одна друкована плата, мікроконтролер (STM32F042K) і модуль безпеки (ST31H320), у якому зберігаються закриті ключі. У деяких таких гаманцях також можна знайти акумулятор і Bluetooth-, Wi-Fi- або NFC-модулі.

Внутрішній устрій апаратного криптогаманця Ledger Nano S

Внутрішній устрій апаратного криптогаманця Ledger Nano S. Джерело

Використовуючи апаратний гаманець для зберігання своїх криптовалютних монет, ви можете бути впевнені, що ваші активи дуже надійно захищені (стовідсоткової гарантії, на жаль, не дасть жоден вид гаманців) і що ви можете контролювати баланс, отримувати й надсилати монети незалежно від свого місцезнаходження, у будь-який час дня і ночі. Головне - мати на руках гаманець і доступ до інтернету.

Ключові переваги апаратних гаманців для крипти:

  • Захищеність: приватні ключі до криптовалютних рахунків зберігаються в спеціальному апаратному модулі безпеки, ізольованому від Мережі.
  • Безпека використання: апаратні гаманці надають доступ до криптовалютних активів тільки через багаторівневі підтвердження.
  • Можливість відновлення: користувач може використовувати секретні seed-фрази для відновлення доступу до гаманця в разі потреби.
  • Простота використання: будь-який користувач, який хоч трохи розуміється на криптовалюті та IT, зможе легко і швидко налаштувати свій гаманець.

Принцип роботи апаратного гаманця

З технічної точки зору всі апаратні гаманці - це заточені під криптовалютний ринок апаратні модулі безпеки (HSM) споживчого рівня. Інакше кажучи, це пристрій, який являє собою захищене від несанкціонованого доступу сховище, усередині якого може бути створено криптографічну ідентифікацію користувача (у нашому випадку - обліковий запис у мережі криптовалюти), повністю ізольовану від операційного середовища телефону або смартфона. Такий апаратний гаманець повинен тільки прийняти транзакцію, створену на комп'ютері або смартфоні користувача, підписати її, щоб зробити дійсною і потім опублікувати в ланцюжку блоків.

Щоб зрозуміти принцип роботи такого пристрою, думайте про апаратні криптогаманці як про зовнішні фізичні пристрої для введення спеціального PIN-коду, який потрібен, щоб підтвердити, що це ви ініціатор транзакції, а не хтось інший. Тобто, якщо вам потрібно здійснити переказ, ви берете апаратний гаманець, вводите з його допомогою PIN-код і продовжуєте робити те, що збиралися.

Як HSM допомагає захистити інфраструктуру відкритих ключів (PKI)

Як HSM допомагає захистити інфраструктуру відкритих ключів (PKI). Джерело
У криптографії PIN-код називається закритим ключем (або приватним). Усі апаратні гаманці захищають цей закритий ключ, зберігаючи його всередині себе в спеціальних мікропроцесорах. Подібні мікропроцесори, що використовуються для зберігання закритих ключів, можна розділити на дві категорії:
  • "звичайні", використовувані в мікрохвильових печах, камерах, телефонах;
  • "безпечні", що використовуються в картах, POS-пристроях, паспортах.
Ці "безпечні" мікропроцесори називаються Secure Elements, або SE (наприклад, у гаманці Ledger Nano S використовується Secure Element ST31H320). Так от, мікропроцесори, що використовуються в апаратних гаманцях, зазвичай значно складніші за звичайні, оскільки вони використовують зашифровану пам'ять і спеціальне фізичне підсилення для запобігання атакам і несанкціонованому доступу до закритих ключів усередині гаманця, а отже і до монет користувача.

Крім того, мікропроцесори апаратних гаманців для крипти зазвичай мають операційну систему для управління середовищем обробки, тим самим додаючи ще один рівень захисту за рахунок подальшого шифрування. Деякі виробники йдуть ще далі й інтегрують у гаманець власну операційну систему з підвищеним рівнем безпеки. Ledger - один із таких прикладів.

Три складові апаратного гаманця

Розробка такого апаратного гаманця, як Ledger - це доволі складний процес, який вимагає створення багатофункціональної криптовалютної платформи, що має містити реалізацію трьох таких модулів.

Інтерфейс користувача. Це фронтенд-складова апаратного гаманця для криптовалюти, яка відповідає за взаємодію з кінцевими користувачами. Саме з його допомогою користувачі авторизуватимуться, налаштовуватимуть гаманець, а також купуватимуть, прийматимуть і відправлятимуть криптовалютні активи іншим користувачам. Фронтенд-частина гаманців Ledger має мобільний, десктопний і веб-інтерфейси, тож під час запуску свого гаманця ви також маєте реалізувати аналогічні інтерфейси та додатки.

Який вигляд має інтерфейс мобільного додатка Ledger Live

Який вигляд має інтерфейс мобільного додатка Ledger Live. Джерело

Апаратний модуль безпеки (HSM). Як ми писали, HSM - це фізичний надбезпечний пристрій постійної пам'яті із захистом від несанкціонованого доступу, в якому зберігається аутентифікаційна інформація (наприклад, закриті ключі). HSM можуть бути локально під'єднані до вашого комп'ютера або смартфона за допомогою USB або бездротових протоколів Bluetooth чи Wi-Fi. Більшість HSM мають можливість виконувати вбудоване шифрування з використанням закритих ключів, завдяки чому закриті ключі ніколи не залишають HSM.

Спрощений опис того, як працюють апаратні модулі безпеки

Спрощений опис того, як працюють апаратні модулі безпеки. Джерело

При розробці власного апаратного гаманця для криптовалют вам знадобиться свій HSM. Його можна розробити з нуля або замовити шаблонний варіант у вигляді USB-флешки у постачальників. Наприклад, Utimaco, Gemalto, Microsoft, Amazon, Thales і IBM пропонують хмарні HSM, які чудово підходять для створення апаратних гаманців для криптовалют на кшталт Ledger Nano S.

При цьому потрібно розуміти, що вам потрібен HSM, який сертифікований за міжнародними визнаними стандартами, такими як Common Criteria або FIPS 140. Такий сертифікат підтверджує, що модуль HSM пройшов розумний рівень тестів безпеки, проведених кваліфікованими фахівцями, і, отже, він досить надійний і безпечний. Крім того, оскільки ваш апаратний гаманець буде використовуватися для забезпечення фінансових платежів, бажано, щоб HSM перевірявся на відповідність вимогам HSM, визначеним Радою зі стандартів безпеки індустрії платіжних карт.

Серверна частина продукту. При розробці архітектури проекту цій частині слід приділяти максимум уваги, оскільки Backend обробляє, зберігає, захищає дані для безперебійної роботи гаманця - це "серце" вашої системи. Реалізувати серверну частину можна на власних локальних серверах, але краще для цього використати хмарні рішення від Microsoft, Google чи Amazon - це значно простіше, швидше та дешевше.

Орієнтовна архітектура бекенда криптовалютного гаманця

Орієнтовна архітектура бекенда криптовалютного гаманця. Джерело

Основні та розширені функції платформи

Авторизація. У разі апаратних гаманців для криптовалют реєстрація має на увазі не тільки створення нового облікового запису та підключення до нього наявних у користувача криптовалютних рахунків, а й первинне налаштування гаманця: установку додатка, підключення апаратного гаманця до комп'ютера, придумування ПІН-коду, запис seed-фрази та інше. Далі авторизація відбуватиметься за простішим сценарієм (підключення гаманця + введення ПІН-коду).

Підвищена безпека. Наступне, на чому потрібно зосередитися при розробці свого криптовалютного гаманця на зразок Ledger, - захист даних і грошей користувачів. Це дуже важливо, тому що в таких мережах, як Bitcoin або Ethereum, неможливо скасувати неправильну або несанкціоновану транзакцію і дуже складно, через що в користувачів, найімовірніше, не буде можливості повернути свої кошти в разі їхньої крадіжки або платежу за неправильною адресою.

Ось кілька речей, які допоможуть вам захистити гроші клієнтів:

  • PIN-код. Потрібно буде вводити при кожному вході для підтвердження платежів або зміни важливих налаштувань апаратного гаманця.
  • Двофакторна аутентифікація. Має на увазі ще один рівень підтвердження через e-mail, SMS, Google Authenticator або його аналог.
  • Seed-фраза, або мнемонічний код. Це фраза з 12 або 24 слів, яка генерується випадковим чином під час реєстрації облікового запису і потрібна для відновлення доступу до облікового запису в разі крадіжки або втрати паролів.
  • Автоматичний вихід із системи. Має на увазі реалізацію функції управління часом життя для відстеження активності користувача й автоматичний вихід з облікового запису в разі простою гаманця протягом 5 або 10 хвилин. Також можна реалізувати автоматичний вихід із системи, якщо користувач здійснив нетипові дії та/або не зміг підтвердити транзакцію за допомогою спеціального платіжного пароля (якщо такий є).
  • Перевірка IP під час важливих дій. Такий механізм захисту гаманця передбачає, що система записує IP, з яких користувач входитиме в гаманець і співставляє їх із дозволеним списком. Якщо вхід буде здійснено з недозволеного IP, користувач не зможе авторизуватися, поки не додасть новий IP до переліку дозволених користувачем адрес.
  • Мультипідпис. Така функція підвищує рівень безпеки вашого сервісу, дозволяючи кільком користувачам частково підписувати одну адресу відкритим ключем. Якщо хтось хоче витратити токени в гаманці, він повинен отримати два або більше підписів для здійснення платежу.
Курс, коефіцієнт конверсії. Оскільки за допомогою вашого апаратного гаманця користувачі купуватимуть і продаватимуть біткоїни, ефіріум та інші монети, вони повинні знати актуальний курс цих монет. Крім того, їм також потрібно буде знати коефіцієнт конверсії, який враховуватиме всі комісії та збори.

Управління криптоактивами (баланс). Цей функціонал є ядром будь-якого криптовалютного гаманця, оскільки саме він відповідає за купівлю і продаж монет. Ось що входить до переліку найнеобхіднішого.

  • Перегляд балансу, історія транзакцій, список контрагентів.
  • Купівля та продаж криптоактивів за актуальним ринковим курсом за допомогою PayPal, банківських карт та інших платіжних інструментів.
  • Відправлення та отримання монет іншим користувачам.
Панель адміністратора. Через неї ви або ваші співробітники відстежуватимуть поточний стан системи, керуватимуть користувачами, під'єднуватимуть або від'єднуватимуть платіжні шлюзи, управлятимуть монетизацією, розв'язуватимуть проблеми, які виникли, тощо.

Додаткові можливості. Щоб ваш апаратний гаманець для криптовалют користувався популярністю, йому потрібно виділитися серед конкурентів. Зробити це можна за рахунок різних додаткових функцій, наприклад:

  • Lightning-транзакції - швидкі та дешеві платежі;
  • кілька мов інтерфейсу - сильно розширить охоплення аудиторії;
  • інтеграція з e-commerce-сайтами - купівля товарів і послуг за монети;
  • QR-коди для швидких транзакцій - покращують досвід користувача;
  • обрані криптовалютні адреси - прискорюють повторювані транзакції;
  • підтримка NFC - один із головних трендів у криптовалютному світі;
  • повідомлення - інформуватимуть клієнтів про важливі речі.

Архітектура та технологічний стек криптогаманця

Архітектура. Нижче показано високорівневу системну архітектуру апаратного гаманця для криптовалют, створену з орієнтацією на максимальну безпеку та захист грошей і даних користувачів.

Системна архітектура безпечного апаратного гаманця

Системна архітектура безпечного апаратного гаманця. Джерело
Технологічний стек
  • Блокчейн: Ethereum, Binance Smart Chain.
  • Стандарттокена: ERC721, ERC1155, BEP-721, BEP-1155.
  • Смарт-контракти: Ethereum Virtual Machine, BSC Virtual Machine.
  • Мовипрограмування: PHP, JAVA, MEAN Stack, Laravel.
  • Розробкавеб-сайтів: PHP-Laravel / Codeigniter.
  • MEAN: MongoDB, Express JS, Angular js, Node js.
  • Для Android: Java, Kotlin, Node JS, ROR, Laravel.
  • Для IOS: Swift, Node JS, ROR, Laravel, тканина
  • Хмара: AWS, Google Cloud Platform, MS Azure.
  • Push-повідомлення: Twilio, Amazon SNS, MAP.
  • Базиданих: MySQL, MongoDB, Redis.
  • Інше: RSpec, Phantom JS, PUMA server.

Процес розробки криптовалютного гаманця

Створити програмне забезпечення для апаратного гаманця як Ledger можна тільки за допомогою кастомної розробки. Оскільки тільки в такий спосіб можна домогтися достатнього рівня надійності та безпеки системи. Причому це особливо важливо в разі створення софту з відкритим вихідним кодом (стандарт для криптовалютного ринку), оскільки якщо в такому коді будуть "дірки" безпеки, то їх зможе побачити будь-який хакер і використати для злому вашого гаманця.

Як знайти технічного партнера для створення такого програмного забезпечення, докладно описано в статті: "Як Вибрати Компанію з розробки Блокчейна". Ви можете використати цю інструкцію, щоб обрати найкращого розробника, або ж ви може просто звернутися до Merehead. Наша компанія з 2015 року розробляє блокчейн-, fintech- і DeFi-рішення будь-якої складності. Вивчити наше портфоліо і дізнатися умови співпраці можна через sales@merehead.com, за номером телефону +1-206-785-16-88 або скориставшись формою зворотнього зв’язку

Після того як ви оберете технічного партнера, процес розробки апаратного гаманця типу Ledger відбуватиметься за таким сценарієм:

  1. Бізнес- і технічний аналіз. Перед запуском будь-якого IT-продукту потрібно провести аналіз ділових і технічних аспектів проекту для розуміння його бізнес-цілей і завдань та визначення технічних та інших вимог.
  2. Прототипування та архітектурний дизайн. Після ретельного аналізу бізнес-цілей і розроблення технічного завдання створюється архітектура гаманця, яка покаже взаємовідносини між різними частинами системи гаманця . Розроблена архітектура гаманця узгоджується з клієнтом, і якщо все гаразд, то вона надалі слугуватиме своєрідним планом для всіх наступних етапів розробки майбутнього продукту.
  3. Розробка дизайну інтерфейсу. Дизайн інтерфейсу показуватиме, як апаратний гаманець виглядатиме для користувачів і як вони з ним взаємодіятимуть. Під час розроблення дизайну спочатку створюється прототип низької точності, щоб змалювати грубу схему UI/UX і показати її клієнту. Якщо клієнт схвалив схему, створюється прототип високої точності, який максимально наближений до остаточного зовнішнього вигляду гаманця.
  4. Розробка смарт-контрактів. Для розробки апаратного гаманця для криптовалют типу Ledger вам потрібно буде реалізувати не тільки серверну і фронтенд-частину гаманця, а й створити кілька смарт-контрактів. За допомогою них здійснюється управління криптовалютними активами: купівля, продаж, приймання та передача монет, а також відновлення облікового запису та багато іншого.
  5. Розробка серверної частини. За необхідності також створюються серверні служби. Вони необхідні для взаємодії між інтерфейсом і блокчейном, а також для виконання будь-яких смарт-контрактів та інтеграції з іншими сервісами.
  6. Фронтенд-розробка. Перед розгортанням проекту розробляється призначений для користувача інтерфейс апаратного гаманця, в результаті чого створюється фінальна версія програми-гаманця. Потім додаток перевіряється на наявність багів і помилок, відповідність технічним специфікаціям тощо.
  7. Розгортання. Коли програмне забезпечення створено і ретельно протестовано, система гаманця розгортається і стає доступною для користувачів. Якщо гаманець має мобільний додаток, його додають до стори.

Вартість створення апаратного гаманця

Запитання консультанту

Ім'я *
Email *
Телефон
Ваш бюджет
Повідомлення