„A blokkláncon kívüli pénzes játékoknak meg kell halniuk”

„A blokkláncon kívüli pénzes játékoknak meg kell halniuk”

A játék győztese Dmitrij Pichulin, aki „deemru” becenéven ismert Fhloston Paradicsom, amelyet a Tradisys on the Waves blokklánc fejlesztett ki.

A győzelemhez a játék, egy játékosnak meg kellett tennie a legutolsó tétet egy 60 blokkos periódus alatt – mielőtt egy másik játékos fogadott volna, és ezzel nullára állította a számlálót. A győztes megkapta a többi játékostól kapott összes pénzt.

Az általa létrehozott bot győzelmet hozott Dmitrijnek Patrollo. Dmitry mindössze nyolc fogadást tett egy WAVES-re, és végül nyert 4700 hullám (836300 XNUMX RUB). Egy interjúban Dmitrij beszélt a botjáról és a blokkláncon lévő játékok kilátásairól.

Mesélj egy kicsit magadról. Mit csinálsz? Mikor kezdett érdeklődni a blokklánc technológia iránt?

Fejlesztő vagyok az információbiztonság területén. A 2017-es felhajtással jöttem a blokklánchoz, megértettem a technológiát, és maradtam a technológiánál.

Mi volt a fő motiváció a játékban való részvételre?

Először is a technikai érdeklődés. Szerettem volna kitalálni, hogyan működik, sebezhető pontokat keresni, nem hagyni, hogy a játék véget érjen, és természetesen „trollkodni” a többi játékossal.

Eldöntötted már, mire költöd a nyereményed? Hogyan tárolja, ha úgy dönt, hogy még nem költi el?

Nem tudtam mit kezdeni a nyereményekkel. Nem számítottam rá, így nincs tervem. Egyelőre úgy marad, ahogy van. Talán befolyik valami Waves projektbe.

Miért döntött úgy, hogy egy bot segítségével vesz részt a játékban? Hogyan jött a Patrollo ötlete? Tudnál bővebben mesélni a fejlesztéséről?

Sebezhető pontokkal nem sikerült. Felvettem a játékot a teszthálózaton, játszottam magammal, kipróbáltam az összes lehetőséget, de minden „drótozott” lett, a szerződésben nem volt sebezhetőség. Világossá vált, hogy ezt az utat nem lehet megnyerni.

Hogyan kerested a sebezhetőségeket? Mik voltak a hipotézisei? Tudnál adni egy példa kódot?

Két hipotézis volt. Először is, az adattranzakciós rekordok adattípus-ellenőrzésének támadása. Például arra számítottam, hogy a rossz kódolás megkerüli a tranzakcióazonosító újrafelhasználásának ellenőrzését. A második egy integer overflow támadás. Arra gondoltam, hogy lehet túl magasra vagy negatívra állítani a magasságot, és megpróbálni a múltba kerülni.

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

Mit tett, amikor látta, hogy a sebezhetőségi elvárásai nem teljesülnek?

Tradisys távirati chatjében arra panaszkodott, hogy bár a hálózaton minden csendes, a játék örökkévaló lesz, ám a zűrzavarban (node ​​frissítésekkel vagy váratlan elágazással) megnő a jó botok esélye. Ott a chaten elfogadtam a kihívást, hogy írjak egy jó botot, amit pár nappal később meg is tettem. A Patrollo kódot PHP-ben írtam, a keretrendszerem alapján WavesKit, amelyben igyekszem megragadni az összes legjobb technikát a blokklánccal való munkavégzéshez.

Kipróbáltam a teszthálózaton, közzétettem a kódot a githubon, elindítottam a botot a fő hálózaton, és elfelejtettem.

A Patrollo konfigurációmnak két problémát kellett megoldania: a lehető legritkábban tegyen fogadást, és a lehető legmegbízhatóbban működjön.

Az elsőt rendkívül kockázatos fogadások döntik el, lehetőleg a legutolsó blokkban. Végül mégis az utolsó előtti blokkra helyeztem a botot, de további 29 másodperc késéssel. Ez csak nyolc fogadást tett lehetővé a teljes játék során.

