Powrót

3. Poziom zaawansowany

Ukończono: 0%
Kroki: 0/0
  1. 1. Co to jest Taproot?
  2. 2. Mosty blockchain – co to jest?
  3. 3. Czym jest Ethereum Plasma?
  4. 4. Co to jest Ethereum Casper?
  5. 5. Co to jest dowód Zk-SNARK i Zk-STARK
  6. 6. Co to jest Selfish Minning?
  7. 7. Czym jest spoofing na rynku kryptowalut?
  8. 8. Podpisy Schnorra - co to jest?
  9. 9. MimbleWimble
  10. 10. Cyfrowe prawo własności
  11. 11. Czym są ETFy?
  12. 12. Jak sprawdzić projekt kryptowalutowy – czyli tokenomia kryptowalut
  13. 13. Czym jest atak 51% na blockchain?
  14. 14. Czym jest i jak działa DAO? 
  15. 15. Zero-Knowledge Proof- protokół, który szanuje prywatność
  16. 16. Co to jest EOSREX?
  17. 17. Co to jest Proof of Elapsed Time- dowód upływającego czasu (PoET)?
  18. 18. Mirror Protocol – co to jest?
  19. 19. Aktywa syntetyczne
  20. 20. Jak stworzyć własny NFT?
  21. 21. Czym są likwidacje DeFI?
  22. 22. Nowy system tożsamości - Polygon ID
  23. 23. Fundacja Ethereum i protokół Scroll - czym są?
  24. 24. Czym jest bizantyjska tolerancja błędów?
  25. 25. Czym jest skalowalność technologii blockchain?
  26. 26. Interchain Security- nowy protokół Cosmos (Atom)
  27. 27. Coin Mixing vs. Coin Join - definicja, możliwości i zagrożenia
  28. 28. Czym jest Ethereum Virtual Machine MEV?
  29. 29. Co to są tokeny SoulBound SBD?
  30. 30. Co to jest Lido?
  31. 31. Czym są Threshold Signatures i jak działają?
  32. 32. Technologia blockchain i cyberataki
  33. 33. Skrypt Bitcoina - czym jest i co powinieneś wiedzieć na ten temat
  34. 34. Czym jest zkEVM i jakie są jego podstawowe cechy?
  35. 35. Czy poufne transakcje na blockchainie istnieją? Co to jest Confidential Transaction?
  36. 36. Algorytmiczne stablecoiny – wszystko, co powinieneś o nich wiedzieć
  37. 37. Polygon Zk Rollups - co powinieneś wiedzieć na jego temat?
  38. 38. Co to jest Infura Web3?
  39. 39. Mantle – skalowalność Ethereum L2 – jak działa?
  40. 40. Czym jest NEAR Rainbow Bridge?
  41. 41. Liquid Staking Ethereum i tokeny LSD. Co musisz wiedzieć na ten temat?
  42. 42. 10 najlepszych blockchainowych wyroczni. Jak działają? Czym się różnią?
  43. 43. Czym jest Web3.js i Ether.js? Jakie są między nimi podstawowe różnice?
  44. 44. Czym jest StarkWare i rekurencyjne dowody ważności
  45. 45. Quant Network: Skalowalność przyszłości
  46. 46. Polygon zkEVM - wszystko, co powinieneś wiedzieć
  47. 47. Co to jest Optimism (OP) i jak działają jego rollupy?
  48. 48. Czym są węzły RPC node i jak działają?
  49. 49. SEI Network: wszystko, co musisz wiedzieć o rozwiązaniu warstwy 1 dla DeFi
  50. 50. Rodzaje mechanizmów konsensusu Proof-of-Stake: DPoS, LPoS oraz BPoS
  51. 51. Bedrock: krzywa epileptyczna, która zapewnia bezpieczeństwo!
  52. 52. Czym jest Tendermint i jak działa?
  53. 53. Pantos: jak rozwiązać problem transferu tokenów miedzy blockchainami?
  54. 54. Czym jest szyfrowanie asymetryczne?
  55. 55. Funkcja Base-58 w kryptowalutach
  56. 56. Czym jest i jak działa protokół Nostr?
  57. 57. Czym jest i jak działa most XDAI Bridge?
  58. 58. Porównanie Solidity i Rust: Wybór języka programowania w ekosystemie blockchain.
  59. 59. Czym jest Real-Time Operating System (RTOS)?
  60. 60. Czym jest i jak działa Rinkeby Testnet Ethereum?
  61. 61. Czym jest szyfrowanie probabilistyczne?
  62. 62. Czym jest Pinata w Web 3? Wyjaśniamy!
  63. 63. Czym jest EIP-4337? Czy Ethereum Account Abstraction zmieni Web3 na zawsze?
  64. 64. Czym są audyty inteligentnych kontraktów? Jakie firmy się nim zajmują?
  65. 65. Jak działa portfel AirGapped?
  66. 66. Czym jest proto-danksharding (EIP-4844) na Ethereum?
  67. 67. Czym jest i jak działa zdecentralizowana pamięć masowa?
  68. 68. Jak odzyskać kryptowaluty wysłane na niewłaściwy adres lub sieć? Praktyczny poradnik!
  69. 69. Portfel MPC i Obliczenia Wielostronne: Innowacyjna technologia dla prywatności i bezpieczeństwa.
  70. 70. Podpis progowy w kryptografii: zaawansowana technika podpisywania!
  71. 71. Adres Vanity w kryptowalutach: czym jest i jaka jest jego charakterystyka?
  72. 72. Atak Ponownego Wejścia (Reentrancy Attack) na inteligentnych kontraktach: zagrożenie dla bezpieczeństwa blockchain!
  73. 73. Slither: statyczny analizator dla smart kontraktów!
  74. 74. Sandwich Attack w DeFi: wyjaśnienie i zagrożenia!
  75. 75. Blockchain RPC dla Web3: Kluczowa technologia w świecie zdecentralizowanych finansów!
  76. 76. Re-staking: Korzyści z ponownego delegowania środków w stakingu!
  77. 77. Base: Ewolucja transakcji kryptowalutowych dzięki rozwiązaniu warstwy 2 od Coinbase
  78. 78. IPFS: Nowa era zdecentralizowanego przechowywania danych
