Corda - kode irekiko bloke-katea negozioetarako

soka finantza-erakunde ezberdinen arteko finantza-betebeharrak gordetzeko, kudeatzeko eta sinkronizatzeko liburu-liburu banatua da.
Corda - kode irekiko bloke-katea negozioetarako
Cordak dokumentazio nahiko ona du aurki daitezkeen bideo hitzaldiekin Hemen. Cordak barruan nola funtzionatzen duen deskribatzen saiatuko naiz laburki.

Ikus ditzagun Corda-ren ezaugarri nagusiak eta bere berezitasuna beste bloke batzuen artean:

  • Cordak ez du bere kriptografia-monetarik.
  • Cordak ez ditu meatzaritza kontzeptua eta Proof-of-Work sistema erabiltzen.
  • Datuen transferentzia transakzioaren/kontratuaren alderdien artean bakarrik gertatzen da. Ez dago sareko nodo guztietarako igorpen globalik.
  • Ez dago transakzio guztiak kudeatzen dituen kontrolatzaile zentralik.
  • Cordak hainbat adostasun mekanismo onartzen ditu.
  • Parte-hartzaileen arteko adostasuna akordio/kontratu indibidual baten mailan lortzen da, eta ez sistema osoaren mailan.
  • Transakzio bat berari lotutako parte-hartzaileek soilik berresten dute.
  • Cordak lotura zuzena eskaintzen du giza hizkuntza juridiko formalaren eta kontratu adimendunaren kodearen artean.

Liburutegia

Ledger kontzeptua Corda-n subjektiboa da. Ez dago datu-biltegi zentral bakarra. Horren ordez, nodo bakoitzak ezagutzen dituen gertaeren datu-base bereizia mantentzen du.

Adibidez, imajinatu 5 nodoko sare bat, non zirkulu bat nodoak ezagutzen duen gertakari bat den.

Corda - kode irekiko bloke-katea negozioetarako

Ikus dezakegunez, Ed, Carl eta Demi 3. gertaera ezagutzen dute, baina Alice eta Bob ez dira horretaz jabetzen. Cordak bermatzen du ohiko gertakariak nodo bakoitzaren datu-basean gordetzen direla, eta datuak berdinak izango direla.

Estatuak

Estatua da aldaezina une jakin batean sare-nodo batek edo gehiagok ezagutzen duten egitate bat adierazten duen objektua.

Estatuek datu arbitrarioak gorde ditzakete, adibidez, akzioak, bonuak, maileguak, identifikazio informazioa.

Adibidez, egoera honek IOU bat adierazten du, Alicek Bobi X kopuru bat zor dion akordioa:

Corda - kode irekiko bloke-katea negozioetarako
Gertakari baten bizitza-zikloa denboran zehar egoera-segida batek adierazten du. Egungo egoera eguneratzea beharrezkoa denean, berri bat sortu eta egungoa historiko gisa markatzen dugu.

Corda - kode irekiko bloke-katea negozioetarako

Transakzioak

Transakzioak liburua eguneratzeko proposamenak dira. Ez dira liburuko parte-hartzaile guztiei igortzen eta horiek ikusteko eta kudeatzeko legezko eskubidea duten sareko parte-hartzaileentzat soilik daude eskuragarri.

Transakzio bat gehituko da liburu-liburuan:

  • kontratuan baliozkoa
  • beharrezkoak diren parte-hartzaile guztiek sinatuta
  • ez du gastu bikoitza jasotzen

Cordak UTXO (gastu gabeko transakzio irteera) eredua erabiltzen du, non liburuko egoera bakoitza aldaezina den.

Transakzio bat sortzen denean, aurreko transakzioaren irteera-egoera (hash eta indizearen bidez) sarrerara transferitzen da.

Corda - kode irekiko bloke-katea negozioetarako
Transakzioen bizi-zikloa:

  • Sorkuntza (Momentuz, transakzioa liburua eguneratzeko proposamen bat besterik ez da)
  • Bildu sinadurak (Transakziorako beharrezkoak diren alderdiek eguneratze proposamena onartzen dute transakzioari sinadura bat gehituz)
  • Konprometitu transakzioa liburu-liburuan

