Corda - blockchain open source per l'affari

Rope hè un Ledger distribuitu per almacenà, gestisce è sincronizà l'obbligazioni finanziarie trà e diverse organizzazioni finanziarie.
Corda - blockchain open source per l'affari
Corda hà una documentazione abbastanza bona cù video lectures chì ponu esse truvati ccà. Pruvaraghju di descriverà brevemente cumu Corda funziona in l'internu.

Fighjemu e caratteristiche principali di Corda è a so unicità trà altri blockchains:

  • Corda ùn hà micca a so propria criptocurrency.
  • Corda ùn aduprate micca u cuncettu di a minera è u sistema Proof-of-Work.
  • U trasferimentu di dati si faci solu trà e partiti di a transazzione / cuntrattu. Ùn ci hè micca una trasmissione globale à tutti i nodi di rete.
  • Ùn ci hè micca un cuntrollu cintrali chì gestisce tutte e transazzione.
  • Corda supporta diversi meccanismi di cunsensu.
  • U cunsensu hè ottenutu trà i participanti à u livellu di un accordu / cuntrattu individuale, è micca à u livellu di u sistema sanu.
  • Una transazzione hè cunfirmata solu da i participanti ligati à questu.
  • Corda offre una cunnessione diretta trà u linguaghju ghjuridicu umanu formale è u codice di cuntrattu intelligente.

U ledger

U cuncettu di ledger in Corda hè subjectivu. Ùn ci hè micca un unicu repositoriu di dati cintrali. Invece, ogni node mantene una basa di dati separata di fatti cunnisciuti.

Per esempiu, imagine una reta di 5 nodi, induve un cercolu hè un fattu cunnisciutu da u node.

Corda - blockchain open source per l'affari

Cum'è pudemu vede, Ed, Carl è Demi sanu di u fattu 3, ma Alice è Bob ùn sò ancu cunuscenti. Corda guarantisci chì i fatti cumuni sò guardati in a basa di dati di ogni node, è e dati seranu idèntici.

Stati

Statu hè immutable un oggettu chì rapprisenta un fattu cunnisciutu à unu o più nodi di rete in un certu puntu in u tempu.

I Stati ponu almacenà dati arbitrarii, per esempiu, azzioni, bonds, prestiti, infurmazione d'identificazione.

Per esempiu, u statu seguente rapprisenta un IOU - un accordu chì Alice deve Bob una quantità di X:

Corda - blockchain open source per l'affari
U ciculu di vita di un fattu in u tempu hè rapprisintatu da una sequenza di stati. Quandu hè necessariu d'aghjurnà u statu attuale, creemu un novu è marcate l'attuale cum'è storicu.

Corda - blockchain open source per l'affari

Transazzioni

E transazzione sò pruposte per aghjurnà u ledger. Ùn sò micca trasmessi à tutti i participanti di ledger è sò dispunibuli solu per quelli participanti di a rete chì anu u dirittu legale di vede è gestisce.

Una transazzione serà aghjunta à u libru se:

  • cuntrattualmente validu
  • firmatu da tutti i participanti richiesti
  • ùn cuntene micca doppia spesa

Corda usa u mudellu UTXO (unspent transaction output), in quale ogni statu di ledger hè immutable.

Quandu una transazzione hè creata, u statu di output di a transazzione previa (per hash è index) hè trasferitu à l'input.

Corda - blockchain open source per l'affari
Ciclu di vita di a transazzione:

  • Creazione (Attualmente, a transazzione hè solu una pruposta per aghjurnà u ledger)
  • Raccolta di signature (I partiti richiesti à a transazzione appruvanu a pruposta di l'aghjurnamentu aghjunghjendu una firma à a transazzione)
  • Cummettà a transazzione à u ledger

Una volta chì una transazzione hè aghjuntu à u ledger, i stati di input sò marcati cum'è storici è ùn ponu micca esse usatu in transazzione futura.

Corda - blockchain open source per l'affari
In più di stati di input è output, una transazzione pò cuntene:

  • Cumandamenti (parametru di transazzione chì indica u scopu di a transazzione)
  • Attachments (calendariu di vacanze, cunvertitore di valuta)
  • Finestre di tempu (periodu di validità)
  • Nutariu (Nutariu, i participanti di a rete speciale chì validanu e transazzione)

Corda - blockchain open source per l'affari

Cuntratti

Quandu parlemu di validità di transazzione, significhemu micca solu a prisenza di e signature necessarie, ma ancu a validità contractual. Ogni transazzione hè assuciata cù un cuntrattu chì l'accetta è cunvalida i stati di input è output. Una transazzione hè cunsiderata valida solu se tutti i so stati sò validi.

I cuntratti in Corda sò scritti in qualsiasi lingua JVM (per esempiu, Java, Kotlin).

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

Hè necessariu di eredite da una classe cuntrattu di Stabilimentu è annullà u metudu verificate. Se a transazzione hè invalida, una eccezzioni serà ghjittata.

A validazione di a transazzione deve esse deterministica, i.e. u cuntrattu deve sempre accettà o rifiutà a transazzione. In cunnessione cù questu, a validità di a transazzione ùn pò micca dipende di u tempu, numeri aleatorii, schedarii d'ospiti, etc.

In Corda, i cuntratti sò eseguiti in un cusì chjamatu sandbox - una JVM ligeramente modificata chì guarantisci l'esekzione deterministica di cuntratti.

fiumi

Per automatizà a cumunicazione trà i nodi di a rete, i fili sò stati aghjuntu.

Un flussu hè una sequenza di passi chì dice à un node cumu fà un aghjurnamentu specificu di ledger è à quale puntu a transazzione deve esse firmata è validata.

Corda - blockchain open source per l'affari

Calchì volta ci vole ore, ghjorni finu à chì a transazzione hè firmata da tutti i partiti è entra in u ledger. Chì succede s'ellu si disconnect un node chì participa à una transazzione? I fili anu punti di cuntrollu, in quale u statu di u filu hè scrittu à a basa di dati di u node. Quandu un node hè restauratu à a reta, cuntinueghja induve l'abbandunò.

Cunsensu

Per entra in u ledger, una transazzione deve ghjunghje à 2 consensus: validità è unicità.

A decisione nantu à a validità di una transazzione hè fatta solu da i partiti direttamente implicati in questu.

I nodi notari verificanu a transazzione per unicità è impediscenu a doppia spesa.

Imaginemu chì Bob hà $ 100 è vole trasfiriri $ 80 à Charlie è $ 70 à Dan cù u listessu statu di input.

Corda - blockchain open source per l'affari

Corda ùn vi permetterà micca di fà un tali truccu. Ancu s'è a transazzione passerà u cuntrollu di validità, u cuntrollu di unicità falla.

cunchiusioni

A piattaforma Corda, sviluppata da u consorziu R3 blockchain, ùn hè micca un casu d'usu puri per a tecnulugia blockchain. Corda hè un strumentu altamente specializatu per l'istituzioni finanziarii.

Source: www.habr.com

Add a comment