
Salah satu keunggulan Web3 adalah memberi pengguna kendali penuh atas privasi dan cara mereka berinteraksi dengan platformnya. Pelajari cara mengelola persetujuan dan izin di MetaMask.
Meskipun pengalaman Anda berinteraksi dengan blockchain seperti Ethereum terbatas pada pengiriman transaksi sederhana antar dompet, Anda akan menyetujui, mengesahkan, atau menandatangani transaksi Anda. Ini berarti Anda mengonfirmasi penyerahannya ke blockchain.
Proses yang sama juga berlaku untuk berinteraksi dengan dapps di Web3: ada banyak hal yang harus disetujui, disetujui, dan diizinkan. Tapi apa sebenarnya yang dimaksud dengan persetujuan MetaMask?
Untuk menguraikan pertanyaan ini, pertama-tama kita perlu membahas beberapa aspek inti kriptografi.
Kunci dan kriptografi: apa itu persetujuan?
Semua aktivitas kripto Anda didasarkan pada kriptografi kunci publik. Pada dasarnya, setiap dompet memiliki 'kunci' publik dan pribadi yang cocok yang dihasilkan saat dompet dibuat. Bayangkan sebuah pintu yang mengharuskan Anda membuka kunci baut dan memutar kait untuk masuk, dengan kunci berbeda untuk masing-masing pintu. Memiliki satu kunci tidak membawa Anda kemana-mana – Anda memerlukan pasangannya.
Meskipun merupakan penyederhanaan yang berlebihan, kami dapat menerima tantangan dari pintu hipotetis ini dan menerapkan logika serupa ke dompet kripto Anda. Kunci privat dan publik Anda diperlukan untuk bertransaksi: kunci privat untuk menunjukkan bahwa Anda yang memulai transaksi, dan kunci publik untuk penerima untuk memverifikasi asal transaksi. Begini cara kerjanya:
Anda memutuskan untuk mengirim token ke kontak.
Ketika Anda mengetahui alamat dompet penerima, Anda memegang kunci publiknya – kunci publik hanyalah versi hash (terenkripsi) dari kunci publiknya. Kunci publik digunakan untuk mengenkripsi transaksi.
Penerima, pemegang kunci privat, menerima transaksi. Karena kunci mereka dimiliki bersama, hanya kunci privat yang sesuai – yang hanya mereka miliki – yang dapat mendekripsi transaksi yang dikirim dengan kunci publik mereka.
Sejauh ini, semuanya baik-baik saja: kami telah menetapkan bagaimana pasangan kunci privat dan publik berinteraksi untuk mendukung transaksi blockchain. Namun, untuk menerapkan pengetahuan ini pada persetujuan/tanda tangan, kami membalik peran kunci: sebagai gantinya, pengirim mengenkripsi pesan dengan kunci pribadinya. Karena orang lain dapat dengan mudah mengetahui kunci publik pengirim (alamat dompet mereka), kunci tersebut dapat digabungkan untuk mendekripsi pesan, memverifikasi identitas pengirim. Hanya sepasang kunci yang cocok yang akan mengungkapkan isi pesan tersebut, artinya tidak ada yang dapat membantah asal usulnya.
Mencetak semacam tanda tangan pada setiap transaksi menjamin kekekalan, dan tidak ada orang lain selain Anda – pemegang kunci pribadi Anda – yang dapat meniru Anda secara curang
Izin Dapp
Yang pertama dari dua jenis persetujuan utama yang akan Anda temui adalah menghubungkan dompet Anda ke dapp untuk pertama kalinya – baik itu DeFi, layanan seperti Etherscan, atau pasar NFT.
Hal ini melibatkan pemberian izin kepada dapp untuk mengambil alamat dompet Anda, dan merupakan prasyarat untuk berinteraksi dengan platform. Hal ini juga menjelaskan mengapa Anda akan melihatnya disebut sebagai “izin” atau “izin”; kata benda yang menggambarkan dengan tepat apa yang Anda lakukan. Dalam beberapa kasus, dapps meminta Anda memberikan izin secara otomatis; yang lain mengharuskan Anda mengeklik tombol berlabel "sambungkan" atau serupa.
Memberikan izin Anda, dalam kasus kami, akan terlihat seperti ini:

