Versi dokumen orisinal: Unlocking more opportunities with PlutusV3
Dipublikasikan pada tanggal 12 Februari 2024
Ditulis oleh Olga Hryniuk
Terjemahan ke dalam Bahasa Indonesia oleh @andreassosilo
(Translated to Indonesian language by @andreassosilo)
Membuka lebih banyak peluang dengan PlutusV3
PlutusV3 akan meningkatkan pengalaman developer dengan meningkatkan adopsi kontrak pintar, memberikan dukungan untuk fitur tata kelola dan pemungutan suara, serta mendorong interoperabilitas antar blockchain.
12 Februari 2024 | Olga Hryniuk | bacaan 5 menit
PlutusV3, kini tersedia untuk diuji coba di SanchoNet, memperkenalkan primitif Plutus yang canggih dan menyediakan lebih banyak alat bagi developer serta membuka lebih banyak kemungkinan untuk menulis kontrak pintar.
Peningkatan pengalaman developer dan adopsi kontrak pintar sangat penting untuk lanskap kontrak pintar yang berkembang di Cardano. Selama setahun terakhir, munculnya dan pertumbuhan sejumlah perangkat developer yang dibangun oleh komunitas dan bahasa alternatif telah menambah banyak opsi developer dan kehidupan ekosistem pembangun Cardano. Untuk terus memperluas kemampuan, tim Plutus dan kriptografi di Input Output Global (IOG) – bekerja sama dengan MLabs – bekerja pada PlutusV3, berfokus pada kinerja, throughput, ukuran kontrak pintar, dan kemampuan platform. Dengan toolkit developer yang diperkaya dan efisiensi operasional yang lebih baik, upgrade ini tidak hanya mengurangi biaya tetapi juga membantu menarik developer baru.
Apa itu PlutusV3?
PlutusV3 adalah bahasa ledger baru yang meningkatkan kemampuan kriptografi Plutus Core, memungkinkan Cardano untuk sesuai dengan standar industri terbaru. Pembaruan Valentine setahun yang lalu menambahkan dukungan untuk kurva eliptik SECP (ECDSA dan Schnorr).
Pengenalan primitif kriptografi baru dengan V3 membantu developer memenuhi praktik terbaik industri, menggunakan algoritma kriptografi yang terkenal dan optimal, mengonversi kontrak pintar dari Ethereum, dan membuat jembatan sidechain. Selain primitif kriptografi, PlutusV3 meningkatkan kinerja dengan menambahkan fitur sums of products (SOPs) untuk mendukung pengkodean langsung dari berbagai jenis data. Terakhir, V3 menyediakan konteks skrip yang diperbarui yang akan memungkinkan pengguna melihat entitas terkait tata kelola CIP-1694.
Mari kita telaah lebih lanjut tentang fungsi-fungsi baru ini.
Penjumlahan dari produk
Salah satu cara umum untuk mengkodekan jenis data dalam Plutus Core adalah dengan menggunakan pendekatan Scott. PlutusV3 memperkenalkan penjumlahan dari produk (sum of products) - cara mengkodekan jenis data yang menghasilkan skrip yang lebih kecil dan lebih murah dibandingkan dengan pengkodean Scott.
Pendekatan penjumlahan dari produk bertujuan untuk meningkatkan efisiensi skrip dan meningkatkan generasi kode untuk kompiler Plutus Core. Perubahan tersebut melibatkan konstruktor term baru untuk mem-packing field ke dalam nilai konstruktor dan inspeksi tag yang efisien untuk cabang kasus. Manfaatnya adalah potensi bagi program untuk berjalan 30% lebih cepat, yang merupakan optimisasi kinerja yang signifikan, menyederhanakan operasi dan memastikan eksekusi cepat dari kontrak pintar. Untuk lebih detailnya, lihat CIP-85.
Primitif Kriptografi Baru
Pusat dari setiap blockchain adalah penggunaan primitif kriptografi, yang mencakup fungsi hash, tanda tangan digital, dan zero-knowledge proof (ZKP). Elemen-elemen dasar ini dirancang untuk efisiensi komputasi, memastikan keamanan yang kokoh yang disesuaikan dengan aplikasi mereka masing-masing. Hasilnya adalah seperangkat jaminan keamanan yang membentuk ekosistem tanpa kepercayaan, memfasilitasi keterlibatan yang lancar dengan jaringan peer-to-peer (P2P) Cardano dan aplikasi terdesentralisasi (DApps)-nya.
Dalam bahasa Plutus, fungsi bawaan adalah fungsi yang tidak secara eksplisit didefinisikan dalam skrip tetapi merupakan bagian dari lingkungan runtime bahasa tersebut. Menggunakan fungsi-fungsi ini memungkinkan interpreter untuk menyediakan implementasi yang dioptimalkan khusus untuk sistemnya saat menjalankan skrip. Fungsi bawaan menjalankan operasi yang sering digunakan dan terdefinisi dengan baik, mencakup aritmatika, kontrol, dan tugas-tugas penting lainnya. Saat kita menjelajahi PlutusV3, mari kita telusuri primitif bawaan baru yang akan memperkaya kemampuan bahasa tersebut:
- BLS12-381 - pasangan kurva ini mencakup 17 primitif yang mendukung kurva kriptografi, membuka pintu untuk implementasi spesifikasi sidechain yang mulus dan integrasi Mithril.
- Blake2b-224 - sebuah fungsi hash kriptografi untuk komputasi on-chain dari hash kunci publik untuk validasi tanda tangan transaksi. Implementasi Blake2b-224 mendukung proyek-proyek komunitas, berkontribusi pada keluwesan Cardano dan adopsi dengan menampung berbagai aplikasi.
- Keccak-256 - sebuah fungsi hash kriptografi yang menghasilkan nilai hash 256-bit (32-byte), umumnya digunakan untuk verifikasi data yang aman. Keccak-256 mendukung verifikasi tanda tangan Ethereum dalam skrip. Ini penting untuk solusi lintas rantai dan memfasilitasi proyek-proyek komunitas dengan memperluas kasus penggunaan di Cardano.
Memberdayakan developer dengan primitif bitwise
Pengenalan CIP-58 primitif bitwise akan memberikan para developer kemampuan yang tangguh untuk manipulasi bit tingkat rendah. Penambahan ini menawarkan manfaat yang mendalam bagi developer baik dalam optimasi kinerja maupun fungsionalitas kriptografi. Dengan rencana penyebaran bertahap mereka, primitif bitwise memastikan proses integrasi yang lancar dan mendorong lingkungan yang kokoh bagi para developer untuk membangun solusi yang kuat dan efisien di Cardano.
Primitif bitwise memungkinkan fitur-fitur berikut:
- Peningkatan kinerja. Primitif bitwise memperkenalkan kemampuan untuk manipulasi bit tingkat sangat rendah dalam Plutus. Kemampuan ini membentuk dasar untuk menjalankan operasi-manipulasi data berkinerja tinggi, sebuah aspek yang penting bagi pengembang yang mencari solusi yang efisien. CIP-58 akan menambahkan kelas fungsi tingkat rendah untuk algoritma dan struktur data yang sangat efisien.
- Dukungan kriptografi. Primitif bitwise penting untuk mendukung fungsi kriptografi. Primitif-primitif ini memungkinkan implementasi algoritma kriptografi yang aman dan tangguh dalam Plutus.
- Konversi integer-ke-bytestring untuk integrasi yang lancar. Primitif bitwise memfasilitasi implementasi standar dan berkinerja tinggi untuk konversi antara integer dan bytestring. Kemampuan ini penting karena primitif-primitif memerlukan argumen dalam format bytestring, sedangkan data sering kali disajikan dalam format integer.
Peningkatan Plutus akan menambahkan dua primitif bitwise: integerToByteString
dan byteStringToInteger
. Primitif-primitif yang tersisa akan ditambahkan ke PlutusV3 secara bertahap. Ke depan, peningkatan semacam ini tidak akan memerlukan bahasa ledger baru. Pendekatan penyebaran bertahap ini memastikan integrasi sistematis fitur-fitur kuat ini ke dalam bahasa Plutus.
Mulai dari rilis Cardano node v.8.8.0-pre, PlutusV3 kini tersedia di SanchoNet, memperkenalkan fitur-fitur tata kelola dari CIP-1694 dalam lingkungan testnet terkontrol kepada komunitas Cardano.
Kesimpulan
Di antara manfaatnya, PlutusV3 menawarkan efisiensi yang lebih besar, opsi, dan kemudahan penggunaan bagi komunitas developer Cardano - semua kunci untuk menumbuhkan adopsi developer. Mengutamakan aspek-aspek seperti kinerja, throughput, ukuran kontrak pintar, dan kemampuan platform memastikan bahwa developer Cardano dapat menggunakan standar terbaru. Perbaikan-perbaikan ini memfasilitasi migrasi yang lancar dari kontrak pintar Ethereum, memungkinkan penciptaan jembatan sidechain, dan pada akhirnya berkontribusi pada perluasan ekosistem Cardano.
Ikuti IOG X (Twitter) untuk pengumuman lebih lanjut.