“Trò chơi kiếm tiền ngoài blockchain phải chết”

“Trò chơi kiếm tiền ngoài blockchain phải chết”

Dmitry Pichulin, được biết đến với biệt danh “deemru”, đã trở thành người chiến thắng trong trò chơi Thiên đường Fhloston, được phát triển bởi Tradisys trên chuỗi khối Waves.

Để giành chiến thắng trong trò chơi, người chơi phải đặt cược cuối cùng trong khoảng thời gian 60 khối - trước khi người chơi khác đặt cược, do đó đặt lại bộ đếm về XNUMX. Người chiến thắng nhận được toàn bộ số tiền đặt cược của người chơi khác.

Con bot do anh tạo ra đã mang lại chiến thắng cho Dmitry tuần tra. Dmitry chỉ đặt cược tám lần vào một WAVES và cuối cùng đã thắng 4700 WAVES (836300 RUB). Trong một cuộc phỏng vấn, Dmitry đã nói về bot của mình và triển vọng của các trò chơi trên blockchain.

Nói với chúng tôi một chút về bạn. Bạn làm nghề gì? Bạn bắt đầu quan tâm đến công nghệ blockchain từ khi nào?

Tôi là một nhà phát triển trong lĩnh vực bảo mật thông tin. Tôi đến với blockchain với sự cường điệu của năm 2017, hiểu công nghệ và ở lại vì công nghệ.

Động lực chính để tham gia trò chơi là gì?

Trước hết là sự quan tâm về mặt kỹ thuật. Tôi muốn tìm hiểu cách thức hoạt động của nó, tìm ra các lỗ hổng, tất nhiên là không để trò chơi kết thúc và “troll” những người chơi khác.

Bạn đã quyết định cách bạn sẽ chi tiêu số tiền thắng cược của mình chưa? Bạn sẽ cất giữ nó như thế nào nếu bạn quyết định chưa tiêu nó?

Tôi không thể biết phải làm gì với số tiền thắng. Tôi không mong đợi điều đó nên tôi không có kế hoạch gì cả. Hiện tại nó sẽ vẫn như cũ. Có thể nó sẽ chảy vào dự án nào đó trên Waves.

Tại sao bạn quyết định tham gia trò chơi bằng bot? Ý tưởng về Patrollo ra đời như thế nào? Bạn có thể cho chúng tôi biết thêm về sự phát triển của nó?

Nó không hoạt động với các lỗ hổng. Tôi nhặt trò chơi trên mạng thử nghiệm, tự mình chơi, thử tất cả các lựa chọn, nhưng mọi thứ đều trở nên “cứng rắn”, không có lỗ hổng nào trong hợp đồng. Rõ ràng là cách này không thể thắng được.

Bạn đã tìm kiếm các lỗ hổng bằng cách nào? Giả thuyết của bạn là gì? Bạn có thể cung cấp mã ví dụ không?

Có hai giả thuyết. Thứ nhất, tấn công vào việc kiểm tra kiểu dữ liệu trong hồ sơ giao dịch dữ liệu. Ví dụ: tôi đã mong đợi rằng mã hóa kém sẽ bỏ qua việc kiểm tra sử dụng lại ID giao dịch. Thứ hai là tấn công tràn số nguyên. Tôi nghĩ rằng có một cách để đặt chiều cao quá cao hoặc âm và cố gắng quay về quá khứ.

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

Bạn đã làm gì khi nhận thấy những mong đợi về lỗ hổng bảo mật của mình không được đáp ứng?

Trong cuộc trò chuyện bằng điện tín của mình, Tradisys phàn nàn rằng mặc dù mọi thứ trên mạng đều yên tĩnh nhưng trò chơi sẽ tồn tại vĩnh viễn, nhưng trong tình trạng bối rối (với các bản cập nhật nút hoặc các nhánh bất ngờ), cơ hội có được các bot tốt sẽ tăng lên. Ở đó, trong cuộc trò chuyện, tôi đã chấp nhận thử thách viết một bot tốt, điều mà tôi đã thực hiện vài ngày sau đó. Tôi đã viết mã Patrollo bằng PHP, dựa trên framework của tôi SóngKit, trong đó tôi cố gắng nắm bắt tất cả các kỹ thuật tốt nhất để làm việc với blockchain.

Tôi đã thử nghiệm nó trên mạng thử nghiệm, đăng mã lên github, khởi chạy bot trên mạng chính và quên mất nó.

Cấu hình Patrollo của tôi phải giải quyết hai vấn đề: đặt cược ít nhất có thể và hoạt động đáng tin cậy nhất có thể.

Trận đầu tiên được quyết định bằng những lần đặt cược cực kỳ rủi ro, tốt nhất là ở khối cuối cùng. Cuối cùng, tôi vẫn đặt bot ở khối áp chót, nhưng có thêm độ trễ là 29 giây. Điều này chỉ cho phép thực hiện tám lần đặt cược trong toàn bộ trận đấu.

