Čo je oficiálne overenie smart kontraktov?
Domov
Články
Čo je oficiálne overenie smart kontraktov?

Čo je oficiálne overenie smart kontraktov?

Rozšírené
Zverejnené Mar 2, 2023Aktualizované Jul 12, 2023
5m

Tento článok je komunitný príspevok. Autorom je David Tarditi, viceprezident pre inžinierstvo spoločnosti CertiK, ktorá uskutočňuje audity smart kontraktov Web3.

TL;DR

Oficiálne overenie smart kontraktov zabezpečuje, že smart kontrakty neobsahujú chyby, zraniteľnosti ani iné neúmyselné správanie. Jeho súčasťou je ľudský odborník, ktorý poskytne logiku smart kontraktu ako matematické výroky, tie potom prebehne automatizovaným procesom, ktorý porovnáva skutočnú logiku s modelmi očakávaného správania kontraktu. Kombinácia oficiálneho overenia a manuálneho auditu poskytuje komplexné vyhodnotenie bezpečnosti smart kontraktu.

Úvod

Smart kontrakty sú počítačové programy nasadené na blockchaine, ktoré sa spúšťajú automaticky pri splnení určitých podmienok. Ich rozsah môže byť od jednoduchých až po extrémne zložité. Môžu držať aktíva v hodnote miliónov, dokonca miliárd dolárov.  

Bezpečnostné chyby v kóde smart kontraktu môžu mať ničivé následky vrátane krádeže všetkých aktív držaných smart kontraktom. V roku 2021 bolo automatickému tvorcovi trhu (AMM) Uranium Finance ukradnutých 50 miliónov USD kvôli jedinému preklepu v smart kontrakte.

Tiež v roku 2021, spoločnosť Compound Finance rozdala 80 miliónov USD v nezaslúžených odmenách kvôli chybe v jedinom znaku. V roku 2022 bolo z mosta Wormhole Bridge ukradnutých 320 miliónov USD kvôli chybe v jednom z jeho smart kontraktov.

Je dôležité, aby ste smart kontrakt naprogramovali dobre hneď na prvý pokus. Smart kontrakty majú otvorený zdrojový kód. To znamená, že po nasadení zmluvy je kód verejne dostupný. Ak hacker nájde chybu, môže ju okamžite využiť. Okrem toho oprava bezpečnostných zraniteľností neskôr nie je možná, pretože kód smart kontraktu sa zvyčajne po nasadení nedá upravovať.

Ako funguje overovanie smart kontraktov?  

Oficiálne overovanie smart kontraktov funguje tak, že logika a požadované správanie smart kontraktov sa poskytnú ako matematické výroky. Audítori potom pomocou automatizovaných nástrojov skontrolujú, či sú tieto výroky správne.

Súčasťou procesu sú:

  1. Definovanie špecifikácií a požadovaných vlastností kontraktu vo formálnom jazyku.

  2. Prevedenie kódu kontraktu do formálnej reprezentácie, ako napríklad matematické modely alebo logika.

  3. Použitie automatických overovateľov teorém alebo kontrolórov modelov na overenie špecifikácií a vlastností kontraktu.

  4. Zopakovanie procesu overovania s cieľom nájsť a opraviť všetky chyby alebo odchýlky od požadovaných vlastností.

Prečo je overenie smart kontraktu dôležité

Použitie matematického uvažovania pomáha zabezpečiť, aby oficiálne overené smart kontrakty neobsahovali chyby, zraniteľnosti a iné neúmyselné správanie. Pomáha tiež zvýšiť dôveryhodnosť v kontrakt, pretože jeho vlastnosti boli dôsledne preukázané ako správne. 

Nižšie je uvedených niekoľko príkladov toho, ako overovanie smart kontraktov pomohlo predísť významným finančným stratám a iným katastrofálnym výsledkom.  

Uniswap

