Dmitry Pichulin, cunnisciutu sottu u soprannomu "deemru", divintò u vincitore di u ghjocu
Per vince in
U bot chì hà creatu hà purtatu a vittoria à Dmitry
Parlaci un pocu di sè stessu. Chi faci? Quandu avete interessatu à a tecnulugia di blockchain?
Sò un sviluppatore in u campu di a sicurità di l'infurmazioni. Aghju vinutu à bluccatu cù l'hype di 2017, hà capitu a tecnulugia è stà per a tecnulugia.
Chì era a motivazione principale per participà à u ghjocu?
Prima di tuttu, interessu tecnicu. Vuliu capisce cumu funziona, truvà vulnerabilità, ùn lasciate micca finisce u ghjocu, è "trollà" l'altri attori, sicuru.
Avete digià decisu cumu spendete e vostre vincite? Cumu l'avete guardatu se decide di ùn spende micca ancu?
Ùn pudia capisce ciò chì fà cù e vincite. Ùn l'aspittava micca, perchè ùn aghju micca piani. Per avà fermarà cum'è hè. Forse sboccarà in qualchì prughjettu nantu à Waves.
Perchè avete decisu di participà à u ghjocu cù un bot? Cumu hè nata l'idea di Patrollu ? Ci pò dì di più nantu à u so sviluppu ?
Ùn hà micca travagliatu cù vulnerabilità. Aghju pigliatu u ghjocu nantu à a reta di teste, ghjucatu cun mè stessu, pruvatu tutte l'opzioni, ma tuttu hè diventatu "hardwired", ùn ci era micca vulnerabilità in u cuntrattu. Hè diventatu chjaru chì questu modu ùn pò micca esse vintu.
Cumu cercate i vulnerabili? Chì eranu e vostre ipotesi ? Pudete furnisce un codice esempiu?
Ci era duie ipotesi. Prima, un attaccu à i cuntrolli di u tipu di dati in i registri di transazzione di dati. Per esempiu, m'aspittava chì una codificazione cattiva ignorava u cuntrollu di reutilizazione di l'ID di transazzione. U sicondu hè un attaccu di overflow integer. Aghju pensatu chì ci era un modu per stabilisce l'altezza troppu alta o negativa è pruvate à finisce in u passatu.
$tx = $wk->txBroadcast( $wk->txSign( $wk->txData( [ 'heightToGetMoney' => -9223372036854775807 ] ) ) );
Chì avete fattu quandu avete vistu chì e vostre aspettative di vulnerabilità ùn sò micca stati cumpleti?
In u so telegram chat, Tradisys si lamentava chì, mentri tuttu hè tranquillu nantu à a reta, u ghjocu serà eternu, ma in cunfusione (cù l'aghjurnamenti di nodi o forche inesperu), e probabilità di boni bots aumentanu. Quì, in u chat, aghju accettatu a sfida di scrive un bon bot, chì aghju fattu un paru di ghjorni dopu. Aghju scrittu u codice Patrollo in PHP, basatu annantu à u mo framework
Aghju pruvatu nantu à a reta di teste, publicatu u codice in github, lanciatu u bot in a reta principale è scurdatu.
A mo cunfigurazione di Patrollo avia da risolve dui prublemi: piazzate scumesse u più raramente pussibule è travaglià in modu affidabile.
U primu hè decisu da scumesse estremamente risicate, preferibile in l'ultimu bloccu. À a fine, aghju sempre postu u bot in u penultimu bloccu, ma cù un ritardu supplementu di 29 seconde. Questu hà permessu solu ottu scumesse per esse fatte durante u ghjocu tutale.
Perchè esattamente 29 seconde? Cumu hè ghjuntu à stu numeru?
29 seconde apparsu gradualmente. À u principiu ùn ci era micca ritardu, ma aghju nutatu chì nantu à u penultimu bloccu ci era casi di scumesse simultanee - vale à dì, ùn ci era micca puntu di scumessa. Allora ci hè statu un ritardu - pensu chì era 17 seconde, ma ùn hà micca aiutu ancu: ci era sempre scumessa simultanea. Allora decisu di piglià più risichi, ma di sicuru ùn avè micca scumesse simultanee. Perchè 17, 29, etc.? Solu un amore per i numeri primi. 24, 25, 26, 27, 28, 30 - tutti i cumposti. È più di 30 seconde seria cumplitamenti risicatu.
Cumu hè stata risolta u prublema di affidabilità?
L'affidabilità hè stata indirizzata principarmenti da u mecanismu per selezziunà un node di travagliu è, in una misura più menu, cunducendu una transazzione di trasferimentu per a scumessa in anticipu, perchè a scumessa in a transazzione di data hà digià riferenziatu accuratamente una transazzione esistenti nantu à u blockchain.
Duranti ogni volta di u ciculu, tutti i nodi specificati in a cunfigurazione sò stati sondati per a so altezza attuale, u node cù a più alta altezza attuale hè statu sceltu, è più interazzione hè stata cun ellu. In u mo capitu, questu era suppostu per pruteggiri contra i forchetti, indisponibilità, caching è pussibuli errori nantu à i nodi. Ci hè cunfidenza chì era stu mecanismu simplice chì hà purtatu à a vittoria.
Chì sò, in u vostru parè, e caratteristiche principali è i vantaghji di i ghjoculi di blockchain? Quantu sò promettenti i blockchain publichi in generale è u blockchain Waves in particulare per u sviluppu di u ghjocu?
I vantaghji principali sò i reguli di u ghjocu cunnisciuti, fissi è immubiliarii, più cundizioni uguali per l'accessu à u ghjocu da ogni locu in u mondu.
I ghjochi di soldi off-chain deve more.
Waves hà riccu funziunalità tecnicu, ma ci sò sfumature, sia inerenti in ogni blockchain sia specifichi. Tramindui ùn sò ancu assai riflessi in i strumenti di sviluppatore esistenti.
Per esempiu, sè vo avete pruvatu à risponde à e transazzione in tempu reale, è micca à una distanza di 5-10 cunfirmazioni, avete amparate nantu à i fenomeni rari, ma chì sò accaduti: transazzione chì salta da bloccu à bloccu, transazzione chì manca in certi blocchi è appare in altri. . Tuttu chistu hè criticu per a rapidità è l'affidabilità di qualsiasi applicazione è deve esse risolta in una manera generale, ma per avà ogni sviluppatore ottene u livellu di affidabilità chì esige per sè stessu. À u tempu, sicuru, tuttu questu serà risoltu, ma per ora ci hè una certa, piuttostu alta, barriera à l'ingressu è u timore di i specifichi di u travagliu di i blockchains veramente decentralizati in generale.
Cumu hè u ghjocu FOMO diffirenti da l'altri ghjochi di blockchain chì cunnosci? Chì sò i so vantaghji è svantaghji?
Quessi sò ghjochi longu. L'interessu in tali ghjochi cresce cù a quantità di vincite, è a quantità di vincite cresce cù u tempu.
Ideale, u ghjocu ùn finisce mai. Quandu u ghjocu finisci hè tristu ...
Recentemente eru
Iè, s'è aghju tempu è interessu, aghju da fà i stessi passi: analisi di vulnerabilità, ghjucà cun mè stessu nantu à una reta di teste, bot, open source, etc.
Infine, parlateci di i vostri piani cum'è sviluppatore.
Sò interessatu à risolve i prublemi senza risolve, è ci sò parechji prublemi senza risolve in u tema di blockchain. Questu hè un veru sfida! È fù accettatu.
Source: www.habr.com