검증

보안

누가 무엇을 바꿀 수 있는지, 난수는 어디서 오는지, 어떤 위험이 남는지 설명합니다. 위의 표는 손으로 그린 것이 아니라 네트워크에서 직접 읽어 옵니다.

지금 네트워크에 기록된 것

데이터를 읽는 중…

오픈 소스, 익명성, 프라이버시

오픈 소스

프로젝트 전체(컨트랙트, 사이트, 배포 스크립트, 테스트)가 MIT 라이선스로 공개되어 있습니다. 코드를 읽을 수 있습니다. anchor build 명령으로 하는 컨트랙트 빌드는 아직 검증되지 않았습니다('상태' 참고). 출시 후에는 프로그램을 직접 빌드해 네트워크에서 동작하는 것과 비교할 수 있습니다. 확인 방법

저장소 링크는 공개 직후 이곳과 사이트 하단에 나타납니다.

익명 프로젝트

이름과 법인은 공개하지 않으며, 플레이어에게도 이름, 이메일, 전화번호, 여권이 필요 없습니다. 지갑이면 충분합니다. 규칙은 컨트랙트에 기록되어 있어 읽어 볼 수 있습니다. 익명성의 이면

서류 없는 출금

컨트랙트가 서명 한 번으로 토큰을 직접 지갑으로 보냅니다. 컨트랙트 코드에는 서류, 설문, 신원 확인(KYC), 신청서, 수동 승인이 없습니다. 이것은 컨트랙트의 속성일 뿐, 거주 국가의 법을 어겨도 된다는 허가가 아닙니다. 법을 지킬 책임은 본인에게 있습니다(약관). 출금 방법

공식 사이트: fairdrum.to

투명하고 익명적인 사이트: 로그인과 계정 없음, 쿠키·분석·카운터·광고 스크립트 없음. 글꼴과 스크립트는 사이트 자체에서 제공되고, 설정(테마, 이 기기의 스핀 기록)은 브라우저에만 저장되며, 사이트 코드가 공개되어 있어 전부 확인할 수 있습니다. 브라우저 주소창의 주소를 대조하세요. 한 글자라도 다르면 공식 사이트가 아닙니다.

사이트가 아는 것과 내 행동을 보는 사람

항목구조
이름, 이메일, 전화번호, 서류필요하지 않으며 어디서도 요구하지 않습니다. 등록할 때도, 출금할 때도요.
쿠키, 분석, 카운터, 광고없습니다. 사이트 코드에 없으며, 외부 스크립트나 글꼴도 불러오지 않습니다.
브라우저에 저장되는 것테마, 휠 표시 방식, 소리와 효과(켰다면), 이 기기의 스핀 기록, 연결했던 지갑, 난수용 보조 계정 주소. 전부 이 기기에만 남고 어디로도 전송되지 않습니다.
사이트가 통신하는 곳Solana 네트워크 노드(RPC)와 통신합니다. 게임 데이터를 읽고 트랜잭션을 받습니다. 스핀 동안에는 Switchboard 오라클과도 통신합니다. 이 서비스들은 네트워크의 모든 노드와 마찬가지로 IP 주소와 지갑 주소를 봅니다.
블록체인에 공개되는 것내 주소, 플레이어 번호, 잔액, 스핀, 당첨, 출금: 누구나 볼 수 있습니다. 주소는 가명으로 남지만 완전한 익명은 아닙니다. 주소가 신원과 연결되어 있다면(예: 신원 확인을 거친 거래소에서 SOL이 들어온 경우) 그 연결을 추적할 수 있습니다.

프로젝트와 플레이어의 익명성은 절대적이지 않으며 이면이 있습니다. 프로젝트에는 청구를 제기할 법인이 없습니다. 이에 대해서는 '위험'에 설명되어 있습니다.

키와 그 권한

키할 수 있는 것할 수 없는 것
프로그램 업데이트 권한컨트랙트 코드의 새 버전을 올릴 수 있습니다.토큰을 직접 가져갈 수는 없지만, 새 버전의 코드는 원칙적으로 그렇게 할 수 있습니다. 그래서 출시 계획에 따라 키는 먼저 지연이 걸린 멀티시그로 넘어가고 그 후 회수됩니다. 현재 상태는 이 표에 표시됩니다.
토큰 발행(mint)없음: 출시 계획에 따라 발행 직후 회수됩니다.새 토큰을 만드는 것.
동결(freeze)없음: 발급되지 않았습니다.누군가의 토큰을 동결하는 것.
관리자(dev_authority)스핀의 10%로 쌓인 몫을 가져가기(claim_dev).규칙 변경, 플레이어 잔액·상금·잭팟·활동 기금 가져가기.
홍보(promo_authority)홍보 기금에서 지급하기(promo_pay).그 외 전부.
업데이트 권한 이전 절차.

1) 출시 시점에는 디플로이어가 보유; 2) 메인넷 가동 전에 모든 업데이트에 지연이 걸리는 멀티시그(Squads)로 이전되어 플레이어가 변경을 미리 볼 수 있음; 3) 프로젝트가 안정되면 권한이 영구 회수되고 코드가 동결됨. 현재 단계는 위 표에 표시됩니다.

난수의 출처

컨트랙트는 난수를 스스로 만들지 않고 프로젝트에서 받지도 않습니다. Switchboard On-Demand를 사용합니다. 베팅은 한 트랜잭션에 고정되고(컨트랙트가 블록 번호를 기억), 값은 나중에 오라클이 공개하며 베팅 시점에는 아직 존재하지 않았던 블록의 해시에 연결됩니다. 오라클이 정직하게 동작하는 한 이 값을 미리 고르거나 예측할 수 없습니다. 다만 Switchboard에 대한 신뢰는 남습니다. 외부 의존성이기 때문입니다.

