"Spultsjes foar jild bûten de blockchain moatte stjerre"

"Spultsjes foar jild bûten de blockchain moatte stjerre"

Dmitry Pichulin, bekend ûnder de bynamme "deemru", waard de winner fan it spul Fhloston Paradise, ûntwikkele troch Tradisys on the Waves blockchain.

Om yn te winnen it spultsje, in spiler moast meitsje de alderlêste weddenskip yn in perioade fan 60 blokken - foardat in oare spiler makke in weddenskip, dêrmei weromsette de teller op nul. De winner krige al it jild bet troch oare spilers.

De bot dy't hy makke brocht Dmitry oerwinning Patrollo. Dmitry makke mar acht ynsette op ien WAVES en úteinlik wûn 4700 WAVES (RUB 836300). Yn in ynterview spruts Dmitry oer syn bot en de perspektiven foar spultsjes op 'e blockchain.

Fertel ús in bytsje oer dysels. Wat dochst do? Wannear binne jo ynteressearre wurden yn blockchain-technology?

Ik bin in ûntwikkelder op it mêd fan ynformaasjefeiligens. Ik kaam ta blockchain mei de hype fan 2017, begriep de technology en bleau foar de technology.

Wat wie de wichtichste motivaasje foar meidwaan oan it spul?

Earst fan alles, technyske belangstelling. Ik woe útfine hoe't it wurket, fynst kwetsberens, net lit it spul einigje, en "troll" de oare spilers, fansels.

Ha jo al besletten hoe't jo besteegje jo winst? Hoe sille jo it opslaan as jo beslute om it noch net te besteegjen?

Ik koe net útfine wat te dwaan mei de winst. Ik hie it net ferwachte, dus ik ha gjin plannen. Foar no bliuwt it sa't it is. Miskien sil it streame yn wat projekt op Waves.

Wêrom hawwe jo besletten om mei te dwaan oan it spultsje mei in bot? Hoe kaam it idee foar Patrollo? Kinne jo ús mear fertelle oer syn ûntwikkeling?

It slagge net mei kwetsberens. Ik pakte it spultsje op it testnetwurk, spielde mei mysels, besocht alle opsjes, mar alles die bliken te wêzen "hardwired", d'r wiene gjin kwetsberens yn 'e kontrakt. It waard dúdlik dat dizze manier net wûn wurde koe.

Hoe sochten jo nei kwetsberens? Wat wiene dyn hypotezen? Kinne jo in foarbyldkoade leverje?

Der wiene twa hypotezen. As earste, in oanfal op gegevenstype kontrolearret yn gegevenstransaksjerecords. Bygelyks, ik ferwachte dat minne kodearring soe omgean de transaksje ID werbrûk kontrôle. De twadde is in integer oerrin oanfal. Ik tocht dat der in manier wie om de hichte te heech of negatyf yn te stellen en te besykjen yn it ferline te einigjen.

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

Wat hawwe jo dien doe't jo seagen dat jo kwetsberensferwachtingen net waarden foldien?

Yn syn telegram-petear klage Tradisys dat wylst alles rêstich is op it netwurk, it spultsje ivich wêze sil, mar yn betizing (mei knooppuntupdates of ûnferwachte foarken), ferheegje de kânsen op goede bots. Dêr haw ik yn it petear de útdaging oannommen om in goeie bot te skriuwen, wat ik in pear dagen letter die. Ik skreau de Patrollo-koade yn PHP, basearre op myn ramt WavesKit, wêryn ik besykje alle bêste techniken te fangen foar it wurkjen mei blockchain.

Ik testte it op it testnetwurk, pleatste de koade op github, lansearre de bot op it haadnetwurk en fergeat it.

Myn Patrollo konfiguraasje moast oplosse twa problemen: pleats bets sa komselden mooglik en wurkje sa betrouber mooglik.

De earste wurdt besletten troch ekstreem risikofolle bets, leafst yn it alderlêste blok. Uteinlik haw ik de bot noch op it foarlêste blok pleatst, mar mei in ekstra fertraging fan 29 sekonden. Dit tastien mar acht bets wurde makke tidens de hiele wedstriid.

Wêrom krekt 29 sekonden? Hoe binne jo op dit nûmer kommen?

