Sign in

نظرة عامة على CoinJoin

نبذة

معاملات البيتكوين تكون عامة بطبيعتها ؛ حيث يقومون بتعيين المدخلات (غير المنفقة utxo’s) إلى النواتج (الجديد التى لم يتم إنفاقها utxo’s )

بطريقة ما هذا قابل للتدقيق من قبل أي شخص مع الوصول إلى البيتكوين (تاريخ المعاملات).

ومع ذلك ، فإن تفسير هذه المعاملات و Blockchain هو مهمة غير تافهة لأن معاملة بيتكوين لا تعادل مدفوعاتها.

المشكلة

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

تتخصص بعض الشركات في هذا النوع من التحليل لبلوك تشين البيتكوين وتُعرف باسم شركات “تحليل السلسلة”. بعض الأمثلة المعروفة هي Chainalysis & Crystal.

تدعي هذه الشركات أن الغرض من هذا التجميع هو “اكتشاف الاحتيال” أو “تحديد المجرمين”.

على الرغم من بذلهم قصارى جهدهم ، فمن المحتمل جدًا أنهم سوف يخطئون في مرحلة ما في التعرف على مالك أداة utxo مما يؤدي إلى إدانة خاطئة لأن تطبيق القانون يثق بشكل أعمى في هذه الأنظمة.

بالتناوب ، يمكن أن يتم التجميع بسهولة من قبل الخصوم الأشرار الذين يرغبون في تحديد هوية الأشخاص لاستهدافهم للحصول على فدية أو ابتزاز.

قد يقوم المجرمون فى المستقبل بإنشاء معاملات عمدًا من أجل خداع شركات تحليل السلسلة لإساءة التعرف على المستخدمين ، مما يسمح لهم بالتهرب من الكشف أو إلقاء اللوم على شخص بريء (بعد كل شيء ، من يواصل البحث عن أدلة بعد القبض على المجرم؟) لن يدرك المستخدم الذي تم تجميع معاملات utxo الخاصة به أن هذا قد حدث وبمجرد إجراء المعاملات ، من المستحيل محو المسار على blockchain.

الحل

لحسن الحظ ، شرح جريج ماكسويل طريقة مبتكرة للتعتيم على الروابط الموجودة على السلسلة بين أجهزة utxo في عام 2013 — أطلق عليها اسم CoinJoin.

الفكرة الأساسية هي أن المعاملة يتم إنشاؤها باستخدام مدخلات من عدة مستخدمين.

تم إنشاء المعاملة بحيث لا يمكن لشخص ما تحليل blockchain لتحديد أي ناتج ينتمي إلى أي مستخدم.

دعونا نلقي نظرة على مثال عملي ؛

أليس وبوب وتشارلي هم ثلاثة من مستخدمي البيتكوين الفرديين الذين يتطلعون إلى ذلك

انضم إلى أدوات utxo الخاصة بهم

المدخل 1: أداة Alice’s 0.1 BTC utxo من البورصة.

المدخل 2: أداة Bob’s 0.1 BTC utxo من بيع بطاقة بيسبول إلى رجل عبر الإنترنت.

المدخل 3: عملة Charlie’s 0.1 BTC utxo التي يريد أن يعطيها يومًا لابنته الرضيعة.

معلومات أساسية عن سبب رغبة كل مشارك في الاختلاط: لا تريد أليس أن يراقب التبادل إنفاقها.

تأخذ معاملة CoinJoin هذه المدخلات الثلاثة وتبني معاملة تنشئ 3 مخرجات جديدة

المدخلات 1: 0.1 BTC (Alice) المخرجات 1: 0.1 BTC

المدخلات 2: 0.1 BTC (Bob) -> المخرجات2: 0.1 BTC

المدخلات 3: 0.1 BTC (Charlie) المخرجات 3: 0.1 BTC

لا يمكن لشخص يقوم بتحليل هذه المعاملة أن يحدد المخرجات التي يمتلكها أي مستخدم.

التفاصيل

تعمل عملية CoinJoin الموضحة أعلاه على تعتيم الروابط الموجودة على السلسلة.

هذه بداية — ولكن كما هو الحال مع أشياء كثيرة ، فإن الشيطان يكمن في التفاصيل.

دعنا نقسم عملية المشاركة في CoinJoin إلى 3 مراحل.

المرحلة 1 | المزيج المسبق: كيف تضع المدخلات في CoinJoin بطريقة تحافظ على الخصوصية

المرحلة 2 | مزيج: كيف يحدث CoinJoin بطريقة تحافظ على الخصوصية

المرحلة 3 | بعد المزج: كيف تستخدم مخرجات CoinJoin بطريقة تحافظ على الخصوصية

المرحلة 1 | خلط مسبق

سأضيف معلومات حول المرحلة الأولى في المستقبل القريب.

المرحلة 2 | مزج

كيف يحدث CoinJoin نفسه بطريقة تحافظ على الخصوصية.

يتعين على شخص ما تنسيق إنشاء معاملة CoinJoin ، مما يتيح العمل من خلال أساليب التنسيق الممكنة.

سننتهي بالنتيجة التالية:

الطريقة الأولى

(تحذير — ** لا تفعل هذا **)

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

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

مع هذا النهج ، هناك خطر واضح وقائم من فقدان الخصوصية وفقدان البيتكوين.

الطريقة الثانية أ

سيكون التحسين التدريجي هو قيام عضو واحد في المجموعة بجمع المعلومات المطلوبة من كل مستخدم وإنشاء معاملة يقوم كل مستخدم بعد ذلك بالتوقيع عليها بشكل فردي.

مع هذا النهج ، هناك خطر واضح وقائم بفقدان الخصوصية.

