Trong khi trò chơi đang diễn ra: Thiết kế một trò chơi gây tranh cãi theo mô-đun cho hệ thống chống lỗi của OP Stack

Nâng cao12/17/2023, 6:13:44 PM
Bài báo này phân tích vai trò của trò chơi tranh chấp trong việc phát hiện lỗi phi tập trung trong hệ sinh thái siêu chuỗi, và thảo luận về việc xây dựng và tiềm năng của các trò chơi tranh chấp chống lỗi. Bài viết này cũng xem xét tầm quan trọng của những trò chơi này trong việc phát hiện lỗi trong hệ thống chống lỗi đầu tiên của OP Stack.

Một cái nhìn sâu sắc vào trò chơi gây tranh cãi và vai trò của nó trong việc phát hiện lỗi đầu tiên trong hệ thống chống lỗi của OP Stack.

Không phải ngẫu nhiên mà một trong những thành phần thú vị nhất của Hệ thống Bảo vệ Lỗi của OP Stack (FPS) là trò chơi gây tranh cãi của nó. Bài viết trước về FPS đã nêu cách mà tính linh hoạt của ngăn xếp OP tách biệt chương trình bảo vệ lỗi (FPP) khỏi máy ảo chứng minh lỗi (FPVM), cho phép cấp độ kết hợp tiếp theo và nâng cấp song song hiệu quả của hai thành phần. Không phải là viễn cảnh khi nói rằng điều này cũng đúng với trò chơi gây tranh cãi.

Bài viết này khám phá vai trò của các trò chơi tranh chấp trong việc phát hiện lỗi phi tập trung trong hệ sinh thái siêu chuỗi, cách xây dựng các trò chơi tranh chấp không lỗi trên cơ sở các thỏa thuận tranh chấp, và khả năng của các trò chơi như vậy nảy sinh do tính mở rộng của các thỏa thuận tranh chấp.

Nếu bạn muốn biết thêm chi tiết về trò chơi gây tranh cãi, hãy đọc bài đăng chi tiết hơn này mà tôi đã chia sẻ trên blog cá nhân của mình vài tuần trước.

Trò chơi tranh chấp là gì?

Trò chơi tranh chấp là cơ sở chính của các thỏa thuận tranh chấp. Nó mô phỏng một máy trạng thái đơn giản, và đối với bất kỳ thông tin nào mà tính hợp lệ của nó bị tranh cãi, nó sẽ được khởi tạo với một cam kết 32 byte. Thông tin này chứa một hàm để giải quyết sự thật hoặc sự sai lầm của cam kết này, điều này để lại cho việc triển khai của nguyên tắc để xác định. Trò chơi tranh chấp đầu tiên của OP Stack, Lỗi Defente Trò chơi, không được cấp phép vì chức năng giải quyết của nó được xác định bởi kết quả của chương trình chống lỗi được thực thi trên một máy ảo ảo hóa mô phỏng.

Tìm Kiếm Trò Chơi Tò Mò Về Hai Chuỗi Thuộc Tính:

Trò chơi tranh cãi chính yếu dựa vào hai đặc tính cơ bản:

  1. Khuyến khích sự tương thích: Hệ thống trừng phạtcác yêu cầu sai lệch và thưởng các yêu cầu đúng để đảm bảo sự tham gia công bằng.
  2. Giải pháp:Mỗi trò chơi đều có cơ chế để xác thực hoặc không xác thực rõ ràng các yêu cầu gốc.

Trong các thỏa thuận tranh chấp, có thể tạo ra, quản lý và nâng cấp các loại trò chơi tranh chấp khác nhau quaDisputeGameFactory. Điều này mở ra cánh cửa cho các tính năng sáng tạo như hệ thống chứng minh tổng hợp và giao thức mở rộng để đáp ứng các vấn đề gây tranh cãi bên ngoài trạng thái giao thức tầng 2, như FaultDefenteGame, mục tiêu là xác minh nhị phân trên chuỗi.

Trò chơi hai điểm