Lekcja 64 z 78

64. Czym są audyty inteligentnych kontraktów? Jakie firmy się nim zajmują?

Audyty to szczegółowe analizy kodu inteligentnych kontraktów, których celem jest identyfikacja zagrożeń bezpieczeństwa oraz potencjalnych błędów w kodowaniu. Ponadto, audyt ma na celu znalezienie sposobów rozwiązania problemów, które mogą pojawić się w danym kontrakcie.

Audyt inteligentnych kontraktów stanowi istotny element w sektorze kryptowalut, gwarantujący bezpieczeństwo aplikacji opartych na technologii blockchain. Jak dokładnie przeprowadza się tego typu audyt? Oto szczegóły!

Audyt smart kontraktu – na czym polega?

To szczegółowa analiza kodu danego kontraktu, która ma na celu identyfikację potencjalnych błędów i niedociągnięć. Jej zadaniem jest również znalezienie nieprawidłowego i nieefektywnego kodowania oraz opracowanie sposobów rozwiązania tych problemów.

W inteligentnych kontraktach brak miejsca na błędy, ponieważ działają one zgodnie z zapisanym w nich kodem. Po wdrożeniu inteligentnego kontraktu do sieci blockchain nie ma możliwości dokonania jego naprawy czy zmiany. Dlatego tak istotne są audyty, które zapewniają, że kod jest bezpieczny i wolny od awarii.

Audyty inteligentnych kontraktów – co zapewniają?

Mimo że technologia blockchain jest bezpieczna, same aplikacje mogą posiadać luki w zabezpieczeniach. Koszt stworzenia i wdrożenia inteligentnego kontraktu waha się od około 7 000 do 45 000 USD. W przypadku kontraktu przeznaczonego dla dużej organizacji, koszt może nawet wynosić 100 000 USD!

Jak przeprowadzić audyt takiego kontraktu? Metodologia obejmuje analizę każdej linijki kodu. Audyt zapewnia, że blockchain jest niezawodny i może obsługiwać inteligentne kontrakty, co daje inwestorom i klientom pewność, że ich aktywa są bezpieczne i kontrakty będą działać zgodnie z oczekiwaniami.

