„Играта за пари надвор од блокчејн мора да умре“

„Играта за пари надвор од блокчејн мора да умре“

Дмитриј Пичулин, познат под прекарот „деемру“, стана победник на играта Рајот Флостон, развиен од Tradisys on the Waves блокчејн.

Да победат во играта, играчот мораше да го направи последниот облог во период од 60 блока - пред друг играч да се обложи, со што бројачот да се врати на нула. Победникот ги доби сите пари облози од други играчи.

Ботот што го создаде му донесе победа на Дмитриј Патроло. Дмитриј направи само осум облози на еден WAVES и на крајот победи 4700 БРАНИ (836300 рубли). Во едно интервју, Дмитриј зборуваше за неговиот бот и за изгледите за игри на блокчејн.

Кажи ни малку за себе. Што правиш? Кога се заинтересиравте за блокчејн технологијата?

Јас сум програмер во областа на информациската безбедност. Дојдов до блокчејн со возбудата од 2017 година, ја разбрав технологијата и останав за технологијата.

Која беше главната мотивација за учество во играта?

Пред сè, технички интерес. Сакав да сфатам како функционира, да најдам пропусти, да не дозволам играта да заврши и да ги „тролам“ другите играчи, се разбира.

Дали веќе одлучивте како ќе ги потрошите вашите добивки? Како ќе го чувате ако одлучите да не го потрошите уште?

Не можев да сфатам што да правам со добивките. Не очекував, па немам никакви планови. Засега ќе остане како што е. Можеби ќе се влее во некој проект на Waves.

Зошто решивте да учествувате во играта користејќи бот? Како дојде до идејата за Патроло? Можете ли да ни кажете повеќе за неговиот развој?

Не успеа со ранливости. Ја зедов играта на мрежата за тестирање, си играв со себе, ги испробав сите опции, но сè се покажа како „тврдокорно“, немаше ранливости во договорот. Стана јасно дека на овој начин не може да се победи.

Како ги баравте ранливите точки? Кои беа вашите хипотези? Можете ли да дадете пример за код?

Имаше две хипотези. Прво, напад на проверки на типот на податоци во записите на трансакциите на податоци. На пример, очекував дека лошото кодирање ќе ја заобиколи проверката за повторна употреба на ID на трансакцијата. Вториот е напад со прелевање на цел број. Мислев дека постои начин да се постави висината премногу висока или негативна и да се обидам да завршам во минатото.

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

Што направивте кога видовте дека вашите очекувања за ранливост не се исполнети?

Во неговиот разговор со телеграма, Традисис се пожали дека додека сè е тивко на мрежата, играта ќе биде вечна, но во конфузија (со ажурирања на јазлите или неочекувани вилушки), шансите за добри ботови се зголемуваат. Таму во муабетот го прифатив предизвикот да напишам добар бот, што го направив неколку дена подоцна. Го напишав кодот Patrollo во PHP, врз основа на мојата рамка WavesKit, во која се обидувам да ги доловам сите најдобри техники за работа со блокчејн.

Го тестирав на мрежата за тестирање, го објавив кодот на github, го лансирав ботот на главната мрежа и заборавив на него.

Мојата конфигурација на Patrollo мораше да реши два проблема: да става облози што е можно поретко и да работи што е можно посигурно.

Првиот го решаваат исклучително ризични облози, по можност во последниот блок. На крајот сепак го поставив ботот на претпоследниот блок, но со дополнително задоцнување од 29 секунди. Ова овозможи да се направат само осум облози во текот на целата игра.

Зошто точно 29 секунди? Како стигнавте до овој број?

Постепено се појавија 29 секунди. Отпрвин немаше доцнење, но забележав дека на претпоследниот блок имаше случаи на симултани облози - односно немаше смисла да се обложуваме. Потоа имаше одложување - мислам дека беше 17 секунди, но ниту тоа не помогна: сè уште имаше симултани облози. Тогаш решив да преземам повеќе ризици, но секако да не имам симултани облози. Зошто 17, 29 итн.? Само љубов кон простите броеви. 24, 25, 26, 27, 28, 30 - сите соединенија. И повеќе од 30 секунди би биле целосно ризични.

Како се реши проблемот со доверливоста?

Доверливоста беше опфатена главно со механизмот за избор на работен јазол и, во помала мера, со спроведување трансакција за пренос за облогот однапред, така што облогот во трансакцијата на датумот веќе точно ќе упатува на постоечка трансакција на блокчејнот.

За време на секој круг од циклусот, сите јазли наведени во конфигурацијата беа анкетирани за нивната моментална висина, беше избран јазолот со најголема височина на струјата и се одвиваше понатамошна интеракција со него. Според моето разбирање, ова требаше да заштити од вилушки, недостапност, кеширање и можни грешки на јазлите. Постои уверување дека токму овој едноставен механизам доведе до победа.

Кои, според вас, се главните карактеристики и предности на блокчејн игрите? Колку ветувачки се јавните блокчејн во целина и блокчејнот Waves особено за развој на игри?

Главните предности се познатите, фиксирани и непроменливи правила на игра, плус еднакви услови за пристап до играта од каде било во светот.

Игрите со пари надвор од синџирот мора да умрат.

Waves има богата техничка функционалност, но има нијанси, својствени за секој блокчејн и специфични. И двете од нив сè уште не се многу добро рефлектирани во постоечките алатки за програмери.

На пример, ако се обидете да одговорите на трансакциите во реално време, а не на растојание од 5-10 потврди, ќе научите за ретки, но се случуваат феномени: трансакции кои скокаат од блок до блок, трансакции недостасуваат во некои блокови и се појавуваат во други . Сето ова е критично за брзината и доверливоста на секоја апликација и мора да се реши на општ начин, но засега секој развивач сам го постигнува нивото на сигурност што го бара. Со текот на времето, се разбира, сето ова ќе се реши, но засега постои одредена, прилично висока, бариера за влез и страв од спецификите на работата на вистински децентрализираните блокчејнови воопшто.

Како играта FOMO се разликува од другите блокчејн игри што ги знаете? Кои се неговите предности и недостатоци?

Ова се долги игри. Интересот за ваквите игри расте со износот на добивката, а износот на добивката расте со текот на времето.

Идеално, играта никогаш нема да заврши. Кога играта ќе заврши, тажно е...

Неодамна бев лансиран игра Рајот Флостон 2. Дали планирате да учествувате во него?

Да, ако имам време и интерес, ќе ги преземам истите чекори: анализа на ранливост, играње со себе на тест мрежа, бот, отворен код итн.

Конечно, кажете ни за вашите планови како програмер.

Јас сум заинтересиран за решавање на нерешени проблеми, а има многу нерешени проблеми во темата за блокчејн. Ова е вистински предизвик! И тој беше прифатен.

Извор: www.habr.com

Додадете коментар