Какво е одит на сигурността на смарт договора?
Начало
Статии
Какво е одит на сигурността на смарт договора?

Какво е одит на сигурността на смарт договора?

Напреднал
Публикувано Mar 1, 2022Актуализирано Apr 27, 2023
8m

Резюме

Одитът на сигурността на интелигентния договор предоставя подробен анализ на интелигентните договори на проекта. Те са важни за защита на средствата, инвестирани чрез тях. Тъй като всички трансакции в блокчейна са окончателни, средствата не могат да бъдат извлечени, ако бъдат откраднати. Обикновено одиторите ще проучат кода на интелигентните договори, ще изготвят доклад и ще го предоставят на проекта, с който да работят. След това се публикува окончателен доклад, в който се описват всички неотстранени грешки и вече извършената работа за справяне с проблемите с производителността или сигурността.


Въведение

Одитите на сигурността на интелигентните договори са много често срещани в екосистемата на децентрализираните финанси (DeFi). Ако сте инвестирали в блокчейн проект, вашето решение може да се основава отчасти на резултатите от преглед на кода на интелигентен договор.

Въпреки че повечето хора разбират важността на одитите за киберсигурността, не много се потапят в редовете на кода. Нека да разгледаме методите, инструментите и резултатите, които обикновено се наблюдават при одитите на сигурността на интелигентните договори, за да можете да вземате по-информирани решения.


Какво е одит на интелигентен договор?

Одитът на сигурността на интелигентен договор разглежда и коментира кода на интелигентен договор на проекта. Обикновено тези договори са написани на език за програмиране Solidity и се предоставят чрез GitHub. Одитите на сигурността са особено ценни за проекти на DeFi, които очакват да обработват блокчейн трансакции на стойност милиони долари или огромно количество играчи. Одитите обикновено следват процес от четири стъпки:

1. Интелигентните договори се предоставят на одиторския екип за първоначален анализ.

2. Одитният екип представя своите констатации на проекта, за да може той да предприеме действия.

3. Екипът на проекта прави промени въз основа на откритите проблеми.

4. Екипът за одит публикува своя окончателен доклад, като отчита всички нови промени или непоправени грешки.

За много потребители на криптовалути одитите на интелигентни договори са от съществено значение, когато инвестират в нови проекти на DeFi. Това се превърна в стандарт за проекти, които искат да бъдат взети сериозно. Някои доставчици на одит също се разглеждат като лидери в индустрията, което прави одитите им по-ценни в очите на инвеститорите.


Защо се нуждаем от одити на интелигентните договори?

При огромните количества стойност, влезли в трансакции или заключени в интелигентни договори, те се превръщат в привлекателни цели за злонамерени атаки от хакери. Незначителни грешки в кодирането могат да доведат до кражба на огромни суми пари. Например, DAO хакването на блокчейна на Ethereum отне ETH на стойност приблизително 60 милиона долара и дори доведе до твърдо разклонение на мрежата Ethereum.

Тъй като трансакциите с блокчейн са необратими, е важно да се уверите, че кодът на проекта е защитен. Силно защитената природа на блокчейн технологията затруднява извличането на средства и решаването на проблеми след факта, така че е по-добре да се предотвратят уязвимостите на всяка цена.


Как работят одитите на интелигентите договори?

Процесът на одит на интелигентен договор е доста стандартен сред доставчиците на одит. Въпреки че подходът на всеки одитор може да се различава леко, типичният процес е както следва:

1. Определяне на обхвата на одита. Интелигентният договор и спецификациите на проекта се определят от проекта (предназначението им) и цялостната архитектура. Спецификацията помага на одиторския екип да разбере целите на проекта, когато пише и използва кода.

2. Предоставяне на първоначална оферта въз основа на необходимото количество работа.

3. Изпълняване на тестове. Точният им характер ще се промени в зависимост от одиторския екип, неговите инструменти за анализ и неговите методи. Обикновено се извършват както ръчни, така и автоматизирани тестове.

4. Създаване на първи проект на отчета с открити грешки и го предоставете на екипа по проекта за обратна връзка и последващи поправки.

5. Публикуване на окончателния доклад, като се вземат предвид всички действия, предприети от екипа за справяне с повдигнатите проблеми.


Методи за одит на интелигентни договори

Ефективност на газа 

Одитите на интелигентни договори не се фокусират само върху сигурността на блокчейна. Те също така разглеждат ефективността и оптимизацията. Някои договори правят сложна серия от трансакции, за да изпълнят предвидената им функция. Тъй като таксите за газ в мрежи като Ethereum са относително скъпи, ефективните договори могат да спестят много от трансакционни разходи.

