Ось результати порівняння рівня безпеки популярних NFT-гаманців з переліком їх основних функцій безпеки, який провів портал Hacked:
Як розробити NFT-гаманець
Розробка NFT-гаманців відрізняється від створення звичайних фінансових додатків, оскільки до них висуваються підвищені вимоги щодо надійності та безпеки. Складність у тому, що криптовалютні транзакції зазвичай анонімні та незворотні, тому вкрадені через злам гаманця гроші майже неможливо повернути. Крім того, криптовалютні гаманці зазвичай створюють на базі відкритого вихідного коду, що ще більше підвищує вимоги до рівня їхньої надійності.
Щоб ваш NFT-гаманець не мав подібних проблем, його створення найкраще доручити технічному партнеру з відповідними знаннями і досвідом, такому як Merehead. Наша компанія з 2015 року займається розробкою блокчейн-, fintech- і DeFi-проектів - від простих смарт-контрактів до сучасних децентралізованих криптовалютних бірж. Вивчити наше портфоліо та дізнатися умови співпраці можна через sales@merehead.com або за номером телефону +1-206-785-16-88.
Сам процес створення NFT-гаманця зазвичай складається з наступних етапів:
Вибір типу гаманця (платформи)
Опис типів біткоїн-гаманців: переваги, недоліки та приклади.
Джерело
На першому етапі створення свого NFT-гаманця ви маєте визначитися з його основною цільовою платформою, оскільки це найбільше вплине на його дизайн, функції, стек технологій, інтеграцій тощо. Ось опис основних варіантів:
- Веб-гаманці, наприклад, розширення MetaMask для Cгодome. Це додатки, які вбудовуються в браузери і використовуються для зберігання та управління своїми криптоактивами. Їхні основні переваги в тому, що вони досить прості та можуть працювати майже на всіх комп'ютерах. Головний недолік - висока вразливість до різних хакерських атак.
- Мобільні гаманці, наприклад, гаманці MetaMask Mobile, Enjin або Math Wallet. Такі додатки встановлюються на смартфони. Вони мають простий інтерфейс і чудово підходять для повсякденного доступу і покупок у дорозі. При цьому вони надійніші, ніж розширення для браузерів, але поступаються за цим параметром іншим варіантам. Крім того, вони мають низку обмежень, пов'язаних з низькими апаратними потужностями звичайних смартфонів.
- Десктопні гаманці, наприклад, той самий MyEtherWallet. Це програми, що завантажуються і встановлюються безпосередньо на ваш комп'ютер або ноутбук. Вони мають максимальний функціонал і при цьому також дають змогу займатися майнінгом (але не NFTs, бо їх не майнять). Безпека таких гаманців залежить від безпеки комп'ютера або ноутбука, на якому він встановлений, оскільки закриті ключі користувачів зберігаються на їхньому ПЗП.
- Апаратні гаманці, наприклад, Ledger і Trezor. Це фізичні карти флеш-пам'яті, що підключаються до комп'ютера, ноутбука або планшета. Такі NFT-гаманці дають змогу здійснювати транзакції, не розкриваючи сід-фразу і закриті ключі, оскільки вони зберігаються всередині флеш-накопичувача і ніколи не залишають його. Через це апаратні криптовалютні гаманці вважаються найбезпечнішими. Щоправда, з цієї ж причини їх складніше використовувати.
Аналіз ринку, аудиторії та конкурентів
Як правило, перед розробкою будь-якого програмного продукту або запуском стартапу необхідно провести дослідження ринку, аналіз цільової аудиторії та конкурентів. Такі дослідження допоможуть вам зрозуміти, який саме продукт хочуть побачити ваші потенційні користувачі (дизайн, функції, інтеграції), які рішення ваших конкурентів виявилися успішними і їх потрібно перейняти, а які виявилися неуспішними. Ви зможете використовувати ці дані, щоб розробити NFT-гаманець, який сподобається користувачам і принесе вам прибуток.
Залежно від глибини аналізу подібні дослідження зазвичай ділять на:
- Звіт верхнього рівня. Поверхневе сканування ринку, цільової аудиторії та конкурентів за допомогою відкритих даних (маркетингові дослідження, статистика, звіти компаній). Такий аналіз дає базове розуміння галузі та потреб кінцевих користувачів.
- Повний ринковий звіт. Досить глибоке дослідження, яке дає змогу виокремити потреби та поведінкові патерни користувачів, а також причини успіхів/невдач конкурентів. Аналіз такого рівня - гарна підмога для пошуку перспективної ніші та створення NFT-гаманця з функціоналом і дизайном, що сподобаються користувачам.
- Докладний ринковий звіт про продукт. Максимально глибокий аналіз, який, крім даних повного ринкового звіту, також міститиме інформацію про поточні тенденції та ймовірність виникнення нових, а також їхнього можливого впливу на ринок, аудиторію та конкурентів.
Вибір основних функцій NFT-гаманця
Авторизація. За допомогою цієї функції ваші користувачі зможуть зареєструвати і заповнити форму з ключами доступу до своїх криптовалютних рахунків. У більшості гаманців реєстрація проходить через електронну пошту або телефон у разі мобільних додатків. При цьому від користувачів вимагають мінімум інформації про себе, щоб виконувати вимоги конфіденційності транзакцій і захистити персональні дані в разі злому сервісу. Однак майже завжди на етапі реєстрації потрібно додати двофакторну автентифікацію Google і вказати мнемонічну фразу для відновлення доступу до гаманця.
Підвищена безпека. У таких криптовалютних мережах, як Біткоїн, Ефір і BSC, неможливо скасувати неправильну або несанкціоновану транзакцію, і водночас складно визначити контрагента в реальності, через що в користувачів майже немає ніяких можливостей повернути гроші в разі їхньої крадіжки або платежу за неправильною адресою. Тому ваш застосунок має бути максимально захищений від атак хакерів, фішингу та помилок користувачів.
Ось декілька функцій, які ви можете реалізувати для підвищення безпеки вашого NFT-гаманця, крім криптографії та тестування коду:
- Двофакторна аутентифікація. Це просто реалізувати, підключивши інструменти Google, які дають змогу перевіряти користувачів за допомогою номера телефону, електронної пошти, QR-коду, PIN-коду або Touch / Face ID.
- Мнемонічна фраза з 12 слів. Зазвичай прикріплюється до закритих ключів, щоб їх можна було зіставити та відновити доступ у разі видалення гаманця або переміщення користувача на інший криптогаманець.
- Автоматичний вихід із системи. Буде корисно при крадіжці або втраті телефону, оскільки система вимагатиме введення логіна і пароля при кожному вході в систему. Також можна додати опцію автоматичного виходу з системи при тривалому простої, наприклад, після п'яти або десяти хвилин. Ще один рівень захисту, який вимагатиме введення спеціального пароля для верифікації транзакцій. Пароль може бути статичним або випадково генеруватися, а потім надсилатися по SMS або імейлу.
- Баунті-кампанія для виявлення помилок. Ви можете нагороджувати людей за виявлені ними "дірки" в безпеці вашого гаманця. Нагорода має бути суттєвою і залежати від серйозності знайденої вразливості.
- Шифрування інтернет-з'єднання. Ваш NFT-гаманець повинен шифрувати всі дані, які він відсилає інтернетом та вимагати такого шифрування для всіх даних, які він отримує інтернетом.
Курс, коефіцієнт конверсії. Оскільки за допомогою вашого гаманця користувачі купуватимуть-продаватимуть NFTs за іншу крипту і фіат, вони повинні знати актуальний курс біткоїна, ефіру та інших монет, які підтримують ваш сервіс. Крім того, їм також потрібно буде знати коефіцієнт конверсії з урахуванням усіх комісій і платежів. Причому бажано, щоб користувачі також могли відстежувати динаміку зміни курсів і коефіцієнтів за останній час.
Управління криптоактивами (баланс). Це безпосередньо той функціонал, який відповідає за купівлю і продаж NFTs та інших криптовалютних монет. Ось що входить до списку найнеобхіднішого для управління своїми активами:
- Перегляд балансу, історія транзакцій, список контрагентів.
- Купівля та продаж NFTs або інших активів за актуальним обмінним курсом, використовуючи банківські картки, PayPal та інші платіжні інструменти.
- Відправлення та отримання NFTs або інших активів іншим користувачам.
QR-коди для швидких транзакцій. Ця опція необов'язкова, але вона дуже подобається користувачам, оскільки дає змогу уникнути фатальних помилок під час введення відкритих ключів для здійснення криптовалютних транзакцій. Тут вам потрібно реалізувати генератор випадкових QR-кодів і їхній сканер.
Вибрані криптоадреси. Ще один варіант уникнути помилок при введенні відкритих ключів, який до того ж сильно прискорить проведення періодичних транзакцій, наприклад, оплату підписок. Як і функціонал QR-кодів, ця опція необов'язкова, але вона подобається користувачам і її легко реалізувати, тому практично всі криптовалютні гаманці підтримують цей функціонал.
Підтримка NFC. Щоб ваш криптовалютний гаманець міг працювати з невзаємозамінними токенами, він повинен підтримувати стандарти: ERC721, ERC1155, Composables, dGoods, NFT Cosmos, TRC-721, BEP-721, BEP-1155 тощо. При цьому буде дуже добре, якщо ваш NFT-гаманець також дасть користувачам можливість створювати власні NFT-активи.
Сповіщення. Дуже корисна функція, яка повідомлятиме вашим користувачам про важливі події: підтвердження транзакції, нове повідомлення, оновлення додатку, введення/виведення коштів, нетипові дії тощо.
Розробка дизайну NFT-гаманця
Приклад можливого дизайну вашого криптогаманця.
Джерело
На наступному етапі створення власного NFT-гаманця вам потрібно розробити дизайн його користувацького інтерфейсу. Зазвичай цей процес починають з ескізу, де ви схематично позначаєте приблизний зовнішній вигляд екранів гаманця і користувацьких потоків. Після чого дизайнери на основі ескізу створюють мокапи і прототипи, які після вашого схвалення підуть у роботу програмістам.
Вибір технологічного стеку
Можлива архітектура бекенда NFT-гаманця.
Джерело
Тепер, коли ми поговорили про дизайн і функції, які необхідно реалізувати при створенні вашого NFT-гаманця, прийшов час поговорити про технічний бік розробки програмного забезпечення.
Ось що ви тут можете використовувати:
- Блокчейн: 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, тканина IOS.
- Хмара: AWS, Google Cloud Platform, MS Azure.
- Push-сповіщення: Twilio, Amazon SNS, MAP.
- Бази даних: MySQL, MongoDB, Redis.
- Інше: RSpec, Phantom JS, PUMA server.
Кодування NFT-гаманця
На цьому етапі ваш гаманець набуває форми. Фронтенд-, бекенд-, блокчейн- і мобільні розробники реалізують дизайн і функціонал вашого гаманця в програмному коді.
Тестування продукту
Практично відразу після написання перших рядків коду він потрапляє до рук QA-інженерів, які тестують його на наявність багів і помилок. Крім перевірки коду QA-інженери тестують юзабіліті, функціонал, безпеку і надійність роботи системи у всіх можливих сценаріях навантаження.
Розгортання
Коли код вашого NFT-гаманця написаний і протестований, починається розгортання програми на серверах (хмарі). Крім того, ваш продукт додають до різних лістингів, як-от Google Play та App Store, якщо ви орієнтовані на мобільні ринки.
Підтримка
Хороша компанія з розробки криптовалютних гаманців завжди допомагає своїм клієнтам навіть після випуску програми. Якщо ви зіткнетеся з будь-якими труднощами або простоями після випуску додатка, розробники можуть допомогти вам з будь-якими проблемами. Крім того, вони також можуть допомогти вам організувати роботу власної служби підтримки
Вартість створення NFT-гаманця