مقدمه
در سالهای اخیر، تب استفاده از بلاکچین در سراسر جهان بسیار بالا گرفته است و حتی به حوزه بازیهای رایانهای نیز سرایت کرده است! برخلاف تصور عموم، پیدایش بلاکچین به سالهای نسبتاً دور بازمیگردد. در دهه 1990 میلادی دو فیزیکدان به نامهای هابر و استورنتا ایده بلاکچین را مطرح نمودند و این ایده برای محافظت از شبکههای کامپیوتری در مقابل پیامهای هرز (Spam) مورد استفاده قرار گرفت. با این حال، بلاکچین خیلی زود به حاشیه رانده شد و خبری از آن نبود تا اینکه در سال 2008 توسط ساتوشی ناکاموتو با رمزارزی به نام بیتکوین مجدداً متولد شد. البته هنوز مشخص نیست ناکاموتو یک شخص حقیقی است یا حقوقی و هنوز هویت وی به صورت رمزآلود باقی مانده است. مهمترین کاربرد شبکه بیتکوین این است که میتواند برای تبادل رمزارز در قالب کیف پول الکترونیکی مورد استفاده قرار بگیرد.
شاید تعجب کنید که تاکنون بیش از 3000 شبکه بلاکچین، توسط افراد و نهادهای مختلف تعریف شده ولی فقط تعداد انگشتشماری از آنها با اقبال عمومی مواجه شدهاند! در سال 2014 بلاکچین اتریوم توسط فردی به نام پاول دوروف پا به عرصه نهاد. مزیت اصلی بلاکچین اتریوم، برخورداری از امکانات برنامهنویسی قراردادهای هوشمند (Smart Contract) بود. بازیهای رایانهای که در حقیقت یکی از مصادیق برنامههای کاربردی توزیع شده یا اصطلاحاً dAppها هستند نیز در زمره کاربردهای قراردادهای هوشمند قرار میگیرند. اگرچه در زمان نوشتن این مقاله، بلاکچینهای بیتکوین و اتریوم، با اختلاف در صدر جدول مشهورترین و پراستقبالترین بلاکچینها هستند، لیکن باید به تلاشهای انجام شده در قالب بلاکچینهای نوظهوری همچون ریپل، لایتکوین، بیتکوینکش، ایاس (EOS)، بایننس، تتر، استلار، کاردانو، ترون، مونرو، یوتا، هایپرلجر و غیره نیز اشاره کرد. با توجه به امکاناتی که برخی از این بلاکچینهای نوظهور در خصوص نوشتن dAppهای قرارداد هوشمند ارائه میدهند به هیچ عنوان دور از ذهن نیست که در آینده نزدیک شاهد توسعه بازیهای رایانهای و سایر dAppهای هوشمند در این حوزه باشیم. تاکنون بازیهای رایانهای بر بستر بلاکچین اتریوم تولید شده و از استقبال بیشتری برخوردار هستند. در این مقاله قصد داریم علاوه بر بیان مختصر مبانی و مفاهیم بلاکچین، به تشریح بازیهای رایانهای تولید شده بر بستر بلاکچینهای معروف بپردازیم.
مکانیزم توافق: قلب بلاکچین
کلیدیترین مفهوم هر سیستم بلاکچین، مکانیزم توافقی است که برای آن تعبیه شده است. با توجه به آشنایی اکثر خوانندگان با بلاکچین بیتکوین، ابتدا مکانیزم توافق این بلاکچین را که موسوم به روش اثبات کار (Proof-of-work) یا اختصاراً PoW میباشد تشریح میکنیم. جنبه مهم دیگر بلاکچین این است که مفهوم حسابرسی دوطرفه (بین خریدار و فروشنده در یک تراکنش) را به مفهوم حسابرسی سهطرفه با حضور خریدار، فروشنده و شبکه اعتبارسنجی اعتمادساز تبدیل کرده است.
برای درک این مطلب، یک روستای قدیمی را مثلاً در 1500 سال پیش در نظر بگیرید! در این روستا کسبه مشغول فعالیت هستند و در طول روز، تراکنشهایی را تولید میکنند. هر تراکنش در سادهترین حالت خود دارای نام فروشنده، نام خریدار و مبلغ خرید میباشد. در پایان هر روز، شخص حسابدار به میدان روستا رفته و برگههایی را که از کسبه جمعآوری کرده است به برگههای مربوط به روزهای پیشین چسبانده و برای جلوگیری از دستکاری سایرین، آن را مهروموم میکند. بدینترتیب، در گذر ایام، یک زنجیره از تراکنشها همچون شکل شماره 1 در میدان شهر برای تمام مردم روستا قابل رویت خواهد بود:
شکل شماره 1– تراکنشهای انجام شده به صورت زنجیرهای در تمثیل بلاکچین سنتی
مثال فوق دقیقاً بیانکننده مفهوم بلاکچین امروزی است با این تفاوت که به جای شخص حسابدار روستا که تنها معتمد مردم بوده است تعدادی ماینر به صورت توزیع شده داریم. تفاوت دیگر بلاکچینهای امروزی با مثال سنتی فوق این است که به جای وجود فقط یک نسخه از تراکنشهای اعتبارسنجی شده در میدان روستا، اکنون تراکنشهای معتبر بر روی رایانه تمام مردمی که صاحبان تراکنش هستند ذخیره میشود! تصویر زیر را ببینید:
شکل شماره 2– مفهوم زنجیره بلوکی (بلاکچین)
برای اینکه نقش ماینرها را بهتر درک کنید یک سناریوی متداول در شبکه بیتکوین را در شکل شماره 3 تشریح میکنیم. فرض کنید تعدادی تراکنش توسط کاربران ایجاد شده است. این تراکنشها ابتدا توسط کاربران، به استخری به نام Mempool ارسال میشوند. اکنون تعدادی ماینر که کارشان فقط اعتبارسنجی تراکنشها و اخذ حقالعمل در قبال این کار میباشد وارد داستان میشوند. حتماً در بین دوستان و آشنایان خود، کسانی را سراغ دارید که دستگاههای ماینر را خریداری کرده و مشغول استخراج بیتکوین هستند! هر ماینر، تعدادی تراکنش را در قالب یک واحد بزرگتر به نام بلوک جمعآوری کرده و سپس با مکانیزمی ریاضیاتی (که قصد نداریم جزئیات فنی آن را در اینجا توضیح دهیم) شروع به اعتبار سنجی با روش PoW مینماید. به طور ساده میتوان گفت مکانیزم توافق PoW به اولین ماینری که موفق به اعتبارسنجی یک بلوک شود پاداشی در قالب رمزارز اعطا میکند. در زمان نگارش این مقاله یعنی تابستان سال 1398، مقدار پاداشی که از سوی شبکه بیتکوین به ماینرهای موفق اعطا میشود برابر با 5/12 واحد بیتکوین میباشد. اکنون ماینر، تراکنش اعتبارسنجی شده را به زنجیره تمام کاربرانی که درگیر این تراکنشها بودهاند اضافه میکند. اگر سناریوی ساده فوق را با دقت دنبال کرده باشید متوجه خواهید شد که شبکه بلاکچین یک بازی برد-برد برای مشتریان و ماینرها فراهم میکند: مشتریان نسبت به اعتبار تراکنشهای خودشان اطمینان حاصل میکنند و ماینرها نیز به حقالزحمه خود در ازای مصرف انرژی برق دست مییابند.
شکل شماره 3– سناریوی اعتبارسنجی تراکنشها در شبکه مبتنی بر توافق اثبات کار (Proof-of-work)
نقطه ضعف مکانیزم توافق PoW، مصرف انرژی بسیار زیاد توسط ماینرها میباشد. به همین دلیل، مکانیزمهای توافق دیگری همچون اثبات سهام (Proof-of-stake)، توافق بیزانسی (Byzantine Agreement)، گراف جهتدار بدون حلقه (Directed Acyclic Graph) و غیره نیز ابداع شدهاند. شبکههای بلاکچین مختلف از مکانیزمهای توافق مختلفی استفاده میکنند. مثلاً شبکه اتریوم از مکانیزم توافق اثبات سهام استفاده میکند. مبحث توافق، بسیار پیچیده و گسترده میباشد و در این مقاله فقط به بیان طرز کار روش PoW بیتکوین اکتفا کردیم.
بازیهای رایانهای و بلاکچین
همانگونه که احتمالاً میدانید در دهه اخیر بازیهای رایانهای به یکی از مهمترین ابزار Gold Farming تبدیل شدهاند. اصطلاح Gold Farming به فرآیندی گفته میشود که طی آن گیمرها در بازیهای آنلاین با کاربران زیاد (MMOGs) اقدام به جم آوری پول مجازی یا داراییهای ارزشمند مورد استفاده در بازی میکنند و این داراییها بعداً میتوانند در ازای پول واقعی به گیمرهای دیگر منتقل شوند. اگر گیمر حرفهای باشید حتماً تصدیق میکنید که در اغلب موارد، پای گیمرها در تراکنشهای Gold Farming به بازار سیاه کشیده میشود! متاسفانه به دلیل کلاهبرداری در این بازارهای سیاه، اکثر گیمرها با آسیب مواجه میشوند. البته در سالهای اخیر، برای کاهش دادن ریسک تراکنش میان خریدار و فروشنده در بازیهای رایانهای، راهحلهای موقتی همچون کسب وکارهای واسطهگری PlayerAuctions ایجاد شدند. با این حال، هیچ راه حلی به اندازه بلاکچین نتوانسته است ریسک کلاهبرداری در تعاملات Gold Farming را کاهش دهد! بلاکچین به دلیل قابلیت اعتبارسنجی و اعتمادزایی ذاتی خود، فرآیند Gold Farming را اساساً متحول نموده است. کاربرد بلاکچین در بازیهای رایانهای قدمت زیادی ندارد و مهمترین تلاشهای انجام شده در این زمینه، در پنجسال اخیر صورت گرفتهاند. در بلاکچین، تراکنشها حتی وقتی که یک کامپیوتر آفلاین باشد باز هم معتبر هستند. به این ویژگی در بستر بلاکچین بیتکوین اصطلاحاً «ذخیرهسازی سرد» یا Cold Storage گفته میشود. بدینترتیب، دیگر لازم نیست گیمرها همیشه آنلاین باشند! ولاد پانچنکوف (مدیرعامل موسسه DMarket) اعقاد دارد با فناوری بلاکچین، تمام داراییهای مجازی گیمرها، واقعی و حقیقی میشوند؛ درست مثل رمزارزهایی که درکیف الکترونیکی گیمرها قرار دارد! قاره آسیا از موقعیت ممتازی در این صنعت برخودار است. دلایل سرآمد بودن آسیا در رشد صنعت بازیهای مبتنی بر بلاکچین عبارتند از:
- آگاهی بیشتر مردم از رمزارزها در آسیا
- توسعهیافتگی بازارهای مبتنی بر رمزارز در شرق دور
- بیشتر بودن تعداد گیمرها در آسیا از سایر نقاط دنیا
- ارزان بودن انرژی در آسیا (به ویژه در غرب آسیا) نسبت به بقیه نقاط دنیا
مشهورترین بازی رایانهای تولید شده بر بستر بلاکچین، بازی Crypto Kitties یا اصطلاحاً «بچه گربههای رمزارزی» است. این بازی بر روی بستر بلاکچین اتریوم ساخته شد و مفهوم دارایی دیجیتال نادر را پیادهسازی نمود. در حقیقت، در این بازی گربهها به عنوان داراییهای جمعکردنی (Collectible) محسوب میشوند. این گربهها قابل خرید و فروش با رمزارز اتر در شبکه اتریوم هستند.
شکل شماره 4– بازی Crypto Kitties، مشهورترین بازی رایانهای تولیدشده بر بستر بلاکچین اتریوم
این بازی از یک ابتکار جالب دیگر که البته ارتباطی به بلاکچین ندارد نیز بهره میبرد: گربهها قابلیت جفتگیری و تکثیر به صورت مجازی را دارا هستند! بچه گربههای متولد شده، خود به صورت یک دارایی جدید دارای هویت بوده و در گذر زمان ارزش مادی پیدا میکنند و بعداً قابل تبادل یا خرید و فروش هستند. این کار از طریق یک الگوریتم ژنتیک با کروموزومهایی (اصطلاحاً Phenotypes) متشکل از 256 ژن (اصطلاحاً Genotypes) که همگی بر روی قرارداد هوشمند ذخیره شدهاند صورت میگیرد. ژنها نشان دهنده ویژگیهای هر گربه هستند. ویژگیهایی مثل رنگ چشم، رنگ پوست، طرح و الگوی پوست و غیره.
شکل شماره 5– گربهها در بازی Crypto Kitties، نقش داراییهای جمعکردنی و قابل معامله و تبادل را دارند.
هنگامی که بازی Crypto Kitties برای نخستین بار به بازار عرضه شد دارای 50000 گربه با ژن نسل صفر (Gen-0) بود که در قالب یک قرارداد هوشمند بر بستر بلاکچین اتریوم ذخیره شده بودند. در هر 15 دقیقه یک گربه به صورت خودکار بر بستر قرارداد هوشمند توزیع میشد. ساختمان داده هر گربه در شکل شماره 6 نشان داده شده است. همانگونه که مشاهده میکنید این ساختمان داده متشکل از ویژگیهایی همچون ژنها، زمان تولد و غیره است.
شکل شماره 6– ساختمان داده نمایانگر هر گربه در بازی Crypto Kitties در زبان برنامهنویسی
بخشی از سورسکد این بازی در شکل شماره 7 نشان داده شده است. همانگونه که مشاهده میکنید این بازی از پروتکل ERC-721 که یکی از پروتکلهای تعبیه شده بر روی بستر بلاکچین اتریوم است بهره میبرد. هر بلاکچین ابزارها و زبان مربوط به خود را دارا است. زبان اصلی برنامهنویسی بر روی بلاکچین اتریوم، نامش سالیدیتی (Solidity) است.
شکل شماره 7– بازی Crypto Kitties بر اساس پروتکل ERC-721 بستر بلاکچین اتریوم برنامهنویسی شده است.
اکنون قصد داریم کمی در مورد پروتکل پروتکل ERC-721 بلاکچین اتریوم صحبت کنیم. همانگونه که گفتیم این پروتکل در ساخت بازی مشهور Crypto Kitties استفاده شده است. این پروتکل برای تولید توکنهای غیرقابل تبادل (Non-fungible Tokens) یا اختصاراً NFT است. منظور از توکن همان داراییهای موجود در بازی است. به طور مثال، گربهها در بازی Crypto Kitties نوعی دارایی بوده و اصطلاحاً توکن هستند. NFTها به جای اینکه در کنترل توسعهدهندگان بازیها باشند در کنترل گیمرها و کاربران هستند. در بازی Crypto Kitties، منظور از توکنهای غیرقابل تبادل این است که گربهها در مالکیت واقعی گیمر قرار داشته و هیچ دو توکنی دارای ارزش برابر و قابل معاوضه نیستند! این درست برعکس مفهوم رمزارز در بیتکوین است. توجه دارید که در شبکه بیتکوین، یک واحد بیتکوین من با یک واحد بیتکوین شما از نظر ارزش برابر بوده و قابل معاوضه هستند! مهمترین بازیهای رایانهای یا بسترهای تفریحی بلاکچینی که در ساخت آنها از پروتکل ERC-721 اتریوم استفاده شده است عبارتند از Crypto Kitties، Crypto Punks و Decentraland که تصاویر دو بازی اخیر در شکلهای 8 و 9 نشان داده شده است. Decentraland یک پلتفرم واقعیت مجازی (VR) تحت بلاکچین اتریوم بوده و Crypto Punks نیز مجموعهای از کاراکترهای جمعکردنی است که هر یک کاملاً یکتا بوده و میتواند توسط یک شخص مورد مالکیت قرار بگیرد و در کیف پول الکترونیک (Wallet) آن شخص قرار داشته باشد. این توکنها قابل خرید و مزایده هستند. اگر علاقهمند به مطالعه بیشتر در خصوص پروتکل ERC-721 هستید میتوانید به آدرس http://erc721.org/ مراجعه کنید. نقطه مقابل NFTها، توکنهای قابل تبادل (Fungible Tokens) یا اختصاراً FT هستند. پروتکلهایی که از این نوع توکنهای اتریوم پشتیبانی میکنند عبارتند از RC-20، ERC-223، ERC-777 و ERC-621 که البته ما در این مقاله قصد نداریم آنها را توضیح دهیم.
شکل شماره 8–Decentraland یک پلتفرم واقعیت مجازی (VR) تحت بلاکچین اتریوم بر اساس پروتکل ERC-721 است.
شکل شماره 9– Crypto Punks، مجموعهای از کاراکترهای جمعکردنی و قابل تملک تحت بلاکچین اتریوم بر اساس پروتکل ERC-721 است.
در پایان، لازم است به این نکته اشاره کنیم که علاوه بر بازیهای رایانهای، برخی دیگر از مولفههای اکوسیستم بازی نیز از فناوری بلاکچین بهره بردهاند که بررسی آنها نیازمند زمان و فضای بیشتری بود و بنابراین فقط به ذکر نام این پروژهها اکتفا مینماییم. اولین کنسول بازیهای ویدیویی تحت عنوان PlayTable با فناوری بلاکچین عرضه شده است (شکل 10). بر روی این کنسول، بازیهایی همچون BattleGrid ساخته شده است (شکل 11). همچنین در حوزه بسترهای بازی رایانهای نیز میتوان به FABG Platform اشاره نمود. این بستر با استفاده از موتور بازیسازی یونیتی بر روی بلاکچین اتریوم برای ساخت بازیهای MMOG ایجاد شده است. با توجه به اینکه بستر FABG بر اساس NFT طراحی شده است بنابراین هر نوع دارایی که شما بر روی این بستر ایجاد کنید در تمام بازیهای بعدی که بر روی این بستر تولید میشود به صورت یکتا قابل شناسایی خواهد بود.
در صورتی که علاقهمند به مطالعه لیست کامل بازیهای بلاکچینی باشید میتوانید به آدرسهای https://tokenized.games/ و https://www.blockchaingamer.biz/blockchain-games-directory/ مراجعه کنید.
شکل شماره 10– PlayTable، اولین کنسول بازیهای ویدیویی با فناوری بلاکچین است.
شکل شماره 11– بازی BattleGrid بر روی کنسول بلاکچینی PlayTable عرضه شده است.
جمعبندی
در این مقاله، مبانی و مفاهیم فناوری بلاکچین و مکانیزمهای توافق مورد بررسی قرار گرفت و کاربردهای عمده بلاکچین در صنعت بازیهای رایانهای در قالب مثالهایی از بازیهای مشهور همچون Crypto Kitties و غیره تشریح شد. به طور خلاصه میتوان گفت بلاکچین به دو صورت میتواند در بازیهای رایانهای مورد بهرهبرداری قرار گیرد:
1) پرداختهای درونبرنامهای و فرآیند خرید و فروش داراییها بر مبنای رمزارزهای دیجیتال انجام شود.
2) داراییهای مورد استفاده در بازی از طریق فناوری بلاکچین مورد روایی و اعتبارسنجی قرار گرفته و بدین ترتیب، داراییها به لحاظ امنیتی اعتمادپذیر و غیرقابل هک شوند.
با توجه به پیشبینی موسسه گارتنر، فناوری بلاکچین بین 5 تا 10 سال آینده رشد اصلی خود را طی خواهد نمود. بنابراین انتظار داریم بازیهای رایانهای به طور روزافزون از این فناوری بهره گیرند.
دکتر محمدحسین رضوانی مدرک کارشناسی خود را در سال ۱۳۷۸ در رشته سختافزار کامپیوتر از دانشگاه صنعتی امیرکبیر و مدرک کارشناسی ارشد و دکترای خود را نیز در گرایش معماری سیستمهای کامپیوتری از دانشگاه علم و صنعت ایران به ترتیب در سالهای 1380 و 1390 اخذ نمود. وی مدیر سابق دانشکده علمی-کاربردی بنیاد ملی بازیهای رایانهای و عضو هیئت علمی و مدرس دروس بازیهای رایانهای دانشگاهی آزاد اسلامی قزوین است. وی همچنین مدیریت دپارتمان آموزش گروه هشکده (به آدرس www.hashkade.ir) در حوزه فناوری بلاکچین را برعهده دارد.