Usaha Pandangan ke Depan: WASM - Mesin Era Baru

Pemula1/1/2024, 2:25:51 AM
Artikel ini membahas beberapa hubungan dan kasus penggunaan antara Wasm dan blockchain: kontrak pintar, interaksi lintas rantai, komputasi off-chain, dan privasi data.

TL;DR

WebAssembly (Wasm) adalah format instruksi biner portabel berkinerja tinggi yang dapat dijalankan di browser web. Ini dirancang sebagai target kompilasi universal yang dapat digunakan dengan berbagai bahasa pemrograman dan dijalankan pada platform berbeda.

Blockchain adalah teknologi buku besar terdistribusi terdesentralisasi yang menjamin keamanan dan kepercayaan data melalui penggunaan kriptografi dan algoritma konsensus. Blockchain dapat digunakan untuk mencatat transaksi, menyimpan data, dan melaksanakan kontrak pintar, di antara aplikasi lainnya.

Ada beberapa hubungan dan skenario penerapan antara Wasm dan blockchain:

  1. Kontrak Cerdas: Wasm dapat berfungsi sebagai lingkungan eksekusi untuk kontrak pintar, memungkinkan kontrak dijalankan pada platform blockchain yang berbeda. Kinerja tinggi dan portabilitas Wasm memungkinkan eksekusi kontrak pintar dan kegunaan lintas platform yang lebih efisien.
  2. Interoperabilitas Lintas Rantai: Wasm dapat digunakan untuk mengimplementasikan interoperabilitas lintas rantai. Dengan mengkompilasi logika berbagai blockchain ke dalam kode Wasm, logika yang sama dapat dijalankan pada blockchain yang berbeda, memungkinkan transfer data dan interaksi antar rantai.
  3. Komputasi Off-Chain: Wasm dapat digunakan untuk komputasi di luar blockchain dan mengirimkan hasil komputasinya ke blockchain. Hal ini memungkinkan peningkatan efisiensi dan fleksibilitas dalam komputasi sekaligus menjaga keamanan dan kepercayaan data.
  4. Privasi Data: Wasm dapat digunakan untuk mencapai perlindungan privasi data di blockchain. Dengan mengkompilasi logika pemrosesan data sensitif ke dalam kode Wasm dan mengeksekusinya di blockchain, privasi data dapat dijaga sekaligus memastikan verifikasi komputasi.

Singkatnya, kombinasi Wasm dan blockchain memberikan aplikasi dan layanan blockchain yang lebih efisien, aman, dan fleksibel. Portabilitas dan kinerja tinggi Wasm menjadikannya teknologi penting di bidang blockchain.

1. Apa itu Majelis Web?

WebAssembly adalah standar set instruksi yang efisien dan ringan yang dikembangkan oleh World Wide Web Consortium (W3C). Ini dipuji sebagai pengganggu web dan komputasi berkinerja tinggi, mendukung eksekusi lintas-browser. Ini berarti bahwa kita dapat mengkompilasi bahasa pemrograman yang berbeda, termasuk C/C++, Go, Rust, dan banyak lagi, ke dalam format biner standar terpadu dan menggunakannya sebagai pengganti JavaScript, berjalan dengan efisiensi kode yang mendekati aslinya di browser web.

WebAssembly, juga dikenal sebagai WASM, adalah teknologi yang aman untuk memori dan tidak bergantung pada platform yang dapat memetakan secara efisien ke berbagai arsitektur CPU. Ini menawarkan beberapa keuntungan utama:

  • Efisiensi: WASM memiliki serangkaian fitur bahasa yang lengkap dan merupakan format biner yang ringkas dan memuat cepat. Tujuannya adalah memanfaatkan sepenuhnya kemampuan perangkat keras untuk mencapai kinerja bahasa asli.
  • Keamanan: WASM berjalan di lingkungan eksekusi yang aman untuk memori dan dalam kotak pasir, dan bahkan dapat diimplementasikan dalam mesin virtual JavaScript yang ada. Di lingkungan web, WASM secara ketat mematuhi kebijakan asal yang sama dan kebijakan keamanan browser. Selama kompilasi, WASM membatasi antarmuka untuk mengurangi risiko keamanan. Sebagian besar aplikasi WASM tidak dapat mengakses internet (misalnya, tidak ada dukungan soket) dan terbatas pada akses database lokal. Banyak masalah keamanan yang timbul dari akses memori yang tidak sah, yang dapat diatasi selama kompilasi dengan WASM.
  • Kompatibilitas: WASM dirancang agar tidak memiliki versi, dapat diuji fiturnya, dan kompatibel dengan versi sebelumnya di web. Itu dapat dipanggil oleh JavaScript, masuk ke konteks JavaScript, dan mengakses fungsi browser seperti API Web. WASM dapat berjalan tidak hanya di browser web tetapi juga di lingkungan non-web seperti Node.js, Deno, dan perangkat IoT. Tidak seperti pendekatan tradisional yang memerlukan banyak kompilasi, WASM hanya perlu dikompilasi satu kali untuk eksekusi plug-and-play instan.

Selain itu, Web adalah satu-satunya platform universal yang memungkinkan akses ke aplikasi Anda di perangkat apa pun. Hal ini juga memungkinkan Anda mempertahankan basis kode tunggal, menyederhanakan pembaruan, dan memastikan bahwa semua pengguna dapat mengakses aplikasi Anda. WASM mendukung operasi bilangan bulat 64-bit dan 32-bit, yang secara langsung berhubungan dengan instruksi CPU. Dengan menghapus operasi floating-point, perilaku deterministik dapat dengan mudah dicapai, yang diperlukan untuk algoritma konsensus. Didukung oleh proyek infrastruktur compiler LLVM, WASM dapat memperoleh manfaat dari lebih dari satu dekade optimasi compiler di LLVM. WASM terus dikembangkan oleh perusahaan-perusahaan besar seperti Google, Apple, Microsoft, Mozilla, dan Facebook, dan didukung oleh backend browser yang dikembangkan oleh perusahaan-perusahaan tersebut.

Keunggulan WASM terletak pada kemampuannya untuk dijalankan dimana saja tanpa perlu mendownload atau menginstal, karena dalam format biner. Hanya dengan satu klik, aplikasi web dapat langsung dijalankan saat dibutuhkan. Ini bahkan lebih aman daripada mengunduh dan menjalankan file biner secara langsung, karena browser memiliki mekanisme keamanan bawaan yang mencegah kode yang dieksekusi membahayakan sistem Anda. Selain itu, berbagi aplikasi web itu sederhana - tautan dapat ditempatkan di mana saja sebagai string yang dapat diklik.

2. Mengapa Kita Membutuhkan Perakitan Web?

2.1 Web2

Web telah berevolusi dari sebuah platform untuk konten statis dan bahasa skrip kecil menjadi platform yang kuat dan populer yang dipenuhi dengan aplikasi dan fitur luar biasa, berkat fungsionalitas bawaan browser dan interaktivitas yang disediakan oleh Web. Namun, aplikasi Web sebagian besar masih digerakkan oleh bahasa skrip yang sama (JavaScript), yang pada awalnya tidak dirancang untuk menyelesaikan tugas-tugas ini.

