
Chương mới của trò chơi toàn chuỗi: Phát triển trò chơi có thể chứng minh bằng ZKWASM
Tuyển chọn TechFlowTuyển chọn TechFlow

Chương mới của trò chơi toàn chuỗi: Phát triển trò chơi có thể chứng minh bằng ZKWASM
Nếu đặt toàn bộ logic trò chơi lên chuỗi, thì khả năng tính toán hạn chế của EVM sẽ trở thành điểm nghẽn lớn nhất đối với việc phát triển trò chơi.
Tác giả: Blade Research
Tác giả chính: wangyao, 0xbrawler
Mục lục nội dung
- Tại sao cần phát triển trò chơi có thể chứng minh (Provable Game)?
- Kiến trúc công nghệ của Blade Games
- 1) Phát triển game phòng thủ tháp đơn giản dựa trên zkwasm
- 2) Zinity: Giải pháp đầu tiên cho phép phát triển trực tiếp trò chơi có thể chứng minh từ Unity
- Trò chơi arcade và ứng dụng ERC-6551
- Trò chơi chúng tôi sắp giới thiệu tại ETHdenver
- Kế hoạch phát triển và chủ đề nghiên cứu trong tương lai
Cảm ơn Sinka, Wangyao, Will Robinson, Mohamed Fouda, LoneSCV, 0xAiko, Simon Chan, Maggie Wu, James Fang, Zee và những người khác đã đóng góp cho bài viết này
Tóm tắt nhanh:
- Phương pháp hợp xử lý zk cung cấp các giả định tin cậy cần thiết cho trò chơi có thể kiểm chứng, cùng với năng lực tính toán để phát triển trải nghiệm chơi hấp dẫn
- Đối với các nhà phát triển trò chơi giàu kinh nghiệm, rất cần giải pháp gốc Unity/Unreal thay vì phải đồng bộ hóa logic trò chơi cốt lõi bằng Solidity/Cairo với hoạt ảnh/giao diện đồ họa trong Unity
- Trải nghiệm phát triển trò chơi trên chuỗi và trò chơi có thể xác minh trong tương lai sẽ cực kỳ mô-đun và linh hoạt (Mức độ "lên chuỗi" đến đâu là đủ? Chúng tôi cho rằng điều này nên do nhà phát triển và người dùng quyết định)
- Trong tương lai, chúng tôi tin rằng sẽ có những phương pháp linh hoạt để cân bằng giữa các giả định tin cậy, chi phí tạo bằng chứng và chi phí phát triển nhằm xây dựng các trò chơi có thể xác minh với chi phí kiểm soát được
Tại sao cần phát triển trò chơi có thể chứng minh?
Năm 2023 là năm bùng nổ của trò chơi trên chuỗi (FOCG)/thế giới tự trị (AW), xuất hiện hàng loạt cơ sở hạ tầng như Mud.dev, Dojo, World Engine, Keystone, Paima, v.v. Ngoài ra, các nhà cung cấp dịch vụ Rollup như Altlayer, Caldera, Conduit cũng thu hút đông đảo nhà phát triển trò chơi toàn chuỗi.
Tuy nhiên, qua việc phát triển và vận hành trò chơi sinh tồn Loot Royale - trò chơi trên chuỗi đầu tiên của chúng tôi, đạt mức người dùng hoạt động hàng ngày từ 600–800 người chỉ trong một tháng, chúng tôi nhận thấy một vấn đề quan trọng:
Nếu đặt toàn bộ logic trò chơi lên chuỗi, thì khả năng tính toán hạn chế của EVM sẽ trở thành điểm nghẽn lớn nhất đối với việc phát triển trò chơi.
Thiếu hụt về sức mạnh tính toán làm giới hạn thể loại trò chơi (chủ yếu là trò chơi ít tính toán, đơn luồng, bất đồng bộ) và trải nghiệm người dùng (người chơi phải chờ giao dịch được đóng gói, RPC tải dữ liệu, v.v.).
Dưới đây là vài ví dụ cụ thể. Chúng tôi nhận được nhiều phản hồi như “Tôi mong giao dịch của mình được đóng gói kịp thời để cú đánh đó trúng mục tiêu” hay “Bao giờ dữ liệu RPC mới hoàn tất tải?”. Điều này cần phải thay đổi.

