از آنجایی که تعاملات اقتصادی، اجتماعی و فرهنگی در دهه های اخیر، به ویژه در حوزه دیجیتال، افزایش یافته است، تقاضا برای تکرار تصادفی و غیرقابل پیش بینی ذاتی موجود در جهان طبیعی افزایش یافته است. اصطلاح “تصادفی” به عدم وجود الگوهای قابل تشخیص یا قابل پیش بینی در یک دنباله اشاره دارد. نمونهها فراوانند، از نتیجه پرتاب سکه گرفته تا الگوهای منحصربهفرد اثر انگشت یا تشکیلهای پیچیده دانههای برف. در حوزه بلاک چین و وب 3.0، اهمیت تصادفی بودن فراتر از هر حوزه دیجیتال دیگری است. معرفی کمیابی مصنوعی، ایجاد پروتکل های امنیتی قوی، و تسهیل فرآیندهای تصمیم گیری بی طرفانه و قابل اعتماد، همگی ارائه نتایج غیرقابل پیش بینی را ضروری می کند. در گروه مالی آرادفین ، ما به مفهوم تصادفی بودن می پردازیم و انواع مختلف آن و چالش هایی که در اکوسیستم بلاک چین و وب 3.0 ایجاد می کند را بررسی می کنیم.
ایجاد اعداد تصادفی
در حالی که الگوها و نتایج غیرقابل پیش بینی در طبیعت فراوان هستند، اطمینان از تصادفی بودن نتایج تولید شده توسط رایانه چالش متفاوتی را ایجاد می کند. کامپیوترها بر اساس اصول قطعی کار می کنند، که تولید اعداد تصادفی واقعی را تنها از طریق مجموعه ای از الگوریتم های از پیش تعیین شده غیرممکن می کند. علاوه بر این، اگرچه رویدادهای تصادفی فردی ممکن است پیشبینی را به چالش بکشند، نتایج کل رویدادهای مکرر اغلب الگوهای قابل تشخیصی را نشان میدهند. پرتاب یک تاس را در نظر بگیرید: در حالی که هر پرتاب یک نتیجه غیرقابل پیش بینی به همراه دارد، توزیع احتمال نتایج در تعداد زیادی پرتاب به طور فزاینده ای قابل محاسبه و پیش بینی می شود.
آیا نتایج تصادفی واقعا تصادفی هستند؟
آیا نتایج تصادفی واقعا تصادفی هستند؟ برای اطمینان از صحت تصادفی، باید مجموعه ای از اصول را برای یک دنباله تصادفی ایجاد کنیم:
- غیرقابل پیش بینی بودن: نتایج باید از تشخیص یا پیش بینی سرپیچی کنند.
- بی طرفی: هر نتیجه باید احتمال وقوع یکسانی داشته باشد.
- قابلیت تأیید: نتایج باید به طور مستقل قابل تأیید باشند.
- ضد دستکاری: فرآیند تولید نتایج تصادفی باید در برابر دستکاری غیرقابل نفوذ باشد.
- تکرار ناپذیری: بازتولید فرآیند برای تولید نتایج تصادفی بدون حفظ توالی اصلی غیرممکن است.
کامپیوترها، طبیعتاً ابزارهای قطعی هستند. اجزای از پیش تعیین شده، مدارها و الگوریتم های برنامه ریزی شده آنها را قابل پیش بینی می کند. درست همانطور که یک ماشین حساب مجموع 2+2 را به صورت 4 محاسبه می کند، یک کامپیوتر مجبور است خروجی های خاصی را با همان ورودی ها تولید کند. در نتیجه، کامپیوترها ممکن است برای تولید اعداد تصادفی واقعی یا شبیه سازی شرایط احتمال دچار مشکل شوند.
برای غلبه بر این محدودیت، مولدهای اعداد تصادفی (RNGs) از یک دانه استفاده می کنند – یک مقدار شروع یا ورودی که برای استخراج خروجی استفاده می شود. این دانه میتواند از منابعی مشتق شود که غیرقابل پیشبینی ذاتی را نشان میدهند، مانند دادههای یک عکس، زمان روز، یا حرکت ماوس کاربر.
با این حال، حتی اگر تکرار فرآیند تولید اعداد تصادفی دشوار به نظر برسد، لزوماً با عدم امکان فنی برابری نمیکند. با ترکیب چندین روش برای تولید بذرهایی که تکثیر آنها چالش برانگیز است، RNG ها می توانند نتایج نسبتاً قابل اعتمادی به دست آورند. حتی در صورت افشای بذر در طول زمان، این روش می تواند قابل اعتماد باقی بماند. با این حال، اگر روش های ریاضی مشابهی برای تولید بذر به کار گرفته شود، تصادفی بودن حاصل ممکن است به خطر بیفتد. بنابراین، چه چیزی یک نتیجه “واقعا تصادفی” را تشکیل می دهد؟ بیایید بیشتر کاوش کنیم.
RNG ها در مقابل RNG های واقعی
در حوزه تولید اعداد تصادفی، دو دسته اصلی وجود دارد: مولدهای اعداد تصادفی شبه (PRNG) و مولدهای اعداد تصادفی واقعی (TRNGs).
PRNG ها برای تولید توالی هایی از مقادیر به ظاهر تصادفی به الگوریتم های ریاضی متکی هستند. این الگوریتم ها از یک مقدار اولیه به نام seed شروع می شوند و فرآیندهای قطعی را برای تولید اعداد بعدی دنبال می کنند. در حالی که PRNG ها می توانند دنباله هایی را ایجاد کنند که ویژگی های تصادفی را نشان می دهند، در نهایت قطعی و تکرارپذیر هستند، و آنها را به جای تصادفی واقعی، شبه تصادفی می کند.
از سوی دیگر، TRNGها از پدیده های فیزیکی برای ایجاد تصادفی استفاده می کنند. این ژنراتورها به منابع آنتروپی دنیای فیزیکی مانند نویز اتمسفر، نویز حرارتی یا واپاشی رادیواکتیو ضربه می زنند. با گرفتن این فرآیندهای ذاتا غیرقابل پیش بینی، TRNG ها دنباله هایی از اعداد را تولید می کنند که واقعاً تصادفی در نظر گرفته می شوند، زیرا فاقد الگوهای قطعی هستند و قابل تکرار نیستند.
به طور خلاصه، در حالی که هر دو نوع ژنراتور می توانند دنباله هایی تولید کنند که تصادفی بودن را تقلید می کنند، PRNG ها از طریق الگوریتم های ریاضی عمل می کنند و شبه تصادفی هستند، در حالی که TRNG ها از پدیده های فیزیکی برای تولید توالی های واقعا تصادفی استفاده می کنند.
تابع مولد اعداد تصادفی شبه تصادفی یا PRNG
یک تابع تولید کننده اعداد تصادفی شبه تصادفی (PRNG) با استفاده از الگوریتم های ریاضی برای تولید دنباله ای از اعداد که تصادفی به نظر می رسند عمل می کند. با این حال، این دنباله واقعا تصادفی نیست. در عوض، ویژگی های تصادفی بودن را تقلید می کند. به دلیل ماهیت گسسته کامپیوترها، اعداد تولید شده توسط PRNG ممکن است برای ناظران انسانی تصادفی به نظر برسند. با این حال، پس از بررسی دقیق تر، الگوهای قابل تشخیص ممکن است ظاهر شوند که می توانند از طریق تجزیه و تحلیل آماری دقیق شناسایی شوند.
تابع مولد اعداد تصادفی واقعی یا TRNG
مولدهای اعداد تصادفی واقعی (TRNG) از پدیده های فیزیکی مانند نویز کیهانی، واپاشی رادیواکتیو یا ایستایی موج برای تولید اعداد تصادفی استفاده می کنند و از غیرقابل پیش بینی بودن فرآیندهای طبیعی بهره می برند. برخلاف مولدهای اعداد شبه تصادفی (PRNG) که بر الگوریتم های ریاضی متکی هستند، TRNG ها تصادفی بودن را مستقیماً از منابع فیزیکی استخراج می کنند که منجر به تصادفی قوی تر و غیرقابل پیش بینی تر می شود.
در TRNG ها، ویژگی تصادفی بودن از پدیده های فیزیکی واقعی ناشی می شود و غیرقابل پیش بینی بودن اعداد تولید شده را افزایش می دهد. با این حال، این روش یک آسیبپذیری بالقوه را نیز معرفی میکند: اگر یک ناظر سیگنال بین مولد اعداد تصادفی واقعی و پدیده زیربنایی را قطع کند، میتواند دنباله اعداد را با دقت تکرار کند.
در حالی که TRNG ها می توانند دنباله هایی بدون الگوهای قابل تشخیص تولید کنند و کمتر مستعد تشخیص هستند، پذیرش گسترده آنها به دلیل هزینه های بالا مانع از پذیرش گسترده آنها می شود. در مقابل، PRNG ها قابلیت تکرارپذیری را به عنوان یک مزیت قابل توجه ارائه می دهند. با دانستن نقطه شروع اولیه دنباله، یک ناظر می تواند همان دنباله اعداد را بازتولید کند و تأیید فرآیند تولید اعداد تصادفی را تسهیل کند. این ویژگی تکرارپذیری به ویژه برای برنامه های کاربردی وب نسل سوم که به تصادفی بودن متکی هستند، ارزشمند است.
چرا تصادفی بودن در بلاک چین مهم است؟
تصادفی بودن به دلیل نقش محوری آن در تضمین امنیت فرآیندهای رمزنگاری از اهمیت بالایی در بلاک چین برخوردار است. در فناوری بلاک چین، تولید نتایج تصادفی برای حفظ اقدامات امنیتی قوی اساسی است.
یکی از جنبه های حیاتی که در آن تصادفی بودن نقش مهمی دارد، تولید کلیدهای خصوصی برای کیف پول ارزهای دیجیتال است. این کلیدهای خصوصی برای دسترسی و مدیریت ایمن دارایی های دیجیتال ضروری هستند. با استفاده از توابع هش رمزنگاری، مانند پروتکل SHA-256 مورد استفاده در بیتکوین، شبکههای بلاک چین میتوانند کلیدهای خصوصی را تولید کنند که حدس زدن یا اعمال آنها بسیار دشوار است.
قدرت فرآیندهای رمزنگاری، از جمله تولید کلید خصوصی، به شدت به غیرقابل پیش بینی بودن و تصادفی بودن ورودی ها بستگی دارد. این تصادفی بودن تضمین می کند که هر کلید خصوصی منحصر به فرد است و تکرار یا پیش بینی آن عملا غیرممکن است. در واقع، تعداد زیاد ترکیبهای ممکن که توسط توابع هش رمزنگاری مانند SHA-256 ایجاد میشوند، خیرهکننده است، که اغلب به تعداد تخمینی اتمها در جهان تشبیه میشود. این پیچیدگی گسترده بر اهمیت تصادفی بودن در فناوری بلاک چین تأکید می کند، زیرا امنیت و یکپارچگی تراکنش های دیجیتال و دارایی ها را در شبکه بلاک چین تقویت می کند.
تصادفی بودن در الگوریتم های اثبات کار
در الگوریتم های اثبات کار ( PoW )، تصادفی بودن نقش مهمی در تسهیل اجماع توزیع شده در شبکه های بلاک چین ایفا می کند. اجماع توزیع شده به توافق بین هزاران شرکت کننده توزیع شده در یک شبکه بلاک چین اشاره دارد که در آن هر گره باید با دیگران ارتباط برقرار کند و در عین حال تأخیر و توان عملیاتی محدود را تضمین کند.
با این حال، دستیابی به اجماع توزیع شده در چنین شبکه ای به دلیل تعداد زیاد شرکت کنندگان و نیاز به تبادل پیام بین گره ها، چالش های عملی را به همراه دارد. برای رفع این مشکل، مکانیسمهای PoW مانند آنهایی که در بیت کوین به کار میروند برای سادهسازی فرآیند اجماع استفاده میشوند.
در یک سیستم PoW ، الگوریتم تعیین میکند که کدام بلوکها با معرفی یک عنصر تصادفی به زنجیره بلوکی اضافه شوند. ماینرها درگیر حل پازل های محاسباتی پیچیده می شوند و رقابت برای افزودن یک بلوک به زنجیره سخت و پیچیده است. در نتیجه، احتمال اینکه چندین گره به طور همزمان معما را حل کنند بسیار کم است. این مشکل ذاتی در حل معماهای محاسباتی به محدود کردن تعداد پیام های مورد نیاز شبکه برای دستیابی به اجماع کمک می کند.
بنابراین، تصادفی بودن در الگوریتمهای PoW نه تنها یکپارچگی بلاک چین را تضمین میکند، بلکه با محدود کردن سربار پیام لازم برای دستیابی به توافق بین شرکتکنندگان شبکه، به عملکرد کارآمد مکانیسمهای اجماع توزیع شده کمک میکند.
تصادفی بودن در الگوریتم های اثبات سهام
در سیستمهای اثبات سهام ( PoS )، تصادفی بودن برای اطمینان از توزیع عادلانه و غیرقابل پیشبینی مسئولیتها بین اعتباربخشها استفاده میشود. با این حال، اگر یک عامل مخرب بتواند منبع تصادفی مورد استفاده در فرآیند انتخاب را دستکاری کند، تهدید قابل توجهی برای امنیت شبکه است.
با توجه به اینکه زنجیرههای بلوکی شفاف عمل میکنند، همه ورودیها و خروجیها برای شرکتکنندگان قابل مشاهده است و توالیهای تولید شده بهطور تصادفی را مستعد پیشبینیپذیری میکنند. برخی از روشهای تولید اعداد تصادفی، مانند رمزنگاری و توابع هش، ممکن است آسیبپذیریهای امنیتی را نشان دهند که میتوان از آنها سوء استفاده کرد. به عنوان مثال، یک ماینر یا اعتبار سنجی میتواند فرآیند تولید توالی تصادفی را با نگه داشتن بلوکهایی که برای آنها سودمند نیستند، تحت تأثیر قرار دهد، و اساساً تاس را تا رسیدن به یک نتیجه دلخواه «پرتاب میکند».
راهحلهای تولید اعداد تصادفی خارج از زنجیره نیز چالشهایی را ایجاد میکنند. این راهحلها به ارائهدهندگان داده متمرکز متکی هستند و نیاز به اعتماد دارند که نتایج را به نفع خود دستکاری نخواهند کرد. علاوه بر این، کاربران توانایی تشخیص بین نتایج واقعا تصادفی و نتایج دستکاری شده را ندارند.
در حالی که تصادفی بودن اهمیت قابل توجهی در اکوسیستم های بلاک چین و وب 3.0 دارد، راه حل های تولید اعداد تصادفی درون زنجیره ای و خارج از زنجیره با مجموعه ای از نگرانی ها همراه هستند. حفظ یکپارچگی و امنیت این سیستم ها مستلزم بررسی دقیق آسیب پذیری ها و خطرات احتمالی مرتبط با تصادفی بودن است.
بررسی و اهمیت تصادفی بودن در وب 3
اهمیت تصادفی بودن در بلاک چین و وب 3 را نمی توان اغراق کرد، به ویژه در زمینه تعیین نتایج در برنامه های مختلف مانند بازی های بلاک چین، پروژه های NFT و هنرهای دیجیتال. برنامه های وب 3 برای اطمینان از عدالت و غیرقابل پیش بینی بودن نتایج به منابع تصادفی امن متکی هستند. کارکردهایی مانند مکان یابی دارایی در بازی های Metaverse، تنوع در الگوریتم های هنری مولد، تولید آیتم در Loot Boxes، ضرب NFT، توزیع جوایز، اعتبارسنجی بلیط رویداد، و نقش های حاکمیت DAO همگی نیاز به یک منبع قابل اعتماد از تصادفی بودن دارند.
با توجه به اینکه این سیستمها اغلب دارای ارزش واقعی قابل توجهی هستند، راهحلهای تصادفی غیربهینه میتوانند منجر به عدم تقارن اطلاعات و مزایای ناعادلانه برای شرکتکنندگان خاص شوند. این عدم تعادل میتواند حلقههای بازخورد منفی ایجاد کند و در نهایت کارایی مکانیسمهای اقتصادی و اصول نظریه بازیها را که زیربنای فعالیتهای اقتصادی و همکاریهای اجتماعی است، تضعیف کند.
دسترسی ایمن به یک منبع تصادفی ضد دستکاری و غیرقابل پیش بینی که برای همه اعضا قابل دسترسی باشد و قابل ممیزی باشد یک کار چالش برانگیز است. با این حال، بسیاری از پروتکل ها و برنامه های کاربردی در صنعت وب 3 با اولویت دادن به عدالت و شفافیت از همتایان وب 2 خود پیشی گرفته اند. دسترسی به منبع تصادفی شفاف، بیطرفانه و قابل تأیید، راه را برای برنامههای کاربردی جدید در بازیهای بلاک چین، NFT، حکومت غیرمتمرکز، رسانههای اجتماعی، جمعآوری سرمایه، خیریه، توکنهای اجتماعی و موارد دیگر هموار میکند. این امر بر نقش حیاتی تصادفی بودن در ایجاد یک اکوسیستم دیجیتال عادلانه تر و فراگیرتر تأکید می کند.