Невитрачений вихід транзакції. Значення для блокчейну

Фото - Невитрачений вихід транзакції. Значення для блокчейну
Невитрачений вихід транзакції (UTXO, Unspent Transaction Output) — термін, під яким у блокчейні ведеться облік коштів, що отримують користувачі.
Це може бути сума, яку ви переказали з криптобіржі до свого гаманця, або «решта», що надійшла після укладення угоди з іншою адресою. 

UTXO застосовується в блокчейні Bitcoin, його хардфорках (Bitcoin Cash, Litecoin) та інших розподілених реєстрах, де транзакція складається зі входу та виходу даних. 

Вхідні дані — це сума, яку переказує (витрачає) користувач, вона видаляється з його рахунку, а вихід — це отримані кошти, залишок на рахунку, який є входом для майбутніх транзакцій. Баланс кожного криптогаманця складається з неподільних UTXO. 

За допомогою невикористаних виходів транзакцій ведеться підрахунок та відстеження цифрових валют у блокчейні. Можливість побачити, де є криптовалюти, скільки їх налічується, і здатність простежити джерело кожної угоди — це цінність UTXO. Цей елемент також дає змогу визначити початок та кінець кожної транзакції в ланцюжку блоків. 

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

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

Інший метод моніторингу криптовалют у блокчейні — це модель облікового запису (Account Model). Він властивий мережі Ethereum, де токени підраховують у мережевих вузлах, а не в транзакціях.

Як працює UTXO

Механізм роботи UTXO найпростіше зрозуміти на прикладі. Припустимо, баланс вашого біткоїн-гаманця 0,7 BTC. Нехай це буде сума таких неподільних залишків попередніх транзакцій, як 0,6 BTC та 0,1 BTC. 

Якщо вам потрібно переказати 0,4 BTC на іншу адресу, гаманець автоматично використовує UTXO у розмірі 0,6 BTC для входу транзакції. Після завершення угоди 0,6 BTC видаляються з криптогаманця та утворюються два нові невитрачені виходи — 0,4 BTC і 0,2 BTC. Перша сума закріплюється за новим користувачем, а друга повертається вам за вирахуванням комісії майнінгу. 

Переваги методу UTXO

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

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

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

Нарешті, механізм гарантує конфіденційність та безпеку. Це обумовлено створенням нових адрес щоразу, коли використовується UTXO. 

Недоліки UTXO


Об'єднання кількох невитрачених виходів для здійснення нової транзакції призводить до підвищення комісії. Це пов'язано з тим, що кожен UTXO вимагає окремого підпису від власника. 

UTXO призводить до накопичення невеликих залишків монет, які не можна витратити через встановлений ліміт на мінімальний розмір транзакції. Ці «крихти» можуть використовувати кіберзлочинці для пилових атак. Однак деякі криптогаманці автоматично об'єднують невеликі UTXO в одну суму, щоб уникнути таких ситуацій. 

Велика кількість UTXO забирає багато місця у блокчейні. Втім, проблему можна подолати за допомогою перенесення деяких даних на жорсткий диск або SSD-накопичувач. 
Деякі розробники працюють над поліпшенням UTXO. Наприклад, команда Cardano створила модель Extended UTXO (EUTXO). Вона використовує смартконтракти для відстеження невитрачених виходів та розв'язує перелічені проблеми традиційного обліку коштів.