Người chơi sốt ruột chờ RPC hoàn tất tải dữ liệu
Sau khi thử nghiệm phát triển trên nhiều nền tảng kỹ thuật khác nhau, chúng tôi tin rằng nếu có thể chứng minh tính toán bên ngoài chuỗi, thì mức độ đáng tin cậy sẽ gần như tương đương với giao dịch/tính toán hoàn toàn trên chuỗi. Chúng tôi giải quyết giới hạn tính toán của EVM bằng cách áp dụng nguyên tắc “thực thi ngoài chuỗi, xác minh trên chuỗi”. Phương pháp này mang lại một số lợi thế:
- Cải thiện trải nghiệm người dùng, giảm thời gian chờ đợi
- Mở rộng thể loại trò chơi, bao gồm cả các trò chơi “giải trí bán chuyên” (mid-core) đòi hỏi nhiều tính toán hơn như game phòng thủ tháp
- Hỗ trợ ứng dụng thông tin ẩn (hidden information) trong trò chơi
Chúng tôi sẽ trước hết giới thiệu ngắn gọn cách sử dụng zkWASM để phát triển trò chơi có thể chứng minh. Sau đó, chúng tôi sẽ thảo luận về giải pháp zkwasm-unity của mình, giải pháp đầu tiên trong ngành cho phép phát triển trực tiếp trò chơi có thể chứng minh từ Unity.
Kiến trúc công nghệ của Blade Games
Phát triển game phòng thủ tháp đơn giản dựa trên zkwasm
Kiến trúc công nghệ được chia làm hai phần. Phần đầu tiên là viết trò chơi PvE, PvP phòng thủ tháp đơn giản bằng Rust và xác minh qua zkwasm.
Phần thứ hai là lộ trình của chúng tôi: kế hoạch phát triển một trình biên dịch chuyển C# sang wasm, và sửa đổi kiến trúc zkwasm hiện tại phù hợp để tạo ra giải pháp phát triển trò chơi có thể chứng minh linh hoạt và mô-đun hơn. (zkwasm do Delphinus Labs phát triển, là một zkVM chạy mã wasm và tạo bằng chứng zkSNARK cho hành trình thực thi của nó.)
Hãy bắt đầu với ví dụ PvE – chúng tôi viết trò chơi bằng Rust và Bevy Engine.
Rust có thể dễ dàng biên dịch thành wasm và tạo một hình ảnh (image) wasm trước khi xử lý bởi zkwasm VM. Sau đó, chúng ta có thể chọn đăng tải hành trình thực thi đã xử lý lên lớp khả dụng dữ liệu (Data Availability Layer) và chứng minh sau; hoặc người dùng có thể chọn chứng minh ngay lập tức và gửi bằng chứng zkSNARK lên chuỗi (với một GPU RTX4090 đơn, khoảng 45 giây để xử lý bằng chứng quy mô một triệu opcode, điều này đã đủ cho game phòng thủ tháp tốc độ chậm).
Trò chơi sau đó được chia nhỏ thành các bước.
- Người chơi xác nhận thiết lập bản đồ và commit thông tin liên quan lên chuỗi
- Logic trò chơi chạy một đợt chiến đấu trong mã Rust; hành trình thực thi liên quan có thể được chứng minh bởi zkwasm, người chơi nộp bằng chứng zk lên chuỗi
- Một đợt quái vật mới xuất hiện, người chơi có thể giữ nguyên thiết lập pháo đài hoặc commit thiết lập mới
- Người chơi không thể thay đổi thiết lập tháp giữa các đợt chiến đấu; nếu thay đổi bản đồ, họ có thể submit commit mới

(Người chơi xác nhận thiết lập bản đồ và nộp đầu ra zkwasm lên chuỗi)

