5 podatności smart kontraktów, o których musisz wiedzieć: Chroń swoje fundusze i aktywa dzięki tym wskazówkom

Paulina Lewandowska

23 gru 2022
5 podatności smart kontraktów, o których musisz wiedzieć: Chroń swoje fundusze i aktywa dzięki tym wskazówkom

Smart kontrakty są samowykonalnymi umowami, w których warunki umowy między kupującym a sprzedającym są bezpośrednio zapisane w liniach kodu. Kod i zawarte w nim umowy są przechowywane i replikowane w sieci blockchain.

Jako specjaliści w tworzeniu smart kontraktów, przygotowaliśmy listę powszechnych podatności smart kontraktów, które mogą dotknąć użytkowników oraz kroki, które można podjąć w celu ich zabezpieczenia.

Ataki Reentrancy

Ataki te pozwalają atakującemu na wielokrotne wywoływanie funkcji w inteligentnym kontrakcie i drenaż środków kontraktu.

W ataku reentrancji, atakujący tworzy złośliwy kontrakt, który wywołuje podatny kontrakt, a następnie czeka, aż podatny kontrakt wykona funkcję, która wysyła fundusze do kontraktu atakującego. Kontrakt atakującego natychmiast ponownie wywołuje podatny kontrakt, zanim ten zdąży zaktualizować swój stan wewnętrzny. Proces ten może być powtarzany wielokrotnie, co pozwala atakującemu na wydrenowanie funduszy podatnego kontraktu.

Ataki reentrancyjne mogą być szczególnie niebezpieczne, ponieważ często są trudne do wykrycia i mogą być przeprowadzane ukradkiem przez dłuższy czas. Mogą być również trudne do zapobieżenia, ponieważ często opierają się na lukach w projekcie podatnego kontraktu.

Aby zabezpieczyć się przed atakami reentrancji, twórcy inteligentnych kontraktów powinni wdrożyć środki takie jak użycie muteksów (mechanizmów blokujących), aby zapobiec wielokrotnemu wywoływaniu funkcji kontraktu, a także starannie przejrzeć kod kontraktu pod kątem wszelkich potencjalnych luk.

Niezamknięta wysyłka

Ta luka umożliwia atakującemu wysłanie dużej ilości tokenów do inteligentnego kontraktu, potencjalnie powodując, że zabraknie mu gazu i zawiedzie.

W przypadku ataku typu "unchecked send", atakujący tworzy złośliwy kontrakt, który wysyła dużą liczbę tokenów do podatnego kontraktu w pojedynczej transakcji. Wrażliwy kontrakt może nie mieć odpowiednich zabezpieczeń, aby obsłużyć duży napływ tokenów, co potencjalnie może spowodować, że zabraknie mu paliwa i zawiedzie. Może to spowodować, że kontrakt stanie się bezużyteczny, potencjalnie prowadząc do utraty funduszy lub aktywów przez użytkowników, którzy są zależni od kontraktu.

Niekontrolowane ataki wysyłania mogą być szczególnie niebezpieczne, ponieważ mogą być trudne do wykrycia i mogą mieć poważne konsekwencje dla użytkowników. Aby chronić przed atakami typu unchecked send, twórcy inteligentnych kontraktów powinni wdrożyć zabezpieczenia zapobiegające dużemu napływowi tokenów, takie jak ustalenie limitów ilości tokenów, które można wysłać w pojedynczej transakcji.

Przepełnienie/niedopełnienie liczby całkowitej

Ta luka występuje, gdy inteligentny kontrakt nie obsługuje poprawnie operacji arytmetycznych z udziałem liczb całkowitych, potencjalnie umożliwiając atakującemu manipulowanie stanem kontraktu.

Przepełnienie liczby całkowitej występuje, gdy wartość całkowita przekracza maksymalną wartość, która może być przechowywana w przydzielonej liczbie bitów. Może to spowodować, że wartość "zawinie się" i stanie się bardzo małą liczbą ujemną. Niedopełnienie liczby całkowitej występuje, gdy wartość całkowita spada poniżej minimalnej wartości, która może być przechowywana w przydzielonej liczbie bitów. Może to spowodować, że wartość "zawinie się" i stanie się bardzo dużą liczbą dodatnią.

