همانطورکه در دهه های اخیر و در فضای اینترنت، تعاملات اقتصادی، اجتماعی و فرهنگی افزایش یافته، تقاضا برای تصادفی بودن و غیرقابل پیش بینی بودن جهان طبیعی نیز بیش تر شده است. اصطلاح «تصادفی» به معنای فقدان یک الگو یا قابل پیش بینی بودن یک دنباله است. اهمیت نتایج تصادفی در بلاک چین و وب 3 بیش تر از سایر حوزه های دیجیتال است. مسلماً ایجاد مکانیسم های امنیتی قوی و فرآیند تصمیم گیری بی طرفانه و قابل اعتماد مستلزم نتایج غیرقابل پیش بینی است. با ما همراه باشید تا مفهوم تصادفی بودن، انواع آن و چالش های تصادفی بودن در بلاک چین و اکوسیستم وب 3 را بررسی کنیم.

مقدمه ای بر نتایج تصادفی

یک عدد تصادفی عددی است که به طور تصادفی از یک توزیع خاص انتخاب شود؛ بنابراین، انتخاب مجموعۀ بزرگی از آن اعداد، توزیع زیربنایی را بازتولید می کند. تقریباً همیشه لازم است چنین نتایجی مستقل باشند تا بین اعداد متوالی همبستگی ای وجود نداشته باشد.

نتایج تصادفی از زمان وجود کامپیوترها مشکل ساز بوده اند. ممکن است فکر کنید که استفاده از یک تابع تصادفی در زبان برنامه نویسی موردعلاقه شما یک عدد تصادفی واقعی را تولید می کند، اما همۀ این روش ها از نظر علمی مولدهای شبه تصادفی نامیده می شوند. مواردی وجود داشته است که برخی از برنامه های بسیار تصادفی ماهیت قطعی را نشان داده اند و حاوی الگوهای بوده اند که به راحتی قابل تشخیص بودند.

با قراردادهای هوشمند و بلاک چین، مشکل نتایج تصادفی از این هم فراتر می رود. اگر پروژۀ شما به شدت به اعداد تصادفی متکی نیست، می توانید با هش کردن برخی از داده های منحصر به فرد، اعداد تصادفی را در زنجیرۀ بلوکی تقلید کنید؛ اما اگرNFT ها را بفروشید و محصول شما توجه و بودجۀ قابل توجهی از جامعه را به خود جلب کند، هدف هکرها خواهید بود.

آغاز نتایج تصادفی در دنیای دیجیتال

بشریت مدت هاست که از شانس استفاده کرده است. از پرتاب تاس یا خواندن نقشه برای دانستن آیندۀ خود تا سایر کاربردهای آیینی. با این حال، تا قرون وسطی (زمانی که تصادفی بودن به طور رسمی مورد مطالعه قرار گرفت) در مورد آن صحبت نمی شد.

درواقع، یکی از کاربردهای اصلی تصادفی بودن مربوط به مطالعۀ عدد پی (Pi) و شکل تصادفی و نامتناهی اعداد اعشاری آن است. ریاضیدانان علاقه مند به این واقعیت شروع کردند به بررسی اینکه چگونه این پدیده ممکن است در فضاهای دیگر تکرار شود.

اما با ظهور مبانی ریاضی احتمال و مبانی الگوریتمی، تصادفی بودن برای مطالعۀ فیزیک، به ویژه فیزیک کوانتومی، یک امر اساسی محسوب می شود. در محاسبات، استفاده از اعداد تصادفی برای ایجاد الگوریتم ها، تراشه ها و البته سیستم های رمزنگاری، یکی از فناوری های اساسی در ایجاد دنیای دیجیتال و امنیت آن است.

آغاز نتایج تصادفی در دنیای دیجیتال

ایده وب 3 چیست؟

ایدۀ اصلی Web 3 در سال 2014 توسطGavin Wood، یکی از بنیانگذاران اتریوم و بنیانگذار Polkadot ارائه شد. از سال 2021 توجه زیادی به این مفهوم شد و حرکت به سمت آن جدی تر از گذشته گشت. وب 3 را می توان راه حلی برای مشکلات نسل دوم وب دانست. فرصت های محدود برای کسب درآمد، کنترل اطلاعات افراد توسط شرکت های بزرگ و به طور کلی تمرکز منابع ازجمله مشکلاتی است که وب نسل سوم برای حل آن ها ظهور کرد.

نسل سوم وب، پلتفرمی است که علاوه بر ویژگی های نسل های قبلی، ویژگی دارایی را اضافه تر دارد. این بدان معنی است که کاربران نه تنها می توانند به محتوای مختلف دسترسی داشته باشند و محتوای جدید ایجاد کنند، بلکه کنترل کاملی بر آنچه می توانند ایجاد کنند و در آن فضا تأثیر بگذارند نیز دارند.

وبینار پیشنهادی
از صفر تا ترید به سبک نخبگان
از صفر تا ترید به سبک نخبگان

چگونه مانند نخبگان به سود مستمر در ترید برسیم؟ جمعه ساعت 18

ثبت نام وبینار

ویژگی های وب ۳

برای درک بهتر ایدۀ وب 3 ویژگی های آن را به صورت موردی ذکر می کنیم:

  • عدم تمرکز: به جای اینکه اینترنت تحت مالکیت و کنترل نهادهای متمرکز باشد، مالکیت بین سازندگان و کاربران توزیع می شود.
  • فرصت های برابر: همه از فرصت های برابری برای مشارکت در اینترنت و وب برخوردارند و هیچ کس مستثنی نیست.
  • پرداخت های بومی: هر پروژۀ فعال در وب 3 باید سیستم اقتصادی خود را مبتنی بر ارسال و دریافت آنلاین و نه اتکا به زیرساخت های قدیمی داشته باشد.
  • اعتماد بدون وجود شخص ثالث: اعضا و اجزای این فضا براساس سازوکارهای اقتصادی و نظام پاداش و تنبیه بدون نیاز به نهاد نظارتی و میانجی با یکدیگر همکاری می کنند.
ویژگی های وب ۳

تصادفی بودن در بلاک چین

فناوری بلاک چین و تصادفی بودن آن در حال پیشرفت است. با علم به اینکه کامپیوترها نمی توانند تولیدکنندۀ اعداد تصادفی واقعی را نشان دهند (آشوب و نظم نمی توانند در یک الگوریتم همزیستی داشته باشند)، یکی از این پیشرفت های تصادفی بودن در بلاک چین، استفاده از همان بلاک چین برای استفاده از تولید «نتیجۀ تصادفی» است تا بتوان از آن ها در موارد مختلف استفاده کرد.

برای کامپیوترها تقریباً غیرممکن است که اعداد واقعاً تصادفی را نشان دهند. توسعه دهنده می تواند الگوریتمی برای تولید نتایج تصادفی ایجاد کند؛ اما این مولد از «پارامترهای» ثابت (الگوریتمی) پیروی می کند که در نهایت با روش های ریاضی و احتمالی قابل بررسی است. درواقع، این الگوریتم های تولید اعداد تصادفی (یا اعداد شبه تصادفی) قابل تجزیه و تحلیل و شکسته شدن هستند که منجر به تولید اعداد تصادفی می شوند.

با در نظر گرفتن این موضوع، بسیاری از توسعه دهندگان بلاک چین در تلاش هستند تا داده های درون این شبکه ها را به مولدهای اعداد تصادفی تبدیل کنند تا بتوانند در برنامه های کاربردی دیگری مورد استفاده قرار گیرند. اما این چگونه ممکن است؟ در ادامه، ابزارهایی برای دستیابی به این هدف معرفی می کنیم.

بلوک هش

یکی از ابزارهای دستیابی به این هدف، بلوک هش است که از هش بلوک ها، تراکنش ها یا ترکیبی از آن ها به عنوان منبع تصادفی استفاده می کند. از آنجایی که هش قطعی است، همه به یک نتیجه می رسند. یک بلوک، پس از اضافه شدن به بلاک چین، برای همیشه در آنجا باقی می ماند و به همه اجازه می دهد تا صحت اعداد تولیدشده را تأیید کند.

