Corda - blockchain sumber terbuka untuk perniagaan

Tali ialah Lejar yang diedarkan untuk menyimpan, mengurus dan menyegerakkan kewajipan kewangan antara organisasi kewangan yang berbeza.
Corda - blockchain sumber terbuka untuk perniagaan
Corda mempunyai dokumentasi yang cukup baik dengan kuliah video yang boleh didapati di sini. Saya akan cuba menerangkan secara ringkas cara Corda berfungsi di dalam.

Mari kita lihat ciri-ciri utama Corda dan keunikannya di kalangan rantaian blok lain:

  • Corda tidak mempunyai mata wang kripto sendiri.
  • Corda tidak menggunakan konsep perlombongan dan sistem Proof-of-Work.
  • Pemindahan data berlaku hanya antara pihak kepada transaksi/kontrak. Tiada penyiaran global ke semua nod rangkaian.
  • Tiada pengawal pusat yang menguruskan semua transaksi.
  • Corda menyokong pelbagai mekanisme konsensus.
  • Konsensus dicapai antara peserta pada tahap perjanjian/kontrak individu, dan bukan pada tahap keseluruhan sistem.
  • Transaksi hanya disahkan oleh peserta yang berkaitan dengannya.
  • Corda menawarkan hubungan langsung antara bahasa perundangan manusia formal dan kod kontrak pintar.

Lejar

Konsep lejar dalam Corda adalah subjektif. Tiada repositori data pusat tunggal. Sebaliknya, setiap nod mengekalkan pangkalan data berasingan fakta yang diketahuinya.

Sebagai contoh, bayangkan rangkaian 5 nod, di mana bulatan adalah fakta yang diketahui oleh nod.

Corda - blockchain sumber terbuka untuk perniagaan

Seperti yang kita lihat, Ed, Carl dan Demi tahu tentang fakta 3, tetapi Alice dan Bob tidak menyedarinya. Corda menjamin bahawa fakta biasa disimpan dalam pangkalan data setiap nod, dan data akan sama.

Negeri

Negeri adalah tidak berubah objek yang mewakili fakta yang diketahui oleh satu atau lebih nod rangkaian pada masa tertentu.

Negara boleh menyimpan data sewenang-wenangnya, contohnya, saham, bon, pinjaman, maklumat pengenalan.

Sebagai contoh, keadaan berikut mewakili IOUβ€”perjanjian bahawa Alice berhutang kepada Bob sebanyak X:

Corda - blockchain sumber terbuka untuk perniagaan
Kitaran hayat fakta dari semasa ke semasa diwakili oleh urutan keadaan. Apabila perlu untuk mengemas kini keadaan semasa, kami mencipta keadaan baharu dan menandakan keadaan semasa sebagai sejarah.

Corda - blockchain sumber terbuka untuk perniagaan

Transaksi

Transaksi ialah cadangan untuk mengemas kini lejar. Mereka tidak disiarkan kepada semua peserta lejar dan hanya tersedia kepada peserta rangkaian yang mempunyai hak undang-undang untuk melihat dan mengurusnya.

Transaksi akan ditambahkan pada lejar jika ia:

  • sah secara kontrak
  • ditandatangani oleh semua peserta yang diperlukan
  • tidak mengandungi perbelanjaan berganda

Corda menggunakan model UTXO (output transaksi tidak dibelanjakan), di mana setiap keadaan lejar tidak boleh diubah.

Apabila urus niaga dibuat, keadaan output transaksi sebelumnya (mengikut cincang dan indeks) dipindahkan ke input.

Corda - blockchain sumber terbuka untuk perniagaan
Kitaran hayat transaksi:

  • Penciptaan (Pada masa ini, urus niaga hanyalah cadangan untuk mengemas kini lejar)
  • Kumpul tandatangan (Pihak yang diperlukan untuk transaksi meluluskan cadangan kemas kini dengan menambahkan tandatangan pada transaksi)
  • Melakukan transaksi kepada lejar

Sebaik sahaja transaksi ditambahkan pada lejar, keadaan input ditandakan sebagai sejarah dan tidak boleh digunakan dalam urus niaga masa hadapan.

Corda - blockchain sumber terbuka untuk perniagaan
Sebagai tambahan kepada keadaan input dan output, transaksi mungkin mengandungi:

  • Perintah (parameter transaksi yang menunjukkan tujuan transaksi)
  • Lampiran (kalendar cuti, penukar mata wang)
  • Tetingkap masa (tempoh sah)
  • Notari (Notari, peserta rangkaian khas yang mengesahkan transaksi)

Corda - blockchain sumber terbuka untuk perniagaan

Kontrak

Apabila kita bercakap tentang kesahihan transaksi, yang kami maksudkan bukan sahaja kehadiran tandatangan yang diperlukan, tetapi juga kesahihan kontrak. Setiap transaksi dikaitkan dengan kontrak yang menerimanya dan mengesahkan keadaan input dan output. Transaksi dianggap sah hanya jika semua keadaannya adalah sah.

Kontrak dalam Corda ditulis dalam mana-mana bahasa JVM (contohnya, Java, Kotlin).

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

Ia adalah perlu untuk mewarisi daripada kelas Kontrak dan mengatasi kaedah mengesahkan. Jika transaksi tidak sah, pengecualian akan dilemparkan.

Pengesahan transaksi mestilah bersifat deterministik, i.e. kontrak mesti sentiasa sama ada menerima atau menolak transaksi. Sehubungan dengan ini, kesahihan transaksi tidak boleh bergantung pada masa, nombor rawak, fail hos, dsb.

Di Corda, kontrak dilaksanakan dalam kotak pasir yang dipanggil - JVM yang diubah suai sedikit yang menjamin pelaksanaan kontrak yang pasti.

Aliran

Untuk mengautomasikan komunikasi antara nod rangkaian, benang telah ditambahkan.

Aliran ialah urutan langkah yang memberitahu nod cara melaksanakan kemas kini lejar tertentu dan pada masa mana transaksi itu perlu ditandatangani dan disahkan.

Corda - blockchain sumber terbuka untuk perniagaan

Kadang-kadang ia mengambil masa berjam-jam, berhari-hari sehingga transaksi ditandatangani oleh semua pihak dan masuk ke dalam lejar. Apakah yang berlaku jika anda memutuskan sambungan nod yang mengambil bahagian dalam transaksi? Benang mempunyai pusat pemeriksaan, di mana keadaan benang ditulis ke pangkalan data nod. Apabila nod dipulihkan ke rangkaian, ia akan diteruskan di mana ia berhenti.

Permuafakatan

Untuk masuk ke dalam lejar, transaksi mesti mencapai 2 konsensus: kesahihan dan keunikan.

Keputusan mengenai kesahihan sesuatu transaksi hanya dibuat oleh pihak yang terlibat secara langsung di dalamnya.

Notari nod menyemak transaksi untuk keunikan dan mengelakkan perbelanjaan berganda.

Mari bayangkan bahawa Bob mempunyai $100 dan mahu memindahkan $80 kepada Charlie dan $70 kepada Dan menggunakan keadaan input yang sama.

Corda - blockchain sumber terbuka untuk perniagaan

Corda tidak akan membenarkan anda melakukan helah seperti itu. Walaupun transaksi akan lulus semakan kesahihan, semakan keunikan akan gagal.

Kesimpulan

Platform Corda, yang dibangunkan oleh konsortium blockchain R3, bukanlah kes penggunaan tulen untuk teknologi blockchain. Corda ialah alat yang sangat khusus untuk institusi kewangan.

Sumber: www.habr.com

Tambah komen