CertiK (CTK)  — аудит смарт-контрактов

Платформа CertiK - это комплексное решение безопасности для блокчейна. Используя Security Oracle, CertiKShield и DeepSEA, мы можем обеспечить безопасность блокчейна на протяжении всего жизненного цикла, от разработки до пост-развертывания.

Проблема

В июне 2016 года сеть Ethereum потрясла злонамеренная атака, последствия которой ощущаются и сегодня. DAO (Децентрализованная автономная организация), которая провела одно из первых ICO, стала жертвой взлома из-за недостатка в смарт-контракте, на котором он был написан.

Хакеру удалось потратить 3,6 млн ETH , что составляет около 1,2 млрд долларов по состоянию на сентябрь 2020 года. Три месяца спустя DAO фактически прекратил свое существование.

Однако на этом история Ethereum не закончилась (вы ведь читаете это, верно?). Произошел хард-форк, к большому разочарованию многих крипто-пуристов, и средства вернулись.

Горячий факт: вышеупомянутый хард-форк является причиной того, что Ethereum (ETH) и Ethereum Classic (ETC) существуют в унисон.

Недавний бум DeFi привел к рождению YAM Finance, протокола DeFi и соответствующего токена (YAM), стоимость которого упала на 99% со 100 до ~ 1 доллара из-за недостатка в смарт-контракте, лежащем в основе протокола. Ошибка в неаудированном смарт-контракте помешала консенсусу сообщества (среди прочего) в отношении управления, и, как следствие, не было возможности проголосовать за исправление проблемы.

Выше приведены лишь некоторые из взломов, которые произошли в 2020 году из-за недостатков в их смарт-контракте.

Защита криптопространства похожа на игру «Копы и грабители» - по мере того, как разработчики начинают понимать, как защитить себя от известных атак, грабители продолжают пытаться найти разные способы украсть добычу.

Здесь на помощь приходит CertiK

CertiK Security Oracle

Оракул: «Человек или предмет, считающийся непогрешимым авторитетом в чем-либо».

Оракулы используются в блокчейне для отправки внешних (вне сети) данных в смарт-контракты и из них.

CertiK Security Oracle получает набор оценок безопасности от децентрализованной сети операторов безопасности, которые оценивают надежность исходного кода и получают вознаграждение в CTK, собственном цифровом топливе CertiK Chain. Oracle Security передает эти оценки и объединяет их для создания в реальном времени совокупной оценки в цепочке, которую может использовать любой, кто хочет проверить безопасность контракта.

В зависимости от допустимости риска взаимодействующей стороны - будь то пользователь или другой смарт-контракт - оценка безопасности может дать представление о том, должны ли размеры транзакции быть меньше, разделены на части или даже остановлены полностью.

Мы можем увидеть это в действии ниже:

Security Oracle получил низкий балл безопасности, и проверка безопасности спасла пользователя от потери своих активов в этой опасной транзакции.

Безопасность Oracle непрерывно объединяет оценки безопасности смарт-контракта в оценку в цепочке - проекты могут проверять свой код гибким образом, чтобы соответствовать жестким срокам. При использовании децентрализованной группы операторов безопасности набор примитивов безопасности постоянно растет. Могут быть созданы новые статические анализаторы и инструменты безопасности, и их оценки также будут включены в постоянно обновляемую оценку Security Oracle.

Как это работает?

Допустим, вы собираетесь совершить транзакцию, но не уверены, насколько она «безопасна». Вы решили использовать CertiK Security Oracle, чтобы помочь вам в следующих шагах.

Вы подключаетесь к интерфейсу Security Oracle в своей собственной бизнес-цепочке (например, Ethereum) и делаете запрос о предстоящей транзакции.

Примечание. Запрос принимает два параметра: адрес контракта и смещение подписи функции.

Как только Security Oracle получает ваш запрос, он отвечает, сообщая, если такая запись данных уже отслеживалась и регистрировалась.

Если ответ положительный, Oracle Security предоставит вам оценку безопасности в реальном времени (в диапазоне от 0 до 100), агрегированную и обработанную CertiK Chain с ее самоопределяемым порогом безопасности.

Если вы отправили запрос, и Oracle Security Oracle не обнаружил доступной исторической информации, он ответит с оценкой по умолчанию, указывающей на отсутствие предложений в данный момент, и вам рекомендуется вернуться позже для получения обновлений.

