Radvocates Indonesia

Radix Engine: Alternatif Kontrak Cerdas yang Sederhana dan Aman

Radix Engine: Alternatif Kontrak Cerdas yang Sederhana dan Aman

Seperti yang kita bahas di posting sebelumnya, Radix terbuat dari dua lapisan: Radix Engine dan Radix Ledger. Radix Engine adalah lapisan aplikasi untuk Radix - bagian yang berinteraksi langsung dengan pengembang. Meskipun serupa dalam konsep dengan mesin virtual yang disediakan oleh platform kontrak pintar seperti Ethereum atau Hyperledger, Radix Engine adalah perubahan paradigma dari pengembangan kontrak pintar tradisional.

Radix Engine memungkinkan untuk dengan cepat dan percaya diri membangun aplikasi dan sistem bisnis yang memanfaatkan manfaat sebenarnya dari DLT - tetapi memerlukan sedikit perubahan mental. Posting blog ini menjelaskan metode baru untuk membangun aplikasi berbasis DLT dengan Radix, dengan kerumitan yang jauh lebih sedikit.
Pentingnya Sistem Transaksional

Inti dari setiap bisnis adalah sumber kebenaran. Misalnya, saat ini sumber kebenaran di bank sering disebut “buku besar”. Di perusahaan manufaktur, itu mungkin sesuatu dari SAP. Terlepas dari apa bentuknya, sumber kebenaran yang paling berharga menjawab pertanyaan seperti:

“Berapa saldo rekening pelanggan kami saat ini?”

“Di mana lokasi produk kami dan siapa yang memilikinya?”

“Siapa yang mengotorisasi transaksi ini dan kapan?”

Sumber kebenaran yang ideal memberikan jawaban yang selalu benar, dan selalu tersedia. Ini harus memberikan jawaban tersebut sambil menangani ratusan, ribuan, atau jutaan aset, pengguna, produk, atau akun secara bersamaan. Ini bukan pertanyaan kecil.

Membangun sumber kebenaran yang lebih baik berarti biaya operasional yang lebih rendah, manajemen risiko yang lebih baik, kecepatan modal yang lebih tinggi, pembuatan platform yang dapat dioperasikan, atau bahkan menghindari bencana. Ini adalah manfaat besar bagi perusahaan dari hampir semua ukuran, baik perusahaan Fortune 500 atau startup yang mengganggu - atau apakah industri tersebut adalah perbankan, logistik, obat-obatan, asuransi, ritel, real estat, atau media.

Agar sistem dapat bertindak sebagai sumber kebenaran yang berwibawa, sistem tidak bisa hanya menjadi penyimpan keadaan bisnis. Itu harus menegakkan aturan proses bisnis yang mengatur transaksi yang menciptakan keadaan bisnis. Biarkan transaksi yang tidak valid lewat dan Anda akan menemukan di jalan bahwa "sumber kebenaran" Anda berbohong kepada Anda (kesalahan yang mahal). Oleh karena itu, sumber kebenaran yang sebenarnya haruslah sistem transaksional yang kuat yang mengoperasikan bagian bisnis yang paling sensitif.

DLT hanya dapat digunakan sebagai catatan transaksi yang ditangani di sistem lain, tetapi ini hanya memanfaatkan sebagian kecil dari kemampuan DLT. DLT adalah teknologi transaksional inheren yang mampu, jika digunakan sepenuhnya, mengintegrasikan penegakan proses bisnis dan penyimpanan negara menjadi sistem transaksional yang lengkap. Ini adalah fondasi yang sangat baik untuk sumber kebenaran yang lebih baik dengan semua keuntungan yang disebutkan di atas.

Sistem transaksional DLT pertama adalah Bitcoin dan sederhana: ia memberlakukan aturan transaksional dari sumber kebenaran "uang digital". Bagaimana cara kami memberikan alat kepada pengembang DLT untuk membangun dunia sistem transaksional lain yang lebih kompleks - untuk menciptakan sumber kebenaran yang lebih baik bagi bisnis dan aplikasi dunia?
Cara Kontrak Cerdas

