Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Невитрачений Вихід Транзакції | Блоки та Транзакції
Вступ до блокчейну

Невитрачений Вихід Транзакції

Свайпніть щоб показати меню

UTXO та баланс

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

Note
Дізнатися більше

UTXO — це, по суті, частина цифрової валюти, яка була отримана у Bitcoin-гаманець, але ще не витрачена.

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

Наступний приклад ілюструє, як це працює:

Боб

Як показано тут, у Боба є 4 UTXO, які разом складають баланс його гаманця. Додавання їхніх значень дає загальний баланс у 4 BTC.

Витрачання UTXO

Розглянемо наступний приклад, щоб проілюструвати, як витрачаються UTXO. Боб хоче надіслати 1.9 BTC своїй подрузі Алісі з комісією за транзакцію 0.01 BTC. Ось гаманець Аліси до транзакції:

Аліса

На цьому етапі у Аліси 3 UTXO із загальним балансом 8.45 BTC.

Перед тим як перейти до транзакції, слід пам’ятати одну важливу деталь.

Note
Примітка

Один UTXO не можна розділити на менші частини, тому весь UTXO має бути використаний як вхід у новій транзакції. Однак транзакція може використовувати будь-яку комбінацію UTXO (не обов’язково весь набір). Яку саме комбінацію використовувати, визначає ваш гаманець, і це не можна контролювати вручну.

Оскільки у Боба немає жодного UTXO або комбінації UTXO, які разом складають точно 1.91 BTC (1.9 BTC для Alice + 0.01 BTC як комісія за транзакцію), необхідно використати UTXO або набір UTXO із більшою загальною сумою. Припустимо, гаманець обирає один UTXO номіналом 2 BTC (хоча також можливо використати разом UTXO на 1.5 BTC, 0.3 BTC та 0.2 BTC).

Note
Дізнайтеся більше

Щоб витратити свій 2 BTC UTXO, гаманець Боба створює скрипт розблокування, також відомий як scriptSig (підпис скрипту). Цей скрипт зазвичай містить цифровий підпис, створений за допомогою приватного ключа Боба, а залежно від типу скрипту блокування, який використовувався для блокування UTXO, може також містити публічний ключ. Цифровий підпис підтверджує, що Боб є власником коштів і має право витратити цей UTXO.

Тепер транзакція виглядає так:

Структура транзакції

Після підтвердження транзакції баланс гаманця Аліси збільшується на 1.9 BTC. Баланс гаманця Боба тепер складається з UTXO, які він не витратив (1.5 BTC, 0.3 BTC та 0.2 BTC), а також нового UTXO здачі у розмірі 0.09 BTC (після віднімання комісії 0.01 BTC). Оновлений загальний баланс Боба — це сума цих UTXO, що дорівнює 2.09 BTC.

Коли гаманець Боба створює транзакцію, він також генерує locking scripts для виходів. Вихід, який надсилає 1.9 BTC Алісі, містить locking script, що визначає умови, за яких ці кошти можуть бути витрачені в майбутньому. Цей скрипт називається scriptPubKey (публічний ключ скрипта).

Note
Дізнайтеся більше

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

Нарешті, коли Боб транслює транзакцію в мережу, майнери перевіряють її, переконуючись, що скрипт розблокування (scriptSig) для кожного входу задовольняє скрипт блокування (scriptPubKey) з виходу, куди UTXO спочатку були надіслані Бобу. Якщо скрипти є дійсними і транзакція підтверджена, вона стає частиною блоку в блокчейні.

question mark

Під час створення транзакції Bitcoin, що має відбутися, щоб транзакція вважалася дійсною щодо UTXO?

Виберіть правильну відповідь

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 7

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Секція 2. Розділ 7
some-alt