همانطورکه در دهههای اخیر و در فضای اینترنت، تعاملات اقتصادی، اجتماعی و فرهنگی افزایش یافته، تقاضا برای تصادفیبودن و غیرقابل پیشبینیبودن جهان طبیعی نیز بیشتر شده است. اصطلاح «تصادفی» به معنای فقدان یک الگو یا قابل پیشبینیبودن یک دنباله است. اهمیت نتایج تصادفی در بلاکچین و وب 3 بیشتر از سایر حوزههای دیجیتال است. مسلماً ایجاد مکانیسمهای امنیتی قوی و فرآیند تصمیمگیری بیطرفانه و قابل اعتماد مستلزم نتایج غیرقابل پیشبینی است. با ما همراه باشید تا مفهوم تصادفیبودن، انواع آن و چالشهای تصادفیبودن در بلاکچین و اکوسیستم وب 3 را بررسی کنیم.
مقدمهای بر نتایج تصادفی
یک عدد تصادفی عددی است که بهطور تصادفی از یک توزیع خاص انتخاب شود؛ بنابراین، انتخاب مجموعۀ بزرگی از آن اعداد، توزیع زیربنایی را بازتولید میکند. تقریباً همیشه لازم است چنین نتایجی مستقل باشند تا بین اعداد متوالی همبستگیای وجود نداشته باشد.
نتایج تصادفی از زمان وجود کامپیوترها مشکلساز بودهاند. ممکن است فکر کنید که استفاده از یک تابع تصادفی در زبان برنامهنویسی موردعلاقه شما یک عدد تصادفی واقعی را تولید میکند، اما همۀ این روشها از نظر علمی مولدهای شبهتصادفی نامیده میشوند. مواردی وجود داشته است که برخی از برنامههای بسیار تصادفی ماهیت قطعی را نشان دادهاند و حاوی الگوهای بودهاند که بهراحتی قابل تشخیص بودند.
با قراردادهای هوشمند و بلاکچین، مشکل نتایج تصادفی از این هم فراتر میرود. اگر پروژۀ شما به شدت به اعداد تصادفی متکی نیست، میتوانید با هشکردن برخی از دادههای منحصر به فرد، اعداد تصادفی را در زنجیرۀ بلوکی تقلید کنید؛ اما اگرNFTها را بفروشید و محصول شما توجه و بودجۀ قابلتوجهی از جامعه را به خود جلب کند، هدف هکرها خواهید بود.
آغاز نتایج تصادفی در دنیای دیجیتال
بشریت مدتهاست که از شانس استفاده کرده است. از پرتاب تاس یا خواندن نقشه برای دانستن آیندۀ خود تا سایر کاربردهای آیینی. با این حال، تا قرون وسطی (زمانیکه تصادفیبودن بهطور رسمی مورد مطالعه قرار گرفت) در مورد آن صحبت نمیشد.
درواقع، یکی از کاربردهای اصلی تصادفیبودن مربوط به مطالعۀ عدد پی (Pi) و شکل تصادفی و نامتناهی اعداد اعشاری آن است. ریاضیدانان علاقهمند به این واقعیت شروع کردند به بررسی اینکه چگونه این پدیده ممکن است در فضاهای دیگر تکرار شود.
اما با ظهور مبانی ریاضی احتمال و مبانی الگوریتمی، تصادفیبودن برای مطالعۀ فیزیک، به ویژه فیزیک کوانتومی، یک امر اساسی محسوب میشود. در محاسبات، استفاده از اعداد تصادفی برای ایجاد الگوریتمها، تراشهها و البته سیستمهای رمزنگاری، یکی از فناوریهای اساسی در ایجاد دنیای دیجیتال و امنیت آن است.
ایده وب 3 چیست؟
ایدۀ اصلی Web 3 در سال 2014 توسطGavin Wood، یکی از بنیانگذاران اتریوم و بنیانگذار Polkadot ارائه شد. از سال 2021 توجه زیادی به این مفهوم شد و حرکت به سمت آن جدیتر از گذشته گشت. وب 3 را میتوان راهحلی برای مشکلات نسل دوم وب دانست. فرصتهای محدود برای کسب درآمد، کنترل اطلاعات افراد توسط شرکتهای بزرگ و بهطور کلی تمرکز منابع ازجمله مشکلاتی است که وب نسل سوم برای حل آنها ظهور کرد.
نسل سوم وب، پلتفرمی است که علاوهبر ویژگیهای نسلهای قبلی، ویژگی دارایی را اضافهتر دارد. این بدان معنی است که کاربران نهتنها میتوانند به محتوای مختلف دسترسی داشته باشند و محتوای جدید ایجاد کنند، بلکه کنترل کاملی بر آنچه میتوانند ایجاد کنند و در آن فضا تأثیر بگذارند نیز دارند.
ویژگیهای وب ۳
برای درک بهتر ایدۀ وب 3 ویژگیهای آن را بهصورت موردی ذکر میکنیم:
- عدم تمرکز: به جای اینکه اینترنت تحت مالکیت و کنترل نهادهای متمرکز باشد، مالکیت بین سازندگان و کاربران توزیع میشود.
- فرصتهای برابر: همه از فرصتهای برابری برای مشارکت در اینترنت و وب برخوردارند و هیچ کس مستثنی نیست.
- پرداختهای بومی: هر پروژۀ فعال در وب 3 باید سیستم اقتصادی خود را مبتنی بر ارسال و دریافت آنلاین و نه اتکا به زیرساختهای قدیمی داشته باشد.
- اعتماد بدون وجود شخص ثالث: اعضا و اجزای این فضا براساس سازوکارهای اقتصادی و نظام پاداش و تنبیه بدون نیاز به نهاد نظارتی و میانجی با یکدیگر همکاری میکنند.
تصادفیبودن در بلاکچین
فناوری بلاکچین و تصادفیبودن آن در حال پیشرفت است. با علم به اینکه کامپیوترها نمیتوانند تولیدکنندۀ اعداد تصادفی واقعی را نشان دهند (آشوب و نظم نمیتوانند در یک الگوریتم همزیستی داشته باشند)، یکی از این پیشرفتهای تصادفیبودن در بلاکچین، استفاده از همان بلاکچین برای استفاده از تولید «نتیجۀ تصادفی» است تا بتوان از آنها در موارد مختلف استفاده کرد.
برای کامپیوترها تقریباً غیرممکن است که اعداد واقعاً تصادفی را نشان دهند. توسعهدهنده میتواند الگوریتمی برای تولید نتایج تصادفی ایجاد کند؛ اما این مولد از «پارامترهای» ثابت (الگوریتمی) پیروی میکند که در نهایت با روشهای ریاضی و احتمالی قابل بررسی است. درواقع، این الگوریتمهای تولید اعداد تصادفی (یا اعداد شبه تصادفی) قابل تجزیه و تحلیل و شکستهشدن هستند که منجر به تولید اعداد تصادفی میشوند.
با در نظر گرفتن این موضوع، بسیاری از توسعه دهندگان بلاکچین در تلاش هستند تا دادههای درون این شبکهها را به مولدهای اعداد تصادفی تبدیل کنند تا بتوانند در برنامههای کاربردی دیگری مورد استفاده قرار گیرند. اما این چگونه ممکن است؟ در ادامه، ابزارهایی برای دستیابی به این هدف معرفی میکنیم.
بلوک هش
یکی از ابزارهای دستیابی به این هدف، بلوک هش است که از هش بلوکها، تراکنشها یا ترکیبی از آنها بهعنوان منبع تصادفی استفاده میکند. از آنجایی که هش قطعی است، همه به یک نتیجه میرسند. یک بلوک، پس از اضافهشدن به بلاکچین، برای همیشه در آنجا باقی میماند و به همه اجازه میدهد تا صحت اعداد تولیدشده را تأیید کند.
با این حال، این روش یک مشکل امنیتی جدی دارد؛ هشها را میتوان توسط ماینرها دستکاری کرد. درحالیکه این مشکل کوچک به نظر میرسد، در یک تولیدکنندۀ نتایج تصادفی امن غیرقابل قبول است. به همین دلیل از این سیستم بسیار محدود استفاده میشود.
اوراکل
استفاده از اوراکلها راه دیگری برای تولید نتایج تصادفی در بلاکچین برای برنامههای شخص ثالث هستند. پروژههایی مانند Provable، Uniswap TWAP یا Chainlink VRF تنها نمونههایی از این سیستم هستند.
عملکرد این سیستم آسان است. پس از اینکه این سیستمها دادهها را از منابع خارجی جمعآوری کردند، آنها را در شبکۀ خود پردازش کرده و مجموعۀ عظیمی از دادههای تصادفی را تولید خواهند کرد تا بتوانند توسط کاربران سیستم استفاده شوند. بهترین بخش این سیستم غیرمتمرکزبودن آن است. همچنین این سیستم از منابع تصادفی مختلفی به صورت موازی استفاده میکند. علاوه بر این، همۀ اینها با یک آزمایش رمزنگاریشده برای تأیید دادههای تولیدشده بهطور تصادفی همراه هستند.
اهمیت نتایج تصادفی در وب 3
بسیاری از مردم ممکن است اهمیت نتایج تصادفی در بلاکچین و وب 3 را درک نکنند؛ بهخصوص هنگام تعیین نتایج بازیهای بلاکچین، پروژههای NFT یا هنر دیجیتال. برنامههای وب 3 برای تولید نتایج منصفانه و غیرقابل پیشبینی نیاز به یک منبع تصادفی امن دارند. بهعنوان مثال، ویژگیهایی مانند شناسایی مکان داراییها در بازیهای متاورس، افزودن تنوع به الگوریتم هنری مولد، اهدای جوایز به برندگان، بلیطهای رویداد معتبر یا دورهای تعیین شرکتکنندگان و سازمانهای خودمختار (DAO) برای یک نقش حاکمیتی خاص، همگی نیازمند یک منبع امن تصادفی هستند.
از آنجایی که این سیستمها میتوانند ارزش دنیای واقعی را به شکل قابل توجهی شبیهسازی کنند، نتایج قابل بهرهبرداری راهحلهای تصادفی غیربهینه میتواند عدم تقارن اطلاعات و مزیت ناعادلانهای را برای زیرمجموعهای از شرکتکنندگان ایجاد کنند. این سناریوها اغلب میتوانند بازخوردهایی منفی ایجاد کنند که منجر به عدم تعادل قدرت در تعاملات میشود و در نهایت منجر به شکست کامل مکانیسمهای اقتصادی و تئوری بازی که برای فعالکردن فعالیت اقتصادی و هماهنگی اجتماعی طراحی شدهاند خواهد شد.
دسترسی به یک منبع تصادفی که برای همۀ شرکتکنندگان غیرقابل پیشبینی و ممیزی است، کار آسانی نیست. با این حال، میل به شفافیت در صنعت Web3، به برنامهها و پروتکلهای بسیاری فضا داده است که از همتایان Web2 خود متمایز هستند. توانایی دسترسی به یک منبع تصادفی منصفانه و بیطرفانه به شیوهای ایمن و قابل تأیید، موارد استفادۀ جدید زیادی را در بازیهای بلاکچین، NFT، حکومت غیرمتمرکز، رسانههای اجتماعی Web3، جمعآوری سرمایه و خیریه، نشانههای اجتماعی و موارد دیگر ایجاد میکند.
ایجاد اعداد تصادفی
ما الگوها و نتایج غیرقابل پیشبینی زیادی را در طبیعت مییابیم، اما آیا در مورد نتایج تصادفی رایانهها تا این حد مطمئن هستیم؟ رایانهها دستگاههای قطعی هستند و ممکن است نتوان اعداد تصادفی واقعی را از طریق یک سری الگوریتمهای رایانهای تولید کرد. اگرچه رویدادهای تصادفی بهصورت جداگانه غیرقابل پیشبینی در نظر گرفته میشوند، تعداد و فراوانی پیامدهای مختلف در رویدادهای تکراری قابل پیشبینی است. بهعنوان مثال، نتیجۀ هر تاس انداختن غیرقابل پیشبینی است. با این حال، احتمال نتایج بیش از 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، راهحلهای تولید اعداد تصادفی درون زنجیرهای و خارج از زنجیره نگرانیهای خاص خود را دارند.
تابع تصادفی قابل تأیید پیوند زنجیرهای (Chainlink VRF)
تاکنون اهمیت نتایج تصادفی در بلاکچین و وب 3 را بررسی کردهایم. Chainlink VRF یک راهحل استاندارد صنعتی تولیدکنندۀ اعداد تصادفی است. این راهحل شرایطی را برای قراردادهای هوشمند و سیستمهای خارج از زنجیره ایجاد میکند تا با استفاده از رمزنگاری و محاسبات خارج از زنجیره به یک منبع تصادفی قابل تأیید دسترسی داشته باشند.
هنگامیکه یک چالش از کلیدهای خصوصی از پیش تعریفشدۀ گرههای Oracle صادر میشود و دادههای بلوک هنوز ناشناس هستند، VRF این اطلاعات را برای تولید یک عدد تصادفی و اثبات رمزنگاری ترکیب میکند. برنامه فقط در صورتی اعداد تصادفی واردشده را میپذیرد که دارای مدرک رمزنگاری معتبر باشد. رمزنگاری تنها در صورتی ثابت میشود که عملکرد تصادفی ثابت شود و ضد دستکاری باشد.
تابع اعداد تصادفی قابل تأیید Chain Link از زمان راهاندازی بیش از 6.5 میلیون درخواست برای اعداد تصادفی منصفانه و بی طرفانه را پردازش کرده است. Chainlink VRF در حال حاضر اعداد تصادفی قابل تأیید را به بیش از 3400 قرارداد هوشمند در چندین بلاکچین ازجمله Avalanche، زنجیرۀ پالیگان و Ethereum را ارائه میدهد.
ویژگیهای استاندارد Chainlink VRF
ویژگیهای استاندارد Chainlink VRFبه شرح زیر هستند:
- پیشبینیناپذیری نتایج تصادفی: غیرممکن است که کسی نتایج تصادفی تابع قابل تأیید Chainlink را پیشبینی کند. زیرا دادههای بلوک در زمان درخواست تصادفی ناشناخته هستند.
- انصاف و بی طرفی نتایج: اعداد تصادفی تولیدشده بهطور مساوی توزیع میشوند. به عبارت دیگر، شانس همۀ اعداد برابر است.
- تأییدپذیری نتایج: کاربران میتوانند یکپارچگی برنامه را با مراجعه به ورودیهای تصادفی Chainlink VRF تأیید کنند.
- مقاومت در برابر دستکاری فرآیند: اوراکل، نهادهای خارجی، تیم توسعه و یا هیچ کس دیگری نمیتواند در فرآیند تولید اعداد تصادفی دستکاری کند. اگر فرآیند VRF دستکاری شود، گره نمیتواند اثبات رمزنگاری معتبر ایجاد کند و قرارداد هوشمند ورودی اعداد تصادفی را نمیپذیرد.
- شفافیت: از آنجا که کد منبع باز است، کاربران میتوانند فرآیند تصادفیسازی را تأیید کنند.
به لطف این ویژگیهای منحصربهفرد، برنامههای مبتنی بر VRF Chainlink میتوانند نتایج منصفانه و غیرقابل پیشبینی را از طریق یک تولیدکنندۀ اعداد تصادفی ضد دستکاری به دست آورند. به این ترتیب تجربیات و ویژگیهای جالبی امکانپذیر میشود.
سخن پایانی
همانطورکه شانس در طبیعت و دنیای فیزیک کاربردهای زیادی دارد، ما نیز به نتایج تصادفی در دنیای دیجیتال و فضای بلاکچین نیاز داریم. اما نکته اینجاست که چگونه میتوانیم به نتایج تصادفی کامپیوتر اعتماد کنیم؟ نتایج تصادفی باید غیر قابل پیشبینی، بی طرفانه، قابل اثبات، ضد دستکاری و غیر قابل تکرار باشند. اهمیت نتایج تصادفی در بلاکچین و وب 3 با کاربردهای متنوع مانند بازیهای بلاکچین، پروژههای NFT، حکومت غیرمتمرکز در دائو، رسانههای اجتماعی وب 3 و… دوچندان میشود. تصادفیبودن در بلاکچین و فضای وب 3 اهمیت زیادی دارد و نتایج بازیها، نقشهای رهبری در سازمانهای خودگردان در دائو همگی تحت تأثیر نتایج تصادفی هستند.
سوالات متداول
یک نتیجۀ تصادفی عددی است که بهطور تصادفی از یک توزیع خاص انتخاب میشود؛ بنابراین انتخاب مجموعۀ بزرگی از آن اعداد، توزیع زیربنایی را بازتولید میکند. تقریباً همیشه لازم است چنین نتایجی مستقل باشند تا بین اعداد متوالی همبستگی وجود نداشته باشد.
فناوری بلاکچین در حال پیشرفت است و تصادفیبودن آن نیز پیشرفت خواهد کرد. با علم به اینکه کامپیوترها نمیتوانند یک تولیدکنندۀ اعداد تصادفی واقعی را نشان دهند، یکی از این پیشرفتهای تصادفی بودن در بلاکچین استفاده از همان بلاکچین برای استفاده از تولید «نتیجۀ تصادفی» است تا بتوان از آنها در موارد مختلف استفاده کرد.
Chainlink VRF یک راهحل استاندارد صنعتی تولیدکنندۀ اعداد تصادفی است. این راهحل شرایطی را برای قراردادهای هوشمند و سیستمهای خارج از زنجیره ایجاد میکند تا با استفاده از رمزنگاری و محاسبات خارج از زنجیره به یک منبع تصادفی قابل تأیید دسترسی داشته باشند.
بهطور کلی، مولدهای اعداد تصادفی را میتوان به دو دسته تقسیم کرد. مولد اعداد شبه تصادفی و مولد اعداد تصادفی واقعی. مولد اعداد شبه تصادفی از الگوریتمهای ریاضی برای تولید مقادیر تصادفی استفاده میکنند و مولد اعداد تصادفی واقعی هم از ابزارهای فیزیکی مانند نویز اتمسفر بهره میگیرند.

















