با این حال، این روش یک مشکل امنیتی جدی دارد؛ هش ها را می توان توسط ماینرها دستکاری کرد. درحالی که این مشکل کوچک به نظر می رسد، در یک تولیدکنندۀ نتایج تصادفی امن غیرقابل قبول است. به همین دلیل از این سیستم بسیار محدود استفاده می شود.

بلوک هش

اوراکل

استفاده از اوراکل ها راه دیگری برای تولید نتایج تصادفی در بلاک چین برای برنامه های شخص ثالث هستند. پروژه هایی مانند Provable، Uniswap TWAP یا Chainlink VRF تنها نمونه هایی از این سیستم هستند.

عملکرد این سیستم آسان است. پس از اینکه این سیستم ها داده ها را از منابع خارجی جمع آوری کردند، آن ها را در شبکۀ خود پردازش کرده و مجموعۀ عظیمی از داده های تصادفی را تولید خواهند کرد تا بتوانند توسط کاربران سیستم استفاده شوند. بهترین بخش این سیستم غیرمتمرکزبودن آن است. همچنین این سیستم از منابع تصادفی مختلفی به صورت موازی استفاده می کند. علاوه بر این، همۀ این ها با یک آزمایش رمزنگاری شده برای تأیید داده های تولیدشده به طور تصادفی همراه هستند.

اهمیت نتایج تصادفی در وب 3

بسیاری از مردم ممکن است اهمیت نتایج تصادفی در بلاک چین و وب 3 را درک نکنند؛ به خصوص هنگام تعیین نتایج بازی های بلاک چین، پروژه های NFT یا هنر دیجیتال. برنامه های وب 3 برای تولید نتایج منصفانه و غیرقابل پیش بینی نیاز به یک منبع تصادفی امن دارند. به عنوان مثال، ویژگی هایی مانند شناسایی مکان دارایی ها در بازی های متاورس، افزودن تنوع به الگوریتم هنری مولد، اهدای جوایز به برندگان، بلیط های رویداد معتبر یا دوره ای تعیین شرکت کنندگان و سازمان های خودمختار (DAO) برای یک نقش حاکمیتی خاص، همگی نیازمند یک منبع امن تصادفی هستند.

از آنجایی که این سیستم ها می توانند ارزش دنیای واقعی را به شکل قابل توجهی شبیه سازی کنند، نتایج قابل بهره برداری راه حل های تصادفی غیربهینه می تواند عدم تقارن اطلاعات و مزیت ناعادلانه ای را برای زیرمجموعه ای از شرکت کنندگان ایجاد کنند. این سناریوها اغلب می توانند بازخوردهایی منفی ایجاد کنند که منجر به عدم تعادل قدرت در تعاملات می شود و در نهایت منجر به شکست کامل مکانیسم های اقتصادی و تئوری بازی که برای فعال کردن فعالیت اقتصادی و هماهنگی اجتماعی طراحی شده اند خواهد شد.

دسترسی به یک منبع تصادفی که برای همۀ شرکت کنندگان غیرقابل پیش بینی و ممیزی است، کار آسانی نیست. با این حال، میل به شفافیت در صنعت Web3، به برنامه ها و پروتکل های بسیاری فضا داده است که از همتایان Web2 خود متمایز هستند. توانایی دسترسی به یک منبع تصادفی منصفانه و بی طرفانه به شیوه ای ایمن و قابل تأیید، موارد استفادۀ جدید زیادی را در بازی های بلاک چین، NFT، حکومت غیرمتمرکز، رسانه های اجتماعی Web3، جمع آوری سرمایه و خیریه، نشانه های اجتماعی و موارد دیگر ایجاد می کند.

اهمیت نتایج تصادفی در وب 3

ایجاد اعداد تصادفی

