Menjelajahi Model Pemrograman Solana Smart Contract

6/11/2024, 5:47:31 AM
Pemula
Ethereum
Solana adalah platform blockchain berkinerja tinggi yang dirancang untuk dukungan dApps. Dikenal karena kecepatan dan skalabilitasnya, dicapai melalui mekanisme konsensus yang unik dan desain arsitektur. Artikel ini menggunakan Ethereum sebagai objek perbandingan untuk secara singkat memperkenalkan karakteristik model pemrograman kontrak pintar Solana.

Teruskan judul asli '小学生也能看懂!Solana 的编程模型,究竟和 ETH 有啥区别?'

Solana adalah platform blockchain berkinerja tinggi yang dirancang untuk dukungan dApps. Dikenal karena kecepatan dan skalabilitasnya, dicapai melalui mekanisme konsensus yang unik dan desain arsitektur. Artikel ini menggunakan Ethereum sebagai objek perbandingan untuk memperkenalkan secara singkat karakteristik model pemrograman kontrak pintar Solana.

Smart contracts and on-chain programs:

Program yang berjalan di Ethereum disebut smart contract, serangkaian kode (fungsi) yang terletak di alamat tertentu pada Ethereum dan data(state). (Oh, kode dan data digabungkan) Kontrak pintar juga merupakan akun Ethereum, yang disebut akun kontrak. Mereka memiliki saldo dan dapat menjadi objek transaksi, tetapi mereka tidak dapat dikendalikan oleh manusia dan digunakan di jaringan untuk dijalankan sebagai program.

Kode eksekusi yang berjalan pada Solana disebut program on-chain, dan mereka dapat menafsirkan instruksi yang dikirim dalam setiap transaksi. Program-program ini dapat digunakan langsung ke inti jaringan sebagai program asli, atau diterbitkan oleh siapa saja sebagai program SPL.

  1. Instruksi: Instruksi adalah istilah unik untuk program di rantai Solana. Program on-chain terdiri dari instruksi. Mereka adalah unit terkecil yang melakukan operasi tertentu: satu atau lebih instruksi disertakan dalam setiap transaksi Solana. Instruksi menentukan tindakan yang akan dilakukan, termasuk memanggil program on-chain tertentu, meneruskan akun, list input, dan menyediakan array byte. Instruksi memiliki kendala komputasi, sehingga program on-chain harus dioptimalkan untuk menggunakan sejumlah kecil unit komputasi atau untuk membagi operasi yang mahal menjadi beberapa instruksi.

  1. Program asli: Ini adalah program yang menyediakan fungsionalitas yang diperlukan untuk memvalidasi node. Yang paling menonjol adalah Program Sistem, yang bertanggung jawab untuk mengelola pembuatan akun baru dan mentransfer SOL antara dua akun.
  2. Program SPL: Ini menentukan serangkaian aktivitas on-chain, termasuk pembuatan, pertukaran, dan peminjaman token, serta pembuatan kumpulan staking dan pemeliharaan layanan resolusi nama domain on-chain. Di antaranya, Program Token SPL digunakan untuk operasi token, sedangkan Program Akun Token Terkait biasanya digunakan untuk menulis program kustom lainnya.

Anda menyebut mereka smart contract, saya menyebutnya on-chain program. Istilah yang berbeda, tetapi keduanya merujuk pada kode yang berjalan di blockchain. Sama seperti Alice, Bob, dan John semuanya adalah nama, dan kualitas mereka yang sebenarnya perlu dinilai oleh aspek lain.

Model akun, decoupling data:

Mirip dengan Ethereum, Solana juga merupakan blockchain berdasarkan model akun, tetapi Solana menyediakan model akun yang berbeda dari Ethereum dan menyimpan data dengan cara yang berbeda.