Miért pont 29 másodperc? Hogyan jutottál erre a számra?

29 másodperc fokozatosan jelent meg. Eleinte nem volt késés, de azt vettem észre, hogy az utolsó előtti blokkban egyidejű fogadások is előfordultak - vagyis nem volt értelme fogadni. Aztán volt egy késés - azt hiszem, 17 másodperc volt, de ez sem segített: még mindig voltak egyidejű fogadások. Aztán úgy döntöttem, hogy több kockázatot vállalok, de semmiképpen nem teszek egyidejű fogadásokat. Miért 17, 29 stb.? Csak a prímszámok szeretete. 24, 25, 26, 27, 28, 30 - minden vegyület. És több mint 30 másodperc teljesen kockázatos lenne.

Hogyan oldották meg a megbízhatósági problémát?

A megbízhatóságra elsősorban a működő csomópont kiválasztásának mechanizmusa, illetve kisebb mértékben a fogadás előzetes átutalási tranzakciója gondoskodott, hogy a dátum tranzakcióban szereplő fogadás már pontosan hivatkozzon egy meglévő tranzakcióra a blokkláncon.

A ciklus minden köre során a konfigurációban megadott összes csomópont aktuális magasságát lekérdezték, a legmagasabb aktuális magasságú csomópontot választották ki, és további interakció zajlott vele. Értelmezésem szerint ennek meg kellett volna védenie az elágazásokat, az elérhetetlenséget, a gyorsítótárazást és a csomópontok esetleges hibáit. Biztosak vagyunk abban, hogy ez az egyszerű mechanizmus vezetett a győzelemhez.

Ön szerint mik a blokklánc játékok fő jellemzői és előnyei? Mennyire ígéretesek a nyilvános blokkláncok általában és a Waves blokklánc különösen a játékfejlesztés szempontjából?

A fő előnyök az ismert, rögzített és változatlan játékszabályok, valamint a játékhoz való hozzáférés egyenlő feltételei a világ bármely pontjáról.

A láncon kívüli pénzes játékoknak meg kell halniuk.

A Waves gazdag technikai funkcionalitással rendelkezik, de vannak árnyalatok, amelyek minden blokkláncban rejlenek és specifikusak. Mindkettőt még nem tükrözik túl jól a meglévő fejlesztői eszközök.

Például, ha megpróbálna valós időben válaszolni a tranzakciókra, és nem 5-10 megerősítés távolságra, akkor megismerheti a ritka, de előforduló jelenségeket: a tranzakciók blokkról blokkra ugrálnak, egyes blokkokban hiányoznak és másokban megjelennek a tranzakciók. . Mindez kritikus fontosságú bármely alkalmazás gyorsasága és megbízhatósága szempontjából, és általánosan kell megoldani, de egyelőre minden fejlesztő egyedül éri el a megkövetelt megbízhatósági szintet. Idővel persze mindez megoldódik, de egyelőre van egy bizonyos, meglehetősen magas belépési korlát és általában véve a valóban decentralizált blokkláncok működésének sajátosságaitól való félelem.

Miben különbözik a FOMO játék az általad ismert többi blokklánc játéktól? Mik az előnyei és a hátrányai?

Ezek hosszú játékok. Az ilyen játékok iránti érdeklődés a nyeremények mennyiségével nő, és a nyeremények mennyisége idővel nő.

Ideális esetben a játék soha nem ér véget. Amikor a játék véget ér, szomorú...

Nemrég voltam elindult játék Fhloston Paradise 2. Tervez-e részt venni benne?

Igen, ha van időm és érdeklődésem, megteszem ugyanazokat a lépéseket: sebezhetőség elemzés, játék magammal teszthálózaton, bot, nyílt forráskód stb.

Végül, kérjük, meséljen nekünk fejlesztői terveiről.

Érdekel a megoldatlan problémák megoldása, és sok a megoldatlan probléma a blokklánc témában. Ez egy igazi kihívás! És elfogadták.

Forrás: will.com

Hozzászólás