Що таке повнота за Тюрінгом і до чого тут Біткоїн

Що таке повнота за Тюрінгом і до чого тут Біткоїн

Одним із важливих термінів сучасної математики та програмування є повнота за Тюрінгом. Скриптова мова програмування, що використовується в Біткоїні (Script), – один із прикладів відмови від повноти за Тюрінгом. Ми розглянемо, чому це важливо і що це означає на практиці.

Повнота за Тюрінгом

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

Applied Sciences  Free Full-Text  Quantum Turing Machines: Computations  and Measurements
Повнота за Тюрінгом. Джерело: Medium

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

Script – не повний за Тюрінгом

Повні та неповні за Тюрінгом платформи для роботи зі смарт-контрактами пропонують принципово різні підходи щодо задоволення потреб клієнтів у таких інструментах. Хоча блокчейн Біткоїна дозволяє реалізовувати алгоритми типу «якщо…то…в іншому випадку…», розробники свідомо відмовилися від повноти за Тюрінгом. Але чому?

Script розроблений таким чином, щоб унеможливити створення розрахункових циклів, що призводять до використання надмірних обчислювальних потужностей та створення непропорційного навантаження на ноди Біткоїна. Якби Script був би повним за Тюрінгом, то були б можливі Denial-of-Service (DoS) атаки на мережу Біткоїна.

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

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

Як Біткоїн відповідає на тренд щодо розширення можливостей смарт-контрактів? Шляхом використання сайдчейнів. У такий спосіб масштабування мережі може бути покращено через вдосконалення функціоналу смарт-контрактів, але без додаткових загроз безпеці та стабільності мережі. Учасники повинні мати стимули щодо використання повних нод задля перевірки транзакцій та сприяння стабільності всієї мережі.

Типи смарт-контрактів

Відмова від повноти за Тюрінгом не заважає Біткоїну представляти декілька типів смарт-контрактів для користувачів. Найпопулярніший та один із найпростіших – це P2PKH, що дозволяє відправляти монети на іншу адресу. В результаті лише власник приватного ключа може надсилати коїни в майбутньому. Функціонал мультипідпису дозволяє створювати різні конфігурації та залучати декількох учасників до підтвердження транзакцій. У такий спосіб можна досягти балансу між усіма партнерами та запобігти концентрації влади в одного з них. Розповсюдженими є варіанти мультипідпису 2 з 3 або 3 з 5.

Що таке повнота за Тюрінгом і до чого тут Біткоїн
Мультипідпис: 3 з 5. Джерело: MultisigTools

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

Оновлення Taproot ще більше розширює функціонал смарт-контрактів Біткоїна, адже воно дозволяє відправляти коїни на довільну адресу або скрипт. Загальна кількість можливих скриптів складає 2^128, а використання монет є можливим за активації будь-якого з них. Пропорційно й розширюється використання Lightning-каналів, які теж є видом смарт-контрактів на другому рівні.

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

Висновки

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

Джек Дорсі: рольова модель біткоїнера Джек Дорсі: рольова модель біткоїнера Інноваційність та бажання змінити світ на краще – одні з головних рис біткоїнерів. Останнім часом їх уособленням став співзасновник Twitter та виконавчий директор Block, Inc. Джек Дорсі. Дмитро Харьков 20 березня 2023
Обмеження від НБУ: як вони вплинули на Біткоїн-індустрію Обмеження від НБУ: як вони вплинули на Біткоїн-індустрію Нацбанк України на початку березня несподівано ввів жорсткі обмеження на операції з цифровими активами. Такі кроки не лише не сприяють врегулюванню Біткоїн-індустрії, а навпаки, створюють додаткові проблеми для всіх учасників ринку. Дмитро Харьков 17 березня 2023
Головні критики Біткоїна: чому вони неправі Головні критики Біткоїна: чому вони неправі Попри гіпербіткоїнізацію, яка впевнено наближається, досі є чимало публічних людей, які виступають проти Біткоїна. Розгляд і спростування їхніх аргументів можуть бути корисними для кращого розуміння сутності й переваг головного цифрового активу. Дмитро Харьков 15 березня 2023