Пока вы ждете, этот запрос транслируется в CertiK Chain как новую задачу для выполнения операторами Oracle с выбранными примитивами и применяемыми определенными принципами комбинирования.

Когда вы вернетесь и снова проверите, Оракул безопасности выдаст вам нужный результат.

Что дает CertiK Security Oracle Insights?

CertiK Security Oracle предоставляет в реальном времени информацию о безопасности в цепочке для смарт-контрактов, которая позволяет пользователям оценивать любой потенциальный риск до взаимодействия с протоколом, сводя к минимуму вероятность того, что небезопасные смарт-контракты будут использоваться базой пользователей. Сегодня мы проливаем свет на QuickScan, новый уникальный инструмент, который CertiK использует для оценки безопасности смарт-контрактов и повышения надежности и достоверности аналитических данных Oracle по безопасности.

Что такое QuickScan?

QuickScan - это новый набор инструментов безопасности, который использует технологии автоматического сканирования для проверки развернутых смарт-контрактов на предмет наличия широкого спектра известных уязвимостей в любом масштабе. Небольшой, но мощный инструмент дает очень точные оценки безопасности смарт-контрактов, которые указывают на потенциальный риск взлома и сбоев кода. В зависимости от сложности, с помощью QuickScan, по оценкам, для выполнения анализа смарт-контракта потребуется 40–60 минут.

Как это работает?

Оценка безопасности CertiK QuickScan состоит из комбинации статических и динамических технологий, которые мы называем примитивами безопасности. Примитивы безопасности похожи на конечные точки службы безопасности, но используются для сканирования смарт-контрактов. Каждый примитив безопасности оценивает конкретную область безопасности по смарт-контракту и присваивает агрегированный балл безопасности от 0 до 100.

Пять примитивов QuickScan

В настоящее время существует пять примитивов безопасности QuickScan из двух категорий (статические примитивы и динамические примитивы), как указано ниже. Мы активно интегрируем новые примитивы безопасности в QuickScan.

Белый список примитивов | Динамический

  • Баллы основаны на сертификатах, выданных в сети CertiK.
  • Чем больше сертификатов у смарт-контракта, тем выше оценка
  • Примеры сертификатов включают: аудит, проверку исходного кода, проверку компилятора.

Черный список примитивов | Динамический

  • Баллы основаны на внутренних системах мониторинга безопасности CertiK.
  • Используемые технологии включают: мониторинг социальных сетей в Twitter / Telegram, базы данных по борьбе с отмыванием денег, обнаружение аномальных транзакций.

Примитив качества | Динамический

  • Оценки основаны на качественных аспектах смарт-контракта.
  • Ручная работа вовлекается и часто обновляется
  • Критерии включают: открытый исходный код, активность пользователей, документация, анонимность команды.

Примитив анализа байт-кода | Статический

  • Оценки основаны на инструментах статического анализа, обнаруживающих ошибки в байт-коде.
  • Более низкий балл означает, что было обнаружено больше слабых мест

Примитив анализа исходного кода | Статический

  • Оценки основаны на инструментах статического анализа, обнаруживающих ошибки в исходном коде.
  • Более низкий балл означает, что было обнаружено больше слабых мест
  • Используемые технологии: формальная верификация, фаззинг-тесты.

В зависимости от сложности на выполнение QuickScan уходит примерно 40–60 минут, поскольку внутренние примитивы интенсивно вычисляют в режиме реального времени.

Окончательная оценка, рассчитанная каждым примитивом безопасности, будет агрегирована и взвешена для получения результата в форме окончательной оценки безопасности.

Например, смарт-контракт A проходит через QuickScan, и каждый примитив возвращает следующие оценки: Белый список: 100; Черный список: 100; Качество: 70; Байт-код: 85; Исходный код: 80. QuickScan тогда вернет оценку безопасности (100 + 100 + 70 + 85 + 80) / 5 = 87;

Смарт-контракт B также проходит через QuickScan, и каждый примитив возвращает следующие оценки: Белый список: 70; Черный список: 100; Качество: 100; Байт-код: 85; Исходный код: 80. QuickScan тогда вернет оценку безопасности: (70 + 100 + 100 + 85 + 80) / 5 = 87. Хотя два смарт-контракта имеют одинаковую итоговую оценку 87, их оценки безопасности по-прежнему отличаются друг от друга в зависимости от каждого примитива. Следовательно, пользователи могут принимать разные решения в зависимости от сценариев, с которыми они сталкиваются.

