TL: DR
UTXO - це цифрова валюта, що залишається після криптотранзакції.
UTXO постійно обробляються та є частиною початку та кінця кожної транзакції.
Після завершення транзакції усі невитрачені виходи зберігаються в базі даних як вхідні дані для майбутніх транзакцій.
UTXO є важливим елементом у запобіганні подвійних витрат на Блокчейні та у витрачанні неіснуючих монет користувачами.
Вступ
Моделі невитрачених виходів транзакцій (UTXO) та облікові записи - це обидва методи ведення записів криптовалют, які використовуються для представлення кількості токенів, які залишилися у особи після завершення транзакції в блокчейні. Ці моделі є важливими для того, як архітектура блокчейну забезпечує точне ведення рахунків, зберігаючи при цьому конфіденційність.
Термін в основному використовується для визначення результату отриманих транзакцій, які можуть бути витрачені у майбутньому.
Фізична фіатна валюта є найкращою аналогією для UTXO. UTXO не може бути розділений на менші купюри таким же чином, як монети або банкноти. UTXO можна розглядати як окремий шматок відповідного токена, який контролюється приватним ключем його власника. Біткойн (BTC), Litecoin (LTC), Bitcoin Cash (BCH) і Zcash (ZEC), серед інших, використовують модель UTXO.
Що таке модель невитраченого виведення транзакцій (UTXO)?
Кількість цифрової валюти, яка залишається після криптовалютної транзакції, описується як невитрачений вихід транзакції (UTXO). Це схоже на решту, яку ви отримуєте після покупки, але це не менша грошова одиниця. Це вихід транзакції в базі даних, згенерований мережею, щоб дозволити транзакції з ненадійними змінами.
Як бухгалтерський захід, частина загальної криптовалюти, яка не була витрачена в транзакції (вихід), використовується в наступній транзакції (вхід). Кожна транзакція, як подвійний бухгалтерський облік, має вхід та вихід.
Розглянемо 10 Bitcoin бути відро повне монет. Кожна монета представляє собою UTXO. Якщо ви заплатите 5 BTC за щось від Стефані, мережа передасть Стефані весь відро монет і поверне вам 5 BTC, які вам належать як «здача». Тепер у вас є UTXO вартістю 5 BTC, який не можна розділити далі.
Як працює UTXO?
Уявіть, що ви хочете відправити 1,3 BTC з балансу 1,5 BTC на вашому рахунку Bitcoin адреса гаманця. Ці 1.5 BTC, ймовірно, є результатом ваших попередніх транзакцій.
Скажімо, відповідно 0.9 BTC та 0.6 BTC.
Є дві виходи для вашої нової транзакції: витрачений (надісланий отримувачеві) 1.3 BTC та невитрачений вихід 0.2 BTC, який повертається на вашу адресу (відправника).
Решта 0,2 BTC використовується одним із наступних способів:
Відправлено назад на ваш рахунок.
Використовуйте частину або решту суми як комісію за транзакцію або
Відправити решту суми комусь іншому.
Bitcoin Nodes відстежує ці виходи, щоб вести облік транзакцій. Кожен UTXO використовує закодовані ключі PubKeys для запису кожної транзакції і не має конкретного користувача, пов’язаного з ним. Це дозволяє мережі підтверджувати існування всіх пов’язаних монет, не розкриваючи особисту інформацію користувача.
Важливість UTXO
Концепція невитрачених вихідних транзакцій (UTXO) значно спростила облік блокчейн. UTXO дозволяє кожному вузлу відстежувати інформацію про невитрачені монети, а не відстежувати та зберігати кожну окрему транзакцію. Bitcoin мережа. Це означає, що кожен BTC в гаманці не був витрачений; він був отриманий як нагорода за майнінг або виготовлений як здача під час транзакції.
UTXO є необхідними для запобігання подвійного витрачання на блокчейні та запобігання користувачам витрачати неіснуючі монети. Кожен вузол мережі зберігає базу даних кожного UTXO, що існує.
Що таке модель облікового запису?
Дебетова картка або банківський рахунок є найбільш очевидною аналогією для моделі рахунку. На відміну від фізичної фіатної валюти, яку не можна розділити на менші номінали, модель рахунку дозволяє зарахувати (або дебетувати) будь-яку довільну суму токена. Гаманець моделі облікового запису представляє сукупний баланс користувача, тоді як гаманці UTXO зберігають загальну суму UTXO користувача.
Серед проєктів, які використовують модель облікового запису, можна виділити Ethereum (ETH), Ethereum Classic (ETC) та Ripple (XRP). На відміну від моделі UTXO, транзакції в моделі рахунку являють собою одноразовий переказ коштів або цифрової валюти між рахунками без необхідності додаткових входів або виходів. Все, що потрібно, це зміна бухгалтерської книги.
Відмінності між UTXO та моделлю облікового запису
Хоча моделі UTXO та облікових записів мають однакову мету, кожна з них має переваги та недоліки.
• Масштабованість:
Оскільки зберігання одного балансу займає значно менше пам’яті, ніж зберігання всіх UTXO, що належать цьому користувачеві, модель облікового запису дозволяє краще використовувати пам’ять. Транзакції за моделлю рахунку є меншими, оскільки для них потрібна лише сума, відправник, одержувач і цифровий підпис. Типова транзакція Ethereum становить близько 100 байт, тоді як транзакція моделі UTXO в кілька разів більша. Паралельність транзакцій UTXO також полегшує поділ блокчейнів на основі UTXO на шарди та сайдчейни. Модель UTXO дозволяє агрегувати та визначати вихідні дані на стороні клієнта, зменшуючи вимоги до мережевих обчислень. Моделі облікових записів складніше реалізувати, оскільки кожен вузол повинен локалізувати облікові записи відправників і одержувачів у кількох сегментах.
• Приватність:
Оскільки модель UTXO ускладнює відстеження власності монет, перехід між адресами стає більш випадковим. Адреси, що новостворюються, не мають громадського власника. Тому для їх зв’язку з конкретним користувачем зазвичай потрібен високорівневий аналіз ланцюга. Модель рахунків передбачає повторне використання однієї адреси. У зв’язку з цим, такі блокчейни роблять ідентифікацію історії транзакцій набагато доступнішою. З точки зору фунгібельності, модель рахунків, з іншого боку, забезпечує кращу приватність.
• Функціонал смарт-контрактів:
Модель значно виграє від функціональності смарт-контрактів завдяки спрощеному та інтуїтивно зрозумілому характеру транзакцій на основі облікових записів. Перевірка одиничного балансу вимагає менше обчислювальної потужності, ніж обчислення логіки введення/виведення UTXO, що полегшує розробникам DApp програмування багатосторонніх контрактів і транзакцій. Наприклад, віртуальна машина Ethereum (EVM) може обробляти транзакції між кількома смарт-контрактами, регулюючи їхні відповідні баланси. Модель UTXO споживає значно більше ресурсів, оскільки вона включає явні входи та виходи UTXO для кожної транзакції. Смарт-контракти, написані в моделі UTXO, повинні враховувати кількість входів для об’єднання або, якщо існує кілька варіантів, які входи слід об’єднати.
• Безпека:
Вузли-валідатори в UTXO блокчейнах, таких як Bitcoin відстежуйте набір UTXO, щоб точно з’ясувати, які монети перебувають в обігу та хто їх має. Система UTXO вирішує проблему подвійних витрат ефективно та без довіри, оскільки кожна транзакція повинна посилатися на точні витрачені UTXO. Блокчейни моделей облікових записів набагато вразливіші, вони часто страждають від інших проблем, таких як чарджбеки та оверпродуковані смарт-контракти.
Наприклад, протягом 2020 року проєкт Ethereum Classic втратив мільйони через серію атак подвійних витрат.
Висновок
Модель UTXO - це метод запису транзакцій на Блокчейні.
Оскільки різні моделі мають свої переваги та недоліки, застосування UTXO в будь-якому Блокчейні залежить від цілей проекту.
Ethereum використовує модель рахунку, оскільки вона стурбована розгортанням потужних смарт-контрактів, тоді як Біткойн використовує модель UTXO, оскільки вона більше звертає увагу на розвиток захищеної електронної готівки. Нові проекти намагаються вдосконалити ці моделі. Наприклад, Cardano (ADA), Tron (TRX) та Qtum (QTUM) намагалися поєднати переваги обох у вдосконалених гібридних моделях. Ці моделі спрощують роботу розробників з UTXO, зберігаючи при цьому потужність смарт-контрактів.
Автор - М. Олатунджі, дослідник Gate.io
Попередження: