Ця стаття вводить, що таке випадковість, розуміє його види та досліджує виклики, які він ставить у блокчейні та екосистемі Web3.
Термін "випадковість" відноситься до відсутності шаблону чи передбачуваності. Результат підкидання монети, відбиток від пальця та форма сніжинки вважаються непередбачуваними. Хоча непередбачувані результати поширені в природі, це не можна сказати про випадковість, яку генерують комп'ютери. Оскільки комп'ютери є детермінованими пристроями, можливо, не можна згенерувати справді випадкові числа виключно за допомогою набору комп'ютерних алгоритмів.
Крім того, хоча вважається, що окремі випадкові події є непередбачуваними, частота різних результатів упродовж повторюваних подій може бути передбачуваною. Наприклад, хоча результат будь-якого окремого кидка кубика є непередбачуваним, ймовірність результатів за 100 кидків кубика може бути розрахована з високою впевненістю.
З економічними, соціальними та культурними взаємодіями, які все більше відбуваються в Інтернеті, за останні десятиліття зросло попит на імітацію непередбачуваності природного світу та створення цифрових систем, які включають непередбачувані результати. Серед використань цієї непередбачуваності є введення штучної дефіцитності, побудова більш надійних механізмів безпеки та сприяння процесам об'єктивного прийняття рішень.
У цій статті ми розглянемо, що таке випадковість, дізнаємося про типи випадковості та вивчимо виклики, які виникають у зв'язку з випадковістю блокчейни та екосистема Web3.
Щоб обійти це обмеження, генератори випадкових чисел (ГВЧ) використовують насіння - початкове значення (вхід) обчислення, яке використовується для генерації вихідних даних. Насіння може бути згенероване на основі чого-небудь складного для відтворення - дані, зняті з фотографії, час доби, рух миші користувача, або лампи-лампи.
Однак, навіть якщо процес генерації випадкових чисел важко відтворити, це не означає, що відтворення технічно неможливе. Якщо поєднати кілька складних методів генерації насіння, результати можна вважати відносно надійними, навіть якщо розумно припустити, що ці насіння можуть з часом бути розкриті. Але якщо для генерації різних насінь використовується той самий математичний метод, результати не будуть дійсно випадковими. Тоді виникає питання: Який вид випадковості можна вважати дійсно випадковим?
PRNGs - це набір алгоритмів, які використовують математичні формули для генерації випадкової послідовності, яка імітує справжні випадкові числа. Оскільки комп'ютери є різними системами, числа можуть здаватися випадковими для людських спостерігачів, але вони можуть містити розпізнавані шаблони, які можуть бути розкриті за допомогою розгорнутого статистичного аналізу.
TRNGs використовують непередбачувані фізичні джерела, такі як космічний шум, радіоактивний розпад ізотопів або статичний в ефірі, для генерації випадкових чисел на основі природних явищ. Оскільки TRNGs «видобувають» випадковість з фізичних явищ, вони вважаються більш сильною (непередбачуваною) випадковістю, ніж це роблять комп'ютери. Тим не менш, інформація, якою користуються TRNGs, також може бути визначеною. Якщо хтось вставить себе між TRNG та явищем, яке він сканує, він може підхопити той самий сигнал та точно знати послідовність чисел.
Хоча TRNG може створювати випадкові послідовності, які мають менше ймовірність бути розкриті для виявлення розрізнюваних візерунків, вони є більш витратними за PRNG, що робить їх неефективними для загальних випадків використання. PRNG також має ще одну ключову перевагу порівняно з TRNG - відтворюваність. Спостерігач може відтворити ту саму послідовність чисел, якщо він знає початкову точку послідовності, що робить можливим перевірку процесу генерації випадкових чисел - корисний аспект для багатьох Web3застосунки, які включають випадковість.
Розподілений консенсус принципово обмежений кількістю повідомлень, які можуть бути надіслані протягом певного періоду часу (пропускна здатність), і часом, необхідним для надсилання повідомлення через мережу (затримка). У публічному блокчейні з тисячами розподілених учасників, які повинні дійти згоди, кожен вузол, якому потрібно надсилати повідомлення всім іншим вузлам, був би непрактичним. Щоб обмежити кількість повідомлень, які необхідно надіслати для досягнення консенсусу, Bitcoin використовує Proof of Work (PoW) як джерело випадковості, яке визначає, який блок буде додано до блокчейну. Оскільки обчислювальну головоломку, яку майнери змагаються за успішне додавання блоку до блокчейну, важко вирішити, ймовірність того, що кілька вузлів вирішать головоломку одночасно, низька, що обмежує кількість повідомлень, необхідних для досягнення консенсусу мережею.
Випадковість також часто використовується в системах Proof-of-Stake (PoS), щоб підтримувати справедливий та непередбачуваний розподіл обов'язків валідатора. Якщо зловмисник може впливати на джерело випадковості, використовуване в процесі вибору, він може збільшити свій шанс на вибір та підірвати безпеку мережі.
Через прозорість блокчейнів всі входи та виходи відкриті для учасників системи, що потенційно робить передбачуваною послідовність випадкових чисел. Наприклад, деякі методи генерації випадкових чисел на ланцюжку, такі як хешування блоків, містять легко експлуатовані вразливості безпеки. Якщо майнер/валідатор зацікавлений у певному результаті, вирішеному випадковим значенням чи послідовністю, блок-продюсер може впливати на генерацію випадкових послідовностей, не публікуючи блоки, які дали б йому невигоду, фактично перекидаючи кубики до того моменту, поки не з'явиться вигідний результат для нього.
З іншого боку, рішення off-chain RNG є непрозорими, вимагаючи від користувачів довіри до того, що централізований постачальник даних не буде маніпулювати результатами на свою користь, без можливості для користувача відрізнити справжню або маніпульовану випадковість. Обидва рішення стають все більш хвилюючими, коли збільшується обсяг цінності, яку захищає рішення RNG.
Оскільки ці системи можуть накопичувати значну суму реальної вартості, використання неоптимальних рішень щодо випадковості може призвести до інформаційної асиметрії та несправедливої переваги певної частини учасників. Ці сценарії часто можуть створювати негативні зворотні зв'язки, які призводять до дисбалансу сил у взаємодії та призводять до повного невдачі економічних та гейм-теоретичних механізмів, призначених для полегшення економічної діяльності та соціальної координації.
Доступ до джерела випадковості, яке є недоторканим, непередбачуваним та аудитованим всіма учасниками, - це не легка справа. Однак бажання справедливості та прозорості в індустрії Web3 розблокувало багато додатків та протоколів, які виділяються порівняно з їхніми аналогами з Web2. Можливість доступу до справедливого та неупередженого джерела випадковості в перевірено безпечний спосіб відкриває безліч нових використань в блокчейн-грі, NFT,децентралізоване управління, соціальні медіа Web3, збір коштів та благодійність, соціальні токени та ще більше.

Chainlink VRF використовує позацепове обчислення та криптографію для створення недоступного для втручання джерела випадковості.
З моменту свого запуску Chainlink VRF виконав більше 6,5 мільйонів запитів на справедливі та непристрасні випадкові числа та наразі забезпечує перевірену випадковість для понад 3 400 унікальнихрозумні контрактичерез кілька блокчейн мереж, включаючи Avalanche, BNB Chain, Ethereum та Polygon.
Chainlink VRF надає ряд критичних функцій, що роблять його стандартом галузі, таких як:
Якщо ви розробник і хочете швидко підключити свою програму до Chainlink VRF, відвідайте документація розробникаі долучайтеся до технічної дискусії в Discord. Якщо ви хочете запланувати дзвінок для обговорення інтеграції більш докладно, зверніться тут.





