Chuyển tới nội dung chính

Xổ số công bằng Provably Fair RNG

Động cơ Provably Fair RNG Jackpot cung cấp giải pháp xổ số phi tập trung trên Prizee Raffle với tính ngẫu nhiên minh bạch, không thể làm giả và được tạo trực tiếp từ chuỗi khối blockchain.


Cơ chế ngẫu nhiên minh bạch On-Chain​

Các hình thức xổ số trực tuyến truyền thống thường phụ thuộc vào phần mềm đóng hoặc các thuật toán ngẫu nhiên (RNG) ẩn danh, đòi hỏi người tham gia phải đặt trọn niềm tin vào nhà cái. Prizee Raffle thay thế sự tin tưởng mù quáng bằng chứng cứ mã hóa.

Vòng đời của Seed quay số​

  1. Khóa cổng bán vé: Khi thời gian đếm ngược kết thúc, toàn bộ hoạt động mua vé của round đó sẽ được đóng vĩnh viễn.
  2. Cam kết Block tương lai: Giao thức thiết lập cam kết chọn một block sắp được tạo trên mạng Arc Network (không thể biết trước).
  3. Trích xuất Block Hash: Vì không một ai (kể cả thợ đào, ban quản trị hay người chơi) có thể biết trước giá trị hash của block trước khi nó được mạng lưới đồng thuận, nên block hash này là một seed ngẫu nhiên không thể can thiệp.
  4. Trích xuất số xác định: 6 con số trúng thưởng được tạo ra thông qua thuật toán công khai, cho phép bất kỳ ai cũng có thể tự chạy lại để kiểm tra tính trung thực.

Quy tắc trích xuất số trúng thưởng​

Thuật toán trích xuất số bằng cách chuyển đổi chuỗi 64 ký tự hex của block hash sang chuỗi số thập phân và đọc lần lượt các cặp 2 chữ số:

  1. Chuyển Hex sang Decimal: Block hash (ví dụ: 0x9f8b...2c4a) được chuyển thành chuỗi số nguyên thập phân.
  2. Đọc cặp 2 chữ số tuần tự: Đọc chuỗi số từ trái sang phải theo từng cặp 2 chữ số (ví dụ: 54, 45, 41, 28, 23, 08).
  3. Kiểm tra khoảng: Các cặp từ 01 đến 55 được chấp nhận. 00 và các cặp từ 56 đến 99 bị bỏ qua.
  4. Thứ tự và giá trị lặp: Các cặp hợp lệ giữ nguyên thứ tự xuất hiện. Giá trị trùng lặp vẫn được giữ cho đến khi thu thập đủ sáu giá trị.
  5. Mở rộng xác định: Nếu chuỗi thập phân ban đầu chưa có đủ sáu cặp hợp lệ, giao thức băm chuỗi hiện tại rồi tiếp tục đọc. Cùng một đầu vào luôn tạo ra cùng một kết quả.

Cơ chế tự động gán số cho vé​

Người chơi chỉ chọn số lượng vé cần mua, không tự chọn số. Với mỗi vé, backend băm một seed gồm ID người dùng, ID round và thứ tự vé của người dùng trong round đó. Sau đó hệ thống áp dụng cùng quy tắc đọc cặp hai chữ số ở trên để gán sáu giá trị. Cơ chế này tự động, có thể tái tạo để kiểm chứng và tạo dãy xác định riêng cho từng thứ tự vé.

Khi đối chiếu kết quả, hệ thống tính theo số lần xuất hiện: nếu một giá trị lặp lại, mỗi lần xuất hiện chỉ có thể khớp với một lần xuất hiện tương ứng trong dãy trúng thưởng.


Bộ giải mã Seed tương tác trên ứng dụng​

Để người chơi bình thường có thể kiểm chứng dễ dàng nhất, mỗi lượt quay số hoàn tất đều tích hợp Bộ giải mã Seed On-Chain trực quan ngay trên trang chi tiết vé:

  • Cặp số hợp lệ (Màu xanh neon): Làm nổi bật chính xác 6 cặp số trúng thưởng đã thỏa mãn điều kiện.
  • Cặp số bị loại (Màu mờ / Đỏ): Hiển thị các cặp bị bỏ qua vì là 00 hoặc lớn hơn 55.
  • Các chữ số còn lại (Màu tối): Hiển thị phần đuôi chưa dùng đến của chuỗi số thập phân sau khi đã chọn đủ 6 số.
  • Nút kiểm tra trên ArcScan: Một cú nhấp chuột đưa người chơi đến thẳng giao dịch block trên blockchain explorer.

Cơ cấu giải thưởng (một ngưỡng, chia đều)​

Jackpot không chia 70/15/8/4% theo số cặp khớp. Chỉ có một điều kiện thắng:

  1. Creator chọn số cặp tối thiểu (1–6, mặc định 6).
  2. Mọi vé khớp ít nhất số cặp đó đều thắng. Khớp ít hơn → không nhận.
  3. Các vé thắng chia đều 100% quỹ escrow. 1 vé thắng nhận cả quỹ. 3 vé thắng mỗi vé khoảng 1/3 (phần dư micro-USDC cộng cho vé thắng đầu).
  4. Hai vé của cùng một user = hai phần.
  5. Khớp nhiều cặp hơn ngưỡng không được phần lớn hơn. Vé 6 cặp và vé 2 cặp chỉ ngang nhau nếu creator đặt ngưỡng = 2.

Payout từ escrow về WALLET đã connect của từng winner.


Rolling jackpot (form tạo)​

Jackpot vẫn là một loại raffle. Form tạo không bỏ option Jackpot — chỉ bỏ Single draw + fallback.

Jackpot mới luôn là rolling_jackpot:

  1. Vé khớp ít nhất N/6 cặp (N do creator chọn, 1–6) chia jackpot.
  2. Không ai khớp thì escrow vẫn mở. Quỹ không chia hết cho một người fallback.
  3. Deadline gia hạn theo interval (24 giờ, 3 ngày, 7 ngày, hoặc số giờ tùy chọn). Vé vẫn giữ.
  4. Lần xổ sau dùng hash khối Arc mới. Lặp đến khi có vé khớp.

Round fixed_lottery cũ (xổ một lần + fallback) vẫn settle như trước; UI hiện tại không tạo được kiểu đó.