[00] — Bộ máy RNG Công bằng có thể chứng minh · Trên chuỗi

Tính ngẫu nhiên không nên bị thao túng

Giải thích bằng toán học và cơ chế về cách bộ máy onetappy bảo đảm tính ngẫu nhiên, và vì sao kiến trúc mới mang lại mô hình bảo mật vượt trội so với cam kết băm truyền thống.

∞+2
Lớp trộn nguồn entropy
50%
Giảm tương tác
0
Phụ thuộc tập trung
Bản ghi có thể kiểm chứng

[01] — Ba thách thức cốt lõi

[1]

Khả năng dự đoán và thao túng

Dữ liệu trên chuỗi như block hash và timestamp có thể được miner hoặc validator quan sát trước khi khối được tạo ra. Kẻ tấn công có thể xây dựng mô hình dự đoán để tính phân phối xác suất trước khi số ngẫu nhiên được chốt. Đồng thời, miner hoặc validator có thể chọn bỏ các khối bất lợi và chỉ công bố block hash có lợi cho họ, từ đó ảnh hưởng trực tiếp đến kết quả ngẫu nhiên cuối cùng.

[2]

Độ phức tạp tương tác và độ trễ tích lũy

Commit-Reveal truyền thống yêu cầu mỗi người tham gia thực hiện hai thao tác trên chuỗi (Commit và Reveal), nên độ phức tạp giao tiếp và số vòng tương tác tăng tuyến tính theo số lượng người tham gia. Ngoài ra, việc sinh số ngẫu nhiên phải chờ nhiều chu kỳ block để hoàn tất giai đoạn commit và reveal; tổng thời gian tăng theo số người tham gia và thời gian xác nhận mạng, làm giảm hiệu năng thời gian thực.

[3]

Tấn công hậu thủ

Trong giao thức Commit-Reveal truyền thống, kẻ tấn công sau khi quan sát cam kết của những người tham gia khác có thể lựa chọn có reveal số ngẫu nhiên của mình hay không, lợi dụng bất cân xứng thông tin để giành lợi thế chiến lược.

[02] — Commit-Reveal cũ · Nguyên nhân gốc rễ

Vì sao cần 2 thao tác?

Cách tiếp cận truyền thống có hai giai đoạn: giai đoạn một gửi hash(secret), giai đoạn hai gửi chính secret.

Giao thức không thể kết hợp nguyên tử giữa "cam kết" và "ràng buộc danh tính" trong một giao dịch duy nhất, nên bắt buộc phải tách thành hai bước. Khoảng chờ giữa hai giai đoạn chính là nguyên nhân gốc rễ của tấn công hậu thủ.

Dòng thời gian tấn công hậu thủ
T+0 Alice Gửi hàm băm cam kết, hiển thị công khai trên chuỗi
T+1 Bob Quan sát cam kết của Alice, phân tích không gian secret có thể có
T+2 Alice Reveal secret gốc
T+3 Bob Dựa trên kết quả đã biết, chọn hành động tối ưu hoặc rút lui ← Lợi thế thông tin

[03] — Bộ máy mới · Nguyên lý cốt lõi

Giải quyết khả năng dự đoán và thao túng như thế nào?

Lớp trộn nguồn entropy ∞+2

Onetappy áp dụng cơ chế sinh số ngẫu nhiên bằng cách trộn đóng góp ngẫu nhiên từ nhiều bên với dữ liệu trên chuỗi.
Số ngẫu nhiên cuối cùng không đến từ một nguồn duy nhất trên chuỗi; thay vào đó nó được đồng tạo bởi các nguồn entropy độc lập sau:
Đóng góp ngẫu nhiên từ N người chơi tham gia
Dữ liệu trên chuỗi của block hiện tại +1
Số ngẫu nhiên do đối tác gửi khi khởi tạo đợt mua chung +2

Tất cả nguồn entropy được trộn và tính toán theo từng lớp dựa trên các quy tắc định sẵn để tạo ra số ngẫu nhiên cuối cùng.

Quy trình tính toán cơ bản

  const R1 = keccak256(block_data || player1_random);
  const R2 = keccak256(R1 || block_data || player2_random);

  // ...
  
  const Rn = keccak256(Rn-1 || block_data || playerN_random);
  const R_final = keccak256(Rn || block_data || organizer_random);

Giải quyết độ phức tạp tương tác và độ trễ tích lũy như thế nào?

player one tappy Commit

Onetappy giới thiệu một mô hình cải tiến chia người tham gia thành hai vai trò: partnersplayers:

Đối tác gửi cam kết số ngẫu nhiên của họ trước; người chơi chỉ cần gửi số ngẫu nhiên một lần và không cần thao tác reveal. Cuối cùng, đối tác reveal số ngẫu nhiên và tạo ra kết quả cuối cùng.

Số thao tác của người chơi được giảm từ hai xuống một. Độ trễ tích lũy của giai đoạn reveal truyền thống được loại bỏ. Số vòng tương tác, độ trễ giao tiếp và mức tiêu thụ Gas đều giảm đáng kể.