Отказ от ответственности:

Хотя QuickScan можно использовать как автоматизированный набор инструментов, он не может заменить формальный полный аудит. Эксперты по безопасности играют решающую роль в анализе сложной бизнес-логики и неизвестных уязвимостей, характерных для каждой организации.

QuickScan - это запатентованная услуга CertiK, предлагаемая исключительно существующим и потенциальным клиентам. Для получения дополнительной информации просто заполните форму, и наша команда свяжется с вами в ближайшее время.

Security Oracle

Децентрализованная безопасность CertiK Oracle построена на CertiK Chain. С миссией стать хранителем галактики блокчейнов, CertiK Chain объединяет смарт-контракты в цепочке, компоненты кросс-цепочки и предложения безопасности вне цепочки, сохраняя при этом все характеристики децентрализованной цепочки блоков:

  • Децентрализация: эти участвующие узлы управляют одноранговой сетью оракулов и выбирают свои собственные стратегии обработки запросов безопасности.
  • Безопасность: CertiK Chain - это сеть блокчейнов, в основе которой лежит безопасность, а ее модульные компоненты тщательно разработаны с учетом гарантий безопасности.
  • Неизменяемость: все операции Oracle, выполняемые операторами Oracle, транслируются в CertiK Chain и записываются в местных штатах и ​​распределенных реестрах.
  • Консенсус: CertiK Chain использует Delegated Proof-of-Stake (DPoS) в качестве модели консенсуса, и есть такие модули, как ставки и слэшинг, чтобы гарантировать серьезность и профессионализм операторов Oracle.
  • Прозрачность: все результаты Oracle, опубликованные в Business Chain, отслеживаются с помощью хэшей транзакций CertiK Chain. Проекты DeFi могут запрашивать состояния CertiK Chain или истории транзакций для доступа к подробной записанной информации.

Какое значение имеет CTK?

CTK - это собственный токен в CertiK Chain, и предлагаемое нами решение использует CTK для поддержания нормальной работы сети Oracle.

Учитывая тот факт, что CertiK Foundation будет сотрудничать с пионерами отрасли, чтобы спонсировать CTK и поддерживать пул целевых смарт-контрактов для мониторинга их статуса безопасности в реальном времени, конечные пользователи, такие как смарт-контракты DeFi, могут пользоваться преимуществами получения информации о безопасности в реальном времени без плата.

Между тем, для данных, которых еще нет в Security Oracle, пользователи могут просто создать задачу Oracle, финансируемую из CTK, и транслировать ее в CertiK Chain. Операторы Oracle будут вознаграждены сборами, собранными в CTK, чтобы оценить их услуги по работе сети Oracle.
За каждую задачу оракула, отправленную в CertiK Chain, плата определяется отправителем задачи, и каждый оператор может выбрать, выполнять задание или нет.

Примечание команды CertiK…

Решение CertiK Security Oracle создано для решения проблем с безопасностью путем устранения разрыва между транзакциями в цепочке и проверками безопасности в реальном времени с помощью децентрализованных подходов.

Приняв решение CertiK Security Oracle, проекты DeFi будут защищены дополнительными гарантиями безопасности при каждом потенциальном шаге по снижению факторов риска. Мы считаем, что CertiK Chain с ее децентрализованными оракулами безопасности станет незаменимым компонентом постоянно растущей блокчейна и экосистемы DeFi.

CertiKShield

Chainalysis, компания по мониторингу и анализу цепочек блоков, недавно опубликовала блог, в котором подчеркивается, что в настоящее время более 3,7 млн ​​BTC (~ 39,4 млрд долларов США по состоянию на сентябрь 2020 г.) были потеряны и, как таковые, полностью вышли из обращения.

  • 1,7 млрд долларов в 2018 г.
  • 4,0 млрд долларов в 2019 г.
  • 1,4 млрд долларов только за первые 5 месяцев 2020 года

Указанные выше цифры представляют собой примерную сумму криптовалюты, которая была украдена злоумышленниками в 2018–2020 годах. Это в общей сложности 7,1 миллиарда долларов.

Из-за псевдоанонимной, неизменной природы блокчейнов и криптоактивов, на которых они работают, подавляющее большинство пользователей, которые теряют свои средства - будь то взлом или потерянный закрытый ключ - никогда не восстанавливают свои активы.

