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 hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster