Tác giả: Yooma; Nguồn: MetaCat
Các vấn đề gặp phải
PopCraft là một trò chơi loại bỏ toàn chuỗi. Mỗi trò chơi kéo dài 4 phút. Người chơi loại bỏ tất cả các yếu tố trên bảng trong thời gian quy định sẽ được thưởng bằng thẻ.
Do đặc điểm của toàn bộ chuỗi, người chơi cần tương tác với blockchain cho mọi hoạt động trong trò chơi. Thời gian chặn của Ethereum Layer 2 thường là 2 giây, nghĩa là người chơi cần đợi ít nhất 2 giây để hoàn thành mỗi thao tác trong trò chơi, lâu hơn nhiều so với thời gian chờ trong các trò chơi Web2 tương tự, do đó tạo nên PopCraft. trải nghiệm chơi game chưa tối ưu.

Giao diện chính của trò chơi PopCraft
Kế hoạch tưởng tượng
Chúng tôi hình dung việc sử dụng công nghệ chứng minh không có kiến thức (sau đây gọi là ZKP) trong PopCraft và người chơi trong trò chơi Số lượng tương tác trên blockchain.
Cách tiếp cận dự kiến là: Quy trình trò chơi không theo chuỗi nhưng có cơ chế đảm bảo không có nguy cơ gian lận. Mỗi bước hoạt động của người chơi trong trò chơi sẽ tạo ra ZKP. ZKP của bước tiếp theo được tạo ra dựa trên ZKP của bước trước, do đó hình thành ZKP độc lập tương tự như cấu trúc blockchain. bước cuối cùng của hoạt động sẽ được gửi tới Trên chuỗi, kết quả được xác minh bằng hợp đồng thông minh.
Lên kế hoạch nghiên cứu và tìm nguồn gốc
1. Chống gian lận trong quá trình và kết quả trò chơi: Việc tạo ZKP chỉ cho kết quả trò chơi là chưa đủ vì còn có khả năng xảy ra gian lận trong quá trình trò chơi. Do đó, cần tạo ZKP cho kết quả trò chơi và xác minh quy trình trò chơi.
2. Thách thức kỹ thuật khi tạo dần ZKP: Để ngăn chặn gian lận, ZKP cần được tạo cho mọi hoạt động của người chơi trong trò chơi, ZKP cuối cùng sẽ được đưa vào chuỗi để xác minh khi kết thúc trò chơi. Trong quá trình này, ZKP của mỗi bước sẽ phụ thuộc vào ZKP của bước trước cho đến khi kết thúc trò chơi.
Nhưng khó khăn là:
Thế hệ ZKP mới 1> Nó cần phải dựa vào ZKP của bước trước, điều này khiến quá trình xác minh trở nên phức tạp và không chắc chắn liệu có thể đạt được hay không. Ngoài ra, việc xác minh ZKP được thực hiện thông qua hợp đồng thông minh (on-chain). Cách xác minh rằng ZKP ở bước trước là chính xác khi ZKP được tạo ở bước sau.
2> Khi xác minh xem ZKP ở mỗi bước có chính xác thông qua hợp đồng thông minh hay không, làm thế nào để đảm bảo sự gắn kết của từng ZKP với trước đó ZKP, tôi không chắc có giải pháp nào cho vấn đề này không.
3. Vấn đề tiết lộ dữ liệu trò chơi: Dữ liệu trò chơi của PopCraft là công khai nên không cần phải giấu thông tin thông qua ZKP. Nếu có thể đạt được các bước xác minh ở trên, bước tiếp theo là xem xét việc lưu dữ liệu trò chơi ở phía hợp đồng. Tuy nhiên, vấn đề là bản chất của ZKP không thể mở khóa dữ liệu trò chơi cụ thể. Tại thời điểm này, dữ liệu kết quả trò chơi được khách hàng chuyển đến hợp đồng thông minh không thể được tin cậy trực tiếp, điều đó có nghĩa là hợp đồng thông minh không thể lưu trữ trực tiếp những dữ liệu này. dữ liệu.
4. Tiêu thụ đạo cụ trò chơi(Tiêu thụ Token) trong PopCraft Câu hỏi: Khi quá trình trò chơi liên quan đến việc loại bỏ các yếu tố biệt lập thông qua đạo cụ trò chơi, về cơ bản nó tương ứng với mức tiêu thụ Mã thông báo và Mã thông báo tương ứng trong ví của người dùng cần được chuyển. Cách xử lý bước tạo và xác minh ZKP này. cũng là một vấn đề.
1> Một giải pháp khả thi là: Bước này tiếp tục tạo ZKP theo quy trình trước đó , xác minh số lượng Token đã sử dụng và cuối cùng gửi nó đến hợp đồng thông minh. Tuy nhiên, vì hợp đồng thông minh không thể lấy dữ liệu trò chơi cụ thể thông qua ZKP nên nó không thể xác định số lượng Token cần chuyển.
Ngoài ra, giả sử người chơi sở hữu 3 Token A nhưng cố gắng tiêu thụ 4 Token A trong trò chơi thì lỗi này sẽ xảy ra Nó được phát hiện ở cuối trò chơi, không phải trong thời gian thực trong quá trình thao tác của người dùng.
2> Một giải pháp khả thi khác là: khi sử dụng Token để hoàn thành việc loại bỏ các phần tử bị cô lập , tương tác trực tiếp với hợp đồng thông minh để hoàn tất việc loại bỏ, sau đó cập nhật số dư Token của người chơi. ZKP được tạo chỉ chịu trách nhiệm lưu bằng chứng về hoạt động và trạng thái trò chơi tại thời điểm này.
Lúc này, sau khi chuyển mã thông báo thành công, bạn cần tiếp tục tạo ZKP như trong thao tác If trước đó. nó không được tạo ra thì giữa ZKP được tạo ở bước trước của hoạt động chuyển Token và ZKP được tạo ở lần tiếp theo, có thêm một bước tương tác với hợp đồng thông minh, khi đó trạng thái trò chơi trong ZKP sẽ xung đột, vì vậy liệu ZKP được tạo ra ở cuối trò chơi có hợp lệ hay không cũng là một câu hỏi chưa được giải quyết.
5. Vấn đề ẩn dữ liệu của ZKP: Đối với các tình huống như PopCraft trong đó dữ liệu trò chơi không cần phải ẩn, dữ liệu được tạo thông qua ZKP Việc ẩn là dư thừa và làm tăng khó khăn trong việc lấy dữ liệu trò chơi cũng như sự không chắc chắn của các kế hoạch triển khai kỹ thuật. PopCraft chỉ cần đảm bảo rằng quá trình và kết quả trò chơi không có rủi ro gian lận và không cần ẩn dữ liệu quá trình trò chơi.
Kết luận
Trong một trò chơi như PopCraft, trò chơi Dữ liệu không cần phải ẩn nên việc ẩn thông tin qua ZKP là không cần thiết. Để cải thiện trải nghiệm trò chơi bằng cách rút ngắn thời gian phản hồi, bạn có thể cân nhắc không tải quy trình trò chơi lên chuỗi mà chỉ tải kết quả cuối cùng lên. Điều quan trọng là tìm cách đảm bảo không có khả năng gian lận từ bước đầu tiên đến bước cuối cùng khi chơi trò chơi và cuối cùng kết quả chính xác sẽ được tải lên chuỗi để xác minh.
Nếu thông tin bị ẩn thông qua ZKP, nó sẽ làm tăng thêm khó khăn trong việc triển khai kỹ thuật. Thứ hai là làm thế nào để đảm bảo không có rủi ro gian lận trong quá trình trò chơi. Sử dụng ZKP có thể đảm bảo rằng không có rủi ro gian lận trong một hoạt động trò chơi. Tuy nhiên, để giảm số lượng tương tác với blockchain, ZKP. không thể được tạo và gửi một lần. Vậy từ bước đầu tiên của trò chơi đến cuối trò chơi, làm thế nào để đảm bảo không có nguy cơ gian lận? Có vẻ như ZKP hiện tại không thể giải quyết được vấn đề này.
Theo nghiên cứu của chúng tôi, ZKP trong lĩnh vực trò chơi phù hợp với hai loại sự việc:
< li>Thông tin ẩn trong các trò chơi có thông tin không đầy đủ, chẳng hạn như: Dark Forest, Texas Hold'em, Werewolf, Hearthstone, v.v.
Quy trình trò chơi là một bước chứng minh kết quả trò chơi, chẳng hạn như: xổ số, đoán số, oẳn tù tì, trò chơi xúc xắc, v.v.
Do nguồn dự trữ hạn chế của chúng tôi về công nghệ chứng minh không có kiến thức, nội dung của bài viết này có thể chứa các lỗi thực tế hoặc các giả định kỹ thuật không hợp lý , tôi chân thành mời các chuyên gia trong lĩnh vực chứng minh không có kiến thức có kinh nghiệm phong phú phê bình và sửa sai cho tôi.