Persetujuan token
Baik Anda seorang kripto asli berpengalaman atau pemula, untuk berinteraksi dengan kontrak pintar apa pun – jenis yang menjalankan dapps (termasuk DeFi, game blockchain, pembelian NFT) – Anda harus menyetujui aksesnya ke token Anda.
Proses ini disebut dengan berbagai cara, dan tidak mengherankan, sebagai persetujuan token. Apa yang Anda lakukan di sini adalah:
Mengizinkan kontrak pintar mengakses saldo token Anda. Anggap saja ini sebagai 'tahap kontrak pintar'. MetaMask akan dengan jelas menunjukkan pada tahap ini berapa banyak akses yang Anda berikan: beberapa dapps mungkin menentukan jumlah token yang terbatas, sementara yang lain meminta akses tak terbatas.
Mengonfirmasi bahwa Anda ingin menyelesaikan transaksi yang dimaksud: yaitu 'tahap blockchain', di mana Anda mengizinkan kontrak pintar untuk mengirimkan transaksi ke jaringan atas nama Anda.
Katakanlah Anda ingin melakukan pertukaran token di Uniswap, bursa terdesentralisasi (DEX) terbesar berdasarkan volume perdagangan. Saat Anda memulai pertukaran pasangan token untuk pertama kalinya, Anda akan diminta untuk menyetujui kontrak pintar untuk pasangan token ERC-20 yang Anda perdagangkan (walaupun tidak untuk ETH itu sendiri, yang tidak memerlukan persetujuan). Meskipun ini hanya terjadi saat pertama kali Anda memperdagangkan pasangan tersebut, langkah selanjutnya – yaitu langkah kedua di atas – akan selalu diperlukan, dan berarti protokol Uniswap akan mengeksekusi perdagangan Anda berdasarkan permintaan.
Proses ini akan menyerupai di bawah ini:
Pertama, Anda akan diminta oleh platform untuk menyetujui token. Klik pada prompt dan MetaMask akan mulai beraksi.
MetaMask akan menunjukkan kepada Anda alamat kontrak token, mengonfirmasi bahwa token tersebut meminta kemampuan untuk mengakses dan memindahkan dana Anda. Untuk memastikan bahwa Anda mengizinkan kontrak yang benar, ada baiknya melakukan referensi silang alamat token dengan yang tercantum di situs web dapp – biasanya dapat ditemukan di pusat bantuan, basis pengetahuan, atau dokumen mereka. Anda bahkan memiliki opsi untuk menentukan seberapa jauh Anda ingin izin ini berlaku – untuk melakukannya, tekan 'Edit Izin'.
Opsi ini memungkinkan Anda melihat dengan tepat berapa banyak akses yang Anda izinkan. Dalam hal ini, Uniswap menginginkan akses ke stETH dalam jumlah yang hampir tidak terbatas (1.1659), tetapi kami dapat membatasi izin ini jika diperlukan, menggunakan bidang 'Batas Pembelanjaan Khusus'.
Dengan fitur ini, MetaMask membuat Anda tetap mengontrol persetujuan token – Anda tidak perlu mengizinkan dapp mengakses lebih dari yang Anda inginkan, atau mengambil risiko yang tidak diinginkan demi mencoba platform baru.
Permintaan perdagangan itu sendiri adalah tempat masuknya pasangan kunci Anda: Anda menandatangani transaksi dengan kunci pribadi Anda. Bayangkan menandatangani garis putus-putus dengan pena; meskipun dengan kriptografi kunci publik, risiko penipuan identitas dapat diabaikan. Dalam contoh kami, menyetujui berarti Anda telah mengizinkan kontrak pintar Uniswap untuk memindahkan token tersebut ke dan dari dompet Anda atas nama Anda. Setiap kali Anda mencoba dan memulai pertukaran, kontrak pintar dapat memeriksa 'pesan' Anda – yaitu instruksi untuk melakukan pertukaran – dan memverifikasi bahwa Anda, sebagai satu-satunya orang yang memiliki akses ke kunci pribadi Anda, adalah pembuatnya.
Bagaimana cara mengelola persetujuan dan izin?
Salah satu keunggulan Web3 adalah memberi pengguna kendali penuh atas privasi dan cara mereka berinteraksi dengan platformnya. Desain non-penahanan MetaMask mencerminkan hal ini. Namun, prinsip-prinsipnya mencakup fitur-fitur lain; kemampuan untuk melihat dan mengelola persetujuan dapp dan kontrak pintar adalah salah satunya.
Melihat situs yang terhubung di MetaMask
MetaMask menyertakan fitur asli untuk meninjau situs mana yang terhubung dengan dompet Anda. Ini disebut 'Situs yang terhubung' (seperti yang mungkin Anda ketahui, kami tidak suka membuat hal yang terlalu rumit). Metode untuk menghapusnya juga sama mudahnya.
Melihat persetujuan token
Etherscan baru-baru ini menerapkan pemeriksa persetujuan token yang memungkinkan Anda melihat dan mencabut, ya… persetujuan token.
Daftar persetujuan token ditampilkan setelah Anda menghubungkan MetaMask dan memberikan izin kepada Etherscan untuk melihat dompet Anda – familier? Anda kemudian bebas memeriksa relevansinya dan mencabutnya sesuai dengan itu. Berguna juga, Anda juga dapat melihat aset spesifik yang terlibat, siapa yang telah Anda setujui (misalnya dapp mana, yang dirujuk berdasarkan nama), dan jumlah token yang aksesnya telah Anda setujui.

