Corda - بلاک چین منبع باز برای تجارت

کوردا یک دفتر کل توزیع شده برای ذخیره، مدیریت و همگام سازی تعهدات مالی بین سازمان های مالی مختلف است.
Corda - بلاک چین منبع باز برای تجارت
کوردا اسناد بسیار خوبی با سخنرانی های ویدیویی دارد که می توان آنها را پیدا کرد اینجا. من سعی خواهم کرد به طور خلاصه نحوه عملکرد کوردا در داخل را شرح دهم.

بیایید به ویژگی های اصلی Corda و منحصر به فرد بودن آن در بین سایر بلاک چین ها نگاه کنیم:

  • کوردا ارز دیجیتال خود را ندارد.
  • کوردا از مفهوم استخراج و سیستم اثبات کار استفاده نمی کند.
  • انتقال داده فقط بین طرفین معامله/قرارداد صورت می گیرد. هیچ پخش جهانی برای همه گره های شبکه وجود ندارد.
  • هیچ کنترل کننده مرکزی برای مدیریت تمام تراکنش ها وجود ندارد.
  • Corda از مکانیسم های اجماع مختلف پشتیبانی می کند.
  • اجماع بین شرکت کنندگان در سطح یک توافق/قرارداد فردی و نه در سطح کل سیستم حاصل می شود.
  • تراکنش فقط توسط شرکت کنندگان مرتبط با آن تایید می شود.
  • Corda ارتباط مستقیمی بین زبان حقوقی رسمی انسانی و کد قرارداد هوشمند ارائه می دهد.

دفتر کل

مفهوم دفتر کل در کوردا ذهنی است. هیچ مخزن داده مرکزی واحدی وجود ندارد. در عوض، هر گره یک پایگاه داده مجزا از حقایق شناخته شده برای خود نگهداری می کند.

به عنوان مثال، شبکه ای از 5 گره را تصور کنید، جایی که یک دایره یک واقعیت شناخته شده برای گره است.

Corda - بلاک چین منبع باز برای تجارت

همانطور که می بینیم، اد، کارل و دمی در مورد واقعیت 3 می دانند، اما آلیس و باب حتی از آن آگاه نیستند. Corda تضمین می کند که حقایق مشترک در پایگاه داده هر گره ذخیره می شود و داده ها یکسان خواهند بود.

ایالت ها

ایالت است تغییرناپذیر یک شی که نشان دهنده یک واقعیت شناخته شده برای یک یا چند گره شبکه در یک نقطه زمانی خاص است.

کشورها می توانند داده های دلخواه مانند سهام، اوراق قرضه، وام، اطلاعات شناسایی را ذخیره کنند.

به عنوان مثال، حالت زیر نشان دهنده یک IOU است - توافقی که آلیس به باب مقدار X بدهکار است:

Corda - بلاک چین منبع باز برای تجارت
چرخه زندگی یک واقعیت در طول زمان با توالی از حالت ها نشان داده می شود. هنگامی که نیاز به به روز رسانی وضعیت فعلی است، یک وضعیت جدید ایجاد می کنیم و وضعیت فعلی را به عنوان تاریخی علامت گذاری می کنیم.

Corda - بلاک چین منبع باز برای تجارت

معاملات

تراکنش ها پیشنهادهایی برای به روز رسانی دفتر کل هستند. آنها برای همه شرکت کنندگان دفتر کل پخش نمی شوند و فقط برای آن دسته از شرکت کنندگان شبکه که حق قانونی مشاهده و مدیریت آنها را دارند در دسترس هستند.

تراکنش در صورتی به دفتر کل اضافه می شود که:

  • دارای اعتبار قراردادی
  • امضا شده توسط همه شرکت کنندگان مورد نیاز
  • شامل هزینه های مضاعف نمی شود

کوردا از مدل UTXO (خروجی تراکنش خرج نشده) استفاده می کند که در آن هر حالت دفتر کل غیرقابل تغییر است.

هنگامی که یک تراکنش ایجاد می شود، وضعیت خروجی تراکنش قبلی (با هش و شاخص) به ورودی منتقل می شود.

Corda - بلاک چین منبع باز برای تجارت
چرخه عمر معامله:

  • ایجاد (در حال حاضر، معامله فقط یک پیشنهاد برای به روز رسانی دفتر کل است)
  • جمع آوری امضا (طرفین مورد نیاز معامله، پیشنهاد به روز رسانی را با افزودن یک امضا به تراکنش تایید می کنند)
  • تعهد معامله به دفتر کل