ما الگوها و نتایج غیرقابل پیش بینی زیادی را در طبیعت می یابیم، اما آیا در مورد نتایج تصادفی رایانه ها تا این حد مطمئن هستیم؟ رایانه ها دستگاه های قطعی هستند و ممکن است نتوان اعداد تصادفی واقعی را از طریق یک سری الگوریتم های رایانه ای تولید کرد. اگرچه رویدادهای تصادفی به صورت جداگانه غیرقابل پیش بینی در نظر گرفته می شوند، تعداد و فراوانی پیامدهای مختلف در رویدادهای تکراری قابل پیش بینی است. به عنوان مثال، نتیجۀ هر تاس انداختن غیرقابل پیش بینی است. با این حال، احتمال نتایج بیش از 100 تاس انداختن را می توان با قطعیت محاسبه کرد.

آیا نتایج تصادفی واقعا تصادفی هستند؟

برای اینکه بدانیم آیا یک نتیجۀ تصادفی واقعاً تصادفی است یا خیر، باید مجموعه ای از قوانین را برای یک دنبالۀ تصادفی تعریف کنیم. این قوانین به شرح زیر هستند:

  • غیر قابل پیش بینی: نتایج باید غیرقابل پیش بینی باشند.
  • بی طرفانه: احتمال هر نتیجه باید برابر باشد.
  • قابل تأیید: نتیجه باید به طور مستقل قابل تأیید باشد.
  • محافظت در برابر دستکاری: فرآیند تولید نتایج تصادفی باید در برابر هرگونه دستکاری ایمن باشد.
  • غیر قابل تکرار: امکان بازتولید فرآیند تولید نتایج تصادفی وجود ندارد مگر اینکه توالی اصلی حفظ شود.

کامپیوتر را می توان به عنوان یک دستگاه قابل پیش بینی در نظر گرفت؛ زیرا اجزا و مدارهای آن و مجموعه ای از کدها و الگوریتم های تعریف شده، پیش بینی خروجی اعداد تصادفی یا دنباله های تولیدشده توسط کامپیوتر را در شرایط ثابت ممکن می سازد. همانطورکه یک ماشین حساب نتیجۀ معادلۀ 2+2 را به عنوان عدد 4 نشان می دهد، یک کامپیوتر نیز باید خروجی خاصی را برای همان ورودی تولید کند. بنابراین، کامپیوترها ممکن است نتوانند شرایط احتمال و اعداد تصادفی واقعی را ایجاد کنند.

برای حل این محدودیت، مولدهای اعداد تصادفی (RNG) از Seed  استفاده می کنند. Seed به اصطلاح دانه یا ورودی برای محاسبۀ خروجی است. Seedرا می توان به شکل های مختلفی تولید کرد؛ به عنوان مثال، داده های یک عکس و زمان یا حرکت ماوس کاربر را می توان به عنوان Seedاستفاده کرد.

با این حال، اگر بازتولید فرآیند تولید اعداد تصادفی دشوار باشد، به این معنی نیست که از نظر فنی بازتولید فرآیند غیرممکن است. ترکیب چندین روش دشوار برای تکرار تولید Seed نتایج نسبتاً قابل اعتمادی را به همراه دارد. حتی با فرض اینکه Seed در طول زمان آشکار شود، این روش همچنان قابل اعتماد است. اما اگر از یک روش ریاضی مشابه برای تولید Seed استفاده شود، نتایج واقعاً تصادفی نیستند.

RNG های شبه تصادفی در مقابلRNG های واقعی

به طور کلی مولدهای اعداد تصادفی را می توان به دو دسته تقسیم کرد. مولد اعداد شبه تصادفی و مولد اعداد تصادفی واقعی. مولد اعداد شبه تصادفی از الگوریتم های ریاضی برای تولید مقادیر تصادفی استفاده می کند و مولد اعداد تصادفی واقعی از ابزارهای فیزیکی مانند نویز اتمسفر استفاده خواهد کرد.

تابع مولد اعداد تصادفی شبه