JavaScript awalnya merupakan bahasa skrip sederhana yang bertujuan menghadirkan interaktivitas pada dokumen hypertext ringan dalam aplikasi Web. Desainnya mudah dipelajari dan ditulis, serta tidak memprioritaskan kecepatan runtime. Selama bertahun-tahun, peningkatan kinerja yang signifikan dalam penguraian JavaScript oleh browser telah menghasilkan peningkatan kinerja yang signifikan.

Dengan percepatan kecepatan eksekusi JavaScript, jangkauan hal-hal yang dapat dilakukan dalam browser telah berkembang secara signifikan. API baru telah memperkenalkan fitur seperti grafik interaktif, streaming video, penjelajahan offline, dan banyak lagi. Selain itu, semakin banyak aplikasi yang sebelumnya terbatas pada lingkungan desktop kini memasuki Web. Sekarang Anda dapat dengan mudah mengedit dokumen dan mengirim email di browser Anda. Namun, di domain tertentu, performa JavaScript masih menjadi tantangan. Pikirkan tentang aplikasi perangkat lunak yang Anda gunakan selain browser: permainan, pengeditan video, rendering 3D, atau produksi musik. Aplikasi ini memerlukan komputasi ekstensif dan kinerja tinggi. JavaScript kesulitan memenuhi persyaratan kinerja tinggi ini.

Namun, menggantikan JavaScript tidaklah praktis, dan mungkin diperlukan waktu puluhan tahun untuk mencapai tujuan tersebut, karena seluruh Internet bergantung padanya. Selain itu, ada komunitas besar yang terus meningkatkan JavaScript. Memang dibandingkan dengan bahasa lain, JavaScript memiliki beberapa kekurangan pada aspek seperti null dan ==. Namun, masalah ini tidak cukup parah sehingga memerlukan penggantian seluruh teknologi.

Jadi, WebAssembly tidak akan menggantikan JavaScript, namun bukan berarti WASM tidak akan digunakan di masa mendatang. Faktanya, penggunaan WASM akan semakin meluas. Hal ini karena WASM dapat menghadirkan kemampuan komputasi yang kuat ke web, seperti pemrosesan gambar atau permainan. Dengan WASM, Anda dapat membuat Photoshop versi berbasis web yang berjalan dengan baik, atau game 3D yang berjalan pada 60 frame per detik atau bahkan frame rate lebih tinggi di browser. Game, khususnya, menghadirkan tantangan karena memerlukan eksekusi pemrosesan audio dan video secara bersamaan, serta koordinasi efek fisika dan AI. WASM memiliki kemampuan untuk menjalankan game secara efisien di browser, membuka pintu untuk menghadirkan banyak aplikasi lain ke browser.

Gambar di atas menunjukkan perbandingan alur kerja antara JavaScript dan WebAssembly (wasm). Dapat diamati bahwa wasm jauh lebih ringkas dibandingkan dengan JavaScript.

2.2 Web3

VM WASM

Pada tahun 2018, ekosistem Ethereum mulai membahas penggunaan WASM VM sebagai mesin virtual kontrak pintar, karena dianggap memiliki kinerja lebih baik daripada EVM. Gavin Wood, penemu EVM, telah menyatakan kelayakan untuk menggantinya dengan WASM, dan Vitalik juga menyatakan bahwa Ethereum 2.0 akan ditingkatkan untuk mendukung kontrak WASM (eWASM) guna memenuhi lebih banyak kebutuhan pengembangan. Saat ini, perkembangan kontrak WASM telah mulai terbentuk.

2.3 Bagaimana EVM dirancang? Mengapa tidak efisien?

Masalah Ukuran Arsitektur

Komputer tradisional memiliki set instruksi yang menerima input 32 atau 64 bit. Namun, EVM berbeda dan unik karena merupakan komputer 256-bit yang dirancang untuk menangani algoritma hash Ethereum dengan lebih mudah, yang menghasilkan output 256-bit yang eksplisit.

Namun, komputer sebenarnya yang menjalankan program EVM perlu membagi kata 256-bit ke dalam arsitektur aslinya untuk menjalankan kontrak pintar, sehingga membuat keseluruhan sistem menjadi tidak efisien dan tidak praktis.

Selain itu, jika Anda ingin mengimplementasikan algoritme kompleks seperti SHA256 menggunakan OPCODE dasar EVM di Ethereum, Anda berada dalam kesulitan! Untuk mengatasi masalah biaya bahan bakar yang tinggi dalam menjalankan program kompleks melalui set instruksi, Ethereum memperkenalkan konsep prakompilasi, yang mengkompilasi program ke dalam EVM dan menggunakan sejumlah bahan bakar tetap. Prakompilasi yang penting adalah algoritme hash Ethereum, karena penerapannya di dalam mesin virtual akan mengakibatkan biaya yang sangat mahal saat kontrak dibatalkan.

Prakompilasi Kembung

Masalah dengan prakompilasi adalah bahwa hal ini terus meningkatkan pembengkakan dan kompleksitas mesin virtual, tanpa mengatasi masalah inti: desain set instruksi dan spesifikasi saat ini yang tidak efisien dan buruk.

Bagaimana jika kita dapat menentukan spesifikasi dan set instruksi baru yang tidak memerlukan kompilasi awal dari program kompleks ini, namun secara efisien mencapai hasil yang diinginkan melalui instruksi dasar? Di sinilah WASM berperan.

2.4 Perbandingan antara EVM dan WASM VM

  • Kecepatan: WASM bertujuan untuk memberikan kecepatan eksekusi yang lebih cepat dibandingkan dengan EVM. EVM mungkin memiliki masalah efisiensi dalam kompilasi dan pelaksanaan kontrak pintar, sementara WASM meningkatkan kecepatan pemuatan dan kemampuan pemrosesan dengan langsung mengonversi ke kode yang dikompilasi.
  • Kontrak yang Telah Dikompilasi: EVM mengandalkan kontrak yang telah dikompilasi untuk pelaksanaan penghitungan kriptografi yang efisien, tetapi hal ini dapat menimbulkan risiko hard fork. WASM menghilangkan kebutuhan akan kontrak yang telah dikompilasi sebelumnya, memungkinkan pengembang membuat kontrak pintar yang efisien dan cepat.
  • Biaya Transaksi: Dengan mesin virtual WASM yang lebih cepat, hasil transaksi meningkat secara signifikan, sehingga mengurangi penerapan kontrak dan biaya transaksi. Kontrak WASM mengatasi masalah biaya transaksi yang tinggi dan kemacetan di jaringan Ethereum.
  • Fleksibilitas dan Interoperabilitas: WASM memperluas jangkauan bahasa yang tersedia untuk pengembangan kontrak pintar, mendukung penggunaan bahasa tingkat tinggi apa pun yang dikompilasi ke WASM, seperti Rust, C++, dan JavaScript. Ini berarti pengembang dapat menulis kontrak pintar dalam bahasa pilihan mereka, termasuk kerangka kerja yang matang seperti tinta! untuk Karat atau Tanya! untuk MajelisScript.

