Mesej pembayaran dalam rantaian
HOBCMSG1 membolehkan dompet melampirkan mesej UTF-8 peribadi pada pembayaran menggunakan satu output OP_RETURN. Ciphertext adalah awam; hanya kunci pembayaran penerima sahaja yang boleh menyahsulit.
Gambaran Keseluruhan
Penghantaran Web Wallet menyokong mesej peribadi pilihan (maksimum 300 aksara). Format wayar yang sama diterbitkan supaya Windows, Linux, Android dan aplikasi pihak ketiga boleh melaksanakan penghantaran/penerimaan yang serasi kemudian.
Model privasi
Amaun pembayaran, alamat dan masa kekal umum. Bait mesej dalam rantaian adalah teks rahsia. Sesiapa sahaja yang mempunyai kunci peribadi pembayaran penerima boleh menyahsulit. Destinasi dompet web kustodian dinyahsulit oleh tapak untuk penerima yang log masuk (amanah yang sama seperti kustodian).
Format wayar
Muatan data OP_RETURN tunggal:
HOBCMSG1 | ver:1 | flags:0 | utf8_plaintext
Awalan ASCII HOBCMSG1, kemudian ver (1 bait, kini 1), flags (1 bait; bit0 = disulitkan), kekunci pub termampat sementara (33 bait), nonce AES-GCM (12 bait), teks sifer, kemudian tag pengesahan 16-bait.
Kriptografi
Pengirim menjana pasangan kekunci secp256k1 sementara, ECDH dengan kekunci pub pembayaran termampat penerima, HKDF-SHA256 (info HOBCMSG1-v1) kepada kekunci 32-bait, kemudian AES-256-GCM. Kekunci pub penerima MESTI sepadan dengan hash160 dengan program saksi P2WPKH bagi alamat destinasi hobc1….
Had
Dompet HobbyHash menggunakan had teks biasa UTF-8 300 aksara untuk memo pembayaran. Dasar geganti nod membenarkan pembawa data OP_RETURN yang lebih besar; pastikan muatan aplikasi peka terhadap yuran.
Kunci awam penerima
Jika alamat destinasi sudah mempunyai pubkey yang diketahui (perbelanjaan terdahulu atau alamat jam tangan sahaja/dompet panas), dompet boleh menyelesaikannya secara automatik. Jika tidak, penghantar mesti memberikan pubkey termampat yang sepadan dengan alamat tersebut. Tanpa pubkey yang sepadan, mesej peribadi tidak boleh dilampirkan (penghantaran biasa masih berfungsi).
Contoh RPC
Bina output pembayaran serta data (hex ialah muatan HOBCMSG1), kemudian dana/tandatangani/siaran — atau gunakan send RPC eksperimental apabila tersedia:
hobbyhash-cli -rpcwallet=WALLET send '{"hobc1q…": 1.5, "data": "484f42434d534731…"}'
# Or raw construction:
hobbyhash-cli createrawtransaction '[]' '[{"hobc1q…":1.5},{"data":"484f42434d534731…"}]'
hobbyhash-cli -rpcwallet=WALLET fundrawtransaction HEX
hobbyhash-cli -rpcwallet=WALLET signrawtransactionwithwallet FUNDED_HEX
hobbyhash-cli sendrawtransaction SIGNED_HEX
Untuk pembangun aplikasi
Laksanakan pengekodan/penyahsulitan terhadap dokumen ini. Kesan HOBCMSG1 dalam penjelajah dan tunjukkan lencana mesej yang disulitkan — jangan paparkan teks sifer sebagai teks sembang. Dompet HobbyHash desktop dan mudah alih akan menggunakan semula format ini.