🇮🇩 Memahami Arti Diperluas dalam Model UTxO Cardano

Screenshot_20231127-193204_Mises

Memahami Arti Diperluas dalam Model UTxO Cardano

Bitcoin menggunakan model akuntansi UTxO. Bagi tim IOG, model ini tidak cukup untuk misi Cardano, sehingga mereka memperluasnya. Cardano menggunakan model Extended UTxO. Pada artikel ini kami akan menjelaskan arti ‘Diperpanjang’.

Lebih dari Pembayaran
Jaringan Bitcoin dirancang untuk pembayaran. Model Bitcoin UTxO memiliki ekspresi kemampuan program yang terbatas. Cardano adalah platform kontrak pintar yang memungkinkan pengembang melakukan operasi yang lebih luas terkait nilai, misalnya bekerja dengan UTxOs.

Perpanjangan model UTxO menyangkut properti berikut:

Kemampuan untuk mempertahankan status kontrak.
Kemampuan untuk menggunakan kembali kode kontrak untuk urutan transaksi. Tim menyebutnya kontinuitas.
Kemampuan untuk mendukung multi-aset.
Kemampuan untuk mendukung ekspresi yang lebih tinggi dan kemampuan program kontrak pintar (skrip).
Bitcoin tidak dapat menyediakan properti ini, atau hanya pada tingkat yang sangat terbatas. Bitcoin dirancang sebagai jaringan transaksi yang pada dasarnya hanya memvalidasi kunci untuk memverifikasi kondisi pengeluaran. Bitcoin tidak cocok untuk operasi keuangan yang lebih kompleks, misalnya untuk pelaksanaan kontrak pintar.

Kemampuan UTxO dan Skrip Bitcoin
Dalam Bitcoin, sebuah alamat dihasilkan dengan melakukan hashing pada kunci publik. Proses ini dikenal sebagai ‘mengunci kunci publik’. Ketika seseorang mengirim BTC ke suatu alamat, mereka pada dasarnya menguncinya ke kunci publik yang terkait dengan alamat tersebut.

Untuk membelanjakan BTC yang dikunci ke alamat tertentu, pemilik alamat tersebut harus membukanya dengan memberikan tanda tangan digital. Tanda tangan ini dihasilkan menggunakan kunci pribadi yang terkait dengan kunci publik dari alamat tersebut. Tindakan menandatangani transaksi dengan kunci pribadi secara efektif membuka kunci BTC, sehingga memungkinkannya untuk dibelanjakan.

Dalam Bitcoin, sebuah alamat dapat dikaitkan dengan skrip, tetapi dengan cara yang spesifik. Bitcoin memiliki beberapa skrip berbeda, dengan Pay-to-Public-Key-Hash (P2PKH) menjadi yang paling populer.

Skrip Bitcoin (kode/program kecil) tertanam di bagian input dan output transaksi. Saat Anda membuat transaksi, pada dasarnya Anda sedang menulis skrip (opcode menentukan kondisi pembelanjaan). Untuk menerapkan skrip, Anda akan memasukkannya ke dalam transaksi Bitcoin.

Anda biasanya akan menemukan skrip ini:

scriptPubKey adalah skrip penguncian yang memerlukan kondisi tertentu yang harus dipenuhi agar penerima dapat membelanjakan BTC
scriptSig adalah skrip pembuka kunci yang memenuhi kondisi yang ditempatkan pada output oleh scriptPubKey, dan memungkinkan BTC untuk dibelanjakan
Script ditulis dalam Script. Bitcoin Script adalah bahasa pemrograman berbasis tumpukan yang digunakan untuk membuat transaksi Bitcoin. Bitcoin Script tidak memiliki banyak fungsi dari bahasa pemrograman umum. Ini bukan Turing yang lengkap, artinya tidak memiliki beberapa fungsi logis.

Jadi, meskipun alamat Bitcoin dapat dikaitkan dengan skrip, alamat tersebut biasanya dikunci ke kunci publik tertentu dan tidak mengandung logika arbitrer dalam bentuk skrip (pintar). Skrip sebagian besar digunakan untuk validasi kunci.

Skrip tidak disimpan secara terpisah di blockchain untuk digunakan kembali. Sebaliknya, setiap transaksi menyertakan skripnya sendiri.

Jadi, meskipun Anda dapat menggunakan skrip yang sama dalam beberapa transaksi, setiap skrip disimpan secara terpisah sebagai bagian dari transaksinya masing-masing. Tidak ada mekanisme untuk menyimpan skrip satu kali di blockchain dan kemudian mereferensikannya dalam beberapa transaksi.