Đó là một trò chơi tranh chấp cụ thể theo thể loại, và là trò chơi đầu tiên được xây dựng trên thỏa thuận tranh chấp OP Stack. Trong trò chơi này, người chơi chia con đường thực thi đi lại cho đến khi đạt được từng bước. Sau khi phân chia đạt được một lời hứa trên mỗi hướng dẫn theo dõi,Lỗi Defente Trò chơisử dụng một máy ảo thông thường để thực thi một bước chỉ thị duy nhất trên chuỗi. Hàm chuyển trạng thái của máy ảo (hãy gọi làT ) có thể là bất kỳ hàm nào, miễn là nó tuân theo dạngT (s, i) - > s',ở đâu s = thỏa thuận trước trạng thái,i = state transition input,s= trạng thái sau .

Đối với việc triển khai đầy đủ đầu tiên của một VM chung trong trò chơi hai người, chúng tôi triển khai một ngữ cảnh luồng MIPS duy nhất trên EVM để thực thi một hướng dẫn duy nhất trong dấu vết thực thi tạo rabởiCannonvà chương trình op.

tuyên bố

Một tuyên bố cho biết cam kết về trạng thái của máy ảo phụ trợ theo một hướng dẫn nhất định. Đây có thể là thật hoặc giả và tính xác thực được xác định sau giai đoạn giải quyết. Nếu không có phản công, tuyên bố được coi là chính xác. ,

Vị trí

Khai báo vị trí tồn tại trong cây nhị phân. Vị trí này cho biết câu lệnh liên quan đến hướng dẫn nào.Vị trí là một chỉ số tổng quát, có thể được xác định là 2^{depth} + index_at_depth.

đồng hồ cờ vua

Hành động của người chơi bị hạn chế trong một khoảng thời gian nhất định. Trò chơi này không yêu cầu bất kỳ giấy phép nào và bất kỳ ai cũng có thể tham gia. Mỗi bên bắt đầu với 3.5 ngày chơi, tổng cộng là 7 ngày chơi. Nếu bạn tạo một đường đi mới hoặc đưa ra một tuyên bố khi bạn đã nhận một tuyên bố, đó là một mức đồng hồ cờ vua cấp ông nội.

hành động

Người chơi được chia thành hai cho đến khi trạng thái của tuyên bố chỉ dành cho một chỉ thị VM duy nhất. Sau đó, họ thực hiện chỉ thị đó trên chuỗi để xác minh hoặc bác bỏ tuyên bố đó. Hành động có thể là tấn công (thách thức tuyên bố cha) hoặc phòng thủ (đồng ý với tuyên bố của cha). Khi người chơi đồng ý với băm của các tuyên bố mà họ đã quan sát (nghĩa là cả hai bên đều ở cùng một trạng thái dưới một lệnh cụ thể) nhưng không đồng ý với kết quả cuối cùng mà họ đang cố gắng thúc đẩy dựa trên sự đồng thuận tương đối của tuyên bố đã quan sát, tuyên bố cơ bản được sử dụng để phòng thủ.

Bước lệnh

Tại nút lá của cây vị trí, mỗi tuyên bố gửi trạng thái chỉ tại một hướng dẫn VM. Bước duy nhất còn lại là thực thi các hướng dẫn VM để chứng minh hoặc bác bỏ tuyên bố cha.

Nếu bước lệnh xác nhận trạng thái sau mong đợi, thì câu lệnh không còn có hiệu lực. Nếu có tình trạng phát hành hoặc mã thoát không mong đợi, yêu cầu cha sẽ bị đối đầu.

giải pháp

Loại trò chơi này có thể được giải quyết sau khi tất cả các đồng hồ cờ vua đã được sử dụng hết, với một khoảng thời gian tối thiểu là 3,5 ngày.Mọi câu lệnh trong trò chơi đều là căn nguyên của trò chơi phụ của nó (Sub Game).Subgame là một DAG với độ sâu là 1. Tất cả các subgame trỏ đến gốc (chính chúng là các gốc subgame) là các bộ đếm của nó, và subgame chỉ có thể được giải quyết nếu tất cả các subgame con của nó cũng đã được giải quyết. Gốc subgame chỉ có thể được xem xét phản công nếu một hoặc nhiều subgame con của gốc subgame đã được giải quyết và không bị phản công, và tính chất này tiếp tục lan truyền vào tuyên bố gốc của trò chơi.

