Меню

ChainLink: детальный обзор проекта

Введение

Сеть ChainLink обеспечивает надёжные и защищённые от несанкционированного доступа входы и выходы для сложных смарт-контрактов на любом блокчейне.

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

ChainLink предоставляет смарт-контрактам потоки входных и выходных данных, необходимые для полного раскрытия их потенциала.

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

Внешние данные инициируют контракт, поэтому оно должно отличаться высокой надёжностью.

Децентрализованная сеть оракулов ChainLink предоставляет те же гарантии безопасности, что и сами смарт-контракты.

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

Технологии. Обзор архитектуры

Основная функциональная цель ChainLink заключается в соединении двух сред: он-чейн (on-chain) и офф-чейн (offchain).

Сначала ChainLink будет основан на Ethereum, но команда намерена поддерживать все ведущие сети смарт-контрактов для взаимодействий как с внешними программами (офф-чейн), так и между блокчейнами (кросс-чейн).

Сеть ChainLink разрабатывается с прицелом на модульность как в он-чейн, так и в офф-чейн версии.

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

Рис. 1. Рабочий процесс ChainLink

  • USER-SC отправляет запрос по цепочке;
  • CHAINLINK-SC записывает событие для оракулов;
  •  ядро ChainLink принимает событие и отправляет назначение на адаптер;
  • адаптер ChainLink выполняет запрос к внешнему API;
  • адаптер ChainLink обрабатывает ответ и передает его обратно в ядро;
  • ядро ChainLink передает данные CHAINLINK-SC;
  • CHAINLINK-SC агрегирует ответы и передает их USER-SC в виде одного ответа.

Он-чейн архитектура

В качестве оракулов ноды ChainLink возвращают ответы на запросы данных, отправленные пользовательскими контрактами или от их имени, которые команда ChainLink называет контрактами запроса и обозначает как USER-SC.

Интерфейс для запроса контрактов он-чейн в ChainLink сам по себе является контрактом он-чейн, который разработчики ChainLink обозначили как CHAINLINK-SC.

Помимо CHAINLINK-SC, ChainLink имеет он-чейн компонент, состоящий из трёх основных контрактов
  1. репутационный контракт;
  2. контракт, сопоставляющий ордера;
  3. агрегирующий контракт.

Репутационный контракт отслеживает показатели производительности провайдера услуг оракула.

Смарт-контракт по сопоставлению ордеров принимает предлагаемое сервисом соглашение (SLA), регистрирует его параметры и собирает предложения от поставщиков оракулов.

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

Агрегирующий контракт собирает ответы оракулов и вычисляет конечный общий результат запроса ChainLink.

Кроме того, он передаёт параметры оракулов обратно в репутационный контракт.

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

Рабочий процесс он-чейн состоит из трёх этапов
  1. выбор оракула;
  2. предоставление данных;
  3. агрегирование результатов.

Выбор оракула. Покупатель услуг оракула указывает требования, которые входят в Соглашение об уровне обслуживания (SLA).

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

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

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

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

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

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

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

Автоматизированные решения помогают преодолеть эту проблему и повышают удобство использования.

По этим причинам ChainLink также предлагает автоматическое сопоставление оракулов с использованием контрактов сопоставления ордеров.

Выбрав предложение SLA, вместо того, чтобы связываться с оракулами напрямую, покупатель отправляет это SLA в контракт на сопоставление ордеров.

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

Затем ноды ChainLink решают, делать им ставку на предложение или нет, при этом контракт принимает ставки только от нод, которые отвечают требованиям SLA.

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

Ставки принимаются на протяжении всего окна торгов.

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

Штрафные платежи, заблокированные в процессе торгов, возвращаются оракулам, которые не были выбраны, после чего создаётся окончательная запись SLA.

При записи финализированного SLA происходит активация лога, уведомляющего выбранных оракулов. Затем оракулы выполняют предписания, детализированные в SLA.

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

Агрегирование результатов. Как только оракулы представят результаты на контракты, эти результаты передаются в агрегирующий контракт.

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

Наконец, взвешенный ответ возвращается на предварительно указанный контракт USER-SC.

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

Например, обнаружение и отклонение нерелевантных ответов до проведения усреднения обычно необходимо для числовых данных, но не логических.

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

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

Офф-чейн архитектура

Что касается архитектуры вне блокчейна, ChainLink изначально состоит из сети нод оракулов, подключённых к сети Ethereum, а в будущем команда ChainLink намерена добавить поддержку всех ведущих сетей смарт-контрактов.

Эти ноды независимо друг от друга собирают ответы на офф-чейн запросы.

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

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

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

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

ChainLink Core. Базовое программное обеспечение нод отвечает за взаимодействие с блокчейном, планирование и балансировку работы с различными внешними сервисами.

Работа, выполняемая нодами ChainLink, форматируется в виде предписаний.

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

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

Программное обеспечение нод ChainLink поставляется с несколькими встроенными подзадачами, включая HTTP-запросы, анализ JSON и преобразование в различные форматы блокчейнов.

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

Адаптеры являются внешними сервисами с минимальным REST API.

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

Аналогичным образом, взаимодействие со сложными многоступенчатыми API упрощается до отдельных подзадач с определёнными параметрами.

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

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

В настоящее время ChainLink работает со схемой, основанной на JSON, которая позволяет указать, какие входы нужны каждому адаптеру и как они должны быть отформатированы.

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