Tại sao chính xác là 29 giây? Làm thế nào bạn đạt được con số này?

29 giây dần xuất hiện. Lúc đầu không có sự chậm trễ, nhưng tôi nhận thấy rằng ở khối áp chót có những trường hợp đặt cược đồng thời - tức là không có ích gì khi đặt cược. Sau đó, có một sự chậm trễ - tôi nghĩ là 17 giây, nhưng nó cũng không giúp ích gì: vẫn có những cuộc đặt cược đồng thời. Sau đó, tôi quyết định chấp nhận rủi ro nhiều hơn, nhưng chắc chắn không đặt cược đồng thời. Tại sao lại là 17, 29, v.v.? Chỉ là đam mê số nguyên tố. 24, 25, 26, 27, 28, 30 - tất cả các hợp chất. Và hơn 30 giây sẽ hoàn toàn nguy hiểm.

Vấn đề về độ tin cậy được giải quyết như thế nào?

Độ tin cậy được giải quyết chủ yếu bằng cơ chế chọn nút hoạt động và ở mức độ thấp hơn bằng cách thực hiện trước giao dịch chuyển khoản để đặt cược, để đặt cược trong ngày giao dịch sẽ tham chiếu chính xác giao dịch hiện có trên blockchain.

Trong mỗi vòng của chu kỳ, tất cả các nút được chỉ định trong cấu hình đều được thăm dò về chiều cao hiện tại của chúng, nút có chiều cao hiện tại cao nhất đã được chọn và tương tác tiếp theo diễn ra với nút đó. Theo hiểu biết của tôi, điều này được cho là để bảo vệ khỏi các nhánh, tính không sẵn có, bộ nhớ đệm và các lỗi có thể xảy ra trên các nút. Có niềm tin rằng chính cơ chế đơn giản này đã dẫn đến chiến thắng.

Theo bạn, các tính năng và lợi thế chính của trò chơi blockchain là gì? Các blockchain công cộng nói chung và blockchain Waves nói riêng hứa hẹn như thế nào đối với việc phát triển trò chơi?

Ưu điểm chính là các quy tắc trò chơi đã biết, cố định và không thay đổi, cùng với các điều kiện bình đẳng để truy cập trò chơi từ mọi nơi trên thế giới.

Trò chơi kiếm tiền ngoài chuỗi phải chết.

Waves có chức năng kỹ thuật phong phú, nhưng cũng có những sắc thái vốn có trong bất kỳ blockchain nào và cả những sắc thái cụ thể. Cả hai đều chưa được phản ánh rõ ràng trong các công cụ dành cho nhà phát triển hiện có.

Ví dụ: nếu bạn cố gắng phản hồi các giao dịch trong thời gian thực chứ không phải ở khoảng cách 5-10 xác nhận, bạn sẽ tìm hiểu về các hiện tượng hiếm gặp nhưng đang xảy ra: giao dịch chuyển từ khối này sang khối khác, giao dịch bị thiếu ở một số khối và xuất hiện ở các khối khác. . Tất cả điều này rất quan trọng đối với tốc độ và độ tin cậy của bất kỳ ứng dụng nào và phải được giải quyết một cách tổng quát, nhưng hiện tại, mỗi nhà phát triển đều tự mình đạt được mức độ tin cậy mà mình yêu cầu. Tất nhiên, theo thời gian, tất cả những điều này sẽ được giải quyết, nhưng hiện tại có một rào cản gia nhập nhất định khá cao và nỗi sợ hãi về các chi tiết cụ thể trong công việc của các chuỗi khối phi tập trung thực sự nói chung.

Trò chơi FOMO khác với các trò chơi blockchain khác như thế nào bạn biết? ưu điểm và nhược điểm của nó là gì?

Đây là những trò chơi dài. Sự quan tâm đến những trò chơi như vậy tăng lên cùng với số tiền thắng và số tiền thắng tăng lên theo thời gian.

Lý tưởng nhất là trò chơi sẽ không bao giờ kết thúc. Khi trận đấu kết thúc thì thật buồn...

Gần đây tôi đã tung ra trò chơi Thiên đường Fhloston 2. Bạn có dự định tham gia vào nó không?

Có, nếu tôi có thời gian và hứng thú, tôi sẽ thực hiện các bước tương tự: phân tích lỗ hổng, thử nghiệm trên mạng thử nghiệm, bot, mã nguồn mở, v.v.

Cuối cùng, vui lòng cho chúng tôi biết về kế hoạch của bạn với tư cách là nhà phát triển.

Tôi quan tâm đến việc giải quyết các vấn đề chưa được giải quyết và có rất nhiều vấn đề chưa được giải quyết trong chủ đề blockchain. Đây là một thử thách thực sự! Và anh đã được chấp nhận.

Nguồn: www.habr.com

Thêm một lời nhận xét