Tim EWASM saat ini mengintegrasikan WebAssembly pada Ethereum untuk memastikan lapisan eksekusi yang lebih efisien dan sederhana, menjadikan Ethereum cocok sebagai platform komputasi yang sepenuhnya terdesentralisasi. WASM telah diadopsi sebagai standar oleh banyak proyek lain, termasuk Dfinity dan EOS, keduanya menggunakannya untuk meningkatkan lapisan eksekusinya.

2.5 Stylus(Arbitrum)

Proyek Stylus adalah inisiatif jaringan Arbitrum Ethereum Layer 2 yang bertujuan untuk meningkatkan kinerja eksekusi kontrak pintar dengan memperkenalkan mesin virtual WebAssembly (WASM). Kontrak dapat dilaksanakan lebih cepat dibandingkan dengan Solidity, sekaligus mengurangi biaya bahan bakar. Hal ini mempermudah pembuatan kontrak pintar berkinerja tinggi di jaringan Arbitrum, dan saat ini mendukung kompilasi dalam C, C++, dan Rust.

Dukungan Prakompilasi Khusus: Stylus juga mendukung prakompilasi khusus, yang memungkinkan pengembang menerapkan prakompilasi Rust atau C++ mereka sendiri ke jaringan Arbitrum. Hal ini dapat membantu memperkenalkan algoritma kriptografi baru atau fungsi spesifik lainnya secara on-chain tanpa menunggu peningkatan on-chain. Misalnya, komputasi tensor dapat dikompilasi sebelumnya untuk mengurangi biaya inferensi, yang dapat bermanfaat untuk pembelajaran mesin on-chain.

Interoperabilitas dengan EVM: Stylus mencapai integrasi dengan ekosistem Ethereum yang ada melalui interoperabilitas dengan Ethereum Virtual Machine (EVM). Artinya, kontrak Stylus dapat berinteraksi dengan kontrak EVM yang ada dan berbagi status global yang sama dengan EVM.

Masuk kembali: Tidak seperti Cosmos Wasm, Stylus Rust SDK memperkenalkan fitur masuk kembali dan memungkinkan pengembang untuk mengaktifkannya secara manual. Hal ini memungkinkan kontrak memiliki lebih banyak fleksibilitas dalam interoperabilitas, namun pengembang perlu mengelola negara dengan hati-hati untuk memastikan keamanan.

Berdasarkan ekosistem Arbitrum yang berkembang pesat, integrasi Stylus mungkin merupakan integrasi WASM yang paling berarti. Hal ini juga meningkatkan daya saing Arbitrum di antara bidang zkRollup.

2.6 Perlengkapan(Polkadot)

Protokol Gear menciptakan teknologi yang dapat digunakan sebagai parachain Polkadot, yang berfungsi sebagai alat untuk menghosting kontrak pintar. Mirip dengan Polkadot, Gear juga menggunakan kerangka Substrat, yang menyederhanakan proses pembuatan berbagai blockchain untuk aplikasi tertentu. Substrat menyediakan fungsionalitas yang unik, memungkinkan orang untuk fokus pada pembuatan mesin kustom di atas protokol.

Sebelumnya, biaya peluncuran blockchain tinggi, namun Gear memungkinkan pengembang dApp untuk fokus pada proyek mereka daripada membangun dan mengoperasikan keseluruhan blockchain dari awal.

Mesin utama protokol Gear adalah modul kontrak pintar. Dalam kasus Gear, kontrak pintar apa pun adalah program WebAssembly yang dikompilasi dalam berbagai bahasa seperti Rust, C, dan C++. Bagi pengembang dari luar dunia kripto, hambatan masuknya rendah karena mereka dapat membangun kontrak pintar di lingkungan yang familiar. Pengembang merasa lebih mudah bereksperimen dengan bahasa pemrograman kontrak pintar.

Arsitektur kontrak cerdas Gear menggunakan Model Aktor dan menyediakan fungsionalitas berikut:

  • Memori persisten untuk program yang tidak dapat diubah
  • Penanganan pesan asinkron
  • Permukaan API yang minimal, intuitif, dan memadai untuk konteks blockchain
  • Model proksi komunikasi aktor antara komponen on-chain untuk komposisi yang lebih tinggi dan kompatibilitas yang lebih baik dengan eksekusi kode paralel dan sharding.

Setiap program memiliki jumlah memori tetap, yang memungkinkan Gear untuk mengontrolnya. Suatu program hanya dapat membaca dan menulis di memorinya sendiri dan tidak dapat mengakses ruang memori program lain. Setiap program memiliki ruang memori tersendiri, dan informasi pada node Gear dapat diproses secara paralel.

2.7 KosmWasm(Kosmos)

CosmWasm adalah platform kontrak pintar berbasis Wasm yang modern dan kuat yang dapat dengan mudah diintegrasikan dengan Cosmos-SDK. Hal ini menunjukkan salah satu keunggulan utama CosmWasm: kontrak yang ditulis dengan CosmWasm terintegrasi erat dengan IBC (Inter-Blockchain Communication) secara asli, memungkinkan pengembang dan pengguna memasuki masa depan multi-rantai. Saat ini, hanya Rust yang didukung.

Keunggulan CosmWasm

  1. Keamanan: Meningkatkan keamanan kontrak pintar menggunakan bahasa pemrograman Rust
  2. Kompatibilitas lintas rantai: Mendukung protokol IBC (Inter-Blockchain Communication) dalam ekosistem Cosmos.
  3. Kinerja: Menunjukkan efisiensi yang lebih tinggi dan biaya transaksi yang lebih rendah dalam kasus tertentu dibandingkan dengan Mesin Virtual Ethereum (EVM) tradisional.
  4. Ramah pengembang: Fitur keamanan jenis dan memori dari bahasa Rust membantu mengurangi jenis kesalahan tertentu dalam kontrak pintar.

Tantangan dan Keterbatasan

  1. Kurva Pembelajaran: Rust mungkin memiliki kurva pembelajaran yang lebih curam dibandingkan dengan bahasa kontrak pintar yang lebih umum digunakan seperti Solidity. Untuk meningkatkan potensi adopsi secara luas, CosmWasm perlu mendukung kompilasi dalam lebih banyak bahasa.
  2. Ekosistem dan Peralatan: Meskipun terus berkembang, peralatan dan ekosistem pengembangan untuk CosmWasm mungkin masih relatif terbatas dibandingkan dengan platform kontrak pintar yang sudah matang seperti Ethereum.
  3. Pangsa Pasar dan Kesadaran: Di bidang platform kontrak pintar, CosmWasm mungkin memiliki kesadaran yang lebih rendah dibandingkan dengan platform seperti Ethereum dan Binance Smart Chain, yang memengaruhi kemampuannya untuk menarik pengembang dan pengguna.
  4. Tantangan Pemeliharaan dan Peningkatan: Meskipun CosmWasm menyediakan fungsionalitas peningkatan kontrak, pemeliharaan dan pengelolaan peningkatan untuk kontrak pintar masih merupakan tugas kompleks yang perlu ditangani dengan hati-hati untuk menghindari kerentanan keamanan.
  5. Masalah Kompatibilitas: Proyek yang terbiasa dengan EVM atau lingkungan kontrak pintar lainnya mungkin menghadapi tantangan kompatibilitas saat bermigrasi ke CosmWasm.

