بازی ها برای عادلانه بودن نیاز به تصادفی غیرمتمرکز دارند


آیا RNG شما تصادفی کافی دارد؟ آیا ضد دستکاری است؟ آیا این ساختار غیرمتمرکز است؟ این ویژگی‌ها برای ایجاد یک پایگاه داده‌های فراداده حیاتی هستند.

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

نقش مهم اعداد تصادفی

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

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

بسیاری از RNG ها در واقع شبه RNG (PRNG) هستند. آنها به جای تولید خروجی های تصادفی، نتایج یک معادله ثابت را ارائه می کنند. مقدار خروجی با اجرای یک مقدار اولیه که اغلب “seed” نامیده می شود از طریق این معادله به دست می آید. سپس خروجی به عنوان دانه جدید استفاده می شود و فرآیند دوباره آغاز می شود. اگرچه نتیجه تصادفی نیست، اما ممکن است برای یک ناظر خارجی کاملاً تصادفی به نظر برسد.

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

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

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

علاوه بر این، هر PRNG برای هر برنامه ممکن مناسب نیست. برخی برای توابع خاص Web3 طراحی شده اند. اینها اعتبار جهانی ندارند.

مولدهای اعداد تصادفی واقعی (TRNG) در مقایسه با شبه RNG (PRNG). منبع: Level Up Code

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

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

ضرورت تمرکز و قابلیت اطمینان

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

RNG کامل غیرقابل پیش بینی، ضد دستکاری، قابل تأیید، غیرمتمرکز و دائماً در دسترس خواهد بود. اگر RNG را انتخاب می کنید، بپرسید:

  • آیا به اندازه کافی تصادفی را ارائه می دهد؟
  • آیا خروجی ها قابل تایید هستند؟
  • آیا ضد دستکاری است؟
  • یک سیستم غیر متمرکز برای جلوگیری از خطاهای تک نقطه ای؟

از آنجایی که توسعه دهندگان بلاک چین به گسترش چشم انداز خود ادامه می دهند، مرزهای برنامه های خود را جابجا می کنند و فرصت های بیشتر و بیشتری را برای تعامل عمومی با این فناوری فراهم می کنند، ضروری است که بهترین پشتیبانی ممکن برای برنامه های آنها ارائه شود.

فلیکس خو علاقه‌مند به کریپتو، پذیرنده اولیه و جمع‌آورنده NFT. فلیکس از NYU Stern فارغ التحصیل شد و دو پروژه رمزنگاری ARPA و Bella Protocol را تأسیس کرد که از نظر ارزش بازار جزو 500 پروژه برتر جهان هستند. فلیکس قبلا در Fosun Investment، دفتر خانواده Sackler و Vertical Research در نیویورک و پکن کار می کرد. فلیکس عاشق قایقرانی و کایت موج سواری است و با مجموعه NFT خود در وال استریت ژورنال و نیویورک تایمز به نمایش درآمده است.

این مقاله فقط برای اهداف اطلاعاتی عمومی است و نباید مشاوره حقوقی یا سرمایه گذاری در نظر گرفته شود. دیدگاه‌ها، نظرات و دیدگاه‌های بیان شده در اینجا صرفاً متعلق به نویسنده است و لزوماً منعکس‌کننده یا بیانگر دیدگاه‌ها و نظرات Cointelegraph نیست.


نویسنده: Felix Xu

اشتراک گذاری و حمایت

امیر کرمی

امیر کرمی

کارشناس تولید محتوا و علاقه مند به ارز دیجیتال و دنیای فناوری 😉

دیدگاهتان را بنویسید