Читайте также Создание смарт-контракта: это проще, чем вы думаете

Безопасность оракулов

Чтобы объяснить архитектуру безопасности ChainLink, необходимо сначала понять, почему важна безопасность и что означает это слово.

Почему оракулы должны быть безопасными?

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

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

Пользователи рассчитывают но то, что блокчейн обеспечит корректность проверки транзакции и предотвратит изменение данных.

Они рассматривают его как нечто надёжное и независимое.

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

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

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

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

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

Представьте себе, что задача запуска оракула была поставлена доверенной сторонней организации (trusted third party, TTP) – идеальному субъекту, который всегда выполняет инструкции точно как написано.

Мы будем обозначать этот оракул ORACLE (используя заглавные буквы для того, чтобы показать его полную надёжность), и предположим, что TTP получает данные из абсолютно надёжного источника данных Src.

Теперь рассмотрим этот сервис ORACLE – какие инструкции мы попросим его выполнить?

Рис. 2. Поведение идеального оракула ORACLE определяется следующими шагами

  • принять запрос;
  • получить данные;
  • вернуть данные. Кроме того, для защиты конфиденциальности запроса при его расшифровке ORACLE никогда не использует и не раскрывает содержащиеся в нем данные, за исключением запроса Src.

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

  • Принять запрос. Принять от смарт-контракта USER-SC запрос Req = (Src, τ, q), который определяет целевой источник данных Src, время или диапазон времени τ, и запрос q.
  • Получить данные. Отправить запрос q в Src в момент времени τ.
  • Вернуть данные. Получив ответ a, верните этот ответ обратно в смарт-контракт.

Эти простые инструкции при правильном выполнении позволяют получить сильное, значимое, но простое определение безопасности.

По сути, они заставляют ORACLE действовать в качестве надежного моста между Src и USER-SC.

Например, если источник Src – это https://www.FountOfKnowledge.com, время τ – 4 часа дня, а запрос q = «цена тикера INTC«, благодаря целостности ORACLE USER-SC гарантированно получит точно ту же цену INTC, что была в 4 часа дня в https://www.FountOfKnowledge.com.

Ещё одним желательным свойством для оракулов является конфиденциальность. Когда USER-SC отправит Req в ORACLE в открытом виде на блокчейн, Req становится общедоступным.

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

Например, если USER-SC представляет собой договор страхования полёта и отправляет на ORACLE запрос Req, связанный с полётом конкретного пользователя (q = «Ether Air Flight 338«), в результате публикации планы этого полёта раскрываются всему миру.

Если USER-SC является контрактом финансового трейдинга, Req может стать причиной утечки информации о сделках и портфеле пользователя. Конечно, есть много других примеров.

Для защиты конфиденциальности может потребоваться шифрование данных в Req открытым ключом, принадлежащим ORACLE.

В соответствии с независимым характером оракулов, ограничения потока информации можно просто прописать в параметрах ORACLE:

При расшифровке Req никогда не раскрывайте данные и не используйте их ни для чего, кроме запросов Src.

Есть и другие важные свойства оракулов, такие как доступность, последняя часть классической триады КЦД (Конфиденциальность – Целостность – Доступность).

У по-настоящему идеальных сервисов ORACLE, конечно, никогда не бывает сбоев.

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

Понятие пользующейся доверием третьей стороны (trusted third party, TTP) аналогично понятию идеальной функциональности, которое используется для доказательства безопасности криптографических протоколов в определённых моделях.

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

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

Почему практически невозможно найти идеального оракула (ORACLE). Разумеется, абсолютно надёжных источников данных Src не существует.

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

Если Src не заслуживает доверия, то ORACLE не будет полностью соответствовать понятию безопасности команды ChainLink, даже если он работает по всем правилам TTP, описанным выше.

Из-за недостоверности источника Src, свойство целостности, определение которого приводится выше, не обеспечивает правильность ответа оракула a.

Если истинная цена Intel составляет 40$, а https://www.FountOfKnowledge.com ошибочно сообщает о цене 50$, то ORACLE отправит USER-SC неверное значение a = 50$.

Эта проблема неизбежна при использовании одного источника Src. У ORACLE просто нет возможности узнать, насколько правильные ответы отправляет Src на его запросы.

Конечно, более серьёзной проблемой является тот факт, что TTP ChainLink для ORACLE являются просто абстракцией. Ни один поставщик услуг не является безусловно надёжным.

Даже самые благонамеренные из них могут иметь баги или подвергнуться взлому.

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

Команда ChainLink рассматривает свои протоколы безопасности с точки зрения идеальной функциональности ORACLE.

Цель ChainLink – создать для реального мира систему со свойствами, максимально близкими к свойствам ORACLE при реалистичных положениях о доверии.

Для простоты полный набор контрактов ChainLink, т. е. его полная функциональность он-чейн (а не только интерфейс 10 для запроса контрактов) в дальнейшем будет обозначаться CHAINLINK-SC.

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

Читайте также Обзор платформы смарт-контрактов Confideal

Подход ChainLink к децентрализации

Для обеспечения защиты от имеющих ошибки нод предлагается три основных взаимодополняющих метода

  1. Распределение источников данных.
  2. Распределение оракулов.
  3. И использование надёжного оборудования.

Поскольку некоторые медиаплатформы не поддерживают нижние индексы, далее в тексте они будут заменяться символом «-«, где это уместно.