Bitcoin Script tidak memiliki gagasan tentang negara. Semua informasi yang diperlukan terkandung dalam skrip penguncian dan pembukaan kunci. Ini berarti skrip tidak memiliki kewarganegaraan dan tidak menyimpan informasi apa pun di antara eksekusi. Skrip digunakan hampir secara eksklusif untuk mengunci dan membuka kunci BTC.

Dalam Bitcoin, UTxO digunakan untuk menyimpan dan mentransaksikan nilai BTC. Setiap UTxO mewakili sejumlah BTC yang telah dikirim ke alamat tertentu. Tidak mungkin membuat UTxO baru yang (secara eksklusif) mewakili token khusus dengan nilainya sendiri.

Anda mungkin pernah mendengar bahwa Bitcoin dapat memiliki token di lapisan pertama. Untuk pertama kalinya, itulah yang disebut koin berwarna. Ini tentang mengaitkan satoshi tertentu dengan token khusus. Ini secara efektif mengubahnya menjadi token, yang dapat digunakan untuk mewakili apa pun. Perlu dicatat bahwa ini bukanlah tanda dalam arti sebenarnya.

Mungkin ada UTXO dengan 1000 satoshi di mana 10 satoshi diwarnai sebagai token X. Jika Anda ingin mengirim hanya satu token X, UTxO baru harus dibuat. Konsep ini tidak dapat dijalankan.

Konsep Ordinal agak mirip dengan konsep koin berwarna namun dengan beberapa perbedaan utama. Ordinal adalah satoshi yang telah diurutkan dan ditorehkan dengan sepotong informasi, seperti teks atau gambar. Informasi ini membuat sat menjadi unik dan mengubahnya menjadi token non-fungible (NFT) secara de facto.

Bitcoin secara sederhana dapat digambarkan sebagai buku besar aset tunggal. Skrip Bitcoin tidak memiliki kewarganegaraan dan terutama digunakan untuk memvalidasi tanda tangan (kunci). Skrip ditransfer dalam transaksi dan tidak dapat disimpan di blockchain dan digunakan kembali.

Model UTxO yang Diperluas
Dalam model Extended UTxO, konsep ‘alamat’ digeneralisasikan. Daripada membatasi kunci pada kunci publik dan kunci pada tanda tangan, alamat dalam model EUTxO dapat (secara tidak langsung) berisi logika arbitrer dalam bentuk skrip.

Artinya, alih-alih hanya menjadi versi hash dari kunci publik, alamat di Cardano dapat dikaitkan dengan skrip melalui hash skrip yang terdapat di alamat tersebut. Hal ini memungkinkan transaksi dan interaksi yang lebih kompleks, seperti yang diperlukan untuk kontrak pintar.

Sebuah alamat dapat berisi hash dari skrip yang digunakan untuk mengidentifikasi skrip yang telah disimpan di blockchain.

Jadi, di Cardano, suatu transaksi dapat berisi dan mereferensikan skrip. Bitcoin tidak dapat mereferensikan skrip. Oleh karena itu, script harus selalu disertakan dalam transaksi.

Cardano dapat mereferensikan skrip. Skrip yang direferensikan ini dilampirkan pada keluaran dan dapat digunakan untuk memenuhi persyaratan skrip selama validasi. Artinya, transaksi yang menggunakan skrip umum bisa jauh lebih kecil. Transaksi yang menggunakan skrip tidak perlu menyediakannya sama sekali, asalkan mereferensikan output yang berisi skrip.

Konsep skrip referensi terkait dengan aspek kontinuitas model Extended UTXO Cardano. Kesinambungan kontrak memastikan bahwa kode kontrak yang sama dapat digunakan untuk serangkaian transaksi.

Platform Plutus memungkinkan pengembang untuk menulis aplikasi (skrip) yang berinteraksi dengan blockchain Cardano. Bahasa pemrograman Plutus berevolusi dari Haskell. Skrip Plutus adalah potongan kode yang mengimplementasikan fungsi murni dengan keluaran Benar atau Salah. Mereka digunakan untuk memvalidasi tindakan.

Dalam model Extended UTxO, skrip validator diberikan tiga argumen:

