«Τα παιχνίδια για χρήματα εκτός του blockchain πρέπει να πεθάνουν»

«Τα παιχνίδια για χρήματα εκτός του blockchain πρέπει να πεθάνουν»

Ο Ντμίτρι Πιτσουλίν, γνωστός με το ψευδώνυμο "deemru", έγινε ο νικητής του παιχνιδιού Fhloston Paradise, που αναπτύχθηκε από την Tradisys on the Waves blockchain.

Να κερδίσεις μέσα το παιχνίδι, ένας παίκτης έπρεπε να κάνει το τελευταίο στοίχημα κατά τη διάρκεια μιας περιόδου 60 μπλοκ - πριν κάποιος άλλος παίκτης στοιχηματίσει, μηδενίζοντας έτσι το κοντέρ στο μηδέν. Ο νικητής έλαβε όλα τα χρήματα που στοιχηματίστηκαν από άλλους παίκτες.

Το bot που δημιούργησε έφερε τη νίκη στον Ντμίτρι Περίπολος. Ο Ντμίτρι έκανε μόνο οκτώ στοιχήματα σε ένα WAVES και τελικά κέρδισε 4700 κύματα (836300 RUB). Σε μια συνέντευξη, ο Ντμίτρι μίλησε για το bot του και τις προοπτικές για παιχνίδια στο blockchain.

Πες μας λίγα λόγια για σένα. Τι κάνεις? Πότε ενδιαφέρθηκες για την τεχνολογία blockchain;

Είμαι προγραμματιστής στον τομέα της ασφάλειας πληροφοριών. Ήρθα στο blockchain με τη διαφημιστική εκστρατεία του 2017, κατάλαβα την τεχνολογία και έμεινα στην τεχνολογία.

Ποιο ήταν το βασικό κίνητρο για τη συμμετοχή στο παιχνίδι;

Πρώτα από όλα τεχνικό ενδιαφέρον. Ήθελα να καταλάβω πώς λειτουργεί, να βρω τρωτά σημεία, να μην αφήσω το παιχνίδι να τελειώσει και να «τρολάρω» τους άλλους παίκτες, φυσικά.

Έχετε ήδη αποφασίσει πώς θα ξοδέψετε τα κέρδη σας; Πώς θα το αποθηκεύσετε αν αποφασίσετε να μην το ξοδέψετε ακόμα;

Δεν μπορούσα να καταλάβω τι να κάνω με τα κέρδη. Δεν το περίμενα, οπότε δεν έχω σχέδια. Προς το παρόν θα παραμείνει ως έχει. Ίσως θα εισρεύσει σε κάποιο έργο στο Waves.

Γιατί αποφασίσατε να πάρετε μέρος στο παιχνίδι χρησιμοποιώντας ένα bot; Πώς προέκυψε η ιδέα για το Patrollo; Θα μπορούσατε να μας πείτε περισσότερα για την εξέλιξή του;

Δεν λειτούργησε με τρωτά σημεία. Πήρα το παιχνίδι στο δοκιμαστικό δίκτυο, έπαιξα με τον εαυτό μου, δοκίμασα όλες τις επιλογές, αλλά όλα αποδείχτηκαν "καλωδιωμένα", δεν υπήρχαν τρωτά σημεία στο συμβόλαιο. Έγινε σαφές ότι αυτός ο τρόπος δεν μπορούσε να κερδηθεί.

Πώς αναζητήσατε τα τρωτά σημεία; Ποιες ήταν οι υποθέσεις σας; Θα μπορούσατε να δώσετε ένα παράδειγμα κώδικα;

Υπήρχαν δύο υποθέσεις. Πρώτον, μια επίθεση σε ελέγχους τύπου δεδομένων στα αρχεία συναλλαγών δεδομένων. Για παράδειγμα, περίμενα ότι η κακή κωδικοποίηση θα παρακάμπτει τον έλεγχο επαναχρησιμοποίησης του αναγνωριστικού συναλλαγής. Η δεύτερη είναι μια επίθεση υπερχείλισης ακέραιου αριθμού. Σκέφτηκα ότι υπήρχε ένας τρόπος να βάλω το ύψος πολύ ψηλά ή αρνητικά και να προσπαθήσω να καταλήξω στο παρελθόν.

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