Transakzio bat liburu-liburuan gehitzen denean, sarrera-egoerak historiko gisa markatzen dira eta ezin dira erabili etorkizuneko transakzioetan.

Corda - kode irekiko bloke-katea negozioetarako
Sarrerako eta irteerako egoerez gain, transakzio batek honako hauek izan ditzake:

  • Komandoak (transakzio-parametroa transakzioaren helburua adierazten duena)
  • Eranskinak (oporren egutegia, moneta bihurgailua)
  • Denbora-leihoak (baliotasun-aldia)
  • Notarioa (Notarioa, sareko partaide bereziak transakzioak balioztatzeko)

Corda - kode irekiko bloke-katea negozioetarako

kontratuak

Transakzio-baliotasunaz hitz egiten dugunean, beharrezkoak diren sinadurak egoteaz gain, kontratu-baliotasuna ere esan nahi dugu. Transakzio bakoitza onartzen duen eta sarrera eta irteera egoerak baliozkotzen dituen kontratu batekin lotzen da. Transakzio bat baliozkotzat hartzen da bere egoera guztiak baliozkoak badira.

Corda-n kontratuak edozein JVM hizkuntzan idazten dira (adibidez, Java, Kotlin).

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

Klase batetik heredatzea beharrezkoa da Kontratua eta baliogabetu metodoa egiaztatu. Transakzioa baliogabea bada, salbuespen bat botako da.

Transakzioaren baliozkotzeak deterministikoa izan behar du, hau da. kontratuak beti onartu edo baztertu behar du transakzioa. Honekin lotuta, transakzioaren baliozkotasuna ezin da denboraren, ausazko zenbakien, ostalari fitxategien, etab.

Corda-n, kontratuak sandbox izeneko batean exekutatzen dira - apur bat aldatutako JVM bat, kontratuen exekuzio deterministikoa bermatzen duena.

errekak

Sareko nodoen arteko komunikazioa automatizatzeko, hariak gehitu ziren.

Fluxua urratsen sekuentzia bat da, nodo bati liburuaren eguneratze zehatz bat nola egin eta transakzioa zein unetan sinatu eta balioztatu behar den esaten diona.

Corda - kode irekiko bloke-katea negozioetarako

Batzuetan, orduak eta egunak behar izaten dira transakzioa alderdi guztiek sinatu eta liburuan sartzen den arte. Zer gertatzen da transakzio batean parte hartzen duen nodo bat deskonektatzen baduzu? Hariek kontrol puntuak dituzte, eta horietan hariaren egoera nodoaren datu-basean idazten da. Nodo bat sarera berrezartzen denean, utzitako tokian jarraituko du.

Adostasuna

Liburuan sartzeko, transakzio batek 2 adostasun lortu behar ditu: baliozkotasuna eta berezitasuna.

Transakzio baten baliozkotasunari buruzko erabakia bertan zuzenean parte hartzen duten alderdiek bakarrik hartzen dute.

Notario-nodoek transakzioa berezitasuna egiaztatzen dute eta gastu bikoitza saihesten dute.

Imajina dezagun Bobek 100 $ dituela eta 80 $ Charlieri eta 70 $ Dani transferitu nahi dizkiola sarrera-egoera bera erabiliz.

Corda - kode irekiko bloke-katea negozioetarako

Cordak ez dizu halako trikimailurik ateratzen utziko. Transakzioak baliozkotasun-egiaztapena gaindituko duen arren, berezitasun-egiaztapenak huts egingo du.

Ondorioa

R3 blockchain partzuergoak garatutako Corda plataforma ez da blockchain teknologiaren erabilera kasu hutsa. Corda finantza-erakundeentzako tresna oso espezializatua da.

Iturria: www.habr.com

Gehitu iruzkin berria