ماذا يعني مفهوم مزج العملات الرقمية وما هي معاملة CoinJoins؟
يُشار إلى البيتكوين في كثير من الأحيان بالنقود الرقمية، لكن هذه المقارنة محل شك. إن دفعت أليس عشرة دولارات نقداً، فلن يعرف بوب مصدر النقود إطلاقاً. وإن أعطى هذا المال بعدها لكارول، فلن تعرف كارول أن النقود كانت في حيازة أليس قبل ذلك.
البيتكوين تختلف نظراً لطبيعتها العامة، فيمكن لأي شخص مراقبة تاريخ عملة معينة (أو على وجه الدقة، مخرجات المعاملات غير المنفقة UTXO) بسهولة. وهذا أشبه بكتابة مبلغ المعاملة وأسماء المشاركين فيها على النقود الورقية في كل مرة استعمال. وبالتالي تضمن الهويات المستعارة للعناوين العامة أن هويات المستخدمين لن تنكشف بسهولة.
لكن البيتكوين ليست عملة خاصة بالكامل، فطرق تحليل شبكات البلوكتشين تزداد تطوراً، ويمكنها تتبع العناوين ومعرفة الهويات بكفاءة متزايدة. وإلى جانب طرق المراقبة الأخرى، يمكن لكيان أو هيئة كشف هويات مستخدمي العملات الرقمية. ولمعالجة هذه المشكلة، نشأت بمرور الأعوام تقنيات لإخفاء الصلات بين المعاملات.
ما هو مزج العملات؟
يشير مزج العملات إلى أي نشاط يتضمن التعتيم على الأموال عن طريق تبديلها بأموال أخرى. لكن في مجال العملات الرقمية، مزج العملات يُشير إلى خدمة يقدمها طرف خارجي، وعادة ما تأخذ الجهات المقدمة للخدمة عملات المستخدمين (بالإضافة إلى رسوم ضئيلة)، وتعطيهم عملات لا صلة بينها وبين العملات المرسلة، وهذه الخدمات تُعرف أيضاً بخدمات البعثرة أو خدمات المزج.
وأمان هذه الخدمات المركزية ومجهولية هويتها يجعلها محل شك بالطبع. فلا يضمن المستخدمون أن أموالهم سترجع إليهم من خدمة المزج أو أن العملات المُعادة ليست فاسدة بطريقة أو بأخرى. ومن الجوانب الأخرى التي ينبغي وضعها في الاعتبار عند استعمال خدمات المزج هي أن عنوان IP وعناوين محافظ البيتكوين يمكن أن تسجلها أطراف خارجية. وفي نهاية المطاف، يتخلى المستخدمون عن سيطرتهم على عملات أملاً في أن تُعاد إليهم عملات لا يمكن اقتفاء أثرها.
وهناك طريقة أخرى يراها البعض أكثر إثارة للاهتمام، وهي معاملات CoinJoin، التي تخلق درجة كبيرة من الشك المعقول في مصدر العملات. بعبارة أخرى، بعد إجراء معاملة CoinJoin، لا يمكن الربط الأكيد بين مستخدم وبين معاملاته السابقة. وتوفر العديد من حلول CoinJoin بدائل لامركزية لخدمات المزج، فمع أنه قد يشارك منسق في العملية، لا يحتاج المستخدمون إلى التضحية بوصايتهم على عملاتهم.
ما هي CoinJoin؟
معاملات CoinJoin مقترح قدمه لأول مرة مطور البيتكوين جريجوري ماكسويل في 2013. في مجموعة المنشورات التي كتبها، يقدم ماكسويل نظرة عامة مختصرة عن تصميم هذه المعاملات، وكيف يمكن استعمالها في تحقيق مكاسب ضخمة للخصوصية دون تغيير البروتوكول.في جوهرها، تتضمن معاملة CoinJoin الجمع بين مدخلات من عدة مستخدمين في معاملة واحدة. وقبل أن نشرح كيف يحدث هذا (ولماذا)، فلنلق نظرة على بنية المعاملة العادية.
معاملات البيتكوين مكونة من مدخلات ومخرجات. حين يرغب المستخدم في إجراء معاملة، يأخذ مخرجات المعاملات غير المنفقة باعتبارها مدخلات، ويحدد المخرجات، ويضع توقيعه على المدخلات. ومن المهم ملاحظة أن كل من المدخلات يتم توقيعه بصفة مستقلة عن المدخلات الأخرى، ويمكن للمستخدمين وضع مخرجات متعددة (أي إرسال عملات إلى عناوين مختلفة).
وإن نظرنا إلى معاملة مكونة من أربع مدخلات (كل منها يساوي 0.2 BTC) ومخرجين (0.7 BTC و0.09 BTC)، فهناك بضع أمور يمكن أن نفترضها. أولها أننا نرى تنفيذ عملية دفع من نوع ما فالمُرسل يُرسل أحد هذه المخرجات إلى شخصٍ ما، ويعود الباقي إلى المُرسل. ولأنه استخدم أربع مدخلات، فإن المخرجات الأكبر مخصصة على الأرجح للمتلقي. لاحظ أن هناك 0.01 BTC مفقودة من المخرجات، وهذه هي الرسوم المعطاة للمعدن.
ومن الممكن أيضاً أن المُرسل أراد أن يكون مخرج كبير غير منفق من مخرجات صغيرة، لذا وضع مدخلات صغيرة ليحصل في النهاية على 0.7 BTC التي يريد إرسالها.
وهناك افتراض يمكن أن نخرج به بناءً على حقيقة أن كل مدخل يتم توقيعه بمعزل عن المدخلات الأخرى. فيمكن أن يشارك في هذه المعاملة أربع أطراف يوقعون المعاملات. وهنا يكمن المبدأ الذي يجعل معاملات CoinJoin فعالة.
كيف تعمل معاملات CoinJoin؟
الفكرة هي أن أطراف متعددة ستنسق مع بعضها لإنشاء معاملة، وكل طرف من الأطراف يقدم المدخلات والمخرجات المرغوب فيها. وعند جمع كل المدخلات، يستحيل التأكيد أي المخرجات يتبع أي مستخدم. انظر الشكل الآتي:
لدينا هنا أربعة مشاركين يرغبون في إخفاء الصلات بين معاملاتهم، ينسق هؤلاء المشاركون بين أنفسهم (أو عن طريق منسق) ويعلنوا المدخلات والمخرجات التي يرغبون فيها.
سيأخذ المنسق كل المعلومات ويصنع منها معاملة، وكل مشارك سيوقع عليها قبل إرسالها إلى الشبكة. وما إن يوقع المشاركون، لا يمكن تعديل المعاملة دون إبطالها. لذا لا يوجد احتمال لأن يهرب المنسق بالأموال. هذه المعاملة أشبه بصندوق أسود لمزج المعاملات. تذكر أنه يمكنك فعلياً تدمير مخرجات المعاملات غير المنفقة وإنشاء مخرجات جديدة. والرابط بين المخرجات القديمة والجديدة هو المعاملة نفسها، لكن لا يمكن التمييز بين المشاركين. أقصى ما يمكن فعله هو أن نقول أن أحد المشاركين أعطى مدخلاً في هذه المعاملة وربما يكون المالك الجديد لأحد المخرجات الناتجة.
لكن حتى هذا غير مضمون. فمن يمكنه أن يقول إن هناك أربعة مشاركين في المعاملة التي ذكرناها سابقاً؟ هل هو شخص واحد يرسل عملات إلى أربعة عناوين يملكها؟ أم شخصان يجريان عمليتي شراء منفصلتين وستعود 0.2 BTC إلى عنوان كل منهما؟ أم هم أربعة أشخاص يرسلون العملات إلى مشاركين آخرين، أو يعيدون العملات إلى أنفسهم؟ لا يمكن التأكد.
الخصوصية عن طريق الإنكار
إن حقيقة وجود معاملات CoinJoin كافية بحد ذاتها للتشكيك في الوسائل المستخدمة في تحليل المعاملات. يمكننا استنتاج أن معاملات CoinJoin قد أجريت في العديد من الحالات، لكن لا يمكن أن نعرف من مالكي المخرجات. ومع تزايد شعبيتها، لا يمكن افتراض أن كل المدخلات يملكها بالضرورة المستخدم نفسه، وهذه قفزة هائلة للخصوصية في منظومة العملات الرقمية.
في المثال السابق، قلنا إن المعاملة يمكن أن يكون مالك أحد مخرجاتها أي مشارك من بين المشاركين الأربعة، وهذا العدد يُعرف بمجموعة التعمية. وكلما زاد عدد الأشخاص في مجموعة التعمية، قل احتمال ربط معاملاتهم بالمالك الأصلي. ولحسن الحظ، تسهل التطبيقات الأخيرة لمعاملات CoinJoin على المستخدمين الدمج غير القائم على الثقة للمدخلات مع عشرات المستخدمين الآخرين، ما يوفر درجة عالية من قابلية الإنكار. ومؤخراً، تم تنفيذ معاملة شارك فيها 100 شخص بنجاح.