Menegakkan aturan transaksional DLT adalah peran lapisan aplikasinya. Lapisan aplikasi berada di atas lapisan buku besar (seperti blockchain) dan menentukan bagaimana DLT dikonfigurasi dan digunakan oleh pengembang. Ini mendefinisikan transaksi apa yang valid, sementara lapisan buku besar menyelesaikan setiap konflik antara transaksi dan mencatat hasil otoritatif akhir. Desain lapisan aplikasi DLT menentukan jenis sistem transaksional apa yang dapat dibangun, dan kesulitan dalam melakukannya.

Dalam lapisan aplikasi uang digital Bitcoin, transaksi dinyatakan sebagai perubahan pada "mesin negara" yang disebut UTXO. Mesin negara sangat kuat karena mereka menggambarkan sistem dalam hal apa yang diizinkan terjadi, bukan apa yang dilarang. Singkatnya, daripada menjalankan pemeriksaan "jika-maka" untuk menghindari melakukan hal yang salah, mesin negara tidak mampu melakukan hal yang salah menurut definisinya. Ini memberi Bitcoin keamanan yang melekat sebagai sumber kebenaran uang digital.

Platform Blockchain setelah Bitcoin berusaha untuk menggeneralisasi model lapisan aplikasi Bitcoin untuk mengaktifkan aplikasi apa pun, bukan hanya uang digital. Ethereum menawarkan pengembangan aplikasi melalui mesin virtual yang menjalankan kode kontrak pintar khusus, dengan setiap kontrak pintar diwakili secara keseluruhan sebagai satu mesin negara yang kompleks. Dengan cara ini, Ethereum membuat "komputer dunia" di mana komputasi apa pun ("Turing selesai") dilakukan sebagai pembaruan terpisah ke satu status. Model kontrak pintar umum yang sama ini telah diadopsi oleh hampir setiap blockchain berorientasi aplikasi saat ini, termasuk DLT pribadi seperti Hyperledger. 9b3413a89372c1e24946fe53094dbae01ac734c3a7b3df061fa76905568adbad.png   Namun, pendekatan kontrak pintar memperkenalkan perubahan yang halus namun penting pada model keamanan. Mesin negara bagian UTXO Bitcoin cukup sederhana dan secara langsung memodelkan transaksi individu Bitcoin. Tetapi mesin status kontrak pintar lebih seperti kotak hitam kompleks di mana kami dijamin bahwa kode di dalam kotak akan berjalan dengan benar, tetapi tidak ada jaminan apa pun bahwa kode tersebut dengan benar memodelkan perilaku yang Anda inginkan. Kami kembali menulis jika-maka memeriksa di mana bug mengarah pada pembaruan "benar" ke keadaan yang mungkin merupakan kesalahan secepat perilaku yang diinginkan.

Meskipun kontrak pintar bergaya Ethereum secara teoritis kuat, tetapi mereka memberikan beban yang luar biasa pada pengembang. Untuk membuat aturan tentang bagaimana transaksi dalam aplikasi harus berperilaku, pengembang dipaksa untuk mengambil tanggung jawab dalam mengimplementasikan dan menyebarkan kode kontrak pintar yang sangat aman. Untuk teknologi yang ditujukan untuk sistem transaksional di mana kepercayaan dan keamanan adalah kuncinya, ini sangat tidak menarik. Membangun fungsionalitas token sederhana dapat diterapkan, tetapi bahkan aplikasi yang sedikit lebih kompleks telah berakhir dengan hasil bencana.

Kami membutuhkan jenis lapisan aplikasi DLT baru di mana sistem transaksional dapat dengan mudah ditentukan dengan keamanan yang melekat pada kas digital UTXO Bitcoin yang sederhana. Kami ingin memberi pengembang alat untuk mengekspresikan secara langsung aturan transaksi yang relevan dengan bisnis yang diberlakukan secara otomatis, daripada membuat kode kontrak pintar yang dibuat dengan hati-hati.   Cara Kerja Radix Engine

