“Permainan uang di luar blockchain harus mati”



Dmitry Pichulin, yang dikenal dengan julukannya "deemru", menjadi pemenang dari game Fhloston Paradise yang dikembangkan oleh Tradisys on the Waves blockchain.

Untuk memenangkan permainan , pemain harus membuat taruhan terbaru selama periode 60 blok - sebelum taruhan dilakukan oleh pemain lain, dengan demikian mengatur ulang konter. Pemenang mendapat semua taruhan uang dari pemain lain.

Kemenangan untuk Dmitry dibawa oleh bot Patrollo yang diciptakan olehnya. Dmitry hanya membuat delapan taruhan pada satu GELOMBANG dan sebagai hasilnya memenangkan 4700 GELOMBANG (836300 rubel). Dalam sebuah wawancara, Dmitry berbicara tentang botnya dan prospek untuk game blockchain.

Ceritakan sedikit tentang diri Anda. Apa yang kamu lakukan Kapan Anda mulai tertarik dengan teknologi blockchain?

Saya seorang pengembang di bidang keamanan informasi. Dia datang ke blockchain dengan "hype" tahun 2017, menemukan teknologinya dan bertahan demi teknologi.

Apa yang menjadi motivasi utama untuk berpartisipasi dalam permainan?

Pertama-tama, minat teknis. Saya ingin mengetahui cara kerjanya, menemukan kerentanan, mencegah agar permainan tidak berakhir, dan tentu saja, "menjebak" para pemain lainnya.

Sudahkah Anda memutuskan cara membelanjakan kemenangan? Apa yang akan Anda simpan, jika Anda memutuskan untuk tidak membelanjakannya?

Saya tidak tahu apa yang harus dilakukan dengan kemenangan. Saya tidak mengharapkannya, jadi tidak ada rencana. Sementara itu akan berbohong apa adanya. Mungkin itu akan mengalir ke beberapa proyek di Waves.

Mengapa Anda memutuskan untuk mengambil bagian dalam game menggunakan bot? Bagaimana gagasan Patrollo muncul? Bisakah Anda ceritakan lebih lanjut tentang perkembangannya?

Dengan kerentanan tidak berhasil. Saya “mengambil” permainan di jaringan uji, bermain dengan diri saya sendiri, mencoba semua opsi, tetapi semuanya ternyata “sulit”, tidak ada kerentanan dalam kontrak. Menjadi jelas bahwa seseorang tidak bisa menang dengan cara ini.

Bagaimana Anda mencari kerentanan? Apa hipotesis Anda? Bisakah Anda memberikan beberapa kode sampel?

Ada dua hipotesis. Pertama, serangan terhadap tipe data memeriksa dalam catatan transaksi data. Misalnya, saya berharap bahwa pengkodean yang buruk akan menghindari cek untuk menggunakan kembali ID transaksi. Yang kedua adalah serangan pada integer overflow. Saya pikir ada cara untuk mengatur ketinggian yang terlalu tinggi atau negatif dan mencoba untuk berada di masa lalu.

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

Apa yang Anda lakukan ketika Anda melihat bahwa harapan untuk kerentanan tidak dikonfirmasi?

Dalam obrolan telegramnya, Tradisys menyesalkan bahwa sementara semuanya diam di jaringan, gim ini akan abadi, tetapi dalam kebingungan (dengan pembaruan simpul atau pertigaan yang tidak terduga) peluang bot yang baik meningkat. Di ruang obrolan yang sama, saya menerima tantangan menulis bot yang bagus, yang saya lakukan dalam beberapa hari. Saya menulis kode Patrollo dalam PHP, berdasarkan kerangka kerja WavesKit saya, di mana saya mencoba untuk memperbaiki semua teknik terbaik untuk bekerja dengan blockchain.

Saya memeriksa pekerjaan di jaringan pengujian, memposting kode pada github, meluncurkan bot di jaringan utama dan melupakannya.

Konfigurasi Patrollo saya seharusnya menyelesaikan dua masalah: pasang taruhan sesedikit mungkin dan bekerja seandal mungkin.

Yang pertama diputuskan oleh taruhan yang sangat berisiko, lebih disukai di blok terakhir. Akibatnya, saya masih meletakkan bot di blok kedua dari belakang, tetapi dengan penundaan tambahan 29 detik. Ini memungkinkan kami untuk hanya menghasilkan delapan taruhan sepanjang waktu pertandingan.