Te luki mogą być wykorzystane przez atakującego do manipulowania stanem kontraktu i potencjalnie uzyskania nieautoryzowanego dostępu do funduszy lub aktywów. Na przykład, atakujący może być w stanie użyć przepełnienia liczby całkowitej, aby spowodować, że kontrakt przeleje więcej środków niż zamierzano, lub użyć niedopełnienia liczby całkowitej, aby spowodować, że kontrakt przeleje mniej środków niż zamierzano.

Aby zapobiec podatności na przepełnienie i niedopełnienie liczb całkowitych w inteligentnych kontraktach, deweloperzy powinni dokładnie przejrzeć kod i wprowadzić zabezpieczenia. Jednym ze sposobów na to jest użycie bibliotek lub narzędzi, które mogą obsługiwać operacje arytmetyczne z udziałem dużych liczb całkowitych. Inną opcją jest użycie typów danych, które są w stanie przechowywać duże wartości całkowite bez doświadczania przepełnienia lub niedopełnienia. Ważne jest, aby programiści wdrożyli te środki w celu ochrony przed podatnościami, które mogłyby zostać wykorzystane przez atakujących.

Brak kontroli dostępu

Jeśli inteligentny kontrakt nie ma odpowiednich środków kontroli dostępu, może być podatny na nieautoryzowane modyfikacje lub ataki.

Jeśli inteligentny kontrakt nie posiada odpowiednich środków kontroli dostępu, może być podatny na ataki lub nieautoryzowane modyfikacje. Na przykład, osoba atakująca może być w stanie manipulować stanem kontraktu lub uzyskać dostęp do wrażliwych danych, jeśli kontrakt nie posiada odpowiednich zabezpieczeń przed nieautoryzowanym dostępem.

W celu ochrony przed lukami związanymi z brakiem kontroli dostępu, twórcy inteligentnych kontraktów powinni wdrożyć środki takie jak użycie modyfikatorów dostępu (np. "public", "private", "internal") w celu kontroli dostępu do funkcji i danych kontraktu oraz użycie kontroli dostępu opartej na rolach w celu przyznania dostępu do określonych funkcji lub danych określonym grupom lub osobom.

Brak walidacji danych wejściowych

Jeśli inteligentny kontrakt nie weryfikuje prawidłowo danych wejściowych, może być podatny na złośliwe dane wstrzykiwane do kontraktu, potencjalnie umożliwiając atakującemu manipulowanie stanem kontraktu.

Jeśli inteligentny kontrakt nie weryfikuje prawidłowo danych wejściowych, może być podatny na wstrzyknięcie do kontraktu złośliwych danych, co potencjalnie pozwala atakującemu na manipulowanie stanem kontraktu. Na przykład, atakujący może być w stanie wykorzystać brak walidacji danych wejściowych, aby spowodować, że kontrakt przeleje środki na nieautoryzowany adres lub uzyskać dostęp do wrażliwych danych.

Aby zabezpieczyć się przed lukami związanymi z brakiem walidacji danych wejściowych, twórcy inteligentnych kontraktów powinni wdrożyć środki służące do walidacji danych, które są wprowadzane do kontraktu. Może to obejmować użycie bibliotek lub narzędzi do sprawdzania poprawności typów, zakresów i formatów danych, a także wdrożenie kontroli w celu zapewnienia, że dane spełniają określone kryteria, zanim zostaną zaakceptowane przez kontrakt.

Podsumowanie

Luki w smart kontraktach mogą mieć poważne konsekwencje dla użytkowników, w tym utratę funduszy, niemożność dostępu do aktywów oraz narażenie wrażliwych informacji osobistych lub finansowych. Ważne jest, aby deweloperzy i użytkownicy byli świadomi potencjalnych podatności i podejmowali kroki w celu ochrony przed nimi. W tym artykule omówiliśmy sposoby zabezpieczania smart kontraktów, w tym wdrażanie muteksów w celu zapobiegania wielokrotnym wywołaniom funkcji kontraktu, ustalanie limitów ilości tokenów, które można przesłać w pojedynczej transakcji, korzystanie z bibliotek lub narzędzi obsługujących operacje arytmetyczne obejmujące duże liczby całkowite, wdrażanie środków kontroli dostępu oraz walidację danych wprowadzanych do kontraktu.

