Mga mensahe sa pagbabayad na nasa chain
Pinapayagan ng HOBCMSG1 ang mga wallet na maglakip ng pribadong mensahe ng UTF-8 sa isang pagbabayad gamit ang isang OP_RETURN output. Pampubliko ang Ciphertext; tanging ang payment key ng tatanggap lamang ang maaaring mag-decrypt.
Pangkalahatang-ideya
Sinusuportahan ng Web Wallet send ang opsyonal na pribadong mensahe (maximum na 300 character). Ang parehong format ng wire ay inilalathala upang ang Windows, Linux, Android, at mga third-party na app ay makapagpatupad ng mga compatible na send/receive sa ibang pagkakataon.
Modelo ng privacy
Ang halaga ng bayad, mga address, at oras ay nananatiling pampubliko. Ang mga message byte sa chain ay ciphertext. Maaaring i-decrypt ng sinumang may pribadong key ng bayad ng tatanggap. Ang mga destinasyon ng custodial web-wallet ay idine-decrypt ng site para sa naka-log in na tatanggap (parehong tiwala gaya ng custody).
Format ng kawad
Isang kargamento ng datos na OP_RETURN:
HOBCMSG1 | ver:1 | flags:0 | utf8_plaintext
Unlapi: ASCII HOBCMSG1, pagkatapos ay ver (1 byte, kasalukuyang 1), flags (1 byte; bit0 = naka-encrypt), panandaliang naka-compress na pubkey (33 bytes), AES-GCM nonce (12 bytes), ciphertext, pagkatapos ay 16-byte na auth tag.
Kriptograpiya
Bumubuo ang nagpadala ng isang ephemeral secp256k1 keypair, ang ECDH gamit ang compressed payment pubkey ng tatanggap, ang HKDF-SHA256 (info HOBCMSG1-v1) sa isang 32-byte key, pagkatapos ay ang AES-256-GCM. DAPAT i-hash160-match ng tatanggap na pubkey ang P2WPKH witness program ng address ng destinasyon na hobc1….
Mga Limitasyon
Gumagamit ang mga HobbyHash wallet ng 300-character na UTF-8 plaintext limit para sa mga payment memo. Pinapayagan ng node relay policy ang mas malalaking OP_RETURN data carrier; panatilihing alerto sa mga bayarin ang mga payload ng app.
Pampublikong susi ng tatanggap
Kung ang address na patutunguhan ay mayroon nang kilalang pubkey (naunang gastusin, o isang watch-only/hot-wallet address), awtomatiko itong mare-resolve ng mga wallet. Kung hindi, dapat ibigay ng nagpadala ang naka-compress na pubkey na tumutugma sa address. Kung walang katugmang pubkey, hindi maaaring ilakip ang isang pribadong mensahe (gumagana pa rin ang simpleng pagpapadala).
Halimbawa ng RPC
Gumawa ng output ng pagbabayad kasama ang data (ang hex ay ang HOBCMSG1 payload), pagkatapos ay pondohan/pirmahan/i-broadcast — o gamitin ang eksperimental na send RPC kapag available:
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
Para sa mga developer ng app
Ipatupad ang encode/decrypt laban sa dokumentong ito. I-detect ang HOBCMSG1 sa mga explorer at magpakita ng encrypted-message badge — huwag ipakita ang ciphertext bilang chat text. Gagamitin muli ng mga desktop at mobile HobbyHash wallet ang format na ito.