Bitcoin berfungsi sebagai uang digital karena lapisan aplikasinya secara langsung memodelkan dan menegakkan ekspektasi kami tentang perilaku uang tunai di dunia nyata. Mesin Radix hanya memperluas filosofi ini dan membuatnya lebih dapat disesuaikan untuk pengembang.

Mari kita lihat kembali jenis pertanyaan yang harus selalu dapat dijawab oleh sumber kebenaran bisnis yang baik:

“Berapa saldo rekening pelanggan kami saat ini?”

“Di mana lokasi produk kami dan siapa yang memilikinya?”

“Siapa yang mengotorisasi transaksi ini dan kapan?”

Agar sistem transaksional dapat memberikan jawaban ini, harus secara langsung memodelkan aset bisnis dan bagaimana mereka harus berperilaku dalam transaksi. Aset ini bisa berupa uang, produk, otorisasi, koleksi, pinjaman, tiket, suara, paket data, atau bahkan identitas - apa pun yang harus ditransaksikan dan dikelola dengan benar.

Bahasa asli pengembangan di atas Radix Engine adalah aset, dan pengembangan di Radix dimulai bukan dengan kode kontrak pintar, tetapi dengan mendefinisikan aset dari sistem transaksional yang diinginkan - singkatnya, dengan jelas mendefinisikan kebutuhan bisnis. Dengan menjadikan aset bisnis sebagai blok bangunan dasar untuk pengembangan menggunakan Radix Engine, transaksi Radix menjadi intuitif:

Pindahkan uang antar rekening pelanggan (jika tersedia saldo yang cukup)

Kelola pengiriman produk antar operator (jika rantai pengawasan diikuti)

Memproses transaksi pada saat ini (jika pemohon memiliki otorisasi yang tepat)

Batasan "jika" harus melekat dalam definisi aset: uang adalah aset yang hanya dapat dipindahkan jika tersedia; pengiriman adalah aset yang hanya dapat mengubah hak asuh ke pihak berikutnya yang benar di sepanjang rantai; transaksi tertentu dari suatu jenis mungkin memerlukan persetujuan khusus dan cap waktu oleh pengguna yang berwenang.

Radix Engine memungkinkan pengembang untuk dengan mudah memetakan aset bisnis ke komponen Radix yang sudah dibuat sebelumnya. Radix menyediakan (dan terus mengembangkan) berbagai komponen yang dapat disesuaikan untuk memungkinkan pengembang menentukan aset yang sesuai dengan kebutuhan sistem transaksional dunia nyata. Komponen gaya blok penyusun ini dikemas ke dalam Radix Engine Library yang berjalan di dalam Radix Engine di node jaringan Radix.

Kustomisasi komponen menentukan aturannya: siapa yang dapat membuat atau menghancurkannya, siapa (atau sistem lain apa) yang dapat memiliki atau mengontrolnya, langkah apa yang harus diikuti, atau bagaimana hal itu bergantung pada aset lain. Kami menemukan bahwa beberapa komponen yang dirancang dengan baik seperti ini dapat memodelkan rangkaian sistem transaksional yang hampir universal. Kami akan membahas bagaimana membuat model berbagai kasus penggunaan DLT di posting selanjutnya.

Diagram komparatif blockchain vs mesin Radix 2c6dbd6c45920499d0cf474cab68cb839dae57e12e5d6e15334945e61864eb42.png Setelah aset dikonfigurasi dan dikeluarkan, transaksi Radix yang menggunakannya terlihat mirip dengan permintaan transaksi yang relevan dengan bisnis yang intuitif, seperti yang di atas. Mesin Radix secara otomatis memastikan bahwa hanya transaksi valid yang mengikuti aturan semua aset yang terlibat yang diterima. Transaksi yang valid kemudian ditangani oleh Radix Ledger untuk menyelesaikan konflik dan melakukan pembaruan terakhir ke status sumber kebenaran.

