В поисках истины: как работает децентрализованная сеть оракулов Witnet

2 years ago 164

За последние два года хакеры несколько раз атаковали DeFi-протоколы с использованием мгновенных займов — эксплуатировали уязвимости ценовых оракулов и подменяли данные.

Проект Witnet работает над созданием децентрализованной сети оракулов, которая защитит блокчейн-экосистему от подобных взломов. Она обеспечивает доставку достоверных данных из внешних источников в смарт-контракты Ethereum и других блокчейнов. Рассказываем о работе протокола Witnet, его экосистеме и токене WIT.

Что такое оракулы и как с их помощью взламывают смарт-контракты

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

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

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

Злоумышленники могут вмешаться в работу оракула, чтобы подменить передаваемую информацию и создать возможности для финансовых махинаций. Например, в ноябре 2020 года хакеры атаковали DeFi-проект Cheese Bank, воспользовавшись уязвимостью в механизмах оценки стоимости обеспечения оракулом Uniswap. В результате злоумышленники вывели $3,3 млн в стейблкоинах USDC, USDT и DAI.

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

Как работает протокол Witnet

В 2017 году CTO блокчейн-стартапа Stampery Адам Санчес де Педро, CEO Даниэле Леви и ведущий разработчик блокчейн-проекта Aragon Луис Иван Куэнде опубликовали white paper Witnet: A Decentralized Oracle Network Protocol.

«Смарт-контракты не смогут стать по-настоящему экономически децентрализованными до тех пор, пока мы не создадим децентрализованного оракула, который опирается не на слепое доверие, а на некий цифровой аналог мудрости толпы», — утверждают авторы документа.

White paper описывает протокол с сетью нод (witnesses, свидетели). Они соединяют смарт-контракты Ethereum с внешними источниками данных: фондовыми биржами, спортивными сайтами, агрегаторами прогнозов погоды или обозревателями блокчейнов.

Достоверность транслируемой информации проверяют сами ноды. Они получают за это вознаграждение в виде нативных токенов Witnet (WIT). Благодаря экономическому стимулу владельцы узлов заинтересованы в передаче правдивой информации.

В протоколе Witnet реализована разновидность алгоритма консенсуса Byzantine Fault Tolerance (BFT) с использованием доказательства приемлемости (Proof-of-Eligibility, PoE). Алгоритм BFT позволяет достичь консенсуса, даже если ⅓ нод в сети не отвечают или дают неверную информацию. 

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

Чтобы попасть в подмножество, нода сначала «узнает», сможет ли она выполнить задачу. Этот метод приемлемости (eligibility) называют криптографической схемой жеребьевки (cryptographic sortition scheme). Ее можно сравнить с проверкой наличия выигрышного билета участниками лотереи.

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

Запрашивать данные в Witnet можно с помощью:

  • предметно-ориентированного языка программирования RAD Object Notation (RADON);
  • сервиса Witnet Truffle box, который позволяет писать запросы данных на языке Solidity в Ethereum. Инструкция по созданию запросов данных на Solidity опубликована на сайте Witnet;
  • с помощью десктопного кошелька Sheikah.

Каждый запрос данных пользователи оплачивают в нативных токенах Witnet (WIT). Процесс получения, проверки и доставки данных в смарт-контракты называется витнессингом (witnessing).

Упрощенный процесс получения данных выглядит так:

  1. Пользователь публикует запрос и указывает, какие данные ему нужны.
  2. Активные узлы проходят жеребьевку для выполнения задачи.
  3. Выбранные ноды получают данные из указанных источников, оформляют их в единый результат и подтверждают его правдивость.
  4. Остальные узлы записывают результат в текущий блок и добавляют его в блокчейн Witnet.
  5. Пользователь получает данные в блокчейне.

Процесс получения, подтверждения и доставки данных проходит в пределах одной эпохи (epoch) длительностью 90 секунд.

Экосистема Witnet: нода, кошелек и обозреватель блокчейна

В 2017 году Адам Санчес де Педро и Даниэле Леви основали некоммерческую организацию Witnet Foundation, которая курирует развитие экосистемы Witnet.

Организация разрабатывает Witnet-Rust — реализацию протокола Witnet на языке программирования Rust. Witnet-Rust состоит из двух основных компонентов: ноды и кошелька.

В справочных материалах Witnet можно посмотреть подробную инструкцию по установке ноды на Windows, Linux и macOS.

Каждая нода хранит историю всех транзакций в блокчейне Witnet. Разработчики рекомендуют запускать Witnet-Rust на компьютере с 4 Гб оперативной памяти и 100 Гб свободного места на диске. По оценкам команды Witnet, размер блокчейна будет расти на 75 Гб в год.

