Corda — blockchain open source 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 — blockchain open source pĂ«r biznesin
Corda ka një dokumentacion shumë të mirë me video-leksione, të cilat mund t'i gjeni këtu. Do përpiqem ta përshkruaj shkurtimisht se si funksionon Corda brenda.

Le të shqyrtojmë karakteristikat kryesore të Corda dhe unikësinë e saj krahasuar me blloket e tjera:

  • Corda nuk ka njĂ« kriptovalutĂ« tĂ« vetĂ«n.
  • Corda nuk pĂ«rdor konceptin e minimit dhe sistemin Proof-of-Work.
  • ShkĂ«mbimi i tĂ« dhĂ«nave ndodh vetĂ«m midis pjesĂ«marrĂ«sve tĂ« transaksionit/kontaktit. Nuk ka transmetim global nĂ« tĂ« gjithĂ« nyjet e rrjetit.
  • Nuk ka njĂ« kontrollues tĂ« qendruar qĂ« menaxhon tĂ« gjitha transaksionet.
  • Corda mbĂ«shtet mekanizma tĂ« ndryshĂ«m konsensusi.
  • Konsensusi arrihet midis pjesĂ«marrĂ«sve nĂ« nivelin e njĂ« marrĂ«veshjeje/kontakti tĂ« veçantĂ«, dhe jo nĂ« nivelin e tĂ«rĂ« sistemit.
  • Transaksioni miratohet vetĂ«m nga pjesĂ«marrĂ«sit qĂ« lidhen me tĂ«.
  • Corda ofron njĂ« lidhje tĂ« drejtpĂ«rdrejtĂ« midis gjuhĂ«s juridike formale tĂ« njerĂ«zve dhe kodit tĂ« kontratave tĂ« zgjuara.

Ledger

Koncepci i ledger-it në Corda është subjektiv. Nuk ka një depot të vetme qendrore të të dhënave. Në vend të kësaj, çdo nyje përmban një bazë të dhënash të veçanta të fakteve të njohura për të.

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

Corda — blockchain open source pĂ«r biznesin

Siç mund ta shohim, Ed, Carl dhe Demi dinë për faktin 3, ndërsa Alice dhe Bob nuk kanë as ide për këtë. Corda garanton ruajtjen e fakteve të përbashkëta në bazën e çdo nyjeje, dhe këto të dhëna do të jenë identike.

Gjendjet

Gjendja është e pandryshueshme një objekt që paraqet një fakt të njohur nga një ose më shumë nyje të rrjetit në një moment të caktuar.

Gjendjet mund të ruajnë të dhëna të rastit, për shembull, aksione, obligacione, kredi, informacion identifikimi.

PĂ«r shembull, gjendja e mĂ«poshtme pĂ«rfaqĂ«son njĂ« IOU — njĂ« marrĂ«veshje qĂ« Alisa i detyrohet Bobit njĂ« shumĂ« X:

Corda — blockchain open source pĂ«r biznesin
Cikli i jetës së faktit me kalimin e kohës paraqitet nga një seri gjendjesh. Kur është e nevojshme të përditësohet gjendja aktuale, krijojmë një të re, ndërsa e tashmja e shënojmë si historike (historic).

Corda — blockchain open source pĂ«r biznesin

Transaksionet

Transaksionet janë propozime 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 ato pjesëmarrës të rrjetit që kanë të drejtë ligjore për t'i parë dhe menaxhuar ato.

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

  • Ă«shtĂ« kontraktohet e vlefshme
  • nĂ« shenjĂ« nga tĂ« gjithĂ« pjesĂ«marrĂ«sit e nevojshĂ«m
  • nuk pĂ«rmban shpenzime tĂ« dyfishta (double-spends)

Corda përdor modelin UTXO (unspent transaction output), në të cilin çdo gjendje e ledger-it është e pandryshueshme.

Kur krijohet, transaksioni merr si hyrje gjendjen e daljes nga transaksioni i mëparshëm (përmes hash-it dhe indeksit).

