Versi dokumen orisinil Cardano’s Extended UTXO accounting model – built to support multi-assets and smart contracts (part 2).
Dipublikasikan pada tanggal 12 Maret 2021
Ditulis oleh Fernando Sanchez
Terjemahan ke dalam Bahasa Indonesia oleh @andreassosilo
(Translated to Indonesian language by @andreassosilo)
Model akuntansi UTXO yang diperpanjang dari Cardano - dibuat untuk mendukung multi-aset dan kontrak pintar (bagian 2)
Di bagian kedua dari artikel tentang model akuntansi EUTXO Cardano, kami akan membahas lebih banyak tentang komponen transaksi, rangkaian UTXO, dan mempelajari lebih dalam alasan model EUTXO Cardano
Yesterday we offered an [overview] of the Extended UTXO model employed by Cardano, explaining how it differs from the approaches taken by Bitcoin and Ethereum. Now let’s dive a little deeper into inputs and outputs, the component parts of a transaction.
Kemarin kami menawarkan gambaran umum tentang model Extended UTXO yang digunakan oleh Cardano, menjelaskan perbedaannya dari pendekatan yang diambil oleh Bitcoin dan Ethereum. Sekarang mari selami lebih dalam tentang masukan dan keluaran, bagian-bagian komponen dari sebuah transaksi.
Kita perlu berbicara tentang transaksi: Output dan Input
Istilah transaksi biasanya menimbulkan gaung finansial. Sementara arti seperti itu berlaku untuk Bitcoin (karena blockchain Bitcoin digunakan untuk memindahkan dana antar rekan), banyak blockchain lainnya (termasuk Cardano) jauh lebih serbaguna. Dalam kasus ini, istilah ‘transaksi’ jauh lebih bernuansa. Seseorang dapat menganggap transaksi sebagai transfer nilai.
Dalam lingkungan blockchain, setiap transaksi dapat memiliki satu atau beberapa masukan, dan satu atau beberapa keluaran. Konsep Input dan Output harus dipahami, jika seseorang ingin memahami cara kerja transaksi, dan bagaimana kaitannya dengan UTXO. Dalam istilah abstrak, pikirkan transaksi sebagai tindakan yang membuka keluaran sebelumnya, dan membuat keluaran baru.
Output transaksi
Keluaran transaksi mencakup alamat (yang dapat Anda anggap sebagai kunci) dan nilai. Sesuai dengan analogi ini, tanda tangan yang dimiliki alamat adalah kunci untuk membuka kunci keluaran. Setelah dibuka, keluaran dapat digunakan sebagai masukan. Transaksi baru mengeluarkan keluaran dari transaksi sebelumnya, dan menghasilkan keluaran baru yang dapat dikonsumsi oleh transaksi di masa depan. Setiap UTXO hanya dapat dikonsumsi satu kali, dan secara keseluruhan. Setiap keluaran dapat digunakan hanya dengan satu masukan, dan satu masukan saja.
Input transaksi
Input transaksi adalah output dari transaksi sebelumnya. Input transaksi mencakup penunjuk dan tanda tangan kriptografik yang berfungsi sebagai kunci pembuka. Pointer menunjuk kembali ke keluaran transaksi sebelumnya, dan kuncinya membuka keluaran ini. Ketika sebuah keluaran dibuka kuncinya oleh sebuah masukan, blockchain menandai keluaran yang tidak terkunci tersebut sebagai “dihabiskan”. Keluaran baru yang dibuat oleh transaksi tertentu kemudian dapat diarahkan ke masukan baru, dan rantai terus berlanjut. Keluaran baru ini (yang belum dibuka kuncinya, yaitu, dihabiskan) adalah UTXO. Keluaran yang tidak terpakai adalah keluaran yang belum dibelanjakan.
Singkatnya, bagaimana UTXO bekerja
Dalam model akuntansi UTXO, transaksi menggunakan keluaran yang tidak terpakai dari transaksi sebelumnya, dan menghasilkan keluaran baru yang dapat digunakan sebagai masukan untuk transaksi di masa mendatang.
Dompet pengguna mengelola UTXO ini dan memulai transaksi yang melibatkan UTXO milik pengguna. Setiap node blockchain menyimpan catatan subset dari semua UTXO setiap saat. Ini disebut *set UTXO . Dalam istilah teknis, ini adalah chainstate, yang disimpan di direktori data setiap node. Saat blok baru ditambahkan ke rantai, kondisi rantai diperbarui sesuai dengan itu. Blok baru ini berisi daftar transaksi terbaru (tentu saja termasuk catatan UTXO bekas, dan yang baru dibuat sejak kondisi rantai terakhir diperbarui). Setiap node menyimpan salinan kondisi rantai yang tepat.
EUTXO: Alasan di balik pilihan Cardano
Model akuntansi UTXO ‘vanilla’ Bitcoin tidak akan cocok untuk Cardano, karena Cardano dirancang untuk melakukan lebih dari sekadar menangani pembayaran. Khususnya, kebutuhan akan ekspresi pemrograman yang lebih banyak untuk fungsionalitas kontrak pintar yang akan datang di era Alonzo membutuhkan solusi baru yang (‘Ditambah’).
Model UTXO ‘dasar’ memiliki ekspresi kemampuan program yang terbatas. Model akuntansi Akun / Saldo Ethereum membahas masalah khusus ini dengan pengembangan buku besar berbasis akun dan akun kontrak terkait. Namun dengan melakukan itu, semantik kode kontrak menjadi jauh lebih kompleks, yang memiliki efek yang tidak diinginkan yang memaksa penulis kontrak untuk sepenuhnya memahami nuansa semantik untuk menghindari pengenalan kerentanan yang berpotensi sangat mahal dalam kode.
Solusi ‘tambahan’ UTXO akan memerlukan dua bagian fungsi tambahan yang tidak dapat disediakan oleh model UTXO yang ada:
1 - Untuk dapat mempertahankan status kontrak
2 - Untuk dapat menegakkan bahwa kode kontrak yang sama digunakan di sepanjang urutan transaksi. Kami menyebutnya kontinuitas.
Fitur hebat dari model EUTXO adalah bahwa biaya yang diperlukan untuk transaksi yang valid dapat diprediksi dengan tepat sebelum mempostingnya. Ini adalah fitur unik yang tidak ditemukan dalam model berbasis akun.
Bagaimana model EUTXO memperluas UTXO?
Dengan menambahkan data khusus ke keluaran (selain nilai), dan dengan mengizinkan lebih banyak “gembok” dan “kunci” yang memutuskan dalam kondisi apa masukan dapat dibuka gemboknya untuk dikonsumsi oleh transaksi. Dengan kata lain, alih-alih hanya memiliki kunci publik (hashes) untuk gembok dan tanda tangan terkait yang berfungsi sebagai “kunci”, EUTXO mengaktifkan logika arbitrer dalam bentuk skrip. Logika arbitrer ini memeriksa transaksi dan datanya untuk memutuskan apakah transaksi diizinkan menggunakan input atau tidak.
Kesimpulan: Apa yang membuat model EUTXO inovatif dan relevan
Model buku besar Cardano memperluas model UTXO untuk mendukung multi-aset dan kontrak pintar tanpa mengorbankan keunggulan inti model UTXO. Penelitian inovatif kami memungkinkan fungsionalitas di luar apa yang didukung di buku besar UTXO lainnya, menjadikan Cardano pesaing unik di ruang blockchain generasi berikutnya.