Оптимизирането на тяхната ефективност също е индикатор за уменията на разработчика. Неефективните стъпки осигуряват повече точки за неуспех и трябва да се избягват. Когато разходите за газ са високи, интелигентните договори може да не успеят да се изпълнят, още повече, когато се използва нисък лимит за газ.

Уязвимости в договора

По-голямата част от работата по одитите включва проверка на договорите за уязвимости в сигурността. Въпреки че някои проблеми могат да бъдат лесно забележими, много възползвания от уязвимости включват усъвършенствани техники и стратегии за източване на средства. Например, манипулирането на пазара може да се използва със слаби интелигентни договори за провеждане на атаки с бързи заеми. За да открият тези проблеми, одиторите започват процеса на тестване на прекъсване и симулират злонамерени атаки върху интелигентния договор. Честите уязвимости включват:

1. Проблеми с повторното влизане: Когато интелигентен договор прави външно извикване към друг външен договор, преди да бъдат разрешени каквито и да било ефекти. След това външният договор може рекурсивно да извика оригиналния интелигентен договор и да взаимодейства с него по начини, по които не би трябвало да може, тъй като балансът на оригиналния договор все още не е актуализиран.

2. Препълване и недостатъчност на стойностите: Когато интелигентен договор извършва аритметична операция, но изходът надвишава капацитета за съхранение (обикновено 18 знака след десетичната запетая). Това може да доведе до неправилно изчисляване на сумите.

3. Възможности за изпреварване: Лошо структуриран код може да предупреди за пазарни покупки или продажби. Това от своя страна може да позволи на други да използват информацията и да търгуват с нея в своя собствена полза.

Пропуски в сигурността на платформата

Повечето одити включват разглеждане на мрежата, в която се хостват договорите, и дори API, използван за взаимодействие с DApp. Един проект може да е уязвим към DDoS атака или да има компрометиран потребителски интерфейс на уебсайта, което означава, че потребителите всъщност ще свържат портфейлите си със злонамерени блокчейн приложения.


Какво е одиторски доклад?

Одиторският доклад се предоставя в края на одитния процес. За прозрачност се очаква проектите да споделят своите констатации с общността. Повечето доклади категоризират проблемите по сериозност, като критични, големи, незначителни и т.н. Докладът също така ще изброява състоянието на проблема, тъй като на проектите се дава време да ги разрешат преди пускането на окончателния доклад.

Заедно с резюмето, стандартният доклад ще съдържа препоръки, примери за излишен код и пълна разбивка на местата, където съществуват грешки в кодирането. Дава се време на проекта да действа въз основа на констатациите на доклада, преди да бъде пусната окончателната версия.


Къде мога да получа одит на интелигентен договор?

Редица услуги за одит на смарт договори станаха добре известни със своите услуги. Две са особено популярни и получаването на одит от тях ще изисква първоначална оферта и предаване на информация.

CertiK

CertiK е лидер в отрасъла, когато става въпрос за одити на интелигентни договори. Стотици проекти са одитирали интелигентните си договори с тях. PancakeSwap, най-големият автоматизиран маркет мейкър (AMM) на BSC, е един пример. По-долу е даден раздел от одита на Certik за PancakeSwap.


Също така, по-голямата част от проектите, поддържани от Binance Labs, са одитирали договорите си със CertiK. CertiK пуска класация на одитирани проекти, която ви позволява да сравните всеки един, заедно с оценка за безопасност. Имайте предвид, че освен Ethereum, CertiK покрива и проекти на BSC и Polygon.


ConsenSys Diligence

Управляван от Джоузеф Лубин, съосновател на Ethereum, ConsenSys е едно от най-големите имена на индустрията за криптовалути в развитието на блокчейна. Под ConsenSys Diligence компанията предлага одити на смарт договори на Ethereum. Те също така предоставят автоматизирана услуга, която проверява договорите за виртуална машина на Ethereum (EVM) за често срещани грешки.


Колко струва одитът на интелигентен договор?

Точната цена на одита зависи от броя на интелигентните договори, които трябва да бъдат проверени. Обикновено одитът ще струва хиляди долари. Конкретен голям проект може лесно да струва над 10 000 долара. Одиторската компания, която извършва вашия одит, и нейната репутация също ще повлияят на това колко плащате.


Заключителни мисли

За щастие на инвеститорите и потребителите, одитите на интелигентни договори се превърнаха в златен стандарт. Въпреки това, когато всеки проект има такъв, това вече не е лесен индикатор за стойност. Ето защо е изключително важно сами да прочетете одита. Дори и да нямате технически познания, е полезно да разгледате коментарите и сериозността на потенциалните проблеми.

Когато попаднете на одит, сега поне трябва да имате по-лесно разбиране на съдържанието му. Както винаги, уверете се, че всяко инвестиционно решение разглежда цялата картина и взема предвид цялата информация.