CertiKShield исправляет это.

Пул CertiKShield - это децентрализованный пул CTK, который используется для возмещения потерянных, украденных или недоступных активов из любой цепочки блоков. Утерянную сумму могут возместить участники пула CertiKShield.

Итак, как это работает?

Система CertiKShield состоит из двух частей: 1) участники, которые заполняют пул CTK в качестве залога, который будет использоваться для возмещения утвержденных предложений по претензиям, и 2) участники, которые стремятся защитить свои криптоактивы, резервируя часть пула CertiKShield.

Начнем с участников, которые заполняют Пул. Как и поставщики ликвидности в DeFi, эти участники ставят свои CTK. Помимо обычных вознаграждений за стейкинг, эти участники также получают часть комиссий, уплачиваемых другими участниками, которые резервируют часть пула для защиты своих криптоактивов. Эти участники, которые заполняют пул, должны осознавать риски, связанные с тем, что они являются поставщиками ликвидности: их ставка CTK может использоваться для выплаты утвержденных требований о возмещении. Высокий риск, высокая награда.

Теперь поговорим об участниках, которые стремятся защитить свои криптоактивы. Каждый пул CertiKShield предназначен для защиты пользователей определенного криптоактива (например, BNB). Если вы являетесь владельцем BNB, может быть разумным стать участником пула CertiKShield-BNB, где вы можете зарезервировать часть средств для запроса возмещения, если ваш BNB будет потерян или украден. Вы будете платить комиссию, и, как уже упоминалось, она будет поступать непосредственно участникам, которые объединили свои собственные CTK в качестве поставщиков ликвидности.

Право на возмещение определяется доказуемой и безвозвратной потерей криптоактивов - это может быть взлом, неисправный контракт или другое неблагоприятное событие, но потери от социальной инженерии (обмен SIM-карты, мошенничество в Telegram / Twitter и т. Д.) Или неуместная закрытый ключ неприемлем, потому что доказательство законной потери, в отличие от скоординированной «потери», не является абсолютным.

Участники, обращающиеся за возмещением, должны подать предложения по претензиям, которые голосуются децентрализованной группой членов CertiKShield для утверждения или отклонения претензии. Все заявки требуют комиссии, что защищает систему от незаконных претензий и несанкционированного использования.

Мир блокчейнов наполнен первопроходцами и долгосрочными держателями, поэтому CertiKShield предлагает более безопасный способ защитить ваши криптоактивы от любых неожиданных потерь.

Сеть CertiK

CertiK Chain - это инфраструктура доказанного доверия для всех заинтересованных сторон в мире блокчейнов. CertiK Chain, разработанная с нуля с учетом безопасности блокчейнов, представляет собой блокчейн с подтверждением доли владения (PoS), в котором приоритет отдается безопасности и совместимости между блокчейнами.

Кроме того, цепочка является интероперабельной, то есть ее можно использовать в сочетании с существующими цепочками блоков и платформами смарт-контрактов. CertiK Chain была построена как Cosmos Hub, сохраняя при этом полную совместимость с EVM, спроектировав себя так, чтобы не только сосуществовать со многими другими блокчейнами, но и иметь глубокую техническую интеграцию и сотрудничество с ними для повышения безопасности во всем пространстве. CTK - это исходная цифровая служебная программа CertiK Chain, служащая основной служебной программой для CertiK Security Oracle и CertiKShield.

Как мы уже упоминали выше, смарт-контракты открыты для недостатков безопасности с момента их кодирования. Популярные языки смарт-контрактов, такие как Solidity, обеспечивают большую гибкость разработчикам, использующим этот язык, но за гибкость можно допустить ненужные ошибки.

DeepSEA, безопасный язык программирования и набор инструментов компилятора, разработанный исследователями из CertiK, Йельского и Колумбийского университетов, значительно снижает риски безопасности смарт-контрактов во время самого процесса разработки, до развертывания. Разработчики могут генерировать проверяемые машиной объекты-доказательства во время кодирования, легко доказывая правильность своего вывода.

DeepSEA получила исследовательские гранты от Ethereum Foundation , Columbia-IBM и Qtum Foundation для продвижения своего гиперзащищенного языка программирования.

Виртуальная машина CertiK (CVM)

Возможно, самая известная виртуальная машина в блокчейне, виртуальная машина Ethereum (EVM), служит процессором для смарт-контрактов Ethereum, которые преобразуются в байт-код и выполняются.

