Kiểm tra

Bảo mật

Ai có thể thay đổi gì trong dự án, số ngẫu nhiên đến từ đâu và những rủi ro nào còn lại. Bảng trên cùng được đọc thẳng từ mạng, không phải vẽ tay.

Hiện đang ghi gì trên mạng

Đang đọc dữ liệu…

Mã mở, ẩn danh và quyền riêng tư

Mã nguồn mở

Toàn bộ dự án (hợp đồng, trang web, script khởi chạy, bài kiểm thử) mở theo giấy phép MIT. Bạn có thể đọc mã. Việc build hợp đồng bằng lệnh anchor build chưa được kiểm tra (xem “Trạng thái”); sau khi khởi chạy, bạn sẽ có thể tự build chương trình và so sánh với bản đang chạy trên mạng. Cách kiểm tra điều này

Liên kết tới kho mã sẽ xuất hiện ở đây và ở chân trang ngay sau khi công bố.

Dự án ẩn danh

Tên và pháp nhân không được tiết lộ, còn người chơi không cần tên, email, số điện thoại hay hộ chiếu. Chỉ cần có ví. Quy tắc được ghi trong hợp đồng và ai cũng đọc được. Mặt trái của tính ẩn danh

Rút không cần giấy tờ

Hợp đồng tự chuyển token về ví của bạn chỉ với một chữ ký. Theo mã của hợp đồng, không có giấy tờ, biểu mẫu, xác minh danh tính (KYC), đơn yêu cầu hay phê duyệt thủ công. Đây là đặc tính của hợp đồng, không phải sự cho phép vi phạm pháp luật nước bạn: bạn tự chịu trách nhiệm tuân thủ (điều khoản). Cách rút

Trang web chính thức: fairdrum.to

Trang web minh bạch và ẩn danh: không đăng nhập hay tài khoản, không cookie, phân tích, bộ đếm hay script quảng cáo. Phông chữ và script do chính trang web cung cấp, các cài đặt (giao diện, lịch sử lượt quay trên thiết bị này) chỉ được lưu trong trình duyệt của bạn, còn mã của trang web là mã mở nên tất cả những điều này đều kiểm tra được. Hãy đối chiếu địa chỉ trên thanh trình duyệt: chỉ khác một chữ cái thôi cũng không phải trang web chính thức.

Trang web biết gì và ai thấy hành động của bạn

Hạng mụcCách vận hành
Tên, email, số điện thoại, giấy tờKhông cần và không bao giờ bị hỏi: cả khi đăng ký lẫn khi rút.
Cookie, phân tích, bộ đếm, quảng cáoKhông có. Trong mã của trang web không có chúng, trang cũng không tải script hay phông chữ từ bên ngoài.
Những gì được lưu trong trình duyệt của bạnGiao diện, chế độ vòng quay, âm thanh và hiệu ứng (nếu bạn bật), lịch sử lượt quay trên thiết bị này, ví bạn từng kết nối, địa chỉ tài khoản ngẫu nhiên phục vụ kỹ thuật. Tất cả nằm lại trên thiết bị của bạn và không được gửi đi đâu.
Trang web liên lạc với aiVới một nút mạng Solana (RPC): nút này đọc dữ liệu trò chơi và nhận các giao dịch của bạn. Trong lúc quay còn liên lạc với oracle Switchboard. Các dịch vụ này thấy địa chỉ IP và địa chỉ ví của bạn, như mọi nút mạng khác.
Những gì công khai trên blockchainĐịa chỉ của bạn, số hiệu người chơi, số dư, các lượt quay, tiền thắng và các lần rút: ai cũng xem được. Địa chỉ vẫn là bí danh, không có sự ẩn danh tuyệt đối. Nếu địa chỉ từng gắn với danh tính của bạn (ví dụ SOL đến từ sàn nơi bạn đã xác minh), mối liên hệ có thể bị lần ra.

