Wpis Ethereum: Vitalik Buterin wyjaśnia, jak AI może sprawić, że inteligentne kontrakty będą naprawdę bezpieczne pojawił się jako pierwszy w Coinpedia Fintech News
Współzałożyciel Ethereum, Vitalik Buterin, opublikował szczegółowy argument, że wspomagana przez AI weryfikacja formalna mogłaby fundamentalnie zmienić sposób budowania bezpiecznego oprogramowania, odpierając rosnący pesymizm w społeczności cyberbezpieczeństwa co do tego, czy systemy trustless mogą przetrwać coraz potężniejsze ataki napędzane przez AI.
„Wiele osób twierdziło, że przy wspomaganym przez AI wykrywaniu błędów, bezpieczny kod będzie niemożliwy" – napisał Buterin. „Mam o wiele bardziej optymistyczne zdanie, a wspomagana przez AI weryfikacja formalna jest głównym powodem dlaczego."
Weryfikacja formalna to praktyka pisania matematycznych dowodów dotyczących kodu, które mogą być automatycznie sprawdzane przez komputer. Zamiast testować oprogramowanie i mieć nadzieję, że błędy się nie pojawią, programiści piszą dowody, które matematycznie gwarantują, że dany fragment kodu zachowuje się dokładnie zgodnie z zamierzeniem w każdych warunkach.
Technologia ta istnieje od dziesięcioleci, ale pozostawała niszowa, ponieważ ręczne pisanie takich dowodów jest niezwykle trudne i czasochłonne. Argument Buterina jest taki, że AI radykalnie zmienia te równanie. AI może pisać zarówno kod, jak i dowody, podczas gdy ludzie jedynie weryfikują, czy udowadniane twierdzenia odpowiadają temu, czego faktycznie oczekują od oprogramowania.
Opisał tę kombinację jako to, co badacz Yoichi Hirai nazywa „ostateczną formą tworzenia oprogramowania".
Buterin wskazał na kilka obszarów, w których weryfikacja formalna jest już stosowana w ekosystemie rozwoju Ethereum. Należą do nich podpisy odporne na ataki kwantowe, systemy dowodów STARK, algorytmy konsensusu oraz ZK-EVM – wszystkie obszary, w których właściwości bezpieczeństwa są proste do zdefiniowania, mimo że bazowy kod jest niezwykle złożony.
Projekty takie jak Arklib pracują nad w pełni formalnie zweryfikowaną implementacją STARK. Projekt evm-asm buduje kompletny EVM napisany bezpośrednio w asemblerze RISC-V, zweryfikowany matematycznie względem czytelnej dla człowieka implementacji referencyjnej. Protokoły konsensusu odporne na błędy bizantyjskie są również formalnie specyfikowane i weryfikowane w Lean.
Główna konkluzja jest taka, że w przypadku tych systemów lukę między tym, co kod robi, a tym, co powinien robić, można zamknąć z matematyczną pewnością, a nie probabilistycznym testowaniem.
Buterin był ostrożny, aby nie przesadzać. Weryfikacja formalna ma realne tryby awarii. Dowody mogą być napisane tylko dla części systemu, podczas gdy krytyczne błędy ukrywają się w niezweryfikowanych sekcjach. Programiści mogą zapomnieć o określeniu ważnych właściwości. Sama formalna specyfikacja może być błędna. Podatności sprzętowe, takie jak ataki bocznokanałowe, mogą ominąć nawet matematycznie poprawne oprogramowanie.
„Udowodniona poprawność nie dowodzi, że oprogramowanie jest poprawne w sposób, w jaki większość ludzi rozumie poprawność" – napisał. To, co weryfikacja formalna faktycznie robi, to umożliwienie programistom wyrażania swoich intencji na wiele różnych, redundantnych sposobów i automatyczne sprawdzanie, czy wszystkie te wyrażenia są ze sobą zgodne.
Buterin opisał optymistyczną przyszłość, w której oprogramowanie dzieli się na dwie warstwy. Niezabezpieczona warstwa brzegowa obsługuje funkcje o niższej stawce, działa w środowiskach sandbox i operuje z minimalnymi uprawnieniami. Bezpieczny rdzeń obsługuje wszystko krytyczne, w tym samo Ethereum, jądra systemów operacyjnych i wrażliwą infrastrukturę IoT.
Bezpieczny rdzeń jest celowo utrzymywany w małych rozmiarach i poddawany agresywnej weryfikacji formalnej. AI wnosi moc obliczeniową, która sprawia, że weryfikacja jest praktyczna na dużą skalę. Efektem nie jest oprogramowanie bez żadnych błędów, ale oprogramowanie, którego najbardziej krytyczne komponenty można obdarzyć zaufaniem opartym na matematycznej pewności, a nie nadziei.
„Obrońcy mają w końcu szansę na zdecydowane zwycięstwo" – podsumował, powołując się na własne doświadczenia Mozilli w utwardzaniu swojej bazy kodu przeciwko narzędziom ataku wspomaganym przez AI.