Виртуальная машина CertiK (CVM) полностью совместима с EVM, но была спроектирована так, чтобы следовать ведущей универсальной виртуальной машине, используемой в компьютерах по всему миру, модели процессов ОС x86–64, с возможностью расширения в будущем до других ISA, таких как arm64.

CVM предоставляет информацию о безопасности смарт-контрактов и блокчейнов, обеспечивая беспрецедентные способы доступа, проверки, зависимости и даже динамического установления безопасности блокчейнов и смарт-контрактов.

CertiKOS для сети CertiK

CertiKOS - это сертифицированное ядро ​​параллельной операционной системы (ядро любой ОС) и гипервизор, разработанное в Йельском университете и получившее международное признание как первое в мире ядро ​​ОС, устойчивое к хакерам.

CertiKOS можно использовать в качестве замены Linux для некоторых критически важных приложений, таких как запуск узла CertiK Chain или CertiK Security Oracle. Используя CertiKOS вместо 27 миллионов строк кода Linux, эти простые, но критически важные операции могут выполняться с меньшим ненужным риском ошибок.

Ончейн-управление

Ончейн-управление CertiK Chain поддерживает основные ценности децентрализации, прозрачности и безопасности.

Ключевые игроки

  1. Делегаторы долей: любой пользователь CertiK Chain, который может делегировать свои доли CTK операторам валидатора, доверять свои голоса сертифицирующим организациям и голосовать непосредственно по предложениям по управлению, не связанным с безопасностью.
  2. Сертификаты безопасности: набор экспертов по безопасности, которые защищают цепочку, голосуя по всем предложениям по управлению, относящимся к безопасности, и всем действиям цепочки, связанным с безопасностью.
  3. Операторы валидатора: набор операторов узлов валидатора CertiK Chain, которые отвечают за операции цепочки, включая создание блоков и управление делегированием, не связанное с безопасностью.

Сертификаты безопасности уникальны для CertiK Chain. Эта группа экспертов по безопасности работает над защитой цепочки путем голосования по всем предложениям по управлению, относящимся к безопасности, и по всем действиям цепочки, связанным с безопасностью.

Сертификаты безопасности могут быть добавлены и удалены при наличии достаточного согласия соответствующих сторон, включая делегатов и операторов валидатора.

Право голоса как по операционным, так и по финансовым аспектам цепочки CertiK предоставляется Операторам валидатора, представителям делегатов заинтересованных сторон.

Делегатам долей, пользователям, которые решают передать свои CTK валидаторам для вознаграждения в цепочке, предоставляется возможность напрямую голосовать за предложения по управлению, не связанные с безопасностью. В качестве альтернативы делегаты могут поручить свои голоса органам по сертификации безопасности.

Типы предложений по управлению включают:

Предложение в виде простого текста: предложение, связанное с операциями сети и управлением до внесения изменений в цепочку. Те, кто желает создать предложение по обновлению программного обеспечения, должны сначала подать предложение в виде обычного текста с изложением запроса.

Предложение по обновлению программного обеспечения: Предложение по коду CertiK Chain после успешного предложения в виде обычного текста.

Предложение о вознаграждении: предложение о запросе взноса, включая выполнение проверок безопасности и аудитов безопасности. Депозиты для предложения о вознаграждении хранятся в пуле, который может быть востребован участниками, выполнившими запрос.

Предложение о расходах пула сообщества: предложение о передаче CTK из пула сообщества (подробнее об этом ниже) пользователю CertiK Chain, который выполнил или настроен на выполнение работ по разработке или обеспечению безопасности для сети.

Предложение по обновлению сертификатора: предложение, представленное центрами сертификации при попытке добавить или удалить сертификат.

Доказанное доверие для всех

Миссия CertiK Foundation - дать людям возможность доверять блокчейну. Риски существуют на каждом этапе жизненного цикла блокчейна, от первоначальной разработки до реального использования, и без целенаправленных усилий по повышению стандартов безопасности в блокчейне эта игра полицейских и грабителей не закончится хорошо.

За счет использования более доступного набора приложений, таких как Security Oracle и CertiKShield, наряду с гиперзащищенной инфраструктурой, включая DeepSEA, CertiKOS и CVM, экосистема CertiK предоставляет комплексные, совместимые решения безопасности, которые создают инфраструктуру. доказуемого доверия для всех.