هنگامی که یک تراکنش به دفتر کل اضافه می‌شود، وضعیت‌های ورودی به‌عنوان تاریخی علامت‌گذاری می‌شوند و نمی‌توانند در تراکنش‌های آینده استفاده شوند.

Corda - بلاک چین منبع باز برای تجارت
علاوه بر حالت های ورودی و خروجی، یک تراکنش ممکن است شامل موارد زیر باشد:

  • دستورات (پارامتر تراکنش که هدف تراکنش را نشان می دهد)
  • پیوست ها (تقویم تعطیلات، مبدل ارز)
  • پنجره های زمانی (دوره اعتبار)
  • دفتر اسناد رسمی (دفتر اسناد رسمی، شرکت کنندگان ویژه شبکه که تراکنش ها را تأیید می کنند)

Corda - بلاک چین منبع باز برای تجارت

قراردادها

وقتی از اعتبار معامله صحبت می کنیم، نه تنها وجود امضاهای لازم، بلکه اعتبار قراردادی نیز مد نظر است. هر تراکنش با قراردادی همراه است که آن را می پذیرد و حالت های ورودی و خروجی را تأیید می کند. تراکنش تنها در صورتی معتبر تلقی می شود که تمام حالات آن معتبر باشد.

قراردادها در Corda به هر زبان JVM (به عنوان مثال جاوا، کاتلین) نوشته می شوند.

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

ارث بردن از یک کلاس ضروری است قرارداد و روش را لغو کنید بررسی. اگر معامله نامعتبر باشد، یک استثنا ایجاد می شود.

اعتبار تراکنش باید قطعی باشد، به عنوان مثال. قرارداد همیشه باید معامله را بپذیرد یا رد کند. در ارتباط با این، اعتبار تراکنش نمی تواند به زمان، اعداد تصادفی، فایل های میزبان و غیره بستگی داشته باشد.

در کوردا، قراردادها در یک جعبه ایمنی به اصطلاح اجرا می شوند - JVM کمی تغییر یافته که اجرای قطعی قراردادها را تضمین می کند.

جریانها

برای خودکار کردن ارتباط بین گره های شبکه، رشته ها اضافه شدند.

یک جریان دنباله ای از مراحل است که به یک گره می گوید چگونه یک به روز رسانی دفتر کل را انجام دهد و در چه نقطه ای تراکنش باید امضا و تایید شود.

Corda - بلاک چین منبع باز برای تجارت

گاهی اوقات ساعت ها، روزها طول می کشد تا معامله توسط همه طرفین امضا شود و وارد دفتر شود. اگر یک گره شرکت کننده در تراکنش را قطع کنید چه اتفاقی می افتد؟ Thread ها دارای چک پوینت هایی هستند که در آن ها وضعیت نخ در پایگاه داده گره نوشته می شود. هنگامی که یک گره به شبکه بازیابی می شود، از همان جایی که متوقف شده است، ادامه می یابد.

اجماع، وفاق

برای ورود به دفتر کل، یک تراکنش باید به دو اجماع برسد: اعتبار و منحصر به فرد.

تصمیم در مورد اعتبار یک معامله فقط توسط طرفینی که مستقیماً در آن دخیل هستند اتخاذ می شود.

گره های دفتر اسناد رسمی معامله را از نظر منحصر به فرد بودن بررسی می کنند و از هزینه مضاعف جلوگیری می کنند.

بیایید تصور کنیم که باب 100 دلار دارد و می خواهد 80 دلار را به چارلی و 70 دلار را به دان با استفاده از همان حالت ورودی منتقل کند.

Corda - بلاک چین منبع باز برای تجارت

کوردا به شما اجازه نمی دهد چنین ترفندی را انجام دهید. اگرچه تراکنش از بررسی اعتبار عبور می کند، بررسی منحصر به فرد با شکست مواجه می شود.

نتیجه

پلتفرم Corda که توسط کنسرسیوم بلاک چین R3 توسعه یافته است، یک مورد استفاده خالص برای فناوری بلاک چین نیست. Corda یک ابزار بسیار تخصصی برای موسسات مالی است.

منبع: www.habr.com

اضافه کردن نظر