(Logic trò chơi chạy một đợt chiến đấu trong mã Rust. Hành trình thực thi liên quan có thể được chứng minh bởi zkwasm, người chơi nộp bằng chứng zk lên chuỗi)
Zinity: Giải pháp đầu tiên cho phép phát triển trực tiếp trò chơi có thể xác minh từ Unity
Đối với nhiều nhà phát triển trò chơi, việc phát triển trò chơi trên chuỗi nghĩa là họ phải học Solidity, Rust hoặc Cairo. Điều này đồng nghĩa họ phải ngừng sử dụng C#, ngôn ngữ quen thuộc. Hơn nữa, việc cố gắng đồng bộ hóa phần render và hoạt ảnh của engine Unity với mã logic trò chơi dựa trên Mud/Dojo bằng Solidity/Cairo là một quá trình tốn kém và mất thời gian.
Chúng tôi sẽ phát hành framework phát triển “zkServer” đầu tiên sử dụng hợp xử lý zk, tích hợp sẵn cho Unity, dành cho trò chơi trên chuỗi. Chúng tôi gọi nó là Zinity.
Mã trò chơi được tách rời thành:
1) Mã logic cốt lõi (tấn công, rương chiến lợi phẩm, tọa độ đơn vị, v.v.)
2) Phần mã còn lại. Sau đó, cả hai phần mã đều được biên dịch từ C# sang wasm, logic cốt lõi chạy trên runtime zkwasm, phần còn lại chạy trên runtime C# thông thường. Sẽ có một giao thức truyền thông xử lý tin nhắn để kết nối hai phía.
zkWASM sẽ ghi nhận dưới dạng mã nhị phân các hành động như “người chơi A đặt một pháo đài tại tọa độ (x,y) vào thời điểm X”. Khi bắt đầu ván mới, chúng ta lấy trạng thái ban đầu của trò chơi. Trong quá trình chơi, zkwasm ghi nhận và tính toán thêm các đầu vào của người chơi. Khi ván kết thúc, trạng thái trò chơi mới kèm theo hash và hành trình thực thi (execution trace) sẽ được tạo ra.
Chúng ta có thể chọn đăng toàn bộ hành trình thực thi (execution trace) lên lớp khả dụng dữ liệu (DA layer) như Eigenlayer/Celestia/Avail/Greenfield. Hoặc người dùng có thể chọn chỉ lưu hash lên DA layer, còn trace thì lưu trữ trên đám mây. Ngoài ra, chúng tôi sẽ thiết kế một giai đoạn thách thức (challenge period) để xác minh trạng thái trò chơi theo phương pháp fault proof.
Hơn nữa, đối với các kết quả trò chơi quan trọng, nơi người chơi tham gia vào các đơn vị kinh tế lớn, người dùng có thể chọn tạo bằng chứng zk cho toàn bộ quá trình và đăng trực tiếp lên DA layer.

Cuối cùng, mọi quy trình sẽ được tích hợp thành SDK Unity (không bao gồm hoạt ảnh và render) hoặc công cụ CLI để hướng dẫn toàn bộ chuỗi công cụ.
Chúng tôi cũng có thể mở rộng giải pháp này sang các engine trò chơi khác như Unity/Unreal/Godot. Kế hoạch tương lai bao gồm tích hợp với các zkVM khác (như RiscZero) và nhiều lớp DA khác nhau (Eigenlayer/Celestia).
Thông qua phương pháp này, chúng tôi có thể mở rộng đáng kể cộng đồng nhà phát triển trò chơi trên chuỗi/trò chơi có thể xác minh, thu hút các nhà phát triển web2 và các studio trò chơi.
Game arcade + phòng thủ tháp trên chuỗi với ERC-6551
Ngoài ra, chúng tôi đang khám phá khái niệm arcade trên chuỗi xung quanh trò chơi có thể chứng minh. Ví dụ, người chơi có thể nộp thiết lập tháp/pháo đài/vật cản lên chuỗi, người chơi khác nộp quái vật và lính chọn lựa của họ để thử vượt qua màn chơi. Kết quả chiến đấu được tính toán cục bộ, chỉ bằng chứng zk-snark được gửi lên chuỗi để xác minh kết quả. Mục đích là đảm bảo phương pháp vượt màn không bị phát tán công khai trên chuỗi.
ERC-6551 (tài khoản gắn token) sẽ biến các trận đấu PvP này thành arcade tự trị. Người chơi tạo phòng có thể gửi thưởng vào hợp đồng thông minh, người thách đấu phải trả phí vào cửa cố định, khoản phí này tích lũy vào hồ thưởng, trao cho người hoàn thành màn chơi. 10 người đầu tiên hoàn thành màn chơi sẽ nhận được một tỷ lệ phần thưởng từ hồ thưởng.
Chúng tôi đang tích cực khám phá ý tưởng arcade tự trị này và hoan nghênh mọi thảo luận trên Twitter (@BladeGamesHQ). Trong bài viết sắp tới, chúng tôi sẽ bàn về ví dụ PvP trong game phòng thủ tháp.

