Zespół MakerDAO znalazł sposób na odwrócenie transakcji Ethereum

Zespół inżynierów MakerDAO znalazł sposób na odzyskanie ETH wartych około 240 tys. dolarów. Środki te zostały utracone w wyniku błędu pewnego użytkownika reddita, który wysłał je na zły adres. W poście na Reddicie sprzed 23 dni, pewien użytkownik opisał swoje wstrząsające doświadczenia związane z wysłaniem około 63 ETH na zły adres. Dokładniej opisał sytuacje w filmie na YouTube. Jak twierdzi, podłączył on swój portfel Metamask do Oasis, przełączył sieć z mainnetu Ethereum na Arbitrum, i zdeponował ETH do mostu tokenów DAI na Arbitrum. Problem polegał na tym, że most ten był dostępny tylko dla DAI - nie ETH. Nawet jeśli ETH może być czasami używany do interakcji z Maker Protocol, nie było tak w tym przypadku. W tym samym poście użytkownik napisał:
To było dosłownie wszystko, co miałem na świecie oprócz mojego samochodu. Nie piszę postu dla współczucia. Chcę tylko, żeby wszyscy wiedzieli, żeby im się to nie przytrafiło... Wiem, że to ja dokonałem transakcji. Biorę za to odpowiedzialność.

Jak MakerDAO odwrócił transakcję Ethereum?

Mimo, że użytkownik nie "napisał postu dla współczucia", to je otrzymał. Sam MacPherson, z zespołu protokołu w MakerDAO, szczegółowo opisał w tweecie, co stało się potem. Ponieważ adresy Ethereum są "generowane deterministycznie", każdy adres smart na warstwie 2, który "został wcześniej wdrożony przez warstwę 1 EOA", może być replikowany. EOA to skrót od Externally Owned Account. Jest to normalny adres Ethereum z kluczami prywatnymi, a nie tylko kontem kontraktowym (takim, jakie może być używane w kontraktach DeFi). Adres warstwy 2, z którym korespondowały środki, odpowiadał znanemu kontraktowi Proxy na warstwie 1. Zespół inżynierów był w stanie zatem wstawić dowolny kod smart kontraktu do otrzymanego adresu warstwy 2. Inżynierowie użyli następnie wdrożenia ProxyRegistry warstwy 1, aby znaleźć nonce. Inteligentne kontrakty muszą mieć bowiem ten sam adres i ten sam nonce, aby wdrożyć się na EOA. Następnie zainicjowali arbitralne smart kontrakty do Arbitrum z EOA (portfel ETH użytkownika), aż dotarli do pożądanego nonce, który pozwolił im wdrożyć kontrakt, który chcieli. Jak podsumowuje MacPherson:
Gdy mamy już Proxy wdrożone pod adresem docelowym, możemy wydać polecenie wysłania ETH z powrotem do oryginalnego użytkownika i voila odzyskaliśmy ETH!.
Innymi słowy, zespół inżynierów skutecznie znalazł sposób na odwrócenie transakcji blockchain. Po otrzymaniu zwróconego ETH, użytkownik napisał na Reddicie:
Szczerze mówiąc, nie mogę w to uwierzyć. Jak tylko zdałem sobie sprawę z tego, co się stało, byłem pewien, że przepadło na zawsze... Ci faceci nie mieli wobec mnie żadnych zobowiązań, a mimo to wciąż poświęcali czas, aby wymyślić, jak zrobić coś, co wielu ludzi, w tym ja, uważało za niemożliwe.

Komentarze

Ranking giełd