Datum: Ini adalah bagian data yang dilampirkan pada keluaran UTxO yang dikunci oleh skrip. Ini biasanya digunakan untuk membawa negara.
Penebus: Ini adalah bagian data yang dilampirkan pada input pengeluaran UTxO. Ini biasanya digunakan untuk memberikan masukan pada skrip dari pembelanja.
Konteks: Ini adalah bagian data yang mewakili informasi tentang transaksi pembelanjaan. Ini digunakan untuk membuat pernyataan tentang cara keluaran UTxO dibelanjakan.
Model EUTXO Cardano memungkinkan pengembang untuk menulis skrip stateful melalui penggunaan primitif ini.

Datum dapat digunakan untuk melacak keadaan skrip. Datum memainkan peran penting dalam menggunakan keluaran UTxO dari alamat skrip dan mengirimkannya ke alamat skrip. Jadi, di Cardano, Anda dapat mengaitkan suatu negara dengan skrip menggunakan Datum.

Ekspresifitas dan kemampuan program skrip Plutus memungkinkan pengembang untuk mengimplementasikan berbagai logika. Misalnya, skrip validator sederhana dapat memeriksa apakah kunci tertentu menandatangani transaksi pembelanjaan (ini mirip dengan skrip Bitcoin). Namun, dengan sedikit kehati-hatian, pengembang dapat menggunakan skrip untuk mengekspresikan logika yang lebih kompleks.

Penggunaan Datum dan Redeemer semakin meningkatkan kemampuan skrip ini, memungkinkan skrip tersebut membawa negara dan menerima masukan dari pembelanja. Skrip dapat mengambil nilai Datum dan Penebus, melakukan penghitungan atau perbandingan, lalu mengeluarkan nilai boolean (yang menentukan kemungkinan pembelanjaan).

Buku besar Cardano dirancang untuk mendukung banyak aset. Ini disebut buku besar multi-aset. Hal ini memungkinkan Cardano untuk melakukan akuntansi atau bertransaksi dengan lebih dari satu jenis aset (koin ADA asli).

Saat token dicetak, UTxO baru dibuat. Saat pengguna membuat token, pada dasarnya mereka membuat UTxO baru yang menyimpan token tersebut. UTxO ini kemudian dapat dibelanjakan dalam transaksi, seperti UTxO dengan koin ADA.

Skrip Plutus dapat bekerja dengan token sama persis dengan ADA.

Cardano secara sederhana dapat digambarkan sebagai buku besar multi-aset. Token yang dicetak adalah UTxO baru yang memiliki properti serupa dengan koin ADA. Skrip Plutus bersifat stateful. Skrip berfungsi dengan Datum, Penebus, dan konteks transaksi, memungkinkan pengembang membuat logika yang lebih kompleks (di luar verifikasi kunci). Skrip dapat disimpan dalam buku besar dan direferensikan berulang kali.

Kesimpulan
Model UTxO memiliki arti penting lain yang tidak disebutkan dalam artikel. Yakni untuk kemungkinan skalabilitas yang lebih tinggi. UTxO pada dasarnya adalah objek yang tidak bergantung pada lingkungannya. Transaksi dengan UTxO dapat divalidasi terlepas dari UTxO lainnya (yaitu pada dasarnya terlepas dari transaksi pengguna lain). Dengan kata lain, fitur lain yang didukung model UTxO adalah paralelisme. Fitur ini akan dimanfaatkan dengan peningkatan bernama Input Endorsers.

Mungkin perbedaan terbesar antara Bitcoin UTxOs dan Cardano UTxOs adalah kemampuan untuk menambahkan Datum, yaitu data arbitrer. Meskipun banyak perbedaan yang dijelaskan agak terkait dengan UTxO, perbedaan tersebut terutama disebabkan oleh perbedaan filosofi dan desain kedua proyek. Jika memungkinkan untuk menambahkan data (Datum) ke Bitcoin UTxO, Skrip Bitcoin perlu diperluas lebih lanjut. Data yang disimpan akan lebih berguna jika dapat dibandingkan dengan sesuatu, idealnya beberapa input transaksi (Penebus). Kemampuan untuk mencetak UTxO baru adalah fitur yang tidak sengaja dimiliki oleh Bitcoin. Pertimbangan tersebut dapat dilanjutkan lebih lanjut.

Blockchain terdiri dari beberapa komponen yang propertinya membentuk satu kesatuan. UTxO hanyalah salah satu dari komponen ini. Pemanfaatan potensi model akuntansi bergantung pada komponen lainnya. Potensi Extended UTxO terkait dengan platform Plutus, transaksi, kemampuan buku besar, dll.

Source : https://cexplorer.io/article/understanding-the-meaning-of-extended-in-cardano-s-utxo-model