Τι κάνατε όταν είδατε ότι οι προσδοκίες σας για την ευπάθεια δεν ικανοποιήθηκαν;

Στη συνομιλία του με τηλεγράφημα, ο Tradisys παραπονέθηκε ότι ενώ όλα είναι ήσυχα στο δίκτυο, το παιχνίδι θα είναι αιώνιο, αλλά σε σύγχυση (με ενημερώσεις κόμβων ή απροσδόκητα πιρούνια), οι πιθανότητες για καλά bots αυξάνονται. Εκεί, στο chat, δέχτηκα την πρόκληση να γράψω ένα καλό bot, το οποίο έκανα μερικές μέρες αργότερα. Έγραψα τον κώδικα Patrollo σε PHP, βάσει του πλαισίου μου WavesKit, στο οποίο προσπαθώ να καταγράψω όλες τις καλύτερες τεχνικές για την εργασία με το blockchain.

Το δοκίμασα στο δοκιμαστικό δίκτυο, δημοσίευσα τον κώδικα στο github, εκκίνησα το bot στο κύριο δίκτυο και το ξέχασα.

Η διαμόρφωση του Patrollo μου έπρεπε να λύσει δύο προβλήματα: να τοποθετεί στοιχήματα όσο πιο σπάνια γίνεται και να λειτουργεί όσο το δυνατόν πιο αξιόπιστα.

Το πρώτο αποφασίζεται από εξαιρετικά επικίνδυνα στοιχήματα, κατά προτίμηση στο τελευταίο μπλοκ. Στο τέλος, τοποθέτησα ακόμα το bot στο προτελευταίο μπλοκ, αλλά με επιπλέον καθυστέρηση 29 δευτερολέπτων. Αυτό επέτρεψε να γίνουν μόνο οκτώ στοιχήματα σε όλο το παιχνίδι.

Γιατί ακριβώς 29 δευτερόλεπτα; Πώς καταλήξατε σε αυτόν τον αριθμό;

29 δευτερόλεπτα εμφανίστηκαν σταδιακά. Στην αρχή δεν υπήρχε καθυστέρηση, αλλά παρατήρησα ότι στο προτελευταίο μπλοκ υπήρχαν περιπτώσεις ταυτόχρονων στοιχημάτων - δηλαδή δεν είχε νόημα να ποντάρουμε. Μετά υπήρξε μια καθυστέρηση - νομίζω ότι ήταν 17 δευτερόλεπτα, αλλά δεν βοήθησε ούτε: υπήρχαν ακόμα ταυτόχρονα στοιχήματα. Μετά αποφάσισα να ρισκάρω περισσότερο, αλλά σίγουρα όχι να έχω ταυτόχρονα στοιχήματα. Γιατί 17, 29 κλπ; Απλά αγάπη για τους πρώτους αριθμούς. 24, 25, 26, 27, 28, 30 - όλες οι ενώσεις. Και περισσότερα από 30 δευτερόλεπτα θα ήταν εντελώς επικίνδυνα.

Πώς επιλύθηκε το ζήτημα της αξιοπιστίας;

Η αξιοπιστία αντιμετωπίστηκε κυρίως από τον μηχανισμό για την επιλογή ενός κόμβου εργασίας και, σε μικρότερο βαθμό, με τη διεξαγωγή μιας συναλλαγής μεταφοράς για το στοίχημα εκ των προτέρων, έτσι ώστε το στοίχημα στη συναλλαγή ημερομηνίας να αναφέρεται ήδη με ακρίβεια σε μια υπάρχουσα συναλλαγή στο blockchain.