2.8 ZK-WASM

Selain mesin virtual wasm, ada juga teknologi terbaru yang disebut ZKWASM. Penemunya, Delphinus Labs, telah membuat kode sumber terbuka untuk ZK-WASM di GitHub. ZKWASM memungkinkan pengembang untuk memverifikasi kebenaran perhitungan yang dijalankan tanpa mengeksekusinya kembali. Dengan memanfaatkan ZKWASM, pengembang dapat secara fleksibel membangun aplikasi zero-knowledge proof (ZKP) menggunakan berbagai bahasa pemrograman. Aplikasi ini dapat dijalankan dengan lancar di browser web.

ZKWASM berasal dari ZKSNARK, yang merupakan kombinasi dari SNARG dan bukti tanpa pengetahuan. Mari kita jelaskan lebih lanjut. Biasanya, untuk menggunakan ZKSNARK, Anda perlu menulis program dalam bahasa sirkuit aritmatika atau bahasa ramah sirkuit seperti Pinocchio, TinyRAM, Buffet/Pequin, Geppetto, xJsnark framework, ZoKrates, dll. Hal ini menjadi hambatan bagi program yang ada, sehingga menyulitkan mereka untuk memanfaatkan kekuatan ZKSNARK. Namun ada cara lain, yaitu tidak menggunakan ZKSNARK pada level kode sumber tetapi pada level bytecode mesin virtual, lalu mengimplementasikan mesin virtual yang mendukung ZKSNARK. Delphinus Labs telah mengadopsi pendekatan terakhir dengan menggabungkan seluruh mesin virtual WASM ke dalam sirkuit ZKSNARK. Hasilnya, aplikasi WASM yang ada bisa langsung berjalan di ZKWASM tanpa modifikasi apapun. Oleh karena itu, penyedia layanan cloud dapat membuktikan kepada pengguna mana pun bahwa hasil komputasi dihitung secara jujur dan tidak akan mengungkapkan informasi pribadi apa pun.

ZKWASM menyediakan berbagai kasus penggunaan, seperti mengaktifkan verifikasi on-chain atas operasi yang dilakukan di browser. Hal ini memungkinkan interaksi berbasis web yang dapat diverifikasi di blockchain. Kasus penggunaan lainnya mencakup layanan oracle, komputasi off-chain, otomatisasi, menjembatani kesenjangan antara Web2 dan Web3, menghasilkan bukti untuk pembelajaran mesin dan pemrosesan data, dan bahkan aplikasi game dan sosial. Dengan meningkatnya adopsi, zkWASM memperluas kemungkinan Web3 dan mengintegrasikan pengembang Web2 ke dalam lanskap transformatif ini.

Melalui implementasi ZKWASM Delphinus Lab, pengembang dapat memanfaatkan kekuatan bukti tanpa pengetahuan untuk meningkatkan keamanan dan privasi aplikasi mereka, membuka jalan bagi ekosistem digital yang lebih tepercaya dan terdesentralisasi.

3. Kesimpulan

Kinerja web dan masa depan lapisan eksekusi platform kontrak pintar cukup menjanjikan. DApps tidak hanya akan memiliki kinerja yang lebih tinggi, tetapi mengintegrasikan WASM juga akan memudahkan mereka yang akrab dengan bahasa umum seperti Rust dan Go untuk mengembangkan kontrak pintar, tanpa harus mempelajari seluk-beluk soliditas atau bahasa pengembangan blockchain lainnya. Menurut Evans Data Corporation, terdapat hampir 27 juta pengembang di seluruh dunia, dan jumlah ini terus bertambah, dengan perkiraan peningkatan hingga lebih dari 28,7 juta pada tahun 2024. Namun, jumlah pengembang di bidang blockchain masih kurang dari 30.000, terhitung hanya sekitar seperseribu dari jumlah total pengembang. Meskipun jumlah ini terus meningkat, mempelajari bahasa kontrak pintar baru mungkin masih menjadi penghalang bagi pengembang untuk memasuki industri blockchain.

Namun semakin banyak blockchain yang mulai mendukung Web Assembly sebagai bytecode untuk kontrak pintar yang dikompilasi. WASM menghadirkan efisiensi, interoperabilitas, dan beragam kasus penggunaan pada blockchain. Ini juga berfungsi sebagai kunci untuk membuka pintu bagi pengembang, menurunkan hambatan untuk masuk ke dalam pengembangan blockchain. Bayangkan saja, dalam waktu dekat, ketika pengembang Web 2.0 ingin mencoba pengembangan blockchain, mereka dapat menggunakan bahasa yang familiar seperti Python, C++, dan JavaScript untuk membangun aplikasi berskala besar di blockchain, sehingga memaksimalkan nilai jaringan terdesentralisasi. Pertama, turunkan hambatan bagi pembuat konten (pengembang), lalu turunkan hambatan bagi pengguna, dan bergerak menuju adopsi massal.

4. Indeks

https://blog.scottlogic.com/2022/06/20/state-of-wasm-2022.html

https://www.notion.so/18f67cee15c147dfae68b06269a455c0?pvs=21

https://wiki.polkadot.network/docs/learn-wasm

https://docs.arbitrum.io/stylus/stylus-gentle-introduction

https://medium.com/@gear_techs/introducing-gear-easy-to-use-polkadot-parachain-9ccd05437a9c

https://medium.com/cosmwasm/cosmwasm-for-ctos-f1ffa19cccb8

https://www.cncf.io/wp-content/uploads/2023/09/The-State-of-WebAssembly-2023.pdf

https://github.com/DelphinusLab/zkWasm

Terima kasih kepada Maggie dan Xinyou Ji (CMU) atas saran dan bimbingannya pada artikel ini.

Penafian: Semua artikel dari Foresight Ventures tidak dimaksudkan sebagai nasihat investasi. Investasi mengandung risiko, jadi harap nilai toleransi risiko Anda sendiri dan buat keputusan investasi dengan hati-hati.

Penafian:

  1. Artikel ini dicetak ulang dari [Foresight Research]. Semua hak cipta milik penulis asli [Mike@ Foresight Ventures]. Jika ada keberatan terhadap cetak ulang ini, silakan menghubungi tim Gate Learn , dan mereka akan segera menanganinya.
  2. Penafian Tanggung Jawab: Pandangan dan pendapat yang diungkapkan dalam artikel ini adalah sepenuhnya milik penulis dan bukan merupakan nasihat investasi apa pun.
  3. Terjemahan artikel ke bahasa lain dilakukan oleh tim Gate Learn. Kecuali disebutkan, dilarang menyalin, mendistribusikan, atau menjiplak artikel terjemahan.