Пример: A-1.

Распределение источников

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

Надёжный ORACLE может отправить запросы в несколько источников Src-1, Src-2, … Src-k, получить ответы a-1, a-2, … a-k и агрегировать их в один ответ A = agg (a-1, a-2, … a-k).

ORACLE может сделать это несколькими способами. Одним из них, например, является принятие решений большинством голосов.

Если большинство источников возвращает идентичное значение a, функция agg тоже возвращает a; в противном случае она сообщает об ошибке.

В данном случае при условии, что большинство источников (> k/2) работает правильно, ORACLE всегда возвращает правильное значение A.

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

Например, agg может отбрасывать экстремальные значения (например, наибольшее и наименьшее значения a) и выводить среднее от остальных значений.

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

Если сайт Src-1 = EchoEcho.com получает свои данные от Src-2 = TheHorsesMouth.com, ошибка в Src-2 всегда будет приводить к ошибке в Src-1.

Кроме того, могут возникать более тонкие корреляции между источниками данных.

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

Рис. 3. Запросы распределяются как по оракулам, так и по источникам данных. На приведённом изображении показан пример такого двухуровневого распределения.

Распределение оракулов

Точно так же, как могут быть распределёнными источники данных, сам идеальный сервис ORACLE ChainLink можно приблизительно представить как распределённую систему.

То есть, вместо одной монолитной ноды оракула O у нас будет набор из количества n различных нод {O-1, O-2,.., O-n}.

Каждый оракул O-i контактирует со своим собственным набором источников данных, которые могут пересекаться с источниками других оракулов, а могут и не пересекаться.

O-i агрегирует ответы из своих источников данных и выводит свой отдельный ответ A-i на запрос Req.

Некоторые из этих оракулов могут иметь ошибки. Естественно, набор ответов всех оракулов A-1, A-2, … A-n нужно будет надёжным образом объединить в единое окончательное значение A.

Но учитывая возможность существования оракулов с ошибками, как именно будет происходить в ChainLink эта агрегация?

Первоначальное решение: агрегирование внутри контракта. Первоначально предлагаемое решение в ChainLink будет очень простым – это агрегирование внутри контракта (in-contract aggregation).

CHAINLINK-SC, то есть,  он-чейн часть ChainLink, сам по себе будет заниматься агрегированием ответов оракула.

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

Другими словами, CHAINLINK-SC вычисляет A = Agg (A1, A2, … An) для некоторой функции Agg (аналогично agg, как описано выше) и отправляет результат A USER-SC.

Этот подход может использоваться для малых значений n и имеет несколько явных преимуществ
  • Концептуальная простота. Несмотря на то, что оракулы распределены, агрегацию выполняет один объект (CHAINLINK-SC) путём выполнения функции Agg.
  • Надёжность. Так как код CHAINLINK-SC подлежит публичной проверке, его правильное поведение можно контролировать. (CHAINLINK-SC представляет собой относительно небольшой и простой фрагмент кода.) Кроме того, выполнение CHAINLINK-SC отлично видно на блокчейне. Таким образом, пользователи, то есть, создатели USER-SC, могут добиться высокой степени доверия к CHAINLINK-SC.
  • Гибкость. CHAINLINK-SC может реализовать наиболее интересные пользователям функции агрегации Agg – мажоритарную функцию, усреднение и т.д.

Каким бы простым не казался этот подход, он демонстрирует новую и интересную техническую проблему, а именно проблему паразитирования.

Недобросовестный оракул O-z может наблюдать ответ A-i другого оракула O-i и копировать его.

Таким образом, оракул O-z позволяет избежать расходов на запросы источников данных, которые могут взимать плату за каждый запрос.

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

Команда ChainLink предлагает хорошо известное решение этой проблемы, а именно использование схемы обязательство/раскрытие (commit/reveal).

В первом раунде оракулы отправляют CHAINLINK-SC криптографические обязательства (коммиты) по своим ответам.

Получив кворум по ответам, CHAINLINK-SC инициирует второй раунд, в котором оракулы раскрывают свои ответы.

Алгоритм 1 показывает простой последовательный протокол, который гарантирует доступность данных нод в количестве 3f +1.

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

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

Он-чейн протоколы могут использовать время расчёта блоков для поддержания синхронности в дизайне протоколов.

Однако в ChainLink ноды оракулов получают данные из источников, которые могут иметь сильно отличающееся время ответа, да и время рассмотрения обязательств может отличаться, например, из-за использования разных цен газа в сети Ethereum.

Поэтому для обеспечения максимально быстрого реагирования Alg. 1 спроектирован в виде асинхронного протокола.

Здесь строка Commit-r(A) обозначает обязательство со значением A со свидетелем r, в то время как SID – это набор действительных идентификаторов сеанса.

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

Легко увидеть, что Alg. 1 завершится успешно.

Учитывая, что в общей сложности количество нод у нас составляет  3f + 1, не более f из них имеют ошибки, поэтому по крайней мере 2f + 1 в шаге 4 отправят коммиты.

Из этих коммитов не более f происходят от нод с ошибками, поэтому как минимум f + 1 происходит от честных нод. Все такие обязательства в конечном итоге будут списаны.

Кроме того, легко увидеть, что значение A в Alg.1 будет верным. Из f + 1 отменённых коммитов по одному значению A как минимум один поступает от честной ноды.

