"Speletjies vir geld buite die blokketting moet doodgaan"

"Speletjies vir geld buite die blokketting moet doodgaan"

Dmitry Pichulin, bekend onder die bynaam "deemru", het die wenner van die wedstryd geword Fhloston Paradise, ontwikkel deur Tradisys on the Waves blockchain.

Om in te wen die spel, 'n speler moes die heel laaste weddenskap gedurende 'n tydperk van 60 blokke maak - voordat 'n ander speler 'n weddenskap gemaak het en sodoende die teller na nul teruggestel het. Die wenner het al die geld-weddenskappe deur ander spelers ontvang.

Die bot wat hy geskep het, het die oorwinning vir Dmitri gebring Patrol. Dmitry het slegs agt weddenskappe op een WAVES gemaak en uiteindelik gewen 4700 GOLWE (RUB 836300 XNUMX). In 'n onderhoud het Dmitry gepraat oor sy bot en die vooruitsigte vir speletjies op die blokketting.

Vertel ons 'n bietjie van jouself. Wat doen jy? Wanneer het jy in blockchain-tegnologie belang gestel?

Ek is 'n ontwikkelaar op die gebied van inligtingsekuriteit. Ek het blockchain toe gekom met die hype van 2017, het die tegnologie verstaan ​​en gebly vir die tegnologie.

Wat was die hoofmotivering vir deelname aan die speletjie?

Eerstens, tegniese belangstelling. Ek wou uitvind hoe dit werk, kwesbaarhede vind, nie die speletjie laat eindig nie, en natuurlik die ander spelers “troll”.

Het jy al besluit hoe jy jou winste gaan bestee? Hoe sal jy dit stoor as jy besluit om dit nog nie te spandeer nie?

Ek kon nie uitvind wat om met die wengeld te doen nie. Ek het dit nie verwag nie, so ek het geen planne nie. Vir nou sal dit bly soos dit is. Miskien sal dit vloei in een of ander projek op Waves.

Hoekom het jy besluit om aan die speletjie deel te neem deur 'n bot te gebruik? Hoe het die idee vir Patrollo ontstaan? Kan jy ons meer vertel oor die ontwikkeling daarvan?

Dit het nie uitgewerk met kwesbaarhede nie. Ek het die speletjie op die toetsnetwerk opgetel, met myself gespeel, al die opsies probeer, maar alles het geblyk te wees "hardwired", daar was geen kwesbaarhede in die kontrak nie. Dit het duidelik geword dat hierdie manier nie gewen kan word nie.

Hoe het jy na kwesbaarhede gesoek? Wat was jou hipoteses? Kan jy 'n voorbeeldkode verskaf?

Daar was twee hipoteses. Eerstens, 'n aanval op datatipe kontroleer in datatransaksierekords. Ek het byvoorbeeld verwag dat slegte kodering die transaksie-ID-hergebruikkontrole sou omseil. Die tweede is 'n heelgetal-oorloop-aanval. Ek het gedink daar is 'n manier om die hoogte te hoog of negatief te stel en in die verlede te probeer eindig.

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

Wat het jy gedoen toe jy sien dat jou kwesbaarheidsverwagtinge nie nagekom is nie?

In sy telegramklets het Tradisys gekla dat terwyl alles stil is op die netwerk, die speletjie ewig sal wees, maar in verwarring (met node-opdaterings of onverwagte vurke), verhoog die kanse op goeie bots. Daar, in die chat, het ek die uitdaging aanvaar om 'n goeie bot te skryf, wat ek 'n paar dae later gedoen het. Ek het die Patrollo-kode in PHP geskryf, gebaseer op my raamwerk WavesKit, waarin ek probeer om al die beste tegnieke vas te lê om met blokketting te werk.

Ek het dit op die toetsnetwerk getoets, die kode op github geplaas, die bot op die hoofnetwerk bekendgestel en daarvan vergeet.

My Patrollo-konfigurasie moes twee probleme oplos: plaas weddenskappe so selde as moontlik en werk so betroubaar as moontlik.

Die eerste word beslis deur uiters riskante weddenskappe, verkieslik in die heel laaste blok. Op die ou end het ek steeds die bot op die voorlaaste blok geplaas, maar met 'n bykomende vertraging van 29 sekondes. Dit het toegelaat dat slegs agt weddenskappe gedurende die hele wedstryd gemaak word.