Trò chơi chúng tôi sắp giới thiệu tại ETHdenver
Chúng tôi sẽ giới thiệu một bản demo trò chơi có thể xác minh tại ETHdenver. Trò chơi này sẽ được phát triển bằng Rust và React, chạy trên zkwasm. Hãy liên hệ với chúng tôi trên Twitter, chúng tôi sẽ thêm bạn vào danh sách chơi thử sớm!
Kết luận và nội dung sắp tới
- Phương pháp hợp xử lý zk cung cấp các giả định tin cậy cần thiết, cũng như năng lực tính toán để nhà phát triển tạo ra trải nghiệm chơi hấp dẫn
- Đối với các nhà phát triển trò chơi giàu kinh nghiệm, rất cần giải pháp gốc Unity/Unreal thay vì phải đồng bộ hóa logic trò chơi cốt lõi bằng Solidity/Cairo với hoạt ảnh/render trong Unity
- Trải nghiệm phát triển trò chơi trên chuỗi và trò chơi có thể xác minh trong tương lai sẽ cực kỳ mô-đun và linh hoạt (Mức độ “lên chuỗi” đến đâu là đủ? Chúng tôi cho rằng điều này nên do nhà phát triển và người dùng quyết định)
- Trong tương lai, chúng tôi tin rằng sẽ có những phương pháp linh hoạt để cân bằng giữa các giả định tin cậy, chi phí tạo bằng chứng và chi phí phát triển nhằm xây dựng trò chơi có thể xác minh
Giải pháp Zinity của chúng tôi mang đến trải nghiệm khởi đầu thuận lợi cho các nhà phát triển web2 và web3 khi phát triển trò chơi có thể xác minh. Chúng tôi tin rằng phương pháp plug-and-play cho phép sử dụng nhiều loại engine trò chơi, cũng như các lớp DA và zkVM khác nhau, sẽ mang lại sự linh hoạt tối đa trong trải nghiệm phát triển.

Chúng tôi hình dung trải nghiệm phát triển trong tương lai sẽ như thế này: Zinity có thể cung cấp hỗ trợ “linh hoạt” cho trò chơi có thể chứng minh, và cung cấp tùy chọn phát triển modul cho cả nhà phát triển crypto lẫn nhà phát triển trò chơi web2.
Ví dụ, nhà phát triển có thể viết logic cốt lõi bằng Rust, phần còn lại của trò chơi bằng C# và Unity, rồi commit hành trình thực thi/hash của hành trình lên chuỗi, trì hoãn việc tạo ZKP — nhờ đó cả chi phí phát triển và chi phí chứng minh đều tốt hơn nhiều.
Mô hình linh hoạt này cũng giúp nhà phát triển nhanh chóng thử nghiệm ý tưởng trò chơi sơ khai bên trong C# và engine Unity, sau đó tiếp tục điều chỉnh mức độ “lên chuỗi” mà họ mong muốn (Mức độ “lên chuỗi” đến đâu là đủ? Chúng tôi cho rằng điều này nên do nhà phát triển và người dùng quyết định). Đồng thời, họ cũng có thể kiểm tra trước sự đánh đổi giữa thiết kế trò chơi và hiệu năng blockchain.
Khi tự phát triển trò chơi và thử nghiệm nhiều stack kỹ thuật, chúng tôi nhận ra vẫn cần các nhà phát triển web2 giàu kinh nghiệm tham gia phát triển trò chơi có thể xác minh để có được dòng chơi mượt mà và UIUX tốt hơn. Vì vậy, chúng tôi đưa ra giải pháp tiên phong riêng và hy vọng đóng góp cho cộng đồng phát triển trò chơi trên chuỗi rộng lớn hơn.

Chúng tôi đã viết nhiều nội dung về việc sử dụng zkwasm và phát triển trò chơi có thể xác minh, và vẫn đang tiếp tục các công việc còn lại. Dưới đây là một số chủ đề:
- Sửa đổi zkwasm để phục vụ trò chơi có thể xác minh (đang thực hiện)
- Ước lượng chi phí DA và chi phí chứng minh của phương pháp này (hoàn thành)
- Modding, khả năng tương tác và tương tác không cần giấy phép trên chuỗi cho trò chơi có thể xác minh (đang thực hiện)
- Các ý tưởng thiết kế trò chơi có thể xác minh liên quan (đang thực hiện)
Nếu bạn quan tâm đến việc phát triển trò chơi có thể xác minh, thảo luận về ứng dụng zkVM trong trò chơi, hoặc muốn tham gia cùng chúng tôi, hãy liên hệ!
Chào mừng tham gia cộng đồng chính thức TechFlow
Nhóm Telegram:https://t.me/TechFlowDaily
Tài khoản Twitter chính thức:https://x.com/TechFlowPost
Tài khoản Twitter tiếng Anh:https://x.com/BlockFlow_News














