Jeśli kiedykolwiek próbowałeś aktualizować wieloletnią bazę kodu bez psucia wszystkiego, wiesz, jak to jest. Teraz wyobraź sobie, że ta baza kodu kontroluje miliony dolarów płynności DeFi. Deweloperzy Vyper właśnie wypuścili narzędzie zaprojektowane po to, aby ten proces był znacznie mniej przerażający.
Narzędzie nazywa się vyupgrade, a jego wersja v0.2 pojawiła się 29 maja. Zbudowane głównie przez współtwórcę Vyper — banteg — automatyzuje przepisywanie starszych inteligentnych kontraktów Vyper na nowoczesną składnię kompatybilną z wersjami kompilatora do v0.4.3. Obsługuje kontrakty napisane w wersjach tak starych jak seria 0.1b*, co oznacza, że nawet najwcześniejszy kod Vyper może zostać przeniesiony do teraźniejszości.
Vyupgrade rozwiązuje ryzyko migracji poprzez ponowną kompilację zarówno oryginalnego, jak i zmodyfikowanego kontraktu, a następnie przeprowadzenie szeregu kontroli równoważności. Porównuje ABI, identyfikatory metod i układy pamięci między dwiema wersjami. Jeśli cokolwiek nie pasuje lub jeśli przepisanie mogłoby potencjalnie zmienić zachowanie, narzędzie wyraźnie to oznacza. Przepisania uznane za potencjalnie niebezpieczne są wyraźnie wskazywane, a nie po cichu przepuszczane.
Interfejs jest prosty. Deweloperzy mogą uruchomić go z wiersza poleceń za pomocą czegoś w rodzaju uvx vyupgrade contracts/, z opcjami takimi jak –check do suchych przebiegów i –target-version, aby określić docelową wersję kompilatora.
Vyupgrade v0.2 zostało uruchomione na kontraktach Curve, Yearn i Yield Basis. Potwierdzono również kompatybilność z wczesnymi kontraktami, takimi jak Uniswap v1, który sięga najwcześniejszych dni handlu on-chain.
Szczególnie w przypadku Curve jest to istotny kontekst. Inteligentne kontrakty Curve są słynnie napisane w Vyper, a nie w Solidity — wybór, który stał się mieczem obosiecznym w lipcu 2023 roku, gdy luka w kompilatorze Vyper doprowadziła do exploitów w kilku pulach Curve. Narzędzia, które pomagają Curve i podobnym protokołom utrzymywać kontrakty zgodne z najnowszymi, najbezpieczniejszymi wersjami kompilatora, nie są tylko miłym dodatkiem. Są bezpośrednią odpowiedzią na historyczny ból.
Vyper jest zaprojektowany tak, aby być prostszy i bardziej audytowalny niż Solidity, z pythonopodobną składnią, która celowo ogranicza możliwości deweloperów w celu zmniejszenia powierzchni ataku. Sam kompilator Vyper był aktywnie rozwijany, a v0.4.x wprowadza znaczące zmiany w języku. Jednak każda aktualizacja kompilatora tworzy obciążenie migracyjne dla istniejących kontraktów. Narzędzie, które automatyzuje i weryfikuje tę migrację, usuwa jeden z największych punktów tarcia w utrzymywaniu aktualności protokołów opartych na Vyper.
Luki w inteligentnych kontraktach pozostają największym pojedynczym źródłem strat funduszy w DeFi, a przestarzałe wersje kompilatora są znanym wektorem ataku. Narzędzie, które ułatwia utrzymywanie kontraktów na aktualnych, załatanych wersjach kompilatora, bezpośrednio zmniejsza prawdopodobieństwo rodzaju exploita, który może z dnia na dzień zniszczyć TVL protokołu.
W przypadku protokołów takich jak Curve i Yearn, które już testowały vyupgrade, adopcja może służyć jako sygnał wiarygodności. Ogłoszenie wygenerowało ograniczone zainteresowanie mediów, rozpowszechniane głównie za pośrednictwem X i repozytorium GitHub projektu, choć reakcje społeczności były przytłaczająco pozytywne.
The post Vyper Developers Release Vyupgrade for Safe Contract Rewrites appeared first on TheCryptoUpdates.