Ada juga beberapa alternatif, termasuk Approved.zone, Revoke, dan Token Allowance Checker (TAC).
Jangan langsung
Agensi pribadi yang mengelola dompet non-penahanan seperti MetaMask adalah pedang bermata dua. Sama seperti menjaga keamanan frase pemulihan rahasia Anda adalah tanggung jawab pribadi Anda dan memerlukan kewaspadaan terhadap penipu, Anda satu-satunya yang dapat mengelola izin dapp dan persetujuan kontrak pintar. Ditambah dengan betapa mudahnya membuat token ERC-20 baru – terdapat sekitar 485.000 token pada saat penulisan ini – dan risikonya menjadi sangat jelas. Meskipun sebagian besar dibuat dengan itikad baik, sebagian besar dapat dibuat oleh aktor jahat.
Persetujuan token adalah vektor serangan penipuan yang relatif umum – cukup periksa rekt.news untuk mendapatkan gambaran skalanya, dan artikel Finematics ini untuk mengetahui gambaran metodenya. Seperti disebutkan sebelumnya, dapps harus menentukan berapa banyak token yang ingin mereka akses. MetaMask, misalnya, akan memastikan bahwa informasi ini ditampilkan di layar persetujuan sebelum Anda mengonfirmasi, memberi Anda gambaran yang lebih jelas tentang apa yang Anda daftarkan.
Permintaan akses dari dapps dapat bervariasi dari jumlah yang spesifik dan terbatas hingga tidak dibatasi sama sekali, di mana kontrak pintar dapat menarik sebanyak yang diinginkan dari dompet Anda. Pada dasarnya, akses tak terbatas bukanlah masalah atau tanda bahaya – banyak platform terkemuka seperti DEX besar melakukan hal ini agar Anda tidak perlu sering-sering menyetujui ulang jika Anda menggunakan dapp secara rutin. Masalahnya muncul dengan dapps yang meminta akses tak terbatas ke token Anda dengan tujuan mencuri.
Sebelum menyetujui akses kontrak pintar ke sejumlah token, Anda harus melalui daftar periksa mental untuk menilai risiko. Anda akan sering melihat akronim 'DYOR' disebutkan secara online: melakukan riset sendiri sebelum mengizinkan akses jelas merupakan kebiasaan yang baik untuk diterapkan. Misalnya:
Seberapa terkenalkah proyek ini?
Sudah berapa lama?
Apakah ia memiliki saluran komunitas aktif di Discord, Telegram, atau Twitter?
Apakah pengembang/pemilik dapp transparan dan dapat dijangkau oleh publik, misalnya? di Twitter atau Perselisihan?
Apakah baru-baru ini terjadi pelanggaran keamanan? Ada baiknya mencari di sini.
Apakah mereka sudah menjalani audit kontrak pintar pihak ketiga?
Periksa alamat kontrak di penjelajah blok. Beberapa penjelajah, seperti Etherscan, memiliki mekanisme pelaporan berbasis pengguna yang menandai alamat palsu (kontrak atau dompet). Meskipun tidak ditandai, periksa aktivitas mencurigakan, seperti arus kas masuk atau keluar dalam jumlah besar dalam jangka waktu singkat.
Untuk meringkas:
Daripada hanya sekedar isyarat yang menunjukkan persetujuan, persetujuan token adalah aspek penting dan biasa dalam berinteraksi dengan Web3. Beberapa poin penting:
Kriptografi kunci publik digunakan untuk mengautentikasi izin Anda saat berinteraksi dengan dapps.
Izin Dapp melibatkan mengizinkan dapps untuk melihat saldo dompet Anda.
Persetujuan token melibatkan izin kontrak pintar dapp untuk mengakses dan memindahkan token tertentu di dompet Anda.
Selalu teliti kredensial dapp dan yakinkan diri Anda bahwa dapp tersebut dapat dipercaya sebelum menyetujui kontrak cerdasnya.