Most viewed


Never miss a story

Stay updated about Nextrope news as it happens.

You are subscribed

Ekonomia Ethereum – Analiza

Kajetan Olas

05 mar 2024
Ekonomia Ethereum – Analiza

Ekonomia Ethereum obejmuje mechanizmy ekonomiczne kierujące zachowaniem uczestników blockchainu. Dotyka ona kwestii kwestii dotyczących m.in. jej waluty (Ether), po rolę sieci w ułatwieniu funkcjonowania smart contractów i zdecentralizowanych aplikacji.

Zrozumienie Ekonomii Ethereum

Ekonomia Ethereum została zaprojektowana, aby zrównoważyć skalowalność, bezpieczeństwo i decentralizację, często określane jako trylemat blockchainu. Natywna kryptowaluta sieci, ETH, jest czymś więcej niż środek wymiany. Jest ona także kluczowym komponentem protokołu konsensusu Ethereum - Proof of Stake.  Ekonomia Ethereum obejmuje również podejście platformy do opłat transakcyjnych (opłat za gaz), politykę monetarną i mechanizmy wpuszczania nowego ETH do systemu. Razem, te czynniki wpływają na wartość płynącą z używania sieci.

Dynamika Popytu i Podaży

Dynamika popytu i podaży w ramach ekonomii Ethereum jest kluczowa dla zrozumienia wartości rynkowej sieci oraz incentyw do uczestnictwa w sieci.

Strona Podażowa

  • Emisja ETH: Całkowita podaż ETH zależy od tempa emisji sieci, które ewoluowało z czasem. W przeciwieństwie do Bitcoina, Ethereum nie ma ustalonej maksymalnej podaży ETH, ale różne ulepszenia (szczególnie London Hard Fork i EIP-1559) wprowadziły mechanizmy mające na celu umiarkowanie wzrostu podaży.
  • Ethereum 2.0 i Staking: Przejście na Ethereum 2.0 wprowadza staking, gdzie walidatorzy blokują swoje ETH jako depozyt zabezpieczający, aby uczestniczyć w konsensusie sieci. Ta zmiana z Proof of Work na Proof of Stake nie tylko zmienia model bezpieczeństwa, ale także zmniejsza podaż ETH w cyrkulacji.

Strona Popytowa

  • Smart Contracty i dApps: Użyteczność Ethereum jako platformy do wdrażania smart contractów i zdecentralizowanych aplikacji tworzy podstawowy popyt na ETH. Jest on wymagany do płacenia za opłaty transakcyjne i usługi obliczeniowe.
  • Zdecentralizowane Finanse (DeFi) i NFT: Eksplozywny wzrost DeFi i rynku NFT na blockchainie Ethereum znacząco zwiększył popyt na ETH. Te aplikacje często wymagają ETH jako collateral (zabezpieczenie), a czasami jest on środkiem wymiany w ich ekosystemach.

Wzajemne oddziaływanie podaży i popytu jest urozmaicane przez ulepszenia sieci, zmiany w opłatach transakcyjnych oraz ogólną adopcję aplikacji opartych na Ethereum. W miarę upływu czasu, szczególnie przy pełnej implementacji Ethereum 2.0, te dynamiki będą kształtować się inaczej. Zaprezentują one nowe możliwości dla użytkowników, inwestorów i deweloperów.

Polityka Monetarna Ethereum

Polityka monetarna Ethereum jest kluczowym aspektem jego modelu ekonomicznego. Skupia się na zarządzaniu podażą Etheru w celu zapewnienia bezpieczeństwa sieci i zachęcenia do zrównoważonego uczestnictwa. W przeciwieństwie do tradycyjnych systemów monetarnych lub nawet innych kryptowalut z ustalonym limitem podaży, Ethereum przyjmuje bardziej adaptacyjne podejście.

Opłaty Transakcyjne

EIP-1559, wdrożony jako część Londyńskiego Hard Forka w 2021 roku, znacząco zmienił politykę monetarną Ethereum. Wprowadził nowe mechanizmy dotyczące ustalania opłat transakcyjnych. Podzielił je na 2 komponenty: Base Fee i Priority Fee.

Base Fee (Opłata Bazowa)