컨트랙트는 하나의 32바이트 값에서 sha256으로 필요한 만큼의 숫자를 만들어 내며, 플레이어는 이에 영향을 줄 수 없습니다. 컨트랙트는 Switchboard 프로그램이 소유한 난수 계정만 받아들입니다(이 검사가 없다면 누구나 원하는 값이 든 자기 계정을 끼워 넣을 수 있습니다).

오라클이 동작하지 않으면 스핀이 멈추며, 3,000 블록이 지난 뒤 닫힌 스핀의 베팅 금액은 돌려받지 못합니다.

컨트랙트가 아예 할 수 없는 것

확률 바꾸기

모든 수치는 코드의 상수입니다. 새 수치는 프로그램의 새 버전으로만 가능하며, 이는 업데이트 트랜잭션으로 드러납니다.

게임 잔액 가져가기

'플레이어에게서 가져가기' 명령은 없습니다. 잔액은 출금 시 본인에게, 스핀 시 베팅으로만 나갑니다.

토큰 발행

출시 계획에 따라 발행 권한은 회수됩니다. 그 후 총 발행량 100B는 소각으로 줄어들 수만 있습니다.

이중 지급

스핀은 한 번만 정산됩니다. 토큰 보존(풀과 잔액의 합이 보관소 보유량을 넘지 않음)은 다수 플레이어와 1000회 스핀 묶음 시나리오의 자동 테스트로 검증됩니다.

남아 있는 위험

  • 코드 오류. 컨트랙트는 테스트로 검증되었지만 독립 감사는 받지 않았습니다('프로젝트 상태' 참고). 발견되지 않은 오류로 자금을 잃을 수 있습니다.
  • 프로그램 업데이트. 업데이트 권한이 회수되기 전까지는 관리자(또는 멀티시그)가 이론상 다른 규칙의 버전을 배포할 수 있습니다. 위 표를 지켜보세요.
  • 오라클과 네트워크. Switchboard 장애나 Solana 혼잡은 스핀을 지연시키며, 긴 장애(약 20분 초과) 시 베팅 금액은 반환 없이 사라집니다. 반환이 없는 것은 의도된 설계입니다. 그렇지 않으면 결과를 미리 보고 진 베팅을 무를 수 있기 때문입니다.
  • 컨트랙트 밖의 관리자 토큰. 마케팅과 예비금(합쳐서 발행량의 약 30%)은 컨트랙트에 잠겨 있지 않고, 개발자 몫(10%)은 외부 서비스의 베스팅에 있습니다. 베스팅: 링크 미기재; 유동성 잠금: 링크 미기재; 관리자 멀티시그: 링크 미기재. 링크가 없다면 아직 확인할 수 없다고 보세요.
  • 홍보 기금. promo_authority 키는 기금에 쌓인 것을 아무 주소로나 보낼 수 있습니다. 모든 지급은 공개되지만(PromoPaid 이벤트) 컨트랙트는 돈이 어디에 쓰였는지 검사하지 않습니다.
  • 무료 스핀과 다중 계정. '사람인지' 확인하는 장치는 게임에 없고 있을 수도 없습니다. 한 사람이 여러 지갑을 등록해 각각 무료 스핀을 받을 수 있습니다. 지출은 활동 기금 규모로 제한되지만, 상당한 몫을 빼 갈 수 있습니다.
  • 큰 적립금. 잭팟 적립금이 평소보다 클수록 스핀당 기대 환원이 높아지며, 아주 크면 100%를 넘을 수 있습니다. 모든 프로그레시브 잭팟이 이렇게 동작하며, 노련한 플레이어는 큰 적립금을 노리고 옵니다.
  • 네트워크 속도. 모든 스핀이 컨트랙트의 공용 계정 하나를 거치므로 피크 시간에는 대기열이 길어질 수 있습니다. 게임이 느려질 뿐 결과는 달라지지 않습니다.
  • 사이트는 컨트랙트가 아닙니다. 사이트 주소는 바뀌거나 사라질 수 있습니다. 그래도 컨트랙트는 네트워크에 남으며, 호환되는 아무 클라이언트로나 직접 다룰 수 있습니다.
  • 익명의 관리자. 이름과 법인은 공개되지 않습니다. 문제가 생겨도 청구를 제기하거나 소송·고객 지원으로 돈을 돌려받을 수 없습니다. 보호 장치는 컨트랙트에 기록되어 있고 스스로 검증할 수 있는 것뿐입니다.
  • 법. 많은 나라에서 도박은 제한되거나 금지되어 있습니다. 이는 본인의 책임입니다.
  • 이것은 운에 좌우되는 게임입니다. 플레이어는 평균적으로 베팅의 일부를 잃습니다.

직접 확인하는 법

  1. 익스플로러(Solscan, Solana Explorer)에서 프로그램 주소를 열고 Upgrade Authority 필드를 찾으세요. 비어 있다면 코드는 동결된 것입니다.
  2. 토큰을 열어 보세요. Mint Authority와 Freeze Authority 필드가 비어 있어야 합니다.
  3. 프로그램의 config 계정을 열어 적립금 액수, 스핀 수, 소각량을 '경제 구조' 페이지와 대조하세요.
  4. 공개 코드로 컨트랙트를 빌드하고(anchor build --verifiable) 해시를 네트워크의 것과 비교하세요(solana-verify).