Доказуемые случайные числа в блокчейне
12 апреля 2022 г.«Генерация случайных чисел в блокчейне должна быть доказуемой и использовать проверяемое случайное начальное число для извлечения случайности из физических явлений. Кроме того, RNG должен быть простым, быстрым и дешевым для реализации в блокчейн-проектах»
Блокчейн-футуристы предсказывают, что 2022 год станет годом «GameFi», когда игроки смогут зарабатывать криптовалюту и вознаграждения NFT, соревнуясь с другими игроками, проходя игровые уровни и задачи, а также выполняя различные задания.
Связанные с играми проекты, такие как Decentraland, The Sandbox, Axie Infinity, Gala, Enjin и Illuvium, и это лишь некоторые из них, пользуются огромным успехом с точки зрения доли рынка криптовалют и увеличения рыночной капитализации.
Одним из основных элементов GameFi являются случайные числа, и способность любого игрового блокчейн-проекта генерировать их для своих платформ и приложений имеет решающее значение для их успеха. Проще говоря, случайные числа обеспечивают необходимую «случайность», позволяя разработчикам делать свои игры и DApp менее детерминированными, более разнообразными и уменьшать количество повторяющихся игровых паттернов.
Не только это, но и генераторы случайных чисел (ГСЧ) можно использовать для внутриигровой статистики и характеристик персонажей. Например, у игрового персонажа могут быть случайно сгенерированные значения скорости, силы, защиты, урона, оружия и т. д. Случайные числа можно использовать для создания игровых карт, что позволяет мирам выглядеть по-разному каждый раз, когда вы играете в игру. Случайные числа также могут использоваться для ИИ (искусственного интеллекта), когда внутриигровые враги могут предпринимать менее предсказуемые действия, чтобы затруднить продвижение игроков.
Вы найдете использование случайных чисел не только в предложениях GameFi, основанных на блокчейне. Их также можно найти в основных играх. Например, всемирно популярная MMORPG-игра World of Warcraft использует случайные числа, чтобы позволить создателям игры предоставлять случайные выпадения добычи, которые могут повлиять на исход игры.
Вариант использования случайных чисел не ограничивается играми. Онлайн-казино и лотереи также используют RNG. Их можно использовать для симуляции и моделирования данных, генерации ключей шифрования, случайного выбора выборки из больших наборов данных и многого другого.
Если легко понять преимущества и полезность случайных чисел, то также должно быть легко признать важность доказуемых, недетерминированных методов генерации случайных чисел.
Обычно существует два основных подхода к генерации случайных чисел с помощью компьютера: генераторы псевдослучайных чисел (PRNG) и генераторы истинных случайных чисел (TRNG).
PRNG (генератор псевдослучайных чисел) — это компьютерный способ генерации чисел, которые кажутся случайными, но основаны на том, какое «начальное число» было использовано для их генерации. Во многих отношениях вычислительное семя немного похоже на настоящее семя растения. Все вырастает из семени или происходит из него. С точки зрения ГПСЧ, для генерации начального числа можно использовать несколько математических функций и алгоритмов, и чем сложнее функции и алгоритмы, тем более «случайным» кажется начальное число.
К сожалению, неф PRNG никогда не считается по-настоящему случайным. Если начальное число получено из набора математических вычислений, то, понимая эти расчеты, вы сможете заранее определить начальное число. По общему признанию, это может оказаться сложной, а в некоторых случаях ресурсоемкой задачей, но в конечном итоге PRNG никогда не будет по-настоящему случайным. Существует также потенциальный финансовый риск, если генератор случайных чисел не является действительно случайным. Представьте, если бы отдельный человек или группа хакеров могли заранее определить случайное число, которое будет сгенерировано для онлайн-казино или лотереи? Последствия могут быть катастрофическими.
Поэтому генераторы истинных случайных чисел (TRNG) предпочтительнее почти во всех мыслимых сценариях. TRNG используют поддающееся проверке случайное начальное число для извлечения случайности из физических явлений. Примерами физических явлений, которые можно использовать для извлечения случайности, являются оптический шум в лазерах или радиоактивный распад в атомах. С точки зрения блокчейна, полностью основанного на программном обеспечении, возможность генерировать настоящие случайные числа оказалась сложной задачей.
Для разработчиков блокчейнов были доступны решения, такие как решение Chainlink VRF (проверяемая случайная функция), которое является рабочей реализацией статьи Шэрон Голдберг о проверяемой случайной функции для [NSEC5] (https://eprint.iacr.org/2017/ 099.pdf), основанный на криптографии на эллиптических кривых (ECC). Хотя это, возможно, настолько близко к истинной генерации случайных чисел, насколько это может обеспечить программное решение, по собственному признанию Chainlink все же отмечается, что VRF может, по крайней мере теоретически, быть предопределен, если у вас есть доступ к секретному ключу. /s, из которого происходит само семя.
«Случайная» в «поддающейся проверке случайной функции» означает «полностью непредсказуемая (равномерно распределенная) для любого, кто не знает начального числа или секретного ключа».
https://blog.chain.link/chainlink-vrf-on-chain-verifying-randomness/
С точки зрения разработчиков блокчейна, еще одной проблемой, связанной с использованием модели VRF, являются сборы, связанные с «извлечением» случайного числа из источника вне сети с использованием сервера вне сети (оракула). Запросы из внешнего источника требуют оплаты газа за блокчейн, в котором существует приложение, запрашивающее случайные числа. В дополнение к этому, есть сборы, которые должны быть выплачены самим Chainlink за предоставление услуги VRF, которые оплачиваются токенами LINK.
Стоимость использования службы Chainlink VRF варьируется в зависимости от блокчейна, запрашивающего случайное число, но вызов одного случайного числа из Chainlink VRF в Binance Smart Chain (BSC) в настоящее время стоит 0,2 LINK, что соответствует примерно 5 долларам США по состоянию на январь 2022 года.
К счастью, у разработчиков блокчейна теперь есть жизнеспособная альтернатива для получения недорогих доказуемых случайных чисел в цепочке с использованием решения высокопроизводительного блокчейна (HPB) — «Аппаратного генератора случайных чисел» (HRNG). Решение основано на получении начальное значение из уникальной ускорительной карты Blockchain Offload Engine (BOE) High-Performance Blockchain.
Карту BOE можно рассматривать как графическую карту GPU, специально разработанную для блокчейна.
![High Performance Blockchain (HPB) — фотография карты ускорителя Blockchain Offload Engine (BOE)] (https://cdn.hackernoon.com/images/-fqa3lkn.png)
Карта BOE не обрабатывает компьютерную графику, а вычисляет и создает блоки, формирующие блокчейн HPB. Это единственная в мире цепочка блоков, которая объединяет аппаратное обеспечение с программным обеспечением для создания блокчейна уровня 1, полностью совместимого с виртуальной машиной Ethereum (EVM) основной сети.
Обрабатывая блоки на аппаратном уровне на карте BOE, серверы (узлы), образующие блокчейн, могут работать с молниеносной скоростью (5000 транзакций в секунду) при низких затратах (0,0001 доллара США за транзакцию) с высокой безопасностью.
Помимо этих преимуществ, есть также включение аппаратного шифрования и снижение потребления электроэнергии серверным узлом для майнинга блоков за счет «разгрузки» процессов майнинга блоков с сервера (ЦП/ГП) на выделенные аппаратные чипы на BOE разработан специально для этой задачи.
Однако одним из основных преимуществ карты BOE является то, что начальное число случайных чисел может быть получено из ее реального оборудования. HRNG определяет крошечные отклонения напряжения (до 0,00001 вольта) с помощью аналого-цифрового преобразователя на BOE. Эта постоянно меняющаяся цифра используется для создания действительно случайной строки из 256 цифр и букв, добавляемых к каждому новому блоку в цепочке.
Все узлы, составляющие структуру высокопроизводительного блокчейна (в настоящее время 194 активных узла), оснащены картами ускорителей HPB BOE.
Разработчики, желающие создавать DApp на высокопроизводительном блокчейне, могут совершенно бесплатно получать доказуемые случайные числа для своих криптопроектов.
Вы можете увидеть генерируемые случайные числа в обозревателе блоков HPB HSCAN, а также найти подробную информацию о создании и включении случайных чисел в блокчейн-проекты в HPB Gitbook
Оригинал