Обзор CertiK

Обзор CertiK

Gagarin_ICO

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

Блокчейн платформа Certik работает как сертификация для проверки и защиты верифицируемых смарт-контрактов, библиотеки Dapp и реализация самого блокчейна.

Какую проблему решает

1) Существуют потенциальные уязвимости даже в ядре блокчейн экосистем.

Ну угрозы есть везде, вот например проблемы виртуальной машины эфириума.

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

Вроде пока таких случаев замечено не было. Пока.

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

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

4) Блокчейн - децентрализованная система, поэтому любое действие должно согласовываться с большей частью узлов для подтверждения валидности. Поэтому, когда dApp запущен в продакшн, становится значительно сложнее и дольше устранять ошибки.

Если взять пример атаки кошелька, для этого вообще потребовался хард форк всей сети.

5) В настоящее время тестирование является наиболее широко используемым подходом для гарантии надежности. Однако тестирование программы показывает наличие ошибок, но никак не их отсутствие. Поэтому тестирование не слишком поможет в устранении критических ошибок, выявленных в течение короткого периода времени.

Были деньги на кошельке, пришел из магазину, нет денег на кошельке! Виталя памаги!

Подход к решению проблемы

1) Что подтверждать?

Большая часть сервисов по верификации подтверждает только, что программа удовлетворяет определенному набору параметров. Типа "нет переполнения стека", "все исключения были обработаны", "ваша бабушка еще жива". Но все эти проверки не подтверждают корректное выполнение программой своих функций и не отвечают на вопрос, а насколько здорова эта самая бабушка. Даже записать на бумажку все функции программы довольно сложная задача, потому что нужно достаточно глубокое понимание всей системы и способность объяснить ее желаемое поведение. Грубо говоря, следить за бабулей надо круглосуточно.

2) Как масштабировать разработку доказательств?

Стоимость доказательства на данный момент стало значительным препятствием. Поэтому появилась такая необходимость одному проекту заимствовать интеллект и производительные мощности более масштабного коллективного разума.

3) Как заставить других доверять доказательствам?

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

Принцип работы

1) Умная маркировка.

Платформа CertiK разработала подход для определения dApps и систем с помощью маркеров. Эти маркеры достаточно хитровыделанные для содержания всех желаемых для проверки свойств и совместимы с существующими языками программирование (например Solidity). С помощью технологии глубокого обучения (deep learning) на созданной вручную кодовой базе CertiK представляет фреймворк умной маркировки. Эта волшебная шляпа старается понять программы не только на уровне синтаксиса, но и на семантическом уровне, после чего автоматически добавляет маркер к исходному коду.

2) Декомпозиция задач на основе модели слоев.

Команда CertiK одна из первых, кому удалось добиться модульной верификации. Обозвали они свою поделку дословно "глубокая спецификация слоя". Вещь в том, что любое приложение состоит из обособленных модулей, слоев. Если вы знакомы с шаблонами проектирования, давайте вспомним Layered Application Design Pattern. По сути, парни из CertiK придумали, как использую данный паттерн по слоям декомпозировать сложную задачу доказательства на меньшие и проверять каждую уже на своем уровне абстракции.

3) Встраиваемый движок доказательства.

Лицо уже декомпозированных обязательств гораздо проще рассмотреть, некоторые даже можно разобрать автоматическими верификаторами (SMT солвер например). Чтобы гарантировать масштабируемость, платформа CertiK намерена предоставить открытый протокол, чтобы в систему можно было впихивать более продвинутые алгоритмы.

4) Объекты доказательства, проверямые машинами.

Платформа CertiK создает механизированные объекты доказательства (или контрпримеры), чтобы любой гуманоид мог проверить доказательства на своей машине. Эти объекты доказательства можно назвать "сертификатами" проверямых программ.

5) Сертифицированные dApp библиотеки.

Для улучшения качества кода и надежности всего блокчейн сообщества платформа предоставляет набор сертифицированных библиотек и плагинов к интегрированной среде разработки (IDE) для создания более надежных dApps. Использование этих приблуд будет стоить девелоперу небольшое кол-во CTK, зато станут хорошим подспорьем во время разработки.

6) Кастомизированные сервисы по сертификации.

Для DApps и систем (типа кошельков) с высокими требованиями к надежности CertiK предоставит кастом шоп. В этом случае, эксперты по верификации помогут верифицировать программы и сгенерировать подробный отчет.

Демо-версия

Социальные сети проекта:

Telegram - 10 000 подписчиков

Medium - 85 читателей

На GitHub ничего интересного

Посмотрим на команду проекта:

Ronghui Gu - сооснователь. Учился в бакалавриате в университете Tsinghua (в 2016 году - 18 место в мире, в 2017 году - 30 место и первый в Китае) и учился очень достойно (средний балл - 91,2). В 2016 году получил степень Ph.D. в области Computer Science в Йельском университете, диссертация получила премию отличия в самом университете. С 2011 года занимается разработкой CertikOS и сделал очень много, на сайте https://www.cs.columbia.edu/~rgu/ можно найти больше технической информации.

Zhong Shao - сооснователь. Профессор в Йельском университете, работает там более 20 лет. Заведующий кафедры Computer Science. В 1994 году получил степень Ph.D. в Принстонском университете. В последние годы Шао принимает в исследованиях в области кибербезопасности, языков программирования, операционных систем и сертифицированного программного обеспечения. Shao является соавтором около 90 статей.

Vilhelm Sj¨oberg - младший научный сотрудник, в 2015 году получил степень Ph.D. Vilhelm эксперт в области верификакции программного обеспечения. Его диссертация была о том, чтобы сделать зависимые системы более привлекательными для языков программирования общего назначения.

Преимущества:

  • профессионалы в команде, которые давно занимаются проектом и при желании могут с легкостью расширить штат разработчиков;
  • похожий конкурент Quantstamp имеет капитализацию 110 млн.$;
  • public release намечен на конец июня

 Недостатки:

  • на сайте минимум информации, возможно проект только вышел и еще не подготовились к ICO;
  • нет стратегических партнеров и фондов;
  • подробный roadmap, НО до июля 2018 года. Нужно ждать обновленного roadmap;

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

Обзор будет дополняться по мере появления информации.

****************************************************************************

Обзор подготовил Gagarin

Канал в telegram Gagarin (обзоры ICO и новости)

Чат в telegram Gagarin Chat (обсуждение перспективных ICO проектов)

Report Page