W ubiegłym tygodniu założyciel Compund, Robert Lesher, nazwał błąd w kontrakcie smart swojego protokołu DeFi „moralnym dylematem”. Niektórzy pewnie podzielają jego zdanie. Dla innych, smart kontrakty stały się bezdenną studnią korzyści pełną darmowej kasy.
Tym razem znów odkryto błąd w kontrakcie Compound Controller, będącym częścią protokołu, który rozdziela nagrody dla użytkowników yield farming. Wywołując funkcję drip() w ramach protokołu, przeniesiono 68 mln USD (czyli 202 472 COMP) z zasobów Compund do Comptrollera.
Deweloper Yearn.Finance posługujący się pseudonimem Banteg opublikował odkrycie błędu na Twitterze. Spowodowało to falę kolejnych nadużyć względem protokołu. Przeniesiono wówczas kolejne 21,4 mln USD. Banteg zwrócił uwagę, że „wyłącznie zbugowane adresy mogą powodować wyzysk”. Kolejnych pięć takich adresów mogłoby spowodować naruszenie rzędu 45 mln USD.
Tydzień temu przedstawiono nowe rozwiązania w ramach protokołu. Proposal 062 spowodował jednak rozsyłanie 280 tysięcy COMP do niewłaściwych użytkowników. Leshner poprosił wszystkich o zwrot, dziękując tym, którzy tak postąpili.
Naprawa błędu w Compound zajmuje siedem dni. Aktualnie każdy może dodać więcej COMP do Comptrollera poprzez wywołanie funkcji drip().
Zdaniem Bantenga, firma wiedziała o problemie z dripem „od kilku dni”. Postanowiono jednak nic z tym nie robić, ponieważ „nie było żadnej migracji”. Deweloperzy mogli chcieć w międzyczasie uszczelnić system bez publikowania informacji o błędzie. O tym tweetował sam Leshner, który liczył na rozwiązanie problemu przez wywołaniem funkcji drip().
Twórca Compound twierdzi, że kolejne 160 mln USD może zostać wyciągnięte z protkołu. W ciągu 24 godzin wartość COMP spadła o 4,6%.