Sự hiện diện của những người chơi trung thực (ngay sau khi tất cả các hành động của họ đã được thực hiện) luôn gây ra sự suôn sẻ trong quá trình giải quyết trò chơi theo quan điểm quỹ đạo của nó, bất kể tuyên bố cơ bản có trung thực hay không. Một tuyên bố không trung thực luôn có thể bị đối phương đánh bại, mặc dù luôn có một tuyên bố đúng duy nhất có thể được đưa ra, vì các băm tuyên bố lặp lại ở cùng một vị trí trong cùng một trò chơi con không được phép.

0:00

Chơi trò chữ cái hai điểm

Đối với bất kỳ ai quan tâm, cũng có một công cụ trực quan cho FaultDefenteGame, mục tiêu theo dõi thực thi mô phỏng với chỉ 16 hướng dẫn trong độ dài. Bản mô phỏng này sử dụng một VM riêng biệt với ngữ cảnh khác biệt so với luồng MIPS, được gọi là AlphabetVM, chỉ trả về chữ cái tiếp theo trong bảng chữ cái khi một chữ cái cụ thể được nhập vào.

Nếu bạn quan tâm đến việc khám phá các quy tắc của trò chơi với một backend nhẹ hơn, đây là cách chơi:

Sao chép Optimism monorepo, cài đặt các phụ thuộc, và tạo bản phân phối devnet /cannon/op-program binaries.

Các phụ thuộc cần thiết:

  1. Foundry
  2. Bộ công cụ Golang
  3. Docker
git clone git@github.com: ethereum-optimism/optimism.git & &\\ cd optimism & &\\ pnpm i & &\\ (cd packages/contracts-bedrock & & forge install) & &\\ Tạo ra cannon-prestate & &\\ Tạo ra devnet-allocs

Chạy trò chơi bảng chữ cái:

CD OP-CHALLENCHER & & LÀM BẢNG CHỮ CÁI
  1. Truy cập vào https://disputify.optimism.io/hoặc qua sao chép https://github.com/clabby/dispute-vizChạy giao diện trực quan cục bộ và nhập địa chỉ của đại lý FaultDefenteGame triển khai lên mạng phát triển cục bộ ở trên.

Các thỏa thuận tranh cãi giúp bảo vệ ngăn xếp OP

Trong một trò chơi của hai người, tất cả các cơ chế trên hoạt động cùng nhau để tạo ra một hệ thống thưởng cho hành vi trung thực và hiệu quả chống lại những yêu cầu không trung thực.

Có nhiều cách để xây dựng các trò chơi gây tranh cãi nhằm đạt được mục tiêu tương tự. Chúng tôi hy vọng rằng khi FPS của OP Stack được triển khai trên OP Goerli, các nhà xây dựng trong hệ sinh thái của chúng tôi sẽ có thời gian vui vẻ và sáng tạo trong việc xây dựng những trò chơi gây tranh cãi của riêng họ. Mỗi trò chơi gây tranh cãi được tạo ra có thể đóng vai trò trong sự phân quyền xã hội của OP Stack và cung cấp cho các thành viên hệ sinh thái các lựa chọn về cách giải quyết tranh luận về bất kỳ tuyên bố cụ thể nào về một thông tin nhất định.

Tuyên bố:

  1. Bài viết này đã được tái bản từ [ Phòng thí nghiệm ], và bản quyền thuộc về tác giả gốc [clabby]. Nếu bạn có bất kỳ ý kiến ​​nào về việc sao chép, vui lòng liên hệ với nhóm Học viện Gate (gatelearn@gate.io),và nhóm sẽ xử lý nó ngay khi có thể theo các quy trình liên quan.
  2. Tuyên bố từ chối trách nhiệm: Các quan điểm và ý kiến được thể hiện trong bài viết này chỉ đại diện cho quan điểm cá nhân của tác giả và không cấu thành bất kỳ lời khuyên đầu tư nào.
  3. Các bài viết trong các ngôn ngữ khác được dịch bởi nhóm Gate Learn, và các bài viết đã dịch có thể không được sao chép, phân phối, hoặc sao chép mà không đề cập đến Gate.io.

