Corda-nın əsas xüsusiyyətlərinə və digər blokçeynlər arasında unikallığına baxaq:
- Cordanın öz kriptovalyutası yoxdur.
- Corda mədənçilik anlayışından və Proof-of-Work sistemindən istifadə etmir.
- Məlumat ötürülməsi yalnız əməliyyat/müqavilə tərəfləri arasında baş verir. Bütün şəbəkə qovşaqlarına qlobal yayım yoxdur.
- Bütün əməliyyatları idarə edən mərkəzi nəzarətçi yoxdur.
- Corda müxtəlif konsensus mexanizmlərini dəstəkləyir.
- İştirakçılar arasında konsensus bütün sistem səviyyəsində deyil, fərdi razılaşma/müqavilə səviyyəsində əldə edilir.
- Əməliyyat yalnız onunla əlaqəli iştirakçılar tərəfindən təsdiqlənir.
- Corda formal insan hüquqi dili ilə ağıllı müqavilə kodu arasında birbaşa əlaqə təklif edir.
Defter
Corda-da kitab dəftəri anlayışı subyektivdir. Vahid mərkəzi məlumat anbarı yoxdur. Bunun əvəzinə, hər bir node ona məlum olan faktların ayrıca məlumat bazasını saxlayır.
Məsələn, 5 qovşaqdan ibarət bir şəbəkə təsəvvür edin, burada dairə qovşaq üçün məlum olan faktdır.
Gördüyümüz kimi, Ed, Karl və Demi fakt 3 haqqında bilirlər, lakin Alice və Bob bundan xəbəri belə yoxdur. Corda ümumi faktların hər bir qovşağın verilənlər bazasında saxlanmasına və məlumatların eyni olacağına zəmanət verir.
Ştatlar
Dövlətdir dəyişməz müəyyən vaxtda bir və ya bir neçə şəbəkə qovşağına məlum olan faktı təmsil edən obyekt.
Dövlətlər ixtiyari məlumatları, məsələn, səhmlər, istiqrazlar, kreditlər, identifikasiya məlumatları saxlaya bilər.
Məsələn, aşağıdakı dövlət bir IOU-nu təmsil edir - Alicenin Boba X məbləğində borcu olduğuna dair razılaşma:
Zamanla faktın həyat dövrü vəziyyətlərin ardıcıllığı ilə təmsil olunur. Mövcud vəziyyəti yeniləmək lazım olduqda, biz yenisini yaradırıq və mövcud olanı tarixi olaraq qeyd edirik.
Əməliyyatlar
Əməliyyatlar kitabı yeniləmək üçün təkliflərdir. Onlar bütün kitab iştirakçıları üçün yayımlanmır və yalnız onlara baxmaq və idarə etmək üçün qanuni hüququ olan şəbəkə iştirakçıları üçün əlçatandır.
Aşağıdakı hallarda əməliyyat mühasibat kitabçasına əlavə olunacaq:
- müqavilə əsasında qüvvədədir
- tələb olunan bütün iştirakçılar tərəfindən imzalanır
- ikiqat xərcləri ehtiva etmir
Corda UTXO (xərclənməmiş tranzaksiya çıxışı) modelindən istifadə edir ki, burada hər bir mühasibat kitabı vəziyyəti dəyişməzdir.
Əməliyyat yaradıldıqda, əvvəlki əməliyyatın çıxış vəziyyəti (hesh və indekslə) girişə ötürülür.
Əməliyyatın həyat dövrü:
- Yaradılma (Hazırda əməliyyat yalnız mühasibat kitabını yeniləmək üçün bir təklifdir)
- İmzaların toplanması (sövdələşmədə tələb olunan tərəflər əməliyyata imza əlavə etməklə yeniləmə təklifini təsdiq edirlər)
- Əməliyyatı mühasibat kitabına daxil edin
Mühasibat kitabçasına əməliyyat əlavə edildikdən sonra daxilolma halları tarixi kimi qeyd olunur və gələcək əməliyyatlarda istifadə edilə bilməz.
Giriş və çıxış vəziyyətlərinə əlavə olaraq, əməliyyat aşağıdakıları ehtiva edə bilər:
- Əmrlər (əməliyyatın məqsədini göstərən əməliyyat parametri)
- Qoşmalar (bayram təqvimi, valyuta çeviricisi)
- Vaxt pəncərələri (etibar müddəti)
- Notarius (Notarius, əməliyyatları təsdiqləyən xüsusi şəbəkə iştirakçıları)
Müqavilələr
Əməliyyatın etibarlılığı haqqında danışarkən, biz yalnız zəruri imzaların mövcudluğunu deyil, həm də müqavilə qüvvəsini nəzərdə tuturuq. Hər bir əməliyyat onu qəbul edən və giriş və çıxış vəziyyətini təsdiqləyən müqavilə ilə əlaqələndirilir. Əməliyyat yalnız bütün dövlətləri etibarlı olduqda etibarlı sayılır.
Corda-da müqavilələr istənilən JVM dilində (məsələn, Java, Kotlin) yazılır.
class CommercialPaper : Contract {
override fun verify(tx: LedgerTransaction) {
TODO()
}
}
Bir sinifdən miras almaq lazımdır Müqavilə və metodu ləğv edin yoxlamaq. Tranzaksiya etibarsız olarsa, istisna atılacaq.
Əməliyyatın doğrulanması deterministik olmalıdır, yəni. müqavilə həmişə əməliyyatı qəbul etməli və ya rədd etməlidir. Bununla əlaqədar olaraq, əməliyyatın etibarlılığı vaxtdan, təsadüfi nömrələrdən, host fayllarından və s.
Corda-da müqavilələr sözdə sandbox-da icra olunur - müqavilələrin deterministik icrasına zəmanət verən bir qədər dəyişdirilmiş JVM.
Axınlar
Şəbəkə qovşaqları arasında əlaqəni avtomatlaşdırmaq üçün mövzular əlavə edildi.
Axın, qovşağın xüsusi kitab yeniləməsini necə yerinə yetirəcəyini və əməliyyatın hansı nöqtədə imzalanması və təsdiqlənməsi lazım olduğunu izah edən addımlar ardıcıllığıdır.
Bəzən əməliyyatın bütün tərəflər tərəfindən imzalanması və kitab dəftərinə daxil olması saatlar, günlər çəkir. Əməliyyatda iştirak edən qovşağı ayırsanız nə baş verir? Mövzuların nəzarət nöqtələri var ki, orada ipin vəziyyəti qovşağın verilənlər bazasına yazılır. Bir qovşaq şəbəkəyə bərpa edildikdə, o, qaldığı yerdən davam edəcək.
Konsensus
Kitaba daxil olmaq üçün əməliyyat 2 konsensusa çatmalıdır: etibarlılıq və unikallıq.
Əqdin etibarlılığı haqqında qərarı yalnız onunla bilavasitə iştirak edən tərəflər qəbul edirlər.
Notarius qovşaqları əməliyyatın unikallığını yoxlayır və ikiqat xərclərin qarşısını alır.
Təsəvvür edək ki, Bobun 100 dolları var və eyni giriş vəziyyətindən istifadə edərək Çarliyə 80 dollar, Dana isə 70 dollar köçürmək istəyir.
Corda belə bir hiylə qurmağa imkan verməyəcək. Əməliyyat etibarlılıq yoxlamasından keçsə də, unikallıq yoxlanışı uğursuz olacaq.
Nəticə
R3 blokçeyn konsorsiumu tərəfindən hazırlanmış Corda platforması blokçeyn texnologiyası üçün təmiz istifadə nümunəsi deyil. Corda maliyyə institutları üçün yüksək ixtisaslaşmış bir vasitədir.
Mənbə: www.habr.com