Corda — bllokchain i hapur për biznesin

Corda — është një Ledger i shpërndarë për ruajtjen, menaxhimin dhe sinkronizimin e detyrimeve financiare midis organizatave të ndryshme financiare.
Corda — bllokchain i hapur për biznesin
Corda ka dokumentacion mjaft të mirë me video-leksione, të cilin mund ta gjeni këtu. Do të përpiqem të përshkruaj shkurtimisht si funksionon Corda brenda.

Le të shqyrtojmë karakteristikat kryesore të Corda dhe unikësinë e tij në mesin e blockchain-ëve të tjerë:

  • Corda nuk ka një kriptovalutë të vetën.
  • Corda nuk përdor konceptin e minierës dhe sistemin Proof-of-Work.
  • Transferimi i të dhënave ndodh vetëm mes pjesëmarrësve të transaksionit/kontratës. Nuk ka një transmetim global për të gjitha nyjat e rrjetit.
  • Nuk ka një kontrollues qendror që menaxhon të gjitha transaksionet.
  • Corda mbështet mekanizma të ndryshëm konsensusi.
  • Konsensusi arrihet mes pjesëmarrësve në nivelin e marrëveshjes/kontratës, dhe jo në nivelin e sistemit tërësor.
  • Transaksioni konfirmohet vetëm nga pjesëmarrësit që i përkasin atij.
  • Corda ofron një lidhje të drejtpërdrejtë midis gjuhës juridike të njohur njerzore dhe kodit të kontratave të mençura.

Ledger-i

Koncepci i ledger-it në Corda është subjektiv. Nuk ka një depo qendrore të dhënash. Në vend të kësaj, çdo nyje mbështet një bazë të dhënash të veçanta të fakteve që i janë të njohura.

Për shembull, imagjinoni një rrjet prej 5 nyjesh, ku rrethi është një fakt i njohur për nyjen.

Corda — bllokchain i hapur për biznesin

Siç e shohim, Ed, Carl dhe Demi dinë për faktin 3, ndërsa Alice dhe Bob nuk e kanë as idenë. Corda garanton ruajtjen e fakteve të zakonshme në bazën e çdo nyjeje, dhe të dhënat do të jenë identike.

Shtetet

Shteti — është i pandryshueshëm objekt, që përfaqëson një fakt të njohur për një ose disa nyje të rrjetit në një moment të caktuar.

Shtetet mund të ruajnë të dhëna të rastësishme, për shembull, aksione, obligacione, kredi, informacion identifikimi.

Për shembull, gjendja e mëposhtme përfaqëson një IOU — një marrëveshje se si Alice i detyrohet Bob-it shumën X:

Corda — bllokchain i hapur për biznesin
Cikli i jetës së një fakti me kalimin e kohës përfaqësohet nga një sërë shtetesh. Kur është e nevojshme të përditësohet gjendja aktuale, krijojmë një të re, ndërsa aktualja e etiketojmë si historike (historic).

Corda — bllokchain i hapur për biznesin

Transaksionet

Transaksionet janë propozuar për përditësimin e ledger-it. Ato nuk transmetohen të gjithë pjesëmarrësve të ledger-it dhe janë të aksesueshme vetëm për ata pjesëmarrës të rrjetit që kanë të drejta legjitime për t'i parë dhe menaxhuar.

Transaksioni do të shtohet në ledger nëse ai:

  • është kontraktualisht i vlefshëm
  • është nënshkruar nga të gjithë pjesëmarrësit e nevojshëm
  • nuk përmban shpenzime të dyfishta (double-spends)

Corda përdor modelin UTXO (output i transaksionit të papërdorur), ku çdo gjendje e ledger-it është e pandryshueshme.

Kur krijohet, transaksioni merr gjendjen e output-it të transaksionit të mëparshëm (përmes hash-it dhe indeksit).

Corda — bllokchain i hapur për biznesin
Cikli i jetës së transaksionit:

  • Krijimi (Në këtë moment, transaksioni është thjesht një propozim për përmirësimin e ledger-it)
  • Marrja e nënshkrimeve (Pjesëmarrësit e nevojshëm të transaksionit miratojnë propozimin për përmirësim duke shtuar nënshkrimin në transaksion)
  • Angazhimi i transaksionit në ledger

