Corda – nyílt forráskódú blokklánc üzleti célokra

Corda egy elosztott főkönyv a pénzügyi kötelezettségek tárolására, kezelésére és szinkronizálására különböző pénzügyi szervezetek között.
Corda – nyílt forráskódú blokklánc üzleti célokra
A Cordának elég jó dokumentációja van videó előadásokkal, amelyek megtalálhatók itt. Megpróbálom röviden leírni, hogyan működik a Corda belül.

Nézzük meg a Corda főbb jellemzőit és egyediségét a többi blokklánc között:

  • A Cordának nincs saját kriptovalutája.
  • A Corda nem használja a bányászat fogalmát és a Proof-of-Work rendszert.
  • Adattovábbítás csak a tranzakcióban/szerződésben részt vevő felek között történik. Nincs globális üzenetszórás az összes hálózati csomóponthoz.
  • Nincs minden tranzakciót irányító központi vezérlő.
  • A Corda különféle konszenzusos mechanizmusokat támogat.
  • A konszenzus a résztvevők között egyéni megállapodás/szerződés szintjén jön létre, nem pedig a teljes rendszer szintjén.
  • Egy tranzakciót csak az ahhoz kapcsolódó résztvevők igazolnak vissza.
  • A Corda közvetlen kapcsolatot kínál a formális emberi jogi nyelv és az intelligens szerződéskód között.

A főkönyv

A Corda főkönyvi fogalma szubjektív. Nincs egyetlen központi adattár. Ehelyett minden csomópont külön adatbázist tart fenn az általa ismert tényekből.

Például képzeljünk el egy 5 csomópontból álló hálózatot, ahol a kör a csomópont számára ismert tény.

Corda – nyílt forráskódú blokklánc üzleti célokra

Amint látjuk, Ed, Carl és Demi tudnak a 3. tényről, de Alice és Bob még csak nem is tudnak róla. A Corda garantálja, hogy minden csomópont adatbázisa közös tényeket tárol, és az adatok azonosak lesznek.

Államok

állam az változhatatlan olyan objektum, amely egy vagy több hálózati csomópont számára ismert tényt képvisel egy adott időpontban.

Az államok tetszőleges adatokat tárolhatnak, például részvényeket, kötvényeket, hiteleket, azonosító információkat.

Például a következő állapot IOU-t jelent – ​​egy megállapodást, amely szerint Alice X összeggel tartozik Bobnak:

Corda – nyílt forráskódú blokklánc üzleti célokra
Egy tény életciklusát az idő függvényében állapotok sorozata ábrázolja. Ha frissíteni kell az aktuális állapotot, létrehozunk egy újat, és a jelenlegit történelminek jelöljük.

Corda – nyílt forráskódú blokklánc üzleti célokra

ügyletek

A tranzakciók a főkönyv frissítésére vonatkozó javaslatok. Ezeket nem sugározzák minden főkönyvi résztvevő számára, és csak azok a hálózati résztvevők érhetők el, akiknek törvényes joguk van megtekintésükre és kezelésére.

A tranzakció akkor kerül a főkönyvbe, ha:

  • szerződésesen érvényes
  • minden szükséges résztvevő aláírta
  • nem tartalmaz dupla költést

A Corda az UTXO (el nem költött tranzakció kimenet) modellt használja, amelyben minden főkönyvi állapot megváltoztathatatlan.

Tranzakció létrehozásakor az előző tranzakció kimeneti állapota (hash és index szerint) átkerül a bemenetre.

Corda – nyílt forráskódú blokklánc üzleti célokra
A tranzakció életciklusa:

  • Létrehozás (jelenleg a tranzakció csak egy javaslat a főkönyv frissítésére)
  • Aláírások gyűjtése (A tranzakcióban részt vevő felek jóváhagyják a frissítési javaslatot aláírással a tranzakcióhoz)
  • A tranzakció véglegesítése a főkönyvben

Miután egy tranzakciót hozzáadott a főkönyvhez, a bemeneti állapotok előzményként vannak megjelölve, és nem használhatók fel a jövőbeni tranzakciókban.

Corda – nyílt forráskódú blokklánc üzleti célokra
A bemeneti és kimeneti állapotokon kívül a tranzakció a következőket tartalmazhatja:

  • Parancsok (tranzakciós paraméter, amely a tranzakció célját jelzi)
  • Mellékletek (üdülési naptár, valutaváltó)
  • Időablakok (érvényességi időszak)
  • Közjegyző (Jegyző, ügyleteket érvényesítő speciális hálózati résztvevők)

Corda – nyílt forráskódú blokklánc üzleti célokra

szerződések

Amikor ügyletek érvényességéről beszélünk, akkor nem csak a szükséges aláírások meglétére gondolunk, hanem a szerződéses érvényességre is. Minden tranzakcióhoz egy szerződés tartozik, amely elfogadja azt, és érvényesíti a bemeneti és kimeneti állapotokat. Egy tranzakció csak akkor tekinthető érvényesnek, ha minden állapota érvényes.

A Corda szerződései bármely JVM-nyelven meg vannak írva (például Java, Kotlin).

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

Osztályból kell örökölni Szerződés és felülírja a módszert ellenőrzése. Ha a tranzakció érvénytelen, kivételt dob ​​a rendszer.

A tranzakció érvényesítésének determinisztikusnak kell lennie, azaz. a szerződésnek mindig el kell fogadnia vagy el kell utasítania a tranzakciót. Ezzel kapcsolatban a tranzakció érvényessége nem függhet az időtől, véletlen számoktól, host fájloktól stb.

A Cordában a szerződéseket úgynevezett homokozóban hajtják végre – egy kissé módosított JVM-ben, amely garantálja a szerződések determinisztikus végrehajtását.

Streamek

A hálózati csomópontok közötti kommunikáció automatizálása érdekében szálakat adtunk hozzá.

A folyamat lépések sorozata, amely megmondja a csomópontnak, hogyan kell végrehajtani egy adott főkönyvi frissítést, és hogy a tranzakciót mikor kell aláírni és érvényesíteni.

Corda – nyílt forráskódú blokklánc üzleti célokra

Néha órákba, napokba telik, amíg a tranzakciót minden fél aláírja és bekerül a főkönyvbe. Mi történik, ha leválaszt egy tranzakcióban részt vevő csomópontot? A szálaknak vannak ellenőrző pontjai, amelyeknél a szál állapota beírásra kerül a csomópont adatbázisába. Amikor egy csomópont visszaáll a hálózatra, ott folytatja, ahol abbahagyta.

Konszenzus

A főkönyvbe való bejutáshoz egy tranzakciónak két konszenzust kell elérnie: érvényesség és egyediség.

Az ügylet érvényességéről csak az abban közvetlenül érintett felek döntenek.

A közjegyzői csomópontok ellenőrzik a tranzakció egyediségét, és megakadályozzák a dupla kiadást.

Képzeljük el, hogy Bobnak 100 dollárja van, és 80 dollárt szeretne átutalni Charlie-nak és 70 dollárt Dannek ugyanazzal a beviteli állapottal.

Corda – nyílt forráskódú blokklánc üzleti célokra

A Corda nem engedi, hogy ilyen trükköt hajtson végre. Bár a tranzakció átmegy az érvényességi ellenőrzésen, az egyediség ellenőrzése sikertelen lesz.

Következtetés

Az R3 blokklánc konzorcium által kifejlesztett Corda platform nem a blokklánc technológia puszta használati esete. A Corda egy rendkívül speciális eszköz a pénzintézetek számára.

Forrás: will.com

Hozzászólás