Corda - blockchain sumber terbuka untuk bisnis

Tali adalah Buku Besar terdistribusi untuk menyimpan, mengelola, dan menyinkronkan kewajiban keuangan antara berbagai organisasi keuangan.
Corda - blockchain sumber terbuka untuk bisnis
Corda memiliki dokumentasi yang cukup bagus dengan video ceramah yang dapat ditemukan di sini. Saya akan mencoba menjelaskan secara singkat cara kerja Corda di dalamnya.

Mari kita lihat fitur-fitur utama Corda dan keunikannya di antara blockchain lainnya:

  • Corda tidak memiliki mata uang kripto sendiri.
  • Corda tidak menggunakan konsep mining dan sistem Proof-of-Work.
  • Transfer data hanya terjadi antar pihak yang bertransaksi/kontrak. Tidak ada siaran global ke semua node jaringan.
  • Tidak ada pengontrol pusat yang mengelola semua transaksi.
  • Corda mendukung berbagai mekanisme konsensus.
  • Konsensus dicapai antar peserta pada tingkat kesepakatan/kontrak individu, dan bukan pada tingkat keseluruhan sistem.
  • Suatu transaksi dikonfirmasi hanya oleh peserta yang terkait dengannya.
  • Corda menawarkan hubungan langsung antara bahasa hukum formal manusia dan kode kontrak pintar.

Buku besar

Konsep buku besar di Corda bersifat subyektif. Tidak ada satu tempat penyimpanan data terpusat. Sebaliknya, setiap node menyimpan database fakta terpisah yang diketahuinya.

Misalnya, bayangkan sebuah jaringan yang terdiri dari 5 node, di mana sebuah lingkaran adalah fakta yang diketahui oleh node tersebut.

Corda - blockchain sumber terbuka untuk bisnis

Seperti yang bisa kita lihat, Ed, Carl dan Demi mengetahui fakta 3, tetapi Alice dan Bob bahkan tidak menyadarinya. Corda menjamin bahwa fakta-fakta umum disimpan dalam database setiap node, dan datanya akan sama.

Serikat

Negara adalah kekal sebuah objek yang mewakili fakta yang diketahui oleh satu atau lebih node jaringan pada titik waktu tertentu.

Negara dapat menyimpan data sewenang-wenang, misalnya saham, obligasi, pinjaman, informasi identifikasi.

Misalnya, keadaan berikut mewakili IOUβ€”perjanjian bahwa Alice berutang kepada Bob sejumlah X:

Corda - blockchain sumber terbuka untuk bisnis
Siklus hidup suatu fakta dari waktu ke waktu diwakili oleh serangkaian keadaan. Jika status saat ini perlu diperbarui, kami membuat status baru dan menandai status saat ini sebagai status historis.

Corda - blockchain sumber terbuka untuk bisnis

Transaksi

Transaksi adalah usulan untuk memperbarui buku besar. Mereka tidak disiarkan ke semua peserta buku besar dan hanya tersedia bagi peserta jaringan yang memiliki hak hukum untuk melihat dan mengelolanya.

Suatu transaksi akan ditambahkan ke buku besar jika:

  • sah secara kontrak
  • ditandatangani oleh seluruh peserta yang diwajibkan
  • tidak mengandung pembelanjaan ganda

Corda menggunakan model UTXO (output transaksi yang tidak terpakai), di mana setiap status buku besar tidak dapat diubah.

Ketika suatu transaksi dibuat, status keluaran dari transaksi sebelumnya (berdasarkan hash dan indeks) ditransfer ke masukan.

Corda - blockchain sumber terbuka untuk bisnis
Siklus hidup transaksi:

  • Pembuatan (Saat ini transaksi hanya berupa usulan untuk memperbarui buku besar)
  • Kumpulkan tanda tangan (Pihak yang bertransaksi wajib menyetujui proposal pembaruan dengan menambahkan tanda tangan pada transaksi)
  • Komit transaksi ke buku besar

Setelah transaksi ditambahkan ke buku besar, status masukan ditandai sebagai riwayat dan tidak dapat digunakan dalam transaksi mendatang.

Corda - blockchain sumber terbuka untuk bisnis
Selain status input dan output, suatu transaksi mungkin berisi:

  • Perintah (parameter transaksi yang menunjukkan tujuan transaksi)
  • Lampiran (kalender hari libur, konverter mata uang)
  • Jendela waktu (masa berlaku)
  • Notaris (Notaris, peserta jaringan khusus yang memvalidasi transaksi)

Corda - blockchain sumber terbuka untuk bisnis

Kontrak.

Ketika kita berbicara tentang keabsahan transaksi, yang kita maksud bukan hanya adanya tanda tangan yang diperlukan, tetapi juga keabsahan kontrak. Setiap transaksi dikaitkan dengan kontrak yang menerimanya dan memvalidasi status input dan output. Suatu transaksi dianggap sah hanya jika semua statusnya valid.

Kontrak di Corda ditulis dalam bahasa JVM apa pun (misalnya Java, Kotlin).

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

Hal ini diperlukan untuk mewarisi dari suatu kelas Kontrak dan ganti metodenya memeriksa. Jika transaksi tidak valid, pengecualian akan diberikan.

Validasi transaksi harus bersifat deterministik, yaitu kontrak harus selalu menerima atau menolak transaksi. Sehubungan dengan itu, keabsahan transaksi tidak dapat bergantung pada waktu, nomor acak, file host, dll.

Di Corda, kontrak dieksekusi dalam apa yang disebut sandbox - JVM yang sedikit dimodifikasi yang menjamin eksekusi kontrak secara deterministik.

Aliran

Untuk mengotomatiskan komunikasi antar node jaringan, utas ditambahkan.

Alur adalah serangkaian langkah yang memberi tahu node cara melakukan pembaruan buku besar tertentu dan pada titik mana transaksi perlu ditandatangani dan divalidasi.

Corda - blockchain sumber terbuka untuk bisnis

Terkadang butuh waktu berjam-jam, berhari-hari hingga transaksi ditandatangani oleh semua pihak dan masuk ke buku besar. Apa yang terjadi jika Anda memutuskan sambungan node yang berpartisipasi dalam suatu transaksi? Thread memiliki pos pemeriksaan, di mana status thread ditulis ke database node. Ketika sebuah node dipulihkan ke jaringan, node tersebut akan melanjutkan aktivitasnya di tempat terakhirnya.

Konsensus

Untuk masuk ke dalam buku besar, suatu transaksi harus mencapai 2 konsensus: validitas dan keunikan.

Keputusan keabsahan suatu transaksi hanya diambil oleh pihak-pihak yang terlibat langsung di dalamnya.

Node notaris memeriksa keunikan transaksi dan mencegah pembelanjaan ganda.

Bayangkan Bob memiliki $100 dan ingin mentransfer $80 ke Charlie dan $70 ke Dan menggunakan status input yang sama.

Corda - blockchain sumber terbuka untuk bisnis

Corda tidak akan mengizinkan Anda melakukan trik seperti itu. Meskipun transaksi akan lolos pemeriksaan validitas, namun pemeriksaan keunikan akan gagal.

Kesimpulan

Platform Corda, yang dikembangkan oleh konsorsium blockchain R3, bukanlah kasus penggunaan murni untuk teknologi blockchain. Corda adalah alat yang sangat terspesialisasi untuk lembaga keuangan.

Sumber: www.habr.com

Tambah komentar