Solusi untuk Kelemahan Fatal

MasterChef memiliki kekurangan tertentu yang dapat diperbaiki selama penggunaan, tetapi hanya jika pengguna mengetahuinya dan apa yang dapat mereka lakukan. Inilah solusinya, menurut Gleb Zykov dan Vlad Korovnikov dari HashEx.

Pertukaran terdesentralisasi (DEX) dulu cukup langka hanya dua tahun yang lalu, namun hari ini, tampaknya mereka ada di mana-mana. Banyak proyek memiliki DEX pribadi mereka sendiri. Ini terjadi karena, ketika sebuah proyek blockchain memutuskan untuk meluncurkan DEX, mereka tidak membuatnya sepenuhnya dari awal. Sebaliknya, dasar untuk kode DEX sering kali merupakan cabang dari salah satu dari dua DEX utama — Tukar Sushi or Tukar Pancake.

Kontrak Cerdas Masterchef

Kedua pertukaran ini cukup banyak merevolusi ruang DEX berkat kontrak pintar khusus yang disebut MasterChef. MasterChef muncul di keduanya, dan juga muncul di DEX apa pun yang dibuat sebagai garpu dari salah satu dari keduanya. Setiap DEX baru dapat berbagi fitur yang sama. Tetapi itu juga berarti bahwa ia berbagi kekurangan dan kerentanan MasterChef. 

Jadi mari kita lihat masalah apa yang mungkin dihadapi pengguna dan pengembang ketika berhadapan dengan MasterChef. Apa yang harus mereka perhatikan? Dan bagaimana mereka harus didekati?

Bagaimana cara kerja DEX?

Hal pertama yang perlu diperhatikan adalah bahwa kontrak MasterChef adalah kontrak cerdas yang ditulis dalam Solidity yang mengontrol apa yang dapat dilakukan oleh sebuah peternakan, dan bagaimana ia dapat melakukannya. Di sebagian besar proyek, ada beberapa kontrak pintar yang berbagi tanggung jawab dan pekerjaan. Tetapi jika menyangkut protokol berbasis MasterChef, kontrak tunggal inilah yang menangani segala sesuatu yang berkaitan dengan pertanian.

Pertukaran terdesentralisasi memungkinkan Anda untuk menukar mata uang kripto tanpa harus menyetor uang di bursa dompet. Sebagai gantinya, Anda menyetor dana ke kontrak pintar dari dompet Anda sendiri. Anda adalah satu-satunya orang yang mengendalikannya dan dapat mengakses dana Anda sendiri jika kontrak tidak memiliki pintu belakang atau kerentanan.

Perbedaan lainnya terletak pada kenyataan bahwa CEX menggunakan buku pesanan untuk jual beli. Ini berarti mereka mencocokkan pembeli dengan penjual, sedangkan DEX menggunakan AMM (Pasar Otomatis Pembuat) protokol untuk perdagangan, yang menghitung harga aset tergantung pada seberapa banyak likuiditas yang diinvestasikan.

Likuiditas berasal dari kumpulan likuiditas, yaitu kumpulan di mana pengguna dapat menyetor dana untuk pasangan tertentu dan menyediakan dana untuk protokol. Kemudian, ketika seseorang mencoba membeli aset menggunakan pasangan itu, pesanannya segera dipenuhi menggunakan dana dari pool. Sementara itu, orang yang menyetor dana ke kumpulan likuiditas mendapatkan token LP untuk kumpulan tertentu itu. Ini memberi mereka hak untuk berbagi hadiah.

Dan, jika mereka ingin mendapatkan kembali dana mereka, yang perlu mereka lakukan hanyalah mengembalikan token LP yang mereka terima.

Seperti yang Anda ketahui, ada beberapa cara untuk menghasilkan hasil panen dari kepemilikan kripto. Peternakan memberikan hadiah tambahan untuk menyediakan likuiditas. Pengguna menambahkan likuiditas ke DEX, mendapatkan token LP, dan mempertaruhkannya di peternakan.

MasterChef: Kerentanan dan kekurangan

Kami telah membahas cara kerja DEX dan cara kerja kumpulan likuiditas. Jadi, mari kita lihat lebih dekat di mana kerentanan MasterChef masuk, bagaimana mereka memengaruhi proses, serta pendekatan apa yang perlu Anda ambil untuk memastikan semuanya berjalan lancar.

MasterChef adalah kontrak cerdas tunggal yang digunakan untuk hasil pertanian dengan menyediakan likuiditas di DEX. Sayangnya, ia memiliki kekurangan tertentu yang dapat diperbaiki saat digunakan, tetapi hanya jika pengguna mengetahuinya dan apa yang dapat mereka lakukan.

Akun yang disusupi

Salah satu masalah terbesar yang harus diwaspadai berkisar pada akun pemilik yang dikompromikan. Pada dasarnya, SushiSwap menemukan metode yang memungkinkannya mendapatkan keunggulan melawan Uniswap. Metode itu berkisar pada migrasi aset dari satu bursa ke bursa lainnya. Ini ditangani oleh kontrak menggunakan fungsi terpisah yang hanya dapat diakses oleh pemilik kontrak.

Namun, migrasi ini pada dasarnya dapat disetel ke kontrak apa pun, tanpa batasan apa pun, yang akhirnya menjadi kesalahan besar. Jadi, jika akun pemilik disusupi, ini dapat menghasilkan kontrak migrasi baru yang akan mengirim semua token LP dasar di semua kumpulan pertanian ke alamat yang berubah-ubah. Ini akan menyebabkan kerugian besar dari aset yang diinvestasikan.

