Apa Itu Meta Transaksi?
Meta transaksi adalah transaksi blockchain ketika pengguna menandatangani pesan secara off-chain, lalu pihak lain mengirimkan transaksi on-chain yang sebenarnya atas nama pengguna tersebut.Sederhananya, meta transaksi memungkinkan pengguna berinteraksi dengan aplikasi terdesentralisasi tanpa membayar gas secara langsung dari wallet mereka sendiri.Pengguna menandatangani instruksi, sedangkan relayer, forwarder, paymaster, atau backend aplikasi membayar biaya jaringan dan mengirimkan transaksi ke blockchain.Karena itulah meta transaksi sering disebut transaksi tanpa gas, meskipun transaksi tersebut sebenarnya tidak gratis di tingkat jaringan.Seseorang tetap membayar gas fee, tetapi pembayarannya dapat ditanggung oleh dApp, sponsor, relayer, atau akun lain, bukan oleh pengguna akhir.Standar ERC-2771 menetapkan protokol tingkat kontrak yang memungkinkan smart contract menerima meta transaksi melalui kontrak forwarder tepercaya.
Meta transaksi penting dalam dunia kripto karena dapat mempermudah penggunaan aplikasi Web3 bagi pemula.Meta transaksi mengurangi kebutuhan pengguna untuk memiliki token gas native blockchain sebelum mencoba sebuah aplikasi.Hal ini dapat mempermudah onboarding untuk alat DeFi, aplikasi NFT, game blockchain, voting DAO, program loyalitas, dan platform metaverse.Cara Kerja Meta Transaksi
Transaksi blockchain biasa ditandatangani dan dikirimkan langsung oleh wallet pengguna.Pengguna membayar gas menggunakan token native jaringan, lalu blockchain memproses transaksi tersebut.Meta transaksi memisahkan proses penandatanganan dari pembayaran gas.Pertama, pengguna menandatangani pesan yang menjelaskan tindakan yang ingin dilakukan.Pesan yang ditandatangani ini dapat mencakup kontrak tujuan, pemanggilan fungsi, alamat pengguna, nonce, tenggat waktu, dan detail lainnya.Kemudian, relayer menerima pesan yang telah ditandatangani dan mengirimkannya sebagai transaksi on-chain.Relayer membayar gas fee.Smart contract memverifikasi tanda tangan pengguna sebelum menjalankan tindakan yang diminta.Jika tanda tangan valid dan permintaan belum pernah digunakan, kontrak memperlakukan tindakan tersebut seolah-olah berasal dari pengguna asli.Desain ini memungkinkan pengguna menyetujui tindakan tanpa harus menyiarkan transaksi akhir secara langsung.Alasan Meta Transaksi Penting dalam Kripto
Meta transaksi penting karena gas fee merupakan salah satu hambatan terbesar bagi pengalaman pengguna kripto.Banyak pengguna baru menerima token atau NFT, tetapi tidak dapat menggunakannya karena tidak memiliki token native jaringan untuk membayar gas.Meta transaksi dapat mengatasi hal ini dengan memungkinkan aplikasi mensponsori tindakan pertama pengguna.Fitur ini berguna untuk onboarding, gaming, klaim NFT, voting DAO, komunitas dengan akses berbasis token, dan program reward.Sebagai contoh, game blockchain dapat memungkinkan pemain baru mengklaim item tanpa harus membeli token gas terlebih dahulu.DAO dapat memungkinkan anggota melakukan voting tanpa mengharuskan setiap pemilih membayar gas secara langsung.Aplikasi metaverse dapat memungkinkan pengguna mengklaim lencana acara melalui transaksi bersponsor.Meta transaksi dapat membuat pengalaman kripto terasa lebih mirip aplikasi web biasa, sementara proses settlement tetap berlangsung di blockchain.Komponen Utama Meta Transaksi
Tanda Tangan Pengguna
Tanda tangan pengguna adalah persetujuan off-chain yang mengesahkan tindakan tersebut.Pada tahap ini, pengguna tidak mengirimkan transaksi blockchain biasa.Sebaliknya, pengguna menandatangani data terstruktur atau pesan yang nantinya dapat diverifikasi oleh smart contract.Standar EIP-712 menetapkan metode untuk melakukan hashing dan menandatangani data terstruktur bertipe, sehingga wallet dapat menampilkan detail tanda tangan dengan lebih mudah dipahami.
Relayer
Relayer adalah layanan atau akun yang mengirimkan permintaan bertanda tangan ke blockchain.Relayer membayar gas dan menyiarkan transaksi.Relayer berguna karena pengguna tidak perlu memiliki token gas, tetapi relayer juga dapat menimbulkan masalah terkait kepercayaan, sensor, dan ketersediaan.Forwarder
Forwarder adalah smart contract yang menerima permintaan meta transaksi, memverifikasi tanda tangan, dan meneruskan pemanggilan ke kontrak tujuan.Dalam ERC-2771, kontrak penerima memercayai forwarder untuk memberikan informasi pengirim asli yang benar.Dokumentasi meta transaksi OpenZeppelin mencakup alat ERC2771Context dan ERC2771Forwarder untuk membangun kontrak yang kompatibel dengan ERC-2771.
Kontrak Penerima
Kontrak penerima adalah smart contract yang menerima pemanggilan yang diteruskan.Kontrak tersebut harus dirancang untuk memahami bahwa pengguna sebenarnya mungkin berbeda dari pengirim transaksi langsung.Karena itulah dukungan meta transaksi biasanya memerlukan logika kontrak khusus.Nonce
Nonce adalah angka yang digunakan untuk mencegah serangan replay.Jika pesan bertanda tangan dapat digunakan berulang kali, penyerang dapat mengulangi tindakan yang sama tanpa izin.Nonce membantu memastikan setiap permintaan bertanda tangan hanya digunakan satu kali.Meta Transaksi dan Transaksi Tanpa Gas
Meta transaksi sering disebut transaksi tanpa gas karena pengguna akhir tidak membayar gas fee secara langsung.Namun, gas tetap dibayarkan ke jaringan blockchain.Perbedaannya terletak pada siapa yang membayar.dApp dapat mensponsori biaya tersebut sebagai biaya akuisisi pengguna.Relayer dapat membayar biaya dan kemudian menerima kompensasi dari protokol.Proyek dapat memungkinkan pengguna membayar biaya dengan token lain melalui proses di balik layar.Artinya, tanpa gas bukan berarti tanpa biaya.Istilah tersebut berarti pembayaran gas tidak dibebankan secara langsung kepada pengguna.Aplikasi kripto yang baik seharusnya menjelaskan dengan transparan siapa yang membayar biaya dan apakah ada biaya tersembunyi dalam harga, spread, reward, atau ketentuan layanan.ERC-2771 dan Forwarder Tepercaya
ERC-2771 adalah salah satu standar terpenting untuk meta transaksi native.Standar ini menetapkan cara kontrak penerima bekerja dengan forwarder tepercaya untuk mengenali pengguna asli.Dalam transaksi biasa, msg.sender adalah akun yang secara langsung memanggil kontrak.Dalam meta transaksi, pemanggil langsung dapat berupa forwarder, bukan pengguna.ERC-2771 mengatasi hal ini dengan memungkinkan kontrak penerima memulihkan alamat pengguna yang sebenarnya dari calldata yang diteruskan.Dengan demikian, smart contract dapat mendukung meta transaksi tanpa mengubah protokol blockchain itu sendiri.Kompromi utamanya adalah kontrak penerima harus memercayai forwarder.Jika forwarder tepercaya dirancang dengan buruk atau diretas, pengguna dan aplikasi dapat menghadapi risiko.Meta Transaksi dan EIP-712
EIP-712 sering digunakan bersama meta transaksi karena membuat pesan bertanda tangan lebih terstruktur dan mudah dibaca.Tanpa data bertipe yang jelas, pengguna mungkin diminta menandatangani pesan membingungkan yang sulit dipahami.Dengan EIP-712, wallet dapat menampilkan kolom seperti kontrak, tindakan, jumlah, tenggat waktu, nonce, atau spender dengan cara yang lebih mudah dipahami.Hal ini meningkatkan keamanan karena pengguna dapat lebih memahami apa yang mereka tandatangani.Namun, tanda tangan yang mudah dibaca tidak menghilangkan semua risiko.Pengguna tetap perlu memverifikasi situs web, kontrak, jaringan, dan izin yang diminta sebelum menandatangani.Meta Transaksi dan Account Abstraction
Meta transaksi berkaitan erat dengan account abstraction, tetapi keduanya tidak sepenuhnya sama.Meta transaksi biasanya melibatkan pengguna yang menandatangani permintaan untuk dikirimkan ke blockchain oleh pihak lain.Account abstraction adalah pendekatan desain wallet yang lebih luas dan dapat mendukung smart account, validasi fleksibel, gas bersponsor, session key, batas pengeluaran, dan model pembayaran biaya alternatif.Standar ERC-4337 memperkenalkan objek UserOperation dan alur tingkat lebih tinggi untuk account abstraction tanpa memerlukan perubahan pada lapisan konsensus protokol.
Dalam sistem ERC-4337, paymaster dapat mensponsori gas atau memungkinkan mekanisme pembayaran alternatif.Hal ini dapat menghadirkan versi yang lebih canggih dari pengalaman pengguna yang ingin ditingkatkan melalui meta transaksi.Kedua konsep ini bertujuan mengurangi hambatan dan mempermudah penggunaan aplikasi blockchain.Penggunaan Umum Meta Transaksi
Salah satu penggunaan yang umum adalah onboarding tanpa gas.dApp dapat memungkinkan pengguna baru melakukan tindakan pertama tanpa harus membeli token gas terlebih dahulu.Penggunaan lainnya adalah minting atau klaim NFT.Proyek dapat mensponsori gas agar pengguna lebih mudah mengklaim lencana, tiket, reward, atau koleksi.Penggunaan lainnya adalah voting DAO.Meta transaksi dapat membuat voting lebih murah atau gratis bagi anggota, sehingga partisipasi mungkin meningkat.Penggunaan lainnya adalah gaming blockchain.Game dapat menyembunyikan kerumitan gas agar pemain dapat berfokus pada permainan, bukan biaya transaksi.Penggunaan lainnya adalah meningkatkan pengalaman pengguna DeFi.Beberapa protokol dapat menggunakan meta transaksi untuk menyederhanakan persetujuan, deposit, reward, atau tindakan berulang.Manfaat Meta Transaksi
Manfaat pertama adalah onboarding yang lebih baik.Pengguna dapat mencoba aplikasi tanpa harus membeli token gas native jaringan terlebih dahulu.Manfaat kedua adalah pengalaman pengguna yang lebih lancar.Aplikasi dapat terasa tidak terlalu teknis ketika pembayaran gas ditangani di balik layar.Manfaat ketiga adalah peningkatan partisipasi.Voting, klaim, dan reward tanpa gas dapat meningkatkan aktivitas pengguna.Manfaat keempat adalah desain biaya yang fleksibel.Proyek dapat mensponsori gas, membebankan biaya dalam token lain, atau menggunakan model pembayaran yang berbeda.Manfaat kelima adalah desain produk yang lebih baik.Developer dapat membangun aplikasi kripto yang terasa lebih mirip aplikasi umum, tetapi tetap menggunakan settlement on-chain.Risiko Meta Transaksi
Risiko pertama adalah ketergantungan pada relayer.Jika relayer berhenti berfungsi, pengguna mungkin tidak dapat mengirimkan transaksi bersponsor.Risiko kedua adalah sensor.Relayer dapat memilih untuk tidak mengirimkan permintaan pengguna tertentu.Risiko ketiga adalah phishing tanda tangan.Penyerang dapat mengelabui pengguna agar menandatangani pesan berbahaya yang terlihat tidak berbahaya.Risiko keempat adalah serangan replay.Jika nonce, tenggat waktu, atau pemisahan domain dirancang dengan buruk, pesan bertanda tangan dapat digunakan kembali dengan cara yang tidak diinginkan.Risiko kelima adalah risiko forwarder tepercaya.Jika kontrak penerima memercayai forwarder yang tidak tepercaya, kontrak dapat memproses informasi pengirim yang keliru.Risiko keenam adalah biaya yang tidak jelas.Pengguna mungkin tidak membayar gas secara langsung, tetapi biaya tetap dapat disembunyikan dalam biaya aplikasi, spread, desain reward, atau ketentuan layanan.Praktik Keamanan Terbaik untuk Meta Transaksi
Developer sebaiknya menggunakan tanda tangan bertipe yang jelas jika memungkinkan.Developer sebaiknya menyertakan nonce untuk mencegah serangan replay.Developer sebaiknya menyertakan tenggat waktu agar tanda tangan lama tidak dapat digunakan tanpa batas waktu.Developer sebaiknya menggunakan pemisahan domain agar tanda tangan tidak dapat digunakan kembali di kontrak, chain, atau aplikasi lain.Developer sebaiknya memilih dan mengaudit forwarder tepercaya dengan cermat.Developer sebaiknya menampilkan detail tanda tangan yang jelas kepada pengguna sebelum mengumpulkan tanda tangan.Pengguna sebaiknya tidak menandatangani pesan dari situs web yang tidak dikenal.Pengguna sebaiknya memeriksa domain, aplikasi, prompt wallet, tindakan yang diminta, dan jaringan sebelum menyetujui.Transaksi tanpa gas tetap dapat berbahaya jika pesan yang ditandatangani memberi izin untuk memindahkan aset atau berinteraksi dengan kontrak berbahaya.Meta Transaksi vs. Permit
Meta transaksi dan persetujuan bergaya permit saling berkaitan, tetapi berbeda.Permit memungkinkan pengguna menyetujui penggunaan token melalui tanda tangan off-chain, bukan melalui transaksi persetujuan langsung.Meta transaksi dapat menggunakan tanda tangan off-chain untuk mengesahkan tindakan kontrak yang lebih luas, yang kemudian dikirimkan ke blockchain oleh pihak lain.Keduanya dapat mengurangi jumlah transaksi langsung yang perlu dikirim pengguna.Keduanya memerlukan desain tanda tangan yang cermat.Perbedaan utamanya adalah permit biasanya berfokus pada persetujuan token, sedangkan meta transaksi dapat mendukung berbagai jenis tindakan aplikasi.Meta Transaksi vs. Transaksi Biasa
Dalam transaksi biasa, pengguna menandatangani dan menyiarkan transaksi secara langsung.Pengguna membayar gas dari wallet mereka sendiri.Smart contract melihat alamat pengguna sebagai msg.sender.Dalam meta transaksi, pengguna menandatangani permintaan off-chain.Relayer menyiarkan transaksi dan membayar gas.Smart contract harus memverifikasi tanda tangan dan memulihkan alamat pengguna asli.Desain tambahan ini dapat meningkatkan pengalaman pengguna, tetapi juga menambah kompleksitas dan asumsi keamanan baru.Kesalahpahaman Umum tentang Meta Transaksi
Salah satu kesalahpahaman umum adalah bahwa meta transaksi sepenuhnya menghilangkan gas fee.Meta transaksi tidak menghilangkan gas fee; meta transaksi mengalihkan pembayaran gas dari pengguna.Kesalahpahaman lainnya adalah bahwa transaksi tanpa gas berarti bebas risiko.Pengguna tetap dapat menandatangani pesan berbahaya atau berinteraksi dengan kontrak yang berbahaya.Kesalahpahaman ketiga adalah bahwa semua smart contract mendukung meta transaksi.Kontrak biasanya memerlukan logika khusus agar dapat menangani pemanggilan yang diteruskan dengan benar.Kesalahpahaman keempat adalah bahwa meta transaksi sama dengan account abstraction.Keduanya berkaitan, tetapi account abstraction merupakan model desain wallet dan transaksi yang lebih luas.FAQ
Apa itu meta transaksi?
Meta transaksi adalah transaksi ketika pengguna menandatangani permintaan off-chain dan pihak lain mengirimkan transaksi on-chain atas nama pengguna tersebut.Apakah meta transaksi tanpa gas?
Meta transaksi dapat terasa tanpa gas bagi pengguna, tetapi blockchain tetap memerlukan gas yang dibayar oleh relayer, sponsor, paymaster, atau aplikasi.Apa itu relayer dalam meta transaksi?
Relayer adalah layanan atau akun yang mengirimkan permintaan pengguna bertanda tangan ke blockchain dan membayar gas fee.Apa itu ERC-2771?
ERC-2771 adalah standar yang memungkinkan smart contract menerima meta transaksi melalui kontrak forwarder tepercaya.Apa itu forwarder tepercaya?
Forwarder tepercaya adalah kontrak yang memverifikasi atau meneruskan permintaan meta transaksi dan membantu kontrak penerima mengenali pengguna asli.Bagaimana EIP-712 membantu meta transaksi?
EIP-712 membantu pengguna menandatangani data terstruktur yang dapat ditampilkan wallet dengan lebih jelas, sehingga persetujuan off-chain lebih mudah dipahami.Apakah meta transaksi aman?
Meta transaksi dapat aman jika dirancang dengan benar, tetapi tetap memiliki risiko seperti phishing, serangan replay, sensor relayer, dan desain forwarder yang buruk.Apakah meta transaksi dapat digunakan untuk NFT?
Ya. Meta transaksi dapat digunakan untuk minting, klaim, transfer, reward, lencana acara, dan pengalaman berbasis token untuk NFT.Apakah meta transaksi sama dengan account abstraction?
Tidak. Meta transaksi adalah salah satu cara untuk meningkatkan pengalaman transaksi, sedangkan account abstraction merupakan model smart wallet yang lebih luas dan dapat mencakup sponsor gas serta validasi fleksibel.Mengapa dApp menggunakan meta transaksi?
dApp menggunakan meta transaksi untuk mengurangi hambatan onboarding, mensponsori aktivitas pengguna, menyederhanakan pembayaran gas, dan menciptakan pengalaman Web3 yang lebih lancar.Kesimpulan
Meta transaksi merupakan konsep penting dalam dunia kripto karena mempermudah penggunaan aplikasi blockchain dengan memisahkan otorisasi pengguna dari pembayaran gas.Meta transaksi memungkinkan pengguna menandatangani tindakan secara off-chain, sementara relayer, forwarder, paymaster, atau aplikasi mengirimkan transaksi on-chain yang sebenarnya.Hal ini dapat meningkatkan onboarding, gaming, klaim NFT, voting DAO, aktivitas metaverse, dan pengalaman pengguna DeFi.Standar seperti ERC-2771 dan EIP-712 membantu developer menerapkan meta transaksi dengan lebih aman dan mudah.Account abstraction melalui ERC-4337 memperluas tujuan serupa dengan memungkinkan model wallet dan sponsor gas yang lebih fleksibel.Namun, meta transaksi tidak bebas risiko.Pengguna tetap perlu meninjau tanda tangan dengan cermat, sementara developer harus melindungi sistem dari serangan replay, forwarder yang buruk, kegagalan relayer, dan model biaya yang tidak jelas.Penggunaan meta transaksi yang tepat bukanlah untuk menyembunyikan blockchain sepenuhnya, melainkan untuk mengurangi hambatan yang tidak perlu sambil menjaga persetujuan pengguna, transparansi, dan keamanan tetap jelas.Anda Mungkin Juga Menyukai
ZK-Rollup
ZK-Rollup-as-a-Service
zk-SNARK
POPULER
Mata uang kripto yang sedang tren saat ini dan menarik perhatian pasar yang signifikan
Volume TERATAS
Mata uang kripto dengan volume trading tertinggi
Baru Ditambahkan
Mata uang kripto yang baru saja masuk listing dan tersedia untuk trading

