Репутация блокчейн-оракулов
Автор
Oracle LabsИзложение мыслей компании reputation.link о репутации оракулов в сети.
Репутация оракула является важным компонентом экосистемы Chainlink - по мере того как все больше пользователей присоединяются к сети, а протокол Chainlink требует все меньше времени для интеграции, необходимо найти способ быстро определить, какие сети оракулов или отдельные оракулы являются более надежными и наиболее экономически эффективными для определенных соглашений смарт-контрактов. В приведенной ниже статье мы рассмотрим и расскажем подробнее о некоторых идеях, которые могут сформировать репутацию Chainlink, а также о некоторых препятствиях по мере развития.
Таблица содержания
- Идеальный оракул
- Показатели репутации на цепочке
- Время отклика
- Выполненные задания
- Производительность ставок
- Атака на репутацию
- Атака на отставку
- Атака длинного обмана
- Точность ответа
- Оффчейн анализ для репутации
- Репутация и агрегация вне цепочки
- Риск третьей стороны
- Специализация оракулов и репутации
- Обнаружение мошенничества
- Подтверждение данных и репутация
- Заключительная заметка
Идеальный оракул
Репутация оракула должна отражать объективное качество его работы. Одним из способов стандартизации репутации является оценка репутации. То, как балл отражает работу оракула, можно считать субъективной мерой, и поэтому он никогда не будет полностью корректным, но его предназначение - дать наилучший или наиболее близкий ответ на вопрос о качестве оракула. Чтобы правильно сформулировать то, что может составить репутационный балл, ниже приведены и рассмотрены качества идеального оракула. Идеальный оракул - это:
- Первым отвечает на запросы
- Крайне низкое время ответа (за 1 блок)
- Выполняет 100% заданий
- Всегда гарантирует выполнение соглашений об обслуживании с соответствующим обеспечением
- Не несет никаких штрафных платежей
- Время безотказной работы 99,99%.
- Всегда передает объективную правду
При достижении времени безотказной работы и времени отклика, если какой-либо критический компонент оракула выходит из строя или падает, идеальный оракул должен реализовать протокол обхода отказа, который включается для обеспечения того, чтобы оракул оставался онлайн и реагировал на запросы. Для обеспечения надежности сети и децентрализации, вычислительные компоненты и другие аппаратные требования в идеале должны размещаться в локальной частной среде. Это не только способствует децентрализации сетей оракулов, но и исключает зависимость от сторонних облачных провайдеров, которые обладают абсолютной властью при управлении инфраструктурой.
Идеальный оракул должен быть честным в своих ответах, подписываясь на поставщиков API или, что более идеально, иметь доступ к первичному источнику данных. Будучи подключенным к реальному изменению состояния, будь то через IoT-устройство или через лицензионные права на размещение базы данных, получающей первичные данные о конкретном потоке данных, оракул должен находиться как можно ближе к источнику. Оракул должен быть прозрачным в том, как он получает свои данные, и быть в состоянии проверить и предоставить доказательства своего источника и любой агрегации/вычислений, выполненных на этих данных.
Оракул должен действовать как агент, не требующий доверия, который отдает приоритет правильному и целевому исполнению смарт-контракта, согласованного сторонами. Он должен быть беспристрастным к взяткам или поиску выгоды, которые могут изменить результат предоставления данных и выполнения контракта. Другими словами, у идеального оракула нет другого стимула, кроме как говорить правду. Если одна организация имеет в своем распоряжении более одного оракула, они должны предоставить эту информацию, чтобы заказчик работы был осведомлен о шансах атаки "сибиллы", подрывающей соглашение об обслуживании.
Показатели репутации на блокчейне
Для определения любой формы оценки репутации следует использовать только полностью проверяемые данные.
Данные о ставках, очевидно, являются наиболее интуитивным способом оценки репутации оракула через сумму стоимости, поставленную на узел Chainlink, и потерю стейка. Однако очень важно учитывать и другие метрики сети, которые могут повлиять на репутационный балл. Ниже мы рассмотрим их:
- Время отклика
- Выполненные задания
- Производительность стейкинга
Время отклика
Измеряемые показатели:
- Цена используемого газа: 100 Gwei
- Продолжительность между запросом и ответом: 1 блок, 13 секунд
- Средний процент ответа: 30% лучших
При рассмотрении того, как время ответа оракула должно влиять на оценку репутации, предполагается, что оракул, который отвечает первым, должен считаться наиболее производительным оракулом в данном случае. При такой логике время ответа может быть измерено и зарегистрировано путем упорядочивания оракулов по цене газа и определения того, сколько блоков им требуется для ответа.
Рассмотрим пример, когда два оракула могут отправить свой ответ по сети в одно и то же время. Если ответы обоих оракулов будут помещены в один и тот же блок транзакций, то наибольшую репутацию за эту транзакцию получит тот оракул, который использовал самую высокую цену газа.
Использование цены на газ в качестве фактора определения может намекать на то, что репутацию за время ответа можно "купить". Наиболее конкурентоспособный оракул с самой высокой репутацией, скорее всего, будет тем, у кого есть необходимые ресурсы для успешного управления своим оракулом. Для сети Chainlink быстрое время отклика необходимо для эффективного масштабирования объема сети, и если повышение цены на газ уменьшит время отклика, то это будет желаемым результатом.
Учитывая будущее, в котором могут быть вычислительно сложные и трудоемкие задания, где время отклика в блоке может достигать 15+ блоков, было бы несправедливо, если бы время отклика блока отрицательно влияло на репутацию. Чтобы решить эту проблему, в будущем для определения репутации для определенных типов заданий может быть реализован процентный показатель отклика. В случае, когда оракул отправляет ответ через 20 блоков после запроса, но отвечает первым из многих оракулов, что ставит его в верхний процент ответивших, он получит наивысший балл репутации, достижимый для данной транзакции. Однако для такого процесса необходимо учитывать минимально необходимое количество респондентов.
Транзакции Mempool можно просматривать, и из них можно вывести ответ оракула, если только не приняты меры по обеспечению конфиденциальности, скрывающие содержащиеся в транзакции данные. Было бы несправедливо обосновывать время ответа на основе того, когда ответ оракула появляется в мемпуле узла, из-за разного порядка транзакций, который демонстрируют узлы. Кроме того, могут быть транзакции, которые появляются в mempool, но не выполняются из-за недостаточного количества газа или по другой причине.
Ответы, отклоненные заказчиком, все равно могут внести свой вклад в репутацию оракула по времени ответа. Одна из причин этого заключается в том, что могут быть реализованы чрезвычайно избирательные и уникальные методы агрегирования - например, может быть случай, когда заказчик ищет медианный ответ оракула, принимая только 1 ответ от 100 оракулов. Кроме того, намеренный ответ без предоставления правильных данных в качестве средства сокращения времени ответа, вероятно, станет экономически нецелесообразным по мере введения штрафных платежей и ставок.
Выполненные задания
Измерения:
- Выполненные задания: 100
- Коэффициент завершенности: 100%
При измерении метрики выполнения заданий и рассмотрении того, как она влияет на репутацию оракула, предполагается, что репутация оракула должна определяться общим количеством выполненных заданий и коэффициентом выполнения заданий. Оракул, который принял много заданий или соглашений об обслуживании, но почти не выполнил ни одного из них, не должен поддерживать высокую репутацию. Успешное выполнение задания - это критический фактор, на который обращают внимание заказчики. Поэтому вычисление коэффициента выполнения заданий можно считать одним из наиболее объективных показателей, которые могут формировать репутационный балл.
С точки зрения расшифровки ценности каждого выполненного задания, такие данные, как LINK, заработанный за одно задание, будут достойной метрикой для анализа со стороны заказчиков. Оператор может выполнить 1000 заданий стоимостью 1 LINK каждое, но заработать столько же LINK, сколько оператор, выполнивший 1 задание стоимостью 1000 LINK. LINK заработанные и LINK заработанные за запрос - это чрезвычайно легкая метрика для искусственной манипуляции, поэтому рекомендуется с осторожностью использовать ее для получения оценки репутации.
Соглашения об оказании услуг, в которых используется контракт, инициированный внешним инициатором, требуют дополнительного рассмотрения с точки зрения того, как это может повлиять на репутацию. Например, рассмотрим соглашение об оказании услуг, в котором на время действия договора страхования нанимается оракул, отслеживающий температуру устройства IoT. Если IoT-устройство превышает пороговое отклонение от определенной температуры, то договор исполняется. Если устройство не регистрирует отклонение, то во время действия договора об оказании услуг не будет зарегистрировано выполнение задания от этого оракула. Если выполнение задания не зарегистрировано, то отвечающий оракул не получит никакой репутации за задание, которое он, возможно, только что успешно выполнил.
Производительность стейкинга
Измеряемые показатели:
- Общее количество LINK в стейке 100 000 LINK
- Всего LINK потеряно 0 LINK
LINK, заработанный через сервисные соглашения и потерянный через стейки, — это очень объективный способ измерения эффективности оракула. Одно из предположений, которое можно сделать при анализе этих данных, заключается в том, что наиболее авторитетные оракулы в сети — это те, которые поставили наибольшую сумму на поставку своих данных. С другой стороны, наименее эффективные оракулы — это те, которые со временем потеряли большую часть своего стейка.
Атака на репутацию
Показатель репутации имеет ценность только в том случае, если получить высокий показатель достаточно сложно и если все заинтересованные стороны в системе согласны с тем, что он является ценным показателем способностей оракула. Очень важно предусмотреть случаи, когда репутацию можно подтасовать, обмануть или манипулировать ею. Были рассмотрены две атаки, не относящиеся к сфере Sybil или Mirroring:
- Атака на отставку
- Атака длинной аферы
Атака на отставку
Смерть репутации, или атака на отставку, — это когда оракул теряет свою репутацию, взяв взятку или просто не желая больше участвовать в сетевой активности. Чтобы экосистема функционально выжила и выработала иммунитет против атак с подкупом, оракул должен ценить долгосрочные преимущества репутации больше, чем краткосрочную выгоду от взятки. Сеть Chainlink является чрезвычайно нишевым рынком, и любая атака мошенников на выходе, проведенная псевдоанонимным оракулом, не обязательно приведет к наказанию субъекта-оператора узла в реальном мире.
В настоящее время все фиды Chainlink являются "легкими фидами" (как в контексте MakerDAO) - оракулами, которые заявили о своей идентичности как компании или организации. В будущем, вероятно, появятся оракулы, которые не будут иметь никакой идентичности за пределами своего адреса в сети Ethereum или другого блокчейна, и в этом случае им нечего будет сохранять в физическом мире.
Атака с длинным обманом
Благодаря децентрализованной природе Ethereum и Chainlink с открытым исходным кодом у оракулов есть возможность создавать собственную репутацию, используя собственные контракты. Создание собственной репутации в такой среде может считаться экономически нецелесообразным, поскольку в LINK нет чистой прибыли, а есть только чистые потери на ETH, потраченные на газ и ресурсы, используемые для поддержания работы оракула. Хотя затраты на газ для завоевания репутации могут быть возмещены и даже получена прибыль, если вступить в то, что мы называем "атакой с длинным обманом".
В атаке Long Con Attack оракул с "искусственной" репутацией может быть использован для атаки на контракты с высокой стоимостью, которые ищут оракулы с высокой репутацией. Выбрав оракул, который создал свою репутацию с единственной целью саботажа, атакующий оракул может сообщить неверный ответ, если у него есть возможность получить прибыль от контракта другими способами, потерять свою ставку и затем получить прибыль от всей сделки.
При наличии штрафных депозитов и использовании большого количества оракулов заказчики заданий должны быть в состоянии легко защититься от такой атаки - но такая атака может быть предсказуема для искушенного злоумышленника. Интересно отметить, что "искусственная" репутация оракула может быть сопоставима с неискусственной репутацией других оракулов, поскольку анализ на цепи является полностью объективным, когда речь идет о регистрации времени отклика, скорости выполнения заданий и цен на газ.
Точность ответа
Точность ответа может быть получена из активности в сети. Метрика точности может учитывать, принят ли ответ оракула контрактом на агрегацию или нет. Когда группа оракулов отвечает на запрос, их ответы могут пройти через фазу агрегирования. Результат ответа после агрегации может привести к тому, что ответ оракула будет принят или отклонен (т.е. он даст правильный или неправильный ответ). В бинарных случаях это простой расчет. В одном из многих возможных случаев, связанных с ценовыми потоками, заказчики могут решить, что ответы, выходящие за пределы двух стандартных отклонений от агрегированного значения, считаются неправильными. Стоит отметить, что существует неограниченное количество вариантов, когда речь идет о методах агрегирования ответа.
Потенциальным решением для создания последовательности и обеспечения точности после агрегирования является создание стандартизированных форматов агрегирования. Например, может существовать формат '2DEV', который принимает ответы только в пределах 2 стандартных отклонений от среднего значения. Этот формат '2DEV' может быть помечен для использования в течение всего срока действия соглашения об обслуживании - только когда этот стандарт отмечен, точность ответа будет регистрироваться системой.
Офф-чейн анализ для репутации
На основе оценки всех данных, относящихся к оракулам, соглашениям об услугах и контрактам, как в сети, так и вне сети, можно сформулировать и представить в легко воспринимаемой форме результаты анализа. Представляя дополнительные данные к тем, что уже предоставлены оценкой репутации и основными метриками, можно получить более глубокое представление о прошлом оракула.
Дополнительное понимание может быть достигнуто путем мониторинга различных уникальных запросов, которые обслуживает оракул. На основе этих данных можно сделать выводы о вариативности и гибкости оракула, когда речь идет о заключении различных соглашений об обслуживании по разным контрактам. Для заказчика, который ищет опытного оракула, может показаться невыгодным, если оракул обслуживал только один предыдущий контракт, даже если у него очень высокая репутация.
Мониторинг таких данных, как различные соглашения об оказании услуг, в которых участвовали оракулы, а также данные, связанные с этими соглашениями об оказании услуг, позволит провести анализ с учетом специфики работы. Кроме того, можно получить представление о доходах и потерях на одно задание, проанализировав LINK, заработанные или потерянные через штрафные депозиты. Предварительный анализ может быть проведен в тестовой сети Ethereum, чтобы определить, тестировал ли оракул свои возможности. Цель здесь - предоставить заказчику задания как можно больше данных, чтобы помочь ему принять наиболее обоснованное решение о выборе оракула.
Атаки Сивиллы могут быть заранее обнаружены путем выявления оракулов, которые отвечают идентичным образом. Существует риск, что оракулы могут быть ложно отнесены к атакующим сибилам из-за того, что многие из них работают на похожих облачных серверах. Но оракулы, рожденные в одно и то же время, обслуживающие одни и те же контракты, отвечающие в одно и то же время, использующие одну и ту же цену на газ, могут быть отмечены как подозрительные. Еще одним элементом отслеживания может быть анализ того, какие адреса Ethereum вложили ETH в узел для его финансирования, что указывает на высокий риск атаки Сивиллы.
Репутация и агрегация вне сети
Агрегация вне сети (OCA) означает, что определить метрики, отличные от суммы стейка в сети, несколько сложнее. Учитывая, что при OCA агрегированный ответ может быть единственным, который записывается в сети блокчейн - время ответа всех оракулов и то, представили ли они ответы, не представлено в явном виде в сети.
Как указано в техническом описании Chainlink, в части агрегации вне сети, когда оракул представляет ответ, он генерирует цифровую подпись. Затем эта цифровая подпись может быть отправлена в контракт проверки, который вознаграждает оракулов за предоставление доказательств ошибочного поведения. Что касается того, отвечает оракул или нет, предлагается, чтобы этот контракт на проверку принимал от оракулов аттестацию, которая представляет собой набор ответов, подписанных цифровой подписью, которые они получили от других оракулов. И в этом случае оракулы будут вознаграждаться за свои ответы. Обращаясь к этому договору о проверке, можно получить данные, относящиеся к ответу оракула, если он ответил на запрос.
Для решения проблемы времени ответа, если ответ оракула имеет цифровую подпись и временную метку, можно зафиксировать время, когда оракул представил свой ответ, а затем сравнить его с временем публикации запроса, чтобы определить время ответа.
Риск третьей стороны
В будущем любой поставщик репутации, который полагается на централизованные компоненты своей системы для сбора и генерирования оценки репутации, может рассматриваться как риск безопасности третьей стороны и, следовательно, как дыра в безопасности. Одним из решений для защиты от сбоев третьей стороны является генерирование и запись оценки репутации в сети блочейн. Это означает, что на последнюю записанную в сети оценку могут ссылаться другие аналитические фронт-энды, а также она может быть использована в соглашениях об обслуживании. Безусловно, существуют и другие меры, которые можно предпринять для обеспечения достоверности и доказуемости данных в сфере развертывания IPFS и вычислений в стиле Truebit.
Специализация оракулов и репутация
По мере дальнейшей реализации рынка данных Chainlink один из возможных сценариев заключается в том, что определенные оракулы пойдут по пути специализации. Будь то специализация на производительности (например, высокая обработка, безопасные вычисления) или отраслевая специализация (стать оракулом, обслуживающим все точки данных, которые могут быть получены на рынке погоды). Из-за специализации сложно сформировать репутационный балл, который мог бы точно определить репутацию оракула в конкретном контексте - поэтому можно ожидать, что несколько поставщиков репутации будут обслуживать несколько рынков для различных случаев использования оракула.
Например, можно ожидать, что будет существовать система скоринга, которая специализируется на анализе данных и структуры устройств IoT. Эта система может создать методы наблюдения и выделения аномалий, которые обнаруживаются в этих устройствах. Такое обнаружение аномалий будет ключевой частью в распознавании мошеннического поведения и ответов. Кроме того, само оборудование может быть оценено системой генерации репутации на предмет наличия или отсутствия в устройстве мер защиты от взлома, средств безопасности и т. д. При специализации можно ожидать появления рынков аудита и других услуг, обеспечивающих страхование устройств или их безопасность на объекте.
Рассмотрим сеть "мудрости толпы", состоящую из человеческих оракулов, которые голосуют за исход событий с помощью собственного устройства. В примере со скачками, которые не записываются и не имеют данных о результатах скачек, создатель контракта о ставках может потребовать 1000 человеческих оракулов для ввода результатов скачек. Человеческие оракулы могут затем заключить соглашение об оказании услуг, по которому они получают вознаграждение LINK за точность ответа после агрегирования, или они могут сообщить и проголосовать за исход скачек и получить вознаграждение через механизм выплат, аналогичный механизму монет Шеллинга. Из этого случая использования человеческого оракула может возникнуть поставщик репутационных услуг, который специализируется на анализе достоверности и надежности устройства для голосования/человека.
Обнаружение мошенничества
Обнаружение мошенничества — это услуга, которая анализирует и доказывает, что оракулы получают свои данные от поставщика оригинальных данных. Обнаружение мошенничества действует как мера, гарантирующая, что оракулы предоставляют оригинальные ответы, а не участвуют в атаках халявы или зеркалирования, которые подрывают ценность соглашения об обслуживании. На высоком уровне такая услуга может быть достигнута за счет того, что поставщики данных подписывают свой ответ цифровой подписью, когда оракул обращается к их API. Цифровая подпись с отметкой времени может быть передана оракулу, который затем передает ее стороннему эксперту по борьбе с мошенничеством. Затем этот эксперт сопоставляет подпись, предоставленную оракулом, с подписью, которую первоначально сгенерировал поставщик данных.
Первоначальное применение услуг по выявлению мошенничества будет наиболее подходящим для быстро растущего пространства TVL DeFi стоимостью 7 млрд долларов США. Для этих смарт-контрактов, которые сильно зависят от достоверности данных, которые они получают от оракулов. Для этих приложений DeFi важно иметь в реальном времени информацию о том, мошенничают ли оракулы в соглашении об услугах, чтобы можно было исключить оракула из соглашения об услугах или обновить его для повышения безопасности.
При внедрении такой системы очень важно, чтобы оракулы, которые, по сообщениям системы обнаружения мошенничества, имеют ложные положительные результаты, не подвергались суровому наказанию. Необходимо, чтобы дизайн системы был прозрачным и максимально объективным. Оракулы, обнаруженные поставщиком услуг по обнаружению мошенничества, могут быть быстро внесены в черный список другими оракулами и создателями контрактов, чтобы предотвратить будущие атаки и вытеснить оракулов-паразитов.
Простая система обнаружения мошенничества, подобная описанной выше, будет эффективна для демонстрации того, что оракул подписан на поставщика данных. Но она не эффективна для демонстрации того, являются ли данные, которые использует оракул, теми же самыми данными, которые ему предоставлены - они должны быть сопоставлены с результатами API либо с помощью проверяемых вычислений, либо с помощью доверенной третьей стороны.
Достоверность данных и репутация
API и ценовые каналы, используемые для определенных контрактов DeFi, в значительной степени определяют уровень риска контракта при проведении анализа рисков. Поэтому рационально, что стороны, участвующие в смарт-контракте, будут стремиться выбирать оракулов и поставщиков данных, которые обеспечивают высокий уровень прозрачности, доказательств и репутации используемых ими источников данных. Ожидается, что в результате такого выбора, обусловленного спросом, поставщики данных и устройства для сбора данных станут более открытыми и прозрачными в отношении методов, с помощью которых они собирают данные, и средств защиты от сбоев, которые предусмотрены на случай атак.
Необходимость минимизировать риск, вплоть до устройства, записывающего данные, открывает рынки для поставщиков репутации на всех этапах цепочки создания стоимости смарт-контракта. Репутация может применяться к поставщикам услуг Ethereum, производителям устройств IoT и поставщикам API. Например, в случае с поставщиком API репутация может быть применена к нему путем анализа таких показателей, как время безотказной работы, пропускная способность и точность (по сравнению с другими аналогичными поставщиками данных).
Дополнительное подтверждение происхождения данных может быть достигнуто с помощью таких протоколов, как DECO. DECO позволяет пользователям доказать, с какого сайта они получили данные, которые могут храниться в частных базах данных. Риск можно минимизировать, используя протокол TLS с тройным квитированием, поскольку он обеспечивает доказательство того, что данные получены из определенного источника - однако он не доказывает, были ли данные, полученные из источника, подвергнуты манипуляциям или являются "правильными".
Относительный рейтинг эффективности
Решая, как построить модель, которая будет количественно оценивать репутацию сети Chainlink, наша команда поставила перед собой несколько целей:
- Децентрализовать "весовые коэффициенты" метрик.
Репутационная платформа не должна и не будет нести единоличную ответственность за принятие решений о том, какие метрики являются ценными для рынка, а какие нет.
- Поощрять конкуренцию и свободный рынок
Рейтинг должен быть эластичным, оракулы должны постоянно пытаться обогнать друг друга в борьбе за долю рынка.
- Поощрять специализацию
Как следует из второго пункта, на свободном рынке будут развиваться различные ниши. Наша модель будет поощрять и вознаграждать оракулов, которые занимают эти ниши, что приведет к специализации оракулов.
- Масштабируемость для n метрик
Мы хотим, чтобы расчет репутации развивался вместе с экосистемой цепочек. Ценные и нишевые метрики сегодняшнего дня останутся и через 10 лет. Наша модель должна динамически адаптироваться по мере того, как эти изменения происходят в экосистеме.
Мы считаем, что разработанная нами модель отвечает этим целям, и с нетерпением ждем ее представления в ближайшие пару месяцев.
Заключение
Репутационные платформы отображают исторические и реальные показатели работы отдельных оракулов, позволяя разработчикам быстро и эффективно оценить надежность оракулов и, в свою очередь, понять гарантии безопасности информационных каналов, обеспечивающих работу децентрализованных финансовых и других протоколов. Это позволяет разработчикам смарт-контрактов и пользователям проводить должную проверку безопасности приложения.