Di DeFi, penyetoran, peminjaman, dan penukaran semuanya dilakukan secara otomatis oleh kontrak pintar. Tidak ada pemeriksaan manual, dan tidak ada layanan pelanggan yang bisa mengembalikan uang yang salah kirim. Jika kontraknya ditulis dengan benar, kontrak itu menjadi aturan yang paling dapat diandalkan; jika ada kesalahan, celah keamanannya juga akan “dijalankan” dengan sangat cermat.

$ETH Ethereum adalah salah satu blockchain publik paling awal yang mendukung kontrak pintar serbaguna. Saat ini 2241.9 (24 jam -7.65%).

■ Kode adalah aturan, celah keamanan juga

Setelah kontrak pintar diterapkan di blockchain, kontrak akan berjalan otomatis sesuai kode. Ini menghadirkan transparansi dan kepastian: siapa pun dapat membaca kodenya, dan aturan dalam kontrak yang tidak dapat ditingkatkan tidak akan berubah hanya karena seseorang berubah pikiran.

Sebaliknya, begitu celah dalam kode ditemukan dan dimanfaatkan, dana bisa dipindahkan hanya dalam beberapa transaksi dan akan sulit untuk dipulihkan. The DAO pada 2016 adalah salah satu contohnya: kontraknya diserang melalui celah reentrancy. Ethereum kemudian menanganinya dengan hard fork, sementara rantai asli yang tidak mengikuti fork terus berlanjut sebagai Ethereum Classic (ETC).

■ Apa yang sebenarnya diperiksa dalam audit

Audit keamanan adalah pemeriksaan terhadap versi kode tertentu pada waktu tertentu, yang dilakukan oleh tim keamanan pihak ketiga. Laporan audit biasanya mencantumkan masalah yang ditemukan, tingkat keparahan masing-masing, serta apakah pihak proyek telah memperbaikinya.

Pemeriksaan umum mencakup reentrancy, kesalahan kontrol akses, masalah presisi perhitungan, dan kemungkinan manipulasi oracle. Audit membantu menemukan dan mengurangi celah umum semacam ini, tetapi dibatasi oleh waktu, tenaga, dan cakupan audit.

■ Mengapa masalah tetap bisa terjadi setelah audit

Pertama, audit hanya mencakup kode dalam ruang lingkup yang ditentukan. Kontrak di luar cakupan dan fitur yang ditambahkan belakangan tidak termasuk di dalamnya. Jika kode diubah setelah audit, atau versi yang benar-benar diterapkan berbeda dari versi yang diaudit, hasil audit tidak bisa langsung dijadikan acuan.

Kedua, beberapa risiko tidak berasal dari kode itu sendiri: oracle atau protokol lain yang diandalkan protokol mengalami masalah, kunci administrator yang memiliki wewenang untuk melakukan upgrade dicuri, atau antarmuka web dimanipulasi untuk mengarahkan pengguna menandatangani transaksi berbahaya—semuanya dapat menyebabkan kerugian.

■ Apa yang bisa dilakukan pengguna biasa

Saat membaca laporan audit, perhatikan tanggal, cakupan, dan masalah yang belum diperbaiki. Jangan hanya terpaku pada kata “telah diaudit”. Anda juga bisa memeriksa apakah kontrak dapat di-upgrade secara sepihak, serta apakah wewenang upgrade dikendalikan melalui multisig dan timelock.

Protokol yang telah beroperasi lama dan teruji dengan dana dalam jumlah besar biasanya dianggap lebih andal, tetapi bukan berarti bebas dari celah. Jadi, di DeFi, hanya tempatkan dana yang kerugiannya masih sanggup Anda tanggung. Sebarkan dana dalam jumlah besar ke berbagai protokol, dan jangan lupa mencabut izin pada protokol yang tidak lagi digunakan.

■ Sedikit penutup

Audit adalah awal dari keamanan, bukan akhirnya. Menganggap risiko smart contract sebagai biaya yang harus dihadapi saat berpartisipasi dalam DeFi lebih realistis daripada sekadar percaya pada kata “telah diaudit”. Jangan berdagang dengan uang pinjaman—tekanan bisa membuat orang mengambil keputusan yang keliru.

Jika ada yang belum dipahami, silakan sampaikan lewat komentar.