Base Fee jest dynamicznie ustalane na podstawie przeciążenia sieci i jest spalana (burning). Jej wysokość opiera się na dwóch czynnikach: jak bardzo sieć jest przeciążonai jak długo była w takim stanie. Oznacza to, że Base Fee będzie rosło, dopóki aktywność w sieci nie wróci do docelowego średniego poziomu. Ponieważ Base Fee jest spalane, oznacza to również, że ETH ma tendencję deflacyjną, gdy aktywność w sieci jest wysoka.

Priority Fee (Opłata Priorytetowa)

Priority Fee to dodatkowa opłata, która służy jako napiwek dla validatorów (osób weryfikujących transakcje). Jest ustalana przez użytkownika, aby zachęcić validatorów do przetworzenia jego transakcji. Wyższa opłata oznacza, że transakcja zostanie zweryfikowana przed innymi transakcjami. Priority Fee powinno być wyższe niż 0, ponieważ validatorzy muszą mieć jakąś zachętę do włączenia transakcji do bloku.

Opłaty transakcyjne na przestrzeni czasu, dostęp na 05.03.2024, https://bitinfocharts.com/comparison/ethereum-transactionfees.html#3y

Staking i Ethereum 2.0

Przejście na Ethereum 2.0 i związany z nim Proof of Stake, wprowadza nagrody za staking jako nowy sposób emisji ETH. Validatorzy lokują minimum 32 ETH, aby uczestniczyć w protokole konsensusu i przyczynić się do bezpieczeństwa sieci.. Wysoka bariera wejścia przyczynia się do faktu, że tylko 26% całkowitej podaży ETH jest stakowane. Jest to niższa wartość niż w niektórych innych blockchainach, np. Cardano (64% stakowane).

dostęp na 05.03.2024, https://www.coinbase.com/earn/staking/ethereum

Kary

Ethereum zapewnia, że validatorzy działają w najlepszym interesie sieci, wprowadzając zestaw kar za niepożądane zachowania.

Slashing

Slashing to kara za naruszenie zasad protokołu i angażowanie się w nieuczciwe zachowania. Część ETH validatora jest zabierana, jeśli próbuje on

  • zaproponować dwa różne bloki
  • Zaświadczyć o kilku sprzecznych wersjach blockchainu (zaświadczanie oznacza głosowanie jak zdaniem validatora wygląda w danej chwili stan blockchainu).

Kary za Nieaktywność

Jeśli weryfikator jest nieaktywny i nie uczestniczy np. w zaświadczaniu bloków, stopniowo traci stakowane ETH. Zapewnia to, że stakerzy aktywnie uczestniczą w zabezpieczaniu sieci. Zapobiega to sytuacji, gdy pewna liczba weryfikatorów regularnie ignoruje swoje obowiązki i przyczynia się do destabilizacji sieci.

Podsumowanie

Przyjrzenie się ekonomii Ethereum powoduje podziw dla jej złożoności. Robi wrażenie, jak precyzyjni w swojej pracy musieli być deweloperzy Ethereum. Znaleźli parametry, które bardzo dobrze zrównoważyły jego ekosystem (np. to jak zdecydowali, że staking dokładnie 32ETH jest lepszy niż 28ETH). Oprócz parametrów ilościowych interesująca jest również logika stojąca za strukturą opłat, karami, itp. To wszystko sprawia, że ekonomia Ethereum jest doskonałym studium przypadku dla inżynierów tokenów i deweloperów Web3.

FAQ

Jaką rolę odgrywa Ether (ETH) w ekonomii Ethereum? 

  • ETH jest nie tylko środkiem wymiany - służy również do zapewnienia bezpieczeństwa sieci. W modelu PoS to, co powstrzymuje validatorów przed nieuczciwymi zachowaniami, to fakt, że mogą stracić stakowane ETH.

Jakie zmiany wprowadziło EIP-1559 do opłat transakcyjnych na Ethereum? 

  • EIP-1559 wprowadziło dwuczłonową strukturę opłat z opłatą bazową i opłatą priorytetową. Opłata bazowa jest spalana, co przyczynia się do potencjalnie deflacyjnego charakteru Ethereum przy wysokiej aktywności. Natomiast opłata priorytetowa motywuje validatorów do uwzględnienia transakcji w bloku.