Trong khi trò chơi đang diễn ra: Thiết kế một trò chơi gây tranh cãi theo mô-đun cho hệ thống chống lỗi của OP Stack

Nâng cao12/17/2023, 6:13:44 PM
Bài báo này phân tích vai trò của trò chơi tranh chấp trong việc phát hiện lỗi phi tập trung trong hệ sinh thái siêu chuỗi, và thảo luận về việc xây dựng và tiềm năng của các trò chơi tranh chấp chống lỗi. Bài viết này cũng xem xét tầm quan trọng của những trò chơi này trong việc phát hiện lỗi trong hệ thống chống lỗi đầu tiên của OP Stack.

Một cái nhìn sâu sắc vào trò chơi gây tranh cãi và vai trò của nó trong việc phát hiện lỗi đầu tiên trong hệ thống chống lỗi của OP Stack.

Không phải ngẫu nhiên mà một trong những thành phần thú vị nhất của Hệ thống Bảo vệ Lỗi của OP Stack (FPS) là trò chơi gây tranh cãi của nó. Bài viết trước về FPS đã nêu cách mà tính linh hoạt của ngăn xếp OP tách biệt chương trình bảo vệ lỗi (FPP) khỏi máy ảo chứng minh lỗi (FPVM), cho phép cấp độ kết hợp tiếp theo và nâng cấp song song hiệu quả của hai thành phần. Không phải là viễn cảnh khi nói rằng điều này cũng đúng với trò chơi gây tranh cãi.

Bài viết này khám phá vai trò của các trò chơi tranh chấp trong việc phát hiện lỗi phi tập trung trong hệ sinh thái siêu chuỗi, cách xây dựng các trò chơi tranh chấp không lỗi trên cơ sở các thỏa thuận tranh chấp, và khả năng của các trò chơi như vậy nảy sinh do tính mở rộng của các thỏa thuận tranh chấp.

Nếu bạn muốn biết thêm chi tiết về trò chơi gây tranh cãi, hãy đọc bài đăng chi tiết hơn này mà tôi đã chia sẻ trên blog cá nhân của mình vài tuần trước.

Trò chơi tranh chấp là gì?

Trò chơi tranh chấp là cơ sở chính của các thỏa thuận tranh chấp. Nó mô phỏng một máy trạng thái đơn giản, và đối với bất kỳ thông tin nào mà tính hợp lệ của nó bị tranh cãi, nó sẽ được khởi tạo với một cam kết 32 byte. Thông tin này chứa một hàm để giải quyết sự thật hoặc sự sai lầm của cam kết này, điều này để lại cho việc triển khai của nguyên tắc để xác định. Trò chơi tranh chấp đầu tiên của OP Stack, Lỗi Defente Trò chơi, không được cấp phép vì chức năng giải quyết của nó được xác định bởi kết quả của chương trình chống lỗi được thực thi trên một máy ảo ảo hóa mô phỏng.

Tìm Kiếm Trò Chơi Tò Mò Về Hai Chuỗi Thuộc Tính:

Trò chơi tranh cãi chính yếu dựa vào hai đặc tính cơ bản:

  1. Khuyến khích sự tương thích: Hệ thống trừng phạtcác yêu cầu sai lệch và thưởng các yêu cầu đúng để đảm bảo sự tham gia công bằng.
  2. Giải pháp:Mỗi trò chơi đều có cơ chế để xác thực hoặc không xác thực rõ ràng các yêu cầu gốc.

Trong các thỏa thuận tranh chấp, có thể tạo ra, quản lý và nâng cấp các loại trò chơi tranh chấp khác nhau quaDisputeGameFactory. Điều này mở ra cánh cửa cho các tính năng sáng tạo như hệ thống chứng minh tổng hợp và giao thức mở rộng để đáp ứng các vấn đề gây tranh cãi bên ngoài trạng thái giao thức tầng 2, như FaultDefenteGame, mục tiêu là xác minh nhị phân trên chuỗi.

Trò chơi hai điểm