Usaha Pandangan ke Depan: WASM - Mesin Era Baru

Pemula1/1/2024, 2:25:51 AM
Artikel ini membahas beberapa hubungan dan kasus penggunaan antara Wasm dan blockchain: kontrak pintar, interaksi lintas rantai, komputasi off-chain, dan privasi data.

TL;DR

WebAssembly (Wasm) adalah format instruksi biner portabel berkinerja tinggi yang dapat dijalankan di browser web. Ini dirancang sebagai target kompilasi universal yang dapat digunakan dengan berbagai bahasa pemrograman dan dijalankan pada platform berbeda.

Blockchain adalah teknologi buku besar terdistribusi terdesentralisasi yang menjamin keamanan dan kepercayaan data melalui penggunaan kriptografi dan algoritma konsensus. Blockchain dapat digunakan untuk mencatat transaksi, menyimpan data, dan melaksanakan kontrak pintar, di antara aplikasi lainnya.

Ada beberapa hubungan dan skenario penerapan antara Wasm dan blockchain:

  1. Kontrak Cerdas: Wasm dapat berfungsi sebagai lingkungan eksekusi untuk kontrak pintar, memungkinkan kontrak dijalankan pada platform blockchain yang berbeda. Kinerja tinggi dan portabilitas Wasm memungkinkan eksekusi kontrak pintar dan kegunaan lintas platform yang lebih efisien.
  2. Interoperabilitas Lintas Rantai: Wasm dapat digunakan untuk mengimplementasikan interoperabilitas lintas rantai. Dengan mengkompilasi logika berbagai blockchain ke dalam kode Wasm, logika yang sama dapat dijalankan pada blockchain yang berbeda, memungkinkan transfer data dan interaksi antar rantai.
  3. Komputasi Off-Chain: Wasm dapat digunakan untuk komputasi di luar blockchain dan mengirimkan hasil komputasinya ke blockchain. Hal ini memungkinkan peningkatan efisiensi dan fleksibilitas dalam komputasi sekaligus menjaga keamanan dan kepercayaan data.
  4. Privasi Data: Wasm dapat digunakan untuk mencapai perlindungan privasi data di blockchain. Dengan mengkompilasi logika pemrosesan data sensitif ke dalam kode Wasm dan mengeksekusinya di blockchain, privasi data dapat dijaga sekaligus memastikan verifikasi komputasi.

Singkatnya, kombinasi Wasm dan blockchain memberikan aplikasi dan layanan blockchain yang lebih efisien, aman, dan fleksibel. Portabilitas dan kinerja tinggi Wasm menjadikannya teknologi penting di bidang blockchain.

1. Apa itu Majelis Web?

WebAssembly adalah standar set instruksi yang efisien dan ringan yang dikembangkan oleh World Wide Web Consortium (W3C). Ini dipuji sebagai pengganggu web dan komputasi berkinerja tinggi, mendukung eksekusi lintas-browser. Ini berarti bahwa kita dapat mengkompilasi bahasa pemrograman yang berbeda, termasuk C/C++, Go, Rust, dan banyak lagi, ke dalam format biner standar terpadu dan menggunakannya sebagai pengganti JavaScript, berjalan dengan efisiensi kode yang mendekati aslinya di browser web.

WebAssembly, juga dikenal sebagai WASM, adalah teknologi yang aman untuk memori dan tidak bergantung pada platform yang dapat memetakan secara efisien ke berbagai arsitektur CPU. Ini menawarkan beberapa keuntungan utama:

  • Efisiensi: WASM memiliki serangkaian fitur bahasa yang lengkap dan merupakan format biner yang ringkas dan memuat cepat. Tujuannya adalah memanfaatkan sepenuhnya kemampuan perangkat keras untuk mencapai kinerja bahasa asli.
  • Keamanan: WASM berjalan di lingkungan eksekusi yang aman untuk memori dan dalam kotak pasir, dan bahkan dapat diimplementasikan dalam mesin virtual JavaScript yang ada. Di lingkungan web, WASM secara ketat mematuhi kebijakan asal yang sama dan kebijakan keamanan browser. Selama kompilasi, WASM membatasi antarmuka untuk mengurangi risiko keamanan. Sebagian besar aplikasi WASM tidak dapat mengakses internet (misalnya, tidak ada dukungan soket) dan terbatas pada akses database lokal. Banyak masalah keamanan yang timbul dari akses memori yang tidak sah, yang dapat diatasi selama kompilasi dengan WASM.
  • Kompatibilitas: WASM dirancang agar tidak memiliki versi, dapat diuji fiturnya, dan kompatibel dengan versi sebelumnya di web. Itu dapat dipanggil oleh JavaScript, masuk ke konteks JavaScript, dan mengakses fungsi browser seperti API Web. WASM dapat berjalan tidak hanya di browser web tetapi juga di lingkungan non-web seperti Node.js, Deno, dan perangkat IoT. Tidak seperti pendekatan tradisional yang memerlukan banyak kompilasi, WASM hanya perlu dikompilasi satu kali untuk eksekusi plug-and-play instan.

Selain itu, Web adalah satu-satunya platform universal yang memungkinkan akses ke aplikasi Anda di perangkat apa pun. Hal ini juga memungkinkan Anda mempertahankan basis kode tunggal, menyederhanakan pembaruan, dan memastikan bahwa semua pengguna dapat mengakses aplikasi Anda. WASM mendukung operasi bilangan bulat 64-bit dan 32-bit, yang secara langsung berhubungan dengan instruksi CPU. Dengan menghapus operasi floating-point, perilaku deterministik dapat dengan mudah dicapai, yang diperlukan untuk algoritma konsensus. Didukung oleh proyek infrastruktur compiler LLVM, WASM dapat memperoleh manfaat dari lebih dari satu dekade optimasi compiler di LLVM. WASM terus dikembangkan oleh perusahaan-perusahaan besar seperti Google, Apple, Microsoft, Mozilla, dan Facebook, dan didukung oleh backend browser yang dikembangkan oleh perusahaan-perusahaan tersebut.

Keunggulan WASM terletak pada kemampuannya untuk dijalankan dimana saja tanpa perlu mendownload atau menginstal, karena dalam format biner. Hanya dengan satu klik, aplikasi web dapat langsung dijalankan saat dibutuhkan. Ini bahkan lebih aman daripada mengunduh dan menjalankan file biner secara langsung, karena browser memiliki mekanisme keamanan bawaan yang mencegah kode yang dieksekusi membahayakan sistem Anda. Selain itu, berbagi aplikasi web itu sederhana - tautan dapat ditempatkan di mana saja sebagai string yang dapat diklik.

2. Mengapa Kita Membutuhkan Perakitan Web?

2.1 Web2

Web telah berevolusi dari sebuah platform untuk konten statis dan bahasa skrip kecil menjadi platform yang kuat dan populer yang dipenuhi dengan aplikasi dan fitur luar biasa, berkat fungsionalitas bawaan browser dan interaktivitas yang disediakan oleh Web. Namun, aplikasi Web sebagian besar masih digerakkan oleh bahasa skrip yang sama (JavaScript), yang pada awalnya tidak dirancang untuk menyelesaikan tugas-tugas ini.

JavaScript awalnya merupakan bahasa skrip sederhana yang bertujuan menghadirkan interaktivitas pada dokumen hypertext ringan dalam aplikasi Web. Desainnya mudah dipelajari dan ditulis, serta tidak memprioritaskan kecepatan runtime. Selama bertahun-tahun, peningkatan kinerja yang signifikan dalam penguraian JavaScript oleh browser telah menghasilkan peningkatan kinerja yang signifikan.

Dengan percepatan kecepatan eksekusi JavaScript, jangkauan hal-hal yang dapat dilakukan dalam browser telah berkembang secara signifikan. API baru telah memperkenalkan fitur seperti grafik interaktif, streaming video, penjelajahan offline, dan banyak lagi. Selain itu, semakin banyak aplikasi yang sebelumnya terbatas pada lingkungan desktop kini memasuki Web. Sekarang Anda dapat dengan mudah mengedit dokumen dan mengirim email di browser Anda. Namun, di domain tertentu, performa JavaScript masih menjadi tantangan. Pikirkan tentang aplikasi perangkat lunak yang Anda gunakan selain browser: permainan, pengeditan video, rendering 3D, atau produksi musik. Aplikasi ini memerlukan komputasi ekstensif dan kinerja tinggi. JavaScript kesulitan memenuhi persyaratan kinerja tinggi ini.

Namun, menggantikan JavaScript tidaklah praktis, dan mungkin diperlukan waktu puluhan tahun untuk mencapai tujuan tersebut, karena seluruh Internet bergantung padanya. Selain itu, ada komunitas besar yang terus meningkatkan JavaScript. Memang dibandingkan dengan bahasa lain, JavaScript memiliki beberapa kekurangan pada aspek seperti null dan ==. Namun, masalah ini tidak cukup parah sehingga memerlukan penggantian seluruh teknologi.

Jadi, WebAssembly tidak akan menggantikan JavaScript, namun bukan berarti WASM tidak akan digunakan di masa mendatang. Faktanya, penggunaan WASM akan semakin meluas. Hal ini karena WASM dapat menghadirkan kemampuan komputasi yang kuat ke web, seperti pemrosesan gambar atau permainan. Dengan WASM, Anda dapat membuat Photoshop versi berbasis web yang berjalan dengan baik, atau game 3D yang berjalan pada 60 frame per detik atau bahkan frame rate lebih tinggi di browser. Game, khususnya, menghadirkan tantangan karena memerlukan eksekusi pemrosesan audio dan video secara bersamaan, serta koordinasi efek fisika dan AI. WASM memiliki kemampuan untuk menjalankan game secara efisien di browser, membuka pintu untuk menghadirkan banyak aplikasi lain ke browser.

Gambar di atas menunjukkan perbandingan alur kerja antara JavaScript dan WebAssembly (wasm). Dapat diamati bahwa wasm jauh lebih ringkas dibandingkan dengan JavaScript.

2.2 Web3

VM WASM

Pada tahun 2018, ekosistem Ethereum mulai membahas penggunaan WASM VM sebagai mesin virtual kontrak pintar, karena dianggap memiliki kinerja lebih baik daripada EVM. Gavin Wood, penemu EVM, telah menyatakan kelayakan untuk menggantinya dengan WASM, dan Vitalik juga menyatakan bahwa Ethereum 2.0 akan ditingkatkan untuk mendukung kontrak WASM (eWASM) guna memenuhi lebih banyak kebutuhan pengembangan. Saat ini, perkembangan kontrak WASM telah mulai terbentuk.

2.3 Bagaimana EVM dirancang? Mengapa tidak efisien?

Masalah Ukuran Arsitektur

Komputer tradisional memiliki set instruksi yang menerima input 32 atau 64 bit. Namun, EVM berbeda dan unik karena merupakan komputer 256-bit yang dirancang untuk menangani algoritma hash Ethereum dengan lebih mudah, yang menghasilkan output 256-bit yang eksplisit.

Namun, komputer sebenarnya yang menjalankan program EVM perlu membagi kata 256-bit ke dalam arsitektur aslinya untuk menjalankan kontrak pintar, sehingga membuat keseluruhan sistem menjadi tidak efisien dan tidak praktis.

Selain itu, jika Anda ingin mengimplementasikan algoritme kompleks seperti SHA256 menggunakan OPCODE dasar EVM di Ethereum, Anda berada dalam kesulitan! Untuk mengatasi masalah biaya bahan bakar yang tinggi dalam menjalankan program kompleks melalui set instruksi, Ethereum memperkenalkan konsep prakompilasi, yang mengkompilasi program ke dalam EVM dan menggunakan sejumlah bahan bakar tetap. Prakompilasi yang penting adalah algoritme hash Ethereum, karena penerapannya di dalam mesin virtual akan mengakibatkan biaya yang sangat mahal saat kontrak dibatalkan.

Prakompilasi Kembung

Masalah dengan prakompilasi adalah bahwa hal ini terus meningkatkan pembengkakan dan kompleksitas mesin virtual, tanpa mengatasi masalah inti: desain set instruksi dan spesifikasi saat ini yang tidak efisien dan buruk.

Bagaimana jika kita dapat menentukan spesifikasi dan set instruksi baru yang tidak memerlukan kompilasi awal dari program kompleks ini, namun secara efisien mencapai hasil yang diinginkan melalui instruksi dasar? Di sinilah WASM berperan.

2.4 Perbandingan antara EVM dan WASM VM

  • Kecepatan: WASM bertujuan untuk memberikan kecepatan eksekusi yang lebih cepat dibandingkan dengan EVM. EVM mungkin memiliki masalah efisiensi dalam kompilasi dan pelaksanaan kontrak pintar, sementara WASM meningkatkan kecepatan pemuatan dan kemampuan pemrosesan dengan langsung mengonversi ke kode yang dikompilasi.
  • Kontrak yang Telah Dikompilasi: EVM mengandalkan kontrak yang telah dikompilasi untuk pelaksanaan penghitungan kriptografi yang efisien, tetapi hal ini dapat menimbulkan risiko hard fork. WASM menghilangkan kebutuhan akan kontrak yang telah dikompilasi sebelumnya, memungkinkan pengembang membuat kontrak pintar yang efisien dan cepat.
  • Biaya Transaksi: Dengan mesin virtual WASM yang lebih cepat, hasil transaksi meningkat secara signifikan, sehingga mengurangi penerapan kontrak dan biaya transaksi. Kontrak WASM mengatasi masalah biaya transaksi yang tinggi dan kemacetan di jaringan Ethereum.
  • Fleksibilitas dan Interoperabilitas: WASM memperluas jangkauan bahasa yang tersedia untuk pengembangan kontrak pintar, mendukung penggunaan bahasa tingkat tinggi apa pun yang dikompilasi ke WASM, seperti Rust, C++, dan JavaScript. Ini berarti pengembang dapat menulis kontrak pintar dalam bahasa pilihan mereka, termasuk kerangka kerja yang matang seperti tinta! untuk Karat atau Tanya! untuk MajelisScript.

Tim EWASM saat ini mengintegrasikan WebAssembly pada Ethereum untuk memastikan lapisan eksekusi yang lebih efisien dan sederhana, menjadikan Ethereum cocok sebagai platform komputasi yang sepenuhnya terdesentralisasi. WASM telah diadopsi sebagai standar oleh banyak proyek lain, termasuk Dfinity dan EOS, keduanya menggunakannya untuk meningkatkan lapisan eksekusinya.

2.5 Stylus(Arbitrum)

Proyek Stylus adalah inisiatif jaringan Arbitrum Ethereum Layer 2 yang bertujuan untuk meningkatkan kinerja eksekusi kontrak pintar dengan memperkenalkan mesin virtual WebAssembly (WASM). Kontrak dapat dilaksanakan lebih cepat dibandingkan dengan Solidity, sekaligus mengurangi biaya bahan bakar. Hal ini mempermudah pembuatan kontrak pintar berkinerja tinggi di jaringan Arbitrum, dan saat ini mendukung kompilasi dalam C, C++, dan Rust.

Dukungan Prakompilasi Khusus: Stylus juga mendukung prakompilasi khusus, yang memungkinkan pengembang menerapkan prakompilasi Rust atau C++ mereka sendiri ke jaringan Arbitrum. Hal ini dapat membantu memperkenalkan algoritma kriptografi baru atau fungsi spesifik lainnya secara on-chain tanpa menunggu peningkatan on-chain. Misalnya, komputasi tensor dapat dikompilasi sebelumnya untuk mengurangi biaya inferensi, yang dapat bermanfaat untuk pembelajaran mesin on-chain.

Interoperabilitas dengan EVM: Stylus mencapai integrasi dengan ekosistem Ethereum yang ada melalui interoperabilitas dengan Ethereum Virtual Machine (EVM). Artinya, kontrak Stylus dapat berinteraksi dengan kontrak EVM yang ada dan berbagi status global yang sama dengan EVM.

Masuk kembali: Tidak seperti Cosmos Wasm, Stylus Rust SDK memperkenalkan fitur masuk kembali dan memungkinkan pengembang untuk mengaktifkannya secara manual. Hal ini memungkinkan kontrak memiliki lebih banyak fleksibilitas dalam interoperabilitas, namun pengembang perlu mengelola negara dengan hati-hati untuk memastikan keamanan.

Berdasarkan ekosistem Arbitrum yang berkembang pesat, integrasi Stylus mungkin merupakan integrasi WASM yang paling berarti. Hal ini juga meningkatkan daya saing Arbitrum di antara bidang zkRollup.

2.6 Perlengkapan(Polkadot)

Protokol Gear menciptakan teknologi yang dapat digunakan sebagai parachain Polkadot, yang berfungsi sebagai alat untuk menghosting kontrak pintar. Mirip dengan Polkadot, Gear juga menggunakan kerangka Substrat, yang menyederhanakan proses pembuatan berbagai blockchain untuk aplikasi tertentu. Substrat menyediakan fungsionalitas yang unik, memungkinkan orang untuk fokus pada pembuatan mesin kustom di atas protokol.

Sebelumnya, biaya peluncuran blockchain tinggi, namun Gear memungkinkan pengembang dApp untuk fokus pada proyek mereka daripada membangun dan mengoperasikan keseluruhan blockchain dari awal.

Mesin utama protokol Gear adalah modul kontrak pintar. Dalam kasus Gear, kontrak pintar apa pun adalah program WebAssembly yang dikompilasi dalam berbagai bahasa seperti Rust, C, dan C++. Bagi pengembang dari luar dunia kripto, hambatan masuknya rendah karena mereka dapat membangun kontrak pintar di lingkungan yang familiar. Pengembang merasa lebih mudah bereksperimen dengan bahasa pemrograman kontrak pintar.

Arsitektur kontrak cerdas Gear menggunakan Model Aktor dan menyediakan fungsionalitas berikut:

  • Memori persisten untuk program yang tidak dapat diubah
  • Penanganan pesan asinkron
  • Permukaan API yang minimal, intuitif, dan memadai untuk konteks blockchain
  • Model proksi komunikasi aktor antara komponen on-chain untuk komposisi yang lebih tinggi dan kompatibilitas yang lebih baik dengan eksekusi kode paralel dan sharding.

Setiap program memiliki jumlah memori tetap, yang memungkinkan Gear untuk mengontrolnya. Suatu program hanya dapat membaca dan menulis di memorinya sendiri dan tidak dapat mengakses ruang memori program lain. Setiap program memiliki ruang memori tersendiri, dan informasi pada node Gear dapat diproses secara paralel.

2.7 KosmWasm(Kosmos)

CosmWasm adalah platform kontrak pintar berbasis Wasm yang modern dan kuat yang dapat dengan mudah diintegrasikan dengan Cosmos-SDK. Hal ini menunjukkan salah satu keunggulan utama CosmWasm: kontrak yang ditulis dengan CosmWasm terintegrasi erat dengan IBC (Inter-Blockchain Communication) secara asli, memungkinkan pengembang dan pengguna memasuki masa depan multi-rantai. Saat ini, hanya Rust yang didukung.

Keunggulan CosmWasm

  1. Keamanan: Meningkatkan keamanan kontrak pintar menggunakan bahasa pemrograman Rust
  2. Kompatibilitas lintas rantai: Mendukung protokol IBC (Inter-Blockchain Communication) dalam ekosistem Cosmos.
  3. Kinerja: Menunjukkan efisiensi yang lebih tinggi dan biaya transaksi yang lebih rendah dalam kasus tertentu dibandingkan dengan Mesin Virtual Ethereum (EVM) tradisional.
  4. Ramah pengembang: Fitur keamanan jenis dan memori dari bahasa Rust membantu mengurangi jenis kesalahan tertentu dalam kontrak pintar.

Tantangan dan Keterbatasan

  1. Kurva Pembelajaran: Rust mungkin memiliki kurva pembelajaran yang lebih curam dibandingkan dengan bahasa kontrak pintar yang lebih umum digunakan seperti Solidity. Untuk meningkatkan potensi adopsi secara luas, CosmWasm perlu mendukung kompilasi dalam lebih banyak bahasa.
  2. Ekosistem dan Peralatan: Meskipun terus berkembang, peralatan dan ekosistem pengembangan untuk CosmWasm mungkin masih relatif terbatas dibandingkan dengan platform kontrak pintar yang sudah matang seperti Ethereum.
  3. Pangsa Pasar dan Kesadaran: Di bidang platform kontrak pintar, CosmWasm mungkin memiliki kesadaran yang lebih rendah dibandingkan dengan platform seperti Ethereum dan Binance Smart Chain, yang memengaruhi kemampuannya untuk menarik pengembang dan pengguna.
  4. Tantangan Pemeliharaan dan Peningkatan: Meskipun CosmWasm menyediakan fungsionalitas peningkatan kontrak, pemeliharaan dan pengelolaan peningkatan untuk kontrak pintar masih merupakan tugas kompleks yang perlu ditangani dengan hati-hati untuk menghindari kerentanan keamanan.
  5. Masalah Kompatibilitas: Proyek yang terbiasa dengan EVM atau lingkungan kontrak pintar lainnya mungkin menghadapi tantangan kompatibilitas saat bermigrasi ke CosmWasm.