Tính ẩn danh của dự án và người chơi không tuyệt đối và có mặt trái: dự án không có pháp nhân để khiếu nại. Điều này được mô tả trong “Rủi ro”.

Các khóa và những gì chúng làm được

KhóaLàm được gìKhông làm được gì
Quyền cập nhật chương trìnhTải lên phiên bản mã mới của hợp đồng.Không thể trực tiếp lấy token, nhưng về nguyên tắc một phiên bản mã mới có thể làm điều đó. Vì vậy theo kế hoạch khởi chạy, khóa trước tiên được chuyển cho multisig có độ trễ, rồi bị thu hồi; trạng thái hiện tại hiển thị trong bảng này.
Phát hành token (mint)Không gì cả: theo kế hoạch khởi chạy, bị thu hồi ngay sau khi phát hành.Tạo token mới.
Đóng băng (freeze)Không gì cả: chưa từng được cấp.Đóng băng token của bất kỳ ai.
Quản trị viên (dev_authority)Nhận 10% các lượt quay đã tích lũy (claim_dev).Thay đổi quy tắc, lấy số dư của người chơi, giải thưởng, jackpot, quỹ hoạt động.
Quảng bá (promo_authority)Chi trả từ quỹ quảng bá (promo_pay).Mọi thứ còn lại.
Trình tự chuyển giao quyền cập nhật.

1) lúc khởi đầu thuộc về người triển khai; 2) trước khi khởi chạy trên mạng chính được chuyển cho multisig (Squads) với độ trễ cho mọi cập nhật, để người chơi thấy trước thay đổi; 3) khi dự án đã ổn định, quyền bị thu hồi vĩnh viễn, mã bị đóng băng. Bước hiện tại xem trong bảng ở trên.

Số ngẫu nhiên từ đâu

Hợp đồng không tự nghĩ ra số ngẫu nhiên và không lấy nó từ dự án. Trò chơi dùng Switchboard On-Demand: tiền cược được chốt trong một giao dịch (hợp đồng ghi nhớ số block), còn con số do oracle tiết lộ sau đó và gắn với hash của block chưa tồn tại tại thời điểm đặt cược. Chừng nào oracle hoạt động trung thực, không thể chọn hay đoán trước giá trị này. Niềm tin vào Switchboard vẫn cần có: đây là một phụ thuộc bên ngoài.

Từ một giá trị 32 byte, hợp đồng tạo ra số lượng con số cần thiết qua sha256, và người chơi không thể tác động lên nó. Hợp đồng chỉ chấp nhận các tài khoản ngẫu nhiên thuộc sở hữu của chương trình Switchboard (không có bước kiểm tra này thì bất kỳ ai cũng có thể tráo vào tài khoản của mình với giá trị mong muốn).

Nếu oracle không hoạt động, các lượt quay đứng lại, và tiền cược của lượt quay bị đóng sau 3.000 block không được hoàn lại.

Những điều hợp đồng hoàn toàn không làm được

Thay đổi xác suất

Mọi con số đều là hằng số trong mã. Con số mới chỉ có thể xuất hiện trong phiên bản chương trình mới, mà việc đó thấy được qua giao dịch cập nhật.

Lấy số dư trong game

Không có lệnh “lấy của người chơi”. Số dư chỉ đi về phía bạn khi rút và vào tiền cược khi quay.

Phát hành thêm token

Theo kế hoạch khởi chạy, quyền phát hành bị thu hồi. Sau đó tổng cung 100 tỷ chỉ có thể giảm do đốt.

Trả thưởng hai lần

Mỗi lượt quay chỉ được đóng một lần. Tính an toàn của token (tổng các quỹ và số dư không vượt quá số nằm trong kho) được các bài kiểm thử tự động xác nhận trên các kịch bản nhiều người chơi và gói 1000 lượt quay.

