دیمیتری پیچولین که با نام مستعار "دیمرو" شناخته می شود، برنده این بازی شد
برای برنده شدن در
رباتی که او ایجاد کرد پیروزی را برای دیمیتری به ارمغان آورد
به ما کمی درباره خودتان بگوید. چه کار میکنی؟ از چه زمانی به فناوری بلاک چین علاقه مند شدید؟
من یک توسعه دهنده در زمینه امنیت اطلاعات هستم. من با هیاهوی سال 2017 به بلاک چین آمدم، فناوری را درک کردم و به فناوری ماندم.
انگیزه اصلی شرکت در بازی چه بود؟
اول از همه، علاقه فنی. میخواستم بفهمم چگونه کار میکند، آسیبپذیریها را پیدا کنم، اجازه ندهم بازی تمام شود، و البته سایر بازیکنان را ترول کنم.
آیا قبلاً تصمیم گرفته اید که برنده های خود را چگونه خرج کنید؟ اگر تصمیم بگیرید هنوز آن را خرج نکنید، چگونه آن را ذخیره می کنید؟
نمیتوانستم بفهمم با برندهها چه کنم. انتظارش را نداشتم، پس هیچ برنامه ای ندارم. در حال حاضر همانطور که هست باقی خواهد ماند. شاید در پروژه ای در Waves جریان پیدا کند.
چرا تصمیم گرفتید با استفاده از ربات در بازی شرکت کنید؟ ایده پاترلو چگونه شکل گرفت؟ ممکن است در مورد توسعه آن بیشتر توضیح دهید؟
با آسیب پذیری ها درست نشد. من بازی را در شبکه آزمایشی انتخاب کردم، با خودم بازی کردم، همه گزینه ها را امتحان کردم، اما همه چیز "هارد سیم" بود، هیچ آسیب پذیری در قرارداد وجود نداشت. مشخص شد که این راه را نمی توان پیروز کرد.
چگونه به دنبال آسیب پذیری ها بودید؟ فرضیه های شما چه بود؟ میشه یه کد مثال بدید
دو فرضیه وجود داشت. اول، حمله به نوع داده در سوابق تراکنش داده ها بررسی می شود. به عنوان مثال، من انتظار داشتم که کدگذاری بد، بررسی استفاده مجدد از شناسه تراکنش را دور بزند. دومی یک حمله سرریز عدد صحیح است. من فکر کردم راهی برای تنظیم ارتفاع خیلی زیاد یا منفی وجود دارد و سعی می کنم به گذشته ختم شود.
$tx = $wk->txBroadcast( $wk->txSign( $wk->txData( [ 'heightToGetMoney' => -9223372036854775807 ] ) ) );
وقتی دیدید که انتظارات آسیب پذیری شما برآورده نشده است، چه کردید؟
Tradisys در چت تلگرام خود شکایت کرد که در حالی که همه چیز در شبکه ساکت است، بازی ابدی خواهد بود، اما در سردرگمی (با به روز رسانی گره ها یا فورک های غیرمنتظره)، شانس ربات های خوب افزایش می یابد. آنجا در چت چالش نوشتن یک ربات خوب را پذیرفتم که چند روز بعد این کار را انجام دادم. من کد Patrollo را بر اساس فریمورک خود در PHP نوشتم
من آن را در شبکه آزمایشی تست کردم، کد را در github گذاشتم، ربات را در شبکه اصلی راه اندازی کردم و آن را فراموش کردم.
پیکربندی Patrollo من باید دو مشکل را حل می کرد: شرط بندی تا حد امکان به ندرت و کار کردن تا حد امکان قابل اطمینان.
اولین مورد با شرطهای بسیار خطرناک، ترجیحاً در آخرین بلوک تعیین میشود. در پایان، من همچنان ربات را در بلوک ماقبل آخر قرار دادم، اما با تاخیر اضافی 29 ثانیه. این اجازه می داد تنها هشت شرط در طول بازی انجام شود.
چرا دقیقا 29 ثانیه؟ چگونه به این شماره رسیدید؟
29 ثانیه به تدریج ظاهر شد. در ابتدا تاخیری وجود نداشت ، اما متوجه شدم که در بلوک ماقبل آخر مواردی از شرط بندی های همزمان وجود دارد - یعنی شرط بندی فایده ای نداشت. سپس یک تاخیر وجود داشت - فکر می کنم 17 ثانیه بود، اما کمکی هم نکرد: هنوز شرط بندی های همزمان وجود داشت. سپس تصمیم گرفتم ریسک بیشتری بکنم، اما مطمئناً شرط بندی همزمان نداشته باشم. چرا 17، 29 و غیره؟ فقط عشق به اعداد اول. 24، 25، 26، 27، 28، 30 - همه ترکیبات. و بیش از 30 ثانیه کاملاً خطرناک خواهد بود.
مشکل قابلیت اطمینان چگونه حل شد؟
قابلیت اطمینان عمدتاً با مکانیسم انتخاب یک گره فعال و تا حدی کمتر با انجام یک تراکنش انتقال برای شرط از قبل مورد بررسی قرار گرفت، به طوری که شرط در معامله تاریخ قبلاً به طور دقیق به تراکنش موجود در بلاک چین اشاره می کند.
در طول هر دور از چرخه، تمام گرههای مشخصشده در پیکربندی برای ارتفاع فعلیشان نظرسنجی میشد، گره با بالاترین ارتفاع جریان انتخاب میشد و تعامل بیشتر با آن انجام میشد. در درک من، این قرار بود در برابر فورک ها، در دسترس نبودن، حافظه پنهان و خطاهای احتمالی روی گره ها محافظت کند. این اطمینان وجود دارد که این مکانیسم ساده بود که به پیروزی منجر شد.
به نظر شما ویژگی ها و مزایای اصلی بازی های بلاک چین چیست؟ بلاک چین های عمومی به طور کلی و بلاک چین Waves به طور خاص چقدر برای توسعه بازی امیدوار کننده هستند؟
مزیت های اصلی آن قوانین شناخته شده، ثابت و بدون تغییر بازی به اضافه شرایط برابر برای دسترسی به بازی از هر نقطه از جهان است.
بازی های پولی خارج از زنجیره باید بمیرند.
Waves دارای عملکرد فنی غنی است، اما تفاوت های ظریف وجود دارد، هر دو ذاتی در هر بلاک چین و خاص. هر دوی آنها هنوز به خوبی در ابزارهای توسعهدهنده موجود منعکس نشدهاند.
برای مثال، اگر سعی میکردید به تراکنشها در زمان واقعی پاسخ دهید، و نه در فاصله 5 تا 10 تأیید، در مورد پدیدههای نادر اما رخدادهای یاد میگیرید: تراکنشهایی که از بلوکی به بلوک میپرند، تراکنشهایی که در برخی از بلوکها وجود ندارند و در برخی دیگر ظاهر میشوند. . همه اینها برای سرعت و قابلیت اطمینان هر برنامه ای حیاتی است و باید به طور کلی حل شود، اما در حال حاضر هر توسعه دهنده به تنهایی به سطح اطمینان مورد نیاز خود می رسد. البته با گذشت زمان، همه اینها حل خواهد شد، اما در حال حاضر یک مانع مشخص و نسبتاً زیاد برای ورود و ترس از ویژگی های کار بلاک چین های واقعاً غیرمتمرکز به طور کلی وجود دارد.
بازی FOMO چه تفاوتی با سایر بازی های بلاک چینی دارد که می شناسید؟ مزایا و معایب آن چیست؟
اینها بازی های طولانی هستند. علاقه به چنین بازی هایی با میزان برد افزایش می یابد و میزان برد نیز با گذشت زمان افزایش می یابد.
در حالت ایده آل، بازی هرگز تمام نخواهد شد. وقتی بازی تمام می شود غم انگیز است ...
اخیرا من بودم
بله، اگر وقت و علاقه داشته باشم، همان مراحل را انجام می دهم: تجزیه و تحلیل آسیب پذیری، بازی با خودم در یک شبکه آزمایشی، ربات، منبع باز و غیره.
در پایان، لطفاً در مورد برنامه های خود به عنوان یک توسعه دهنده به ما بگویید.
من علاقه مند به حل مشکلات حل نشده هستم و بسیاری از مشکلات حل نشده در مبحث بلاک چین وجود دارد. این یک چالش واقعی است! و قبول شد.
منبع: www.habr.com