Corda - blockchain open source għan-negozju

Corda huwa Ledger distribwit għall-ħażna, il-ġestjoni u s-sinkronizzazzjoni tal-obbligi finanzjarji bejn organizzazzjonijiet finanzjarji differenti.
Corda - blockchain open source għan-negozju
Corda għandha dokumentazzjoni pjuttost tajba b'lekċers bil-vidjo li jistgħu jinstabu hawn. Se nipprova niddeskrivi fil-qosor kif taħdem Corda ġewwa.

Ejja nħarsu lejn il-karatteristiċi ewlenin ta 'Corda u l-uniċità tagħha fost blockchains oħra:

  • Corda m'għandhiex il-munita kriptografika tagħha stess.
  • Corda ma tużax il-kunċett tal-minjieri u s-sistema Proof-of-Work.
  • It-trasferiment tad-dejta jseħħ biss bejn il-partijiet fit-tranżazzjoni/kuntratt. M'hemm l-ebda xandir globali għan-nodi kollha tan-netwerk.
  • M'hemm l-ebda kontrollur ċentrali li jamministra t-tranżazzjonijiet kollha.
  • Corda tappoġġja diversi mekkaniżmi ta' kunsens.
  • Il-kunsens jintlaħaq bejn il-parteċipanti fil-livell ta' ftehim/kuntratt individwali, u mhux fil-livell tas-sistema kollha.
  • Tranżazzjoni hija kkonfermata biss mill-parteċipanti relatati magħha.
  • Corda toffri konnessjoni diretta bejn il-lingwaġġ legali formali tal-bniedem u l-kodiċi tal-kuntratt intelliġenti.

Ir-reġistru

Il-kunċett ta' ktieb f'Corda huwa suġġettiv. M'hemm l-ebda repożitorju tad-dejta ċentrali uniku. Minflok, kull nodu jżomm database separata ta 'fatti magħrufa lilu.

Pereżempju, immaġina netwerk ta '5 nodi, fejn ċirku huwa fatt magħruf lin-nodu.

Corda - blockchain open source għan-negozju

Kif nistgħu naraw, Ed, Carl u Demi jafu dwar il-fatt 3, iżda Alice u Bob lanqas biss huma konxji minnu. Corda tiggarantixxi li l-fatti komuni huma maħżuna fid-database ta 'kull node, u d-data tkun identika.

Istati Membri

Istat huwa immutabbli oġġett li jirrappreżenta fatt magħruf minn nodu wieħed jew aktar tan-netwerk f'ċertu punt fiż-żmien.

L-Istati jistgħu jaħżnu data arbitrarja, pereżempju, stokks, bonds, self, informazzjoni ta' identifikazzjoni.

Pereżempju, l-istat li ġej jirrappreżenta IOU—ftehim li Alice għandha lil Bob ammont ta’ X:

Corda - blockchain open source għan-negozju
Iċ-ċiklu tal-ħajja ta 'fatt matul iż-żmien huwa rappreżentat minn sekwenza ta' stati. Meta jkun meħtieġ li taġġorna l-istat attwali, noħolqu wieħed ġdid u nimmarkaw dak attwali bħala storiku.

Corda - blockchain open source għan-negozju

Tranżazzjonijiet

It-tranżazzjonijiet huma proposti biex jiġi aġġornat ir-reġistru. Mhumiex imxandra lill-parteċipanti kollha tar-reġistru u huma disponibbli biss għal dawk il-parteċipanti tan-netwerk li għandhom id-dritt legali li jarawhom u jimmaniġġjawhom.

Tranżazzjoni tiġi miżjuda mar-reġistru jekk:

  • kuntrattwalment validi
  • iffirmat mill-parteċipanti kollha meħtieġa
  • ma fihx double-sends

Corda juża l-mudell UTXO (output ta 'tranżazzjoni mhux minfuqa), li fih kull stat tar-reġistru huwa immutabbli.

Meta tinħoloq transazzjoni, l-istat tal-output tat-tranżazzjoni preċedenti (bil-hash u l-indiċi) jiġi trasferit għall-input.

Corda - blockchain open source għan-negozju
Ċiklu tal-ħajja tat-tranżazzjoni:

  • Ħolqien (Fil-mument, it-tranżazzjoni hija biss proposta biex taġġorna r-reġistru)
  • Iġbor il-firem (Il-partijiet meħtieġa għat-tranżazzjoni japprovaw il-proposta tal-aġġornament billi jżidu firma mat-tranżazzjoni)
  • Kommetti tranżazzjoni mal-ktieb

Ladarba tranżazzjoni tiżdied mar-reġistru, l-istati tal-input huma mmarkati bħala storiċi u ma jistgħux jintużaw fi tranżazzjonijiet futuri.

Corda - blockchain open source għan-negozju
Minbarra l-istati ta’ input u output, tranżazzjoni jista’ jkun fiha:

  • Kmandi (parametru tat-tranżazzjoni li jindika l-iskop tat-tranżazzjoni)
  • Annessi (kalendarju tal-vaganzi, konvertitur tal-munita)
  • Twieqi ta' żmien (perjodu ta' validità)
  • Nutar (Nutar, parteċipanti speċjali tan-netwerk li jivvalidaw it-tranżazzjonijiet)

Corda - blockchain open source għan-negozju

Kuntratti

Meta nitkellmu dwar il-validità tat-tranżazzjoni, infisser mhux biss il-preżenza tal-firem meħtieġa, iżda wkoll il-validità kuntrattwali. Kull tranżazzjoni hija assoċjata ma 'kuntratt li jaċċettaha u jivvalida l-istati ta' input u output. Tranżazzjoni titqies valida biss jekk l-istati kollha tagħha huma validi.

Il-kuntratti f'Corda jinkitbu fi kwalunkwe lingwa JVM (pereżempju, Java, Kotlin).

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

Huwa meħtieġ li jiret minn klassi Kuntratt u jegħleb il-metodu jivverifika. Jekk it-tranżazzjoni tkun invalida, tintefa' eċċezzjoni.

Il-validazzjoni tat-tranżazzjoni trid tkun deterministika, i.e. il-kuntratt għandu dejjem jew jaċċetta jew jirrifjuta t-tranżazzjoni. B'rabta ma 'dan, il-validità tat-tranżazzjoni ma tistax tiddependi fuq il-ħin, numri każwali, fajls ospitanti, eċċ.

F'Corda, il-kuntratti huma esegwiti f'hekk imsejħa sandbox - JVM kemmxejn modifikata li tiggarantixxi eżekuzzjoni deterministika tal-kuntratti.

Flussi

Biex tiġi awtomatizzata l-komunikazzjoni bejn in-nodi tan-netwerk, ġew miżjuda ħjut.

Fluss huwa sekwenza ta' passi li tgħid lil nodu kif għandu jwettaq aġġornament tar-reġistru speċifiku u f'liema punt it-tranżazzjoni teħtieġ li tiġi ffirmata u vvalidata.

Corda - blockchain open source għan-negozju

Xi drabi tieħu sigħat, jiem sakemm it-tranżazzjoni tiġi ffirmata mill-partijiet kollha u tidħol fir-reġistru. X'jiġri jekk tiskonnettja node li qed tipparteċipa fi tranżazzjoni? Il-ħjut għandhom punti ta' kontroll, li fihom l-istat tal-ħajt jinkiteb fid-database tan-node. Meta node jiġi rrestawrat fin-netwerk, se jkompli fejn ħalla.

Kunsens

Biex tidħol fir-reġistru, tranżazzjoni trid tilħaq 2 kunsensi: validità u uniċità.

Id-deċiżjoni dwar il-validità ta’ tranżazzjoni ssir biss mill-partijiet involuti direttament fiha.

Nodi tan-nutar jivverifikaw it-tranżazzjoni għall-uniċità u jipprevjenu l-infiq doppju.

Ejja nimmaġinaw li Bob għandu $100 u jrid jittrasferixxi $80 lil Charlie u $70 lil Dan billi juża l-istess stat ta' input.

Corda - blockchain open source għan-negozju

Corda mhux se jippermettilek li tiġbed tali trick. Għalkemm it-tranżazzjoni tgħaddi mill-kontroll tal-validità, il-kontroll tal-uniċità se jfalli.

Konklużjoni

Il-pjattaforma Corda, żviluppata mill-konsorzju blockchain R3, mhix każ ta 'użu pur għat-teknoloġija blockchain. Corda hija għodda speċjalizzata ħafna għall-istituzzjonijiet finanzjarji.

Sors: www.habr.com

Żid kumment