Payjoin هو بروتوكول يحل العديد من المشاكل بحجر واحد باستخدام خدعة بسيطة وذكية لإنشاء معاملات Bitcoin. إنه مصمم لحل أكبر مخاوف خصوصية Bitcoin ، ولكنه يمكن أن يساعد أيضا في حل مشكلات التوسع ، وبالتالي مساعدة الأشخاص على توفير الرسوم. إنه متوافق بشكل خاص مع عقد Lightning Network لأن تصميمه الحالي له متطلبات حيوية لمتلقي المعاملة ، مما يعني أن المتلقي يجب أن يكون متصلا بالإنترنت (تماما مثل عقدة Lightning) عند استلام الدفعة. في المستقبل ، سيتم التخلص من هذا المطلب حتى يمكن استخدامه في وضع عدم الاتصال. من السهل الاندماج في برنامج المحفظة ، ويمكنه فتح العديد من قنوات البرق في وقت واحد أثناء إجراء المدفوعات ، وهو سلبي ، حتى تتمكن من الاستمتاع بالمزايا دون معرفة ذلك. يتم وضع مزايا الخصوصية ل Payjoin في طبقات ، لذلك حتى لو كانت نسبة صغيرة فقط من الأشخاص يستخدمونها ، يمكن للجميع الحصول على مزايا الخصوصية. وربما الأفضل من ذلك كله ، أن PayJoin لا يتطلب شوكة صلبة أو شوكة ناعمة. يمكن استخدامه ، وقد تم استخدامه ، مع Bitcoin ، وفي الواقع كان متاحا منذ الإصدار الأول من برنامج Bitcoin.
Payjoin هو مشتق من Coinjoin. Coinjoin أقدم ويتطلب أيضا المزيد من التفاعل عبر الإنترنت ، مما يعني أنه يتعين على المستخدمين المشاركة بشكل كبير لاستخدامه ، وهو أمر لا بد أن يقلل من قابلية الاستخدام ويثبط التبني. ومع ذلك ، على الرغم من ذلك ، كان اعتماد CoinJoin حتى الآن أعلى بكثير من اعتماد PayJoin ، على الرغم من أن فوائد وسهولة استخدام PayJoin أكثر وضوحا. بالنسبة للمطورين ، فإن الاتجاه المعقد وغير الواضح يمنع اعتماده بواسطة برامج المحفظة.
Payjoin موجود منذ سنوات عديدة ، مع الأخذ في الاعتبار:
لديها * العديد من * الفوائد المذكورة أعلاه
القدرة على توفير واجهة مستخدم سلبية وغير تدخلية
ما مدى سهولة دمج مزودي المحفظة
لماذا يتم اعتماد payjoin ببطء على نطاق واسع؟
على وجه الخصوص ، لماذا يكون بروتوكول Coinjoin ، الذي يتطلب المزيد من التفاعل ، أصعب في الاستخدام ، وأكثر تكلفة ، ولكن بدلا من ذلك لديه اعتماد أكبر؟
في هذه المقالة ، سنلقي نظرة على الهجمات الحالية على خصوصية Bitcoin ، وتاريخ PayJoin من منظور الخصوصية ، وكيف يعمل PayJoin ولماذا يمكن أن يوفر الكثير من الفوائد دون تغيير Bitcoin ، وأخيرا ، التبني الحالي. إذا كان بإمكان payjoin تحسين الخصوصية وقابلية التوسع والمساعدة في توفير الرسوم بشكل كبير ، فإن جهد المحفظة الصغير لدمجها سيكون يستحق كل هذا العناء.
لماذا الخصوصية مهمة للبيتكوين
قبل مناقشة أهمية payjoin ، يجب أن نفهم أهمية الخصوصية. إذا لم تعد بحاجة إلى إقناعك بعد الآن ، فيمكنك التخطي مباشرة إلى القسم التالي للتعرف على التاريخ وكيفية عمل Pyajoin.
في الديمقراطيات الغربية ، لا يمكن وصف الأهمية المطلقة للخصوصية ، حيث لا تزال فوائدها تبدو غير مرئية للناس. من الصعب أن نشرح بشكل مقنع سبب أهمية الخصوصية (خاصة في مواجهة ارتفاع التكاليف أو المضايقات الأكبر) ، إذا لم يشعروا أبدا بالعواقب السيئة للأشخاص السيئين الذين لديهم الكثير من المعلومات عنهم ، أو لأنه يتطلب من الناس التفكير في العواقب طويلة المدى لهذه التدخلات.
بالطبع ، يبدو أن الخصوصية شيء يهتم به المزيد والمزيد من الناس (من الناحية النظرية) ، لكنهم نادرا ما يتعاملون معها بنشاط ، مع وجود حواجز منخفضة للغاية وعدم المساومة على الراحة. لذلك ، يجب تصميم التقنيات التي تريد حماية خصوصية الأشخاص لتكون سهلة الاستخدام قدر الإمكان ومريحة قدر الإمكان.
التجانس
الخصوصية ليست المشكلة الوحيدة التي يمكن أن تساعد payjoin في حلها ، ولكن تم إنشاؤها لحلها. لطالما أعرب الناس عن أسفهم لافتقار Bitcoin المتأصل للخصوصية ، وقد أخذ مجتمع Bitcoin هذه المشكلة على محمل الجد. تم تصميم Bitcoin لتسهيل المعاملات المباشرة الفردية وهي مقاومة للرقابة. ومع ذلك ، نظرا لأنه يسمح بتتبع المدفوعات المستقبلية ، فقد يؤدي ذلك إلى التمييز بمجرد ربط مبلغ معين من المال بالهوية. وهذا يدمر التجانس الدرجة التي لا يمكن بها تمييز بعض العملات المعدنية من نفس العملة عن غيرها بنفس الكمية والتجانس هو السمة الأساسية للمال الجيد.
إذا كان من الممكن تتبع المشترين ، فلن يتم رفض العملات المعدنية التي يحتفظ بها الآن أشخاص غير قانونيين فحسب ، بل يمكن أيضا وضع علامة على المحافظ التي تم استخدامها لأغراض غير قانونية ثم رفضها من قبل التجار ، بغض النظر عما إذا كان المالك الحالي قد حصل عليها من خلال وسائل مشروعة تماما. تخيل أنه لا يمكنك استخدام المال الذي لديك لشراء الحليب لأنه تم استخدامه من قبل شخص ما لشراء المخدرات ، ويقولون ، "أموالك ليست نظيفة" ، هل هذا عادل بالنسبة لك؟ هل يجب أن تعاقب على خطيئة شخص آخر؟ ماذا ستفعل بالعملات المعدنية؟ ستشعر أن المال لا قيمة له لأن الاحتفاظ به لن يؤدي إلا إلى الإضرار بقوتك الشرائية. وليس من المنطقي أن يكون جزء من العملات المعدنية ("الأموال النظيفة") أكثر قيمة من الآخر. يجب أن يكون دولار واحد مساويا للآخر ، بغض النظر عن ماهيته ، وإلا فإن قدرة هذه العملة على نقل القيمة ستضعف.
الارتباك الجنائي
غالبا ما يكون هناك تشويه للبيتكوين والخصوصية الذين يقولون إن المجرمين فقط هم الذين يحتاجون إلى الخصوصية. إنه مشابه ل "إذا كنت لا تفعل شيئا سيئا ، خذه وليس لديك ما تخفيه". هذا سهل الدحض:
عدد قليل جدا من الناس على استعداد للبث المباشر لأنفسهم وهم يستحمون ويستخدمون المرحاض عبر الإنترنت. هل هذا لأنها جريمة؟ إنه يظهر فقط أن * الجميع * يريد إخفاء شيء ما ، وأن الاختباء ليس بالضرورة خطأ.
وعلى نطاق أوسع، تقع على عاتق الحكومة مسؤولية تقديم تعريف قانوني لما يشكل جريمة، ولكن هذا التعريف يخضع دائما للتغيير. إذا لم يكن الناس أحرارا في التمتع بالخصوصية ، فلن يكونوا أحرارا في امتلاك أي شيء ، لأن أفعالهم ستكون مقيدة بشدة من قبل البيئة الاجتماعية المحيطة (وحتى الحكومة ستشارك بشكل مباشر). حتى لو كان يفعل شيئا قانونيا تماما ، يتم توجيه الناس ومهاجمتهم باستمرار. الخصوصية هي الحق في الكشف عن الذات بشكل انتقائي.
بالإضافة إلى هذا البيان الفاحش المبسط والبديهي ، في الواقع ، فإن الجناة ، على عكس الغالبية العظمى من المواطنين الملتزمين بالقانون ، على استعداد لقبول ثمن باهظ للخصوصية ، بحيث تكون التدابير التي تعرض الخصوصية الأساسية للخطر أكثر ضررا للناس العاديين من الجناة. وحتى لو لم تقم الحكومة بعمل سيئ في استخدام تدابير مقيدة للخصوصية للقبض على المجرمين، ولكن بدلا من ذلك "تنتقي وتختار" وتتجسس على المواطنين بشكل انتقائي، فإن النتيجة ستكون واحدة. إذا قال المواطن شيئا لا يحبه الأشخاص في السلطة (والأشياء التي لا يحبها الأشخاص في السلطة قد تكون هي نفسها كل يوم) ، اعتقال TA وإيذائها بشكل انتقائي.
وأخيرا، فإن الرغبة في الخصوصية ليست مجرد خوف من تجاوز الحكومة لسلطتها. كما أن لديها مخاوف عملية وأمنية وشرف. إذا تمكن شخص ما من معرفة مقدار المال الذي لديك ، والمكان الذي تعيش فيه ، فما مدى صعوبة سرقة أغراضك؟ فكر في عدد الأماكن على الإنترنت التي يتعين عليك إدخال عنوانك وتفاصيل الدفع والصور وما إلى ذلك. هل تثق في كل شخص يدير هذه المواقع للحفاظ على أمان معلوماتك الشخصية؟ يجب ألا تثق بهم ، لأنه حتى أفضل الأنظمة يمكن أن تتعطل وسيكون المجرمون على استعداد لدفع مبالغ كبيرة من المال للمتسللين لتفجير الأنظمة وسرقة هذه المعلومات القيمة.
الخصوصية والديمقراطية
في أي دولة شمولية ، فإن الشرط الأساسي للسيطرة على المواطنين هو * معرفة * خطاب المواطنين وقنوات المعلومات والأنشطة المالية. بدون هذا الفهم ، لا توجد طريقة لمعرفة ما يجب مهاجمته أو ما يجب إيقافه ، لأنه لا توجد طريقة للتلاعب بالسرد وزيادة تعزيز السيطرة. إذا لم يكن لدى الحكومة وصول موثوق إلى هذه المعلومات ، فلا يمكنها استهداف مواطن بقدر ما تريد. في المجتمعات الشمولية في الماضي ، مثل الاتحاد السوفيتي وألمانيا النازية ، أفسدوا خصوصية الناس والعلاقات غير الموثوق بها داخل أسرهم من خلال غسل أدمغتهم للإبلاغ عن الاعتراضات التي عبر عنها أفراد أسرهم في المحادثات الخاصة. عندما تحدث نفس الإجراءات المفسدة للخصوصية للمال ، يكون الأمر أكثر رعبا من الكلام. إن قطع التمويل هو وسيلة فعالة جدا لمكافحة المعارضة السياسية.
خصوصية البيتكوين ضعيفة
"لا تضيعوا أزمة صحيحة تماما. "
مكيافيلي
باسم مكافحة الجريمة (هجوم حماس الإرهابي) يتم التكهن بتدابير تنظيمية جديدة لوصف طرق حماية الخصوصية في Bitcoin بأنها غير قانونية.
في 10 أكتوبر 2023 ، نشرت صحيفة وول ستريت جورنال مقالا يفيد بأن حماس تلقت تمويلا بقيمة 130 مليون دولار من خلال العملة المشفرة. وبعد أسبوع، كتبت السناتور إليزابيث وارن رسالة مفتوحة إلى الرئيس بايدن تحثه على معالجة مسألة كيفية استجابة فرعه التنفيذي ل "الاستخدام الإرهابي للعملات المشفرة" بحلول 31 أكتوبر، مستشهدة بصحيفة وول ستريت جورنال كدليل على الحاجة الملحة لمثل هذا التنظيم. وتلقت الرسالة توقيعات من 29 من أصل 100 عضو في مجلس الشيوخ، فضلا عن 76 عضوا في مجلس النواب. ومن الغريب أنه في 19 أكتوبر، بعد يومين من إرسال الرسالة، نشرت شبكة إنفاذ الجرائم المالية (FCE) اقتراحا لتنظيم التعتيم على العملات المشفرة لمخاطر غسل الأموال. يسرد الاقتراح الطرق المستخدمة للتعتيم على تدفق المعاملات:
"استخدام رمز برمجي أو خوارزمي لتنسيق أو إدارة أو معالجة هيكل المعاملة: يتضمن هذا النهج استخدام برنامج لتنسيق معاملات شخصين أو أكثر ، بحيث يتم دمج هذه المعاملات لإنتاج مخرجات متعددة ممكنة من مدخل منسق واحد ، وبالتالي التعتيم على تفرد كل معاملة وتقليل احتمالية تحديد الشخص المشارك في كل معاملة ".
يشمل هذا التعريف كلا من coinjoin و payjoin ، على الرغم من أن وصف "استخدام رمز الخوارزميات" واسع بما يكفي ليشمل المعاملات التعسفية ، وبالتالي يسمح بالرقابة التعسفية.
لكن مقال وول ستريت جورنال، الذي قدم وجهة نظر حول الرسالة المفتوحة وحاول الدفاع عن مثل هذا التنظيم، أساء تفسير البيانات بشكل سيء للغاية – المبلغ الفعلي الذي كان ذا صلة حقيقية بحماس كان 450,000 دولار فقط. لم تكن العملات المشفرة أبدا المصدر الرئيسي لتمويل حماس. وقد أوضحت حماس نفسها أنها لا تريد تلقي الأموال من خلال بيتكوين، والتي يمكن تتبعها.
ومن المفارقات أن التدابير التنظيمية التي يتم اقتراحها الآن ، والتي من المفترض أن تتعامل مع الجماعات الإرهابية ، لها أقل تأثير على الجماعات الإرهابية ، وأكثر بالنسبة للأشخاص العاديين الذين يرغبون في استخدام Bitcoin وغيرها من العملات المشفرة.
ليس هناك شك في أن المعركة من أجل حقوق خصوصية Bitcoin جارية بالفعل في الولايات المتحدة ، ومن المتوقع أن تكون تحت ستار مواجهة أسباب الأمن القومي الأجنبي. الأهم من ذلك ، من الآن فصاعدا ، فهم تقنيات الحفاظ على الخصوصية على Bitcoin والبدء في استخدامها لمكافحة محاولات إضعافها.
"كل ما نريد، علينا أن ندافع عن حقنا في الخصوصية".
1. شكل معاملة بيتكوين
من أجل فهم ما يفعله payjoin وكيف يعمل ، من الضروري فهم شكل معاملات Bitcoin. يرتبط كل بيتكوين ببعض المدخلات والمخرجات. يحدد الإخراج المفتاح العام أو "العنوان" الذي يتم إرسال عملات البيتكوين إليه هذه. يحدد الإدخال "مصدر" أموال المعاملة ، أي الناتج السابق المستخدم لإنشاء المعاملة (ومخرجاتها الجديدة). القياس الجيد هو أننا نستخدم فئات مختلفة من النقد للدفع. لنفترض أنك تريد دفع 25 دولارا لتناول العشاء في مطعم و 5 دولارات للنادل ، بإجمالي 30 دولارا (هذا هو ناتج معاملتك ، "جزءان" مختلفان من المال لشخصين مختلفين - المطعم والنادل).
فكيف تدفع؟ افترض أن لديك الكثير من الملاحظات في يدك (أي مدخلاتك):
1 ورقة من 20 يوان
2 ورقة من 10 دولارات
5 أوراق من 5 يوان
لذلك ، عند إنشاء هذه الصفقة ، يمكنك استخدام 1 $ 20 ملاحظة و 2 $ 5 ملاحظات ، واحدة منها هي $ 5 ويتم إعطاء واحدة للنادل وحده:
لاحظ جانبا مهما ، وهو جانب غير مناسب بالنسبة لنا لرسم القياس النقدي: 20 دولارا و 5 دولارات هنا سوف * يندمجان * في قطعة واحدة. يبدو الأمر أشبه بصهر قطعتين من الذهب في قطعة أكبر بحيث يمكنك دفع المبلغ المطلوب بدلا من إعطاء شذرات ذهبية متعددة. يسمح لك Bitcoin بتقسيم ودمج المدخلات لإنتاج المخرجات التي نريدها.
يمكنك أيضا استخدام 2 10 دولارات و 2 دولار 5 ، مثل هذا:
حتى ننفق أموالنا ، تسمى "ملاحظات" Bitcoin الفردية هذه "مخرجات المعاملات غير المنفقة (UTXOs)". يبدو الاسم غريبا ، ولكن إذا كنت تأخذ الوقت الكافي للتفكير في الأمر ، فستدرك أنه دقيق جدا - إنها "نتائج" (مخرجات) لبعض الصفقات ، ولم يتم إنفاقها بواسطة * معاملة أخرى * حتى الآن. ناتج المعاملة الذي لم يتم إنفاقه بعد هو الناتج الذي يمكنك إنفاقه. لذلك ، في الواقع ، UTXOs مثل النقود الورقية في محفظتك. بعد إنفاقها ، تصبح مدخلات المعاملة ، ثم إخراج معاملة أخرى (نقدا في محفظة شخص آخر) ، ولا يمكنك إنفاقها بعد الآن ، ومع ذلك ، فإن * سجل * الملاحظة التي أنفقتها يبقى على blockchain إلى الأبد.
على عكس النقد ، تتطلب معاملات Bitcoin إذن المرسل لتكون صالحة. يتم تحقيق ذلك من خلال التوقيع الرقمي للمرسل ، والذي يعمل أيضا كدليل على أنهم يعتزمون إنفاق الأموال. يجب تمثيل التوقيع الصحيح (أي التوقيع الذي يطابق عنوان UTXO) في إدخال المعاملة الذي يستخدم UTXO. وجود التوقيع "يفتح" UTXO هذا ويشير إلى أن مالك UTXO ينوي إنفاقه على مثل هذه المعاملة.
تظهر الصورة التالية معاملة حقيقية تم تأكيدها بواسطة blockchain 1 time في وقت كتابة هذا التقرير:
! [مثال على معاملة حقيقية مع 1 مدخلات وثلاثة مخرجات ، أحدها رسوم] (https://img-cdn.gateio.im/webp-social/moments-40baef27dd-c006e2488a-dd1a6f-cd5cc0.webp)
كما ترون ، أخذت المعاملة أعلاه مدخلات 1 وخلقت مخرجات 2 ، أحدهما يمثل الدفعة الحقيقية والآخر يكاد يكون من المؤكد أنه يتم إرساله مرة أخرى إلى المنفق كتغيير. الفرق بين المدخلات والمخرجات هو الرسوم ، والتي تذهب إلى عامل المنجم الذي قام بتعدين الكتلة التي أكدت المعاملة لأول مرة.
هذا "وضع UTXO" قوي جدا. نظرا لأن كل معاملة لها مدخلات ومخرجات ، ولأن ناتج معاملة واحدة يصبح مدخلات معاملة لاحقة أخرى ، ينتهي بنا الأمر بسلسلة من المعاملات التي يمكنها تتبع نقل ملكية Bitcoin. نظرا لأن المعروض من Bitcoin محدود ، وبسبب هذه الحقيقة التي لها خاصية "غير تضخمية" رئيسية ، فمن المهم أن تكون قادرا على مراجعة مقدار تداول Bitcoin (أو "غير المنفق") في أي وقت ، ويمكن استخدام نموذج UTXO في oc.
هذا هو أيضا مصدر مخاوف خصوصية Bitcoin. * كل معاملة لها تاريخها الخاص *. جميع عملات البيتكوين التي يتم تسليمها لك ، وأين ترسلها ، * سهلة التتبع. تم تصميم النظام بأكمله بشكل صريح لدعم هذه الميزة ، على الرغم من أنه لا ينوي تتبع الأفراد. في هذا النظام ، ورقة المساومة الحقيقية الوحيدة هي عدم ربط هويتك الحقيقية بمفتاحك العام ، وهو أمر صعب للغاية في عصر المراقبة الجماعية.
الأصول التاريخية ل Payjoin
خطأ ساتوشي ناكاموتو البسيط
عندما نشر ساتوشي ناكاموتو ورقة بيتكوين البيضاء في عام 2008، أدرك أن مخاوف الخصوصية جاءت من شرط أن تكون كل معاملة عامة، والتي تتعارض مع شرط الحفاظ على خصوصيتها.
هذه كلها نصيحة جيدة ، ولكن من أجل 1) من الصعب ضمان أن هويتنا الحقيقية معزولة تماما عن مدفوعاتنا ، ما لم نكن حذرين للغاية عند إجراء المدفوعات عبر الإنترنت ؛ بالنسبة إلى 2) ، حتى إذا لم يتم إعادة استخدام المفتاح العام ، فليس من الصعب على المتعقب تحديد المفاتيح العامة التي تنتمي إلى أي شخص ، طالما يتم إنفاق الإخراج الناتج من مفاتيح متعددة معا في المدفوعات اللاحقة. هذه الاقتراحات ، حتى عند تجميعها ، يصعب تقديمها وحلول غير كاملة.
بعد هذه الاقتراحات ، ارتكب ساتوشي ناكاموتو خطأ صغيرا آخر من خلال المبالغة في ضعف نظامه:
"كجدار حماية إضافي ، يجب استخدام زوج جديد من المفاتيح لكل معاملة لضمان عدم الإشارة إلى مالك مشترك. لا تزال بعض الجمعيات لا مفر منها ، وستشير المعاملات متعددة المدخلات حتما إلى أن المدخلات كلها من نفس المالك. ويكمن الخطر في أنه إذا تم الكشف عن مالك المفتاح العام ، فقد تكشف الجمعية عن معاملات أخرى تخص نفس المالك. "
تشير فرضية ساتوشي ، وجميع الأمثلة التي عرضناها حتى الآن ، إلى أن جميع المدخلات في المعاملة تنتمي إلى نفس المالك. بمعنى آخر ، تأتي جميع "الأوراق النقدية" التي يتم إنفاقها على المعاملة من محفظتك ، وهو افتراض معقول ، ولكنه ليس صحيحا بالضرورة *. تسمى هذه الفرضية "إدخال هوية أدلة الملكية". ينطبق ذلك تقريبا على أي معاملة ، وهو أيضا أساس مراقبة النشاط على السلسلة.
كوين جينت
في بداية عام 2013 ، لعب Gregory Maxwell لعبة مثيرة للاهتمام في منتديات bitcointalk.org حيث عرض UTXO خاص به (بقيمة 1 BTC) وعنوانه ، وسأل عما إذا كان بإمكان أي شخص إنشاء معاملة جديدة باستخدام UTXO هذا كمدخلات. إذا أرسل له منشئ مثل هذه المعاملة أقل من 1 BTC ، فإنه يأخذ بعض المال منه ، وإذا أرسل له أكثر من 1 BTC ، فإنه يمنحه بعض الأموال الإضافية ، ولكن إذا كان المبلغ المرسل إليه لا يزيد ولا يقل عن 1 BTC ، فهذا يعادل استخدام أمواله (وعنوانه) لمزيد من الخصوصية ، لأن الإدخال * يبدو * كما لو كان UXXO الخاص بمنشئ المعاملة ، لكنه ليس كذلك. عندما يتم إنفاق أحد مخرجات Maxwell وإرساله مرة أخرى إلى عنوانه ، فإنه يوفر UTXO آخر حتى يتمكن الآخرون من مواصلة اللعبة. من وجهة نظر شركة تحليلات نشاط blockchain ، فإن هذا من شأنه أن يجعلهم يعتقدون أن ماكسويل يبدو غنيا! نظرا لأن عناوينه عامة ، ويتم استخدام العديد من UTXOs لإنشاء معاملات تحتوي على تلك العناوين ، فإن أي محلل يحلل هذه المعاملات ويفترض أن جميع المدخلات في المعاملات تأتي من نفس الشخص سيفترض أن ماكسويل لديه العديد والعديد من عملات البيتكوين (أكثر مما يمتلكه بالفعل) ، ومن هنا جاء عنوان منشوره: "أنا غني حقا!"
بالطبع ، اللعبة ليست خاصة ، حيث نشر ماكسويل خطابه في منتدى عام ، لكنه يقدم مفهوما مهما للغاية يظهر إلى حيز الوجود. كما يقول ماكسويل:
"يفترض الكثير من الناس خطأ أنه إذا كانت المعاملة تكلف عناوين متعددة ، فهذا يعني أنها تأتي جميعها من نفس الشخص. هذا صحيح بشكل عام ، لكنه ليس صحيحا بالضرورة: يمكن للناس التعاون مع بعضهم البعض لبناء معاملة معا ، وهناك نهج آمن وخالي من الثقة. "
في منشور متابعة في نفس العام ، قام مافويل رسميا بتقطير الفكرة إلى مفهوم أطلق عليه اسم "Coinjoin":
"عند التفكير في تاريخ ملكية بيتكوين، قد تفكر في معاملة تكلف عدة مفاتيح عامة مكتوبة مختلفة كملكية لتجميع تلك الأموال، وبالتالي تفترض: كيف يمكن إنفاقها معا ما لم يتحكم فيها نفس الشخص؟
[......]
هذا الافتراض غير صحيح. في نفس المعاملة ، لا يثبت أن ملكية هذه الأموال هي نفسها (على الرغم من أن الوضع الراهن صحيح بشكل أساسي) ، ولهذا السبب يمكن تحقيق Coinjoin:
التوقيعات هي واحدة لكل إدخال وهي مستقلة تماما عن بعضها البعض ، حتى داخل نفس المعاملة. هذا يعني أنه يمكن لمستخدمي Bitcoin الاتفاق معا على إنفاق مجموعة من المدخلات وإنتاج مجموعة من المخرجات ، ثم يوقع كل منهم على المعاملة بشكل منفصل ثم يدمج توقيعاتهم. ما لم يقدم الجميع توقيعهم ، فلن تكون المعاملة صالحة ، ولن تقبلها الشبكة ، ولن يوقع أي شخص على معاملة غير راضية عنها. "
هذا يعني أنه ، في الواقع ، يمكن لأي عدد من الأشخاص التعاون لإنشاء معاملات ، كل منهم يقدم ويوقع مدخلاته الخاصة ، دون الحاجة إلى القلق بشأن سرقة أموال شخص آخر.
بعد ذلك ، قدم فائدة أخرى لمعاملات coinjoin ، وهي أنه يمكن معالجة المعاملات على دفعات ، وبالتالي توفير الرسوم: يمكنك العثور على أشخاص آخرين يرغبون أيضا في بدء المدفوعات عندما تريد الدفع ، وإنشاء المعاملات معا:
"يمكن استخدام نفس الفكرة بشكل عرضي. عندما تريد بدء عملية دفع، ابحث عن أشخاص آخرين يريدون الدفع أيضا وأنشئ دفعة مشتركة معا. لن يؤدي ذلك إلى زيادة الخصوصية فحسب ، بل سيجعل معاملاتك أصغر وبالتالي يسهل نشرها عبر الشبكة (وبرسوم أقل) ، والخصوصية الإضافية هي ميزة. "
في النهاية ، conjoin هو بروتوكول يستخدمه عدد كاف من الأشخاص ، ويفوز الجميع ، ويحصل الجميع على مزايا الخصوصية منه:
"لا يمكن تمييز مثل هذه المعاملة ظاهريا عن معاملة تنشأ باستخدام طريقة تقليدية. ونتيجة لذلك، ما دامت هذه المعاملات منتشرة على نطاق واسع، فإنها ستزيد من خصوصية حتى أولئك الذين لا يستخدمون التكنولوجيا، لأنه لم يعد من الممكن استخدام المدخلات والخلط كدليل قوي على نفس التحكم. "
لتقديم مثال ملموس ، لنفترض أننا وجدنا 3 أشخاص يرغبون في المشاركة في عملة معدنية. لقد وافقوا مسبقا على مزج 0.1 بيتكوين ، ويمكنهم الحصول على ميزة الخصوصية المتمثلة في إنتاج 3 مخرجات متساوية ، مما يجعل من المستحيل على الآخرين معرفة من جاء كل عنوان من العناوين الثلاثة. بالنسبة للمحلل ، لا تزال العلاقة بين عنوان التغيير والمدخلات واضحة للغاية ، ولكن ليس من الواضح من هو الناتج الناتج لهذه المبالغ الثلاثة المتساوية.
! [مثال على العملة] (https://img-cdn.gateio.im/webp-social/moments-40baef27dd-2603112d99-dd1a6f-cd5cc0.webp)
عندما يكون هناك 3 مشاركين فقط ، فإن ميزة الخصوصية ليست بالضرورة كبيرة ، خاصة وأن المشاركين الآخرين قد يقومون بإلغاء إخفاء هويتهم (الارتباط بهويتهم الحقيقية) في المعاملات اللاحقة ، ولكن يمكن تحسين ذلك عن طريق جولات متعددة من coinjoin أو باستخدام مجموعة إخفاء هوية أكبر.
للتلخيص ، * coinjoin هي معاملة تم إنشاؤها باستخدام مدخلات ومخرجات من أطراف متعددة ، بحيث يصعب على الآخرين تحديد المخرجات التي تنتمي إلى من*.
لإلقاء نظرة أكثر تعمقا على كيفية إنشاء معاملة Coinjoin والأدوات المتاحة ، راجع هذا الدليل.
Coinjoin هو واحد من حلول خصوصية Bitcoin الأكثر فعالية واعتمادا على نطاق واسع ، ولكن له أيضا بعض العيوب المهمة:
التفاعل: يتطلب Coinjoin تفاعلا كثيفا من المشاركين ، الذين يحتاجون إلى الموافقة على فئة إخراج متساوية ، ويجب عليهم جميعا تقديم توقيعاتهم في غضون فترة زمنية معينة. تخلق الحاجة إلى التفاعل الشديد احتكاكا للمستخدمين ، مما يعيق بدوره اعتماده من قبل المزيد من المستخدمين.
المنسقون المركزيون: الوسابي والدوامة هما حاليا أكثر طرق Coinjoin شيوعا. كما أنهم يفرضون رسوما على أعمال التنسيق التي يؤدونها ، والتي لا تشمل رسوم تأكيد الكتلة التي يتم منحها لعمال المناجم للمشاركة في المعاملة (وهي نسبة عالية جدا بسبب الكمية الكبيرة من بيانات التوقيع المستخدمة في معاملات coinjoin). يعد Join Market مثالا على خدمة غير منسقة ، ولكن المفاضلة هي أنها تتطلب المزيد من تفاعل المستخدم.
يتطلب إدخالات متعددة لتعزيز الخصوصية: للحصول على خصوصية أفضل ، فإن التوصية المعتادة هي المشاركة في عملات معدنية متعددة (حيث قد تؤدي المشاركة الواحدة إلى مكاسب قليلة بسبب المجموعة الصغيرة من المساهمات المجهولة). لكن المشاركات المتعددة تستغرق وقتا وتزيد من التفاعل وتدفع المزيد من الرسوم.
لا تبدو Coinjoin تماما مثل المعاملة العادية: تتمتع معاملات Coinjoin بميزة محددة يمكن التعرف عليها: مدخلات متعددة من أطراف متعددة تنتج مخرجات متعددة من نفس الفئة. هذا يعني أنه إذا تم تحديد عملتك قبل مشاركتك في coinjoin ، فستكون هيئة الرقابة أيضا في coinjoin حتى تشارك. قد لا يعرفون أين ذهبت أموالك أو ماذا فعلت بعد الانضمام إلى العملة ، لكنهم يعرفون مقدار ما لديك ومقدار مشاركتك في coinjoin
من الواضح ، بسبب هذه القيود ، أن CoinJoin ليس الحل النهائي لخصوصية Bitcoin ، خاصة للمستخدمين الأكثر سلبية الذين يريدون نظام خصوصية افتراضي.
بعد بضع سنوات ، ظهرت نتيجة أفضل ، نتيجة لا تتطلب من الأطراف المشاركة في المعاملة اتخاذ * أي * خطوات إضافية ، وكانت واضحة ، ولم تتطلب منسقا مركزيا أو سوقا (وبالتالي وفرت الوقت والمال) ، وبدت مثل المعاملة العادية: Payjoin.
يتكون Payjoin من سلسلة من الابتكارات السابقة ، دعنا نلقي نظرة.
الناتج المحلي الإجمالي-21
كان BIP-21 تحسينا مهما لتجربة المستخدم (UX) لعملة البيتكوين المبكرة. "BIP" هو اختصار ل "اقتراح ترقية Bitcoin" ويحتوي على مجموعة من المعايير التي تتطلب إما تغييرات بالإجماع على بروتوكول Bitcoin (على سبيل المثال ، عمليات الانقسام الصلب أو الناعمة) أو توفر معلومات وطرق مفيدة للتفاعل مع Bitcoin.
BIP-21 هو معيار يحدد استخدام عناوين URI ويبسط عملية التفاعل مع Bitcoin من خلال النقر على رابط أو مسح رمز الاستجابة السريعة لبدء الدفع. يتم أيضا تحديد عدد صغير من معلمات الاستعلام ، مثل المبلغ والعلامة والرسالة ، بحيث يمكن لبرنامج العميل جلبها وتحليلها بسهولة ، مما يوفر تجربة مستخدم أفضل. فيما يلي مثال على BIP-21 URI مع بعض المعلمات:
الأهم من ذلك ، هذا المعيار قابل للتوسيع ، ويمكنك إنشاء معلمات استعلام مخصصة ، ويمكن تطوير معايير جديدة فوقه. على سبيل المثال ، بالإضافة إلى عنوان Bitcoin الخاص بك ، يمكنك أيضا إضافة معلمة مخصصة تسمى lightning توفر لك طريقة لتلقي الأموال على شبكة Lightning ، بحيث يمكن للمستخدمين الدفع لك في كلتا الحالتين:
! [BIP-21 مع البرق] (https://img-cdn.gateio.im/webp-social/moments-40baef27dd-568740308b-dd1a6f-cd5cc0.webp)
أثبت BIP القوي والمرن أنه مفيد جدا عند دمج المفاهيم من coinjoin.
الدفع إلى نقطة النهاية (P2EP)
كانت أول وثيقة وجدتها تشير إلى مفهوم payjoin من Blocksteam ، نشرت في أغسطس 2018 ، نقلا عن ورشة عمل أدت إلى ظهور المفهوم. تسمي المقالة الفكرة النهائية "الدفع إلى نقطة النهاية" لأنها تجمع بين مفهوم coinjoin و BIP-21 ، مما يسمح لمرسل ومستقبل المعاملة بالعمل معا لتوفير مدخلات للمعاملة من خلال نقطة نهاية شبكة متوافقة مع BIP-21 يوفرها المستلم. الرسم التخطيطي التالي هو مثال على شكل نقطة النهاية التي يوفرها جهاز الاستقبال:
وتجدر الإشارة بشكل خاص إلى المعلمة p2ep ، وهي نقطة نهاية شبكة (في هذه الحالة عنوان .onion ، ولكن يمكن أن تكون أيضا عنوان http:// بسيط أو أي نقطة نهاية شبكة أخرى متوافقة) يمكنها إرسال إشارة إلى محفظة المستلم بأن المرسل على استعداد لمحاولة دفع P2EP. إذا لم تنجح دفعة P2EP ، فستعود المحفظة إلى المرسل وتطلب دفعة عادية إلى عنوان معين ، وتستخدم فقط إدخال المرسل.
نظرا لأن مساهمة المدخلات يتم تنسيقها من خلال P2EP ولا تنتج مخرجات متساوية "ملوثة" مثل coinjoin ، فإن تحديد معاملات payjoin أكثر صعوبة.
الفكرة هي خطوة كبيرة في الاتجاه الصحيح ، لكنها لا تزال في مهدها ، ولم يتم الانتهاء منها ، ويجب إزالة بعض التعقيد الإضافي.
خارج الموضوع: ساتوشي ناكاموتو الدفع إلى IP
تم تنفيذ شكل مختلف من هذه الفكرة ، يسمى "الدفع مقابل IP" ، بواسطة ساتوشي ناكاموتو في * الإصدار الأقدم * من برنامج Bitcoin. ومع ذلك ، فإن هذا النهج يشكل معضلة خصوصية كبيرة ، لذلك تم التخلي عنه في الإصدارات اللاحقة من برنامج Bitcoin.
بوسطباي
في وقت لاحق من نفس الشهر ، اقترح Ryan Haver نسخة محسنة من P2EP على القائمة البريدية لمطوري Bitcoin وقام بإضفاء الطابع الرسمي على BIP يسمى "Bustapay". يبسط هذا الإصدار بروتوكول P2EP الأصلي ، ومن أجل البساطة ويزيل بعض التعقيد ، يعتقد أن البساطة ضرورية للوصول في كل مكان.
لا يزال اقتراح Bustapay يحتوي على بعض المشكلات الرئيسية التي تحتاج إلى تنقيح ، والبروتوكول ليس كاملا كما ينبغي. لكنها خطوة أخرى في الاتجاه الصحيح ، وتركيزها على البساطة لتكامل المحفظة هو خطوة حاسمة ، خاصة بالنسبة للنظام البيئي البطيء والحذر لمطوري البيتكوين. على الرغم من أن Bustapay لم يتم الترويج له مطلقا ، إلا أنه كان آخر مقدمة لاقتراح payjoin اليوم - نحن مستعدون لتكامل المحفظة ، والتغييرات الإيجابية في المعاملات على السلسلة.
عرض Payjoin
أخيرا ، في منتصف عام 2019 ، تم تحسين مفاهيم Bustapay و P2EP وتعزيزها من قبل نيكولاس فورييه (مؤسس BTCPayServer) و Kukks لتشكيل BIP-78 ، بعنوان "اقتراح Payjoin بسيط".
مع فهم خلفية البروتوكول الذي أدى إلى payjoin ، فإن معنى وغرض الملخص في بداية هذا الاقتراح واضح:
"تقترح هذه الوثيقة بروتوكولا لطرفين للتفاوض على معاملة coinjoin عند إجراء الدفع. "
يوفر الاقتراح معلومات أكثر صرامة من الطرق السابقة ، مما يشير إلى كيفية إنشاء معاملة coinjoin بين المرسل والمستقبل ، وكسر خيط هوية ملكية مدخلات المعاملة ، وهو بسيط ومرن وغير مكلف.
كيف يعمل Payjoin
لنفترض أن أليس تريد أن تدفع لبوب 1.1 BTC ، ثم ترى شركة مراقبة blockchain معاملة مثل هذه:
! [مثال على افتراض أن ملكية المدخلات المشتركة إرشادية] (https://img-cdn.gateio.im/webp-social/moments-40baef27dd-ca34b5b6d3-dd1a6f-cd5cc0.webp)
قد يعتقدون أن أليس دفعت لبوب 0.5 BTC ثم حولت بقية الأموال إلى نفسه كتغيير ، وهذا كل شيء:
! [تم استخدام مثال يفترض أن الإرشادية لملكية المدخلات المشتركة] (https://img-cdn.gateio.im/webp-social/moments-40baef27dd-28843c7745-dd1a6f-cd5cc0.webp)
وفي معظم الأحيان ، لا حرج في التفكير في ذلك! بعد كل شيء ، عادة ما يكون التغيير في فئات أكبر ، و 0.5 هو أكثر من "عدد صحيح" ومن المرجح أن يستخدم في المدفوعات (مقارنة ب 1.1).
قد يتساءلون أيضا عن سبب استخدام أليس لمدخلات لم تكن ضرورية (كل من 0.8 و 0.3 زائدة عن الحاجة) ، لكن لا يمكنهم أبدا التأكد من أن هذه ليست معاملة عادية ، ولا يمكنهم استنتاج سبب استخدام إدخال إضافي - ربما تقوم أليس فقط بتنظيم محفظتها حتى تتمكن من إدارتها لاحقا. هذا * ربما * يكون payjoin ، ولكن حتى لو كنت تعتقد ذلك ، أي UTXO هو أليس وأي هو بوب؟ لا توجد طريقة لمعرفة ذلك. نظرا لأن معظم المعاملات * ليست * payjoins ، فمن المرجح أن يعتقدوا خطأ أنها ليست معاملة payjoin.
ومع ذلك ، فإن أليس ذكية وتريد حماية خصوصيتها ، وهي تعرف عن payjoin ، لذلك تطلب من بوب تقديم مدخلات للمعاملة أيضا. وافق بوب ، لذلك أنشأ معاملة تكلف UTXO واحدا (أو أكثر) كمدخلات ، وأرسلها مرة أخرى إلى Alice. إذا لم يكن لدى الصفقة مشكلة مع أليس ، فستقوم ببثها على الشبكة. الصفقة في الواقع تسير على النحو التالي:
! [مثال على معاملة الانضمام إلى الدفع] (https://img-cdn.gateio.im/webp-social/moments-40baef27dd-ba3b4aec83-dd1a6f-cd5cc0.webp)
طالما أن مراقبي السلسلة يفترضون أن جميع المدخلات تأتي من أليس (كما في المثال الأول ، وهم يفعلون ذلك الآن) ، فسيكونون مخطئين إلى حد كبير بشأن المدخلات التي تنتمي إلى أليس وبوب!
ومن المثير للاهتمام أن كلا من أليس وبوب يقدمان مزايا الخصوصية للجميع. لأنه ، على عكس CoinJoin ، فإن هذه المعاملة تشبه إلى حد كبير المعاملة العادية ، وطالما أن عددا كافيا من الأشخاص يستخدمون PayJoin ، لا يمكن للمراقب تحديد المعاملات الطبيعية. في إحباط المراقبين ، تجعل أليس وبوب أيضا * كل معاملة * مشبوهة بعض الشيء. طالما أن عددا كافيا من الأشخاص يقومون بذلك ، ستصبح جميع المعاملات مشبوهة. غالبا ما تكون الخصوصية على السلسلة لعبة أرقام ، وكلما زاد عدد الأشخاص المشاركين ، ستكون الخصوصية أفضل للجميع.
في هذه الحالة ، تعاونت أليس وبوب لإنشاء معاملة باستخدام مدخلات كل منهما لحماية الخصوصية. بالطبع ، العملية برمتها مؤتمتة بشكل مثير للريبة (وفي الواقع * * مؤتمتة).
في BIP-78 ، يتم تعريف العملية برمتها بشكل رسمي على النحو التالي:
يقدم جهاز الاستقبال للمرسل BIP-21 URI مع معلمة الاستعلام pj = التي تشير إلى نقطة نهاية / خادم الشبكة التي يمكن للمرء أن يرسل إليها "معاملة Bitcoin موقعة جزئيا (PSBT)". يمكن لنقطة النهاية هذه استخدام HTTPS ، . OnJoin أو أي بروتوكول آخر يستخدم تشفير الهوية، مثل:
! [مثال PJ] (https://img-cdn.gateio.im/webp-social/moments-40baef27dd-d33ce79c42-dd1a6f-cd5cc0.webp)
2. يقوم المرسل بإنشاء PSBT مشكل وقابل للبث يتم إرساله إلى نقطة نهاية المستلم باستخدام مدخلاته الخاصة فقط والتي تكون كافية تماما للدفع. يسمى هذا PSBT "PSBT الأولي".
3. يقوم المستلم بتعديل PSBT لتضمين المدخلات الخاصة به ، ويوقع على مدخلاته الخاصة ، ويرسل PSBT المعدل مرة أخرى إلى المرسل. لا يقوم المستلم بتعديل أي من مدخلات أو مخرجات المرسل. يسمى PSBT هذا "عرض Payjoin".
4. يتحقق المرسل من صحة العرض ، ثم يعيد توقيع مدخلاته لإنهاء المعاملة بأكملها وبثها أخيرا إلى الشبكة.
بغض النظر عن مكان ارتكاب الخطأ في العملية ، مثل عدم امتلاك المستلم ل UTXO يمكن استخدامه لإنشاء اقتراح Payjoin ، فإن TA يحتاج فقط إلى بث PSBT الأولي ، وهي معاملة عادية. في حين أن جميع المدخلات في هذه المعاملة هي من نفس المالك ، وأن عددا كافيا فقط من الأشخاص يستخدمون payjoins ، لا يمكنك استنتاج أن كلا الطرفين * لا * payjoin ، وسيتعين على المراقب أن يفترض أن الجميع يدفعون ، ثم اكتشف طريقة أخرى لتتبع الدفع.
الفوائد العديدة ل Payjoin
تحطيم المزيد من أدلة المراقبة
افتراض هوية الملكية ليس هو الوحيد الذي يمكن كسره عن طريق payjoin الذي يؤثر على الخصوصية. يشير BIP-78 إلى دليلين آخرين يمكن استخدامهما لتحديد المالك:
تحديد التغيير عن طريق المفتاح العام للبرنامج:
في Bitcoin ، المفتاح العام للبرنامج النصي هو "برنامج القفل" الذي يحدد الشروط التي يمكن بموجبها إنفاق مبلغ من البيتكوين. يطلق عليه "المفتاح العام للبرنامج النصي" لأن شرط القفل يتطلب توقيعا صالحا يطابق مفتاحا عاما (عنوانا) لإلغاء قفله. بمعنى آخر ، يمكن فقط للشخص الذي يتحكم في المفتاح الخاص للمفتاح العام المرتبط ب UTXO إلغاء قفله.
هناك عدة أنواع من المفاتيح العامة للبرنامج النصي ، مثل: P2PKH و P2WPKH و P2SH و P2TR. بشكل عام ، تستخدم المحافظ نفس المفتاح العام للبرنامج النصي لجميع المعاملات ، وبالتالي فإن ناتج التغيير (الأموال المرسلة إلى المرسل من قبل المرسل لأنفسهم بالإضافة إلى المدفوعات والرسوم) سيستخدم على الأرجح نفس النوع من المفتاح العام للبرنامج النصي مثل إدخال المرسل ، ومن المرجح أن يستخدم الإخراج المرسل إلى المتلقي نوعا مختلفا. هذا يعني أنه يمكن تحديد UTXOs التي تستخدم نفس نوع البرنامج النصي في نفس المعاملة على أنها يحتمل أن تنتمي إلى المرسل ، أي على افتراض أن الإخراج المرسل إلى المستلم سيكون من نوع مختلف.
يحدد BIP-78 طريقة تسمح للمتلقي باستخدام نفس النوع فقط من المفتاح العام للبرنامج النصي مثل المرسل ، مما يؤدي إلى كسر مؤشر الترابط أعلاه الذي قد يعرض إخراج الدفع وإخراج التغيير.
تحديد التغيير والدفع بمبلغ الدفع (العدد الصحيح):
عادة ، يرجى المنشعب ، ودفع صديق سيختار دائما عددا صحيحا ، لأن هذا سيكون أكثر طبيعية. إذا كان بوب سيفرض رسوما على أليس (ولم يكونوا يفرضون رسوما على البيتكوين بسعر فيات "أقرب إلى عدد صحيح") ، فمن المرجح أنه سيتقاضى مجموعة e مثل 0.0001 بدلا من رقم غير صحيح مثل 0.00010231. إذا كان أحد مخرجات المعاملة عددا صحيحا ، فمن المحتمل أن يكون هذا ناتجا للدفع ، والإخراج غير الصحيح هو ناتج تغيير (على الأقل في الوقت الحالي).
يصف Payjoin أيضا طريقة للمستقبل لكسر هذا الموضوع عن طريق إضافة إخراج عدد صحيح إضافي عند إنشاء اقتراح Payjoin.
يتم الحصول على فوائد غير متماثلة من خلال توحيد مجموعة أوسع
كما ذكرنا سابقا ، فإن أحد العيوب الرئيسية ل coinjoin من منظور الخصوصية هو أن 1) معاملات coinjoin يمكن تمييزها بسهولة عن المعاملات العادية ، و 2) قلة من الناس يقومون ب coinjoins على وجه التحديد ، وهذا ليس هو الحال مع المعاملات العادية. هذا يخلق مشكلة تجانس البيتكوين ، لأنه من المحتمل أن يعتقد بعض الناس أن الأموال المسكوكة ملوثة ، لأنه شخص لديه هذه الفكرة السخيفة بأن "السعي وراء الخصوصية يساوي الخبث". بالطبع ، إذا كانت * غالبية المعاملات * ، أو حتى نسبة معينة من المعاملات ، خاصة ، فإن معاملات البحث عن الخصوصية غير واضحة.
يبدو Payjoin مثل أي معاملة أخرى ، لذا فهو غير ملحوظ. ليس لدى المراقبين الخارجيين أي سبب للنظر في مثل هذه الصفقة أيضا ، لأنها لا تظهر نية للخلط بين الدفع وتغيير المخرجات.
نظرا لأنه يبدو وكأنه شيء آخر ، فحتى الفوائد الهامشية لتبني payjoin تعني أنه سيكون من الصعب انتهاك خصوصية الجميع ، حيث سرعان ما يصبح العملاء المتوقعون الخاضعون للمراقبة غير موثوقين. يلخص آدم جيبسون (أحد المساهمين المؤسسين في JoinMarket وخبير في خصوصية البيتكوين) الأمر بشكل جيد للغاية:
"حتى لو كنت حريصا جدا ، فإن معاملات PayJoin هذه لا تختلف عن المدفوعات العادية [...] حسنا ، إليك الشيء الرائع: لنفترض أنه سيتم أيضا ملاحظة التبني الصغير لهذه التكنولوجيا. لنفترض أن 5٪ من المعاملات تستخدم هذه الطريقة. النقطة المهمة هي أنه لا أحد يعرف بالضبط أي 5٪ هي معاملات PayJoin. هذا إنجاز عظيم [...] ، لأنه يعني أن جميع المدفوعات ، بما في ذلك تلك التي لا تستخدم Payjoin ، تحصل على مزايا الخصوصية!
تشطيب UTXO
من الواضح أن كلا من PayJoin وروادها ملتزمون بمعالجة مخاوف الخصوصية. ولكن هناك جانب رائع لاستخدام payjoin ، ويوضح BIP-78: ترتيب UTXO.
اقترح ساتوشي ناكاموتو استخدام عنوان إكرامية لكل معاملة مستلمة ، مما أدى إلى وجود العديد من UTXOs لإدارتها في محفظة المستخدم. عندما يتم استخدام UTXOs هذه كمدخلات لإنشاء معاملة جديدة (على افتراض أنها ليست معاملة coinjoin أو payjoin) ، فإن مثل هذه المعاملة تكلف الكثير من الرسوم. نظرا لأنه يتم فرض الرسوم بناء على حجم المعاملة (عدد البايتات) (المقابلة لمساحة الكتلة التي تعد موردا نادرا) ، فإن المزيد من المدخلات يعادل معاملات أكبر والمزيد من الرسوم.
من المهم ملاحظة أن استخدام payjoin لفرز UTXO لا يوفر بالضرورة الرسوم ، حيث سيظل يتعين على كل UTXO يظهر على السلسلة دفع الرسوم. ومع ذلك ، فإنه يوزع هذه الرسوم على مدى فترة زمنية طويلة ويوفر الفرصة لتجميع UTXOs في وقت الدفع. ستجعل معالجة الدفعات تنظيم UTXOs أرخص (مما لو كان عليك بدء معاملة خصيصا لغرض الترتيب). كما أنه يسهل ربط UTXOs ويشغل مساحة أقل على محرك الأقراص الثابتة. بالإضافة إلى ذلك ، يمكن للمحافظ تنفيذ طريقة لأتمتة وتسهيل تنظيم UTXOs من خلال السماح للمستلمين بتحديد UTXOs التي يريدون تنظيمها مسبقا برسوم منخفضة.
شبكة البرق و Payjoin: مباراة مصنوعة في الطبيعة
استخدم Payjoin لفتح قناة البرق
شبكة لايتنينج (LN) هي حل من الطبقة 2 مبني على قمة البيتكوين يضع المعاملات خارج السلسلة لتسوية فورية منخفضة الرسوم ، وبالتالي زيادة إنتاجية المعاملات والخصوصية بشكل كبير والسماح للبيتكوين بإدخال حالات استخدام جديدة (مثل "المدفوعات الصغيرة"). يستخدم شبكة من قنوات الدفع بين العقد لتوجيه المدفوعات ، وإعادة توجيه الأموال من حيث نشأت إلى وجهاتها. تتطلب هذه القنوات من كل مشغل عقدة حبس بعض "السيولة" (bitcoins) مع الأطراف المقابلة للقناة ، والتي يمكن أن تتدفق بعد ذلك بين العقدة والأطراف المقابلة للقناة. مقدار البيتكوين الذي يمكنك إنفاقه في القناة محدود بمقدار السيولة الموجودة على جانبك من القناة.
عندما يتعلق الأمر بالحفاظ على عقدة Lightning ، فإن معظم التعقيد يأتي من فتح هذه القنوات وإدارة سيولة كل قناة. يعد إعداد المستخدمين الجدد أحد أكبر نقاط الألم نظرا لوجود العديد من الخطوات المتضمنة. لنفترض أن أليس تريد فتح قناة مع بوب ، وقد قامت بتثبيت عقدة Lightning جديدة ، لكنها لم يتم تمويلها بعد. ثم عليها القيام بما يلي:
أرسل معاملة على السلسلة لتمويل محفظة Lightning التي تم إنشاؤها حديثا بأموال كافية على الأقل لفتح القناة ، وانتظر حتى يتم تأكيد المعاملة (10 دقائق على الأقل)
استخدم برنامج Lightning Wallet الخاص بها للتفاوض على معاملة مع بوب لفتح القناة وانتظر تأكيدها
على الأقل ، يتعين على أليس دفع الرسوم مرتين والانتظار حوالي 10 دقائق لكل معاملة ، وهو أمر ممل.
! [عملية فتح قناة البرق] (https://img-cdn.gateio.im/webp-social/moments-40baef27dd-1cabf5ff4a-dd1a6f-cd5cc0.webp)
Payjoin يبسط هذه العملية ويساعد أليس على توفير المال: يمكن لأليس تمويل محفظة Lightning وفتح القناة في معاملة واحدة.
في هذا السيناريو ، تقوم أليس بتكوين نقطة نهاية استلام الدفع الخاصة بها مسبقا بتفاصيل القناة التي تريد فتحها: عدد عملات البيتكوين التي يجب قفلها والخصم الذي ستفتح القناة. بعد ذلك ، باستخدام محفظة تدعم payjoin ، يمكن لشخص ما (بما في ذلك Alice) إرسال PSBT أولي إلى نقطة النهاية ، والتفاوض على معاملة payjoin ، وستقوم نقطة النهاية بإجراء استدعاءات API اللازمة لفتح قناة مع عقدة Bob.
بمعنى آخر ، يتواصل المرسل (في هذه الحالة ، أليس) مع أليس مع نقطة النهاية التي تتلقى الدفع ، وينشئ معاملة ، ويرسل الأموال مباشرة إلى إخراج بوب وأليس متعدد التواقيع 2 من 2 ، وبالتالي إنشاء قناة البرق بين العقدتين. هذا يحول العملية برمتها إلى معاملة:
! [قناة البرق مع Payjoin] (https://img-cdn.gateio.im/webp-social/moments-40baef27dd-4c65326146-dd1a6f-cd5cc0.webp)
الشيء المثير للاهتمام الذي يجب معرفته هو أن كلا من فتح قناة البرق و payjoin لهما متطلبات * مباشرة * (على الرغم من أن payjoin على الأقل لن يكون مطلوبا لفترة طويلة) ، مما يعني أنه يجب أن يكون جميع المشاركين متصلين بالإنترنت في وقت إجراء المعاملة. هذا مقيد للغاية مقارنة بمعاملات Bitcoin على السلسلة (والتي تتطلب فقط أن يكون الدافع متصلا بالإنترنت في لحظة الدفع). ومع ذلك ، فإن هذا يسمح أيضا لمجموعتي البروتوكولات بالتناسب معا بشكل مثالي.
على سبيل المثال ، تعد شبكة Lightning Network طريقة رائعة لتحسين الخصوصية عن طريق إبقاء المدفوعات خارج السلسلة ، ويمكن أن تحسن بشكل كبير من قدرة Bitcoin على استخدامها كوسيلة للتبادل (أي يمكن استخدامها بالفعل لشراء الضروريات اليومية) دون المساس بمخزن القيمة. ومع ذلك ، فإن الحاجة إلى فتح قناة على السلسلة تعني أيضا أن الأموال التي تستخدمها لفتح القناة ، وكذلك الأشخاص الذين يفتحون القناة معك ، ستترك أثرا على السلسلة. للأسباب التي ناقشناها بالفعل ، يمكن أن يربك payjoin ويدمر العديد من أدلة المتلصصين.
هذا أيضا يجعل الأمور أكثر بساطة ، حيث سيحتاج المستخدمون فقط إلى بدء معاملة واحدة بدلا من معاملتين ، ويصبحون أسرع لأنه يتعين عليهم فقط انتظار تأكيد معاملة واحدة ، وأرخص لأنهم يحتاجون فقط إلى دفع رسوم واحدة. في الواقع ، يسمح هذا النهج بفتح قنوات متعددة في وقت واحد. يمكنك إنشاء قائمة بالعقد التي ترغب في فتح القناة ، وتكوينها في نقطة نهاية استلام BIP-21 payjoin ، ثم تشغيلها كلها مرة واحدة وتلقائيا عند تلقي المدفوعات ، وتحتاج فقط إلى انتظار تأكيد واحد ورسوم دفع واحدة. مطلقا!
هناك بالفعل مشروع ينفذ هذه الفكرة يسمى "Nolooking" ، والذي يسمح لك بإدراج مجموعة من المفاتيح العامة ثم فتح قنوات Lightning متعددة في وقت واحد * على دفعات)! هذا يسمح لأليس بفتح قناة ليس فقط مع بوب ، ولكن أيضا مع بوب وكارول ودينا ، مع * معاملة واحدة فقط على السلسلة *! من المثير التفكير في: في المستقبل ، سيتم تمكين payjoin لمحافظ Lightning افتراضيا ، وتجربة المستخدم * الفعلية * هي أنك تختار فقط شريك قناتك ، وتبدأ معاملة Bitcoin واحدة ، وتكون قد انتهيت! كم هو مفاجئ ذلك؟
من السهل أن نتخيل أن هذا من شأنه أن يبسط اعتماد قنوات البرق الخاصة بالوصاية الذاتية. سيكون من المثير للاهتمام إذا كان برنامج محفظة Lightning يمكن أن يحتوي على زر "التشغيل السريع" حيث يقوم المستخدمون فقط بإدخال مقدار Bitcoin الذي يريدون قفله (أي مقدار السيولة التي يريدونها) ، وتعيين قيمة افتراضية لفتح عدد صغير من القنوات ذات الحجم المعقول ، والتضحية قليلا في التوجيه والرسوم. بالنسبة للمستخدمين المتقدمين ، ما عليك سوى توفير زر "أعرف ما أفعله".
نقاط الضعف
أي بروتوكول به نقاط ضعف ، و PayJoin ليس استثناء.
تكمن المشكلة الرئيسية في متطلبات الحيوية (الشبكات). في التنفيذ الحالي ، يجب أن يكون خادم الويب payjoin الخاص بالمستلم مؤمنا ماليا عند إنشاء المعاملة ، حيث يتفاوض المرسل والمستقبل على المعاملة النهائية (التي تتم برمجتها بالطبع). هذا يمكن أن يحد من اعتماد خوادم التاجر وكذلك عقد Lightning ، وهم الأشخاص الوحيدون الذين لديهم حافز للبقاء على الإنترنت. من وجهة نظر المستخدم ، سيكون من الأفضل إرسال المعاملة في أي وقت ، بغض النظر عما إذا كان خادم المستلم متصلا بالإنترنت أم لا.
نقطة ضعف أخرى أقل احتمالا ولكنها أكثر خطورة هي أنه إذا كان خادم payjoin (أي خادم المستلم) على خادم غير آمن ، فيمكن العبث بإخراج المتلقي أثناء التشغيل (قبل إعادته إلى المرسل) ، مما يؤدي إلى سرقة أموال تخص المستلم.
ومع ذلك ، كما سنقول بعد ذلك ، تم اقتراح حلول لحل هاتين المشكلتين.
أخيرا ، هناك نقطة ضعف أخرى في بروتوكول PayJoin وهي أنه يواجه عائقا أمام التبني ، حيث يتعين على المحافظ بذل جهود التطوير لدمجه. التحدي الخاص هو أن واجهة المستخدم المثالية يجب أن تكون payjoin افتراضيا. ستحاول كل من محفظة المرسل ومحفظة المستلم الدفع مباشرة ، دون الحاجة إلى فتحها من قبل المستخدم في إعدادات الخصوصية. أفضل خصوصية هي تنفيذ الخصوصية افتراضيا ، لأنه إذا طلبت من المستخدمين اتخاذ إجراء نشط ، فقد يتم تثبيطهم. لذلك ، لكي يتم اعتماد payjoin من قبل المستخدم العادي ، يجب أن تكون هناك تجربة سلسة لا يتعين عليهم النضال من أجل فهمها. يجب أن تكون المحفظة قيد التشغيل افتراضيا. ضع في اعتبارك أن البروتوكول يحتوي بالفعل على استجابة مضمنة لفشل payjoin: فهو يعود إلى معاملة منتظمة دون تدخل المستخدم اليدوي.
لا يلزم الانضمام إلى الدفع من جانب الخادم
قدم Dan Gould مسودة BIP للإصدار 2 من payjoins ، مما يسمح بإجراء payjoins في كل من السيناريوهات غير المتزامنة وبدون خادم. سيحل هذا الدفع بدون خادم مشكلة مطالبة المستلم بأن يكون متصلا بالإنترنت عند استلام الدفعة ، ومشكلات الأمان المرتبطة بها من جانب الخادم. نظرا لأن خادم مستلم payjoin الذي يعمل دائما يمكن أن يكون أكبر عائق أمام اعتماد المستخدم ل payjoin ، فإن تنفيذ BIP هذا يمكن أن يحقق فوائد كبيرة لاعتماد payjoin بالإضافة إلى خصوصية Bitcoin السلبية.
حالة اعتماد Payjoin
اعتبارا من نهاية عام 2023 ، لا يزال اعتماد PayJoin صغيرا نسبيا ، لكنه استمر في النمو منذ إنشائه في عام 2018. نظرا لأن payjoin متاح حاليا ولا يتطلب أي تغييرات في إجماع Bitcoin ، فإن العقبة الوحيدة هي كتابة برنامج المحفظة الذي يدعمه ، والأدوات لمساعدة المطورين تتحسن كل يوم. مجموعة Payjoin Dev Kit (PDK) هي تطبيق جديد لربط الدفع مع وحدات يمكن للمحافظ استخدامها لدمج payjoins. حتى أنه يتكون من أداة payjoin-cli التي يمكنك استخدام سطر الأوامر لإنشاء payjoin. هذه المكتبة مكتوبة بلغة Rust ، لكن الروابط التي تسمح للغات الأخرى باستخدامها قيد التطوير.
دعم المحفظة
يدعم BTCPayServer و JoinMarket بالفعل إرسال واستقبال المدفوعات ، على الرغم من أنها ليست الافتراضية. يدعم BlueWallet و Sparrow و Wasabi و BitMask الإرسال. حفنة من المحافظ الأخرى تدعمها من خلال مكون إضافي ، بما في ذلك Bitcoin Core. هناك أيضا علاقات عامة نشطة تحاول دمج payjoin في محفظة Mutiny Wallet. يتم سرد حالة التبني الحالية هنا.
Payjoin ومستقبل البيتكوين
وقد نقل عن آدم جيبسون بالفعل قوله إنه حتى لو تم إنشاء 5٪ فقط من المعاملات على السلسلة باستخدام payjoin، يمكن أن يكون لها تأثير كبير على خصوصية Bitcoin. نحتاج فقط إلى تجاوز عتبة كافية لشركة تحليلات لتفترض بثقة أنها تستطيع تفسير المعاملة بشكل صحيح. بمجرد كسر أساليبهم في التجسس علينا ، فإن القيود غير الحكيمة والتعسفية والخبيثة التي يفرضها أولئك الذين لا يفهمون فوائد خصوصية Bitcoin ولا يعتزمون حماية حقوقنا ستصبح غير ذات صلة.
وكما رأينا ، نظرا للإمكانيات العديدة التي ستجلبها PayJoin ، فهي ليست مجرد حل للخصوصية ، بل هي أيضا بروتوكول معاملات قابل للتطوير وتعاوني يسمح باستخدامات مثيرة للاهتمام مثل توفير الرسوم وقنوات البرق المتعددة لمعاملة واحدة وما إلى ذلك. الفوائد التي يمكن أن تجلبها إلى Bitcoin لا حدود لها ، ويمكن تحقيقها الآن دون تغيير Bitcoin نفسها.
فما ننتظر؟
نعم
إذا كنت ترغب في دعم PayJoin أو المساهمة فيه ، انضم إلى Discord أو تبرع لنا أو تعرف على payjoin.org.
شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
Payjoin مع بيتكوين أفضل
المؤلف: براندون لوكاس ، المصدر: دراسة BTC
Payjoin هو بروتوكول يحل العديد من المشاكل بحجر واحد باستخدام خدعة بسيطة وذكية لإنشاء معاملات Bitcoin. إنه مصمم لحل أكبر مخاوف خصوصية Bitcoin ، ولكنه يمكن أن يساعد أيضا في حل مشكلات التوسع ، وبالتالي مساعدة الأشخاص على توفير الرسوم. إنه متوافق بشكل خاص مع عقد Lightning Network لأن تصميمه الحالي له متطلبات حيوية لمتلقي المعاملة ، مما يعني أن المتلقي يجب أن يكون متصلا بالإنترنت (تماما مثل عقدة Lightning) عند استلام الدفعة. في المستقبل ، سيتم التخلص من هذا المطلب حتى يمكن استخدامه في وضع عدم الاتصال. من السهل الاندماج في برنامج المحفظة ، ويمكنه فتح العديد من قنوات البرق في وقت واحد أثناء إجراء المدفوعات ، وهو سلبي ، حتى تتمكن من الاستمتاع بالمزايا دون معرفة ذلك. يتم وضع مزايا الخصوصية ل Payjoin في طبقات ، لذلك حتى لو كانت نسبة صغيرة فقط من الأشخاص يستخدمونها ، يمكن للجميع الحصول على مزايا الخصوصية. وربما الأفضل من ذلك كله ، أن PayJoin لا يتطلب شوكة صلبة أو شوكة ناعمة. يمكن استخدامه ، وقد تم استخدامه ، مع Bitcoin ، وفي الواقع كان متاحا منذ الإصدار الأول من برنامج Bitcoin.
Payjoin هو مشتق من Coinjoin. Coinjoin أقدم ويتطلب أيضا المزيد من التفاعل عبر الإنترنت ، مما يعني أنه يتعين على المستخدمين المشاركة بشكل كبير لاستخدامه ، وهو أمر لا بد أن يقلل من قابلية الاستخدام ويثبط التبني. ومع ذلك ، على الرغم من ذلك ، كان اعتماد CoinJoin حتى الآن أعلى بكثير من اعتماد PayJoin ، على الرغم من أن فوائد وسهولة استخدام PayJoin أكثر وضوحا. بالنسبة للمطورين ، فإن الاتجاه المعقد وغير الواضح يمنع اعتماده بواسطة برامج المحفظة.
Payjoin موجود منذ سنوات عديدة ، مع الأخذ في الاعتبار:
لماذا يتم اعتماد payjoin ببطء على نطاق واسع؟
على وجه الخصوص ، لماذا يكون بروتوكول Coinjoin ، الذي يتطلب المزيد من التفاعل ، أصعب في الاستخدام ، وأكثر تكلفة ، ولكن بدلا من ذلك لديه اعتماد أكبر؟
في هذه المقالة ، سنلقي نظرة على الهجمات الحالية على خصوصية Bitcoin ، وتاريخ PayJoin من منظور الخصوصية ، وكيف يعمل PayJoin ولماذا يمكن أن يوفر الكثير من الفوائد دون تغيير Bitcoin ، وأخيرا ، التبني الحالي. إذا كان بإمكان payjoin تحسين الخصوصية وقابلية التوسع والمساعدة في توفير الرسوم بشكل كبير ، فإن جهد المحفظة الصغير لدمجها سيكون يستحق كل هذا العناء.
لماذا الخصوصية مهمة للبيتكوين
قبل مناقشة أهمية payjoin ، يجب أن نفهم أهمية الخصوصية. إذا لم تعد بحاجة إلى إقناعك بعد الآن ، فيمكنك التخطي مباشرة إلى القسم التالي للتعرف على التاريخ وكيفية عمل Pyajoin.
في الديمقراطيات الغربية ، لا يمكن وصف الأهمية المطلقة للخصوصية ، حيث لا تزال فوائدها تبدو غير مرئية للناس. من الصعب أن نشرح بشكل مقنع سبب أهمية الخصوصية (خاصة في مواجهة ارتفاع التكاليف أو المضايقات الأكبر) ، إذا لم يشعروا أبدا بالعواقب السيئة للأشخاص السيئين الذين لديهم الكثير من المعلومات عنهم ، أو لأنه يتطلب من الناس التفكير في العواقب طويلة المدى لهذه التدخلات.
بالطبع ، يبدو أن الخصوصية شيء يهتم به المزيد والمزيد من الناس (من الناحية النظرية) ، لكنهم نادرا ما يتعاملون معها بنشاط ، مع وجود حواجز منخفضة للغاية وعدم المساومة على الراحة. لذلك ، يجب تصميم التقنيات التي تريد حماية خصوصية الأشخاص لتكون سهلة الاستخدام قدر الإمكان ومريحة قدر الإمكان.
التجانس
الخصوصية ليست المشكلة الوحيدة التي يمكن أن تساعد payjoin في حلها ، ولكن تم إنشاؤها لحلها. لطالما أعرب الناس عن أسفهم لافتقار Bitcoin المتأصل للخصوصية ، وقد أخذ مجتمع Bitcoin هذه المشكلة على محمل الجد. تم تصميم Bitcoin لتسهيل المعاملات المباشرة الفردية وهي مقاومة للرقابة. ومع ذلك ، نظرا لأنه يسمح بتتبع المدفوعات المستقبلية ، فقد يؤدي ذلك إلى التمييز بمجرد ربط مبلغ معين من المال بالهوية. وهذا يدمر التجانس الدرجة التي لا يمكن بها تمييز بعض العملات المعدنية من نفس العملة عن غيرها بنفس الكمية والتجانس هو السمة الأساسية للمال الجيد.
إذا كان من الممكن تتبع المشترين ، فلن يتم رفض العملات المعدنية التي يحتفظ بها الآن أشخاص غير قانونيين فحسب ، بل يمكن أيضا وضع علامة على المحافظ التي تم استخدامها لأغراض غير قانونية ثم رفضها من قبل التجار ، بغض النظر عما إذا كان المالك الحالي قد حصل عليها من خلال وسائل مشروعة تماما. تخيل أنه لا يمكنك استخدام المال الذي لديك لشراء الحليب لأنه تم استخدامه من قبل شخص ما لشراء المخدرات ، ويقولون ، "أموالك ليست نظيفة" ، هل هذا عادل بالنسبة لك؟ هل يجب أن تعاقب على خطيئة شخص آخر؟ ماذا ستفعل بالعملات المعدنية؟ ستشعر أن المال لا قيمة له لأن الاحتفاظ به لن يؤدي إلا إلى الإضرار بقوتك الشرائية. وليس من المنطقي أن يكون جزء من العملات المعدنية ("الأموال النظيفة") أكثر قيمة من الآخر. يجب أن يكون دولار واحد مساويا للآخر ، بغض النظر عن ماهيته ، وإلا فإن قدرة هذه العملة على نقل القيمة ستضعف.
الارتباك الجنائي
غالبا ما يكون هناك تشويه للبيتكوين والخصوصية الذين يقولون إن المجرمين فقط هم الذين يحتاجون إلى الخصوصية. إنه مشابه ل "إذا كنت لا تفعل شيئا سيئا ، خذه وليس لديك ما تخفيه". هذا سهل الدحض:
بالإضافة إلى هذا البيان الفاحش المبسط والبديهي ، في الواقع ، فإن الجناة ، على عكس الغالبية العظمى من المواطنين الملتزمين بالقانون ، على استعداد لقبول ثمن باهظ للخصوصية ، بحيث تكون التدابير التي تعرض الخصوصية الأساسية للخطر أكثر ضررا للناس العاديين من الجناة. وحتى لو لم تقم الحكومة بعمل سيئ في استخدام تدابير مقيدة للخصوصية للقبض على المجرمين، ولكن بدلا من ذلك "تنتقي وتختار" وتتجسس على المواطنين بشكل انتقائي، فإن النتيجة ستكون واحدة. إذا قال المواطن شيئا لا يحبه الأشخاص في السلطة (والأشياء التي لا يحبها الأشخاص في السلطة قد تكون هي نفسها كل يوم) ، اعتقال TA وإيذائها بشكل انتقائي.
وأخيرا، فإن الرغبة في الخصوصية ليست مجرد خوف من تجاوز الحكومة لسلطتها. كما أن لديها مخاوف عملية وأمنية وشرف. إذا تمكن شخص ما من معرفة مقدار المال الذي لديك ، والمكان الذي تعيش فيه ، فما مدى صعوبة سرقة أغراضك؟ فكر في عدد الأماكن على الإنترنت التي يتعين عليك إدخال عنوانك وتفاصيل الدفع والصور وما إلى ذلك. هل تثق في كل شخص يدير هذه المواقع للحفاظ على أمان معلوماتك الشخصية؟ يجب ألا تثق بهم ، لأنه حتى أفضل الأنظمة يمكن أن تتعطل وسيكون المجرمون على استعداد لدفع مبالغ كبيرة من المال للمتسللين لتفجير الأنظمة وسرقة هذه المعلومات القيمة.
الخصوصية والديمقراطية
في أي دولة شمولية ، فإن الشرط الأساسي للسيطرة على المواطنين هو * معرفة * خطاب المواطنين وقنوات المعلومات والأنشطة المالية. بدون هذا الفهم ، لا توجد طريقة لمعرفة ما يجب مهاجمته أو ما يجب إيقافه ، لأنه لا توجد طريقة للتلاعب بالسرد وزيادة تعزيز السيطرة. إذا لم يكن لدى الحكومة وصول موثوق إلى هذه المعلومات ، فلا يمكنها استهداف مواطن بقدر ما تريد. في المجتمعات الشمولية في الماضي ، مثل الاتحاد السوفيتي وألمانيا النازية ، أفسدوا خصوصية الناس والعلاقات غير الموثوق بها داخل أسرهم من خلال غسل أدمغتهم للإبلاغ عن الاعتراضات التي عبر عنها أفراد أسرهم في المحادثات الخاصة. عندما تحدث نفس الإجراءات المفسدة للخصوصية للمال ، يكون الأمر أكثر رعبا من الكلام. إن قطع التمويل هو وسيلة فعالة جدا لمكافحة المعارضة السياسية.
خصوصية البيتكوين ضعيفة
باسم مكافحة الجريمة (هجوم حماس الإرهابي) يتم التكهن بتدابير تنظيمية جديدة لوصف طرق حماية الخصوصية في Bitcoin بأنها غير قانونية.
في 10 أكتوبر 2023 ، نشرت صحيفة وول ستريت جورنال مقالا يفيد بأن حماس تلقت تمويلا بقيمة 130 مليون دولار من خلال العملة المشفرة. وبعد أسبوع، كتبت السناتور إليزابيث وارن رسالة مفتوحة إلى الرئيس بايدن تحثه على معالجة مسألة كيفية استجابة فرعه التنفيذي ل "الاستخدام الإرهابي للعملات المشفرة" بحلول 31 أكتوبر، مستشهدة بصحيفة وول ستريت جورنال كدليل على الحاجة الملحة لمثل هذا التنظيم. وتلقت الرسالة توقيعات من 29 من أصل 100 عضو في مجلس الشيوخ، فضلا عن 76 عضوا في مجلس النواب. ومن الغريب أنه في 19 أكتوبر، بعد يومين من إرسال الرسالة، نشرت شبكة إنفاذ الجرائم المالية (FCE) اقتراحا لتنظيم التعتيم على العملات المشفرة لمخاطر غسل الأموال. يسرد الاقتراح الطرق المستخدمة للتعتيم على تدفق المعاملات:
يشمل هذا التعريف كلا من coinjoin و payjoin ، على الرغم من أن وصف "استخدام رمز الخوارزميات" واسع بما يكفي ليشمل المعاملات التعسفية ، وبالتالي يسمح بالرقابة التعسفية.
لكن مقال وول ستريت جورنال، الذي قدم وجهة نظر حول الرسالة المفتوحة وحاول الدفاع عن مثل هذا التنظيم، أساء تفسير البيانات بشكل سيء للغاية – المبلغ الفعلي الذي كان ذا صلة حقيقية بحماس كان 450,000 دولار فقط. لم تكن العملات المشفرة أبدا المصدر الرئيسي لتمويل حماس. وقد أوضحت حماس نفسها أنها لا تريد تلقي الأموال من خلال بيتكوين، والتي يمكن تتبعها.
ومن المفارقات أن التدابير التنظيمية التي يتم اقتراحها الآن ، والتي من المفترض أن تتعامل مع الجماعات الإرهابية ، لها أقل تأثير على الجماعات الإرهابية ، وأكثر بالنسبة للأشخاص العاديين الذين يرغبون في استخدام Bitcoin وغيرها من العملات المشفرة.
ليس هناك شك في أن المعركة من أجل حقوق خصوصية Bitcoin جارية بالفعل في الولايات المتحدة ، ومن المتوقع أن تكون تحت ستار مواجهة أسباب الأمن القومي الأجنبي. الأهم من ذلك ، من الآن فصاعدا ، فهم تقنيات الحفاظ على الخصوصية على Bitcoin والبدء في استخدامها لمكافحة محاولات إضعافها.
1. شكل معاملة بيتكوين
من أجل فهم ما يفعله payjoin وكيف يعمل ، من الضروري فهم شكل معاملات Bitcoin. يرتبط كل بيتكوين ببعض المدخلات والمخرجات. يحدد الإخراج المفتاح العام أو "العنوان" الذي يتم إرسال عملات البيتكوين إليه هذه. يحدد الإدخال "مصدر" أموال المعاملة ، أي الناتج السابق المستخدم لإنشاء المعاملة (ومخرجاتها الجديدة). القياس الجيد هو أننا نستخدم فئات مختلفة من النقد للدفع. لنفترض أنك تريد دفع 25 دولارا لتناول العشاء في مطعم و 5 دولارات للنادل ، بإجمالي 30 دولارا (هذا هو ناتج معاملتك ، "جزءان" مختلفان من المال لشخصين مختلفين - المطعم والنادل).
فكيف تدفع؟ افترض أن لديك الكثير من الملاحظات في يدك (أي مدخلاتك):
لذلك ، عند إنشاء هذه الصفقة ، يمكنك استخدام 1 $ 20 ملاحظة و 2 $ 5 ملاحظات ، واحدة منها هي $ 5 ويتم إعطاء واحدة للنادل وحده:
! [دفع المطعم] (https://img-cdn.gateio.im/webp-social/moments-40baef27dd-4a2caad01b-dd1a6f-cd5cc0.webp)
لاحظ جانبا مهما ، وهو جانب غير مناسب بالنسبة لنا لرسم القياس النقدي: 20 دولارا و 5 دولارات هنا سوف * يندمجان * في قطعة واحدة. يبدو الأمر أشبه بصهر قطعتين من الذهب في قطعة أكبر بحيث يمكنك دفع المبلغ المطلوب بدلا من إعطاء شذرات ذهبية متعددة. يسمح لك Bitcoin بتقسيم ودمج المدخلات لإنتاج المخرجات التي نريدها.
يمكنك أيضا استخدام 2 10 دولارات و 2 دولار 5 ، مثل هذا:
! [دفع المطعم] (https://img-cdn.gateio.im/webp-social/moments-40baef27dd-0a70c8526f-dd1a6f-cd5cc0.webp)
أو حتى استخدم 6 أوراق مقابل 5 دولارات:
! [دفع المطعم] (https://img-cdn.gateio.im/webp-social/moments-40baef27dd-441fc7aa70-dd1a6f-cd5cc0.webp)
حتى ننفق أموالنا ، تسمى "ملاحظات" Bitcoin الفردية هذه "مخرجات المعاملات غير المنفقة (UTXOs)". يبدو الاسم غريبا ، ولكن إذا كنت تأخذ الوقت الكافي للتفكير في الأمر ، فستدرك أنه دقيق جدا - إنها "نتائج" (مخرجات) لبعض الصفقات ، ولم يتم إنفاقها بواسطة * معاملة أخرى * حتى الآن. ناتج المعاملة الذي لم يتم إنفاقه بعد هو الناتج الذي يمكنك إنفاقه. لذلك ، في الواقع ، UTXOs مثل النقود الورقية في محفظتك. بعد إنفاقها ، تصبح مدخلات المعاملة ، ثم إخراج معاملة أخرى (نقدا في محفظة شخص آخر) ، ولا يمكنك إنفاقها بعد الآن ، ومع ذلك ، فإن * سجل * الملاحظة التي أنفقتها يبقى على blockchain إلى الأبد.
على عكس النقد ، تتطلب معاملات Bitcoin إذن المرسل لتكون صالحة. يتم تحقيق ذلك من خلال التوقيع الرقمي للمرسل ، والذي يعمل أيضا كدليل على أنهم يعتزمون إنفاق الأموال. يجب تمثيل التوقيع الصحيح (أي التوقيع الذي يطابق عنوان UTXO) في إدخال المعاملة الذي يستخدم UTXO. وجود التوقيع "يفتح" UTXO هذا ويشير إلى أن مالك UTXO ينوي إنفاقه على مثل هذه المعاملة.
تظهر الصورة التالية معاملة حقيقية تم تأكيدها بواسطة blockchain 1 time في وقت كتابة هذا التقرير:
! [مثال على معاملة حقيقية مع 1 مدخلات وثلاثة مخرجات ، أحدها رسوم] (https://img-cdn.gateio.im/webp-social/moments-40baef27dd-c006e2488a-dd1a6f-cd5cc0.webp)
كما ترون ، أخذت المعاملة أعلاه مدخلات 1 وخلقت مخرجات 2 ، أحدهما يمثل الدفعة الحقيقية والآخر يكاد يكون من المؤكد أنه يتم إرساله مرة أخرى إلى المنفق كتغيير. الفرق بين المدخلات والمخرجات هو الرسوم ، والتي تذهب إلى عامل المنجم الذي قام بتعدين الكتلة التي أكدت المعاملة لأول مرة.
هذا "وضع UTXO" قوي جدا. نظرا لأن كل معاملة لها مدخلات ومخرجات ، ولأن ناتج معاملة واحدة يصبح مدخلات معاملة لاحقة أخرى ، ينتهي بنا الأمر بسلسلة من المعاملات التي يمكنها تتبع نقل ملكية Bitcoin. نظرا لأن المعروض من Bitcoin محدود ، وبسبب هذه الحقيقة التي لها خاصية "غير تضخمية" رئيسية ، فمن المهم أن تكون قادرا على مراجعة مقدار تداول Bitcoin (أو "غير المنفق") في أي وقت ، ويمكن استخدام نموذج UTXO في oc.
هذا هو أيضا مصدر مخاوف خصوصية Bitcoin. * كل معاملة لها تاريخها الخاص *. جميع عملات البيتكوين التي يتم تسليمها لك ، وأين ترسلها ، * سهلة التتبع. تم تصميم النظام بأكمله بشكل صريح لدعم هذه الميزة ، على الرغم من أنه لا ينوي تتبع الأفراد. في هذا النظام ، ورقة المساومة الحقيقية الوحيدة هي عدم ربط هويتك الحقيقية بمفتاحك العام ، وهو أمر صعب للغاية في عصر المراقبة الجماعية.
الأصول التاريخية ل Payjoin
خطأ ساتوشي ناكاموتو البسيط
عندما نشر ساتوشي ناكاموتو ورقة بيتكوين البيضاء في عام 2008، أدرك أن مخاوف الخصوصية جاءت من شرط أن تكون كل معاملة عامة، والتي تتعارض مع شرط الحفاظ على خصوصيتها.
وقدم اقتراحين لتجنب ربط الهويات الحقيقية بالمعاملات:
هذه كلها نصيحة جيدة ، ولكن من أجل 1) من الصعب ضمان أن هويتنا الحقيقية معزولة تماما عن مدفوعاتنا ، ما لم نكن حذرين للغاية عند إجراء المدفوعات عبر الإنترنت ؛ بالنسبة إلى 2) ، حتى إذا لم يتم إعادة استخدام المفتاح العام ، فليس من الصعب على المتعقب تحديد المفاتيح العامة التي تنتمي إلى أي شخص ، طالما يتم إنفاق الإخراج الناتج من مفاتيح متعددة معا في المدفوعات اللاحقة. هذه الاقتراحات ، حتى عند تجميعها ، يصعب تقديمها وحلول غير كاملة.
بعد هذه الاقتراحات ، ارتكب ساتوشي ناكاموتو خطأ صغيرا آخر من خلال المبالغة في ضعف نظامه:
تشير فرضية ساتوشي ، وجميع الأمثلة التي عرضناها حتى الآن ، إلى أن جميع المدخلات في المعاملة تنتمي إلى نفس المالك. بمعنى آخر ، تأتي جميع "الأوراق النقدية" التي يتم إنفاقها على المعاملة من محفظتك ، وهو افتراض معقول ، ولكنه ليس صحيحا بالضرورة *. تسمى هذه الفرضية "إدخال هوية أدلة الملكية". ينطبق ذلك تقريبا على أي معاملة ، وهو أيضا أساس مراقبة النشاط على السلسلة.
كوين جينت
في بداية عام 2013 ، لعب Gregory Maxwell لعبة مثيرة للاهتمام في منتديات bitcointalk.org حيث عرض UTXO خاص به (بقيمة 1 BTC) وعنوانه ، وسأل عما إذا كان بإمكان أي شخص إنشاء معاملة جديدة باستخدام UTXO هذا كمدخلات. إذا أرسل له منشئ مثل هذه المعاملة أقل من 1 BTC ، فإنه يأخذ بعض المال منه ، وإذا أرسل له أكثر من 1 BTC ، فإنه يمنحه بعض الأموال الإضافية ، ولكن إذا كان المبلغ المرسل إليه لا يزيد ولا يقل عن 1 BTC ، فهذا يعادل استخدام أمواله (وعنوانه) لمزيد من الخصوصية ، لأن الإدخال * يبدو * كما لو كان UXXO الخاص بمنشئ المعاملة ، لكنه ليس كذلك. عندما يتم إنفاق أحد مخرجات Maxwell وإرساله مرة أخرى إلى عنوانه ، فإنه يوفر UTXO آخر حتى يتمكن الآخرون من مواصلة اللعبة. من وجهة نظر شركة تحليلات نشاط blockchain ، فإن هذا من شأنه أن يجعلهم يعتقدون أن ماكسويل يبدو غنيا! نظرا لأن عناوينه عامة ، ويتم استخدام العديد من UTXOs لإنشاء معاملات تحتوي على تلك العناوين ، فإن أي محلل يحلل هذه المعاملات ويفترض أن جميع المدخلات في المعاملات تأتي من نفس الشخص سيفترض أن ماكسويل لديه العديد والعديد من عملات البيتكوين (أكثر مما يمتلكه بالفعل) ، ومن هنا جاء عنوان منشوره: "أنا غني حقا!"
بالطبع ، اللعبة ليست خاصة ، حيث نشر ماكسويل خطابه في منتدى عام ، لكنه يقدم مفهوما مهما للغاية يظهر إلى حيز الوجود. كما يقول ماكسويل:
في منشور متابعة في نفس العام ، قام مافويل رسميا بتقطير الفكرة إلى مفهوم أطلق عليه اسم "Coinjoin":
هذا يعني أنه ، في الواقع ، يمكن لأي عدد من الأشخاص التعاون لإنشاء معاملات ، كل منهم يقدم ويوقع مدخلاته الخاصة ، دون الحاجة إلى القلق بشأن سرقة أموال شخص آخر.
بعد ذلك ، قدم فائدة أخرى لمعاملات coinjoin ، وهي أنه يمكن معالجة المعاملات على دفعات ، وبالتالي توفير الرسوم: يمكنك العثور على أشخاص آخرين يرغبون أيضا في بدء المدفوعات عندما تريد الدفع ، وإنشاء المعاملات معا:
في النهاية ، conjoin هو بروتوكول يستخدمه عدد كاف من الأشخاص ، ويفوز الجميع ، ويحصل الجميع على مزايا الخصوصية منه:
لتقديم مثال ملموس ، لنفترض أننا وجدنا 3 أشخاص يرغبون في المشاركة في عملة معدنية. لقد وافقوا مسبقا على مزج 0.1 بيتكوين ، ويمكنهم الحصول على ميزة الخصوصية المتمثلة في إنتاج 3 مخرجات متساوية ، مما يجعل من المستحيل على الآخرين معرفة من جاء كل عنوان من العناوين الثلاثة. بالنسبة للمحلل ، لا تزال العلاقة بين عنوان التغيير والمدخلات واضحة للغاية ، ولكن ليس من الواضح من هو الناتج الناتج لهذه المبالغ الثلاثة المتساوية.
! [مثال على العملة] (https://img-cdn.gateio.im/webp-social/moments-40baef27dd-2603112d99-dd1a6f-cd5cc0.webp)
عندما يكون هناك 3 مشاركين فقط ، فإن ميزة الخصوصية ليست بالضرورة كبيرة ، خاصة وأن المشاركين الآخرين قد يقومون بإلغاء إخفاء هويتهم (الارتباط بهويتهم الحقيقية) في المعاملات اللاحقة ، ولكن يمكن تحسين ذلك عن طريق جولات متعددة من coinjoin أو باستخدام مجموعة إخفاء هوية أكبر.
للتلخيص ، * coinjoin هي معاملة تم إنشاؤها باستخدام مدخلات ومخرجات من أطراف متعددة ، بحيث يصعب على الآخرين تحديد المخرجات التي تنتمي إلى من*.
لإلقاء نظرة أكثر تعمقا على كيفية إنشاء معاملة Coinjoin والأدوات المتاحة ، راجع هذا الدليل.
Coinjoin هو واحد من حلول خصوصية Bitcoin الأكثر فعالية واعتمادا على نطاق واسع ، ولكن له أيضا بعض العيوب المهمة:
من الواضح ، بسبب هذه القيود ، أن CoinJoin ليس الحل النهائي لخصوصية Bitcoin ، خاصة للمستخدمين الأكثر سلبية الذين يريدون نظام خصوصية افتراضي.
بعد بضع سنوات ، ظهرت نتيجة أفضل ، نتيجة لا تتطلب من الأطراف المشاركة في المعاملة اتخاذ * أي * خطوات إضافية ، وكانت واضحة ، ولم تتطلب منسقا مركزيا أو سوقا (وبالتالي وفرت الوقت والمال) ، وبدت مثل المعاملة العادية: Payjoin.
يتكون Payjoin من سلسلة من الابتكارات السابقة ، دعنا نلقي نظرة.
الناتج المحلي الإجمالي-21
كان BIP-21 تحسينا مهما لتجربة المستخدم (UX) لعملة البيتكوين المبكرة. "BIP" هو اختصار ل "اقتراح ترقية Bitcoin" ويحتوي على مجموعة من المعايير التي تتطلب إما تغييرات بالإجماع على بروتوكول Bitcoin (على سبيل المثال ، عمليات الانقسام الصلب أو الناعمة) أو توفر معلومات وطرق مفيدة للتفاعل مع Bitcoin.
BIP-21 هو معيار يحدد استخدام عناوين URI ويبسط عملية التفاعل مع Bitcoin من خلال النقر على رابط أو مسح رمز الاستجابة السريعة لبدء الدفع. يتم أيضا تحديد عدد صغير من معلمات الاستعلام ، مثل المبلغ والعلامة والرسالة ، بحيث يمكن لبرنامج العميل جلبها وتحليلها بسهولة ، مما يوفر تجربة مستخدم أفضل. فيما يلي مثال على BIP-21 URI مع بعض المعلمات:
! [BIP-21 بسيط] (https://img-cdn.gateio.im/webp-social/moments-40baef27dd-16bce7b3b8-dd1a6f-cd5cc0.webp)
الأهم من ذلك ، هذا المعيار قابل للتوسيع ، ويمكنك إنشاء معلمات استعلام مخصصة ، ويمكن تطوير معايير جديدة فوقه. على سبيل المثال ، بالإضافة إلى عنوان Bitcoin الخاص بك ، يمكنك أيضا إضافة معلمة مخصصة تسمى lightning توفر لك طريقة لتلقي الأموال على شبكة Lightning ، بحيث يمكن للمستخدمين الدفع لك في كلتا الحالتين:
! [BIP-21 مع البرق] (https://img-cdn.gateio.im/webp-social/moments-40baef27dd-568740308b-dd1a6f-cd5cc0.webp)
أثبت BIP القوي والمرن أنه مفيد جدا عند دمج المفاهيم من coinjoin.
الدفع إلى نقطة النهاية (P2EP)
كانت أول وثيقة وجدتها تشير إلى مفهوم payjoin من Blocksteam ، نشرت في أغسطس 2018 ، نقلا عن ورشة عمل أدت إلى ظهور المفهوم. تسمي المقالة الفكرة النهائية "الدفع إلى نقطة النهاية" لأنها تجمع بين مفهوم coinjoin و BIP-21 ، مما يسمح لمرسل ومستقبل المعاملة بالعمل معا لتوفير مدخلات للمعاملة من خلال نقطة نهاية شبكة متوافقة مع BIP-21 يوفرها المستلم. الرسم التخطيطي التالي هو مثال على شكل نقطة النهاية التي يوفرها جهاز الاستقبال:
! [مثال P2EP] (https://img-cdn.gateio.im/webp-social/moments-40baef27dd-abd5791ea9-dd1a6f-cd5cc0.webp)
وتجدر الإشارة بشكل خاص إلى المعلمة p2ep ، وهي نقطة نهاية شبكة (في هذه الحالة عنوان .onion ، ولكن يمكن أن تكون أيضا عنوان http:// بسيط أو أي نقطة نهاية شبكة أخرى متوافقة) يمكنها إرسال إشارة إلى محفظة المستلم بأن المرسل على استعداد لمحاولة دفع P2EP. إذا لم تنجح دفعة P2EP ، فستعود المحفظة إلى المرسل وتطلب دفعة عادية إلى عنوان معين ، وتستخدم فقط إدخال المرسل.
نظرا لأن مساهمة المدخلات يتم تنسيقها من خلال P2EP ولا تنتج مخرجات متساوية "ملوثة" مثل coinjoin ، فإن تحديد معاملات payjoin أكثر صعوبة.
الفكرة هي خطوة كبيرة في الاتجاه الصحيح ، لكنها لا تزال في مهدها ، ولم يتم الانتهاء منها ، ويجب إزالة بعض التعقيد الإضافي.
خارج الموضوع: ساتوشي ناكاموتو الدفع إلى IP
تم تنفيذ شكل مختلف من هذه الفكرة ، يسمى "الدفع مقابل IP" ، بواسطة ساتوشي ناكاموتو في * الإصدار الأقدم * من برنامج Bitcoin. ومع ذلك ، فإن هذا النهج يشكل معضلة خصوصية كبيرة ، لذلك تم التخلي عنه في الإصدارات اللاحقة من برنامج Bitcoin.
بوسطباي
في وقت لاحق من نفس الشهر ، اقترح Ryan Haver نسخة محسنة من P2EP على القائمة البريدية لمطوري Bitcoin وقام بإضفاء الطابع الرسمي على BIP يسمى "Bustapay". يبسط هذا الإصدار بروتوكول P2EP الأصلي ، ومن أجل البساطة ويزيل بعض التعقيد ، يعتقد أن البساطة ضرورية للوصول في كل مكان.
لا يزال اقتراح Bustapay يحتوي على بعض المشكلات الرئيسية التي تحتاج إلى تنقيح ، والبروتوكول ليس كاملا كما ينبغي. لكنها خطوة أخرى في الاتجاه الصحيح ، وتركيزها على البساطة لتكامل المحفظة هو خطوة حاسمة ، خاصة بالنسبة للنظام البيئي البطيء والحذر لمطوري البيتكوين. على الرغم من أن Bustapay لم يتم الترويج له مطلقا ، إلا أنه كان آخر مقدمة لاقتراح payjoin اليوم - نحن مستعدون لتكامل المحفظة ، والتغييرات الإيجابية في المعاملات على السلسلة.
عرض Payjoin
أخيرا ، في منتصف عام 2019 ، تم تحسين مفاهيم Bustapay و P2EP وتعزيزها من قبل نيكولاس فورييه (مؤسس BTCPayServer) و Kukks لتشكيل BIP-78 ، بعنوان "اقتراح Payjoin بسيط".
مع فهم خلفية البروتوكول الذي أدى إلى payjoin ، فإن معنى وغرض الملخص في بداية هذا الاقتراح واضح:
يوفر الاقتراح معلومات أكثر صرامة من الطرق السابقة ، مما يشير إلى كيفية إنشاء معاملة coinjoin بين المرسل والمستقبل ، وكسر خيط هوية ملكية مدخلات المعاملة ، وهو بسيط ومرن وغير مكلف.
كيف يعمل Payjoin
لنفترض أن أليس تريد أن تدفع لبوب 1.1 BTC ، ثم ترى شركة مراقبة blockchain معاملة مثل هذه:
! [مثال على افتراض أن ملكية المدخلات المشتركة إرشادية] (https://img-cdn.gateio.im/webp-social/moments-40baef27dd-ca34b5b6d3-dd1a6f-cd5cc0.webp)
قد يعتقدون أن أليس دفعت لبوب 0.5 BTC ثم حولت بقية الأموال إلى نفسه كتغيير ، وهذا كل شيء:
! [تم استخدام مثال يفترض أن الإرشادية لملكية المدخلات المشتركة] (https://img-cdn.gateio.im/webp-social/moments-40baef27dd-28843c7745-dd1a6f-cd5cc0.webp)
وفي معظم الأحيان ، لا حرج في التفكير في ذلك! بعد كل شيء ، عادة ما يكون التغيير في فئات أكبر ، و 0.5 هو أكثر من "عدد صحيح" ومن المرجح أن يستخدم في المدفوعات (مقارنة ب 1.1).
قد يتساءلون أيضا عن سبب استخدام أليس لمدخلات لم تكن ضرورية (كل من 0.8 و 0.3 زائدة عن الحاجة) ، لكن لا يمكنهم أبدا التأكد من أن هذه ليست معاملة عادية ، ولا يمكنهم استنتاج سبب استخدام إدخال إضافي - ربما تقوم أليس فقط بتنظيم محفظتها حتى تتمكن من إدارتها لاحقا. هذا * ربما * يكون payjoin ، ولكن حتى لو كنت تعتقد ذلك ، أي UTXO هو أليس وأي هو بوب؟ لا توجد طريقة لمعرفة ذلك. نظرا لأن معظم المعاملات * ليست * payjoins ، فمن المرجح أن يعتقدوا خطأ أنها ليست معاملة payjoin.
ومع ذلك ، فإن أليس ذكية وتريد حماية خصوصيتها ، وهي تعرف عن payjoin ، لذلك تطلب من بوب تقديم مدخلات للمعاملة أيضا. وافق بوب ، لذلك أنشأ معاملة تكلف UTXO واحدا (أو أكثر) كمدخلات ، وأرسلها مرة أخرى إلى Alice. إذا لم يكن لدى الصفقة مشكلة مع أليس ، فستقوم ببثها على الشبكة. الصفقة في الواقع تسير على النحو التالي:
! [مثال على معاملة الانضمام إلى الدفع] (https://img-cdn.gateio.im/webp-social/moments-40baef27dd-ba3b4aec83-dd1a6f-cd5cc0.webp)
طالما أن مراقبي السلسلة يفترضون أن جميع المدخلات تأتي من أليس (كما في المثال الأول ، وهم يفعلون ذلك الآن) ، فسيكونون مخطئين إلى حد كبير بشأن المدخلات التي تنتمي إلى أليس وبوب!
ومن المثير للاهتمام أن كلا من أليس وبوب يقدمان مزايا الخصوصية للجميع. لأنه ، على عكس CoinJoin ، فإن هذه المعاملة تشبه إلى حد كبير المعاملة العادية ، وطالما أن عددا كافيا من الأشخاص يستخدمون PayJoin ، لا يمكن للمراقب تحديد المعاملات الطبيعية. في إحباط المراقبين ، تجعل أليس وبوب أيضا * كل معاملة * مشبوهة بعض الشيء. طالما أن عددا كافيا من الأشخاص يقومون بذلك ، ستصبح جميع المعاملات مشبوهة. غالبا ما تكون الخصوصية على السلسلة لعبة أرقام ، وكلما زاد عدد الأشخاص المشاركين ، ستكون الخصوصية أفضل للجميع.
في هذه الحالة ، تعاونت أليس وبوب لإنشاء معاملة باستخدام مدخلات كل منهما لحماية الخصوصية. بالطبع ، العملية برمتها مؤتمتة بشكل مثير للريبة (وفي الواقع * * مؤتمتة).
في BIP-78 ، يتم تعريف العملية برمتها بشكل رسمي على النحو التالي:
! [مثال PJ] (https://img-cdn.gateio.im/webp-social/moments-40baef27dd-d33ce79c42-dd1a6f-cd5cc0.webp) 2. يقوم المرسل بإنشاء PSBT مشكل وقابل للبث يتم إرساله إلى نقطة نهاية المستلم باستخدام مدخلاته الخاصة فقط والتي تكون كافية تماما للدفع. يسمى هذا PSBT "PSBT الأولي". 3. يقوم المستلم بتعديل PSBT لتضمين المدخلات الخاصة به ، ويوقع على مدخلاته الخاصة ، ويرسل PSBT المعدل مرة أخرى إلى المرسل. لا يقوم المستلم بتعديل أي من مدخلات أو مخرجات المرسل. يسمى PSBT هذا "عرض Payjoin". 4. يتحقق المرسل من صحة العرض ، ثم يعيد توقيع مدخلاته لإنهاء المعاملة بأكملها وبثها أخيرا إلى الشبكة.
بغض النظر عن مكان ارتكاب الخطأ في العملية ، مثل عدم امتلاك المستلم ل UTXO يمكن استخدامه لإنشاء اقتراح Payjoin ، فإن TA يحتاج فقط إلى بث PSBT الأولي ، وهي معاملة عادية. في حين أن جميع المدخلات في هذه المعاملة هي من نفس المالك ، وأن عددا كافيا فقط من الأشخاص يستخدمون payjoins ، لا يمكنك استنتاج أن كلا الطرفين * لا * payjoin ، وسيتعين على المراقب أن يفترض أن الجميع يدفعون ، ثم اكتشف طريقة أخرى لتتبع الدفع.
الفوائد العديدة ل Payjoin
تحطيم المزيد من أدلة المراقبة
افتراض هوية الملكية ليس هو الوحيد الذي يمكن كسره عن طريق payjoin الذي يؤثر على الخصوصية. يشير BIP-78 إلى دليلين آخرين يمكن استخدامهما لتحديد المالك:
في Bitcoin ، المفتاح العام للبرنامج النصي هو "برنامج القفل" الذي يحدد الشروط التي يمكن بموجبها إنفاق مبلغ من البيتكوين. يطلق عليه "المفتاح العام للبرنامج النصي" لأن شرط القفل يتطلب توقيعا صالحا يطابق مفتاحا عاما (عنوانا) لإلغاء قفله. بمعنى آخر ، يمكن فقط للشخص الذي يتحكم في المفتاح الخاص للمفتاح العام المرتبط ب UTXO إلغاء قفله.
هناك عدة أنواع من المفاتيح العامة للبرنامج النصي ، مثل: P2PKH و P2WPKH و P2SH و P2TR. بشكل عام ، تستخدم المحافظ نفس المفتاح العام للبرنامج النصي لجميع المعاملات ، وبالتالي فإن ناتج التغيير (الأموال المرسلة إلى المرسل من قبل المرسل لأنفسهم بالإضافة إلى المدفوعات والرسوم) سيستخدم على الأرجح نفس النوع من المفتاح العام للبرنامج النصي مثل إدخال المرسل ، ومن المرجح أن يستخدم الإخراج المرسل إلى المتلقي نوعا مختلفا. هذا يعني أنه يمكن تحديد UTXOs التي تستخدم نفس نوع البرنامج النصي في نفس المعاملة على أنها يحتمل أن تنتمي إلى المرسل ، أي على افتراض أن الإخراج المرسل إلى المستلم سيكون من نوع مختلف.
يحدد BIP-78 طريقة تسمح للمتلقي باستخدام نفس النوع فقط من المفتاح العام للبرنامج النصي مثل المرسل ، مما يؤدي إلى كسر مؤشر الترابط أعلاه الذي قد يعرض إخراج الدفع وإخراج التغيير.
عادة ، يرجى المنشعب ، ودفع صديق سيختار دائما عددا صحيحا ، لأن هذا سيكون أكثر طبيعية. إذا كان بوب سيفرض رسوما على أليس (ولم يكونوا يفرضون رسوما على البيتكوين بسعر فيات "أقرب إلى عدد صحيح") ، فمن المرجح أنه سيتقاضى مجموعة e مثل 0.0001 بدلا من رقم غير صحيح مثل 0.00010231. إذا كان أحد مخرجات المعاملة عددا صحيحا ، فمن المحتمل أن يكون هذا ناتجا للدفع ، والإخراج غير الصحيح هو ناتج تغيير (على الأقل في الوقت الحالي).
يصف Payjoin أيضا طريقة للمستقبل لكسر هذا الموضوع عن طريق إضافة إخراج عدد صحيح إضافي عند إنشاء اقتراح Payjoin.
يتم الحصول على فوائد غير متماثلة من خلال توحيد مجموعة أوسع
كما ذكرنا سابقا ، فإن أحد العيوب الرئيسية ل coinjoin من منظور الخصوصية هو أن 1) معاملات coinjoin يمكن تمييزها بسهولة عن المعاملات العادية ، و 2) قلة من الناس يقومون ب coinjoins على وجه التحديد ، وهذا ليس هو الحال مع المعاملات العادية. هذا يخلق مشكلة تجانس البيتكوين ، لأنه من المحتمل أن يعتقد بعض الناس أن الأموال المسكوكة ملوثة ، لأنه شخص لديه هذه الفكرة السخيفة بأن "السعي وراء الخصوصية يساوي الخبث". بالطبع ، إذا كانت * غالبية المعاملات * ، أو حتى نسبة معينة من المعاملات ، خاصة ، فإن معاملات البحث عن الخصوصية غير واضحة.
يبدو Payjoin مثل أي معاملة أخرى ، لذا فهو غير ملحوظ. ليس لدى المراقبين الخارجيين أي سبب للنظر في مثل هذه الصفقة أيضا ، لأنها لا تظهر نية للخلط بين الدفع وتغيير المخرجات.
نظرا لأنه يبدو وكأنه شيء آخر ، فحتى الفوائد الهامشية لتبني payjoin تعني أنه سيكون من الصعب انتهاك خصوصية الجميع ، حيث سرعان ما يصبح العملاء المتوقعون الخاضعون للمراقبة غير موثوقين. يلخص آدم جيبسون (أحد المساهمين المؤسسين في JoinMarket وخبير في خصوصية البيتكوين) الأمر بشكل جيد للغاية:
تشطيب UTXO
من الواضح أن كلا من PayJoin وروادها ملتزمون بمعالجة مخاوف الخصوصية. ولكن هناك جانب رائع لاستخدام payjoin ، ويوضح BIP-78: ترتيب UTXO.
اقترح ساتوشي ناكاموتو استخدام عنوان إكرامية لكل معاملة مستلمة ، مما أدى إلى وجود العديد من UTXOs لإدارتها في محفظة المستخدم. عندما يتم استخدام UTXOs هذه كمدخلات لإنشاء معاملة جديدة (على افتراض أنها ليست معاملة coinjoin أو payjoin) ، فإن مثل هذه المعاملة تكلف الكثير من الرسوم. نظرا لأنه يتم فرض الرسوم بناء على حجم المعاملة (عدد البايتات) (المقابلة لمساحة الكتلة التي تعد موردا نادرا) ، فإن المزيد من المدخلات يعادل معاملات أكبر والمزيد من الرسوم.
من المهم ملاحظة أن استخدام payjoin لفرز UTXO لا يوفر بالضرورة الرسوم ، حيث سيظل يتعين على كل UTXO يظهر على السلسلة دفع الرسوم. ومع ذلك ، فإنه يوزع هذه الرسوم على مدى فترة زمنية طويلة ويوفر الفرصة لتجميع UTXOs في وقت الدفع. ستجعل معالجة الدفعات تنظيم UTXOs أرخص (مما لو كان عليك بدء معاملة خصيصا لغرض الترتيب). كما أنه يسهل ربط UTXOs ويشغل مساحة أقل على محرك الأقراص الثابتة. بالإضافة إلى ذلك ، يمكن للمحافظ تنفيذ طريقة لأتمتة وتسهيل تنظيم UTXOs من خلال السماح للمستلمين بتحديد UTXOs التي يريدون تنظيمها مسبقا برسوم منخفضة.
شبكة البرق و Payjoin: مباراة مصنوعة في الطبيعة
استخدم Payjoin لفتح قناة البرق
شبكة لايتنينج (LN) هي حل من الطبقة 2 مبني على قمة البيتكوين يضع المعاملات خارج السلسلة لتسوية فورية منخفضة الرسوم ، وبالتالي زيادة إنتاجية المعاملات والخصوصية بشكل كبير والسماح للبيتكوين بإدخال حالات استخدام جديدة (مثل "المدفوعات الصغيرة"). يستخدم شبكة من قنوات الدفع بين العقد لتوجيه المدفوعات ، وإعادة توجيه الأموال من حيث نشأت إلى وجهاتها. تتطلب هذه القنوات من كل مشغل عقدة حبس بعض "السيولة" (bitcoins) مع الأطراف المقابلة للقناة ، والتي يمكن أن تتدفق بعد ذلك بين العقدة والأطراف المقابلة للقناة. مقدار البيتكوين الذي يمكنك إنفاقه في القناة محدود بمقدار السيولة الموجودة على جانبك من القناة.
عندما يتعلق الأمر بالحفاظ على عقدة Lightning ، فإن معظم التعقيد يأتي من فتح هذه القنوات وإدارة سيولة كل قناة. يعد إعداد المستخدمين الجدد أحد أكبر نقاط الألم نظرا لوجود العديد من الخطوات المتضمنة. لنفترض أن أليس تريد فتح قناة مع بوب ، وقد قامت بتثبيت عقدة Lightning جديدة ، لكنها لم يتم تمويلها بعد. ثم عليها القيام بما يلي:
على الأقل ، يتعين على أليس دفع الرسوم مرتين والانتظار حوالي 10 دقائق لكل معاملة ، وهو أمر ممل.
! [عملية فتح قناة البرق] (https://img-cdn.gateio.im/webp-social/moments-40baef27dd-1cabf5ff4a-dd1a6f-cd5cc0.webp)
Payjoin يبسط هذه العملية ويساعد أليس على توفير المال: يمكن لأليس تمويل محفظة Lightning وفتح القناة في معاملة واحدة.
في هذا السيناريو ، تقوم أليس بتكوين نقطة نهاية استلام الدفع الخاصة بها مسبقا بتفاصيل القناة التي تريد فتحها: عدد عملات البيتكوين التي يجب قفلها والخصم الذي ستفتح القناة. بعد ذلك ، باستخدام محفظة تدعم payjoin ، يمكن لشخص ما (بما في ذلك Alice) إرسال PSBT أولي إلى نقطة النهاية ، والتفاوض على معاملة payjoin ، وستقوم نقطة النهاية بإجراء استدعاءات API اللازمة لفتح قناة مع عقدة Bob.
بمعنى آخر ، يتواصل المرسل (في هذه الحالة ، أليس) مع أليس مع نقطة النهاية التي تتلقى الدفع ، وينشئ معاملة ، ويرسل الأموال مباشرة إلى إخراج بوب وأليس متعدد التواقيع 2 من 2 ، وبالتالي إنشاء قناة البرق بين العقدتين. هذا يحول العملية برمتها إلى معاملة:
! [قناة البرق مع Payjoin] (https://img-cdn.gateio.im/webp-social/moments-40baef27dd-4c65326146-dd1a6f-cd5cc0.webp)
الشيء المثير للاهتمام الذي يجب معرفته هو أن كلا من فتح قناة البرق و payjoin لهما متطلبات * مباشرة * (على الرغم من أن payjoin على الأقل لن يكون مطلوبا لفترة طويلة) ، مما يعني أنه يجب أن يكون جميع المشاركين متصلين بالإنترنت في وقت إجراء المعاملة. هذا مقيد للغاية مقارنة بمعاملات Bitcoin على السلسلة (والتي تتطلب فقط أن يكون الدافع متصلا بالإنترنت في لحظة الدفع). ومع ذلك ، فإن هذا يسمح أيضا لمجموعتي البروتوكولات بالتناسب معا بشكل مثالي.
على سبيل المثال ، تعد شبكة Lightning Network طريقة رائعة لتحسين الخصوصية عن طريق إبقاء المدفوعات خارج السلسلة ، ويمكن أن تحسن بشكل كبير من قدرة Bitcoin على استخدامها كوسيلة للتبادل (أي يمكن استخدامها بالفعل لشراء الضروريات اليومية) دون المساس بمخزن القيمة. ومع ذلك ، فإن الحاجة إلى فتح قناة على السلسلة تعني أيضا أن الأموال التي تستخدمها لفتح القناة ، وكذلك الأشخاص الذين يفتحون القناة معك ، ستترك أثرا على السلسلة. للأسباب التي ناقشناها بالفعل ، يمكن أن يربك payjoin ويدمر العديد من أدلة المتلصصين.
هذا أيضا يجعل الأمور أكثر بساطة ، حيث سيحتاج المستخدمون فقط إلى بدء معاملة واحدة بدلا من معاملتين ، ويصبحون أسرع لأنه يتعين عليهم فقط انتظار تأكيد معاملة واحدة ، وأرخص لأنهم يحتاجون فقط إلى دفع رسوم واحدة. في الواقع ، يسمح هذا النهج بفتح قنوات متعددة في وقت واحد. يمكنك إنشاء قائمة بالعقد التي ترغب في فتح القناة ، وتكوينها في نقطة نهاية استلام BIP-21 payjoin ، ثم تشغيلها كلها مرة واحدة وتلقائيا عند تلقي المدفوعات ، وتحتاج فقط إلى انتظار تأكيد واحد ورسوم دفع واحدة. مطلقا!
هناك بالفعل مشروع ينفذ هذه الفكرة يسمى "Nolooking" ، والذي يسمح لك بإدراج مجموعة من المفاتيح العامة ثم فتح قنوات Lightning متعددة في وقت واحد * على دفعات)! هذا يسمح لأليس بفتح قناة ليس فقط مع بوب ، ولكن أيضا مع بوب وكارول ودينا ، مع * معاملة واحدة فقط على السلسلة *! من المثير التفكير في: في المستقبل ، سيتم تمكين payjoin لمحافظ Lightning افتراضيا ، وتجربة المستخدم * الفعلية * هي أنك تختار فقط شريك قناتك ، وتبدأ معاملة Bitcoin واحدة ، وتكون قد انتهيت! كم هو مفاجئ ذلك؟
من السهل أن نتخيل أن هذا من شأنه أن يبسط اعتماد قنوات البرق الخاصة بالوصاية الذاتية. سيكون من المثير للاهتمام إذا كان برنامج محفظة Lightning يمكن أن يحتوي على زر "التشغيل السريع" حيث يقوم المستخدمون فقط بإدخال مقدار Bitcoin الذي يريدون قفله (أي مقدار السيولة التي يريدونها) ، وتعيين قيمة افتراضية لفتح عدد صغير من القنوات ذات الحجم المعقول ، والتضحية قليلا في التوجيه والرسوم. بالنسبة للمستخدمين المتقدمين ، ما عليك سوى توفير زر "أعرف ما أفعله".
نقاط الضعف
أي بروتوكول به نقاط ضعف ، و PayJoin ليس استثناء.
تكمن المشكلة الرئيسية في متطلبات الحيوية (الشبكات). في التنفيذ الحالي ، يجب أن يكون خادم الويب payjoin الخاص بالمستلم مؤمنا ماليا عند إنشاء المعاملة ، حيث يتفاوض المرسل والمستقبل على المعاملة النهائية (التي تتم برمجتها بالطبع). هذا يمكن أن يحد من اعتماد خوادم التاجر وكذلك عقد Lightning ، وهم الأشخاص الوحيدون الذين لديهم حافز للبقاء على الإنترنت. من وجهة نظر المستخدم ، سيكون من الأفضل إرسال المعاملة في أي وقت ، بغض النظر عما إذا كان خادم المستلم متصلا بالإنترنت أم لا.
نقطة ضعف أخرى أقل احتمالا ولكنها أكثر خطورة هي أنه إذا كان خادم payjoin (أي خادم المستلم) على خادم غير آمن ، فيمكن العبث بإخراج المتلقي أثناء التشغيل (قبل إعادته إلى المرسل) ، مما يؤدي إلى سرقة أموال تخص المستلم.
ومع ذلك ، كما سنقول بعد ذلك ، تم اقتراح حلول لحل هاتين المشكلتين.
أخيرا ، هناك نقطة ضعف أخرى في بروتوكول PayJoin وهي أنه يواجه عائقا أمام التبني ، حيث يتعين على المحافظ بذل جهود التطوير لدمجه. التحدي الخاص هو أن واجهة المستخدم المثالية يجب أن تكون payjoin افتراضيا. ستحاول كل من محفظة المرسل ومحفظة المستلم الدفع مباشرة ، دون الحاجة إلى فتحها من قبل المستخدم في إعدادات الخصوصية. أفضل خصوصية هي تنفيذ الخصوصية افتراضيا ، لأنه إذا طلبت من المستخدمين اتخاذ إجراء نشط ، فقد يتم تثبيطهم. لذلك ، لكي يتم اعتماد payjoin من قبل المستخدم العادي ، يجب أن تكون هناك تجربة سلسة لا يتعين عليهم النضال من أجل فهمها. يجب أن تكون المحفظة قيد التشغيل افتراضيا. ضع في اعتبارك أن البروتوكول يحتوي بالفعل على استجابة مضمنة لفشل payjoin: فهو يعود إلى معاملة منتظمة دون تدخل المستخدم اليدوي.
لا يلزم الانضمام إلى الدفع من جانب الخادم
قدم Dan Gould مسودة BIP للإصدار 2 من payjoins ، مما يسمح بإجراء payjoins في كل من السيناريوهات غير المتزامنة وبدون خادم. سيحل هذا الدفع بدون خادم مشكلة مطالبة المستلم بأن يكون متصلا بالإنترنت عند استلام الدفعة ، ومشكلات الأمان المرتبطة بها من جانب الخادم. نظرا لأن خادم مستلم payjoin الذي يعمل دائما يمكن أن يكون أكبر عائق أمام اعتماد المستخدم ل payjoin ، فإن تنفيذ BIP هذا يمكن أن يحقق فوائد كبيرة لاعتماد payjoin بالإضافة إلى خصوصية Bitcoin السلبية.
حالة اعتماد Payjoin
اعتبارا من نهاية عام 2023 ، لا يزال اعتماد PayJoin صغيرا نسبيا ، لكنه استمر في النمو منذ إنشائه في عام 2018. نظرا لأن payjoin متاح حاليا ولا يتطلب أي تغييرات في إجماع Bitcoin ، فإن العقبة الوحيدة هي كتابة برنامج المحفظة الذي يدعمه ، والأدوات لمساعدة المطورين تتحسن كل يوم. مجموعة Payjoin Dev Kit (PDK) هي تطبيق جديد لربط الدفع مع وحدات يمكن للمحافظ استخدامها لدمج payjoins. حتى أنه يتكون من أداة payjoin-cli التي يمكنك استخدام سطر الأوامر لإنشاء payjoin. هذه المكتبة مكتوبة بلغة Rust ، لكن الروابط التي تسمح للغات الأخرى باستخدامها قيد التطوير.
دعم المحفظة
يدعم BTCPayServer و JoinMarket بالفعل إرسال واستقبال المدفوعات ، على الرغم من أنها ليست الافتراضية. يدعم BlueWallet و Sparrow و Wasabi و BitMask الإرسال. حفنة من المحافظ الأخرى تدعمها من خلال مكون إضافي ، بما في ذلك Bitcoin Core. هناك أيضا علاقات عامة نشطة تحاول دمج payjoin في محفظة Mutiny Wallet. يتم سرد حالة التبني الحالية هنا.
Payjoin ومستقبل البيتكوين
وقد نقل عن آدم جيبسون بالفعل قوله إنه حتى لو تم إنشاء 5٪ فقط من المعاملات على السلسلة باستخدام payjoin، يمكن أن يكون لها تأثير كبير على خصوصية Bitcoin. نحتاج فقط إلى تجاوز عتبة كافية لشركة تحليلات لتفترض بثقة أنها تستطيع تفسير المعاملة بشكل صحيح. بمجرد كسر أساليبهم في التجسس علينا ، فإن القيود غير الحكيمة والتعسفية والخبيثة التي يفرضها أولئك الذين لا يفهمون فوائد خصوصية Bitcoin ولا يعتزمون حماية حقوقنا ستصبح غير ذات صلة.
وكما رأينا ، نظرا للإمكانيات العديدة التي ستجلبها PayJoin ، فهي ليست مجرد حل للخصوصية ، بل هي أيضا بروتوكول معاملات قابل للتطوير وتعاوني يسمح باستخدامات مثيرة للاهتمام مثل توفير الرسوم وقنوات البرق المتعددة لمعاملة واحدة وما إلى ذلك. الفوائد التي يمكن أن تجلبها إلى Bitcoin لا حدود لها ، ويمكن تحقيقها الآن دون تغيير Bitcoin نفسها.
فما ننتظر؟
نعم
إذا كنت ترغب في دعم PayJoin أو المساهمة فيه ، انضم إلى Discord أو تبرع لنا أو تعرف على payjoin.org.