АПАРАТНО-ПРОГРАМНИЙ КОМПЛЕКС ДЛЯ БЕЗПЕЧНОЇ ВЗАЄМОДІЇ ІЗ ТЕХНОЛОГІЄЮ BLOCKCHAIN
09.12.2021 19:47
[1. Информационные системы и технологии]
Автор: Рибак М.С., магістр, Чернівецький національний університет імені Юрія Федьковича;
Танасюк Ю.В., к.ф.-м.н., доцент, Чернівецький національний університет імені Юрія Федьковича
Технологія блокчейн [1] – це розподілений цифровий реєстр для зберігання будь-яких даних, що набула найбільшої популярності завдяки виконанню фінансових операцій з криптовалютою. Система являє собою зв’язний список блоків, що містять інформацію про транзакції. Кожен блок містить хеш-суму: свою власну та попереднього блоку, яка змінюється при будь-яких модифікаціях інформації в блоці і впливає на наступний блок. Блок транзакцій – це спеціальна структура для запису групи транзакцій у системі типу Біткойн. Транзакція [2] вважається завершеною та достовірною, коли підтверджено її формат і підписи, і коли цю транзакцію об’єднано в групу з деякими іншими операціями. Транзакції перевіряються кількома вузлами, що знижує кількість помилок. Використовуючи блокчейн, дві сторони можуть підтвердити або завершити дію, без залучення третьої сторони. Допоки транзакцію не додано в блок, кількість біткойнів за деякою адресою залишається незмінним. До найбільш поширених операцій належать поповнення криптоактивів та переказ між різними криптогаманцями. Проте ідентифікація сторін, генерування та зберігання ключів з метою проведення безпечних транзакцій не втрачає своєї актуальності.
Зберігання криптовалютних активів – найважливіша частина роботи будь-якого інвестора, адже в сучасному світі Blockchain технології набувають високої популярності. Тож до вибору сховища слід підійти дуже відповідально. Як найбільш популярні розглядають варіанти трьох підкатегорій: програмні, біржові та апаратні. Але один з найбільш безпечних способів зберігання власних активів передбачає використання апаратного гаманця.
Апаратний гаманець – це криптовалютний гаманець, який зберігає приватні ключі користувача, зокрема, критично важливу частину інформації, що використовується для авторизації вихідних транзакцій у мережі блокчейн, у захищеному апаратному пристрої. Основний принцип апаратних гаманців полягає у забезпеченні повної ізоляції між приватними ключами і користувацьким пристроєм, як-от комп'ютером або смартфоном, що легко зламується.
Апаратні гаманці Ledger мають найкращий у галузі захист, що дозволяє завжди тримати криптовалюту в безпеці. За допомогою Ledger можна захищати, зберігати та керувати більш ніж 1800+ криптоактивами.
Пристрої Ledger мають унікальну архітектуру, що дозволяє використовувати безпеку захищеного елемента і при цьому мати можливість взаємодіяти з різними периферійними пристроями.
Апаратний пристрій використовує два мікроконтролера: STM32 та ST31 Secure Element [3]. Перший використовується як посередник між другим захищеним мікроконтролером та периферійними пристроями. Мікроконтролер STM32 не виконує жодної прикладної логіки і не зберігає жодних криптографічних секретів, які використовуються операційною системою BOLOS, він просто керує периферійними пристроями та повідомляє захищений мікроконтролер, коли нові дані готові до прийому. Програми BOLOS повністю виконуються на захищеному мікроконтролері ST31 Secure Element. На рис. 1 подано архітектуру апаратного забезпечення, щоб краще зрозуміти пов’язані з ним обмеження, перш ніж аналізувати їх наслідки.
Рис. 1. Схема архітектури BOLOS
Мета роботи – створити максимально безпечний та зручний спосіб взаємодії користувача із технологією Blockchain за допомогою апаратно-програмного комплексу. Для досягнення цієї мети було використано апаратний гаманець Ledger та створений програмний застосунок. Програма надає такі можливості:
• Підтримка більшості популярних Blockchain систем, як Bitcoin, Ethereum, Polkadot, Tron, XRP та інші.
• Створення транзакції в розподіленому реєстрі.
• Огляд наявних активів для кожного із Blockchain-ів, включаючи токени.
• Створення будь-якої кількості публічніх адрес для отримання криптоактивів.
• Представлення публічної адреси у вигляді QR-коду.
• Перевірка істинності адреси гаманця за допомогою Ledger.
• Захист застосунку за допомогою пароля.
• Представлення цінності всіх та кожного окремого криптоактивів у вигляді графіку за певний проміжок часу.
• Експорт всіх операцій у csv форматі.
Розробка була реалізована за допомогою мови програмування JavaScript, із використанням бібліотек ReactJS та фреймворку Electron [4]. Вибір таких технології дає велику гнучкість та безпеку розробленій системі. Electron надає нам змогу створити нативний застосунок для настільних операційних систем за допомогою веб-технологій на основі бібліотеки рендерингу із Chromium. Під час розробки було використано велику кількість API, оскільки для кожного розподіленого реєстру потрібний свій спосіб взаємодії із ним.
У даній роботі було розроблено програмний застосунок, за допомогою якого ми отримуємо можливість взаємодіяти із Blockchain технологією, тобто отримувати та відправляти криптоактиви.
Перевірка функціональності програмного застосунку проводилася на розподіленому реєстрі Tron. У досліднику Tron [5] можна побачити, що транзакція пройшла успішно (рис. 2) та тестування застосунку виявило позитивні результати роботи.
Рис 2. Інформація про транзакцію в Tron Blockchain
Таким чином, завдяки поєднанню програмного застосунку та апаратного пристрою нам вдалося досягнути надзвичайно безпечного та зручного способу створення та підпису транзакції для різних Blockchain систем.
Література:
1. Blockchain Technology – Access mode : https://en.wikipedia.org/wiki/Blockchain
2. Блокчейн-революція. Як технологія, що лежить в основі біткойна та інших криптовалют, змінює світ / Дон Тапскотт . – Вид. Літопис, 2019. – 492с.
3. BOLOS Architecture - Access mode: https://developers.ledger.com/
4. Electron - Access mode: https://uk.wikipedia.org/wiki/Electron
5. Tron Explorer - Access mode: https://tronscan.org/