Corda - atvērtā koda blokķēde biznesam

Virve ir izplatÄ«ta virsgrāmata finanÅ”u saistÄ«bu glabāŔanai, pārvaldÄ«Å”anai un sinhronizÄ“Å”anai starp dažādām finanÅ”u organizācijām.
Corda - atvērtā koda blokķēde biznesam
Corda ir diezgan laba dokumentācija ar video lekcijām, kuras var atrast Å”eit. MēģināŔu Ä«si aprakstÄ«t, kā Corda darbojas iekŔā.

Apskatīsim Corda galvenās iezīmes un tās unikalitāti starp citām blokķēdēm:

  • Corda nav savas kriptovalÅ«tas.
  • Corda neizmanto ieguves jēdzienu un Proof-of-Work sistēmu.
  • Datu pārsÅ«tÄ«Å”ana notiek tikai starp darÄ«juma/lÄ«guma pusēm. Nav globālas apraides uz visiem tÄ«kla mezgliem.
  • Nav centrālā kontroliera, kas pārvaldÄ«tu visus darÄ«jumus.
  • Corda atbalsta dažādus vienprātÄ«bas mehānismus.
  • Konsenss starp dalÄ«bniekiem tiek panākts individuālas vienoÅ”anās/lÄ«guma lÄ«menÄ«, nevis visas sistēmas lÄ«menÄ«.
  • DarÄ«jumu apstiprina tikai ar to saistÄ«tie dalÄ«bnieki.
  • Corda piedāvā tieÅ”u saikni starp formālo cilvēku juridisko valodu un viedo lÄ«guma kodu.

Virsgrāmata

Virsgrāmatas jēdziens Corda ir subjektÄ«vs. Nav vienas centrālās datu repozitorija. Tā vietā katrs mezgls uztur atseviŔķu tam zināmo faktu datubāzi.

Piemēram, iedomājieties 5 mezglu tīklu, kur aplis ir mezglam zināms fakts.

Corda - atvērtā koda blokķēde biznesam

Kā redzam, Eds, Kārlis un Demija zina par 3. faktu, bet Alise un Bobs to pat neapzinās. Corda garantē, ka katra mezgla datu bāzē tiek glabāti kopīgi fakti un dati būs identiski.

Å tatos

Valsts ir nemainīgs objekts, kas attēlo faktu, kas ir zināms vienam vai vairākiem tīkla mezgliem noteiktā laika brīdī.

Valstis var uzglabāt patvaļīgus datus, piemēram, akcijas, obligācijas, aizdevumus, identifikācijas informāciju.

Piemēram, Ŕāds stāvoklis apzÄ«mē IOU ā€” vienoÅ”anos, ka Alise ir parādā Bobam X:

Corda - atvērtā koda blokķēde biznesam
Fakta dzÄ«ves ciklu laika gaitā attēlo stāvokļu secÄ«ba. Kad ir nepiecieÅ”ams atjaunināt paÅ”reizējo stāvokli, mēs izveidojam jaunu un atzÄ«mējam paÅ”reizējo kā vēsturisku.

Corda - atvērtā koda blokķēde biznesam

Darījumi

Darījumi ir priekŔlikumi atjaunināt virsgrāmatu. Tie netiek pārraidīti visiem virsgrāmatas dalībniekiem un ir pieejami tikai tiem tīkla dalībniekiem, kuriem ir likumīgas tiesības tos skatīt un pārvaldīt.

Darījums tiks pievienots virsgrāmatai, ja:

  • lÄ«gumā spēkā esoÅ”s
  • parakstÄ«juÅ”i visi nepiecieÅ”amie dalÄ«bnieki
  • nesatur dubultus tēriņus

Corda izmanto UTXO (neiztērētās transakcijas izvades) modeli, kurā katrs virsgrāmatas stāvoklis ir nemainīgs.

Kad transakcija ir izveidota, iepriekŔējā darÄ«juma izvades stāvoklis (pēc jaukÅ”anas un indeksa) tiek pārsÅ«tÄ«ts uz ievadi.

Corda - atvērtā koda blokķēde biznesam
Darījuma dzīves cikls:

  • IzveidoÅ”ana (Å”obrÄ«d darÄ«jums ir tikai priekÅ”likums atjaunināt virsgrāmatu)
  • Vāc parakstus (darÄ«juma obligātās puses apstiprina atjaunināŔanas priekÅ”likumu, pievienojot darÄ«jumam parakstu)
  • Apstiprināt darÄ«jumu virsgrāmatā

