"Spel för pengar utanför blockchain måste dö"

"Spel för pengar utanför blockchain måste dö"

Dmitry Pichulin, känd under smeknamnet "deemru", blev vinnaren av spelet Fhloston Paradise, utvecklad av Tradisys på Waves blockchain.

Att vinna in spelet, var en spelare tvungen att göra den allra sista satsningen under en period av 60 block - innan en annan spelare gjorde en satsning, och därigenom nollställde räknaren. Vinnaren fick alla pengar som satsades av andra spelare.

Boten han skapade gav Dmitry seger Patrullo. Dmitry gjorde bara åtta satsningar på en WAVES och vann till slut 4700 VÅGOR (836300 XNUMX RUB). I en intervju berättade Dmitry om sin bot och utsikterna för spel på blockchain.

Berätta lite om dig själv. Vad gör du? När blev du intresserad av blockchain-teknik?

Jag är utvecklare inom området informationssäkerhet. Jag kom till blockchain med hypen 2017, förstod tekniken och stannade för tekniken.

Vad var den främsta motivationen för att delta i spelet?

Först och främst tekniskt intresse. Jag ville ta reda på hur det fungerar, hitta sårbarheter, inte låta spelet ta slut, och naturligtvis "trolla" de andra spelarna.

Har du redan bestämt hur du ska spendera dina vinster? Hur kommer du att lagra det om du bestämmer dig för att inte spendera det ännu?

Jag kunde inte komma på vad jag skulle göra med vinsterna. Jag hade inte förväntat mig det, så jag har inga planer. Tills vidare kommer det att vara som det är. Kanske flyter det in i något projekt på Waves.

Varför valde du att delta i spelet med hjälp av en bot? Hur kom idén till Patrollo? Kan du berätta mer om dess utveckling?

Det gick inte med sårbarheter. Jag hämtade spelet på testnätverket, spelade med mig själv, provade alla alternativ, men allt visade sig vara "hardwired", det fanns inga sårbarheter i kontraktet. Det blev tydligt att den här vägen inte gick att vinna.

Hur letade du efter sårbarheter? Vilka var dina hypoteser? Kan du ge en exempelkod?

Det fanns två hypoteser. För det första, en attack mot datatypkontroller i datatransaktionsposter. Till exempel förväntade jag mig att dålig kodning skulle kringgå återanvändningskontrollen av transaktions-ID. Den andra är en heltalsspillattack. Jag tänkte att det fanns ett sätt att ställa in höjden för hög eller negativ och försöka hamna i det förflutna.

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

Vad gjorde du när du såg att dina sårbarhetsförväntningar inte uppfylldes?

I sin telegramchatt klagade Tradisys över att medan allt är tyst på nätverket kommer spelet att vara evigt, men i förvirring (med noduppdateringar eller oväntade gafflar) ökar chanserna för bra bots. Där, i chatten, antog jag utmaningen att skriva en bra bot, vilket jag gjorde ett par dagar senare. Jag skrev Patrollo-koden i PHP, baserat på mitt ramverk WavesKit, där jag försöker fånga alla de bästa teknikerna för att arbeta med blockchain.

Jag testade det på testnätverket, la upp koden på github, startade boten på huvudnätverket och glömde bort det.

Min Patrollo-konfiguration var tvungen att lösa två problem: placera satsningar så sällan som möjligt och fungera så tillförlitligt som möjligt.

Den första avgörs av extremt riskabla satsningar, helst i det allra sista blocket. Till slut placerade jag fortfarande boten på det näst sista blocket, men med en ytterligare fördröjning på 29 sekunder. Detta gjorde att endast åtta satsningar kunde göras under hela spelet.

Varför exakt 29 sekunder? Hur kom du fram till detta nummer?

29 sekunder dök upp gradvis. Först var det ingen fördröjning, men jag märkte att på det näst sista blocket fanns det fall av samtidiga satsningar - det vill säga, det var ingen idé att satsa. Sedan kom det en fördröjning - jag tror att det var 17 sekunder, men det hjälpte inte heller: det fanns fortfarande samtidiga vad. Då bestämde jag mig för att ta fler risker, men absolut inte ha samtidiga vad. Varför 17, 29 osv? Bara en kärlek till primtal. 24, 25, 26, 27, 28, 30 - alla föreningar. Och mer än 30 sekunder skulle vara helt riskabelt.

Hur löstes tillförlitlighetsproblemet?

Tillförlitligheten togs upp främst av mekanismen för att välja en fungerande nod och, i mindre utsträckning, genom att genomföra en överföringstransaktion för vadet i förväg, så att insatsen i datumtransaktionen redan exakt skulle referera till en befintlig transaktion på blockkedjan.

Under varje omgång av cykeln avfrågades alla noder specificerade i konfigurationen för deras nuvarande höjd, noden med den högsta nuvarande höjden valdes och ytterligare interaktion ägde rum med den. Enligt min uppfattning var detta tänkt att skydda mot gafflar, otillgänglighet, cachning och eventuella fel på noderna. Det finns förtroende för att det var denna enkla mekanism som ledde till seger.

Vilka, enligt din åsikt, är de viktigaste funktionerna och fördelarna med blockchain-spel? Hur lovande är offentliga blockkedjor i allmänhet och Waves blockchain i synnerhet för spelutveckling?

De främsta fördelarna är de kända, fasta och oföränderliga spelreglerna, plus lika villkor för tillgång till spelet var som helst i världen.

Pengaspel utanför kedjan måste dö.

Waves har rik teknisk funktionalitet, men det finns nyanser, både inneboende i alla blockchain och specifika. Båda är ännu inte särskilt väl reflekterade i befintliga utvecklarverktyg.

Till exempel, om du försökte svara på transaktioner i realtid, och inte på ett avstånd av 5-10 bekräftelser, skulle du lära dig om sällsynta men förekommande fenomen: transaktioner som hoppar från block till block, transaktioner som saknas i vissa block och dyker upp i andra . Allt detta är avgörande för hastigheten och tillförlitligheten för alla applikationer och måste lösas på ett allmänt sätt, men för närvarande uppnår varje utvecklare den nivå av tillförlitlighet han kräver på egen hand. Med tiden kommer naturligtvis allt detta att lösas, men för närvarande finns det ett visst, ganska högt, inträdesbarriär och rädsla för detaljerna i arbetet med verkligt decentraliserade blockkedjor i allmänhet.

Hur skiljer sig FOMO-spelet från andra blockchain-spel som du känner till? Vilka är dess fördelar och nackdelar?

Det här är långa spel. Intresset för sådana spel växer med mängden vinster, och mängden vinster växer med tiden.

Helst kommer spelet aldrig ta slut. När spelet är slut är det sorgligt...

Nyligen var jag lanserades spel Fhloston Paradise 2. Planerar du att ta del av det?

Ja, om jag har tid och intresse kommer jag att ta samma steg: sårbarhetsanalys, leka med mig själv på ett testnätverk, bot, öppen källkod osv.

Slutligen, berätta för oss om dina planer som utvecklare.

Jag är intresserad av att lösa olösta problem, och det finns många olösta problem i blockchain-ämnet. Det här är en riktig utmaning! Och han blev antagen.

Källa: will.com

Lägg en kommentar