ومع ذلك ، فإن فائدة هذا النهج هي أنه لا يتطلب من المستخدمين المخاطرة بفقدان البيتكوين.

هذا لا يعني أنه من المستحيل أن تستخدم أداة CoinJoin هذا الأسلوب لسرقة / فقدان البيتكوين ، بل أن هذا النهج يجعل من الممكن تصميم أداة CoinJoin بطريقة تقضي على مخاطر فقدان البيتكوين.

الطريقة الثانية ب

الاتجاه الآخر لتحسين هذا المخطط هو ، إذا كان ممثل التنسيق المركزي يعرف رسم الخرائط ، بدلاً من الأطراف المعنية.

هذا له نفس مخاطر الخصوصية / فقدان البيتكوين مثل الطريقة الثانية أ.

الطريقة الثالثة

من الواضح أنه من الأفضل أن تتمكن أليس وبوب وتشارلي من تنسيق إنشاء معاملة دون الحاجة إلى الوثوق بأي شخص سواء فيما يتعلق بخصوصياته أو عملة البيتكوين الخاصة به.

يمكن تحقيق التنسيق الخاص باستخدام التوقيعات المخفية لإنشاء المعاملة بطريقة تجعل كل مشارك ؛ يحتفظ بالسيطرة الكاملة على عملات البيتكوين الخاصة به في جميع الأوقات بحيث يكون هو الفرد الوحيد الذي يعرف أي ناتج ينتمي إليه

لن أخوض في التفاصيل هنا (على الأقل ليس الآن) ولكن يكفي أن أقول إن هذا ممكن وأفضل بكثير من نهج الطريقة الأولى أو الثانية.

مرة أخرى ، هذا لا يعني أنه من المستحيل أن تستخدم أداة CoinJoin هذا النهج لسرقة / فقدان البيتكوين / التعرض لمخاطر الخصوصية ، بل أن هذا النهج يجعل من الممكن تصميم أداة CoinJoin بطريقة تقضي على المخاطر فقدان الخصوصية / فقدان البيتكوين.

**ملاحظة مهمة**

الطريقة الثالثة تجعل من الممكن تنسيق CoinJoin بدون أن يفقد المستخدم أي خصوصية. ومع ذلك ، فهذه مجرد مرحلة واحدة من العملية ، وبالتالي لا تضمن أن تكون عملية CoinJoin بأكملها خاصة.

بعبارة أخرى ، الطريقة الثالثة مطلوبة للخصوصية الكاملة للشبكة ، ولكنها ليست كافية.

المرحلة 3 | بعد المزج

سأضيف معلومات حول المرحلة 3 في المستقبل القريب.

التطبيق

كانت هناك العديد من المشاريع التي حاولت أن تجعل من الممكن للمستخدمين أن يستخدموا CoinJoin utxos الخاصة بهم ، منهم الثلاثة الفعالين حاليًا هي:

سأحاول تقديم شرح موجز لكل أداة.

JoinMarket

المبدأ الأساسي لـ JoinMarket هو أن الأسواق وسيلة فعالة لتحفيز المستخدمين على استخدام CoinJoin.

المرحلة 1 | مزيج مسبق: اتصالات Blockchain تتم عبر Bitcoin Core واختيارياً عبر Tor

المرحلة 2 | مزج : الطريقة الثانية / أ

المرحلة 3 | مزيج آخر: بيتكوين كور

يصف Wiki هذا ببلاغة:

هذه ليست مشكلة برمجية أو تقنية ولكنها مشكلة اقتصادية.

يعمل JoinMarket من خلال إنشاء نوع جديد من السوق يخصص هذه الموارد بأفضل طريقة.

يعمل هذا عن طريق السماح بدفع معاملات coinjoin . من ناحية ، هناك شركاء عملات أثرياء يقومون بجمع الرسوم عندما ينشئ أقران آخرون معهم عملات معدنية ، يُطلق عليهم صانعو السوق. على الجانب الآخر ، هناك شركاء عملات مرهقون بالوقت يمكنهم استخدام العملات على الفور ودفع رسوم، يعرفون بأسم آخذي السوق.

ببساطة ، إن JoinMarket يجعل من الممكن للأفراد أن يدفعوا لأفراد آخرين للاختلاط بهم. و لأن هذا سوق حر ، هناك رسوم تنافسية.

أنا لم أخصص وقتًا كافيًا لتشغيل JoinMarket — الوثائق دقيقة ولكنها متضمنة إلى حد ما. سأقدم مراجعة / مقارنة أكثر تفصيلاً بمجرد أن اختبر البرنامج بنفسي

في غضون ذلك ، أشجعك على تجربتها أيضًا.

Wasabi

يتكون Wasabi من محفظة تسمح لك بتلقي البيتكوين ، ومزجها اختياريًا ، ثم إرسال البيتكوين.

ملاحظة على BIP 158

من Wasabi Docs

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

لكل كتلة تنزيل ، ينشئ Wasabi هوية tor جديدة وفريدة من نوعها ، مما يعني أنه ليس من السهل ربط أنه هو نفس الكيان الذي يقوم بتنزيل كل هذه الكتل.

ملاحظة: BIP 158 ليست جيدة مثل تشغيل العقدة الخاصة بك.

Whirlpool

Whirlpool هي أداة خلط تعمل على توسيع وظائف تطبيق Samourai Wallet (SW) لنظام Android لتشمل إمكانات CoinJoin.

ملاحظة حول استخدام عقدة خاصة أو عقدة مطوري برامج SW ما لم تتصل بالعقدة الخاصة بك ، فأنت تثق في أن مطوري البرامج لن يقوموا بتسجيل الدخول (سأقوم بشرح هذا بتفصيل في المستقبل القريب)