Uniswap je známy AMM. Keď bol vypracovaný smart kontrakt Uniswap V1, bol oficiálne overený. Pred vydaním oficiálne overenie zistilo a opravilo chyby v zaokrúhľovaní, ktoré mohli viesť k vyčerpaniu prostriedkov Uniswap V1. 

Balancer

Balancer V2 je tiež AMM, ktorý bol oficiálne overený. Oficiálne overenie zistilo a opravilo nesprávny výpočet poplatku zahŕňajúci funkciu pôžičky flash v smart kontrakte, čo mohlo spôsobiť, že burza bude náchylná na krádež.

SafeMoon

SafeMoon V1 obsahoval drobnú chybičku zistenú oficiálnym overením po jeho nasadení. Vlastník sa mohol vzdať vlastníctva kontraktu a potom ho znovu získať za predpokladu uskutočnenia určitých krokov pred zrieknutím sa vlastníctva.

Táto chyba bola opomenutá vo väčšine manuálnych auditov forkov SafeMoon V1, pretože jej zistenie si vyžadovalo analýzu špecifických kombinácií hodnôt programových premenných. Toto je niečo, čo ľudia ľahko prehliadnu, a stroj ľahko zistí.

Ako spoločne fungujú oficiálne overenie a manuálny audit

Oficiálne overenie poskytuje systematický a automatizovaný spôsob kontroly logiky a správania kontraktu v porovnaní s jeho požadovanými vlastnosťami. To uľahčuje identifikáciu a opravu všetkých potenciálnych chýb. Je to užitočné najmä pri hľadaní zložitých a drobných problémov, ktorých odhalenie manuálnou kontrolou môže byť náročné.

Manuálny audit zahŕňa odbornú kontrolu kódu kontraktu, dizajnu a nasadenia. Audítor využíva svoje skúsenosti a odborné znalosti na identifikáciu bezpečnostných rizík a vyhodnotenie celkovej bezpečnostnej kostry kontraktu. Môže tiež potvrdiť, že proces oficiálneho overenia bol vykonaný správne, a skontrolovať prípadné problémy, ktoré sa nedajú zistiť automatickými nástrojmi. 

Kombinácia oficiálneho overenia a manuálneho auditu poskytuje komplexné a dôkladné vyhodnotenie bezpečnosti smart kontraktu. Tým sa zvyšujú šance nájdenia a opravy akýchkoľvek zraniteľností. Výsledkom je hĺbkový prístup k bezpečnosti, ktorý využíva jedinečné schopnosti ľudí aj strojov. 

Záverečné myšlienky

Na zaistenie bezpečnosti smart kontraktov je nevyhnutné používať oficiálne overovanie aj manuálny audit, aby sa zabezpečilo komplexné a dôkladné vyhodnotenie bezpečnostnej kostry smart kontraktu.

Zatiaľ čo oficiálne overenie môže byť náročné na zdroje, je to výhodná investícia pre kontrakty s vysokou hodnotou alebo vysokorizikovými faktormi. V konečnom dôsledku je dôležité uprednostniť bezpečnosť a zabezpečiť, aby smart kontrakty neobsahovali chyby, zraniteľnosti a neúmyselné správanie.

Prečítajte si tiež

Zrieknutie sa zodpovednosti a varovanie pred rizikom: Tento obsah tu vidíte „taký aký je“ a slúži len ako všeobecná informácia a na účely vzdelávania, bez akejkoľvek reprezentácie alebo záruky. Tieto informácie by ste nemali považovať za finančné poradenstvo a ani nie sú určené ako odporúčanie na nákup akéhokoľvek konkrétneho produktu alebo služby. Ceny digitálnych aktív môžu byť volatilné. Hodnota vašej investície môže poklesnúť alebo narásť a investovaná suma sa vám nemusí vrátiť. Za svoje investičné rozhodnutia nesiete výhradnú zodpovednosť a  Akadémia Binance nezodpovedá za žiadne straty, ktoré vám môžu vzniknúť. Tento materiál sa nemá považovať za finančné poradenstvo.