Dalam Solana, akun dapat menyimpan informasi dompet dan data lainnya. Bidang yang ditentukan akun mencakup Lamports (saldo akun), Pemilik (pemilik akun), Dapat Dieksekusi (apakah itu akun yang dapat dieksekusi), dan Data (data yang disimpan di akun). Setiap akun menunjuk program sebagai pemiliknya untuk membedakan program mana yang digunakan akun sebagai toko negara. Program on-chain ini hanya-baca atau stateless: program akun (executable akun) hanya menyimpan bytecode BPF dan tidak menyimpan status apa pun. Program ini akan menyimpan negara di akun independen lainnya (akun yang tidak dapat dieksekusi). Artinya, model pemrograman Solana memisahkan kode dan data.

Ethereum akun terutama mengacu pada negara EVM. Kontrak pintarnya tidak hanya memiliki logika kode, tetapi juga perlu menyimpan data pengguna. Ini sering dianggap sebagai cacat desain yang tersisa dari sejarah EVM.

Jangan meremehkan perbedaan ini! Solana smart contract pada dasarnya lebih menantang untuk diserang dibandingkan dengan blockchain dengan model pemrograman gabungan seperti Ethereum.

Dalam Ethereum, "pemilik" kontrak pintar adalah variabel global yang sesuai satu-ke-satu dengan kontrak pintar. Oleh karena itu, memanggil fungsi dapat secara langsung mengubah "pemilik" kontrak.

Namun, dalam Solana, "pemilik" kontrak pintar adalah data yang terkait dengan akun daripada variabel global. Seorang akun dapat memiliki banyak pemilik, bukan asosiasi satu-ke-satu. Agar penyerang dapat mengeksploitasi kerentanan keamanan dalam kontrak pintar, mereka tidak hanya perlu menemukan fungsi yang bermasalah tetapi juga perlu menyiapkan akun yang "benar" untuk memanggil fungsi itu. Langkah ini tidak mudah karena Solana smart contract biasanya melibatkan beberapa akun input dan mengelola hubungan mereka melalui batasan (seperti account1.owner == account2.key). Proses dari "menyiapkan akun yang benar" hingga "meluncurkan serangan" memberi personel pemantauan keamanan cukup waktu untuk secara proaktif mendeteksi transaksi mencurigakan terkait dengan pembuatan akun "palsu" yang terkait dengan kontrak pintar sebelum serangan terjadi.

Ethereum smart contract seperti brankas yang menggunakan kata sandi unik; setelah Anda mendapatkan kata sandi ini, Anda mendapatkan kepemilikan penuh. Sebaliknya, smart contract Solana seperti lemari besi dengan banyak kata sandi. Untuk mendapatkan akses, Anda tidak hanya perlu mendapatkan kata sandi tetapi juga mencari tahu kata sandi mana yang sesuai dengan kunci mana yang akan membukanya.

Bahasa pemrograman

Rust adalah bahasa pemrograman utama untuk mengembangkan smart contract pada Solana. Karena kinerja dan fitur keamanannya, sangat cocok untuk lingkungan blockchain dan smart contract berisiko tinggi. Solana juga mendukung C, C ++, dan (sangat tidak biasa) bahasa lain. SDK resmi untuk Rust dan C disediakan untuk dukungan pengembangan program on-chain. Pengembang dapat menggunakan alat untuk mengkompilasi program ke dalam bytecode Berkley Packet Filter (BPF) (file memiliki ekstensi .so), kemudian menyebarkannya ke rantai Solana, dan menjalankan logika kontrak pintar melalui runtime kontrak pintar paralel Sealevel.

Karena bahasa Rust itu sendiri sulit untuk memulai dan tidak disesuaikan untuk pengembangan blockchain, banyak persyaratan memerlukan penemuan kembali roda dan kode yang berlebihan. (Banyak proyek dalam produksi menggunakan kerangka kerja Anchor yang dibuat oleh co-creator Backpack Armani untuk menyederhanakan pengembangan) Banyak bahasa pemrograman yang baru dibuat yang didedikasikan untuk pengembangan blockchain didasarkan pada Rust, seperti Cairo (Starknet), Move (Sui, Aptos).

