"Ang mga laro para sa pera sa labas ng blockchain ay dapat mamatay"

"Ang mga laro para sa pera sa labas ng blockchain ay dapat mamatay"

Si Dmitry Pichulin, na kilala sa ilalim ng palayaw na "deemru", ay naging panalo sa laro Fhloston Paradise, na binuo ng Tradisys sa Waves blockchain.

Para manalo sa ang laro, kinailangang gawin ng manlalaro ang pinakahuling taya sa loob ng 60 bloke - bago tumaya ang isa pang manlalaro, sa gayon ay na-reset ang counter sa zero. Natanggap ng nanalo ang lahat ng perang taya ng ibang mga manlalaro.

Ang bot na nilikha niya ay nagdala ng tagumpay kay Dmitry Nagpa-Patrollo. Si Dmitry ay gumawa lamang ng walong taya sa isang WAVES at kalaunan ay nanalo 4700 MGA AWAY (RUB 836300). Sa isang panayam, nagsalita si Dmitry tungkol sa kanyang bot at ang mga prospect para sa mga laro sa blockchain.

Mag kwento ka ng kaunti patungkol sa iyong sarili. anong ginagawa mo Kailan ka naging interesado sa teknolohiya ng blockchain?

Ako ay isang developer sa larangan ng seguridad ng impormasyon. Dumating ako sa blockchain na may hype ng 2017, naunawaan ang teknolohiya at nanatili para sa teknolohiya.

Ano ang pangunahing motibasyon sa paglahok sa laro?

Una sa lahat, teknikal na interes. Nais kong malaman kung paano ito gumagana, maghanap ng mga kahinaan, huwag hayaang matapos ang laro, at "troll" ang iba pang mga manlalaro, siyempre.

Napagpasyahan mo na ba kung paano mo gagastusin ang iyong mga panalo? Paano mo ito iimbak kung magpasya kang hindi pa ito gugulin?

Hindi ko maisip kung ano ang gagawin sa mga panalo. Hindi ko inaasahan, kaya wala akong plano. Sa ngayon ay mananatili itong gaya ng dati. Marahil ay dadaloy ito sa ilang proyekto sa Waves.

Bakit ka nagpasya na makilahok sa laro gamit ang isang bot? Paano nabuo ang ideya para kay Patrollo? Maaari mo bang sabihin sa amin ang higit pa tungkol sa pag-unlad nito?

Hindi ito gumana nang may mga kahinaan. Kinuha ko ang laro sa network ng pagsubok, naglaro sa aking sarili, sinubukan ang lahat ng mga pagpipilian, ngunit ang lahat ay naging "hardwired", walang mga kahinaan sa kontrata. Ito ay naging malinaw na ang paraan na ito ay hindi maaaring manalo.

Paano mo hinanap ang mga kahinaan? Ano ang iyong mga hypotheses? Maaari ka bang magbigay ng halimbawang code?

Mayroong dalawang hypotheses. Una, ang pag-atake sa uri ng data ay sumusuri sa mga talaan ng transaksyon ng data. Halimbawa, inaasahan kong malalampasan ng masamang coding ang pagsusuri sa muling paggamit ng transaction ID. Ang pangalawa ay isang integer overflow attack. Naisip ko na mayroong isang paraan upang itakda ang taas na masyadong mataas o negatibo at subukang mapunta sa nakaraan.

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

Ano ang ginawa mo nang makita mong hindi natugunan ang iyong mga inaasahan sa kahinaan?

Sa kanyang telegram chat, nagreklamo si Tradisys na habang ang lahat ay tahimik sa network, ang laro ay magiging walang hanggan, ngunit sa pagkalito (na may mga pag-update ng node o hindi inaasahang mga tinidor), ang mga pagkakataon ng magagandang bot ay tumaas. Doon, sa chat, tinanggap ko ang hamon na magsulat ng magandang bot, na ginawa ko pagkalipas ng ilang araw. Sinulat ko ang code ng Patrollo sa PHP, batay sa aking balangkas WavesKit, kung saan sinusubukan kong makuha ang lahat ng pinakamahusay na diskarte para sa pagtatrabaho sa blockchain.

Sinubukan ko ito sa network ng pagsubok, nai-post ang code sa github, inilunsad ang bot sa pangunahing network at nakalimutan ang tungkol dito.

Ang aking pagsasaayos ng Patrollo ay kailangang lutasin ang dalawang problema: maglagay ng mga taya nang madalang hangga't maaari at gumana nang maaasahan hangga't maaari.

Ang una ay napagpasyahan ng lubhang mapanganib na mga taya, mas mabuti sa pinakahuling bloke. Sa huli, inilagay ko pa rin ang bot sa penultimate block, ngunit may karagdagang pagkaantala ng 29 segundo. Ito ay nagbigay-daan lamang sa walong taya na magawa sa buong laro.