2.8 ZK-WASM

Selain mesin virtual wasm, ada juga teknologi terbaru yang disebut ZKWASM. Penemunya, Delphinus Labs, telah membuat kode sumber terbuka untuk ZK-WASM di GitHub. ZKWASM memungkinkan pengembang untuk memverifikasi kebenaran perhitungan yang dijalankan tanpa mengeksekusinya kembali. Dengan memanfaatkan ZKWASM, pengembang dapat secara fleksibel membangun aplikasi zero-knowledge proof (ZKP) menggunakan berbagai bahasa pemrograman. Aplikasi ini dapat dijalankan dengan lancar di browser web.

ZKWASM berasal dari ZKSNARK, yang merupakan kombinasi dari SNARG dan bukti tanpa pengetahuan. Mari kita jelaskan lebih lanjut. Biasanya, untuk menggunakan ZKSNARK, Anda perlu menulis program dalam bahasa sirkuit aritmatika atau bahasa ramah sirkuit seperti Pinocchio, TinyRAM, Buffet/Pequin, Geppetto, xJsnark framework, ZoKrates, dll. Hal ini menjadi hambatan bagi program yang ada, sehingga menyulitkan mereka untuk memanfaatkan kekuatan ZKSNARK. Namun ada cara lain, yaitu tidak menggunakan ZKSNARK pada level kode sumber tetapi pada level bytecode mesin virtual, lalu mengimplementasikan mesin virtual yang mendukung ZKSNARK. Delphinus Labs telah mengadopsi pendekatan terakhir dengan menggabungkan seluruh mesin virtual WASM ke dalam sirkuit ZKSNARK. Hasilnya, aplikasi WASM yang ada bisa langsung berjalan di ZKWASM tanpa modifikasi apapun. Oleh karena itu, penyedia layanan cloud dapat membuktikan kepada pengguna mana pun bahwa hasil komputasi dihitung secara jujur dan tidak akan mengungkapkan informasi pribadi apa pun.

ZKWASM menyediakan berbagai kasus penggunaan, seperti mengaktifkan verifikasi on-chain atas operasi yang dilakukan di browser. Hal ini memungkinkan interaksi berbasis web yang dapat diverifikasi di blockchain. Kasus penggunaan lainnya mencakup layanan oracle, komputasi off-chain, otomatisasi, menjembatani kesenjangan antara Web2 dan Web3, menghasilkan bukti untuk pembelajaran mesin dan pemrosesan data, dan bahkan aplikasi game dan sosial. Dengan meningkatnya adopsi, zkWASM memperluas kemungkinan Web3 dan mengintegrasikan pengembang Web2 ke dalam lanskap transformatif ini.

Melalui implementasi ZKWASM Delphinus Lab, pengembang dapat memanfaatkan kekuatan bukti tanpa pengetahuan untuk meningkatkan keamanan dan privasi aplikasi mereka, membuka jalan bagi ekosistem digital yang lebih tepercaya dan terdesentralisasi.

3. Kesimpulan

Kinerja web dan masa depan lapisan eksekusi platform kontrak pintar cukup menjanjikan. DApps tidak hanya akan memiliki kinerja yang lebih tinggi, tetapi mengintegrasikan WASM juga akan memudahkan mereka yang akrab dengan bahasa umum seperti Rust dan Go untuk mengembangkan kontrak pintar, tanpa harus mempelajari seluk-beluk soliditas atau bahasa pengembangan blockchain lainnya. Menurut Evans Data Corporation, terdapat hampir 27 juta pengembang di seluruh dunia, dan jumlah ini terus bertambah, dengan perkiraan peningkatan hingga lebih dari 28,7 juta pada tahun 2024. Namun, jumlah pengembang di bidang blockchain masih kurang dari 30.000, terhitung hanya sekitar seperseribu dari jumlah total pengembang. Meskipun jumlah ini terus meningkat, mempelajari bahasa kontrak pintar baru mungkin masih menjadi penghalang bagi pengembang untuk memasuki industri blockchain.

Namun semakin banyak blockchain yang mulai mendukung Web Assembly sebagai bytecode untuk kontrak pintar yang dikompilasi. WASM menghadirkan efisiensi, interoperabilitas, dan beragam kasus penggunaan pada blockchain. Ini juga berfungsi sebagai kunci untuk membuka pintu bagi pengembang, menurunkan hambatan untuk masuk ke dalam pengembangan blockchain. Bayangkan saja, dalam waktu dekat, ketika pengembang Web 2.0 ingin mencoba pengembangan blockchain, mereka dapat menggunakan bahasa yang familiar seperti Python, C++, dan JavaScript untuk membangun aplikasi berskala besar di blockchain, sehingga memaksimalkan nilai jaringan terdesentralisasi. Pertama, turunkan hambatan bagi pembuat konten (pengembang), lalu turunkan hambatan bagi pengguna, dan bergerak menuju adopsi massal.

4. Indeks

https://blog.scottlogic.com/2022/06/20/state-of-wasm-2022.html

https://www.notion.so/18f67cee15c147dfae68b06269a455c0?pvs=21

https://wiki.polkadot.network/docs/learn-wasm

https://docs.arbitrum.io/stylus/stylus-gentle-introduction

https://medium.com/@gear_techs/introducing-gear-easy-to-use-polkadot-parachain-9ccd05437a9c

https://medium.com/cosmwasm/cosmwasm-for-ctos-f1ffa19cccb8

https://www.cncf.io/wp-content/uploads/2023/09/The-State-of-WebAssembly-2023.pdf

https://github.com/DelphinusLab/zkWasm

Terima kasih kepada Maggie dan Xinyou Ji (CMU) atas saran dan bimbingannya pada artikel ini.

Penafian: Semua artikel dari Foresight Ventures tidak dimaksudkan sebagai nasihat investasi. Investasi mengandung risiko, jadi harap nilai toleransi risiko Anda sendiri dan buat keputusan investasi dengan hati-hati.

Penafian:

  1. Artikel ini dicetak ulang dari [Foresight Research]. Semua hak cipta milik penulis asli [Mike@ Foresight Ventures]. Jika ada keberatan terhadap cetak ulang ini, silakan menghubungi tim Gate Learn , dan mereka akan segera menanganinya.
  2. Penafian Tanggung Jawab: Pandangan dan pendapat yang diungkapkan dalam artikel ini adalah sepenuhnya milik penulis dan bukan merupakan nasihat investasi apa pun.
  3. Terjemahan artikel ke bahasa lain dilakukan oleh tim Gate Learn. Kecuali disebutkan, dilarang menyalin, mendistribusikan, atau menjiplak artikel terjemahan.
Comece agora
Inscreva-se e ganhe um cupom de
$100
!