Đó là một trò chơi tranh chấp cụ thể theo thể loại, và là trò chơi đầu tiên được xây dựng trên thỏa thuận tranh chấp OP Stack. Trong trò chơi này, người chơi chia con đường thực thi đi lại cho đến khi đạt được từng bước. Sau khi phân chia đạt được một lời hứa trên mỗi hướng dẫn theo dõi,Lỗi Defente Trò chơisử dụng một máy ảo thông thường để thực thi một bước chỉ thị duy nhất trên chuỗi. Hàm chuyển trạng thái của máy ảo (hãy gọi làT ) có thể là bất kỳ hàm nào, miễn là nó tuân theo dạngT (s, i) - > s',ở đâu s = thỏa thuận trước trạng thái,i = state transition input,s= trạng thái sau .

Đối với việc triển khai đầy đủ đầu tiên của một VM chung trong trò chơi hai người, chúng tôi triển khai một ngữ cảnh luồng MIPS duy nhất trên EVM để thực thi một hướng dẫn duy nhất trong dấu vết thực thi tạo rabởiCannonvà chương trình op.

tuyên bố

Một tuyên bố cho biết cam kết về trạng thái của máy ảo phụ trợ theo một hướng dẫn nhất định. Đây có thể là thật hoặc giả và tính xác thực được xác định sau giai đoạn giải quyết. Nếu không có phản công, tuyên bố được coi là chính xác. ,

Vị trí

Khai báo vị trí tồn tại trong cây nhị phân. Vị trí này cho biết câu lệnh liên quan đến hướng dẫn nào.Vị trí là một chỉ số tổng quát, có thể được xác định là 2^{depth} + index_at_depth.

đồng hồ cờ vua

Hành động của người chơi bị hạn chế trong một khoảng thời gian nhất định. Trò chơi này không yêu cầu bất kỳ giấy phép nào và bất kỳ ai cũng có thể tham gia. Mỗi bên bắt đầu với 3.5 ngày chơi, tổng cộng là 7 ngày chơi. Nếu bạn tạo một đường đi mới hoặc đưa ra một tuyên bố khi bạn đã nhận một tuyên bố, đó là một mức đồng hồ cờ vua cấp ông nội.

hành động

Người chơi được chia thành hai cho đến khi trạng thái của tuyên bố chỉ dành cho một chỉ thị VM duy nhất. Sau đó, họ thực hiện chỉ thị đó trên chuỗi để xác minh hoặc bác bỏ tuyên bố đó. Hành động có thể là tấn công (thách thức tuyên bố cha) hoặc phòng thủ (đồng ý với tuyên bố của cha). Khi người chơi đồng ý với băm của các tuyên bố mà họ đã quan sát (nghĩa là cả hai bên đều ở cùng một trạng thái dưới một lệnh cụ thể) nhưng không đồng ý với kết quả cuối cùng mà họ đang cố gắng thúc đẩy dựa trên sự đồng thuận tương đối của tuyên bố đã quan sát, tuyên bố cơ bản được sử dụng để phòng thủ.

Bước lệnh

Tại nút lá của cây vị trí, mỗi tuyên bố gửi trạng thái chỉ tại một hướng dẫn VM. Bước duy nhất còn lại là thực thi các hướng dẫn VM để chứng minh hoặc bác bỏ tuyên bố cha.

Nếu bước lệnh xác nhận trạng thái sau mong đợi, thì câu lệnh không còn có hiệu lực. Nếu có tình trạng phát hành hoặc mã thoát không mong đợi, yêu cầu cha sẽ bị đối đầu.

giải pháp

Loại trò chơi này có thể được giải quyết sau khi tất cả các đồng hồ cờ vua đã được sử dụng hết, với một khoảng thời gian tối thiểu là 3,5 ngày.Mọi câu lệnh trong trò chơi đều là căn nguyên của trò chơi phụ của nó (Sub Game).Subgame là một DAG với độ sâu là 1. Tất cả các subgame trỏ đến gốc (chính chúng là các gốc subgame) là các bộ đếm của nó, và subgame chỉ có thể được giải quyết nếu tất cả các subgame con của nó cũng đã được giải quyết. Gốc subgame chỉ có thể được xem xét phản công nếu một hoặc nhiều subgame con của gốc subgame đã được giải quyết và không bị phản công, và tính chất này tiếp tục lan truyền vào tuyên bố gốc của trò chơi.

