Jumlah kata: Artikel ini melebihi 7000 Waktu membaca: 15 menit
Kata Pengantar
Oracle (mesin oracle) adalah faktor penting dalam dunia DeFi. Meskipun keamanan protokol yang berbeda biasanya diwarisi oleh jaringan kontrak pintar yang mendasarinya, operasi normalnya masih bergantung pada mesin oracle. Jika mesin oracle dari suatu protokol diserang Atau hancurkan, maka seluruh perjanjian akan dimanipulasi. Baru-baru ini, pembuat DeFi baru menciptakan narasi baru dengan menyusun struktur pinjaman dan derivatif baru, dan perubahan dalam protokol ini adalah mereka tidak lagi bergantung pada oracle.
Risiko dan perbaikan DeFi
Daya tarik terbesar DeFi berasal dari: desentralisasi. Ini adalah sistem keuangan terbuka tanpa perjanjian pembayaran izin dalam arti luas. Dibandingkan dengan keuangan tradisional, meskipun aturan, keuntungan dan bahkan risikonya relatif "tidak jelas" Jalannya terbuka, tapi masih memiliki tingkat keterbukaan yang sangat kuat.
Namun setelah beberapa tahun dikembangkan, bidang DeFi juga mengalami pencurian senilai miliaran dolar [1] , bahkan orang-orang yang paling fanatik pun akan terus mempertanyakan apakah hal ini dapat menjadi arus utama keuangan masa depan. Diantaranya, pada tahun 2022 saja, dana yang dicuri oleh peretas melalui protokol DeFi dan jembatan lintas rantai melebihi 3,8 miliar dolar AS, yang juga merupakan tahun dengan jumlah pencurian terbesar dalam sejarah enkripsi. Jika Anda ingin mengizinkan kelompok yang lebih besar untuk memasuki dunia terenkripsi dan mengandalkan DeFi di masa depan, keamanan adalah pertimbangan utama.
Sumber: Chainalysis
Risiko Oracle dan "kode sumber"
Nascent percaya bahwa konsep "No Oracle Protocol" pada dasarnya akan memberikan DeFi arsitektur teknis yang lebih kuat dan aman. Saat ini, DeFi lebih memilih untuk mendefinisikan dirinya sebagai “Primitif”, dan berharap lebih banyak tim akan membangun produk atau protokol gabungan di atasnya. Setelah kontrak dicampur dengan ketergantungan eksternal apa pun, mereka akan mewarisi semua risiko terkait.Pada saat yang sama, kontrak akan ditingkatkan untuk membawa ekologi sistem yang lebih besar, dan variabel peningkatan gaya manajemen ini akan melibatkan masa kini dan masa depan. lingkungan yang berubah membawa lebih banyak faktor risiko. Sesuai dengan namanya, pengenalan Oracle menciptakan ketergantungan pada data eksternal, dan hubungan ini akan membawa potensi risiko. Karena alasan ini, Dan Elitzer mengusulkan definisi baru: untuk memenuhi kondisi kode sumber (Primitif), ia tidak dapat bergantung pada faktor eksternal apa pun kecuali kontrak yang diterapkan pada blockchain, seperti: tidak ada tata kelola, kemampuan peningkatan kontrak, dan mesin oracle .
Namun kenyataannya protokol DeFi yang memenuhi definisi dasar ini sangat jarang saat ini, yang paling representatif adalah Uniswap V1, namun dari segi keamanan, bahkan Uniswap V2 dan V3 yang sesuai dengan definisi yang dikemukakan oleh Dan Elitzer di atas Nor apakah mereka memenuhi syarat, karena memungkinkan tata kelola atas fitur-fitur tertentu, seperti penutupan biaya protokol dan tingkatan biaya untuk dimasukkan ke dalam kumpulan.
Meskipun demikian, fungsi tata kelola yang sempit ini tidak menimbulkan risiko sistemik karena peningkatan skala besar yang ada pada protokol lain, jadi alasan kesuksesan besar Uniswap di semua versi sejauh ini adalah karena ia tidak memiliki dua kunci utama. oracle dan faktor rantai penuh.
Tidak ada keraguan bahwa Uniswap adalah pemimpin pertukaran terdesentralisasi dan telah mencapai kesuksesan besar, dan atas dasar ini, banyak eksperimen pertukaran terdesentralisasi telah lahir. Misalnya, Uniswap V3 memperkenalkan konsep posisi likuiditas non-homogen, yang memungkinkan penyedia likuiditas (LP) untuk memusatkan likuiditas mereka dalam kisaran tertentu, yang memungkinkan LP untuk menangkap lebih banyak transaksi yang dihasilkan dalam kisaran ini. , dan mendapat untung darinya, tetapi juga akan ada kerugian gratis karena harga berfluktuasi. Hal ini menyebabkan penggunaan modal yang lebih efisien dan spesialisasi segmen pasar LP, yang mengarah ke serangkaian alat manajemen posisi seperti Arrakis, Gamma dan Sommelier. Meskipun ini bagus untuk DEX, protokol peminjaman masih memerlukan oracle.
Pada bulan Maret tahun ini, perjanjian pinjaman Euler Finance diretas, dan jumlah kerugian mencapai 200 juta dolar AS. Ini memungkinkan pengguna untuk mengirim jaminan dan meminjam uang, dan memiliki beberapa fitur unik. Singkatnya, ini adalah masalah yang terjadi pada fungsi tertentu tanpa pemeriksaan keamanan, sehingga memungkinkan pengguna untuk memecahkan invarian mendasar dari pasar pinjaman. Untuk detail proses serangan ini, silakan baca [2] 。
Untuk protokol peminjaman, jaminan yang memenuhi syarat terbatas pada aset dengan feed harga oracle yang dapat diandalkan. Parameter pinjaman (seperti pinjaman terhadap nilai [3] ) diatur oleh protokolnya, jadi setiap kredit macet adalah tanggung jawab protokol dan bukan tanggung jawab pemberi pinjaman individu. Demikian pula, protokol derivatif yang mengandalkan oracle untuk penetapan harga tanpa mekanisme penemuan harga internal rentan terhadap kelambatan harga, sehingga sangat membatasi skala dan pengalaman penggunanya. Seperti disebutkan dalam kata pengantar, ini juga menjelaskan mengapa pedagang Avraham Eisenberg berhasil menyerang Mango Markets dan menyedot $116 juta dari platform perdagangan mata uang kripto.
Mengapa Uniswap aman sekarang
AMM dapat memiliki invarian dasar paling sederhana dalam kode sumber DeFi mana pun (Primitif): tokenBalanceX * tokenBalanceY == k (seperti produk konstan). Misalnya, antarmuka Pair di Uniswap V2 diimplementasikan berdasarkan empat invarian fungsi berikut:
Mint: tambahkan ke k;
Bakar: Kurangi dari k;
Tukar: pindahkan x dan y, biarkan k tidak berubah;
Skim: sesuaikan kembali tokenBalanceX * tokenBalanceY agar sama dengan k.
Cara aman Uniswap V2: invarian inti sederhana, semua fungsi melayani tujuan ini. Satu-satunya hal yang kontroversial adalah bahwa hal itu dapat mengubah model tata kelola peralihan biaya, tetapi ini tidak akan menyentuh invarian inti, hanya mempengaruhi distribusi kepemilikan saldo token, dan justru karena kesederhanaannya dalam keamanan (pintar yang tidak dapat diupgrade). kontrak dan invarian fundamental), Uniswap sendiri tidak pernah diretas.
Membangun Kembali Protokol Pinjaman
Sumber: Penulis Balakov
Baru-baru ini, kami menemukan bahwa ada banyak proyek untuk peminjaman protokol tanpa mesin oracle, seperti Ajna, Ethereum Credit Guild, Automated Tranche Maker MetaStreet, dan Blend, protokol hybrid yang diluncurkan bersama oleh Blur dan Paradig. [4] 。
Tidak seperti pasar pinjaman DeFi tradisional, Gauntlet tidak menetapkan jaminan, juga tidak memiliki satu oracle universal seperti Chainlink yang menyediakan sumber harga aset yang "sebenarnya" untuk semua pengguna dan fungsi protokol. Sebaliknya peminjam perlu menilai risiko dan memutuskan untuk meminta jaminan tertentu dari peminjam, dan harus memperbarui kriteria pinjaman mereka seiring dengan perubahan harga aset. Secara umum, cara kerjanya adalah peminjam memilih agunan yang ingin mereka terima, seperti Token BAYC dan Bored Ape NFT individu, dll., mereka bersedia memberikan aset referensi (seperti USDC) kepada peminjam sebagai jaminan, dan mereka akan Rasio aset referensi terhadap aset agunan yang mengharuskan peminjam untuk dilikuidasi. Akhirnya peminjam dapat memberikan jaminan dan meminjam aset yang direferensikan dengan harga pasar saat ini.
Perhatikan bahwa tidak ada ramalan yang diperlukan karena pemberi pinjaman dan peminjam telah sepakat bahwa likuidasi pinjaman ditentukan berdasarkan jumlah unit masing-masing aset dan bukan rasio harga dolar. Namun, jika nilai dolar relatif dari salah satu aset berubah, pemberi pinjaman akan menyesuaikan persyaratan pinjaman saat ini atau masa depan untuk mencapai rasio agunan yang mereka anggap aman.
Keuntungan terbesar dari metode ini adalah protokolnya praktis tidak bisa dihancurkan. Hal ini karena masing-masing pemberi pinjaman pada akhirnya bertanggung jawab atas solvabilitas pinjaman mereka sendiri, sehingga tidak ada konsep "utang macet" yang mungkin ditanggung oleh dana perbendaharaan/asuransi DAO, atau antar pemberi pinjaman untuk diproses.
Protokol Blend Blur mengasumsikan "keberadaan pemberi pinjaman yang lebih canggih yang dapat berpartisipasi dalam perjanjian on-chain dan off-chain yang kompleks, menilai risiko, dan menggunakan dana mereka sendiri." Hal ini masuk akal dalam konteks Blur sebagai tempat perdagangan utama bagi pedagang NFT profesional, tetapi bagi rata-rata pengguna, ini tampaknya jauh lebih rumit daripada meminjam dan meminjamkan di Aave atau Compound.
Tidak ada wajah baru untuk Oracle
Menurut definisi peneliti Messari, Chase Devens, definisi arsitektur tanpa mesin oracle dapat dibagi menjadi dua kategori, yaitu tipe hybrid berbasis peer-to-peer (Peer-to-Peer) dan AMM. Ciri-ciri utama keduanya adalah sebagai berikut:
rekan ke rekan
Mendukung semua jenis jaminan on-chain
Pengguna mengasumsikan parameter pinjaman dan menanggung risiko kredit macet (tidak lagi menanggung risiko kontrak), peminjam tidak lagi menentukan parameter suku bunga dan LTV, tetapi memutuskan sendiri perbandingan nilainya, dan penghapusan oracle dari mekanisme protokol berarti bahwa pinjaman ini dapat dilakukan dengan pembuatan agunan on-chain apa pun.
Posisi perlu dikelola secara aktif, dan untuk memastikan bahwa likuiditas yang disediakan digunakan secara efektif, pengguna harus secara aktif mengelola posisi mereka dengan cara yang mirip dengan lokasi likuiditas terpusat Uniswap V3.
Tipe hybrid berbasis AMM (pinjaman/derivatif—penyedia likuiditas LP)
Mendukung semua jenis jaminan on-chain
Lokasi LP yang mendasari menyediakan data harga untuk kontrak kliring dan derivatif, dan juga merupakan pasar utama untuk likuidasi. Memungkinkan protokol untuk menghitung hasil likuidasi dan kontrak derivatif dari kumpulan likuiditas yang mendasarinya, pada dasarnya posisi LP bertindak seperti ramalan itu sendiri. Selain itu, lokasi LP ini menyediakan pasar utama untuk pembongkaran inventaris protokol selama likuidasi atau berakhirnya kontrak tanpa perlu pergi ke platform eksternal untuk melikuidasi agunan.
Misalnya:
Keuangan apa saja
Ajna adalah protokol peminjaman yang dirancang untuk EVM, tanpa tata kelola, izin, atau feed harga eksternal (oracle). Ini dapat digunakan untuk meminjam dan meminjamkan seluruh portofolio kami (termasuk NFT). Proyek pinjaman lainnya telah mencapai masa kritis dengan dua masalah inti: (1) Sistem tata kelola token tidak cukup untuk menganalisis risiko yang kompleks (2) Penggunaan umpan harga eksternal (oracle) membatasi cakupan aset pada pasar sekunder yang likuid "Blue Chips ". Kelemahan ini telah menyebabkan kerugian besar di pasar pinjaman DeFi dan membatasi kemampuan untuk mendukung aset baru. Ajna mengatasi masalah ini dengan beberapa inovasi utama:
(1) Pemberi pinjaman memberikan penetapan harga aset: Ketika pemberi pinjaman menggunakan protokol Ajna, mereka memberi tahu kontrak seberapa besar mereka ingin menggadaikan aset. Hal ini secara efektif memungkinkan mereka memasukkan nilai umur mereka sendiri dan mengubahnya dari parameter tata kelola menjadi parameter pasar;
(2) Penemuan tarif otomatis: Di setiap pasar Ajna, terdapat keadaan ekuilibrium yang ditentukan oleh indikator internal. Jika pasar tidak seimbang, siapa pun dapat mengubah nilai tukar sebesar 10% setiap 12 jam. Jika tidak, jangan lakukan perubahan;
(3) Margin likuidasi: Karena Ajna tidak memiliki ramalan, Ajna bergantung pada pengguna untuk memberi tahu kapan harus melikuidasi pinjaman. Hal ini dicapai dengan meminta likuidator memasang margin untuk memicu likuidasi. Jika mereka jujur, mereka akan diberi imbalan. Jika tidak, mereka dihukum.
Jadi apa gunanya? Inovasi ini memungkinkan Ajna melayani ekosistem "keseluruhan". Siapa pun dapat menciptakan pasar pinjaman dengan aset apa pun (bahkan NFT). Tidak ada lagi proses tata kelola yang melelahkan dan tidak ada lagi kekhawatiran mengenai likuiditas, pasar sekunder, dan oracle.
Mencampur
Sumber: Achal Srinivasan, Kirby
Blend adalah protokol pinjaman abadi peer-to-peer yang mendukung agunan apa pun termasuk NFT. Ini mencocokkan peminjam dengan pemberi pinjaman yang bersedia menawarkan suku bunga yang kompetitif melalui protokol penawaran off-chain yang kompleks.
Secara default, pinjaman Blend memiliki tingkat bunga tetap dan tidak pernah kedaluwarsa. Peminjam dapat membayar kembali kapan saja, dan pemberi pinjaman dapat keluar dari posisi mereka dengan memicu lelang Belanda untuk mencari pemberi pinjaman baru dengan suku bunga baru. Jika lelang gagal, peminjam dilikuidasi dan pemberi pinjaman mengambil alih agunan. Keseluruhannya memiliki empat karakteristik: independen terhadap oracle, tidak terbatas, mobile, dan peer-to-peer:
TIDAK ADA ORACLE
Banyak protokol DeFi memerlukan mesin oracle untuk menentukan waktu likuidasi posisi atau menentukan suku bunga. Mengambil NFT sebagai contoh, harganya sulit untuk diukur secara objektif, dan pembaruan harga dasar yang tepat waktu juga sangat sulit untuk diamati pada rantai. Solusi biasanya melibatkan pihak terpercaya atau manipulasi transaksi. Perjanjian hibrida menghindari ketergantungan oracle dalam perjanjian inti, memungkinkan tingkat bunga dan rasio pinjaman ditentukan oleh kemauan pemberi pinjaman, dan likuidasi akhir dipicu oleh kegagalan lelang Belanda;
tidak ada batas
Beberapa protokol DeFi hanya mendukung posisi utang dengan jatuh tempo. Hal ini tidak nyaman bagi peminjam, yang harus ingat untuk menutup atau menyesuaikan posisi sebelum jatuh tempo (atau berisiko terkena penalti seperti kehilangan NFT). Proses penyesuaian posisi secara manual juga menghabiskan Gas, yang juga mengurangi pendapatan yang dihasilkan dari pinjaman. Selama ada pemberi pinjaman yang bersedia meminjamkan jumlah ini dengan agunan, Blend akan secara otomatis menyesuaikan posisi pinjaman, dan transaksi on-chain hanya diperlukan ketika tingkat bunga berubah atau salah satu pihak ingin keluar dari posisi;
Dapat mengalir
Beberapa protokol tidak mendukung likuidasi sebelum jatuh tempo, sehingga lebih nyaman bagi peminjam dan masuk akal dalam banyak kasus penggunaan. Namun hal ini secara efektif memberikan peminjam opsi jual, dan pemberi pinjaman harus memilih pinjaman dengan suku bunga lebih tinggi/lebih rendah dengan jangka waktu lebih pendek untuk menghindari risiko posisi dilikuidasi. Di Blend, selama pemberi pinjaman memicu lelang refinancing, NFT dapat dilikuidasi ketika tidak ada yang mau mengambil alih utang pada tingkat bunga berapa pun;
rekan ke rekan
Beberapa dari perjanjian ini mengumpulkan uang pemberi pinjaman dan mencoba mengelola asetnya. Ini berarti sangat bergantung pada tata kelola on-chain atau terpusat untuk menetapkan parameter. Blend mengadopsi model peer-to-peer, dan setiap pinjaman dicocokkan secara individual. Hal ini tidak mengoptimalkan kesederhanaan metode pinjaman namun mengasumsikan bahwa ada peminjam yang lebih kompleks yang dapat berpartisipasi dalam perjanjian on-chain dan off-chain yang kompleks. mempunyai kewenangan yang lebih besar untuk mengendalikan asetnya sendiri.
Apa itu mode FREI-PI
Menurut pola FREI-PI yang dijelaskan oleh anggota baru lahir Brock Elmore: "Pola Persyaratan Fungsi-Efek-Interaksi + Protokol Iniants", di sini kontrak SoloMargin (kode sumber) dari dYdX adalah Misalnya, ini adalah pasar pinjaman dan kontrak untuk transaksi leverage, yang merupakan contoh bagus dari model FREI-PI. Ini adalah satu-satunya pasar pinjaman di pasar pinjaman awal yang tidak memiliki kerentanan terkait pasar.
Perhatikan abstraksi berikut ketika melihat kode di bawah ini:
persyaratan masukan ( _verifyInputs )
操作 (transformasi data, manipulasi keadaan)
Persyaratan negara bagian ( _verifyFinalState )
Sumber: Brock Elmore
Interaksi-Pemeriksaan-Efek yang biasa di sini masih dijalankan. Namun perlu diperhatikan bahwa Cek-Efek-Interaksi dengan Cek tambahan tidak setara dengan FREI-PI, walaupun serupa tetapi memiliki tujuan yang berbeda. Untuk tujuan ini pengembang harus memahami perbedaannya: FREI-PI adalah abstraksi tingkat tinggi untuk keamanan protokol, sedangkan CEI adalah abstraksi tingkat tinggi untuk keamanan fungsional.
Hal yang menarik dari struktur kontrak ini adalah pengguna dapat terus melakukan berbagai operasi sesuai keinginannya, antara lain: penyetoran, pinjaman, transaksi, transfer, likuidasi, dll. Kami berasumsi bahwa 3 Token berbeda disimpan, dan Token ke-4 ditarik dan akun dibersihkan. Rangkaian operasi ini dapat diselesaikan hanya dengan satu klik.
Inilah kekuatan FREI-PI: selama invarian pasar pinjaman inti bertahan di akhir panggilan, pengguna dapat melakukan apa pun yang mereka inginkan dalam protokol. Untuk kontrak ini, hal ini akan dilakukan di _verifyFinalState, memeriksa jaminan setiap akun yang terpengaruh untuk memastikan bahwa perjanjian tersebut lebih baik daripada saat transaksi dimulai.
Ada beberapa invarian tambahan yang disertakan dalam fungsi ini yang melengkapi invarian inti dan membantu fungsi tambahan seperti menutup pasar, namun pemeriksaan intilah yang benar-benar menjaga keamanan protokol.
Konsep yang berpusat pada entitas adalah kesulitan lain dari FREI-PI, yang dicontohkan oleh pasar pinjaman dan asumsi invarian inti: pengguna tidak dapat mengambil tindakan apa pun untuk memasukkan akun apa pun ke dalam status agunan tanpa jaminan. Dari sudut pandang teknis, ini bukan satu-satunya invarian, tetapi merupakan satu-satunya invarian bagi pengguna (dapat dipahami sebagai invarian protokol inti, karena invarian pengguna adalah invarian protokol inti). Biasanya ada dua invarian tambahan di pasar pinjaman:
1. Mesin Oracle
Secara umum, Chainlink adalah pilihan yang baik, fungsi utamanya adalah memberikan informasi real-time yang akurat dan relatif akurat, yang dapat memenuhi persyaratan sebagian besar invarian. Dalam kasus manipulasi atau kecelakaan yang jarang terjadi, akan lebih bermanfaat jika kita mengurangi pengamanan akurasi secara real-time (seperti memeriksa apakah nilai terakhir yang diketahui ratusan persen lebih besar dari nilai saat ini). Namun, Cream Finance mengalami serangan senilai $130 juta. Untuk informasi lebih lanjut tentang oracle, silakan merujuk ke: Memanipulasi oracle TWAP Uniswap V3 [5] ;
2. Tata Kelola
Tata kelola merupakan invarian yang paling rumit karena sulit untuk bersifat kondisional dan sebagian besar pengaruhnya adalah mengubah invarian lainnya, dan beberapa tata kelola tidak dapat diverifikasi oleh FREI-PI ketika ia beroperasi. Ambil contoh operasi tata kelola Compound yang mengganggu pasar cETH pada Agustus 2022. Peningkatan ini melanggar invarian mesin oracle. [6] 。
Dalam praktiknya, setiap invarian tambahan membuat protokol lebih sulit untuk dilindungi, jadi jumlahnya harus sesedikit mungkin. Oleh karena itu, kompleksitas itu berbahaya, dan invarian yang paling penting adalah invarian dari inti protokol, tetapi seperti disebutkan di atas, akan ada juga beberapa invarian yang berpusat pada entitas, yang harus memenuhi persyaratan invarian inti. /kumpulan invarian terkecil kemungkinan besar aman.
Ringkasan: Masa depan DeFi
Apakah ini solusi terbaik untuk membangun DeFi pada kode sumber yang tidak dapat diupgrade (Primitif) dan melepaskan diri dari Oracle? Bagaimanapun, fleksibilitas dan kemudahan penggunaan yang dibawa oleh protokol DeFi saat ini yang mengandalkan tata kelola, kemampuan upgrade, dan mesin oracle juga telah membuat keseluruhan ukuran pasar mencapai ratusan miliar dolar. Menurut Dan Elitzer, salah satu anggota Nascent: Tata kelola, kemampuan upgrade, dan oracle pada dasarnya tidak buruk.Sebaliknya, elemen-elemen ini memiliki nilai praktis yang besar dalam lingkungan yang lebih luas, namun hal ini juga akan meningkatkan nilai kemungkinan serangan perjanjian.
Dengan alasan memperbarui fungsi atau meningkatkan efisiensi sesuai kebutuhan, kode sumber (Primitif) itu sendiri juga dapat diganti sesekali. Saat memilih cara membuat protokol DeFi, Anda akan menghadapi dua pilihan penting: menyerahkan semua data pengguna dan kondisi eksternal ke protokol tunggal yang lebih terpusat, dan mempercayakannya kepada sejumlah kecil pemegang Token yang bersedia berpartisipasi dalam tata kelola? Atau haruskah kita menghargai kepemilikan masing-masing peserta pasar dan membiarkan pengguna menentukan sendiri perjanjian dan penyedia layanannya?
Peserta dan pengembang di seluruh industri berkomitmen untuk membangun DeFi yang lebih terdesentralisasi, tanpa izin, dan sangat dapat disusun untuk meningkatkan keamanan dan ketahanan seluruh industri. Mengenai arah pengembangan DeFi ke depan, kami berharap dapat terus menduduki pangsa pasar keuangan tradisional dengan cara yang lebih aman dan efisien.
Penjelasan dan referensi:
[1]
[2]
[3]
[4]
[5]
[6]
Lihat Asli
Halaman ini mungkin berisi konten pihak ketiga, yang disediakan untuk tujuan informasi saja (bukan pernyataan/jaminan) dan tidak boleh dianggap sebagai dukungan terhadap pandangannya oleh Gate, atau sebagai nasihat keuangan atau profesional. Lihat Penafian untuk detailnya.
Narasi DeFi baru? Interpretasi model keamanan kontrak pintar baru tanpa protokol Oracle
Penulis: Peneliti Modal YBB Ac_Core
Jumlah kata: Artikel ini melebihi 7000 Waktu membaca: 15 menit
Kata Pengantar
Oracle (mesin oracle) adalah faktor penting dalam dunia DeFi. Meskipun keamanan protokol yang berbeda biasanya diwarisi oleh jaringan kontrak pintar yang mendasarinya, operasi normalnya masih bergantung pada mesin oracle. Jika mesin oracle dari suatu protokol diserang Atau hancurkan, maka seluruh perjanjian akan dimanipulasi. Baru-baru ini, pembuat DeFi baru menciptakan narasi baru dengan menyusun struktur pinjaman dan derivatif baru, dan perubahan dalam protokol ini adalah mereka tidak lagi bergantung pada oracle.
Risiko dan perbaikan DeFi
Daya tarik terbesar DeFi berasal dari: desentralisasi. Ini adalah sistem keuangan terbuka tanpa perjanjian pembayaran izin dalam arti luas. Dibandingkan dengan keuangan tradisional, meskipun aturan, keuntungan dan bahkan risikonya relatif "tidak jelas" Jalannya terbuka, tapi masih memiliki tingkat keterbukaan yang sangat kuat.
Namun setelah beberapa tahun dikembangkan, bidang DeFi juga mengalami pencurian senilai miliaran dolar [1] , bahkan orang-orang yang paling fanatik pun akan terus mempertanyakan apakah hal ini dapat menjadi arus utama keuangan masa depan. Diantaranya, pada tahun 2022 saja, dana yang dicuri oleh peretas melalui protokol DeFi dan jembatan lintas rantai melebihi 3,8 miliar dolar AS, yang juga merupakan tahun dengan jumlah pencurian terbesar dalam sejarah enkripsi. Jika Anda ingin mengizinkan kelompok yang lebih besar untuk memasuki dunia terenkripsi dan mengandalkan DeFi di masa depan, keamanan adalah pertimbangan utama.
Sumber: Chainalysis
Risiko Oracle dan "kode sumber"
Nascent percaya bahwa konsep "No Oracle Protocol" pada dasarnya akan memberikan DeFi arsitektur teknis yang lebih kuat dan aman. Saat ini, DeFi lebih memilih untuk mendefinisikan dirinya sebagai “Primitif”, dan berharap lebih banyak tim akan membangun produk atau protokol gabungan di atasnya. Setelah kontrak dicampur dengan ketergantungan eksternal apa pun, mereka akan mewarisi semua risiko terkait.Pada saat yang sama, kontrak akan ditingkatkan untuk membawa ekologi sistem yang lebih besar, dan variabel peningkatan gaya manajemen ini akan melibatkan masa kini dan masa depan. lingkungan yang berubah membawa lebih banyak faktor risiko. Sesuai dengan namanya, pengenalan Oracle menciptakan ketergantungan pada data eksternal, dan hubungan ini akan membawa potensi risiko. Karena alasan ini, Dan Elitzer mengusulkan definisi baru: untuk memenuhi kondisi kode sumber (Primitif), ia tidak dapat bergantung pada faktor eksternal apa pun kecuali kontrak yang diterapkan pada blockchain, seperti: tidak ada tata kelola, kemampuan peningkatan kontrak, dan mesin oracle .
Namun kenyataannya protokol DeFi yang memenuhi definisi dasar ini sangat jarang saat ini, yang paling representatif adalah Uniswap V1, namun dari segi keamanan, bahkan Uniswap V2 dan V3 yang sesuai dengan definisi yang dikemukakan oleh Dan Elitzer di atas Nor apakah mereka memenuhi syarat, karena memungkinkan tata kelola atas fitur-fitur tertentu, seperti penutupan biaya protokol dan tingkatan biaya untuk dimasukkan ke dalam kumpulan.
Meskipun demikian, fungsi tata kelola yang sempit ini tidak menimbulkan risiko sistemik karena peningkatan skala besar yang ada pada protokol lain, jadi alasan kesuksesan besar Uniswap di semua versi sejauh ini adalah karena ia tidak memiliki dua kunci utama. oracle dan faktor rantai penuh.
Tidak ada keraguan bahwa Uniswap adalah pemimpin pertukaran terdesentralisasi dan telah mencapai kesuksesan besar, dan atas dasar ini, banyak eksperimen pertukaran terdesentralisasi telah lahir. Misalnya, Uniswap V3 memperkenalkan konsep posisi likuiditas non-homogen, yang memungkinkan penyedia likuiditas (LP) untuk memusatkan likuiditas mereka dalam kisaran tertentu, yang memungkinkan LP untuk menangkap lebih banyak transaksi yang dihasilkan dalam kisaran ini. , dan mendapat untung darinya, tetapi juga akan ada kerugian gratis karena harga berfluktuasi. Hal ini menyebabkan penggunaan modal yang lebih efisien dan spesialisasi segmen pasar LP, yang mengarah ke serangkaian alat manajemen posisi seperti Arrakis, Gamma dan Sommelier. Meskipun ini bagus untuk DEX, protokol peminjaman masih memerlukan oracle.
Pada bulan Maret tahun ini, perjanjian pinjaman Euler Finance diretas, dan jumlah kerugian mencapai 200 juta dolar AS. Ini memungkinkan pengguna untuk mengirim jaminan dan meminjam uang, dan memiliki beberapa fitur unik. Singkatnya, ini adalah masalah yang terjadi pada fungsi tertentu tanpa pemeriksaan keamanan, sehingga memungkinkan pengguna untuk memecahkan invarian mendasar dari pasar pinjaman. Untuk detail proses serangan ini, silakan baca [2] 。
Untuk protokol peminjaman, jaminan yang memenuhi syarat terbatas pada aset dengan feed harga oracle yang dapat diandalkan. Parameter pinjaman (seperti pinjaman terhadap nilai [3] ) diatur oleh protokolnya, jadi setiap kredit macet adalah tanggung jawab protokol dan bukan tanggung jawab pemberi pinjaman individu. Demikian pula, protokol derivatif yang mengandalkan oracle untuk penetapan harga tanpa mekanisme penemuan harga internal rentan terhadap kelambatan harga, sehingga sangat membatasi skala dan pengalaman penggunanya. Seperti disebutkan dalam kata pengantar, ini juga menjelaskan mengapa pedagang Avraham Eisenberg berhasil menyerang Mango Markets dan menyedot $116 juta dari platform perdagangan mata uang kripto.
Mengapa Uniswap aman sekarang
AMM dapat memiliki invarian dasar paling sederhana dalam kode sumber DeFi mana pun (Primitif): tokenBalanceX * tokenBalanceY == k (seperti produk konstan). Misalnya, antarmuka Pair di Uniswap V2 diimplementasikan berdasarkan empat invarian fungsi berikut:
Mint: tambahkan ke k;
Bakar: Kurangi dari k;
Tukar: pindahkan x dan y, biarkan k tidak berubah;
Skim: sesuaikan kembali tokenBalanceX * tokenBalanceY agar sama dengan k.
Cara aman Uniswap V2: invarian inti sederhana, semua fungsi melayani tujuan ini. Satu-satunya hal yang kontroversial adalah bahwa hal itu dapat mengubah model tata kelola peralihan biaya, tetapi ini tidak akan menyentuh invarian inti, hanya mempengaruhi distribusi kepemilikan saldo token, dan justru karena kesederhanaannya dalam keamanan (pintar yang tidak dapat diupgrade). kontrak dan invarian fundamental), Uniswap sendiri tidak pernah diretas.
Membangun Kembali Protokol Pinjaman
Sumber: Penulis Balakov
Baru-baru ini, kami menemukan bahwa ada banyak proyek untuk peminjaman protokol tanpa mesin oracle, seperti Ajna, Ethereum Credit Guild, Automated Tranche Maker MetaStreet, dan Blend, protokol hybrid yang diluncurkan bersama oleh Blur dan Paradig. [4] 。
Tidak seperti pasar pinjaman DeFi tradisional, Gauntlet tidak menetapkan jaminan, juga tidak memiliki satu oracle universal seperti Chainlink yang menyediakan sumber harga aset yang "sebenarnya" untuk semua pengguna dan fungsi protokol. Sebaliknya peminjam perlu menilai risiko dan memutuskan untuk meminta jaminan tertentu dari peminjam, dan harus memperbarui kriteria pinjaman mereka seiring dengan perubahan harga aset. Secara umum, cara kerjanya adalah peminjam memilih agunan yang ingin mereka terima, seperti Token BAYC dan Bored Ape NFT individu, dll., mereka bersedia memberikan aset referensi (seperti USDC) kepada peminjam sebagai jaminan, dan mereka akan Rasio aset referensi terhadap aset agunan yang mengharuskan peminjam untuk dilikuidasi. Akhirnya peminjam dapat memberikan jaminan dan meminjam aset yang direferensikan dengan harga pasar saat ini.
Perhatikan bahwa tidak ada ramalan yang diperlukan karena pemberi pinjaman dan peminjam telah sepakat bahwa likuidasi pinjaman ditentukan berdasarkan jumlah unit masing-masing aset dan bukan rasio harga dolar. Namun, jika nilai dolar relatif dari salah satu aset berubah, pemberi pinjaman akan menyesuaikan persyaratan pinjaman saat ini atau masa depan untuk mencapai rasio agunan yang mereka anggap aman.
Keuntungan terbesar dari metode ini adalah protokolnya praktis tidak bisa dihancurkan. Hal ini karena masing-masing pemberi pinjaman pada akhirnya bertanggung jawab atas solvabilitas pinjaman mereka sendiri, sehingga tidak ada konsep "utang macet" yang mungkin ditanggung oleh dana perbendaharaan/asuransi DAO, atau antar pemberi pinjaman untuk diproses.
Protokol Blend Blur mengasumsikan "keberadaan pemberi pinjaman yang lebih canggih yang dapat berpartisipasi dalam perjanjian on-chain dan off-chain yang kompleks, menilai risiko, dan menggunakan dana mereka sendiri." Hal ini masuk akal dalam konteks Blur sebagai tempat perdagangan utama bagi pedagang NFT profesional, tetapi bagi rata-rata pengguna, ini tampaknya jauh lebih rumit daripada meminjam dan meminjamkan di Aave atau Compound.
Tidak ada wajah baru untuk Oracle
Menurut definisi peneliti Messari, Chase Devens, definisi arsitektur tanpa mesin oracle dapat dibagi menjadi dua kategori, yaitu tipe hybrid berbasis peer-to-peer (Peer-to-Peer) dan AMM. Ciri-ciri utama keduanya adalah sebagai berikut:
Mendukung semua jenis jaminan on-chain
Pengguna mengasumsikan parameter pinjaman dan menanggung risiko kredit macet (tidak lagi menanggung risiko kontrak), peminjam tidak lagi menentukan parameter suku bunga dan LTV, tetapi memutuskan sendiri perbandingan nilainya, dan penghapusan oracle dari mekanisme protokol berarti bahwa pinjaman ini dapat dilakukan dengan pembuatan agunan on-chain apa pun.
Posisi perlu dikelola secara aktif, dan untuk memastikan bahwa likuiditas yang disediakan digunakan secara efektif, pengguna harus secara aktif mengelola posisi mereka dengan cara yang mirip dengan lokasi likuiditas terpusat Uniswap V3.
Mendukung semua jenis jaminan on-chain
Lokasi LP yang mendasari menyediakan data harga untuk kontrak kliring dan derivatif, dan juga merupakan pasar utama untuk likuidasi. Memungkinkan protokol untuk menghitung hasil likuidasi dan kontrak derivatif dari kumpulan likuiditas yang mendasarinya, pada dasarnya posisi LP bertindak seperti ramalan itu sendiri. Selain itu, lokasi LP ini menyediakan pasar utama untuk pembongkaran inventaris protokol selama likuidasi atau berakhirnya kontrak tanpa perlu pergi ke platform eksternal untuk melikuidasi agunan.
Misalnya:
Keuangan apa saja
Ajna adalah protokol peminjaman yang dirancang untuk EVM, tanpa tata kelola, izin, atau feed harga eksternal (oracle). Ini dapat digunakan untuk meminjam dan meminjamkan seluruh portofolio kami (termasuk NFT). Proyek pinjaman lainnya telah mencapai masa kritis dengan dua masalah inti: (1) Sistem tata kelola token tidak cukup untuk menganalisis risiko yang kompleks (2) Penggunaan umpan harga eksternal (oracle) membatasi cakupan aset pada pasar sekunder yang likuid "Blue Chips ". Kelemahan ini telah menyebabkan kerugian besar di pasar pinjaman DeFi dan membatasi kemampuan untuk mendukung aset baru. Ajna mengatasi masalah ini dengan beberapa inovasi utama:
(1) Pemberi pinjaman memberikan penetapan harga aset: Ketika pemberi pinjaman menggunakan protokol Ajna, mereka memberi tahu kontrak seberapa besar mereka ingin menggadaikan aset. Hal ini secara efektif memungkinkan mereka memasukkan nilai umur mereka sendiri dan mengubahnya dari parameter tata kelola menjadi parameter pasar;
(2) Penemuan tarif otomatis: Di setiap pasar Ajna, terdapat keadaan ekuilibrium yang ditentukan oleh indikator internal. Jika pasar tidak seimbang, siapa pun dapat mengubah nilai tukar sebesar 10% setiap 12 jam. Jika tidak, jangan lakukan perubahan;
(3) Margin likuidasi: Karena Ajna tidak memiliki ramalan, Ajna bergantung pada pengguna untuk memberi tahu kapan harus melikuidasi pinjaman. Hal ini dicapai dengan meminta likuidator memasang margin untuk memicu likuidasi. Jika mereka jujur, mereka akan diberi imbalan. Jika tidak, mereka dihukum.
Jadi apa gunanya? Inovasi ini memungkinkan Ajna melayani ekosistem "keseluruhan". Siapa pun dapat menciptakan pasar pinjaman dengan aset apa pun (bahkan NFT). Tidak ada lagi proses tata kelola yang melelahkan dan tidak ada lagi kekhawatiran mengenai likuiditas, pasar sekunder, dan oracle.
Mencampur
Sumber: Achal Srinivasan, Kirby
Blend adalah protokol pinjaman abadi peer-to-peer yang mendukung agunan apa pun termasuk NFT. Ini mencocokkan peminjam dengan pemberi pinjaman yang bersedia menawarkan suku bunga yang kompetitif melalui protokol penawaran off-chain yang kompleks.
Secara default, pinjaman Blend memiliki tingkat bunga tetap dan tidak pernah kedaluwarsa. Peminjam dapat membayar kembali kapan saja, dan pemberi pinjaman dapat keluar dari posisi mereka dengan memicu lelang Belanda untuk mencari pemberi pinjaman baru dengan suku bunga baru. Jika lelang gagal, peminjam dilikuidasi dan pemberi pinjaman mengambil alih agunan. Keseluruhannya memiliki empat karakteristik: independen terhadap oracle, tidak terbatas, mobile, dan peer-to-peer:
Banyak protokol DeFi memerlukan mesin oracle untuk menentukan waktu likuidasi posisi atau menentukan suku bunga. Mengambil NFT sebagai contoh, harganya sulit untuk diukur secara objektif, dan pembaruan harga dasar yang tepat waktu juga sangat sulit untuk diamati pada rantai. Solusi biasanya melibatkan pihak terpercaya atau manipulasi transaksi. Perjanjian hibrida menghindari ketergantungan oracle dalam perjanjian inti, memungkinkan tingkat bunga dan rasio pinjaman ditentukan oleh kemauan pemberi pinjaman, dan likuidasi akhir dipicu oleh kegagalan lelang Belanda;
Beberapa protokol DeFi hanya mendukung posisi utang dengan jatuh tempo. Hal ini tidak nyaman bagi peminjam, yang harus ingat untuk menutup atau menyesuaikan posisi sebelum jatuh tempo (atau berisiko terkena penalti seperti kehilangan NFT). Proses penyesuaian posisi secara manual juga menghabiskan Gas, yang juga mengurangi pendapatan yang dihasilkan dari pinjaman. Selama ada pemberi pinjaman yang bersedia meminjamkan jumlah ini dengan agunan, Blend akan secara otomatis menyesuaikan posisi pinjaman, dan transaksi on-chain hanya diperlukan ketika tingkat bunga berubah atau salah satu pihak ingin keluar dari posisi;
Beberapa protokol tidak mendukung likuidasi sebelum jatuh tempo, sehingga lebih nyaman bagi peminjam dan masuk akal dalam banyak kasus penggunaan. Namun hal ini secara efektif memberikan peminjam opsi jual, dan pemberi pinjaman harus memilih pinjaman dengan suku bunga lebih tinggi/lebih rendah dengan jangka waktu lebih pendek untuk menghindari risiko posisi dilikuidasi. Di Blend, selama pemberi pinjaman memicu lelang refinancing, NFT dapat dilikuidasi ketika tidak ada yang mau mengambil alih utang pada tingkat bunga berapa pun;
Beberapa dari perjanjian ini mengumpulkan uang pemberi pinjaman dan mencoba mengelola asetnya. Ini berarti sangat bergantung pada tata kelola on-chain atau terpusat untuk menetapkan parameter. Blend mengadopsi model peer-to-peer, dan setiap pinjaman dicocokkan secara individual. Hal ini tidak mengoptimalkan kesederhanaan metode pinjaman namun mengasumsikan bahwa ada peminjam yang lebih kompleks yang dapat berpartisipasi dalam perjanjian on-chain dan off-chain yang kompleks. mempunyai kewenangan yang lebih besar untuk mengendalikan asetnya sendiri.
Apa itu mode FREI-PI
Menurut pola FREI-PI yang dijelaskan oleh anggota baru lahir Brock Elmore: "Pola Persyaratan Fungsi-Efek-Interaksi + Protokol Iniants", di sini kontrak SoloMargin (kode sumber) dari dYdX adalah Misalnya, ini adalah pasar pinjaman dan kontrak untuk transaksi leverage, yang merupakan contoh bagus dari model FREI-PI. Ini adalah satu-satunya pasar pinjaman di pasar pinjaman awal yang tidak memiliki kerentanan terkait pasar.
Perhatikan abstraksi berikut ketika melihat kode di bawah ini:
persyaratan masukan ( _verifyInputs )
操作 (transformasi data, manipulasi keadaan)
Persyaratan negara bagian ( _verifyFinalState )
Sumber: Brock Elmore
Interaksi-Pemeriksaan-Efek yang biasa di sini masih dijalankan. Namun perlu diperhatikan bahwa Cek-Efek-Interaksi dengan Cek tambahan tidak setara dengan FREI-PI, walaupun serupa tetapi memiliki tujuan yang berbeda. Untuk tujuan ini pengembang harus memahami perbedaannya: FREI-PI adalah abstraksi tingkat tinggi untuk keamanan protokol, sedangkan CEI adalah abstraksi tingkat tinggi untuk keamanan fungsional.
Hal yang menarik dari struktur kontrak ini adalah pengguna dapat terus melakukan berbagai operasi sesuai keinginannya, antara lain: penyetoran, pinjaman, transaksi, transfer, likuidasi, dll. Kami berasumsi bahwa 3 Token berbeda disimpan, dan Token ke-4 ditarik dan akun dibersihkan. Rangkaian operasi ini dapat diselesaikan hanya dengan satu klik.
Inilah kekuatan FREI-PI: selama invarian pasar pinjaman inti bertahan di akhir panggilan, pengguna dapat melakukan apa pun yang mereka inginkan dalam protokol. Untuk kontrak ini, hal ini akan dilakukan di _verifyFinalState, memeriksa jaminan setiap akun yang terpengaruh untuk memastikan bahwa perjanjian tersebut lebih baik daripada saat transaksi dimulai.
Ada beberapa invarian tambahan yang disertakan dalam fungsi ini yang melengkapi invarian inti dan membantu fungsi tambahan seperti menutup pasar, namun pemeriksaan intilah yang benar-benar menjaga keamanan protokol.
Konsep yang berpusat pada entitas adalah kesulitan lain dari FREI-PI, yang dicontohkan oleh pasar pinjaman dan asumsi invarian inti: pengguna tidak dapat mengambil tindakan apa pun untuk memasukkan akun apa pun ke dalam status agunan tanpa jaminan. Dari sudut pandang teknis, ini bukan satu-satunya invarian, tetapi merupakan satu-satunya invarian bagi pengguna (dapat dipahami sebagai invarian protokol inti, karena invarian pengguna adalah invarian protokol inti). Biasanya ada dua invarian tambahan di pasar pinjaman:
1. Mesin Oracle
Secara umum, Chainlink adalah pilihan yang baik, fungsi utamanya adalah memberikan informasi real-time yang akurat dan relatif akurat, yang dapat memenuhi persyaratan sebagian besar invarian. Dalam kasus manipulasi atau kecelakaan yang jarang terjadi, akan lebih bermanfaat jika kita mengurangi pengamanan akurasi secara real-time (seperti memeriksa apakah nilai terakhir yang diketahui ratusan persen lebih besar dari nilai saat ini). Namun, Cream Finance mengalami serangan senilai $130 juta. Untuk informasi lebih lanjut tentang oracle, silakan merujuk ke: Memanipulasi oracle TWAP Uniswap V3 [5] ;
2. Tata Kelola
Tata kelola merupakan invarian yang paling rumit karena sulit untuk bersifat kondisional dan sebagian besar pengaruhnya adalah mengubah invarian lainnya, dan beberapa tata kelola tidak dapat diverifikasi oleh FREI-PI ketika ia beroperasi. Ambil contoh operasi tata kelola Compound yang mengganggu pasar cETH pada Agustus 2022. Peningkatan ini melanggar invarian mesin oracle. [6] 。
Dalam praktiknya, setiap invarian tambahan membuat protokol lebih sulit untuk dilindungi, jadi jumlahnya harus sesedikit mungkin. Oleh karena itu, kompleksitas itu berbahaya, dan invarian yang paling penting adalah invarian dari inti protokol, tetapi seperti disebutkan di atas, akan ada juga beberapa invarian yang berpusat pada entitas, yang harus memenuhi persyaratan invarian inti. /kumpulan invarian terkecil kemungkinan besar aman.
Ringkasan: Masa depan DeFi
Apakah ini solusi terbaik untuk membangun DeFi pada kode sumber yang tidak dapat diupgrade (Primitif) dan melepaskan diri dari Oracle? Bagaimanapun, fleksibilitas dan kemudahan penggunaan yang dibawa oleh protokol DeFi saat ini yang mengandalkan tata kelola, kemampuan upgrade, dan mesin oracle juga telah membuat keseluruhan ukuran pasar mencapai ratusan miliar dolar. Menurut Dan Elitzer, salah satu anggota Nascent: Tata kelola, kemampuan upgrade, dan oracle pada dasarnya tidak buruk.Sebaliknya, elemen-elemen ini memiliki nilai praktis yang besar dalam lingkungan yang lebih luas, namun hal ini juga akan meningkatkan nilai kemungkinan serangan perjanjian.
Dengan alasan memperbarui fungsi atau meningkatkan efisiensi sesuai kebutuhan, kode sumber (Primitif) itu sendiri juga dapat diganti sesekali. Saat memilih cara membuat protokol DeFi, Anda akan menghadapi dua pilihan penting: menyerahkan semua data pengguna dan kondisi eksternal ke protokol tunggal yang lebih terpusat, dan mempercayakannya kepada sejumlah kecil pemegang Token yang bersedia berpartisipasi dalam tata kelola? Atau haruskah kita menghargai kepemilikan masing-masing peserta pasar dan membiarkan pengguna menentukan sendiri perjanjian dan penyedia layanannya?
Peserta dan pengembang di seluruh industri berkomitmen untuk membangun DeFi yang lebih terdesentralisasi, tanpa izin, dan sangat dapat disusun untuk meningkatkan keamanan dan ketahanan seluruh industri. Mengenai arah pengembangan DeFi ke depan, kami berharap dapat terus menduduki pangsa pasar keuangan tradisional dengan cara yang lebih aman dan efisien.
Penjelasan dan referensi:
[1]
[2]
[3]
[4]
[5]
[6]