
Menjelajahi Kompresi NFT di Solana
Salah satu kemajuan terbaru dalam dunia kripto adalah kemunculan aset digital — yang umumnya disebut non-fungible token atau disingkat NFT. NFT memungkinkan kepemilikan aset digital yang tahan sensor (seperti karya seni, item game, tiket, dan sebagainya), sekaligus menghadirkan ekonomi peer-to-peer yang dinamis untuk memperdagangkan aset tersebut. Bahkan, NFT dapat dianggap sebagai aplikasi besar kedua yang berhasil mencapai Product Market Fit (PMF) di dunia kripto (setelah konsep uang digital).
Namun, NFT juga memiliki tantangan.
Salah satu tantangan utama di Solana adalah biaya penyimpanan aset tersebut secara on-chain. Meskipun Solana menawarkan biaya transaksi yang sangat rendah, biaya penyimpanannya berbeda. Agar aset digital benar-benar tersedia secara luas di dunia digital, biaya penyimpanannya harus semurah mungkin bagi semua orang. Di sinilah kompresi NFT di Solana berperan.
Kompresi NFT memungkinkan hadirnya aplikasi generasi berikutnya yang didukung kripto dengan memungkinkan pengembang & kreator mencetak NFT dalam jumlah besar dengan biaya yang jauh lebih rendah. Bayangkan MMORPG dengan item game berupa NFT yang dapat diperdagangkan dan ekonomi game yang terintegrasi tanpa hambatan dengan ekonomi global. Tentu saja, game semacam ini akan memiliki jutaan, bahkan miliaran item yang membutuhkan biaya sangat besar untuk dicetak di blockchain seperti Ethereum. Kompresi NFT memungkinkan hal ini diwujudkan di Solana – sekarang juga.
Untuk melihat seberapa besar manfaatnya, mari gunakan sebuah contoh:Polygon (solusi penskalaan untuk Ethereum) saat ini mengenakan biaya sekitar 0,05 USD untuk mencetak satu NFT. Artinya, dibutuhkan biaya sekitar 50 juta dolar untuk mencetak sekitar satu miliar NFT di Polygon.
Di Solana (dengan kompresi), biayanya sekitar 0,0000005 SOL per NFT, atau sekitar 11.000 USD untuk satu miliar NFT pada saat artikel ini ditulis.Jumlah tersebut ~50 juta dolar atau sekitar tiga tingkat besaran lebih murah. Inilah kekuatan kompresi.
Namun, bagaimana cara kerja kompresi? Mari kita cari tahu.
Kompresi NFT memungkinkan pengembang & kreator menyimpan sebagian besar data NFT di ledger(yang jauh lebih murah daripada penyimpanan on-chain), sementara sidik jari digital dari data tersebut disimpan di blockchain Solana dalam bentuk Merkle Tree. Jika data pengindeks diubah dengan cara apa pun, sidik jari digital data tersebut tidak akan cocok dengan sidik jari on-chain — sehingga integritas data tetap terjamin.
Latar Belakang NFT Solana (Opsional)
Sebelum membahas kompresi lebih jauh, mari kita tinjau terlebih dahulu cara kerja NFT di Solana. Jika Anda sudah berpengalaman dengan NFT Solana, silakan langsung lanjut ke bagian berikutnya.
Token di Solana menggunakan dua jenis akun: akun mint dan akun token. Akun mint berisi informasi global tentang token, seperti jumlah pasokan. Akun token menghubungkan token dengan akun pengguna lain.
Sebagai contoh, jika Pengguna A menerima 1.500 USDC, akun token USDC milik Pengguna A (yang berasal dari akun pengguna utamanya) akan menyimpan token tersebut. Proses ini berlaku untuk semua token. Jika saya ingin mengirim 100 USDT kepada Pengguna A, Transfer Program akan terlebih dahulu membuat akun token USDT milik Pengguna A jika belum ada, atau mencarinya jika sudah ada.
Ini seperti memiliki beberapa kantong berbeda di dalam dompet fisik utama Anda untuk setiap mata uang. Anda menyimpan Euro di satu kantong, Dolar di kantong lain, dan seterusnya — tetapi dompet utamanya tetap milik Anda sebagai pengguna.
NFT di Solana adalah token dengan pasokan tunggal (misalnya, hanya ada satu). Metaplex juga memperkenalkan sesuatu yang disebut Token Metadata Program, yang menautkan akun metadata ke NFT. Akun metadata memuat informasi seperti nama, simbol, koleksi, dan tentu saja gambar NFT itu sendiri. Topik ini cukup mendalam, jadi kami tidak akan membahasnya lebih lanjut.
Latar Belakang Kompresi
Tujuan kompresi adalah mengurangi jumlah data yang disimpan secara on-chain. Hal ini dicapai dengan menyimpan data (misalnya, metadata gambar) dalam Merkle tree di ledger Solana dan menyimpan root-nya secara on-chain.
Pengindeks mempertahankan status terkini Merkle tree dengan memproses semua transaksi yang melibatkan tree tersebut. Pengguna dapat mengambil data mereka dengan cepat dari pengindeks. Root on-chain memastikan interaksi program valid dan aman, sedangkan pengguna dapat mencocokkan data pengindeks dengan root on-chain untuk memastikan data tersebut mutakhir dan valid.
Baiklah – tunggu dulu, apa itu Merkle tree?
Merkle tree adalah struktur data yang memungkinkan Anda memverifikasi integritas data dalam jumlah besar secara cepat dan efisien. Caranya adalah dengan memecah data menjadi bagian-bagian lebih kecil yang disebut "leaf", lalu menggabungkan leaf tersebut menjadi "node" yang semakin besar.
Setiap node dalam tree merepresentasikan hash dari child node-nya. Parent node kemudian menggabungkan hash dari child node untuk membuat hash uniknya sendiri. Proses ini diulang hingga semua leaf digabungkan menjadi satu hash di bagian teratas tree, yang disebut "root hash". Root hash dapat digunakan untuk memverifikasi bahwa seluruh data dalam tree lengkap dan tidak berubah, tanpa harus memeriksa setiap leaf satu per satu.
Kompresi Solana didukung oleh program kompresi akun. Program ini memungkinkan pengembang membuat akun Merkle tree yang akan menyimpan root hash. Selanjutnya, pengembang dapat menambahkan leaf baru atau mengganti leaf yang ada. Setiap penggantian leaf memerlukan “proof path”, yaitu subset terkecil dari tree yang memuat leaf dan semua node yang diperlukan untuk menghitung root hash. Program kompresi memeriksa proof terhadap root hash untuk memverifikasi bahwa data tersebut valid. Hal ini diperlukan karena konten tree yang sebenarnya tidak disimpan secara on-chain.
Singkatnya, program kompresi memungkinkan pengembang membuat Merkle tree dan menambahkan/memperbarui item di dalamnya. Riwayat tree tersedia di ledger Solana karena setiap tindakan dilakukan melalui transaksi Solana. Seluruh tree dapat dibangun kembali dengan memutar ulang riwayatnya jika pengindeks atau penyedia RPC berhenti beroperasi, atau jika pengembang ingin berganti penyedia.
Terakhir, root dari tree disimpan secara on-chain untuk verifikasi dan keamanan data. Dengan menggabungkan semua hal tersebut, sistem ini menghilangkan kebutuhan untuk menyimpan state secara on-chain, sehingga mengurangi biaya dan secara efektif “mengompresi” data.
Kekhawatiran umum pengembang mengenai kompresi adalah: “apa yang terjadi jika penyedia RPC yang saya andalkan disusupi atau berhenti beroperasi? Apakah saya tidak dapat melakukan apa-apa?” Jawabannya tidak! Karena semua transaksi tetap disimpan di chain itu sendiri, siapa pun dapat memutar ulang transaksi tersebut untuk memperoleh state chain terkini. Anda dapat menganggap penyedia RPC sebagai “cache” yang memudahkan akses ke state terkini.
Kompresi NFT
Kompresi NFT didukung oleh program bernama Bubblegum. Bubblegum menggunakan program kompresi untuk menyimpan setiap NFT dalam Merkle tree, sehingga tidak lagi memerlukan akun mint, token, dan metadata. Inilah yang membuat NFT terkompresi begitu murah!
Mencetak NFT terkompresi cukup dengan menambahkan item baru ke Merkle tree. Setiap item yang ditambahkan akan memuat informasi seperti nama NFT, koleksi, pemilik, dan lainnya. Selain pencetakan, Bubblegum juga menyediakan metode berikut:
- Transfer
- Burn
- Delegate, CancelDelegate
- Burn
- Redeem, CancelRedeem
- Decompress
- VerifyCreator, SetAndVerifyCreator
- VerifyCollection, SetAndVerifyCollection
Kami juga telah menambahkan dokumentasi untuk membantu Anda mulai menggunakan metode ini, di sini.
Membaca NFT Terkompresi
Cara termudah untuk membaca NFT terkompresi adalah melalui Digital Asset Standard (DAS) API, spesifikasi dan sistem sumber terbuka yang menyediakan antarmuka terpadu untuk melakukan kueri token. Sistem ini didukung oleh pengindeks yang memproses semua transaksi Bubblegum dan menyimpan Merkle tree. Selain itu, API ini memungkinkan pengguna melakukan kueri NFT berdasarkan kreator, koleksi, dan pemilik. Ya, Anda tidak salah baca. DAS API tidak hanya berlaku untuk NFT terkompresi, tetapi juga NFT Solana biasa! Artinya, Anda dapat memperoleh daftar mint on-chain atau melihat semua NFT yang dimiliki pengguna atau program melalui satu panggilan API dengan kecepatan luar biasa.
Sekali lagi, kami telah menulis dokumentasi tentang API ini dan bahkan menyediakan kode contoh untuk membantu Anda memulai, di sini.
Kasus Penggunaan Kompresi
Saat artikel ini ditulis, kompresi baru tersedia selama beberapa minggu dan berbagai kasus penggunaan yang mengagumkan sudah mulai dikembangkan. Beberapa contohnya:
- Dialect menggunakan kompresi NFT untuk paket stiker dalam chat mereka
- Helium menggunakan kompresi NFT untuk merepresentasikan Helium Hotspot mereka
- Crossmint menggunakan kompresi NFT untuk melakukan airdrop kepada ratusan ribu orang dan menyediakan API pencetakan yang dapat Anda coba
- Drip Haus menggunakan kompresi NFT untuk menjalankan airdrop massal
- Render mempertimbangkan untuk beralih ke Solana guna memanfaatkan kompresi NFT dalam melakukan tokenisasi seluruh scene graph untuk rendering GPU
Mulai Bangun Masa Depan Aset Digital
Tertarik menggunakan NFT terkompresi? Anda dapat mulai membangun dengan Helius hari ini! Helius mendukung kompresi NFT dan menyediakan DAS API di Devnet maupun Mainnet. Anda dapat membuat kunci API secara gratis di sini, tanpa perlu memasukkan informasi email atau kartu kredit — cukup hubungkan dompet Solana Anda. Belum tahu cara mencetak NFT terkompresi? Lihat repositori sumber terbuka Compression Examples kami. Kami tidak sabar melihat apa yang Anda bangun!
Artikel Terkait
Berlangganan Helius
Ikuti perkembangan terbaru dalam pengembangan Solana dan dapatkan pembaruan saat kami memublikasikan postingan