Những rủi ro còn lại

  • Lỗi trong mã. Hợp đồng được phủ bằng kiểm thử, nhưng chưa qua kiểm toán độc lập (xem “Trạng thái dự án”). Một lỗi không bị phát hiện có thể dẫn đến mất tiền.
  • Cập nhật chương trình. Chừng nào quyền cập nhật chưa bị thu hồi, quản trị viên (hoặc multisig) về lý thuyết có thể phát hành phiên bản với quy tắc khác. Hãy theo dõi bảng ở trên.
  • Oracle và mạng. Sự cố Switchboard hoặc quá tải Solana làm chậm lượt quay; tiền cược khi sự cố kéo dài (quá ~20 phút) mất không được hoàn. Việc không hoàn là có chủ đích: nếu không, người ta có thể nhìn trước kết quả rồi từ chối lượt thua.
  • Token của quản trị viên ngoài hợp đồng. Marketing và dự trữ (tổng cộng khoảng 30% tổng cung) không bị khóa trong hợp đồng, phần của nhà phát triển (10%) nằm trong vesting ở dịch vụ bên ngoài. Vesting: chưa có liên kết; khóa thanh khoản: chưa có liên kết; multisig của quản trị viên: chưa có liên kết. Nếu chưa có liên kết, hãy coi là điều này tạm thời chưa kiểm tra được.
  • Quỹ quảng bá. Khóa promo_authority có thể gửi số đã tích lũy trong quỹ tới bất kỳ địa chỉ nào. Mỗi khoản chi đều công khai (sự kiện PromoPaid), nhưng hợp đồng không kiểm tra tiền được chi vào việc gì.
  • Lượt quay miễn phí và đa tài khoản. Trong trò chơi không có và không thể có bước kiểm tra “đây là người thật”: một người có thể đăng ký nhiều ví và nhận lượt quay miễn phí từ mỗi ví. Mức chi bị giới hạn bởi kích thước quỹ hoạt động, nhưng từ quỹ có thể bị rút ra một phần đáng kể.
  • Các hũ lớn. Hũ jackpot càng lớn so với mức thường, mức hoàn trả kỳ vọng trên mỗi lượt quay càng cao; khi rất lớn, nó có thể vượt 100%. Mọi jackpot lũy tiến đều như vậy, người chơi sành sỏi tìm đến vì các hũ lớn.
  • Tốc độ mạng. Mọi lượt quay đều đi qua một tài khoản chung của hợp đồng, nên lúc cao điểm hàng đợi có thể dài ra. Điều này làm chậm trò chơi nhưng không thay đổi kết quả.
  • Trang web không phải là hợp đồng. Địa chỉ trang web có thể thay đổi hoặc biến mất; hợp đồng khi đó vẫn nằm trên mạng và có thể làm việc trực tiếp với nó qua bất kỳ ứng dụng khách tương thích nào.
  • Quản trị viên ẩn danh. Tên và pháp nhân không được tiết lộ: nếu có chuyện, không thể khiếu nại hay đòi lại tiền qua tòa án hoặc bộ phận hỗ trợ. Thứ duy nhất bảo vệ bạn là những gì ghi trong hợp đồng và có thể tự kiểm tra.
  • Pháp luật. Cờ bạc ở nhiều nước bị hạn chế hoặc cấm. Đây là trách nhiệm của bạn.
  • Đây là trò chơi may rủi. Trung bình người chơi mất một phần tiền cược.

Cách tự kiểm tra

  1. Mở địa chỉ chương trình trong trình khám phá (Solscan, Solana Explorer) và tìm trường Upgrade Authority: nếu trống, mã đã bị đóng băng.
  2. Mở token: các trường Mint Authority và Freeze Authority phải trống.
  3. Mở tài khoản config của chương trình và đối chiếu với trang “Kinh tế” các khoản trong hũ, số lượt quay và số đã đốt.
  4. Build hợp đồng từ mã mở (anchor build --verifiable) và so sánh hash với bản trên mạng (solana-verify).