35 / 736UTXO+

Coin Control

Вибір коштів для платежу

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

Coin Control дає змогу самостійно вибрати кошти для конкретного платежу. Баланс біткоїна складається з окремих невитрачених виходів попередніх транзакцій — UTXO. Зазвичай гаманець вибирає їх автоматично; Coin Control дає змогу вирішити самостійно.

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

Аліса отримала 120 000 sat за роботу та ще 80 000 sat у подарунок. Sat — найменша одиниця біткоїна. Гаманець показує 200 000 sat, але в нашому прикладі за цим числом стоять два окремі UTXO. Для платежу не обов’язково витрачати обидва. У Coin Control Аліса відкриває список і вибирає, наприклад, лише оплату за роботу. Мітки «робота» й «подарунок» допомагають орієнтуватися: це її нотатки в гаманці, а не докази походження грошей. Якщо немає причини вибирати певні кошти, можна залишити вибір гаманцю. [3]

Аліса вибирає UTXO на 120 000 sat, щоб надіслати 100 000 sat. Вибраний вихід витрачається повністю — схоже на оплату великою купюрою з отриманням решти. Припустімо, віртуальний розмір готової транзакції становить 200 vB, а ставка комісії — 5 sat/vB. vB — одиниця розміру для розрахунку комісії: тут вона дорівнює 1 000 sat. Одержувач отримує 100 000 sat, а 19 000 sat повертаються Алісі в новому виході, який називають change, тобто рештою. Другий UTXO на 80 000 sat залишається недоторканим. Це приклад із заданим розміром і комісією коштом відправника, а не універсальний розмір платежу. [4]

Кожен використаний UTXO стає входом нової транзакції та додає до неї дані. За однакового типу входів і ставки комісії платіж із десяти дрібних надходжень зазвичай дорожчий, ніж з одного великого. Комісія не є відсотком від суми: гаманець обчислює її за розміром і вибраною ставкою. Об’єднання кількох дрібних UTXO в один власний вихід називається консолідацією. За низьких ставок вона може спростити майбутні платежі й знизити їхні комісії, але сама теж потребує комісії та публічно пов’язує використані кошти. [1]

Якщо Аліса використає оплату за роботу й подарунок в одній транзакції, спостерігач блокчейну може припустити, що обидва джерела контролює одна людина. Блокчейн — публічний запис транзакцій. Приватних міток Аліси там не видно, а поєднання входів — видно. Окремий вибір допомагає уникнути саме цього зв’язку. Анонімності він не гарантує: інші зв’язки вже можуть бути відомі. Спільні входи також не доводять напевно, що власник один. Наприклад, Payjoin дозволяє і відправнику, і одержувачу додавати входи до одного платежу. [2]

19 000 sat не повертаються Алісі пізніше окремою транзакцією. Change виникає в самому платежі як новий вихід для її гаманця. Ця решта теж має історію: вона походить з оплати за роботу. Якщо згодом Аліса витратить її разом із подарунком, може виникнути зв’язок, якого вона раніше уникла. Тому варто стежити й за виходами решти, і не вважати, що нова адреса сама собою приховає видимі зв’язки з попередніми коштами. Велика решта означає значний надлишок вибраної суми над платежем і комісією; сама собою вона не свідчить про помилку вибору. [2]

Перед підписанням Аліса перевіряє фактичні входи, повну адресу одержувача, суму, власну решту та загальну комісію. Підпис дозволяє конкретну транзакцію; позначені пункти списку ще не є готовим платежем. Вибраних коштів має вистачати на суму й комісію. Коли ви витрачаєте ще не підтверджені кошти, новий платіж залежить від транзакції, з якої вони надійшли. Якщо ця попередня транзакція взагалі не потрапить до блокчейну, платіж, що витрачає її вихід, теж не буде підтверджено. Ручний вибір має допомагати розуміти платіж, а не спонукати змінювати налаштування з незрозумілими наслідками. [4]

Це залежить від програми та версії. У Bitcoin Core v29.0 команда fundrawtransaction за замовчуванням вмикає add_inputs: якщо заданих входів недостатньо, вона може додати інші. Щоб витратити лише вибрані UTXO, перевіряйте цю опцію та остаточний проєкт транзакції. Переглянути доступні виходи допомагає listunspent. Поле txid позначає попередню транзакцію, а vout — позицію її виходу; разом вони визначають конкретний UTXO. solvable означає, що програма знає спосіб його витрачання, а не те, що має потрібні приватні ключі. Складання транзакції не додає відсутніх підписів. [4] [3]

Coin Control корисний, коли ви розумієте, навіщо тримати певні надходження окремо, або хочете розібратися у вартості їх витрачання. Він не замінює надійної резервної копії, не змінює минулого коштів і не стирає опублікованих зв’язків. Не обов’язково використовувати його для кожного платежу. Важливо розуміти, коли автоматичний вибір підходить, а коли треба вирішити самостійно, і перевіряти, чи відповідає підготовлена транзакція вашому задуму. [3] [2]

Для повної картини прочитайте також UTXO, Гаманець, Change Address, Приватність у Bitcoin. На цю статтю також посилаються Change Address, CoinJoin, Приватність у Bitcoin, Coin Selection.

DOC · 001BIP 141: transaction weightПервинне джерело DOC · 002BIP 78: Payjoin and ownership heuristicsПервинне джерело DOC · 003Bitcoin Core v29.0: listunspentДокументація DOC · 004Bitcoin Core v29.0: fundrawtransactionДокументація
Переглянуто: Спочатку джерела · Не інвестиційна порада