Banyak proyek dalam produksi menggunakan kerangka Anchor

Ethereum smart contract terutama dikembangkan dalam bahasa Solidity (sintaksnya mirip dengan javascript, dan file kode memiliki ekstensi .sol). Karena sintaks yang relatif sederhana dan alat pengembangan yang lebih matang (kerangka Hardhat, Remix IDE ...), kami umumnya berpikir bahwa pengalaman pengembangan Ethereum lebih sederhana dan lebih menyegarkan, sementara pengembangan Solana lebih sulit untuk memulai. Jadi meskipun Solana sangat populer sekarang, nyatanya jumlah developer di Ethereum masih jauh lebih banyak dari Solana.

Dalam kondisi jalan tertentu, mobil balap papan atas tidak secepat mobil modifikasi. Karat seperti mobil balap tingkat atas, yang secara efektif menjamin kinerja dan keamanan Solana. Namun, tidak dirancang untuk mengembangkan jalur ini untuk program on-chain tetapi malah menyebabkan peningkatan kesulitan mengemudi (pengembangan). Menggunakan rantai publik berbasis Rust dan mengembangkan bahasa khusus untuk rantai tersebut setara dengan memodifikasi mobil balap agar lebih cocok untuk kondisi jalan. Solana dirugikan di sini.

Ringkasan

Model pemrograman kontrak pintar Solana inovatif. Ini menawarkan pendekatan stateless untuk pengembangan kontrak pintar, menggunakan Rust sebagai bahasa pemrograman utama dan arsitektur yang memisahkan logika dari negara. Ini memberi pengembang lingkungan yang kuat untuk membangun dan menerapkan smart contract, memastikan keamanan dan kinerja, meskipun menimbulkan kesulitan pengembangan yang lebih tinggi. Solana berfokus pada throughput tinggi, biaya rendah, dan skalabilitas, menjadikannya pilihan ideal bagi pengembang yang saat ini ingin membuat dApps berkinerja tinggi.

Penafian:

  1. Artikel ini dicetak ulang dari [Foresight News]. Semua hak cipta adalah milik penulis asli [Alex Liu]. Jika ada keberatan dengan cetak ulang ini, silakan hubungi tim Gate Learn, dan mereka akan segera menanganinya.
  2. Penafian Kewajiban: Pandangan dan pendapat yang diungkapkan dalam artikel ini semata-mata milik penulis dan bukan merupakan saran investasi.
  3. Penerjemahan artikel ke bahasa lain dilakukan oleh tim Gate Learn. Kecuali disebutkan, menyalin, mendistribusikan, atau menjiplak artikel yang diterjemahkan dilarang.

Bagikan

Kalender Kripto

Pembaruan Proyek
Etherex akan meluncurkan token REX pada 6 Agustus.
REX
22.27%
2025-08-06
Hari Rare Dev & Governance di Las Vegas
Cardano akan mengadakan Rare Dev & Governance Day di Las Vegas, dari 6 hingga 7 Agustus, menampilkan lokakarya, hackathon, dan diskusi panel yang berfokus pada pengembangan teknis dan topik tata kelola.
ADA
-3.44%
2025-08-06
Blockchain.Rio di Rio De Janeiro
Stellar akan berpartisipasi dalam konferensi Blockchain.Rio, yang dijadwalkan berlangsung di Rio de Janeiro, dari 5 hingga 7 Agustus. Program ini akan mencakup pidato kunci dan diskusi panel yang menampilkan perwakilan ekosistem Stellar bekerja sama dengan mitra Cheesecake Labs dan NearX.
XLM
-3.18%
2025-08-06
Webinar
Circle telah mengumumkan webinar Executive Insights langsung berjudul "Era GENIUS Act Dimulai", yang dijadwalkan pada 7 Agustus 2025, pukul 14:00 UTC. Sesi ini akan mengeksplorasi implikasi dari GENIUS Act yang baru saja disahkan—kerangka regulasi federal pertama untuk stablecoin pembayaran di Amerika Serikat. Dante Disparte dan Corey Then dari Circle akan memimpin diskusi tentang bagaimana legislasi ini mempengaruhi inovasi aset digital, kejelasan regulasi, dan kepemimpinan AS dalam infrastruktur keuangan global.
USDC
-0.03%
2025-08-06
AMA di X
Ankr akan mengadakan AMA di X pada 7 Agustus pukul 16:00 UTC, yang berfokus pada pekerjaan DogeOS dalam membangun lapisan aplikasi untuk DOGE.
ANKR
-3.23%
2025-08-06