W przypadku aplikacji blockchain, konieczne są kody wolne od błędów. Dzięki szczegółowemu raportowi audytu możemy mieć pewność, że inteligentny kontrakt jest solidny, a aplikacja gotowa do użycia.

Jak działa taki audyt i jaka dokumentacja jest do niego potrzebna?

Z naszych poprzednich lekcji wiemy, że inteligentny kontrakt może składać się z tysięcy linii kodu, co czasami może prowadzić do zgubienia nawet oczywistych kwestii. Narzędzia testujące oraz audytorzy muszą wykryć takie błędy i potencjalne luki w danym kodzie.

Pierwszym krokiem dobrego audytu jest zebranie całej istotnej dokumentacji, takiej jak biała księga, baza kodu i inne materiały związane z inteligentnym kontraktem. Na tym etapie audytor może już wyodrębnić pierwsze błędy, jeśli takie się pojawią. Bez dostępu do takiej dokumentacji audytorzy nie będą w stanie zrozumieć, do czego służy dany kontrakt i nie będą mogli ocenić, czy kod działa zgodnie z jego przeznaczeniem.

Kolejnym krokiem jest określenie zamrożenia kodu, co oznacza, że po zebraniu dokumentacji nie będzie już wprowadzany nowy kod, a audyt będzie obejmował tylko istniejący kod.

Następnie przeprowadza się testowanie treści, w którym uruchamia się automatyczne testy za pomocą różnorodnych narzędzi, takich jak testy integracyjne, testy jednostkowe i testy penetracyjne. Po zakończeniu testów automatycznych audytor przechodzi do testów manualnych, czyli ręcznego przeglądania kodu, który pozwala na identyfikację problemów pomijanych przez testy automatyczne.

Kolejnym etapem audytu jest rozwiązywanie problemów, gdzie audytor współpracuje z zespołem programistów w celu naprawy wykrytych błędów. Pomimo że proces może być długi i mozolny, jego efektem będzie sukces projektu, gdyż każdy wykryty problem po rozwiązaniu zapewni, że inteligentne kontrakty są gotowe do wdrożenia.

Na zakończenie audytu audytor przedstawia raport zawierający wszystkie kluczowe ustawienia i wyniki audytu, który stanowi cenne źródło informacji dla osób zaangażowanych w tworzenie aplikacji.

Jak długo trwa taki audyt?

Czas potrzebny na przeprowadzenie audytu inteligentnego kontraktu zależy głównie od jego rozmiaru i złożoności. Krótkie kody mogą być zrewidowane w ciągu kilku dni, podczas gdy większe aplikacje wymagają znacznie więcej czasu. Jednakże, niezależnie od tego, audyt gwarantuje bezpieczeństwo i sukces aplikacji blockchain.

Popularne narzędzia wykorzystywane do audytu inteligentnych kontraktów obejmują:

  • Echidna – program przeznaczony do testowania inteligentnych kontraktów Ethereum.
  • Ethlint – narzędzie do analizy kodu Solidity.
  • Mythril – oprogramowanie do analizy bezpieczeństwa kodu bajtowego EVM.
  • MythX – narzędzie automatycznie wyszukujące luki bezpieczeństwa.
  • Rattle – framework do analizy statycznej EVM.
  • Solgraph – narzędzie do wykrywania potencjalnych luk w zabezpieczeniach.
  • Scribble – narzędzie tłumaczące specyfikacje wysokiego poziomu kodu Solidity.

Najlepsze firmy specjalizujące się w audytach inteligentnych kontraktów to:

  • CertiK
  • Hacken
  • ConsenSys Diligence
  • OpenZeppelin
  • Certora
  • Quantstamp
  • ChainSecurity
  • PeckShield
  • Trail of Bits

Podsumowanie

Proces audytu gwarantuje, że aplikacje i protokoły są wolne od błędów. W przypadku projektów kryptowalutowych audyt ma kluczowe znaczenie, ponieważ potwierdza, że ich aplikacje są bezpieczne dla użytkowników, a inteligentne kontrakty mogą zostać wdrożone z zaufaniem.

Uzupełnij dzisiejszą lekcję!

  1. Co to jest smart kontrakt? [POZIOM PODSTAWOWY]
  2. Czy blockchain jest bezpieczny? [POZIOM PODSTAWOWY]