مولدهای اعداد شبه تصادفی (PRNG) مجموعه ای از الگوریتم ها هستند که از فرمول های ریاضی برای تولید یک دنبالۀ تصادفی استفاده می کنند. درواقع، این دنبالۀ تصادفی تقلیدی از اعداد تصادفی واقعی است. از آنجایی که رایانه ها سیستم های گسسته ای هستند، اعدادی که تولید می کنند برای ناظران انسانی تصادفی به نظر می رسند؛ اما نتایج ممکن است حاوی الگوهای قابل تشخیص باشد و شناسایی الگو از طریق تحلیل های آماری گسترده امکان پذیر خواهد بود.

مولدهای اعداد تصادفی واقعی (TRNG) از منابع فیزیکی مانند نویز اتمسفر، فروپاشی ایزوتوپ های رادیواکتیو یا ایستایی در امواج برای تولید اعداد تصادفی بر اساس پدیده های طبیعی استفاده می کنند. از آنجایی که تصادفی بودن در این روش از پدیده های فیزیکی ناشی می شود، ویژگی تصادفی آن قوی تر و غیرقابل پیش بینی تر از رایانه ها است. در این صورت، امکان قطعیت اطلاعات مورد استفاده در مولدهای اعداد تصادفی واقعی وجود دارد. اگر بتوانید بین مولد اعداد تصادفی واقعی و پدیدۀ مورد استفاده قرار بگیرید، می توانید همان سیگنال را دریافت کنید تا دنبالۀ اعداد را دقیقاً درک کنید.

اگرچه مولدهای اعداد تصادفی واقعی می توانند دنباله های تصادفی را تقریباً هیچ الگوی قابل تشخیصی ندارند و احتمال تشخیص در آن ها کمتر است را تولید کنند، اما هزینۀ بالا، استفادۀ آن ها را برای برنامه های معمول غیرعملی می کند. در مقایسه با TRNG ها، PRNG ها مزیت دیگری به نام تکرارپذیری دارند. ناظر فرآیند با دانستن نقطۀ شروع دنباله می تواند همان دنبالۀ اعداد را بازتولید کند و از این طریق امکان تأیید فرآیند تولید اعداد تصادفی فراهم خواهد شد. این ویژگی یک ویژگی کارآمد و مفید برای برنامه های وب نسل سومی است که از تصادفی بودن استفاده می کنند.

چرا تصادفی بودن در بلاک چین مهم است؟

مهم ترین اصل رمزنگاری در بلاک چین، امنیت فرآیند تولید نتایج تصادفی است. توابع هش رمزنگاری یک عنصر ضروری در تولید کلیدهای خصوصی برای کیف پول های رمزنگاری شده هستند و حدس زدن کلید خصوصی را دشوار می کنند. برخی از مطالعات تعداد ترکیب های کلید خصوصی ممکن در تابع هش SHA-256 پروتکل بیت کوین را با تعداد تخمینی اتم ها در جهان مقایسه می کنند.

تصادفی بودن در الگوریتم های اثبات کار

اساساً، اجماع توزیع شده با تعداد پیام هایی که می توان در یک دورۀ زمانی معین ارسال کرد (خروجی) و زمان ارسال پیام در سراسر شبکه (تأخیر) محدود می شود. بنابراین، اجماع توزیع شده در یک بلاک چین غیرعملی است؛ جایی که هزاران شرکت کنندۀ توزیع شده باید توافق کنند و هر گره باید پیام هایی را به گره های دیگر ارسال کند.

بنابراین، شبکه ای مانند بیت کوین از مکانیزم اثبات کار (PoW) برای محدودکردن تعداد انتقال پیام مورد نیاز برای اجماع استفاده می کند. الگوریتم اثبات کار تعیین می کند که کدام بلوک ها به عنوان منبع تصادفی به بلاک چین اضافه می شوند. از آنجایی که حل معمای محاسباتی ماینرها و رقبای آن ها برای افزودن یک بلاک به بلاک چین بسیار دشوار و پیچیده است، احتمال حل همزمان چندین گره معما بسیار کم خواهد بود. این تعداد پیام هایی را که شبکه برای رسیدن به اجماع نیاز دارد، محدود می کند.