Kenapa tepatnya 29 detik? Bagaimana Anda sampai di nomor ini?

29 detik muncul secara bertahap. Pada awalnya tidak ada penundaan, tetapi saya perhatikan bahwa ada kasus taruhan serentak di blok kedua dari belakang - yaitu, tidak ada gunanya bertaruh. Kemudian ada penundaan - sepertinya, pada 17 detik, tetapi tidak membantu juga: masih ada taruhan simultan. Kemudian saya memutuskan untuk mengambil risiko lebih keras, tetapi tentu saja tidak memiliki taruhan secara simultan. Kenapa 17, 29, dll.? Hanya cinta bilangan prima. 24, 25, 26, 27, 28, 30 semuanya komposit. Dan lebih dari 30 detik akan sangat berisiko.

Bagaimana masalah keandalan diselesaikan?

Keandalan terutama ditentukan oleh mekanisme untuk memilih simpul kerja dan, pada tingkat lebih rendah, dengan melakukan transaksi transfer untuk taruhan di muka, sehingga taruhan dalam transaksi data sudah secara akurat merujuk pada transaksi yang ada di blockchain.

Selama setiap lingkaran siklus, semua node yang ditentukan dalam konfigurasi diinterogasi untuk ketinggian saat ini, node dengan ketinggian arus terbesar dipilih, dan interaksi lebih lanjut terjadi dengannya. Dalam pemahaman saya, ini seharusnya melindungi dari garpu, tidak dapat diaksesnya, caching dan kemungkinan kesalahan pada node. Ada keyakinan bahwa mekanisme sederhana inilah yang menghasilkan kemenangan.

Apa, menurut Anda, fitur dan keunggulan utama dari game blockchain? Seberapa menjanjikan secara umum blockchain publik dan blockchain gelombang khusus untuk pengembangan game?

Keuntungan utama adalah aturan permainan yang terkenal, tetap dan tidak berubah, ditambah kondisi yang sama untuk akses ke permainan dari mana saja di dunia.

Game untuk uang di luar blockchain harus mati.

Waves memiliki fungsionalitas teknis yang kaya, tetapi ada nuansa, keduanya melekat dalam blockchain apa pun, dan spesifik. Baik itu dan yang lain tidak tercermin dengan baik di alat pengembang yang ada.

Misalnya, jika Anda mencoba menanggapi transaksi secara real time, dan tidak pada jarak 5-10 konfirmasi, Anda akan belajar tentang fenomena langka tetapi terjadi: melompat transaksi dari blok ke blok, kehilangan transaksi di blok tertentu dan muncul di lainnya. Semua ini sangat penting untuk kecepatan dan keandalan aplikasi apa pun dan harus diputuskan secara umum, tetapi sejauh ini setiap pengembang mencapai tingkat keandalan yang ia butuhkan secara independen. Dari waktu ke waktu, tentu saja, semua ini akan diselesaikan, tetapi sejauh ini ada ambang batas tertentu, agak tinggi, dan rasa takut terhadap spesifik pekerjaan blockchain yang benar-benar terdesentralisasi secara umum.

Apa perbedaan antara game FOMO dengan game blockchain lainnya? Apa kelebihan dan kekurangannya?


Ini adalah game jangka panjang. Ketertarikan pada game tersebut tumbuh dengan besarnya gain, dan besarnya gain tumbuh seiring waktu.

Ideal jika permainan tidak pernah berakhir. Saat game berakhir, itu menyedihkan ...

Fhloston Paradise 2 baru-baru ini diluncurkan . Apakah Anda berencana untuk mengambil bagian di dalamnya?

Ya, jika ada waktu dan minat, saya akan mengambil langkah yang sama: analisis kerentanan, bermain sendiri di jaringan pengujian, bot, sumber terbuka, dll.

Sebagai kesimpulan, beri tahu kami tentang rencana Anda sebagai pengembang.

Saya tertarik untuk memecahkan masalah yang tidak terpecahkan, dan topik blockchain memiliki banyak masalah yang belum terpecahkan. Ini adalah tantangan nyata! Dan dia diterima.

Source: https://habr.com/ru/post/id445244/


All Articles