ā€œSpēlēm uz naudu ārpus blokķēdes ir jāmirstā€

ā€œSpēlēm uz naudu ārpus blokķēdes ir jāmirstā€

Par spēles uzvarētāju kļuva Dmitrijs Pičuļins, kurÅ” pazÄ«stams ar segvārdu ā€œdeemruā€. Fhlostonas paradÄ«ze, ko izstrādājis Tradisys on the Waves blokķēde.

Lai uzvarētu spēli, spēlētājam bija jāizdara pati pēdējā likme 60 bloku periodā ā€“ pirms cits spēlētājs veica likmi, tādējādi atiestatot skaitÄ«tāju uz nulli. Uzvarētājs saņēma visu citu spēlētāju likmi.

Viņa izveidotais robots Dmitrijam atnesa uzvaru Patrollo. Dmitrijs izdarÄ«ja tikai astoņas likmes uz vienu WAVES un galu galā uzvarēja 4700 VIĻŅI (836300 XNUMX RUB). Intervijā Dmitrijs runāja par savu robotprogrammatÅ«ru un spēļu izredzēm blokķēdē.

Pastāstiet mums nedaudz par sevi. Ar ko tu nodarbojies? Kad jūs sākāt interesēties par blokķēdes tehnoloģiju?

Esmu izstrādātājs informācijas droŔības jomā. Es atnācu uz blokķēdi ar 2017. gada ažiotāžu, sapratu tehnoloÄ£iju un paliku pie tehnoloÄ£ijas.

Kāda bija galvenā motivācija piedalīties spēlē?

Pirmkārt, tehniskā interese. Es gribēju izdomāt, kā tas darbojas, atrast ievainojamības, neļaut spēlei beigties un, protams, "trollēt" citus spēlētājus.

Vai esi jau izlēmis, kā iztērēsi laimestu? Kā jūs to uzglabāsit, ja nolemjat to vēl netērēt?

Es nevarēju saprast, ko darīt ar laimestu. Es to negaidīju, tāpēc man nav plānu. Pagaidām paliks kā ir. Varbūt tas ieplūdīs kādā viļņu projektā.

Kāpēc nolēmāt piedalīties spēlē, izmantojot botu? Kā radās Patrollo ideja? Vai jūs varētu pastāstīt vairāk par tā attīstību?

Ar ievainojamÄ«bām tas neizdevās. Es paņēmu spēli testa tÄ«klā, spēlēju ar sevi, izmēģināju visas iespējas, taču viss izrādÄ«jās ā€œsavienotsā€, lÄ«gumā nebija ievainojamÄ«bu. Kļuva skaidrs, ka Å”o ceļu nevar uzvarēt.

Kā jūs meklējāt ievainojamības? Kādas bija jūsu hipotēzes? Vai jūs varētu sniegt koda piemēru?

Bija divas hipotēzes. Pirmkārt, uzbrukums datu tipu pārbaudēm datu darÄ«jumu ierakstos. Piemēram, es gaidÄ«ju, ka slikta kodÄ“Å”ana apies darÄ«juma ID atkārtotas izmantoÅ”anas pārbaudi. Otrais ir veselu skaitļu pārpildes uzbrukums. Es sapratu, ka ir veids, kā iestatÄ«t augstumu pārāk augstu vai negatÄ«vu un mēģināt nonākt pagātnē.

$tx = $wk->txBroadcast( $wk->txSign( $wk->txData( [ 'heightToGetMoney' => -9223372036854775807 ] ) ) );

Ko jūs darījāt, kad redzējāt, ka jūsu neaizsargātības cerības nav izpildītas?

Savā telegrammas tērzÄ“Å”anā Tradisys sÅ«dzējās, ka, kamēr tÄ«klā viss ir kluss, spēle bÅ«s mūžīga, taču apjukumā (ar mezglu atjauninājumiem vai negaidÄ«tām dakŔām) labu botu iespējamÄ«ba palielinās. Tur čatā es pieņēmu izaicinājumu uzrakstÄ«t labu botu, ko pēc pāris dienām arÄ« izdarÄ«ju. Es uzrakstÄ«ju Patrollo kodu PHP, pamatojoties uz manu sistēmu WavesKit, kurā cenÅ”os iemūžināt visus labākos paņēmienus darbam ar blokķēdi.

Es to pārbaudīju testa tīklā, ievietoju kodu github, palaidu botu galvenajā tīklā un aizmirsu par to.

Manai Patrollo konfigurācijai bija jāatrisina divas problēmas: veikt likmes pēc iespējas retāk un darboties pēc iespējas uzticamāk.

Pirmo izŔķir ārkārtÄ«gi riskantas likmes, vēlams paŔā pēdējā blokā. Beigās tomēr novietoju botu uz priekÅ”pēdējā bloka, bet ar papildus aizkavÄ“Å”anos 29 sekundes. Tas visas spēles laikā ļāva izdarÄ«t tikai astoņas likmes.