Jaka jest strategia Ethereum w zakresie skalowania i rozwiązywania problemów z przeciążeniem sieci? 

  • Strategia Ethereum polega na wykorzystaniu rozwiązań Layer-2, z blockainem Ethereum służącym jako bezpieczna warstwa rozliczeniowa.

Aleph Zero Bridges: Czym jest MOST i Jak on Działa?

Karolina

05 mar 2024
Aleph Zero Bridges: Czym jest MOST i Jak on Działa?

Znaczenie interoperacyjności w różnych ekosystemach jest ogromne. Jest wiele protokołów, zdolność do transferu aktywów i informacji między różnymi blockchainami jest więc niezbędna. Jak do tego podchodzi Aleph Zero i czym jest MOST?

Geneza MOSTu: Most do Ethereum

Wizja interoperacyjności Aleph Zero

W sercu strategii Aleph Zero mającej na celu stworzenie bardziej połączonego świata blockchain znajduje się MOST, awangardowy most zaprojektowany w celu bezproblemowego połączenia Aleph Zero z ekosystemem Ethereum. MOST stanowi krytyczny krok naprzód w zobowiązaniu Aleph Zero do budowy solidnej, niezależnej i wszechstronnej platformy. Odzwierciedla wizję ekosystemu blockchain, który jest nie tylko samowystarczalny, ale także w pełni zintegrowany z szerszym krajobrazem cyfrowych aktywów.

Rola MOST w zwiększaniu interoperacyjności Aleph Zero z Ethereum

MOST to strategiczny zasób, który zwiększa interoperacyjność Aleph Zero z Ethereum. Umożliwiając bezpośrednią ścieżkę dla transferu aktywów między Aleph Zero a Ethereum, MOST umożliwia zarówno deweloperom, jak i użytkownikom wykorzystanie mocnych stron obu platform. Ta synergia zwiększa potencjał zdecentralizowanych aplikacji (dApps) i projektów finansów zdecentralizowanych (DeFi), pozwalając im korzystać z połączonych zalet skalowalności Aleph Zero i żywego ekosystemu Ethereum.

READ: "What is Aleph Zero?"

Architektura i funkjonalności MOST

Przegląd projektu MOST

Architektura MOST opiera się na projekcie opartym na strażnikach, priorytetowo traktującym bezpieczeństwo i prostotę w transferze aktywów. Ten model projektowy zapewnia, że most działa z najwyższą integralnością i niezawodnością. Strażnicy, wybierani poprzez skrupulatny proces, odgrywają kluczową rolę w utrzymaniu operacyjnej doskonałości mostu. Każdy strażnik nadzoruje dwie instancje konfiguracji - jedną dla Testnetu i jedną dla Mainnetu - zapewniając tym samym solidną strukturę testowania i wdrożeń, która zabezpiecza przed podatnościami.

zParachain bridge
zParachain bridge, Source

"Strażnicy MOST"

Strażnicy MOST nie są tylko opiekunami infrastruktury technicznej mostu; są oni kluczowymi elementami jego modelu zarządzania. Posiadając kontrolę nad kluczami zarządzania zarówno Aleph Zero, jak i Ethereum, strażnicy posiadają autorytet do wprowadzania zmian w składzie komitetu, przeprowadzania aktualizacji kontraktów i podejmowania innych istotnych funkcji zarządzania. Ta konfiguracja portfela wielokrotnego podpisu zapewnia zdecentralizowany mechanizm kontroli, istotny dla utrzymania bezpieczeństwa i integralności mostu.

Główne cechy: Obniżone opłaty, Zachęcanie do płynności i Skupienie na bezpieczeństwie

MOST został zaprojektowany z uwzględnieniem kilku kluczowych cech mających na celu optymalizację doświadczenia użytkownika i wzrost ekosystemu. Jedną z jego wyróżniających się cech jest znaczne obniżenie opłat za mostowanie aktywów, takich jak ETH, stablecoiny i tokeny z Ethereum do Aleph Zero. Struktura opłat jest strategicznie zaprojektowana w celu przyciągnięcia płynności do ekosystemu Aleph Zero, poprawiając jego żywotność i użyteczność.

Techniczny fundament Aleph Zero Bridges

Bezpieczeństwo i prostota

