Що відбувається всередині транзакції Blocknet?

· 4 хв читання

Простежте один платіж Blocknet через частини, які формує гаманець: наявні кошти, нові виходи, решту та мережеву комісію. Цей розбір пояснює, чому платіж одній людині може мати кілька виходів і чому витрачання виходу гаманця не означає передачу всієї його вартості одержувачу. Обліковий приклад використовує вигадані суми, а орієнтиром реалізації є випущений гаманець core v0.22.0.

Як транзакція Blocknet переміщує ваші кошти?

Коротка відповідь

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

Почніть із виходів, які вже належать гаманцю

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

Припустімо, гаманець вибирає вихід вартістю 10 BNT для платежу 3 BNT. Він витрачає весь цей наявний вихід. Нова транзакція потім розподіляє вартість між одержувачем, рештою та комісією. Інші виходи можуть залишатися недоторканими; вибрана сума не обов’язково дорівнює всьому балансу.

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

Приклад транзакції: 1 вибирає 10 BNT; 2 надсилає одержувачу 3 BNT; 3 повертає 6,9995 BNT решти; 4 враховує мережеву комісію 0,0005 BNT.

Читайте схему як облік гаманця: 1 — вибраний вхід, 2 — вихід одержувача, 3 — ваш вихід решти, 4 — комісія. Числа наведено для ілюстрації; комісія умовна, а не запропонована до оплати. Стрілки показують належність і розподіл вартості, а не загальнодоступні зв’язки в оглядачі.

Чому один платіж може створити кілька виходів?

У цьому прикладі 10 BNT = 3 BNT + 6.9995 BNT + 0.0005 BNT. Одержувач отримує 3 BNT, ваш гаманець — 6.9995 BNT решти, а транзакція сплачує умовну комісію 0.0005 BNT. Є два нові виходи гаманців, хоча ви хотіли заплатити лише одній людині. Комісія — окреме поле транзакції, а не третій вихід одержувачу.

Два виходи — корисний приклад, а не правило для кожного платежу. Конструктор підтримує кількох одержувачів, а розширений механізм вибору входів може розділити решту між кількома виходами. Якщо вибрана вартість точно покриває одержувачів і комісію, вихід решти не потрібен. Операція надсилання всіх коштів натомість обчислює суму одержувачу, віднімаючи комісію від вибраної доступної суми.

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

Куди надходить решта?

Гаманець створює решту для власних ключів. У прикладі початковий вихід 10 BNT витрачається, а решта 6.9995 BNT є новим виходом, який розпізнає той самий гаманець. Під час звичайного надсилання не потрібно вказувати другого одержувача чи вручну копіювати адресу решти.

Виходи одержувача й решти використовують одноразові ключі виходів. Публічна транзакція не ставить вашу звичну адресу отримання поруч із позначкою «решта». Гаманець має приватну інформацію для розпізнавання власних виходів. Посібник зі стелс-адрес пояснює зв’язок цих одноразових ключів із багаторазовою адресою отримання.

Решта також підкоряється правилам новостворених виходів. Після надсилання частина балансу може чекати підтвердження або дозрівання, хоча й далі належить вам. Недоторканий дозрілий вихід може залишатися доступним, поки нова решта очікує. Перед наступним платежем перевіряйте доступний для витрачання баланс; посібник із часу переказу пояснює етапи від поширення до можливості витрачання.

Що перевіряє мережа і що показує оглядач?

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

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

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

Простежте підтвердження платежу

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

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

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

Поширені запитання

Чому мій платіж Blocknet має два виходи?

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

Чи потрібно копіювати адресу решти перед надсиланням?

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

Чи витрачає кільце входу кошти всіх учасників?

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