Firma audytorska OpenZeppelin ujawniła właśnie, że odkryła dziurę w kodzie Convex Finance (CVX), która mogła doprowadzić do wyciągnięcia 15 miliardów dolarów. Od tego czasu zostało to naprawione przy współpracy z twórcami projektu. Przyjrzyjmy się szczegółom tej sprawy, która mogła doprowadzić do katastrofy w świecie zdecentralizowanych finansów.
Uniknięto potencjalnego wyciągnięcia dywanu w sprawie Convex Finance
Podczas audytu bezpieczeństwa protokołu Convex dla platformy Coinbase, wyspecjalizowana firma OpenZeppelin odkryła błąd, który mógł doprowadzić do wyciągnięcia wszystkich środków z protokołu.
Dla przypomnienia, Convex jest kołem zamachowym typu Curve (CRV). Koło zamachowe to protokół, który zależy od innego, aby zwielokrotnić zyski, które ten drugi początkowo oferuje. Można więc deponować CRV na lokacie Convex, a nie Curve, aby uzyskać większe zainteresowanie.
Przypadek ten, szczegółowo opisany dziś przez firmę audytorską, został odkryty pod koniec 2021 roku i naraził na ryzyko aktywa o wartości 15 miliardów dolarów, co stanowiło całkowitą wartość zablokowaną (TVL) projektu w tamtym czasie.
Likwidacja luki w systemie Rugpull w kontraktach na żywo @ConvexFinance 15 mld USD w TVL zabezpieczone.
Podsumowanie w wątku poniżej. Szczegóły techniczne można znaleźć na blogu https://t.co/dAkUom9qX1
– OpenZeppelin (@OpenZeppelin) 4 kwietnia 2022
Jest to scenariusz katastrofy, który mógłby się wydarzyć, gdyby twórcy projektu mieli złe intencje. Sumy, o które toczyła się gra, stanowiły wówczas około 10% wartości TVL sieci Ethereum (ETH). To nieco ponad 6% całego ekosystemu DeFi – wynika z danych serwisu Defi Llama.
Błąd, o którym mowa, występował w systemie wielopodpisowym (multisig) – jeśli dwóch z trzech sygnatariuszy wykonało określoną serię czynności, uzyskiwali oni dostęp do środków całej platformy.
Na szczęście zespół Convex nie miał zamiaru wywoływać zamieszania i 14 grudnia została wdrożona poprawka, która naprawia tę niezamierzoną wadę, uniemożliwiając jej użycie. W celu zwiększenia poziomu zaufania do multisejfu dodano także dwóch publicznie znanych sygnatariuszy.
OpenZeppelin stoi przed trudną sytuacją do opanowania
Chociaż firma audytująca nie miała wątpliwości co do uczciwości i dobrej wiary programistów, po odkryciu wady znalazła się w trudnej sytuacji. W tym celu musiała dokonywać strategicznych wyborów, aby nie narażać środków użytkowników na ryzyko.
Ponieważ łatę mogli wdrożyć tylko programiści projektu, miała trzy możliwości:
- Ujawnij wadę bezpośrednio Convexowi, ale to mogłoby spowodować wyciągnięcie dywanu w przypadku złej uwagi;
- Upublicznić wadę, co wiąże się z takim samym ryzykiem, jak w przypadku pierwszej możliwości, a jednocześnie naraża reputację protokołu na szwank;
- Upewnij się, że zespół jest uczciwy i postępuje etapami.
To ostatnie rozwiązanie było preferowane. Ponieważ nawet jeśli naruszenie nie było zamierzone, możliwość przejęcia 15 miliardów dolarów może stanowić duże ryzyko pokusy, zwłaszcza że zespół założycielski firmy Convex jest anonimowy.
OpenZeppelin zwrócił się wtedy do zespołu Immunefi, platformy umożliwiającej tworzenie systemu nagród dla każdego, kto odkryje błąd w protokole. Ta ostatnia, wynajmując swoje usługi firmie Convex, zgodziła się pełnić rolę pośrednika w celu przeprowadzenia procesu korekty.
Sprawa zakończyła się więc pomyślnie, a nawet doprowadziła do poprawy bezpieczeństwa protokołu. Jednak wciąż jest to interesująca lekcja, bo choć udało się uniknąć poważnej katastrofy, przypomina nam to, że rynek DeFi jest wciąż młody i wiąże się z ryzykiem, które należy uwzględnić w swojej strategii inwestycyjnej.