개요
Block-Sena은 케이스 구매, 라운드 잠금, 실행 및 상품이 포함된 on-chain 복권입니다. 분배기는 블록체인에 기록됩니다. 경우는 2단계로 간단하게 사용합니다. blockSenaPauseDraw (라운드를 잠그고 약속을 기록합니다) 그리고 blockSenaDrawPay (공개, 추첨 및 지불).
목표
매 라운드마다 투명한 지급 규칙을 통해 감사 가능하고 재현 가능한 프로세스를 보장합니다.
감사 가능성
누구나 입력(커밋, 솔트, 대상 블록), 시드 계산, 추첨 번호, 정산 이벤트를 확인할 수 있습니다.
커밋-공개(2단계)
기능 blockSenaPauseDraw(usdValuePoolSnapshot, commitHash) 라운드를 잠급니다 신규 구매시에는 미래의 타겟 블록을 설정하고 비밀솔트만 저장합니다. 해시시.
기능 blockSenaDrawPay(소금) 그것을 검증한다 keccak256(salt) == commitHash, 대상 블록을 사용합니다. 블록해시, 6개의 고유번호를 생성하고 지급을 실행합니다.
그만큼 블록해시 ~256개 블록까지만 읽을 수 있습니다. 다음번에 반품이 필요합니다. 활동구성원입니다. 이 부분은 on-chain 시간만큼만 사용할 수 있는 보안 장치이며 모든 사용은 on-chain 표시 상태로 유지됩니다.
소금에 대한 헌신
대상 블록
그리기 흉함(21:00 UTC -> +5 블록 -> DrawPay)
Block-Sena 작업은 그냥 쉽게 구성됩니다. 티켓 마감 ~에서 6개의 숫자 생성. 이러한 분리로 인해 티켓 구매 위험이 제거됩니다. 결과가 알려진 후 또는 추첨된 숫자에 맞게 티켓을 조정하려고 하는 경우.
기능 blockSenaPauseDraw(usdValuePoolSnapshot, commitHash) 라운드를 잠그고, 신규 구매를 차단하고, 커밋해시, 정의 targetBlock = 블록.번호 + 5, 풀스냅샷을 USD로 기록해봤습니다.
후에 PauseDraw, 새로운 티켓은 해당 라운드에 참가할 수 없습니다. 그 순간, blockhash(targetBlock) 아직 존재하지 않습니다. 따라서 마지막 6개 숫자는 아직 예측하거나 계산할 수 없습니다.
기능 blockSenaDrawPay(소금) 커밋에 대해 솔트를 검증하고, 타겟 블록을 읽습니다 블록해시, 6개의 고유한 포스틱을 생성하고 실행합니다. 가격을 확인하세요. 대상 블록 이전에 소니는 on-chain을(를) 있습니다.
누구나 탐색기에서 확인할 수 있습니다. blockSenaPauseDraw 텍사스, 타겟블록, blockSenaDrawPay 텍사스, 소금 공개, 추첨번호, 정산/지급 이벤트 등을 제공합니다.
그것은 불가능하다 라운드 번호 6개를 확인한 후 티켓을 구매하고, 라운드가 이미 잠겨 있었기 때문에 blockSenaPauseDraw 추첨이 실행되기 전.
그것은 불가능하다 공식이 다르기 때문에 잠금 시간에 6개의 숫자를 알아야 합니다. 미래의 블록(타겟블록) 그 순간에는 아직 존재하지 않습니다.
그것은 불가능하다 기술 시간 이전에 추첨을 실행해야 하기 때문입니다. blockSenaDrawPay 현재 블록이 이미 다음 블록을 지나거나 on-chain이 필요합니다. 타겟블록.
blockSenaResetDraw 가는 것을 멈추는 것을 방지하기만 하면 됩니다. 복원된 오류가 발생하는 경우(예: RPC 중단, 서비스 유지 관리, 네트워크/인프라 중단 또는 종료의 작동 문제) 및 DrawPay 실행할 수 없습니다 전에 blockhash(targetBlock) 만료됩니다.
정상적인 흐름에서 예상되는 동작은 다음과 같습니다. DrawPay 몇 블록 뒤에 PauseDraw (대상 +5 블록). 재설정은 활성 보호 장치입니다. 일반적인 드로우 흐름의 일부가 아닙니다.
수학적 추첨 공식(6개의 고유 숫자)
추첨 시드는 미래 블록, 커밋된 솔트 및 라운드 데이터의 조합에서 파생됩니다. 이로부터 계약은 1부터 30까지의 숫자를 생성하고 6개의 고유 숫자에 도달할 때까지 중복된 숫자를 버립니다.
운영 보안 측면에서: 티켓이 이미 PauseDraw 미래 블록이 존재하기 전에는 추첨을 "제작"할 수 없습니다. 나중에 삽입된 티켓과 일치하도록 하며 이후에는 누구도 같은 라운드에 베팅할 수 없습니다. 결과를 아는 것.
시드 그리기
각 번호의 생성
이 절차는 최종 결과에서 숫자가 반복되는 것을 방지하고 유효한 범위 내에서 추첨을 유지합니다. 1..30.
다중 선택 티켓(6~10개 번호) 및 조합 할당량
Block-Sena에서 다음을 삽입할 수 있습니다. 6~10개의 숫자. 이 티켓은 여러 가지를 나타냅니다. 6개의 숫자를 동일하게 조합한 것입니다. 상금 계산은 다음을 기준으로 합니다. 할당량 획득 (조합), 단지 "사람"이 아닙니다.
k개 숫자가 포함된 총 구성
계층별 획득 할당량(4/5/6)
티켓을 고려해보세요 케이 숫자와 엑스 추첨된 6개의 숫자 내에서 일치합니다.
예(10개 안에 추첨번호 6개가 포함된 10개 번호 티켓)
q6 = 1, q5 = 24, q4 = 90. 동일한 티켓으로 3개 등급 모두에서 동시에 당첨될 수 있습니다.
다중 토큰 지급(토큰별 정산)
각 풀 내용(예: 기본, USDC, USDT)은 참여로 정산됩니다. 계약을 체결하지 않고 승리자를 떠나고 있습니다. 그리고 기록을 유지합니다. RoundTokenStats.
계층 분할
우승 할당량 당 상금
당첨자가 없는 경우
해당 부분의 금액은 손실되지 않습니다. 다음 업무의 업무에 대해 carry-over이입니다.
당첨자가 다수인 경우
상금은 우승 할당량에 따라 나누어집니다. 동일한 지갑은 토큰당 단일 지불로 집계된 여러 할당량을 받을 수 있습니다.
라운드 감사 방법(단계별)
- 찾기 blockSenaPauseDraw tx를 보고 참고하세요 커밋해시 그리고 타겟블록.
- 대상 블록 다음에 다음을 찾으십시오. blockSenaDrawPay tx를 전송하고 내용을 보내주시기 바랍니다. 소금.
- 재계산 케짝256(소금) 일치하는지 확인하세요. 커밋해시.
- 읽다 blockhash(targetBlock) 탐험가와 prevrandao tx 블록에서 그리기.
- 시드 및 6자리 생성 루틴(중복 항목 삭제)을 재현하고 다음과 비교합니다. 그리기가 실행됨.
- 드물게 작동 오류가 발생한 경우 검사하십시오. DrawReset (roundId, targetBlock, Reset block)을 사용하여 시간 초과를 확인하고 추적하는 구성원입니다.
- 확인하다 RoundTokenSettled 풀, 분리별 지급 및 의미별 carry-over에 대한 이벤트입니다.
- 찾아내는 사람에게 지불을 확인하려면 기본/ERC20 전송을 확인하세요.
보증, 투명성 및 운영 제한
Block-Sena은 작업 결과가 다음과 같이 만들기를 수행합니다. 감사 가능하고 재현 가능하며 투명합니다.. 미래 블록과 결합된 커밋-공개는 수동 결과 조작 가능성을 크게 줄입니다.
기술적인 측면에서 모델이 결과를 만들어냅니다. 잠금 시간에는 예측할 수 없음, 라운드가 종료되기 전에 blockhash(targetBlock) 씨앗에 사용되는 것이 존재합니다. 이렇게 하면 결과에 따라 나중에 베팅하는 것을 허용하지 않고 공식을 공개하고 감사할 수 있게 유지됩니다.
on-chain
추첨 규칙, 할당량 계산, 계층 지급 분할(80/15/5), 토큰별 내역, 이벤트 및 각 단계의 추적 가능성.
비상작전
해당 영역(예: 다음으로 관련 블록해시 종료)에 대한 그리기 기초 기능이 있습니다. 해야 할 일/네트워크 장애). 라운드가의 잠긴 상태에서 on-chain 시간 초과만 종료될 수 있습니다. 모든 사용은 표시되고 on-chain로 기록을 위해 감사할 수 있습니다.
재설정은 자금 이동, 티켓 삭제 또는 풀 변경을 수행하지 않습니다. 라운드 주기만 잠금 해제하여 허용합니다. 새로운 무승부 시도 같은 라운드 드문 실패 시나리오에서.
상금은 전투가 있는 사람에게 자동으로 지급될 때 계약에 남아 있습니다. 본인이 없는 경우 반대 반대에서는 다음 라운드에서 carry-over으로 유지됩니다. 어머니는 없습니다. 특별한 금이 풀려 포함된 자금을 인출합니다.
그만큼 rescueAll 기능은 구조를 위해서만 존재합니다. 미계상 잉여 (예: 실수로 직접 이체), 계산 실제 잔액 - 계정 풀. 닿지 않는다 상금은 이미 풀에 반영되었습니다.
즉, Block-Sena은 맹목적인 신뢰를 요구하지 않습니다. 관측할 수 있는 기회를 전달하며, 소수의 on-chain을 수학적으로 공유하고 검증할 수 있습니다.