Κατά τη διάρκεια κάθε γύρου του κύκλου, όλοι οι κόμβοι που καθορίζονται στη διαμόρφωση ελέγχονταν για το τρέχον ύψος τους, επιλέχθηκε ο κόμβος με το υψηλότερο ύψος ρεύματος και έλαβε χώρα περαιτέρω αλληλεπίδραση με αυτόν. Κατά την κατανόησή μου, αυτό υποτίθεται ότι προστατεύει από πιρούνια, μη διαθεσιμότητα, προσωρινή αποθήκευση και πιθανά σφάλματα στους κόμβους. Υπάρχει σιγουριά ότι αυτός ο απλός μηχανισμός ήταν που οδήγησε στη νίκη.

Ποια, κατά τη γνώμη σας, είναι τα κύρια χαρακτηριστικά και τα πλεονεκτήματα των παιχνιδιών blockchain; Πόσο ελπιδοφόρα είναι τα δημόσια blockchain γενικά και τα Waves blockchain ειδικότερα για την ανάπτυξη παιχνιδιών;

Τα κύρια πλεονεκτήματα είναι οι γνωστοί, σταθεροί και αμετάβλητοι κανόνες του παιχνιδιού, συν ίσοι όροι πρόσβασης στο παιχνίδι από οπουδήποτε στον κόσμο.

Τα παιχνίδια με χρήματα εκτός αλυσίδας πρέπει να πεθάνουν.

Το Waves έχει πλούσια τεχνική λειτουργικότητα, αλλά υπάρχουν αποχρώσεις, τόσο εγγενείς σε οποιοδήποτε blockchain όσο και συγκεκριμένες. Και τα δύο δεν αντικατοπτρίζονται ακόμη καλά στα υπάρχοντα εργαλεία προγραμματιστών.

Για παράδειγμα, αν προσπαθήσατε να απαντήσετε σε συναλλαγές σε πραγματικό χρόνο και όχι σε απόσταση 5-10 επιβεβαιώσεων, θα μάθετε για σπάνια αλλά συμβαίνοντα φαινόμενα: συναλλαγές που μεταπηδούν από μπλοκ σε μπλοκ, συναλλαγές που λείπουν σε ορισμένα μπλοκ και εμφανίζονται σε άλλα . Όλα αυτά είναι κρίσιμα για την ταχύτητα και την αξιοπιστία οποιασδήποτε εφαρμογής και πρέπει να επιλυθούν με γενικό τρόπο, αλλά προς το παρόν κάθε προγραμματιστής επιτυγχάνει μόνος του το επίπεδο αξιοπιστίας που απαιτεί. Με την πάροδο του χρόνου, φυσικά, όλα αυτά θα επιλυθούν, αλλά προς το παρόν υπάρχει ένα συγκεκριμένο, μάλλον υψηλό, εμπόδιο εισόδου και φόβος για τις ιδιαιτερότητες της εργασίας των πραγματικά αποκεντρωμένων blockchains γενικά.

Σε τι διαφέρει το παιχνίδι FOMO από άλλα παιχνίδια blockchain που γνωρίζετε; Ποια είναι τα πλεονεκτήματα και τα μειονεκτήματά του;

Αυτά είναι μεγάλα παιχνίδια. Το ενδιαφέρον για τέτοια παιχνίδια αυξάνεται με το ποσό των κερδών και το ποσό των κερδών αυξάνεται με την πάροδο του χρόνου.

Στην ιδανική περίπτωση, το παιχνίδι δεν θα τελειώσει ποτέ. Όταν τελειώνει το παιχνίδι είναι λυπηρό...

Πρόσφατα ήμουν ξεκίνησε παιχνίδι Fhloston Paradise 2. Σκοπεύετε να πάρετε μέρος σε αυτό;

Ναι, αν έχω χρόνο και ενδιαφέρον, θα κάνω τα ίδια βήματα: ανάλυση ευπάθειας, παιχνίδι με τον εαυτό μου σε δοκιμαστικό δίκτυο, bot, ανοιχτού κώδικα κ.λπ.

Τέλος, πείτε μας για τα σχέδιά σας ως προγραμματιστής.

Με ενδιαφέρει η επίλυση άλυτων προβλημάτων και υπάρχουν πολλά άλυτα προβλήματα στο θέμα του blockchain. Αυτή είναι μια πραγματική πρόκληση! Και έγινε δεκτός.

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο