140 / 736P2EP

Payjoin

دفعة تُبنى بالتعاون مع المستلم

في الدفعة المعتادة تختار المحفظة عملات المرسل وترسل جزءًا من قيمتها إلى المستلم. يُشرك Payjoin الطرف الآخر في الإعداد: يضيف المستلم عملات يملكها إلى المعاملة نفسها. تصل الدفعة، لكن من يراقب السلسلة العامة وحدها يحصل على قرائن أقل موثوقية بشأن مالك كل مدخل.

يتيح Payjoin إعداد دفعة Bitcoin بالتعاون مع المستلم. يضيف الطرفان أموالًا يملكانها إلى معاملة واحدة، لكن كل طرف يحتفظ بمفاتيحه الخاصة ويوافق بنفسه على إنفاق أمواله. بذلك يصعب على مراقب السلسلة العامة استنتاج من كان يملك العملات المستخدمة أصلًا. لا تنشأ عملة أخرى، ولا يوجد ضمان لإخفاء الهوية.

تدفع أليس إلى بوب. المحفظة تطبيق أو جهاز لاستقبال البيتكوين وإرساله. لا تتعامل محفظتها مع رصيد مصرفي واحد، بل تختار مخرجات من معاملات سابقة لم تُنفق بعد، وتسمى UTXO. لكل مخرج مبلغ وشروط تسمح بإنفاقه. تشير مدخلات المعاملة الجديدة إلى هذه المخرجات المراد إنفاقها، وتُنشئ مخرجات جديدة للدفع إلى بوب ولإرجاع الباقي إلى أليس إن وُجد. في الدفعة العادية توفر أليس الأموال وحدها. أما مع Payjoin فيشارك بوب بإضافة UTXO يملكه. يظل يتلقى المبلغ المتفق عليه، لكنه ينقل في الوقت نفسه جزءًا من أموال كان يملكها بالفعل. يجب على المحفظتين التحقق من النتيجة. ثم يوافق كل طرف بتوقيع رقمي على إنفاق مدخلاته؛ ولا يتبادلان المفاتيح الخاصة. المفتاح الخاص قيمة عددية سرية تُستخدم لإنشاء هذا التوقيع. [1] [3] [8] [6]

يفترض المحلل كثيرًا أن المدخلات التي تُنفق معًا تعود إلى محفظة واحدة. تسمى هذه القرينة common-input-ownership heuristic. ليست قاعدة في Bitcoin ولا إثبات هوية، بل استنتاج مبني على السلوك المعتاد. ينشئ Payjoin معاملات صحيحة لا يصح فيها هذا الاستنتاج. فلا يستطيع المراقب أن ينسب كل المدخلات تلقائيًا إلى أليس، وإن كانت معلومات أخرى قد تساعده. [1] [3]

سنعبّر عن المبالغ بوحدة sats، وهي أصغر وحدات البيتكوين. لنترك الرسوم جانبًا للحظة للتوضيح. لدى أليس مدخل بقيمة 100 000 sats، وتدفع إلى بوب مبلغ 20 000 sats، وتستعيد 80 000 sats كباقٍ. يضيف بوب مدخله البالغ 50 000 sats، فيرتفع مخرجه إلى 70 000 sats. يظل مجموع المدخلات ومجموع المخرجات 150 000 sats لكل منهما. لم يتلقّ بوب هدية إضافية: كان يملك 50 000 sats أصلًا، والزيادة الوحيدة هي 20 000 sats المتفق عليها. أما المعاملة الحقيقية فتحتاج بالطبع إلى دفع الرسوم أيضًا. [1] [6]

تحتاج المحافظ إلى إجراءات وصيغة رسائل مشتركة كي تتعاون. تستخدم BIP78، الوثيقة التقنية التي كتبها Nicolas Dorier وخُصص رقمها في 2019، صيغة PSBT — Partially Signed Bitcoin Transaction. إنها حزمة بيانات تضم المعاملة والمعلومات اللازمة لفحصها وتوقيعها، وليست دفعة أُرسلت بالفعل إلى الشبكة. يحتوي طلب الدفع على المعامل pj، أي عنوان الخدمة التي ينبغي للمحفظة التواصل معها. يرسل المرسل أولًا الدفعة الأصلية ضمن PSBT مكتملة التوقيع والإعداد النهائي. تصبح قابلة للبث رغم وجود كلمة «partially» في اسم الصيغة. يعيد المستلم اقتراحًا معدلًا أضاف إليه مدخلاته وتوقيعاتها. يفحصه المرسل، ويعيد توقيع مدخلاته، ثم يبث المعاملة الناتجة إلى شبكة Bitcoin. يجب تشفير الاتصال والتحقق من هوية الخدمة المتصلة. وليست PSBT نسخة احتياطية للمحفظة: فلا تُرسل seed التي تُشتق منها المفاتيح، ولا المفاتيح الخاصة، ولا معلومات الاشتقاق غير الضرورية. [1] [5]

يجب على محفظة المرسل التأكد من بقاء مدخلاتها ومخرجاتها المحمية، وعدم تخفيض الباقي اعتباطًا، وألا تتجاوز مساهمتها في الرسوم الحد المسموح. وهي توقّع مدخلاتها الأصلية فقط. يسمح البروتوكول ببعض التغييرات على مخرجات المستلم وفق شروط دقيقة، لا بإعادة توجيه الدفعة كلها بحرية. وعلى جهاز التوقيع ينبغي فهم المبالغ المعروضة، لا مجرد الموافقة على الشاشة التالية. [1] [5]