Sự hiện diện của những người chơi trung thực (ngay sau khi tất cả các hành động của họ đã được thực hiện) luôn gây ra sự suôn sẻ trong quá trình giải quyết trò chơi theo quan điểm quỹ đạo của nó, bất kể tuyên bố cơ bản có trung thực hay không. Một tuyên bố không trung thực luôn có thể bị đối phương đánh bại, mặc dù luôn có một tuyên bố đúng duy nhất có thể được đưa ra, vì các băm tuyên bố lặp lại ở cùng một vị trí trong cùng một trò chơi con không được phép.

0:00

Chơi trò chữ cái hai điểm

Đối với bất kỳ ai quan tâm, cũng có một công cụ trực quan cho FaultDefenteGame, mục tiêu theo dõi thực thi mô phỏng với chỉ 16 hướng dẫn trong độ dài. Bản mô phỏng này sử dụng một VM riêng biệt với ngữ cảnh khác biệt so với luồng MIPS, được gọi là AlphabetVM, chỉ trả về chữ cái tiếp theo trong bảng chữ cái khi một chữ cái cụ thể được nhập vào.

Nếu bạn quan tâm đến việc khám phá các quy tắc của trò chơi với một backend nhẹ hơn, đây là cách chơi:

Sao chép Optimism monorepo, cài đặt các phụ thuộc, và tạo bản phân phối devnet /cannon/op-program binaries.

Các phụ thuộc cần thiết:

  1. Foundry
  2. Bộ công cụ Golang
  3. Docker
git clone git@github.com: ethereum-optimism/optimism.git & &\\ cd optimism & &\\ pnpm i & &\\ (cd packages/contracts-bedrock & & forge install) & &\\ Tạo ra cannon-prestate & &\\ Tạo ra devnet-allocs

Chạy trò chơi bảng chữ cái:

CD OP-CHALLENCHER & & LÀM BẢNG CHỮ CÁI
  1. Truy cập vào https://disputify.optimism.io/hoặc qua sao chép https://github.com/clabby/dispute-vizChạy giao diện trực quan cục bộ và nhập địa chỉ của đại lý FaultDefenteGame triển khai lên mạng phát triển cục bộ ở trên.

Các thỏa thuận tranh cãi giúp bảo vệ ngăn xếp OP

Trong một trò chơi của hai người, tất cả các cơ chế trên hoạt động cùng nhau để tạo ra một hệ thống thưởng cho hành vi trung thực và hiệu quả chống lại những yêu cầu không trung thực.

Có nhiều cách để xây dựng các trò chơi gây tranh cãi nhằm đạt được mục tiêu tương tự. Chúng tôi hy vọng rằng khi FPS của OP Stack được triển khai trên OP Goerli, các nhà xây dựng trong hệ sinh thái của chúng tôi sẽ có thời gian vui vẻ và sáng tạo trong việc xây dựng những trò chơi gây tranh cãi của riêng họ. Mỗi trò chơi gây tranh cãi được tạo ra có thể đóng vai trò trong sự phân quyền xã hội của OP Stack và cung cấp cho các thành viên hệ sinh thái các lựa chọn về cách giải quyết tranh luận về bất kỳ tuyên bố cụ thể nào về một thông tin nhất định.

Tuyên bố:

  1. Bài viết này đã được tái bản từ [ Phòng thí nghiệm ], và bản quyền thuộc về tác giả gốc [clabby]. Nếu bạn có bất kỳ ý kiến ​​nào về việc sao chép, vui lòng liên hệ với nhóm Học viện Gate (gatelearn@gate.io),và nhóm sẽ xử lý nó ngay khi có thể theo các quy trình liên quan.
  2. Tuyên bố từ chối trách nhiệm: Các quan điểm và ý kiến được thể hiện trong bài viết này chỉ đại diện cho quan điểm cá nhân của tác giả và không cấu thành bất kỳ lời khuyên đầu tư nào.
  3. Các bài viết trong các ngôn ngữ khác được dịch bởi nhóm Gate Learn, và các bài viết đã dịch có thể không được sao chép, phân phối, hoặc sao chép mà không đề cập đến Gate.io.
Начните торговать сейчас
Зарегистрируйтесь сейчас и получите ваучер на
$100
!