Kad transakcija ir pievienota virsgrāmatai, ievades stāvokļi tiek atzīmēti kā vēsturiski, un tos nevar izmantot turpmākajās transakcijās.

Corda - atvērtā koda blokķēde biznesam
Papildus ievades un izvades stāvokļiem darījums var ietvert:

  • Komandas (darÄ«juma parametrs, kas norāda darÄ«juma mērÄ·i)
  • Pielikumi (svētku kalendārs, valÅ«tas konvertētājs)
  • Laika logi (derÄ«guma termiņŔ)
  • Notārs (Notārs, speciāli tÄ«kla dalÄ«bnieki, kas apstiprina darÄ«jumus)

Corda - atvērtā koda blokķēde biznesam

LÄ«gumi

Runājot par darÄ«juma spēkā esamÄ«bu, mēs domājam ne tikai nepiecieÅ”amo parakstu esamÄ«bu, bet arÄ« lÄ«guma spēkā esamÄ«bu. Katrs darÄ«jums ir saistÄ«ts ar lÄ«gumu, kas to pieņem un apstiprina ievades un izvades stāvokļus. DarÄ«jums tiek uzskatÄ«ts par derÄ«gu tikai tad, ja ir spēkā visi tā stāvokļi.

Līgumi programmā Corda tiek rakstīti jebkurā JVM valodā (piemēram, Java, Kotlin).

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

Ir nepiecieÅ”ams mantot no klases LÄ«gums un ignorēt metodi pārbaudÄ«t. Ja darÄ«jums ir nederÄ«gs, tiks piemērots izņēmums.

DarÄ«juma validācijai jābÅ«t deterministiskai, t.i. lÄ«gumā vienmēr ir vai nu jāpieņem vai jānoraida darÄ«jums. SaistÄ«bā ar to darÄ«juma derÄ«gums nevar bÅ«t atkarÄ«gs no laika, nejauÅ”iem skaitļiem, resursdatora failiem utt.

Kordā lÄ«gumi tiek izpildÄ«ti tā sauktajā smilÅ”u kastē ā€“ nedaudz pārveidotā JVM, kas garantē deterministisku lÄ«gumu izpildi.

Straumes

Lai automatizētu saziņu starp tīkla mezgliem, tika pievienoti pavedieni.

PlÅ«sma ir darbÄ«bu secÄ«ba, kas norāda mezglam, kā veikt konkrētu virsgrāmatas atjaunināŔanu un kurā brÄ«dÄ« transakcija ir jāparaksta un jāapstiprina.

Corda - atvērtā koda blokķēde biznesam

Dažreiz paiet stundas, dienas, līdz darījumu paraksta visas puses un tas nokļūst virsgrāmatā. Kas notiek, ja atvienojat mezglu, kas piedalās darījumā? Pavedieniem ir kontrolpunkti, kuros pavediena stāvoklis tiek ierakstīts mezgla datu bāzē. Kad mezgls tiek atjaunots tīklā, tas turpinās tur, kur tas tika pārtraukts.

Vienprātība

Lai iekļūtu virsgrāmatā, darījumam ir jāsasniedz 2 vienprātības: derīgums un unikalitāte.

Lēmumu par darÄ«juma spēkā esamÄ«bu pieņem tikai tajā tieÅ”i iesaistÄ«tās puses.

Notāru mezgli pārbauda darÄ«juma unikalitāti un novērÅ” dubultu tēriņu.

Iedomāsimies, ka Bobam ir 100 ASV dolāri un viņŔ vēlas pārskaitÄ«t 80 ASV dolārus Čārlijam un 70 $ Danam, izmantojot to paÅ”u ievades stāvokli.

Corda - atvērtā koda blokķēde biznesam

Corda neļaus jums izvilkt Ŕādu triku. Lai gan darÄ«jums izturēs derÄ«guma pārbaudi, unikalitātes pārbaude neizdosies.

Secinājums

Corda platforma, ko izstrādājis R3 blokķēdes konsorcijs, nav tÄ«rs blokķēdes tehnoloÄ£ijas izmantoÅ”anas gadÄ«jums. Corda ir ļoti specializēts rÄ«ks finanÅ”u iestādēm.

Avots: www.habr.com

Pievieno komentāru