Hoekom presies 29 sekondes? Hoe het jy by hierdie nommer uitgekom?

29 sekondes het geleidelik verskyn. Aanvanklik was daar geen vertraging nie, maar ek het opgemerk dat daar op die voorlaaste blok gevalle van gelyktydige weddenskappe was - dit wil sê, daar was geen sin om te wedden nie. Toe was daar 'n vertraging - ek dink dit was 17 sekondes, maar dit het ook nie gehelp nie: daar was steeds gelyktydige weddenskappe. Toe besluit ek om meer risiko's te neem, maar beslis nie om gelyktydige weddenskappe te hê nie. Hoekom 17, 29, ens.? Net 'n liefde vir priemgetalle. 24, 25, 26, 27, 28, 30 - alle verbindings. En meer as 30 sekondes sou heeltemal riskant wees.

Hoe is die betroubaarheidskwessie opgelos?

Betroubaarheid is hoofsaaklik aangespreek deur die meganisme om 'n werkende nodus te kies en, in 'n mindere mate, deur vooraf 'n oordragtransaksie vir die weddenskap uit te voer, sodat die weddenskap in die datumtransaksie reeds akkuraat 'n bestaande transaksie op die blokketting sou verwys.

Tydens elke rondte van die siklus is alle nodusse wat in die konfigurasie gespesifiseer is, gepeil vir hul huidige hoogte, die nodus met die hoogste stroomhoogte is gekies, en verdere interaksie het daarmee plaasgevind. Na my begrip was dit veronderstel om te beskerm teen vurke, onbeskikbaarheid, kas en moontlike foute op die nodusse. Daar is vertroue dat dit hierdie eenvoudige meganisme was wat tot oorwinning gelei het.

Wat, na jou mening, is die belangrikste kenmerke en voordele van blockchain-speletjies? Hoe belowend is openbare blokkettings in die algemeen en die Waves-blokketting in die besonder vir spelontwikkeling?

Die belangrikste voordele is die bekende, vaste en onveranderlike reëls van die spel, plus gelyke voorwaardes vir toegang tot die spel vanaf enige plek in die wêreld.

Off-chain-geldspeletjies moet doodgaan.

Waves het ryk tegniese funksionaliteit, maar daar is nuanses, beide inherent aan enige blokketting en spesifiek. Beide van hulle word nog nie baie goed weerspieël in bestaande ontwikkelaarnutsgoed nie.

Byvoorbeeld, as jy probeer om intyds op transaksies te reageer, en nie op 'n afstand van 5-10 bevestigings nie, sal jy leer oor seldsame maar voorkomende verskynsels: transaksies wat van blok tot blok spring, transaksies wat in sommige blokke ontbreek en in ander verskyn . Dit alles is van kritieke belang vir die spoed en betroubaarheid van enige toepassing en moet op 'n algemene wyse opgelos word, maar vir nou bereik elke ontwikkelaar die vlak van betroubaarheid wat hy op sy eie vereis. Met verloop van tyd sal dit alles natuurlik opgelos word, maar vir nou is daar 'n sekere, taamlik hoë, toegangsgrens en vrees vir die besonderhede van die werk van werklik gedesentraliseerde blokkettings in die algemeen.

Hoe verskil die FOMO-speletjie van ander blockchain-speletjies wat jy ken? Wat is die voordele en nadele daarvan?

Dit is lang speletjies. Belangstelling in sulke speletjies groei met die hoeveelheid wengeld, en die hoeveelheid winste groei mettertyd.

Ideaal gesproke sal die spel nooit eindig nie. As die wedstryd eindig is dit hartseer...

Onlangs was ek van stapel gestuur spel Fhloston Paradise 2. Beplan jy om daaraan deel te neem?

Ja, as ek tyd en belangstelling het, sal ek dieselfde stappe doen: kwesbaarheidsontleding, speel met myself op 'n toetsnetwerk, bot, oopbron, ens.

Ten slotte, vertel ons asseblief van jou planne as 'n ontwikkelaar.

Ek stel belang om onopgeloste probleme op te los, en daar is baie onopgeloste probleme in die blokketting-onderwerp. Dit is 'n ware uitdaging! En hy is aanvaar.

Bron: will.com

Voeg 'n opmerking