Kāpēc tieÅ”i 29 sekundes? Kā jÅ«s nonācāt pie Ŕī numura?

29 sekundes parādÄ«jās pakāpeniski. Sākumā aizkavÄ“Å”anās nebija, bet es pamanÄ«ju, ka priekÅ”pēdējā blokā bija vienlaicÄ«gu likmju gadÄ«jumi - tas ir, nebija jēgas likt likmes. Tad bija aizkavÄ“Å”anās - es domāju, ka tas bija 17 sekundes, bet arÄ« tas nepalÄ«dzēja: joprojām bija vienlaicÄ«gas likmes. Tad es nolēmu vairāk riskēt, bet noteikti neveikt vienlaicÄ«gas likmes. Kāpēc 17, 29 utt.? VienkārÅ”i mÄ«lestÄ«ba pret pirmskaitļiem. 24, 25, 26, 27, 28, 30 - visi savienojumi. Un vairāk nekā 30 sekundes bÅ«tu pilnÄ«gi riskanti.

Kā tika atrisināta uzticamības problēma?

UzticamÄ«ba tika risināta galvenokārt ar darba mezgla izvēles mehānismu un, mazākā mērā, veicot derÄ«bas pārskaitÄ«juma darÄ«jumu iepriekÅ”, lai derÄ«ba datuma darÄ«jumā jau precÄ«zi norādÄ«tu uz esoÅ”u darÄ«jumu blokķēdē.

Katra cikla laikā visiem konfigurācijā norādÄ«tajiem mezgliem tika aptaujāts to paÅ”reizējais augstums, tika izvēlēts mezgls ar lielāko strāvas augstumu un ar to notika turpmākā mijiedarbÄ«ba. Manuprāt, tam vajadzēja aizsargāt pret dakŔām, nepieejamÄ«bu, keÅ”atmiņu un iespējamām kļūdām mezglos. Pastāv pārliecÄ«ba, ka tieÅ”i Å”is vienkārÅ”ais mehānisms noveda pie uzvaras.

Kādas, jÅ«suprāt, ir blokķēdes spēļu galvenās iezÄ«mes un priekÅ”rocÄ«bas? Cik daudzsoloÅ”as ir publiskās blokķēdes kopumā un Waves blokķēdes jo Ä«paÅ”i spēļu izstrādei?

Galvenās priekÅ”rocÄ«bas ir zināmie, fiksētie un nemainÄ«gie spēles noteikumi, kā arÄ« vienādi nosacÄ«jumi piekļuvei spēlei no jebkuras vietas pasaulē.

Ārpus ķēdes naudas spēlēm ir jāmirst.

Waves ir bagāta tehniskā funkcionalitāte, taču ir nianses, gan raksturÄ«gas jebkurai blokķēdei, gan specifiskas. Abi tie vēl nav Ä«paÅ”i labi atspoguļoti esoÅ”ajos izstrādātāju rÄ«kos.

Piemēram, ja mēģinātu atbildēt uz darÄ«jumiem reāllaikā, nevis 5ā€“10 apstiprinājumu attālumā, jÅ«s uzzinātu par retām, bet notiekoŔām parādÄ«bām: darÄ«jumiem, kas pārlec no bloka uz bloku, transakcijas trÅ«kst dažos blokos un parādās citos. . Tas viss ir bÅ«tiski jebkuras lietojumprogrammas ātrumam un uzticamÄ«bai, un tas ir jāatrisina vispārÄ«gi, taču Å”obrÄ«d katrs izstrādātājs sasniedz sev nepiecieÅ”amo uzticamÄ«bas lÄ«meni pats. Laika gaitā tas viss, protams, atrisināsies, taču pagaidām pastāv zināma, diezgan augsta barjera ienākÅ”anai un bailes no patiesi decentralizēto blokķēžu darba specifikas kopumā.

Kā FOMO spēle atŔķiras no citām jums zināmajām blokķēdes spēlēm? Kādas ir tās priekÅ”rocÄ«bas un trÅ«kumi?

Tās ir garas spēles. Interese par Ŕādām spēlēm pieaug lÄ«dz ar laimestu apjomu, un laimestu apjoms laika gaitā aug.

Ideālā gadījumā spēle nekad nebeigsies. Kad spēle beidzas, paliek skumji...

Nesen es biju uzsākta spēle Fhlostonas paradīze 2. Vai plānojat tajā piedalīties?

Jā, ja man ir laiks un interese, es rÄ«koÅ”u tās paÅ”as darbÄ«bas: ievainojamÄ«bas analÄ«zi, spēlÄ“Å”anos ar sevi testa tÄ«klā, botu, atvērto kodu utt.

Visbeidzot, lūdzu, pastāstiet mums par saviem kā izstrādātāja plāniem.

Mani interesē neatrisinātu problēmu risināŔana, un blokķēdes tēmā ir daudz neatrisinātu problēmu. Tas ir Ä«sts izaicinājums! Un viņŔ tika pieņemts.

Avots: www.habr.com

Pievieno komentāru