تصادفی بودن در الگوریتم های اثبات سهام

همچنین، در سیستم های Proof-of-Stake (PoS)، از شانس به عنوان مبنایی برای توزیع عادلانه و غیرقابل پیش بینی مسئولیت اعتبارسنجی استفاده می شود. اگر یک عامل مخرب بتواند منبع تصادفی فرآیند انتخاب را تحت تأثیر قرار دهد، به این معنی است که می تواند احتمال انتخاب شدن را افزایش دهد و امنیت شبکه را به خطر بیندازد.

همانطورکه می دانید، بلاک چین ها شفاف هستند، همۀ ورودی ها و خروجی ها در معرض دید شرکت کنندگان قرار می گیرند و توالی های تولیدشده به طور تصادفی را قابل پیش بینی می کنند. به عنوان مثال، برخی از روش های تولید اعداد تصادفی مانند بلوک هش دارای نقص های امنیتی هستند که به راحتی می توان آن ها را دستکاری کرد. اگر یک ماینر یا اعتبار سنجی نتیجۀ خاصی از یک دنبالۀ تصادفی را بخواهد، تولیدکنندۀ بلاک می تواند با تولید نکردن بلوک هایی که برای او مفید نیستند، بر فرآیند تولید توالی تصادفی تأثیر بگذارد. به زبان ساده، می تواند تاس را تا رسیدن به نتیجۀ دلخواه پر کند.

درواقع، راه حل های تولید اعداد تصادفی خارج از زنجیره شفاف نیستند و کاربر باید به ارائه دهندگان دادۀ متمرکز اعتماد کرده و نتایج را به نفع خود دستکاری نکند. همچنین، کاربر راهی برای تشخیص تفاوت بین ویژگی تصادفی واقعی و ویژگی تصادفی دستکاری شده ندارد. علیرغم اهمیت نتایج تصادفی در بلاک چین و وب 3، راه حل های تولید اعداد تصادفی درون زنجیره ای و خارج از زنجیره نگرانی های خاص خود را دارند.

تاکنون اهمیت نتایج تصادفی در بلاک چین و وب 3 را بررسی کرده ایم. Chainlink VRF یک راه حل استاندارد صنعتی تولیدکنندۀ اعداد تصادفی است. این راه حل شرایطی را برای قراردادهای هوشمند و سیستم های خارج از زنجیره ایجاد می کند تا با استفاده از رمزنگاری و محاسبات خارج از زنجیره به یک منبع تصادفی قابل تأیید دسترسی داشته باشند.

هنگامی که یک چالش از کلیدهای خصوصی از پیش تعریف شدۀ گره های Oracle صادر می شود و داده های بلوک هنوز ناشناس هستند، VRF این اطلاعات را برای تولید یک عدد تصادفی و اثبات رمزنگاری ترکیب می کند. برنامه فقط در صورتی اعداد تصادفی واردشده را می پذیرد که دارای مدرک رمزنگاری معتبر باشد. رمزنگاری تنها در صورتی ثابت می شود که عملکرد تصادفی ثابت شود و ضد دستکاری باشد.

تابع اعداد تصادفی قابل تأیید Chain Link از زمان راه اندازی بیش از 6.5 میلیون درخواست برای اعداد تصادفی منصفانه و بی طرفانه را پردازش کرده است. Chainlink VRF در حال حاضر اعداد تصادفی قابل تأیید را به بیش از 3400 قرارداد هوشمند در چندین بلاک چین ازجمله Avalanche، زنجیرۀ پالیگان و  Ethereum را ارائه می دهد.

آیا نتایج تصادفی واقعا تصادفی هستند؟