Artikel Terkait

Apa itu Ethereum Terbungkus (WETH)?
Pemula

Apa itu Ethereum Terbungkus (WETH)?

Wrapped Ethereum (WETH) adalah versi ERC-20 dari mata uang asli blockchain Ethereum, Ether (ETH). Token WETH dipatok ke koin asli. Untuk setiap WETH yang beredar, ada cadangan ETH. Tujuan pembuatan WETH adalah untuk kompatibilitas di seluruh jaringan. ETH tidak mematuhi standar ERC-20 dan sebagian besar DApps yang dibangun di jaringan mengikuti standar ini. Jadi WETH digunakan untuk memfasilitasi integrasi ETH ke dalam aplikasi DeFi.
11/24/2022, 8:49:09 AM
Apa Itu Owlto Finance?
Lanjutan

Apa Itu Owlto Finance?

Owlto Finance adalah jembatan terdesentralisasi Cross-Rollup untuk transfer aset yang lancar dalam jaringan Ethereum. Klik tautan untuk mempelajari lebih lanjut tentang hal itu dan bagaimana cara kerjanya.
9/18/2024, 4:11:38 AM
Apa itu Neiro? Semua yang Perlu Anda Ketahui Tentang NEIROETH pada 2025
Menengah

Apa itu Neiro? Semua yang Perlu Anda Ketahui Tentang NEIROETH pada 2025

Neiro adalah Anjing Shiba Inu yang menginspirasi peluncuran token Neiro di berbagai blockchain. Pada tahun 2025, Neiro Ethereum (NEIROETH) telah berkembang menjadi koin meme terkemuka dengan kapitalisasi pasar sebesar $215 juta, 87.000+ pemegang, dan terdaftar di 12 bursa besar. Ekosistemnya kini mencakup DAO untuk tata kelola komunitas, toko barang resmi, dan aplikasi seluler. NEIROETH telah menerapkan solusi layer-2 untuk meningkatkan skalabilitas dan mengamankan posisinya di 10 besar koin meme bertema anjing berdasarkan kapitalisasi pasar, didukung oleh komunitas yang bersemangat dan influencer crypto terkemuka.
9/5/2024, 3:37:06 PM
Panduan Cara Berpindah Jaringan di MetaMask
Pemula

Panduan Cara Berpindah Jaringan di MetaMask

Ini adalah panduan sederhana langkah demi langkah tentang cara mengalihkan jaringan Anda di MetaMask.
1/11/2024, 10:37:30 AM
Apa itu The Merge?
Pemula

Apa itu The Merge?

Dengan Ethereum menjalani penggabungan testnet terakhir dengan Mainnet, Ethereum akan resmi beralih dari PoW ke PoS. Lalu, apa dampak yang akan dibawa revolusi yang belum pernah terjadi ini ke dunia kripto?
7/10/2024, 9:12:24 AM
Apa itu Ethereum 2.0? Memahami Penggabungan
Menengah

Apa itu Ethereum 2.0? Memahami Penggabungan

Perubahan di salah satu cryptocurrency teratas yang mungkin berdampak pada seluruh ekosistem
11/21/2022, 8:14:24 AM
Mulai Sekarang
Daftar dan dapatkan Voucher
$100
!