رسائل الدفع على سلسلة الكتل
تتيح خدمة HOBCMSG1 للمحافظ الإلكترونية إرفاق رسالة UTF-8 خاصة بعملية دفع باستخدام مخرج OP_RETURN واحد. النص المشفر عام؛ ولا يمكن فك تشفيره إلا بواسطة مفتاح الدفع الخاص بالمستلم.
ملخص
تدعم خدمة إرسال المحفظة الإلكترونية إرسال رسالة خاصة اختيارية (بحد أقصى 300 حرف). يتم نشر نفس تنسيق الإرسال، مما يتيح لأنظمة ويندوز ولينكس وأندرويد وتطبيقات الطرف الثالث إمكانية تنفيذ عمليات إرسال/استقبال متوافقة لاحقًا.
نموذج الخصوصية
يبقى مبلغ الدفع والعناوين والوقت عامة. أما بايتات الرسالة على سلسلة الكتل فهي نص مشفر. يمكن لأي شخص يمتلك المفتاح الخاص بالدفع الخاص بالمستلم فك تشفيرها. يتم فك تشفير وجهات المحفظة الإلكترونية المحفوظة بواسطة الموقع للمستلم المسجل دخوله (نفس مستوى الثقة في الحفظ).
تنسيق سلكي
حمولة بيانات OP_RETURN واحدة:
HOBCMSG1 | ver:1 | flags:0 | utf8_plaintext
Prefix ASCII HOBCMSG1, then ver (1 بايت، حاليًا 1)، flags (1 بايت؛ bit0 = مشفر)، مفتاح عام مضغوط مؤقت (33 بايت)، AES-GCM nonce (12 بايت)، نص مشفر، ثم علامة مصادقة 16 بايت.
علم التشفير
يقوم المرسل بإنشاء زوج مفاتيح مؤقت من نوع secp256k1، ثم يستخدم بروتوكول ECDH مع مفتاح الدفع العام المضغوط الخاص بالمستلم، وخوارزمية HKDF-SHA256 (معلومات HOBCMSG1-v1) لإنشاء مفتاح بطول 32 بايت، ثم تشفير AES-256-GCM. يجب أن يتطابق مفتاح المستلم العام مع برنامج الشاهد P2WPKH الخاص بعنوان الوجهة hobc1… باستخدام دالة hash160.
الحدود
تستخدم محافظ HobbyHash حدًا أقصى يبلغ 300 حرفًا لنصوص UTF-8 العادية في مذكرات الدفع. تسمح سياسة إعادة توجيه العقدة بناقلات بيانات OP_RETURN أكبر؛ مع مراعاة رسوم حمولات التطبيق.
المفتاح العام للمستلم
إذا كان عنوان الوجهة يحتوي بالفعل على مفتاح عام معروف (من إنفاق سابق، أو عنوان محفظة مراقبة/محفظة ساخنة)، فيمكن للمحافظ حله تلقائيًا. وإلا، يجب على المرسل تقديم المفتاح العام المضغوط الذي يطابق العنوان. بدون مفتاح عام مطابق، لا يمكن إرفاق رسالة خاصة (مع العلم أن الإرسال العادي لا يزال يعمل).
مثال RPC
قم بإنشاء عملية دفع بالإضافة إلى إخراج البيانات (القيمة السداسية العشرية هي حمولة HOBCMSG1)، ثم قم بالتمويل/التوقيع/البث — أو استخدم الإصدار التجريبي send RPC عند توفره:
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
للمطورين
قم بتنفيذ عملية التشفير/فك التشفير على هذا المستند. اكتشف رمز HOBCMSG1 في مستكشف الملفات واعرض شارة تشير إلى وجود رسالة مشفرة - لا تعرض النص المشفر كنص محادثة. ستستخدم محافظ HobbyHash على أجهزة الكمبيوتر والهواتف المحمولة هذا التنسيق.