يشغل المدخل المضاف مساحة، وقد يزيد إجمالي رسوم الدفعة. تحدد المحافظ بالتفاوض من يتحملها وإلى أي حد. لكن المستلم قد يجمع أيضًا UTXO يملكها أو يضم دفعة أخرى كان سينفذها منفصلة. لذلك يتوقف التوفير الكلي على مقارنة العمليات نفسها، لا على وعد بأن كل Payjoin أرخص. ودفع العدد نفسه من satoshi كرسوم لمعاملة أكبر يعني معدل رسوم أقل. [1] [2]

في BIP78 يحتاج المستلم إلى خدمة يمكن الوصول إليها عبر الإنترنت، ويتواصل الطرفان في الوقت نفسه. هذا غير عملي عندما يفقد الهاتف اتصاله. لذلك تستخدم BIP77، أو Payjoin v2، خادمًا كصندوق بريد مؤقت. تترك محفظة رسالة، وتستلمها الأخرى لاحقًا قبل انقضاء المهلة المتفق عليها للجلسة. هذا هو الاتصال غير المتزامن. يُشفّر اقتراح الدفع نفسه من طرف إلى طرف: تقرؤه محافظ المشاركين، ولا يستطيع مشغّل الصندوق قراءته. ويضيف OHTTP، أي Oblivious HTTP، حماية أخرى؛ إذ تمر الطلبات عبر وسيط منفصل، فلا يرى خادم الصناديق عادةً عنوان IP الخاص باتصال المحفظة. عنوان IP هو عنوان الشبكة الذي يستخدمه الجهاز للتواصل عبر الإنترنت. يتطلب إخفاء هذا الربط ألا يتبادل الوسيط والخادم سجلاتهما. ولا يحصل أي منهما على المفاتيح الخاصة التي تتحكم بالبيتكوين. مع ذلك يستطيع الخادم تأخير الرسائل أو إسقاطها؛ فالتشفير وحده لا يضمن وصولها. [2] [4] [7]

لا يجعل Payjoin الدفعة مجهولة الهوية تلقائيًا. تظل المبالغ والمدخلات والمخرجات ووقت التأكيد ظاهرة في السلسلة. ويعرف الطرف الآخر أيضًا كيف جرى التفاوض؛ وقد يحتفظ التاجر بطلب يحمل اسمك. لا تحتاج المعاملة العامة إلى علامة Payjoin إلزامية، لكن إعادة استخدام العناوين أو خصائص المحفظة قد توفر قرائن أخرى. وعلى المستلم الآلي أيضًا صد محاولات كشف UTXO الخاصة به عبر طلبات لا تكتمل أبدًا. [1] [2]

يمكن استخدام المعاملة الأصلية الموقعة كدفعة عادية احتياطية. في البروتوكول الصحيح، تنفق هي واقتراح Payjoin المدخلات الأصلية نفسها، لذلك لا يمكن تأكيد أكثر من واحدة منهما. لكن ذلك لا يبرر إنشاء دفعة مستقلة أخرى بعد الخطأ من دون التحقق. قد يتيح التوقيع الذي سُلّم بالفعل للمستلم بث المعاملة الأصلية. ينبغي للمحفظة توضيح ما إذا تم Payjoin أو دفع عادي احتياطي أو لم يحدث شيء بعد، ومطابقة ذلك مع حالة السلسلة. [1] [2]

إرسال Payjoin واستقباله قدرتان مختلفتان؛ ويجب أن تتوافق المحافظ والإصدارات المستخدمة فعلًا. معالجة الطلب من دون إضافة مدخل للمستلم لا تحقق الفائدة المذكورة في مواجهة افتراض ملكية المدخلات. عند المراجعة في 17 أكتوبر 2026 كانت حالة BIP78 هي Deployed، بينما كانت BIP77 التي كتبها Dan Gould وYuval Kogman في حالة Draft. يُنسق Payjoin بين التطبيقات باستخدام معاملات Bitcoin عادية: لا ينتظر Soft Fork ولا يغير قواعد الإصدار. [1] [2] [3]

للحصول على صورة أوضح، اقرأ هذا المدخل مع CoinJoin, خصوصية Bitcoin, PSBT, الهوية المستعارة, UTXO, Satoshi. تشير إلى هذا المدخل أيضًا Change Address, خصوصية Bitcoin, الهوية المستعارة, Chain Surveillance.

DOC · 001BIP78 — A Simple Payjoin Proposalمواصفة DOC · 002BIP77 — Async Payjoinمواصفة DOC · 003Bitcoin Optech — Payjoinتوثيق DOC · 004Payjoin projectمصدر أولي DOC · 005Bitcoin Core — PSBTتوثيق DOC · 006Bitcoin Developer Reference — Transactionsتوثيق DOC · 007RFC 9458 — Oblivious HTTPمواصفة DOC · 008Bitcoin Developer Guide — Walletsتوثيق
تمت المراجعة: المصادر أولًا · ليست نصيحة استثمارية