161 / 691CASHU

Cashu

Токени e-cash конкретного емітента

Cashu дає змогу передавати приватні токени e-cash; їх обмін і погашення залежать від емітента, який їх випустив.

Cashu — відкритий протокол e-cash зі сліпими підписами, який часто використовують із Bitcoin через Lightning Network. Гаманець зберігає докази конкретного емітента, а не право підписувати витрачання його біткоїнового резерву.

Cashu — не єдиний спільний емітент. Токен визначає емітента, одиницю та набір ключів підпису; однакове числове значення не означає ту саму валюту чи зобов’язання. Токен одного емітента не можна автоматично погасити в іншого. Формат V4 використовує CBOR і містить докази лише одного емітента. [Cashu — NUT-00: Protocol and tokens] [Cashu — NUT-02: Keysets and fees] [Cashu — Project introduction]

Базовий протокол використовує BDHKE на secp256k1. Гаманець створює секрет і засліплює його точку, емітент її підписує, а гаманець знімає засліплення. Номінали мають різні ключі: емітент знає вартість випущених доказів, хоча не повинен знати їхню майбутню незасліплену форму. [Cashu — NUT-00: Protocol and tokens]

Звичайний безумовний токен можна скопіювати. Одержувач через swap обмінює його на нові докази зі своїми секретами; емітент анулює старі входи. UNSPENT — лише стан у певну мить, а не резервування для одержувача. PENDING означає поточне оброблення, SPENT — уже погашений доказ. [Cashu — NUT-03: Swap tokens] [Cashu — NUT-07: Token state check]

Необов’язкове NUT-12 додає доказ DLEQ відповідності підпису відкритому ключу емітента. Одержувач із потрібними даними може перевірити його офлайн. Це не показує, чи хтось уже витратив токен, чи відповідає емітент і чи має резерви. Тому офлайн-перевірка не замінює прийняття через swap. [Cashu — NUT-12: Offline signature validation]

NUT-02 розрізняє active=false та необов’язкове final_expiry. Неактивний набір більше не випускає нових токенів, але його докази й далі приймаються як входи; після остаточного строку специфікація вже не зобов’язує емітента їх погашати. Вхідну комісію input_fee_ppk підсумовують за кількістю й тарифами доказів та округлюють угору. [Cashu — NUT-02: Keysets and fees]

Під час melt гаманець передає докази за зовнішній платіж, часто через Lightning Network. Пропозиція визначає суму, одиницю, строк дії та можливий резерв комісії; також можуть діяти вхідні комісії. HTTP 200 зі станом PENDING не підтверджує платіж. Кінцевий результат треба відрізняти від прийняття запиту. [Cashu — NUT-05: Melting tokens]

Засліплення не прибирає даних про суми, час або мережеве з’єднання. NUT-03 радить сортувати запитані номінали, щоб їхній порядок не видавав поділу між платежем і рештою. Запити відправника про стан переданих доказів можуть допомогти емітенту пов’язати відправника з одержувачем. [Cashu — NUT-03: Swap tokens] [Cashu — NUT-07: Token state check]

NUT-13 виводить секрети й фактори засліплення із seed за набором ключів і лічильником. Версія 01 використовує HMAC-SHA256, старіша 00 — BIP32. Відновлення потребує початкових наборів і підписів через NUT-09, а потім перевірки витрат. Без співпраці емітента seed не гарантує відновлення підписів чи виведення резерву. [Cashu — NUT-13: Deterministic secrets] [Cashu — NUT-09: Restore signatures]

Для повної картини прочитайте також Fedimint, Chaumian eCash, Blind signature, Lightning Network, Counterparty risk, Satoshi. На цю статтю також посилаються Chaumian eCash, Blind signature, Fedimint, Fiduciary Media.

DOC · 001Cashu — NUT-00: Protocol and tokensСпецифікація ↗DOC · 002Cashu — NUT-02: Keysets and feesСпецифікація ↗DOC · 003Cashu — NUT-03: Swap tokensСпецифікація ↗DOC · 004Cashu — NUT-05: Melting tokensСпецифікація ↗DOC · 005Cashu — NUT-07: Token state checkСпецифікація ↗DOC · 006Cashu — NUT-09: Restore signaturesСпецифікація ↗DOC · 007Cashu — NUT-12: Offline signature validationСпецифікація ↗DOC · 008Cashu — NUT-13: Deterministic secretsСпецифікація ↗DOC · 009Cashu — Project introductionПервинне джерело ↗
Спочатку джерела · Не інвестиційна порада