كونوس كوين

 

 CSC  Int. GmbH 

سويسرا

كونوس كوين

 

نظرة عامة

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

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

كونوس كوين ليس لديه سلطة مركزية أو وسطاء. لكنه تحت دعم دائم من قبل فريق فني لجعله مفيدا للغاية في المستقبل القريب.

 


المعاملات

نحدد عملة إلكترونية (كوين) كسلسلة للتوقيعات الرقمية. يقوم كل مالك بتحويل العملة إلى العملة التالية من خلال التوقيع رقمياً على المعاملة السابقة والمفتاح العمومي للمالك التالي وإلحاقها بنهاية العملة. يمكن لمستلم الدفع التحقق من التوقيعات للتحقق من سلسلة المالكين.

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

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

خادم الطابع الزمني

يبدأ الحل الذي اقترحناه بخادم ختم الوقت. يعمل خادم الطابع الزمني عن طريق تجزئة كتلة من السجلات المختومة بالوقت ونشر التجزئة على نطاق واسع، كما هو الحال في إحدى الصحف أو موقعUsenet post [2-5] . يثبت الطابع الزمني أن البيانات موجودة في هذه المرحلة، من الواضح، وإلا، لن يكون هناك أي تجزئة منها. يحتوي كل طابع زمني على الطابع الزمني السابق في تجزئته ويشكل سلسلة حيث يقوي كل طابع زمني إضافي الطوابع الزمنية السابقة.

دليل العمل

من أجل تنفيذ خادم طوابع توزيع موزعة نظير إلى نظير ، نحتاج إلى استخدام نظام إثبات العمل ، على غرار نظام آدم باك هاش [6] ، بدلاً من الصحف أو مشاركات يوزنت. يتضمن إثبات العمل العثور على قيمة حيث ، عندما يتم تجزئته ، مثل من خلال SHA-256 ، يبدأ التجزئة مع عدد صفر بت. متوسط ​​العمل المطلوب هو أسية لعدد البتات الصفرية المطلوبة ويمكن التحقق من تنفيذها بتجزئة واحدة. بالنسبة لشبكة طابع الوقت لدينا ، نقوم بتطبيق إثبات العمل من خلال رفع قيمة nonce في الكتلة حتى يتم العثور على قيمة تعطي تجزئة الكتلة البتات الصفرية الضرورية. بعد أن تضع وحدة المعالجة المركزية ما يكفي من العمل للقيام بإثبات العمل ، لا يمكن تغيير الكتلة دون إعادة تشغيل الوظيفة. وبما أن الكتل اللاحقة مقيد بها ، فإن العمل على استبدال الكتلة سيشمل إعادة إنشاء كل الكتل التالية. كما يحل دليل العمل مشكلة تحديد الأغلبية في أغلبية الأصوات. إذا كانت الأغلبية تستند إلى صوت واحد لكل عنوان IP ، يمكن اختراقه من قبل أي شخص يمكنه حجز العديد من عناوين IP. إثبات العمل هو صوت واحد لكل وحدة المعالجة المركزية. يتم تمثيل تصويت الأغلبية بأطول سلسلة يتم فيها استثمار أكبر جهد في إثبات العمل. إذا تم التحكم في غالبية وحدات المعالجة المركزية بواسطة عقد صادقة، فإن السلسلة المستقيمة ستنمو أسرع، وستعتمد جميع السلاسل المتنافسة. لتغيير كتلة سابقة، سيتعين على المهاجم إعادة إنشاء إثبات العمل الخاص بالكتلة بالإضافة إلى كل الكتل التالية، ثم اللحاق بالعقد الصادقة وتجاوزها. سنوضح لاحقًا أنه كلما زاد عدد الكتل التي تلت ذلك ، كلما كان المهاجم الأبطأ أقل قدرة على اللحاق بالركب ، كلما انخفض بشكل أكبر. للتعويض عن زيادة أداء الأجهزة والاهتمام المتغير بمرور الوقت في تشغيل عقدة العمل ، يتم تحديد صعوبة إثبات العمل بمتوسط ​​متحرك ، وهو متوسط ​​عدد الكتل في الساعة. إذا تم توليدها بسرعة كبيرة ، تزداد الصعوبة.

شبكة الاتصال

خطوات تشغيل الشبكة هي كما يلي:

يتم بث المعاملات الجديدة لجميع العقد.

تجمع كل عقدة المعاملات الجديدة في كتلة.

كل عقدة تعمل على العثور على دليل قاطع على العمل لكتلة.

عندما تعثر عقدة على العمل، فإنها ترسل الكتلة إلى جميع العقد.

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

تعبر العقد عن قبولها الكتلة من خلال العمل على إنشاء الكتلة التالية في السلسلة، باستخدام تجزئة الكتلة الحالية كتجزئة سابقة.

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