Bakit eksaktong 29 segundo? Paano ka nakarating sa numerong ito?

Ang 29 segundo ay unti-unting lumitaw. Sa una ay walang pagkaantala, ngunit napansin ko na sa penultimate block ay may mga kaso ng sabay-sabay na taya - iyon ay, walang punto sa pagtaya. Pagkatapos ay nagkaroon ng pagkaantala - sa tingin ko ito ay 17 segundo, ngunit hindi rin ito nakatulong: mayroon pa ring mga sabay-sabay na taya. Pagkatapos ay nagpasya akong kumuha ng higit pang mga panganib, ngunit tiyak na hindi magkaroon ng sabay-sabay na taya. Bakit 17, 29, atbp.? Pag-ibig lamang sa mga pangunahing numero. 24, 25, 26, 27, 28, 30 - lahat ng compound. At higit sa 30 segundo ay magiging ganap na peligroso.

Paano nalutas ang isyu sa pagiging maaasahan?

Ang pagiging maaasahan ay pangunahing tinutugunan ng mekanismo para sa pagpili ng isang gumaganang node at, sa isang mas mababang lawak, sa pamamagitan ng pagsasagawa ng isang paglipat ng transaksyon para sa taya nang maaga, upang ang taya sa petsa ng transaksyon ay tumpak na sumangguni sa isang umiiral na transaksyon sa blockchain.

Sa bawat pag-ikot ng cycle, ang lahat ng mga node na tinukoy sa configuration ay nasuri para sa kanilang kasalukuyang taas, ang node na may pinakamataas na kasalukuyang taas ay pinili, at ang karagdagang pakikipag-ugnayan ay naganap dito. Sa aking pag-unawa, ito ay dapat na maprotektahan laban sa mga tinidor, hindi magagamit, pag-cache at posibleng mga error sa mga node. May tiwala na ang simpleng mekanismong ito ang humantong sa tagumpay.

Ano, sa iyong opinyon, ang mga pangunahing tampok at pakinabang ng mga larong blockchain? Gaano kapani-paniwala ang mga pampublikong blockchain sa pangkalahatan at ang Waves blockchain sa partikular para sa pagbuo ng laro?

Ang mga pangunahing bentahe ay ang kilala, naayos at hindi nagbabagong mga panuntunan ng laro, kasama ang pantay na mga kondisyon para sa pag-access sa laro mula sa kahit saan sa mundo.

Ang mga laro ng pera sa labas ng kadena ay dapat mamatay.

Ang mga alon ay may mayaman na teknikal na pag-andar, ngunit may mga nuances, parehong likas sa anumang blockchain at partikular. Pareho sa mga ito ay hindi pa masyadong nakikita sa umiiral na mga tool ng developer.

Halimbawa, kung sinubukan mong tumugon sa mga transaksyon sa real time, at hindi sa layong 5-10 na kumpirmasyon, matututuhan mo ang tungkol sa mga bihirang ngunit nagaganap na mga phenomena: mga transaksyong tumalon mula sa bawat bloke, mga transaksyon na nawawala sa ilang mga bloke at lumilitaw sa iba. . Ang lahat ng ito ay kritikal para sa bilis at pagiging maaasahan ng anumang aplikasyon at dapat malutas sa isang pangkalahatang paraan, ngunit sa ngayon ang bawat developer ay nakakamit ang antas ng pagiging maaasahan na kailangan niya sa kanyang sarili. Sa paglipas ng panahon, siyempre, ang lahat ng ito ay malulutas, ngunit sa ngayon mayroong isang tiyak, medyo mataas, hadlang sa pagpasok at takot sa mga detalye ng gawain ng mga tunay na desentralisadong blockchain sa pangkalahatan.

Paano naiiba ang laro ng FOMO sa iba pang mga larong blockchain na alam mo? Ano ang mga pakinabang at disadvantage nito?

Mahabang laro ito. Ang interes sa mga naturang laro ay lumalaki sa dami ng mga panalo, at ang halaga ng mga panalo ay lumalaki sa paglipas ng panahon.

Sa isip, ang laro ay hindi magtatapos. Kapag natapos ang laro ay malungkot ...

Kamakailan ay ako inilunsad laro Fhloston Paradise 2. Nagpaplano ka bang makibahagi dito?

Oo, kung mayroon akong oras at interes, gagawin ko ang parehong mga hakbang: pagsusuri ng kahinaan, paglalaro sa aking sarili sa isang pagsubok na network, bot, open source, atbp.

Panghuli, mangyaring sabihin sa amin ang tungkol sa iyong mga plano bilang isang developer.

Interesado ako sa paglutas ng mga hindi nalutas na problema, at maraming hindi nalutas na mga problema sa paksa ng blockchain. Ito ay isang tunay na hamon! At tinanggap siya.

Pinagmulan: www.habr.com

Magdagdag ng komento