29 sekonden ferskynden stadichoan. Yn it earstoan wie der gjin fertraging, mar ik fernaam dat op it foarlêste blok der wiene gefallen fan simultane bets - dat is, der wie gjin punt yn weddenskip. Doe wie der in fertraging - ik tink dat it wie 17 sekonden, mar it holp ek net: der wiene noch simultane bets. Doe besleat ik mear risiko's te nimmen, mar wis net tagelyk weddenskip te hawwen. Wêrom 17, 29, ensfh. Krekt in leafde foar prime getallen. 24, 25, 26, 27, 28, 30 - alle ferbiningen. En mear as 30 sekonden soe folslein riskant wêze.

Hoe waard it probleem fan betrouberens oplost?

Betrouberens waard benammen oanpakt troch it meganisme foar it selektearjen fan in wurkjende knooppunt en, yn mindere mjitte, troch it útfieren fan in oerdrachttransaksje foar de weddenskip fan tefoaren, sadat de weddenskip yn 'e datumtransaksje al krekt in besteande transaksje op 'e blockchain soe ferwize.

Tidens elke rûnte fan 'e syklus waarden alle knooppunten oantsjutte yn' e konfiguraasje ûnderfrege foar har hjoeddeistige hichte, it knooppunt mei de heechste hjoeddeistige hichte waard selektearre, en fierdere ynteraksje fûn plak mei it. Yn myn begryp soe dit beskermje tsjin foarken, ûnbeskikberens, caching en mooglike flaters op 'e knopen. Der is betrouwen dat it wie dit ienfâldige meganisme dat late ta oerwinning.

Wat binne nei jo miening de wichtichste funksjes en foardielen fan blockchain-spultsjes? Hoe belofte binne iepenbiere blockchains yn 't algemien en de Waves blockchain yn' t bysûnder foar spultsje-ûntwikkeling?

De wichtichste foardielen binne de bekende, fêste en ûnferoarlike regels fan it spul, plus gelikense betingsten foar tagong ta it spul fan oeral yn 'e wrâld.

Off-chain jild games moatte stjerre.

Waves hat rike technyske funksjonaliteit, mar d'r binne nuânses, sawol ynherinte yn elke blockchain as spesifyk. Beide fan harren binne noch net hiel goed wjerspegele yn besteande ûntwikkelders ark.

As jo ​​​​bygelyks besykje te reagearjen op transaksjes yn echte tiid, en net op in ôfstân fan 5-10 befêstigings, soene jo leare oer seldsume, mar foarkommende ferskynsels: transaksjes springe fan blok nei blok, transaksjes ûntbrekke yn guon blokken en ferskine yn oaren . Dit alles is kritysk foar de snelheid en betrouberens fan elke applikaasje en moat op in algemiene manier wurde oplost, mar foar no berikt elke ûntwikkelder it nivo fan betrouberens dat hy op himsels fereasket. Yn 'e rin fan' e tiid sil dit alles fansels oplost wurde, mar foar no is d'r in bepaalde, nochal hege, barriêre foar yngong en eangst foar de spesifiken fan it wurk fan wirklik desintralisearre blockchains yn 't algemien.

Hoe is it FOMO-spiel oars fan oare blockchain-spultsjes dy't jo kenne? Wat binne syn foardielen en neidielen?

Dit binne lange spultsjes. Ynteresse yn sokke spultsjes groeit mei it bedrach fan de winst, en it bedrach fan de winst groeit oer de tiid.

Ideaal, it spultsje sil nea einigje. As it spultsje einiget, is it spitich ...

Koartlyn wie ik lansearre it spul Fhloston Paradise 2. Binne jo fan plan dêr oan mei te dwaan?

Ja, as ik tiid en belangstelling haw, nim ik deselde stappen: kwetsberensanalyse, boartsje mei mysels op in testnetwurk, bot, iepen boarne, ensfh.

As lêste, fertel ús asjebleaft oer jo plannen as ûntwikkelder.

Ik bin ynteressearre yn it oplossen fan ûnoploste problemen, en d'r binne in protte ûnoploste problemen yn it blokje-ûnderwerp. Dit is in echte útdaging! En hy waard akseptearre.

Boarne: www.habr.com

Add a comment