Огляд проекту Iron Fish від Mister_Yspeh#5703

Зараз ми перебуваємо у світі з неймовірною нестачею приватності. Компанії безвідповідально ставляться до зберігання особистої інформації — вони її продають або мало піклуються про її безпеку, тому так багато крадіжок. На цій ноті біткойн почав набирати популярність.
У 2017 році, коли багато хто прийшов на ринок криптовалют, люди помилково вважали, що біткойн є приватним, тоді як насправді це можна було б назвати псевдоприватним. Зараз таких непорозумінь менше, але й правильного вирішення проблеми — повної відкритості всієї мережі, до того ж, для всіх — немає. Тут Iron Fish приходить нам на допомогу зі своїм блокчейном і криптовалютою.
Сама Iron Fish використовує рівень 1, коли транзакції захищені протоколом zk-SNARKs. Двома словами, це сьогоднішній стандарт, але є також покращення у вигляді використання розробок протоколу Zcash’ Sapling. Ось питання, яке у вас може виникнути зараз: «Навіщо нам потрібен інший блокчейн, якщо у нас вже є Zcash, Monero та DASH?» Якби з ними все було добре, то так, не було б сенсу. Але всі вони мають слабкі місця з точки зору конфіденційності та/або доступності. Вони застаріли і не відповідають чинним вимогам.
Серед іншого, Iron Fish підтримує WebRTC і Websockets. Самі ми дуже часто користуємося ними, навіть не підозрюючи про це. Twitch, ймовірно, використовує їх для реалізації чату. Iron FIsh, у свою чергу, використовує їх для подібних цілей — створення та підтримки P2P (peer-to-peer) з’єднання. Кінцева мета — дозволити звичайним користувачам запускати вузли, створюючи справжню децентралізацію.
Також тут є пара моментів під час виконання та перевірки транзакції, які я хотів би виділити. Давайте залишимо позаду те, що відбувається в звичайному блокчейні (Bitcoin), тепер нас цікавлять деякі особливості.
При створенні транзакції існують так звані опис витрат і опис результату. Перший описує вихідні дані (скільки монет на гаманці), вихідний опис, у свою чергу, складається з двох параметрів — скільки і куди відправляються активи, і скільки залишиться після транзакції.
Лише основні параметри залишаються зашифрованими, залишаючи примітку, що транзакція створена правильно. Не можна побачити жодних деталей транзакції — ні інформації облікового запису, ні самої транзакції, якщо сам власник не надає дозволи на читання за допомогою ключів перегляду.
Достовірність транзакції перевіряється консенсусом, який змушує вузли будувати блоки відповідно до своїх правил, інакше блок (включає певну кількість транзакцій)з цією транзакцією не буде прийнятий іншими вузлами.
Майнери, з іншого боку, видобувають ці блоки, таким чином обробляючи транзакції, що дозволяє системі функціонувати з достатньо високим ступенем безпеки.
Процес перевірки виглядає так:
- Перевірити, чи немає публічної інформації;
- Перевірте, щоб кількість надісланих токенів з одного гаманця дорівнювала кількості отриманих на іншому, мінус комісія;
- Перевірте, чи кожен підпис в описі витрат підписав хеш транзакції;
- Перевірити ключові поля в транзакції;
- Перевірте, чи немає шкідливих валідаторів.
Проект може стати одним із тих фундаментальних стовпів Web 3, відповідаючи за конфіденційність даних/транзакцій. Порівняйте це з винаходом і прийняттям сертифікатів SSL (сертифікат безпеки, необхідний для безпечної передачі даних за допомогою протоколу шифрування), які повністю змінили поточну Web 2 і проклали шлях до більш безпечного Інтернету.