Projekt MOST koncentruje się na bezpieczeństwie, prostocie i łatwości użytkowania. Wykorzystuje model oparty na strażnikach dla zapewnienia bezpieczeństwa i oferuje prosty interfejs dla użytkowników. Prace rozwojowe były otwarte i skrupulatne, a projekt ma zamiar udostępnić swoje źródło publicznie, zgodnie z zasadami open-source i zapewniając transparentność.

Zarządzanie i kontrola

Zarządzanie w MOST wykorzystuje portfel multisig, pozwalając strażnikom zarządzać operacjami demokratycznie. Ta konfiguracja zapewnia zdecentralizowaną kontrolę, z mechanizmami do aktualizacji kontraktów i zmian w komitecie, zwiększając bezpieczeństwo i elastyczność.

Tutaj możesz śledzić nadchodzące aktualizacje dotyczące Aleph Zero bridges: BLOG

Wpływ na ekosystem

DeFi na Aleph Zero

MOST ułatwia napływ płynności i stablecoinów do Aleph Zero, znacząco zwiększając jego sektor DeFi. Ten most do Ethereum sprzyja innowacji, zaangażowaniu użytkowników i wzrostowi ekosystemu.

MOST i więcej

Integracja z Router Protocol

Partnerstwo Aleph Zero z Router Protocol rozszerza jego łączność z różnymi blockchainami. Współpraca koncentruje się na uproszczeniu operacji międzyłańcuchowych poprzez Framework Cross-chain Intent (CCIP), poszerzając interoperacyjność Aleph Zero.

Aleph Zero Integration with Router Protocol
Aleph Zeri + Router (ŹRÓDŁO: Aleph Zero)

Bridge zParachain do Polkadot

Z wykorzystaniem slotu parachain, bridge zParachain łączy Aleph Zero i Polkadot bez uczynienia Aleph Zero parachainem. To innowacyjne podejście zwiększa komunikację międzyłańcuchową, wzmacniając pozycję interoperacyjności Aleph Zero.

Aleph Zero MOST
ŹRÓDŁO: Aleph Zero

Dlaczego to ma znaczenie

Strategia Aleph Zero bridges podkreśla potrzebę stabilnych, bezpiecznych i wszechstronnych połączeń między blockchainami. Zapewniając szeroką łączność, Aleph Zero toruje drogę do bardziej zintegrowanego ekosystemu blockchain, gdzie bezproblemowa interoperacyjność zwiększa ogólną użyteczność i dostępność technologii zdecentralizowanych.

Przeczytaj koniecznie: "Aleph Zero vs Solana: A Comparative Analysis"

Podsumowanie

Działania Aleph Zero w dziedzinie mostów technologicznych oznaczają krok w kierunku zjednoczonego świata blockchain. Mosty Aleph Zero? Skupiając się na kluczowych obszarach, takich jak bezpieczeństwo, prostota i integracja ekosystemu, Aleph Zero kształtuje przyszłość interoperacyjności blockchain, wspierając innowacje i otwierając nowe możliwości dla sektorów DeFi i dApp.

Jeśli jesteś zainteresowany wykorzystaniem Aleph-Zero lub innych rozwiązań opartych na blockchainie dla swojego projektu, skontaktuj się z contact@nextrope.com

FAQ

1. Jaki jest główny cel mostu MOST w ekosystemie Aleph Zero?

  • MOST został zaprojektowany w celu zwiększenia interoperacyjności Aleph Zero z Ethereum, umożliwiając bezproblemowy transfer aktywów między dwoma platformami.

2. W jaki sposób projekt oparty na strażnikach MOST zwiększa jego bezpieczeństwo?

  • Projekt oparty na strażnikach priorytetowo traktuje bezpieczeństwo i prostotę w transferze aktywów. Strażnicy, którzy są starannie wybierani, nadzorują działanie mostu zarówno na Testnet, jak i na Mainnet.

3. Jakie są główne cechy MOST i jak korzystają z nich użytkownicy?

  • Główne cechy MOST obejmują obniżone opłaty za bridgowanie aktywów, takie jak ETH, stablecoiny i tokeny z Ethereum do Aleph Zero. Ten projekt ma na celu przyciągnięcie płynności do Aleph Zero, poprawiając żywotność i użyteczność jego ekosystemu oraz optymalizując doświadczenie użytkownika.