ویژگی های استاندارد  Chainlink VRFبه شرح زیر هستند:

  • پیش بینی ناپذیری نتایج تصادفی: غیرممکن است که کسی نتایج تصادفی تابع قابل تأیید Chainlink را پیش بینی کند. زیرا داده های بلوک در زمان درخواست تصادفی ناشناخته هستند.
  • انصاف و بی طرفی نتایج: اعداد تصادفی تولیدشده به طور مساوی توزیع می شوند. به عبارت دیگر، شانس همۀ اعداد برابر است.
  • تأییدپذیری نتایج: کاربران می توانند یکپارچگی برنامه را با مراجعه به ورودی های تصادفی Chainlink VRF تأیید کنند.
  • مقاومت در برابر دستکاری فرآیند: اوراکل، نهادهای خارجی، تیم توسعه و یا هیچ کس دیگری نمی تواند در فرآیند تولید اعداد تصادفی دستکاری کند. اگر فرآیند VRF دستکاری شود، گره نمی تواند اثبات رمزنگاری معتبر ایجاد کند و قرارداد هوشمند ورودی اعداد تصادفی را نمی پذیرد.
  • شفافیت: از آنجا که کد منبع باز است، کاربران می توانند فرآیند تصادفی سازی را تأیید کنند.

به لطف این ویژگی های منحصربه فرد، برنامه های مبتنی بر VRF Chainlink می توانند نتایج منصفانه و غیرقابل پیش بینی را از طریق یک تولیدکنندۀ اعداد تصادفی ضد دستکاری به دست آورند. به این ترتیب تجربیات و ویژگی های جالبی امکان پذیر می شود.

سخن پایانی

همانطورکه شانس در طبیعت و دنیای فیزیک کاربردهای زیادی دارد، ما نیز به نتایج تصادفی در دنیای دیجیتال و فضای بلاک چین نیاز داریم. اما نکته اینجاست که چگونه می توانیم به نتایج تصادفی کامپیوتر اعتماد کنیم؟ نتایج تصادفی باید غیر قابل پیش بینی، بی طرفانه، قابل اثبات، ضد دستکاری و غیر قابل تکرار باشند. اهمیت نتایج تصادفی در بلاک چین و وب 3 با کاربردهای متنوع مانند بازی های بلاک چین، پروژه های NFT، حکومت غیرمتمرکز در دائو، رسانه های اجتماعی وب 3 و… دوچندان می شود. تصادفی بودن در بلاک چین و فضای وب 3 اهمیت زیادی دارد و نتایج بازی ها، نقش های رهبری در سازمان های خودگردان در دائو همگی تحت تأثیر نتایج تصادفی هستند.

سوالات متداول

یک نتیجۀ تصادفی عددی است که به طور تصادفی از یک توزیع خاص انتخاب می شود؛ بنابراین انتخاب مجموعۀ بزرگی از آن اعداد، توزیع زیربنایی را بازتولید می کند. تقریباً همیشه لازم است چنین نتایجی مستقل باشند تا بین اعداد متوالی همبستگی وجود نداشته باشد.

فناوری بلاک چین در حال پیشرفت است و تصادفی بودن آن نیز پیشرفت خواهد کرد. با علم به اینکه کامپیوترها نمی توانند یک تولیدکنندۀ اعداد تصادفی واقعی را نشان دهند، یکی از این پیشرفت های تصادفی بودن در بلاک چین استفاده از همان بلاک چین برای استفاده از تولید «نتیجۀ تصادفی» است تا بتوان از آن ها در موارد مختلف استفاده کرد.

Chainlink VRF یک راه حل استاندارد صنعتی تولیدکنندۀ اعداد تصادفی است. این راه حل شرایطی را برای قراردادهای هوشمند و سیستم های خارج از زنجیره ایجاد می کند تا با استفاده از رمزنگاری و محاسبات خارج از زنجیره به یک منبع تصادفی قابل تأیید دسترسی داشته باشند.

به طور کلی، مولدهای اعداد تصادفی را می توان به دو دسته تقسیم کرد. مولد اعداد شبه تصادفی و مولد اعداد تصادفی واقعی. مولد اعداد شبه تصادفی از الگوریتم های ریاضی برای تولید مقادیر تصادفی استفاده می کنند و مولد اعداد تصادفی واقعی هم از ابزارهای فیزیکی مانند نویز اتمسفر بهره می گیرند.