Агрегирование внутри контракта через Alg. 1 будет основным подходом ChainLink в краткосрочной перспективе.

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

Долгосрочное предложение ChainLink отражается в гораздо более сложном протоколе OCA (Off-Chain Aggregation), указанном в описаниях Алгоритмов 2 и 3 в Приложении А.

OCA – это протокол офф-чейн агрегации, который минимизирует затраты на транзакции в блокчейне. Этот протокол также осуществляет платежи узлам оракула и обеспечивает защиту от паразитов.

Алгоритм 1 InChainAgg(

) (код для CHAINLINK-SC)
  • Дождитесь получения Req от USER-SC.
  • sid ←$ SID.
  • Трансляция (request, sid).
  • Подождите, пока не будет получен набор C из 2f + 1 сообщений (commit,

, sid) от отдельных O-i .

  • Трансляция (committed, sid).
  • Подождите, пока не будет получен набор действительных декоммитов D f + 1 (decommit, (r-i , A-i), sid), где для некоторого значения A все A-i = A.
  • Отправка (Answer, A, sid) на USER-SC.

Среднесрочная стратегия: агрегирование вне блокчейна (офф-чейн). Агрегирование в контракте (он-чейн) имеет один большой недостаток: стоимость.

При этом взимаются сборы за передачу и обработку сообщений оракула он-чейн O(n) (коммиты и раскрытия для A-1, A-2, … A-n).

В блокчейнах эксклюзивного типа эти накладные расходы могут быть приемлемыми.

В инклюзивных (permissionless) блокчейнах с внутрисетевыми транзакционными сборами, такими как Ethereum, если значение n велико, затраты могут оказаться запретительными.

Более выгодным подходом является агрегирование ответов оракула офф-чейн и передача объединённого сообщения на CHAINLINK-SC A.

ChainLink планирует внедрить этот подход, называемый офф-чейн агрегацией, в среднесрочной и долгосрочной перспективе.

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

Учитывая наличие заранее определённого набора оракулов, можно было бы рассмотреть возможность использования для вычисления A классического алгоритма консенсуса Byzantine Fault Tolerant (BFT).

Однако в классических протоколах BFT в конце обращения к протоколу обычно все честные ноды хранят одно и то же значение.

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

Команда ChainLink хочет добиться того, чтобы CHAINLINK-SC (и потом USER-SC) получал агрегированный ответ A = Agg(A-1, A-2, . . . , A-n) без участия в консенсусном протоколе и без необходимости получать ответы от нескольких оракулов.

Кроме того, проблема паразитирования всё ещё нуждается в решении.

Система ChainLink предлагает использовать простой протокол с пороговыми подписями.

Такие подписи можно реализовать с помощью любой из множества существующих схем, но проще всего это сделать с использованием подписей Шнорра.

В этом подходе оракулы имеют коллективный открытый ключ pk и секретный ключ sk, который разделён между O-1, O-2, … O-n с порогом в виде (t, n).

При таком обмене каждая нода O-i имеет отдельный секретный и открытый ключ (sk-i, pk-i). O-i может генерировать часть подписи,

которую можно проверить с использованием pk-i.

Рис. 4: Sigsk[A] может получить любой из n/2+1 оракулов.

Ключевой особенностью этой настройки является то, что частичные подписи при одном и том же значении A могут быть агрегированы по любому набору оракулов t, формируя единую действительную коллективную подпись Σ = Sig-sk [A] для ответа A.

Однако набор оракулов t − 1 не сможет создать действительную подпись при любом значении.

Таким образом, единая подпись Σ косвенно олицетворяет частичные подписи оракулов в количестве по крайней мере t.

Пороговые подписи могут быть реализованы нативным способом, если позволить Σ эксплицитно состоять из набора t действительных независимых подписей от отдельных нод.

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

Но они обеспечивают значительное улучшение производительности блокчейна: они уменьшают размер и стоимость проверки Σ по фактору t.

При такой настройке может показаться, что оракулы могут просто генерировать и транслировать части подписей до тех пор, пока значение t этих частей не позволит вычислить Σ.

Опять же, возникает проблема паразитирования.

Поэтому необходимо обеспечить, чтобы оракулы действительно получали данные из собственных источников, а не обманывали и не копировали A-i у другого оракула.

Решение ChainLink включает в себя финансовый механизм: субъект PROVIDER (реализованный как как смарт-контракт) отправляет вознаграждения только оракулам, которые предоставляют исходные данные для своих частичных подписей.

В распределённой среде определение того, какие оракулы должны получить оплату, оказывается довольно сложным.

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

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

Команда ChainLink в своём решении предлагает использовать консенсусные механизмы, чтобы PROVIDER был защищён от необходимости платить паразитирующим оракулам.

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

Он использует распределённый протокол, основанный на пороговых подписях, который обеспечивает сопротивление паразитированию оракулов в количестве f < n/3.

Команда ChainLink считает, что сопротивление паразитированию является интересной новой технической проблемой.

Читайте также Что представляет собой обеспеченный биткоином токен ERC20 (WBTC)? Как он может изменить взаимодействие между сетями Bitcoin и Ethereum?

Сервисы безопасности ChainLink

Благодаря протоколам, которые были только что описаны, ChainLink может обеспечить доступность и корректность при наличии до f оракулов с ошибками.

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