В июне 2021 Даниэле Леви основал стартап Other Plane Labs для разработки легкого десктопного Witnet-кошелька Sheikah. С его помощью пользователи получают и отправляют токены WIT, а также создают и выполняют запросы на предоставление данных вроде цены биткоина или Ethereum от одного или нескольких источников.

В июле 2020 года анонимный разработчик под псевдонимом Dr. CPU представил обозреватель блокчейна Witnet Explorer. Его пользователи могут отслеживать блоки и транзакции, а также смотреть статистику сети вроде количества добытых блоков и активных нод.

Токеномика Witnet: эмиссия и распределение токенов

WIT — нативный токен Witnet c общей эмиссией 2,5 млрд единиц. На момент публикации WIT стоит $0,033. Токен используется для вознаграждения владельцев нод Witnet и оплаты запросов данных пользователей сети.

Валидаторы получат 70% от общей эмиссии токена. Остальные 30% WIT были предварительно добыты в генезис-блоке основной сети. Команда проекта распределила премайн так:

  • 250 млн (10%) — основателям и ранним инвесторам;
  • 250 миллионов (10%) — Witnet Foundation;
  • 250 миллионов (10%) — участникам пресейла на Republic, который прошел в марте 2018 года.

Время добычи блока в сети Witnet составляет 45 секунд. Вознаграждение за каждый блок составляет 250 WIT ($9 на момент публикации). В Witnet есть халвинг: каждые 3 500 000 блоков (примерно пять лет) вознаграждение будет уменьшаться на 50%.

До первого халвинга в 2025 году валидаторы будут находить около 1920 блоков в день. Ежедневная эмиссия составит 480 000 WIT, ежемесячная — 14,6 млн WIT, а годовая — 175 млн WIT. 

Развитие проекта: грантовая программа, листинг на Gate.io и интеграции с другими блокчейнами

23 ноября 2021 года Witnet Foundation запустила грантовую программу для финансирования проектов: улучшения протокола, развития экосистемы и расширение сообщества Witnet. Для участия в программе нужно подать заявку на странице Witnet Grant Program в Notion.

В июле 2021 года группа разработчиков экосистемы Witnet запустила WitSwap — кроссчейн-мост для «обертывания» WIT в токены стандарта ERC-20 (eWIT). Мост позволил создать пул ликвидности для eWit на Uniswap v3. В декабре централизованная криптобиржа Gate.io провела листинг WIT.

В 2021 году Witnet Foundation заключила партнерства с Conflux Network, Boba Network и Metis, а в январе — с KuCoin Community Chain и Celo. По словам Адама Санчеса де Педро, в феврале проект интегрирует Polygon и Harmony, а в течение 2022 года — Avalanche, Moonbeam, Arbitrum, Optimism, Aurora, Klaytn, BSC, xDAI и Solana.

Согласно данным аналитического сервиса Witnet Data Feed, сейчас в 15 основных и тестовых блокчейнах развернуто более 50 ценовых каналов Witnet. В 2022 году разработчики планируют добавить 150 ценовых каналов, которые будут работать в 50 сетях. Оракулами Witnet пользуются такие проекты:

  • TriAngle — ведущий протокол кредитования в сети Conflux. Он использует ценовой канал CFX/USDT от Witnet для расчета займа в стейблкоинах AUSD под залог CFX.
  • Agora Space — социальная блокчейн-платформа. С помощью оракулов Witnet предоставляет смарт-контрактам доступы к децентрализованной проверке данных социальных сетей вроде количества просмотров на YouTube или количества подписчиков в Twitter.
  • Aragon — фреймворк для создания децентрализованных автономных организаций (ДАО). В сочетании с оракулами Witnet он позволяет голосовать за предложения по управлению в Discord.

В октябре 2021 года разработчики встроили в протокол оракул-источник случайных данных (randomness oracle). С его помощью пользователи Witnet могут создавать NFT-коллекции и случайным образом присваивать токенам характеристики. Организаторы конференции Ethereum-разработчиков LisСon использовали этот оракул для выпуска NFT-коллекции Witty Creatures 2.0 на OpenSea.

Выводы

Witnet — децентрализованная сеть оракулов, которая предоставляет DeFi-сервисам в Ethereum и других сетях безопасный доступ к достоверным данным.

С момента публикации white paper в 2017 году команда Witnet создала мультичейн-экосистему, а количество активных нод по состоянию на февраль 2022 года превысило 5000 единиц.

В этом году Witnet Foundation планирует интегрировать 11 сетей, а также профинансировать проекты экосистемы в рамках грантовой программы. Оракулы стали важным инфраструктурным компонентом сектора DeFi, поэтому у Witnet есть все шансы занять эту нишу.

Read Entire Article