Perlu dicatat bahwa fungsi ini sekarang sudah tidak asing lagi bagi para pengembang, dan akhirnya segera dihapus dalam garpu. Namun, jika tetap ada, itu harus segera dianggap sebagai bendera merah.

Hal lain yang perlu diperhatikan adalah, di beberapa cabang MasterChef, pemilik kontrak dapat mengubah tingkat emisi tanpa batas. Namun, jika akun disusupi, penyerang dapat menetapkan tingkat emisi yang sangat besar, yang akan menyebabkan devaluasi token.

Ada cara yang cukup mudah untuk menyelesaikan ini hanya dengan memastikan bahwa semua fitur yang tersedia untuk pemilik kontrak memerlukan otorisasi multi-tanda tangan. Dengan begitu, jika satu alamat disusupi, pelaku jahat tidak akan bisa berbuat banyak dengannya. Hal lain yang harus dilakukan adalah menambahkan blok sementara (kontrak Timelock) untuk memanggil fungsi migrasi. Dengan cara ini, pengguna memiliki lebih banyak waktu untuk membuat keputusan, dan pertukaran harus memberi tahu Anda tentang migrasi atau transaksi mencurigakan lainnya.

Menambahkan kolam pertanian yang identik

Masalah lain yang cukup jelas tetapi diabaikan muncul ketika kontrak asli tidak memperhitungkan pemrosesan kumpulan pertanian yang identik, yang berarti bahwa kontrak tersebut mengancam untuk salah menghitung imbalan pertanian.

Ini bukan masalah besar jika MasterChef digunakan dengan benar, karena pemiliknya tidak akan sengaja menambahkan kumpulan yang identik. Faktanya, dalam pertukaran yang beroperasi dengan benar, hal-hal ini diverifikasi dan membuat kumpulan duplikat sangat dilarang. Jadi, jika Anda memulai pembuatan kumpulan dan Anda sedang menuju ke jalur membuat duplikat kumpulan yang ada, sistem harus dapat melaporkan kesalahan. Atau, sarankan agar Anda menambahkan dana Anda ke kumpulan yang ada alih-alih membuat yang baru.

Tidak menghitung jumlah token yang disimpan

Untuk beberapa alasan, orang cenderung lupa untuk mempertimbangkan apa yang mungkin terjadi jika token dengan komisi transfer atau token rebase ditambahkan sebagai kumpulan ke kontrak MasterChef. Apa yang terjadi adalah kerusakan dalam cara imbalan dihitung, karena kode kontrak menambahkan aset ke kumpulan hanya dengan memanggil fungsi tertentu. Ini berarti bahwa menambahkan token ke alamat akan menggabungkannya dengan aset yang sudah ada di kumpulan. Tetapi perhitungan untuk hadiah untuk token semacam itu mungkin rusak yang mengarah pada kerentanan.

Platform yang beroperasi dengan benar harus menghitung jumlah dana yang ditransfer untuk pertanian secara terpisah dengan memeriksa jumlah aktual yang ditransfer yang mempertimbangkan komisi. Dengan cara ini, perhitungan hadiah dilakukan dengan benar.

MasterChef: Kesimpulan

MasterChef adalah kontrak cerdas tunggal yang digunakan untuk hasil pertanian dengan menyediakan likuiditas di DEX. Sayangnya, ia memiliki kekurangan tertentu yang dapat diperbaiki saat digunakan, tetapi hanya jika pengguna mengetahuinya dan apa yang dapat mereka lakukan. 

Di atas kami telah membahas beberapa hal yang dapat terjadi dan bagaimana masalah ini dapat dihindari. Tetapi perlu dicatat bahwa ada lebih banyak dari mereka, seperti pengenceran hadiah jika token dikirim langsung ke alamat kontrak, masalah dengan perubahan blok awal, pengoptimalan gas, dan banyak lagi. 

Dengan kata lain, ada kerentanan dan masalah yang perlu diingat dan diperhatikan. Tapi secara keseluruhan, MasterChef adalah kontrak revolusioner yang cukup memungkinkan pertukaran terdesentralisasi. Jadi, selama Anda tetap menggunakannya dengan hati-hati dan tetap menyadari kekurangannya dan cara memperbaikinya, Anda akan baik-baik saja.

Tentang penulis

Gleb Zykov

Gleb Zykov adalah Co-Founder dan CTO di a Defi keamanan dan perusahaan analitik HashEx.

​​Vlad Korovnikov adalah auditor dan pengembang Kontrak Cerdas Junior.

Dapat beberapatingin mengatakan tentang solusi Masterchef atau apa pun? Tulislah kepada kami atau bergabung dalam diskusi kami Saluran Telegram. Anda juga dapat menangkap kami di Tik Tok, Facebook, atau Twitter.

Penolakan tanggung jawab

Semua informasi yang terkandung di situs web kami diterbitkan dengan itikad baik dan hanya untuk tujuan informasi umum. Tindakan apa pun yang dilakukan pembaca atas informasi yang ditemukan di situs web kami sepenuhnya merupakan risiko mereka sendiri.

Sumber: https://beincrypto.com/masterchef-smart-contracts-the-workarounds-for-the-fatal-flaws/