Однако проверенное оборудование не может обеспечить полную защиту по трём причинам

  1. Во-первых, его не будет в начальных версиях сети ChainLink.
  2. Во-вторых, некоторые пользователи могут не доверять такому оборудованию.
  3. Наконец, доверенное оборудование защищает не от простоя, о только от неправильного поведения ноды.

Поэтому пользователям нужно убедиться, что они могут выбрать наиболее надёжных оракулов и свести к минимуму вероятность использования USER-SC дефектных оракулов в количестве > f.

С этой целью команда ChainLink предлагает использовать четыре ключевых сервиса безопасности

  1. Validation System (систему проверки).
  2. Reputation System (систему репутации).
  3. Certification Service (службу сертификации).
  4. Contract-Upgrade Service (службу обновления контрактов).

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

Предлагаемые сервисы безопасности ChainLink не могут блокировать участие ноды оракула или изменять ответы.

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

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

Читайте также Разбираемся в трёх типах стабильных монет

Система проверки (Validation System)

Система проверки ChainLink отслеживает поведение оракула на блокчейне, предоставляя объективные показатели производительности, которые могут определять выбор оракулов пользователем.

Она будет контролировать следующие характеристики оракулов

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

В исходной системе он-чейн агрегации в ChainLink выполнять такой мониторинг легко, так как вся активность оракула видна CHAINLINK-SC.

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

Следовательно, CHAINLINK-SC не имеет прямого доступа к ответам оракула и не может самостоятельно контролировать доступность и правильность.

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

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

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

Контролировать доступность несколько сложнее, так как оракулы, естественно, не подписывают свои отказы отвечать.

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

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

Как в случае он-чейн, так и в случае офф-чейн транзакций, статистика доступности и корректности оракулов будет видна в блокчейне.

Таким образом, пользователи/разработчики смогут просматривать их в режиме реального времени через соответствующие интерфейсы, такие как Dapp в Ethereum или аналогичные приложения блокчейнов эксклюзивного типа.

Система репутации

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

Основным фактором в определении репутации оракулов и уровня доверия к ним будут отчёты Системы проверки.

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

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

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

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

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

А именно

  • Общее количество прикреплённых запросов. Общее число запросов, на которые согласился оракул – как выполненных, так и невыполненных.
  • Общее количество выполненных запросов. Общее количество прошлых запросов, которые исполнил оракул. Это значение можно усреднить по количеству прикреплённых запросов, чтобы рассчитать скорость выполнения.
  • Общее количество принятых запросов. Общее число запросов, которые были признаны приемлемыми при расчёте контрактов по сравнению с ответами других оракулов. Это значение можно усреднить по общему количеству прикреплённых или выполненных запросов, чтобы получить представление об уровне точности.
  • Среднее время ответа. Хотя для подтверждения ответов оракулов может потребоваться время, своевременность этих ответов в прошлом полезна для определения своевременности ответов в будущем. Среднее время ответа рассчитывается на базе выполненных запросов.
  • Сумма штрафных выплат. Если штрафные платежи блокируются для обеспечения производительности оператора ноды, в результате мы получаем финансовые гарантии обязательства поставщика оракула не участвовать в мошеннических действиях типа «exit scam«, где поставщик берет деньги пользователей и не предоставляет услуги. Этот показатель включает в себя как временные, так и финансовые аспекты.

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

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

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

Читайте также Ethereum 2.0. Все будет иначе

Служба сертификации

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

Тем не менее, в ChainLink также имеется дополнительный механизм, называемый Службой сертификации ( Certification Service).

Его цель-предотвратить или исправить редкие, но катастрофические события, в частности, мошенничество в форме атак Сивиллы и зеркалирования.

Атаки Сивиллы и зеркалирование. Как простые, так и внутриконтрактные протоколы агрегирования ChainLink стремятся предотвратить паразитирование в смысле копирования ответов честных нод нечестными нодами.

Но ни один из них не защищает от атак Сивиллы. В таких атаках участвует противник, контролирующий множество считающихся независимыми оракулов.

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

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

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

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

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

Зеркалирование приносит выгоду злоумышленнику независимо от того, отправляет он ложные данные или нет.

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

Например, если https://www.datasource.com выдаёт ошибочные данные из-за спорадической ошибки, несколько запросов всё равно позволят получить правильный результат от большинства оракулов.

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

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

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

Команда ChainLink ещё раз подчеркивает, что сервис будет оценивать провайдеров только в интересах пользователей.

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

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

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

При достаточном спросе на данные оракулов команда ChainLink рассчитывает на появление достаточного количества экономических стимулов для обоснования офф-чейн аудитов поставщиков оракулов для подтверждения соответствия стандартам безопасности, таким как функции контроля в Cloud Controls Matrix от Cloud Security Alliance (CSA), а также для предоставления полезной информации о проведении аудита источников и байт-кода оракулов для смарт-контрактов.

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

Например, если все ноды согласятся с тем, что Луна сделана из зелёного сыра, они могут заставить USER-SC проглотить этот ложный факт.

Параметр MOON COMPONENTS = {GREEN CHEESE} будет записан на блокчейне и виден всем пользователям.

Читайте также Обзор Akroma – самого крутого форка Ethereum, майнинг которого вам стоит начать как можно скорее

Система обновления контракта

Как показали недавние взломы, программирование надёжных смарт-контрактов является чрезвычайно сложным делом.

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

