Dmitry Pichulin, yang dikenal dengan julukan "deemru", memenangkan game Fhloston Paradise , yang dikembangkan oleh Tradisys di blockchain Waves.
Pemenang Fhloston Paradise seharusnya adalah pemain yang membayar taruhan terakhir selama periode 60 blok, sebelum pemain lain dapat membayar taruhan mereka dan mengatur ulang penghitung ke nol. Pemenang akan mengumpulkan semua taruhan yang dibayarkan oleh pemain lain.
Resep kemenangan Dmitry adalah bot Patrollo , yang ia ciptakan. Bot hanya membayar delapan 1 taruhan WAVES untuk Dmitry dan akhirnya memenangkannya 4.700 WAV ($ 13.100). Dalam wawancara ini, Dmitry membahas botnya dan prospek game blockchain.Bisakah Anda memberi tahu kami tentang diri Anda? Apa yang kamu lakukan Kapan Anda mulai tertarik dengan teknologi blockchain?Saya seorang pengembang di bidang keamanan informasi. Saya datang ke ruang blockchain dengan hype 2017, menguasai teknologi dan bertahan demi teknologi.
Apa motivasi utama Anda untuk bermain game?Itu terutama minat di bagian teknologi. Saya ingin mengetahui cara kerjanya, mengungkap kerentanan, menghentikan permainan agar tidak berakhir dan, tentu saja, menjebak pemain lain.
Mengapa Anda memilih untuk berpartisipasi dengan bot? Bagaimana Anda sampai pada ide untuk Patrollo? Bisakah Anda memberikan detail lebih lanjut tentang mengembangkannya?Itu tidak bekerja dengan kerentanan. Saya menggunakan game ini di test net, memainkannya sendiri, mencoba berbagai opsi, tetapi semuanya ternyata solid. Tidak ada kerentanan dalam kontrak. Jadi, menjadi jelas bahwa saya tidak akan menang dengan cara itu.
Bagaimana Anda mencari kerentanan? Hipotesis apa yang Anda miliki?Saya punya dua hipotesis. Pertama, serangan terhadap pemeriksaan tipe data dalam entri DataTransaction. Sebagai contoh, saya berasumsi bahwa akan mungkin untuk memotong kembali penggunaan ID transaksi karena pengkodean yang buruk. Hipotesis kedua adalah serangan terhadap integer overflow. Saya berharap akan ada cara untuk mengatur ketinggian balok terlalu besar atau negatif dan mencoba untuk melewati masa lalu.
$ tx = $ wk-> txBroadcast ($ wk-> txSign ($ wk-> txData (['heightToGetMoney' => -9223372036854775807])))));
Apa yang Anda lakukan ketika Anda melihat bahwa harapan Anda mengenai kerentanan tidak menjadi kenyataan?Tradisys mengatakan pada saluran Telegramnya bahwa ketika semuanya diam di jaringan, permainan akan bertahan selamanya, tetapi dalam keadaan tidak pasti, yang disebabkan oleh pembaruan simpul atau percabangan tak terduga, bot yang baik akan memiliki peluang lebih tinggi. Di tempat, saya menerima tantangan untuk menulis bot yang bagus, yang saya lakukan dalam beberapa hari. Saya menulis kode Patrollo dalam bahasa PHP, berdasarkan kerangka kerja saya
WavesKit , di mana saya mencoba merekam semua teknik terbaik untuk bekerja dengan blockchain. Saya menjalankannya di test net, mengunggah kode ke GitHub, merilis bot ke net utama dan melupakannya.
Konfigurasi Patrollo saya seharusnya melaksanakan dua tugas: taruhan dengan pembayaran sesering mungkin dan beroperasi dengan keandalan maksimum.
Yang pertama dicapai berkat membayar taruhan yang sangat berisiko - lebih disukai di blok terakhir. Akhirnya, saya mengatur bot untuk blok kedua ke terakhir, tetapi dengan penundaan 29 detik. Itu memungkinkannya untuk hanya membayar delapan taruhan sepanjang pertandingan.
Kenapa tepatnya 29 detik? Bagaimana Anda sampai pada angka ini?Saya tiba secara bertahap. Pertama, tidak ada penundaan dan saya perhatikan bahwa selama blok kedua hingga terakhir, taruhan simultan dibayarkan. Jadi, membayar taruhan tidak masuk akal. Kemudian saya menambahkan penundaan - saya pikir, itu 17 detik, tetapi tidak membantu: taruhan simultan terus dibayar. Jadi saya memutuskan untuk mengambil risiko yang lebih besar untuk mengesampingkan taruhan secara simultan. Kenapa 17, 29 dll? Saya hanya suka bilangan prima. 24, 25, 26, 27, 28, 30 semuanya adalah bilangan komposit. Dan pergi di atas 30 detik akan terlalu berisiko.
Bagaimana Anda mengatasi masalah keandalan?Untuk sebagian besar, keandalan dicapai berkat mekanisme memilih simpul yang bekerja dan, pada tingkat yang lebih rendah, dengan mengirimkan TransferTransaksi untuk saham sebelumnya, sehingga pasak dalam Transaksi Data pasti terkait dengan transaksi yang ada pada blockchain.
Selama setiap putaran siklus, ketinggian saat ini dari semua node yang diatur dalam konfigurasi diukur, dan simpul dengan ketinggian terbesar dipilih untuk interaksi lebih lanjut. Menurut pendapat saya, itu berfungsi sebagai perlindungan terhadap garpu, ketidaktersediaan, menguangkan, dan kemungkinan kesalahan simpul. Saya yakin bahwa mekanisme sederhana ini pada akhirnya membawa pada kemenangan.
Apa keuntungan utama dari game blockchain? Seberapa menjanjikan blockchain publik, dan, khususnya, Waves, untuk pengembangan game?Keuntungan utama diketahui, dicatat dan aturan permainan tidak berubah, serta kondisi yang sama untuk akses ke permainan dari tempat mana pun di dunia.
Game non-blockchain yang melibatkan uang harus mati.
Waves memiliki fungsionalitas teknologi jangkauan, tetapi ada beberapa nuansa - keduanya, khas dari blockchain dan spesifik. Sejauh ini, keduanya belum tercermin dalam instrumen pengembang yang ada dengan cukup menyeluruh.
Misalnya, jika Anda mencoba bereaksi terhadap transaksi secara real time dan bukannya pada jarak lima hingga sepuluh konfirmasi, Anda akan menemukan langka, tetapi masih ada contoh transaksi 'melompat dari satu blok ke blok lain, penghilangan dan kemunculan tiba-tiba di blok akhir . Semua ini penting untuk kecepatan dan keandalan semua aplikasi dan harus diselesaikan secara umum sampai pengembang mencapai tingkat keandalan yang diperlukan sendiri. Tentu saja, pada waktunya, semua itu akan diselesaikan, tetapi pada titik ini, ada penghalang masuk yang cukup tinggi, dan rasa takut akan spesifikasi operasi blockchains yang benar-benar terdesentralisasi secara umum.
Dengan cara apa Fhloston Paradise berbeda dari game blockchain lainnya, Anda tahu?Semua game seperti itu bersifat jangka panjang. Ketertarikan pada game semacam itu tumbuh sepadan dengan ukuran hadiah, yang, pada gilirannya, meningkat seiring waktu berlalu.
Idealnya, gim ini tidak akan berakhir sama sekali. Ketika itu berakhir, itu menyedihkan ...
Baru-baru ini, Fhloston Paradise 2 diluncurkan . Apakah Anda berencana untuk ikut serta?Ya, selama saya punya waktu dan minat, saya akan mengambil langkah yang sama: analisis kerentanan, bermain dengan diri saya sendiri di jaring tes, membuat bot dengan open source dll.
Dan, akhirnya, beri tahu kami tentang rencana Anda sebagai pengembang.Saya tertarik untuk menyelesaikan tugas yang tidak terselesaikan, dan di ruang blockchain, ada banyak dari itu. Ini adalah tantangan sejati. Dan itu sudah diterima.