Tổng quan quy trình

  Commit của nhà tổ chức

  Commit của người chơi

 【Người chơi không còn cần Reveal】

  Reveal của nhà tổ chức

  Sinh ra số ngẫu nhiên cuối cùng

Ngăn chặn tấn công hậu thủ như thế nào?

Một đối tác với tài sản thế chấp giá trị cao

Onetappy nâng chi phí để kẻ tấn công trục lợi thông qua việc chọn lọc reveal số ngẫu nhiên lên rất cao bằng cách đưa vào các hình phạt kinh tế và trách nhiệm rõ ràng, khiến hành vi thao túng trở nên không khả thi về mặt kinh tế và giảm thiểu hiệu quả vấn đề tấn công hậu thủ trong giao thức Commit-Reveal truyền thống.

Phân tích động lực kinh tế và bảo mật:
Gọi 𝐺 là lợi ích tiềm năng tối đa mà kẻ tấn công có thể đạt được thông qua việc chọn lọc reveal số ngẫu nhiên, và khoản ký quỹ bảo mật mà đối tác phải thế chấp trước khi tham gia vào thỏa thuận là 𝐷.
Trong thiết kế giao thức, hệ thống yêu cầu:

𝐷≥𝐺

Tức là tài sản thế chấp của đối tác không được nhỏ hơn lợi ích tối đa mà họ có thể đạt được thông qua thao túng số ngẫu nhiên.
Khi một đối tác cố thực hiện tấn công hậu thủ bằng cách từ chối reveal số ngẫu nhiên hoặc can thiệp vào quá trình quay, cơ chế phạt của giao thức sẽ được kích hoạt và toàn bộ tài sản thế chấp 𝐷 sẽ bị tịch thu. Vì vậy, lợi nhuận kỳ vọng của kẻ tấn công là:

𝐸=𝐺−𝐷

Dưới điều kiện 𝐷≥𝐺:

𝐸≤0

Nghĩa là một cuộc tấn công sẽ không đem lại lợi nhuận kinh tế dương. Sau khi cân nhắc lợi ích và rủi ro, những người tham gia hành xử hợp lý sẽ chọn tuân theo quy tắc của giao thức và hoàn thành quá trình reveal số ngẫu nhiên cũng như quay thưởng.

Giải thích cơ chế chi tiết

  1. Giới thiệu đối tác
  Mỗi vòng hoạt động mua chung sẽ chỉ định một đối tác, 
  người chịu trách nhiệm tham gia vào quá trình tạo số ngẫu nhiên 
  và hoàn tất lần mở thưởng cuối cùng.
  2. Thế chấp khoản ký quỹ bảo mật
  Trước khi tham gia vào quá trình tạo số ngẫu nhiên của vòng đó, 
  đối tác phải thế chấp trên chuỗi một khoản ký quỹ bảo mật giá trị cao (100%). 
  Số tiền ký quỹ phải đủ để bao phủ lợi ích thao túng tiềm năng, 
  từ đó ràng buộc hành vi của họ bằng động lực kinh tế.
  3. Ràng buộc trách nhiệm mở thưởng
  Trong giai đoạn tạo số ngẫu nhiên, đối tác phải hoàn thành 
  việc reveal số ngẫu nhiên và kích hoạt quá trình mở thưởng cuối cùng 
  theo đúng các quy tắc của giao thức.
  4. Cơ chế phạt khi vi phạm
  Nếu đối tác không hoàn tất việc reveal trong 
  khung thời gian đã chỉ định hoặc từ chối thực hiện thao tác mở thưởng, 
  hệ thống sẽ tự động kích hoạt cơ chế phạt ký quỹ 
  và tịch thu toàn bộ khoản ký quỹ đã thế chấp của họ.

  Thông qua cơ chế ràng buộc kinh tế dựa trên ký quỹ này, 
  hệ thống có thể làm giảm động cơ của người tham gia 
  trong việc cố tình trì hoãn reveal hoặc thao túng 
  số ngẫu nhiên — mà không cần thêm các giả định 
  về niềm tin — từ đó cải thiện tính công bằng tổng thể và 
  độ tin cậy của quá trình tạo số ngẫu nhiên.

Lớp trộn nguồn entropy
# Nguồn entropy Lớp nguồn Kẻ tấn công có thể kiểm soát?
01 secret của người dùng Riêng tư ngoài chuỗi Không (thuộc người dùng)
02 block_data Công khai trên chuỗi Không (cố định sau khi ra khối)
03 secret của đối tác Riêng tư ngoài chuỗi Không (thuộc đối tác)

[04] — Ma trận so sánh

Giải phápSố thao tácChống hậu thủPhi tập trungChi phí GasĐộ trễ giao tiếpChia doanh thu
Commit-Reveal truyền thống 2x Cao Cao ×
RANDAO Multi Trung bình Rất cao ×
Chainlink VRF 1x Rất cao Thấp ×
Onetappy RNG 1x Thấp Thấp