Mendefinisikan, menerbitkan, mengelola, dan mentransaksikan aset Radix Engine semuanya disediakan melalui Radix API. Library Radix dalam bahasa yang umum digunakan seperti Java dan JavaScript membuatnya semudah mungkin untuk menggunakan Radix API. Tidak diperlukan kode kontrak pintar.

Pendekatan "berorientasi aset" dari Radix Engine untuk pengembangan aplikasi DLT memiliki banyak manfaat.

Pengembangan sangat disederhanakan. Pengembang dapat fokus pada pemodelan perilaku proses bisnis yang harus diberlakukan, daripada membangunnya dari awal dalam bahasa pemrograman tujuan umum.

Sistem transaksional yang dihasilkan merupakan sumber kebenaran yang lebih aman secara inheren. Penegakan proses bisnis yang benar dibangun ke dalam definisi aset asli - bukan fungsi pemeriksaan jika-maka yang cermat dalam kode kontrak pintar. Hanya perilaku yang benar dari aset kami yang mungkin, sehingga kebenaran sumber kebenaran dijamin oleh DLT.

Aplikasi DLT lebih mudah disusun. Karena fungsionalitas diekspresikan dalam bentuk aset yang memodelkan hal-hal yang menjadi perhatian bisnis, fungsionalitas baru dapat secara intuitif disusun dari aset yang ada ini tanpa memodifikasi kotak hitam kontrak pintar. Kemampuan untuk membangun fungsionalitas yang tidak terduga dengan komponen yang ada sangat kuat dan akan dibahas lebih lanjut di posting selanjutnya.

Hasilnya adalah metode inheren yang sederhana dan langsung untuk mendefinisikan sistem transaksional yang merupakan sumber kebenaran yang kokoh untuk bisnis. Sistem database tradisional yang memberikan fungsionalitas semacam ini, untuk bisnis dalam skala apa pun, biasanya merupakan subjek dari tim profesional yang membangun, memelihara, men-debug, dan mengauditnya. Radix Engine menghilangkan sebagian besar pengembangan dan risiko pencapaian sistem seperti itu, sementara buku besarnya memungkinkan sistem untuk berjalan secara aman dengan skala besar, redundansi, dan konkurensi tanpa refactoring kode aplikasi inti.
Bagaimana Cara Kerja Mesin Radix?

Di bawah Radix API, Radix Engine mengekspresikan semua aset dan transaksi ini sebagai mesin status diskrit - yang semuanya secara otomatis dan individual memiliki jenis jaminan validitas sebagai transaksi berbasis mesin status UTXO Bitcoin. Kami menyebutnya "model atom", di mana "atom" adalah transaksi yang diminta yang berisi beberapa "partikel" yang akan - jika semuanya valid dan tidak bertentangan - secara individual memperbarui semua mesin negara yang mewakili aset bisnis. Komponen pemodelan aset yang disediakan di pustaka Radix Engine diekspresikan, di bawah kap, melalui mesin status partikel ini.

Dalam kebanyakan kasus, komponen Radix Engine Library cukup untuk membuat model aset yang paling umum dari sistem transaksional. Namun jika penyesuaian yang lebih besar diperlukan oleh pengembang yang lebih mahir, jenis aset baru dapat dibangun dan digunakan dalam Radix Engine Library sebagai partikel khusus dan mesin pembatas (aturan yang menentukan perubahan status partikel yang valid).  

 

Translator:   Radvocate Kukilo Ski    

How do you rate this article?

0


definews
definews

Crypto Learner


Radvocates Indonesia
Radvocates Indonesia

Introducing Radix DLT to indonesian people

Publish0x

Send a $0.01 microtip in crypto to the author, and earn yourself as you read!

20% to author / 80% to me.
We pay the tips from our rewards pool.

Page not displaying correctly?