Pas shtimit të transaksionit në ledger, gjendjet hyrëse shënoheshin si historike dhe nuk mund të përdoren në transaksionet e ardhshme.

Corda — bllokchain i hapur për biznesin
Përveç gjendjeve hyrëse dhe dalëse, transaksioni mund të përmbajë:

  • Komanda (parametri i transaksionit që tregon qëllimin e transaksionit)
  • Shkarkime (kalendari i festave, konvertuesi i monedhave)
  • Dritare kohore (periudha e vlefshmërisë)
  • Notari (Notary, pjesëmarrës të veçantë të rrjetit që validon transaksionet)

Corda — bllokchain i hapur për biznesin

Kontratat

Kur flasim për vlefshmërinë e transaksionit, nënkuptojmë jo vetëm praninë e nënshkrimeve të nevojshme, por edhe vlefshmërinë në lidhje me kontratën. Çdo transaksion është i lidhur me një kontratë që e pranon dhe validon gjendjet hyrëse dhe dalëse. Një transaksion konsiderohet i vlefshëm vetëm nëse të gjitha gjendjet e tij janë të vlefshme.

Kontratat në Corda shkruhen në çdo gjuhë JVM (p.sh. Java, Kotlin).

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

Duhet të trashëgohet nga klasa Contract dhe të kalojë metoden verify. Në rast të një transaksioni të pavlefshëm, do të hidhet një përjashtim.

Validimi i transaksioneve duhet të jetë deterministik, domethënë kontrata gjithmonë duhet të pranojë ose refuzojë transaksionin. Në këtë mënyrë, vlefshmëria e transaksionit nuk mund të varet nga koha, numra të rastësishëm, skedarë të nodit të rrjetit dhe të tjera.

Në Corda kontratat ekzekutohen në atë që quhet Sandbox — një version i modifikuar i JVM që garanton ekzekutimin deterministik të kontratave.

Fluxet

Për të automatizuar komunikimin midis nodave të rrjetit, janë shtuar fluxet.

Fluksi është një seri hapash që i tregon nodit se si të realizojë një përditësim të caktuar të ledger-it, në cilin moment duhet të nënshkruhet dhe të validohen transaksioni.

Corda — bllokchain i hapur për biznesin

Ndonjëherë kërkohen orë, ditë derisa transaksioni të nënshkruhet nga të gjitha palët dhe të kalojë në ledger. Çfarë do të ndodhte nëse do të çaktivizohej nyja që merr pjesë në transaksion? Fluxet kanë pika kontrolli, ku gjendjet e fluxit shkruhen në bazën e të dhënave të nyjës. Kur nyja ridimensionohet në rrjet, ajo do të vazhdojë nga pika ku u ndal.

Konsensusi

Për të kaluar në ledger, transaksioni duhet të arrijë 2 konsensuse: për vlefshmërinë dhe për unikalisht.

Vendimi për vlefshmërinë e transaksionit merret vetëm nga palët e përfshira drejtpërdrejt në të.

Nyjat notariale kryejnë verifikimin e transaksionit për unikalisht, duke parandalizuar shpenzimet e dyfishta.

Le të imagjinojmë se Bob ka 100$, dhe ai dëshiron t'i transferojë 80$ Charlie-t dhe 70$ Dan-it, duke përdorur të njëjtin gjendje hyrëse.

Corda — bllokchain i hapur për biznesin

Një hile e tillë Corda nuk do të lejojë të realizohet. Edhe pse transaksioni do të kalojë verifikimin për vlefshmërinë, verifikimi për unikalisht do të dështojë.

Përfundim

Platforma Corda, zhvilluar nga konsorciumi blockchain R3, nuk është një shembull i pastër i përdorimit të teknologjisë blockchain. Corda është një mjet mjaft i specializuar për organizatat financiare.

Burimi: habr.com

Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS 🔥 Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS - ProHoster