По этой причине команда ChainLink предлагает собственную систему обновления контракта.

Команда подчеркивает, что использование этого сервиса является полностью опциональным и находится под контролем пользователей.

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

Недавно созданные смарт-контракты запросов смогут перейти на новый набор контрактов оракулов.

К сожалению, уже существующим смарт-контрактам придётся довольствоваться старыми, потенциально уязвимыми наборами.

Таким образом, в долгосрочной перспективе CHAINLINK-SC в обращениях к оракулу от контрактов запроса будет поддерживать флаг (MIGFLAG), указывающий, следует ли переадресовать вызов на новый CHAINLINK-SC, если он станет доступен.

По умолчанию (т. е. при отсутствии флага) действует значение false, но при активации MIGFLAG позволит запрашивать контракты для автоматического перенаправления и миграции на новую версию CHAINLINK-SC.

Чтобы активировать перенаправление, пользователь настраивает контракты запроса на отправку ChainLink запросов с MIGFLAG = true.

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

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

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

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

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

Именно по этой причине контракты запроса имеют полный контроль над функцией перенаправления, то есть, могут отказаться от активации «аварийного люка«.

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

Читайте также Ethereum против Cardano. Сравнение двух доминирующих децентрализованных платформ

Принципы дизайна проекта

Продолжая свою работу над ChainLink, команда будет отдавать приоритет следующим основным ценностям

  • Децентрализация для безопасности и открытости систем. Децентрализация – это не только основа защитных свойств блокчейнов, но и основа их инклюзивного (permissionless) характера. Продолжая создавать децентрализованные системы, команда ChainLink стремится обеспечить дальнейшее развитие инклюзивной экосистемы. Команда ChainLink считает, что децентрализация является важнейшим компонентом для процветания глобальной экосистемы с долгосрочной устойчивостью.
  • Модульность для простоты и гибкости конструкции системы. Команда ChainLink придерживается философии создания небольших инструментов, которые хорошо делают одно дело. Простые компоненты можно легко понять и в дальнейшем безопасно совместить в более сложные системы. Команда ChainLink считает, что модульность не только облегчает модернизацию системы, но и обеспечивает децентрализацию. Везде, где ключевые части ChainLink управляются слишком небольшим количеством участников, команда ChainLink постарается разработать экосистему, которая позволяет использовать программы конкурентов.
  • Открытый исходный код для безопасности и расширяемости систем. ChainLink основан на большом количестве разных проектов с открытым исходным кодом. Команда ChainLink ценит своё сообщество и продолжит вносить свой вклад, поддерживая открытый исходный код проекта. Для экспертной оценки команда ChainLink планирует постоянно взаимодействовать с разработчиками, учеными и экспертами по безопасности. Команда ChainLink поощряет проведение тестов, аудита и формальных доказательств безопасности, стремясь создать платформу, надёжность и безопасность будут достаточно высокими для поддержки будущих инноваций.

Источник.

Команда

Источник: Сайт ChainLink.

Сергей Назаров – генеральный директор.

Начав свою карьеру в FirstMark Capital, в 2011 году он ушёл оттуда, чтобы присоединиться к криптовалютной революции.

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

Стив Эллис – технический директор.

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

Он большой поклонник таких проектов, как Ethereum, Bitcoin и децентрализованного будущего в целом.

Дмитрий Рош – инженер-программист.

Ранее Дмитрий был инженером-программистом в компаниях Pivotal Labs и McKinsey. На данный момент он продолжает возглавлять инженерные команды в таких крупных компаниях, как Infogroup.

Он с оптимизмом смотрит на влияние смарт-контрактов на общество, благодаря справедливости и прозрачности, которые они обеспечивают.

Марк Облад – начальник отдела операций.

Марк начал свою карьеру в Gunderson Dettmer, помогая управлять ростом ведущих глобальных хедж-фондов.

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

Алекс Квятковский – инженер-программист.

Алекс – опытный инженер-программист, который ранее работал в компаниях Pivotal Labs и Northpass, создавая безопасное и масштабируемое корпоративное программное обеспечение.

С оптимизмом смотрит на положительное влияние, которое хорошо сделанные смарт-контракты окажут на мировую финансовую систему.

Джон Баркер – инженер-программист.

После академической карьеры, посвящённой изучению безопасности сети Tor, Джон продолжил руководить командами разработчиков, которые создали некоторые из крупнейших систем обработки «big data«, а также внесли вклад в такие важные проекты, как язык программирования Rust.

Дэн Кочис – руководитель отдела по глобальному развитию бизнеса и партнёрствам.

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

Он играл важную роль в первом приобретении Alibaba в США, в нескольких глобальных стратегических партнерствах с годовой выручкой более 120 млн долларов и корпоративных выходах с рынка на общую сумму более 4 млрд долларов.

Аделин Чжоу – директор по маркетингу.

Аделин является опытным маркетологом со специализацией по росту, и её работа в предыдущих компаниях привела их к приобретению лидерами отрасли, такими как Amazon.

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

Томас Ходжес – инженер по интеграции.

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

Он также большой поклонник ChainLink и децентрализованного будущего.

Рори Пиант – менеджер сообщества.

Рори – опытный менеджер сообщества с подлинной страстью к продвижению таких стоящих технологических проектов, как ChainLink, к принятию более крупными платформами смарт-контрактов и криптовалютными сообществами.

Консультанты

Источник: Сайт ChainLink.

Ари Джуэлс – технический советник.

Ари является профессором компьютерных наук в технологическом институте Джейкобса Корнельского и одним из директоров IC3 (Initiative for Cryptocurrencies and Contracts).

Ранее он был главным научным сотрудником в RSA.

Эндрю Миллер – технический советник.

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

Является адъюнкт-профессором компьютерных наук в Университете Иллинойса и советником в проектах Zcash и Tezos.

Эван Ченг – технический советник.

Эван является одним из создателей системы LLVM, которая генерирует низкоуровневый машинный код, работающий в каждом устройстве Apple, а также в большей части Google, Nvidia и Intel.

Том Гонсер – советник.

Том является основателем DocuSign, ведущей компании по разработке цифровых подписей, которая произвела революцию в сфере цифровых контрактов.

Это опытный предприниматель, исполнительный директор и член совета директоров, который увеличил стоимость своего предприятия на миллиарды долларов.

Хадсон Джеймсон – технический советник.

Хадсон является менеджером сообщества Ethereum, а также хорошо известным и авторитетным специалистом по смарт-контрактам и дорожной карте развития Ethereum.

Также он написал о том, почему он поддерживает данный проект.

Джейк Брухман – советник.

Ранее Джейк был техническим директором в Triton Research, а затем основал CoinFund, одну из ведущих исследовательских групп, специализирующихся на web 3.0 и инфраструктуре блокчейна.

Брайан Лио – советник.

Брайан является генеральным директором компании Smith + Crown, общепризнанного лидера в области блокчейн-исследований.

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

Читайте также Что такое Casper: дружелюбное привидение Ethereum

Рынки и объём торгов

Информация от Coinmarketcap.com:

Информация от Etherscan.io:

Информация от Coinlib.io:

TA

Цена ChainLink образует паттерн «бычий вымпел«, который чаще всего заканчивается пробоем вверх.

Читайте также Децентрализованные биржи (Dexs): будущее криптовалют

Конкуренты

Microsoft Coco

Confidential Consortium Blockchain Framework – это система с открытым исходным кодом, которая позволяет создавать хорошо масштабируемые конфиденциальные сети блокчейн, которые отвечают всем ключевым корпоративным требованиям, являясь средством для ускорения внедрения блокчейн-технологий на производстве.

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

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

Используя возможности существующих блокчейн-протоколов, доверенных сред выполнения программ (TEE), таких как Intel SGX и Windows Virtual Secure Mode (VSM), распределённых систем и криптографии, Confidential Consortium Blockchain Framework позволяет создавать корпоративные блокчейн-сети, которые имеют следующие характеристики

  • Пропускная способность и задержка приближаются к скорости работы базы данных.
  • Более богатые, гибкие, ориентированные на конкретные предприятия модели конфиденциальности.
  • Управление сетевой политикой с использованием принципов распределённого управления.
  • Поддержка недетерминированных транзакций.

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

Oraclize (Переименована в Provable)

Oraclize – ведущий сервис оракулов для смарт-контрактов и блокчейн-приложений, обслуживающий ежедневно тысячи запросов на таких платформах, как Ethereum, Rootstock, R3 Corda, Hyperledger Fabric и EOS.

Решение, разработанное Oraclize, призвано продемонстрировать, что данные, извлекаемые из исходного источника, являются подлинными и неподдельными.

Это достигается путём сопровождения возвращенных данных документом, называемым «доказательством подлинности«.

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

Это решение позволяет элегантно победить проблему оракулов

  • Разработчикам блокчейн-приложений и пользователям таких приложений не нужно доверять Oraclize, модель безопасности обо всём позаботится.
  • Поставщикам данных не нужно перестраивать свои сервисы, чтобы быть совместимыми с блокчейн-протоколами. Смарт-контракты могут напрямую обращаться к данным с веб-сайтов или API.
  • Движок Oraclize легко интегрируется как с частными, так и с публичными вариантами различных блокчейн-протоколов.

Hivemind

Hivemind – это одноранговый протокол оракула, который поглощает точные данные в блокчейн, давая пользователям Bitcoin возможность спекулировать на рынках прогнозирования.

Эти рынки могут произвести революцию в технологиях возникновения и распространения знаний в обществе.

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

Результаты определяются взвешенным голосованием с учётом количества у пользователей монет «VoteCoin«, которых всегда существует постоянная сумма (что обеспечивает иммунитет от атак Сивиллы).

Право собственности на VoteCoins перераспределяется в соответствии с правилами координационной игры Шеллинга (Schelling Coordination Game), которая дестабилизирует только вредоносные картели.

Голоса крупных индивидуальных злонамеренных пользователей сдерживаются падением рыночной стоимости Votecoin и угрозой (в редких случаях) вето со стороны майнеров.

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

Aeternity

Говоря очень простыми словами, Aeternity – это не только новая блокчейн-платформа, но и видение будущего.

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

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

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

Платформа открыта для использования всем желающим в любой точке мира.

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

Aeternity Oracle Machine предоставляет на блокчейн данные из реального мира. Каждый пользователь может задать вопросы об окружающей среде, и оракул даст ответ.

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

Mobius

Mobius объединяет старый интернет с новым децентрализованным «Интернетом ценности«.

Точно так же, как Stripe интегрирует обработку платежей в приложения, Mobius (MOBI) интегрирует блокчейн-экосистему в приложения.

Простые публичные интерфейсы API абстрагируют основную сложность интеграции и разработки блокчейна; поэтому любой разработчик может создавать на блокчейне модульные конструкции без специальных знаний о нём.

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

Магазин децентрализованных приложений (DApp Store) позволяет любому разработчику безопасно распространять и масштабировать приложения для применения на разных блокчейнах и ускорения массового принятия.

Примером использования MVP является магазин DApp Store, который делает процесс приёма криптовалютных платежей в приложении тривиальным для разработчиков.

В протокол Mobius входят стандарты для регистрации на блокчейнах, платежей, смарт-контрактов, управления и оракулов.

Witnet

Witnet – это децентрализованная сеть оракулов (DON), которая соединяет смарт-контракты с внешним миром.

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

Witnet работает на блокчейне с собственным токеном (называемым Wit), где майнеры называются свидетелями и зарабатывают на извлечении, подтверждении и доставке веб-контента для клиентов.

С другой стороны, клиенты тратят токены Wit, чтобы заплатить «свидетелям» за их работу по извлечению-подтверждению-доставке (Retrieve-Attest-Deliver, RAD).

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

Благодаря этому у «свидетелей» есть мощный стимул честно выполнять свою работу, защищать свою репутацию и не обманывать сеть.

Читайте также От A до Z: Полный криптовалютный глоссарий

Дорожная карта

Не существует.

Механика токенов

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

Для того, чтобы смарт-контракты в таких сетях, как Ethereum, могли использовать ноды ChainLink, им нужно будет оплатить услуги выбранного оператора ноды ChainLink токенами LINK.

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

Токен LINK – это токен ERC20 с дополнительной функцией ERC223 «transfer and call«, которая выглядит как transfer(address,uint256,bytes) и позволяет контрактам получать и обрабатывать токены в рамках одной транзакции.

Источник.

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

Ноды отправляют заявки на эти смарт-контракты, при этом им нужно будет внести сумму штрафа (в LINK), если создатель смарт-контракта решит установить её.

Ноды, не выбранные для работы, смогут вернуть токены, которые они потратили на заявку.

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

Если нода возвращает в смарт-контракт приемлемые данные, она получает оплату (в LINK) как за частичное, так и за полное завершение (в зависимости от того, что нужно в конкретном случае).

Например, если предписание заключается в том, чтобы получить данные от поставщика только один раз, то по завершении нода получает оплату в 100%.

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

Оплата за завершение предписаний и штрафные суммы с течением времени накапливаются, а не возвращаются автоматически на Ethereum-адрес ноды.

Оператору ноды необходимо будет оплатить сбор за «газ«, чтобы вывести накопленные токены LINK.

Источник.

Параметры токена

Цена токена при ICO: 1 LINK = 0,11 USD (0,00038462 ETH).

Источник.

Итог

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

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

Проект ChainLink известен своей слабой связью с сообществом, хотя в последние несколько месяцев эта тенденция меняется – всё чаще появляются сообщения в Твиттере, а также публикуется много объявлений о партнерских отношениях с подтверждениями.

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

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

У ChainLink уже есть несколько рабочих оракулов, и некоторые даже были продемонстрированы для SWIFT, обеспечив себе место на Sibos.

Это привело к появлению множества слухов, которые ходят даже сейчас, тем более, что на сайте ChainLink говорится следующее:

«мы сотрудничаем с лидерами в сфере банковских технологий, такими как SWIFT, помогая банкам подключать смарт-контракты с использованием системы Enterprise Grade Oracles«.

К сожалению, никакой дополнительной информации и никаких подтверждений нет, поэтому данная тема остаётся весьма спекулятивной.

Не так давно в сообществе циркулировали слухи о партнёрстве NASDAQ с ChainLink. Это было из-за проекта Brave New Coin (BNC), который сотрудничает с Chainlink в качестве поставщика данных.

Nasdaq работает с BNC по созданию индексов Bitcoin Liquid Index (BLX) и Ethereum Liquid Index (ELX), и есть информация, что для получения данных о ценах будет использоваться ChainLink.

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

ChainLink имеет ряд конкурентов как среди традиционных, так и среди криптовалютных компаний, но большинство крипто-конкурентов довольно новые или только частично пересекаются с ChainLink (например, Aeternity больше является конкурентом EOS-ETH), тогда как такие конкуренты, как Microsoft COCO или Provable (который недавно стал партнером ChainLink ) имеют серьёзный недостаток: они являются централизованными сервисами.

С другой стороны, ChainLink не хватает экономических документов с описанием стимулов для операторов нод, было бы неплохо увидеть использование доходов, а также распределение 35% токенов, которые зарезервированы для стимулирования экосистемы.

И ещё – несмотря на то, что на Github и Pivot наблюдается довольно высокая активность, всё равно было бы приятно увидеть дорожную карту.

Все эти моменты связаны со слабым взаимодействием ChainLink с сообществом.

Поскольку Testnet активна уже довольно давно и Mainnet тоже скоро будет запущена, компании не помешало бы увеличить свою прозрачность.

Таким образом, ChainLink является перспективным проектом с некоторыми рабочими функциями (на testnet) и рядом сильных партнеров, при этом вокруг него ходит множество слухов.

Оставить комментарий

ТОП 3 криптобиржи