كوردا - blockchain مفتوحة المصدر للأعمال

Corda هو دفتر الأستاذ الموزع لتخزين وإدارة ومزامنة الالتزامات المالية بين مختلف المؤسسات المالية.

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

النظر في السمات الرئيسية لل Corda وتفرده بين غيرها من block Blockins:

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

دفتر الأستاذ


مفهوم دفتر الأستاذ في كوردا غير موضوعي. لا يوجد مستودع بيانات مركزي واحد. بدلاً من ذلك ، تحتفظ كل عقدة بقاعدة بيانات منفصلة عن الحقائق المعروفة لها.

على سبيل المثال ، تخيل شبكة من 5 نقاط ، حيث تكون الدائرة حقيقة معروفة للعقدة.



كما يمكننا أن نرى ، إد ، كارل وديمي يعرفون الحقيقة 3 ، وأليس وبوب حتى لا يشتبه به. تضمن Corda الحفاظ على الحقائق العامة في قاعدة البيانات لكل عقدة ، وستكون البيانات متطابقة.

الدول


الحالة عبارة عن كائن ثابت ، وهي حقيقة معروفة لأحد عقد الشبكة أو أكثر في نقطة زمنية معينة.

يمكن للدول تخزين البيانات التعسفية ، على سبيل المثال ، الأسهم والسندات والقروض ومعلومات تحديد الهوية.

على سبيل المثال ، الحالة التالية هي IOU - اتفاقية تدين بها Alice لمبلغ X:


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



المعاملات


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

ستتم إضافة معاملة إلى دفتر الأستاذ إذا:

  • العقد ساري المفعول
  • وقعت من قبل جميع المشاركين اللازمة
  • لا يحتوي على نفايات مزدوجة (إنفاق دوبلي)

يستخدم Corda نموذج UTXO (مخرجات المعاملة غير المنفقة) ، حيث تكون كل حالة دفتر الأستاذ غير قابلة للتغيير.

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


دورة حياة المعاملات:

  • إنشاء (في الوقت الحالي ، المعاملة مجرد اقتراح لترقية دفتر الأستاذ - أ)
  • مجموعة التوقيع (يوافق المشاركون المطلوبون في المعاملة على اقتراح التحديث بإضافة توقيع إلى المعاملة)
  • يحيل الالتزام في دفتر الأستاذ

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


بالإضافة إلى حالات المدخلات والمخرجات ، قد تحتوي المعاملة على:

  • أوامر (معلمة المعاملة تشير إلى الغرض من المعاملة)
  • المرفقات (تقويم العطلة ، محول العملات)
  • النوافذ المؤقتة (فترة الصلاحية)
  • كاتب العدل (كاتب العدل ، أعضاء الشبكة الخاصة ، التحقق من صحة المعاملات)


عقود


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

تتم كتابة العقود في Corda بأي لغة JVM (على سبيل المثال ، Java ، Kotlin).

class CommercialPaper : Contract { override fun verify(tx: LedgerTransaction) { TODO() } } 

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

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

في Corda ، يتم تنفيذ العقود في ما يسمى الصندوق الرمل ، JVM المعدل قليلاً والذي يضمن التنفيذ الحاسم للعقود.

تيارات


لأتمتة اتصال المضيفين ، تمت إضافة مؤشرات الترابط.

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



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

إجماع


للوصول إلى دفتر الأستاذ ، يجب أن تصل الصفقة إلى إجماعين: حول الصلاحية والتفرد.

يتم اتخاذ قرار بشأن صحة الصفقة فقط من قبل الأطراف المعنية مباشرة.

العقد موثقة التحقق من المعاملة للتفرد ، ومنع الإنفاق المزدوج.

لنفترض أن Bob لديه 100 دولار ، وهو يريد تحويل 80 دولارًا إلى Charlie و 70 دولارًا إلى Dan باستخدام نفس حالة الإدخال.



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

استنتاج


منصة كوردا ، التي طورها كونسورتيوم R3 blockchain ، ليست مثالًا خالصًا على استخدام تقنية blockchain. كوردا هي أداة متخصصة للغاية للمؤسسات المالية.

Source: https://habr.com/ru/post/ar452258/


All Articles