Инструменты Secret Network: Оракулы Secret

Оракулы Secret в Secret Network расширяют возможности децентрализованных и бездоверительных источников приватной случайности, которые могут быть использованы другими контрактами при разработке игр, NFT и многого другого!

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

И тут на помощь готовы прийти Оракулы Secret (“Scrt-RNG”) в Secret Network. Используя децентрализацию Secret Network, а также возможности смарт-контрактов с сохранением конфиденциальности, случайность, генерируемая Оракулами Secret, расширяет возможности создания нового поколения приложений в Secret Network.

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

Безопасная Генерация Случайностей

Безопасность является серьезной проблемой для RNG — генератора случайных чисел, полностью работающего внутри сети. Это связано с тем, что блокчейн детерминирован и не имеет присущей ему случайности. Любой алгоритм псевдослучайных чисел безопасен лишь настолько, насколько безопасен источник энтропии, на котором основана его случайность. Поэтому ключевым моментом для любого RNG является наличие постоянного источника энтропии.

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

Реализация энтропии краудсорсинга в Оракулах Secret возможна только в Secret Network, благодаря четырём важным особенностям:

· Приватность: все крупные RNG генерируют случайные числа на прозрачных блокчейнах. Следовательно, выходные данные случайных чисел записаны внутри сети и доступны для публичного просмотра до тех пор, пока существует блокчейн. Такая прозрачность ограничивает возможные варианты использования; приложения, которым требуются приватные случайные числа, не могут использовать такие RNG. Scrt-RNG предлагает решение, передавая зашифрованные случайные числа, которые доступны только пользователю. Важно отметить, что если смарт-контракт взаимодействует с протоколом Scrt-RNG, вывод случайных чисел не будет доступен для просмотра ни одному пользователю (человеку), если только это специально не предусмотрено смарт-контрактом пользователя.

· Безопасность: случайные числа с высокой степенью защиты позволяют использовать их в приложениях с более высокими ставками. Безопасность в блокчейн-приложениях необходима тогда, когда атаки являются дорогостоящими и сложными. Случайности внутри сети ранее были возможны в Secret Network, но существующие реализации обычно подвержены различным векторам атак, которые ограничивают либо типы приложений, либо размер ставок, прежде чем злоумышленникам станет экономически целесообразно манипулировать RNG. Примеры атак включают в себя запрос случайных чисел в быстрой последовательности (если генератор использует функцию запроса), использование третьего контракта для остановки транзакции при неблагоприятном исходе, а также проведение жесткого форка для предварительного определения результата. С Scrt-RNG проведение таких атак будет более сложным, либо вовсе невозможным. Это позволит развернуть приложения с более высокими ставками на Secret Network, а в конечном итоге и в более широкой экосистеме Cosmos, когда Scrt-RNG станет доступен через IBC Cosmos.

· On-chain (= без комиссии за обслуживание): крупные генераторы случайных чисел по большей части находятся вне сети, поскольку сложно (если не невозможно) реализовать RNG внутри сети на прозрачном блокчейне без ущерба для безопасности. Поэтому наиболее используемый сегодня RNG, VRF от Chainlink, требует наличие ноды оракула для генерации случайных чисел вне сети, которые затем публикуются в сети и проверяются на подлинность с помощью криптографических доказательств. За эту услугу пользователи платят комиссию (в настоящее время 2 LINK за адрес Ethereum за каждый запрос на генерацию случайного числа, что составляет $31 на момент написания статьи). Scrt-RNG будет реализован таким образом, что не потребуется никаких нод оракула или прочих комиссионных. В результате, единственная плата, которую пользователи платят за генерацию случайного числа, — это плата за газ.

· Децентрализация: Scrt-RNG будет реализован в виде одного или нескольких смарт-контрактов. После развертывания, основной алгоритм будет неизменным и доступным для всех, у кого есть адрес Secret (а позже и для всей экосистемы Cosmos). Такая высокая степень децентрализации устраняет любую центральную точку отказа и предоставляет бездоверительный источник случайности.

Решения Scrt-RNG

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

Объединенная энтропия: Scrt-RNG будет генерировать числа на основе начального значения, хранящегося в контракте. Эта модель работает в Secret Network, поскольку хранилище контракта зашифровано и недоступно для извлечения (в отличие от прозрачных блокчейнов). Начальное значение меняется каждый раз, когда пользователь взаимодействует с протоколом. Следовательно, у приложений есть веская причина использовать Scrt-RNG вместо создания копий, поскольку использование Scrt-RNG позволяет объединить энтропию для повышения безопасности генератора случайных чисел.

Contract-friendly: функции дескриптора необходимы для принудительного изменения начального значения при каждом взаимодействии. Однако контракты не могут обработать ответ от другого контракта. Чтобы решить эту проблему, приложение может создать двоичный файл, который хранит всю необходимую информацию, которая понадобится приложению после получения случайного числа (например: вычисленные значения переменных) в виде двоичного файла (“cb_msg”). Cb_msg может быть любым произвольным кодом, который отправляется в первой транзакции и передается обратно пользователю во второй транзакции. Контракт может позже использовать cb_msg для продолжения выполнения с того места, где он остановился, вместе с вновь полученным случайным числом.

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

Архитектура модели с одной транзакцией:

Архитектура модели с двумя транзакциями:

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

Первая реализация Оракулов Secret запланирована на февраль 2022 года в сети Secret Network, обеспечивая безопасную и приватную внутрисетевую случайность для любого адреса Secret. После модернизации инфраструктуры в Secret Network, Scrt-RNG будет доступен для других блокчейнов с поддержкой IBC через прямое взаимодействие между контрактами.

Что дальше?

Следите за новостями о Secret Apps, использующих всю мощь Оракулов Secret! Разработчики и члены сообщества со всего мира продолжают создавать следующее поколение Web3-приложений, сохраняющих конфиденциальность, построенных на Secret Network. Существует бесчисленное множество вариантов использования Secret Network, которые нам еще предстоит изучить. Продолжайте следить за официальными каналами (например, Discord и Twitter) и блогом Secret, чтобы быть в курсе обо всех новых инструментах Secret Network, таких как этот! Кто знает, какие секреты уготованы сообществу…

Вперед к новым вершинам!

Чтобы обсудить Secret Network и Secret Apps, посетите каналы нашего сообщества:

Website | Forum | Twitter | Discord | Telegram

Переведено: The Nuts

--

--