Corda — blockchain open source pĂ«r biznesin
Cikli i jetës së një transaksioni:

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

Pasi që transaksioni të shtohet në ledger, gjendjet hyrëse shënohen si historike dhe nuk mund të përdoren në transaksione të ardhshme.

Corda — blockchain open source pĂ«r biznesin
Përveç gjendjeve hyrëse dhe dalëse, transaksioni mund të përmbajë:

  • Komandat (parametri i transaksionit, qĂ« tregon qĂ«llimin e transaksionit)
  • Shtesat (kalendari i festave, konvertuesi i valutave)
  • Dritaret e kohĂ«s (afati i vlefshmĂ«risĂ«)
  • Notari (Notary, pjesĂ«marrĂ«s tĂ« veçantĂ« tĂ« rrjetit, qĂ« validon transaksionet)

Corda — blockchain open source pĂ«r biznesin

Kontratat

Kur flasim pĂ«r vlefshmĂ«rinĂ« e njĂ« transaksioni, ne nĂ«nkuptojmĂ« jo vetĂ«m praninĂ« e nĂ«nshkrimeve tĂ« nevojshme, por edhe vlefshmĂ«rinĂ« sipas kontratĂ«s. Çdo transaksion Ă«shtĂ« i lidhur me njĂ« kontratĂ«, e cila 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ër shembull, Java, Kotlin).

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

ËshtĂ« e nevojshme tĂ« trashĂ«goheni nga klasa Contract dhe tĂ« tejkaloni metodĂ«n verify. NĂ« rast tĂ« pavlefshmĂ«risĂ« sĂ« transaksionit, duhet tĂ« hidhet njĂ« pĂ«rjashtim.

Vlefshmëria e transaksioneve duhet të jetë determinuese, pra kontrata gjithmonë duhet ose ta pranojë, ose ta refuzojë transaksionin. Në këtë kontekst, vlefshmëria e transaksionit nuk mund të varet nga koha, numra të rastësishëm, skedarë të nyjes së rrjetit etj.

NĂ« Corda, kontratat ekzekutohen nĂ« atĂ« qĂ« quhet sandbox — njĂ« JVM e modifikuar pak, qĂ« garanton ekzekutimin determinues tĂ« kontratave.

Flukset

Për të automatizuar komunikimin midis nyjeve të rrjetit, janë shtuar flukset.

Fluksi është një seri hapat, që tregon nyjës se si të ekzekutojë një përditësim të veçantë të ledger-it, në cilin moment duhet të nënshkruajë dhe të validojë transaksionin.

Corda — blockchain open source pĂ«r biznesin

NdonjĂ«herĂ« nevojiten orĂ«, ditĂ« derisa transaksioni tĂ« nĂ«nshkruhet nga tĂ« gjitha palĂ«t dhe tĂ« kalojĂ« nĂ« ledger. ÇfarĂ« ndodh nĂ«se ndalon nyja qĂ« merr pjesĂ« nĂ« transaksion? Rrymat kanĂ« pika kontrolli, ku gjendjet e rrymĂ«s regjistrohen nĂ« databazĂ«n e nyjĂ«s. Kur nyja rikthehet nĂ« rrjet, ajo vazhdon nga vendi ku Ă«shtĂ« ndalur.

Konsensusi

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

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

Nyjat noteriale kryejnë verifikimin e transaksionit për uniklim, parandalojnë shpenzimet e dyfishta.

Të imagjinojmë se Bob ka 100$ dhe dëshiron të transferojë 80$ tek Charlie dhe 70$ tek Dan duke përdorur të njëjtin gjendje hyrëse.

Corda — blockchain open source pĂ«r biznesin

Një truk të tillë Corda nuk e lejon. Edhe pse transaksioni kalon verifikimin për vlefshmëri, verifikimi për uniklim dështojnë.

Përfundimi

Platforma Corda, e 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

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster