EOS파워볼의 결과는 특정 블록높이에서 생성된 블록해시(Block Hash), 시드값(seed), 서명값(signature), nonce를 결합한 뒤 SHA256 해시 연산을 통해 만들어진다.
이 구조는 운영자 개입이 불가능하고, 누구나 동일한 방식으로 결과를 재현할 수 있어 공정성이 보장된다.
이 글은 블록높이와 해시값이 난수 생성 과정에서 어떤 역할을 하는지 기술적으로 완전히 설명한다.
본문
EOS파워볼의 핵심은
**온체인 RNG(Random Number Generator)**다.
그 중에서도
결과가 어떻게 만들어지는지 이해하려면
반드시 알아야 하는 두 가지 개념이 있다:
- 블록높이(Block Height)
- 블록해시(Block Hash)
이 두 요소는
난수를 결정하는 가장 중요한 엔트로피이며
결과의 무작위성과 공정성을 완성시키는 핵심 구조다.
🔵 1. 블록높이(Block Height)란?
블록체인은 다음과 같은 구조를 가진다.
- 블록 0 (제네시스 블록)
- 블록 1
- 블록 2
- 블록 3
- …
- 블록 N
여기서 블록높이 = 현재 블록 번호를 의미한다.
예시:
블록높이 325,548 → “325,548번째 블록”
✔ 블록높이가 중요한 이유
파워볼 회차가 종료될 때
결과 생성에 사용되는 블록은
정확한 블록높이 기준으로 결정되기 때문이다.
예를 들어:
- 12:00 회차 → 블록높이 345,982
- 12:01 회차 → 블록높이 345,983
이렇게 매 회차마다 다른 블록에서 값이 나오기 때문에
절대 예측할 수 없다.
🔵 2. 블록해시(Block Hash)란?

블록해시는
각 블록을 대표하는 유일한 64자리 해시값이다.
예시:
002fae9413c9cb25b1dd0a0e8e...
이 해시는 아래와 같은 값들이 결합돼 만들어진다:
- 이전 블록해시
- 트랜잭션 머클루트
- 블록 생성 시간
- 노드 서명값
- 블록 프로듀서 정보
즉,
블록이 생성되기 전까지 누구도 예측할 수 없는 값이다.
🔵 3. 블록높이 + 블록해시 = 난수 엔트로피의 핵심
난수 생성 공식에서
가장 중요한 엔트로피는 다음 두 가지다.
- Block Height → 어떤 블록을 사용할지 결정
- Block Hash → 해당 블록의 핵심 엔트로피
이 두 가지 덕분에:
✔ 결과가 사전에 예측 불가능
✔ 외부 조작 불가능
✔ 운영자 개입 불가능
이라는 구조가 완성된다.
🔵 4. EOS RNG에서 사용되는 4대 엔트로피
EOS파워볼 난수는 한 가지 요소로 만들어지지 않는다.
다음 네 가지가 결합된 후 해시 연산이 들어간다.
| 엔트로피 요소 | 설명 |
|---|---|
| block_id (블록해시) | 해당 블록의 핵심 해시값 |
| signature (서명값) | 노드가 블록 생성 시 만드는 고유 값 |
| seed | 회차별 고유 입력값 |
| nonce | 매 회차 증가하는 숫자 |
이 값들은 모두 매 회차마다 다르게 생성된다.
즉,
👉 “이전 회차 데이터로 다음 회차 예측하는 것이 절대 불가능한 구조”
🔵 5. EOS파워볼 실제 난수 생성 공식
EOS 기반 RNG는 다음과 같은 구조로 계산된다.
raw = SHA256(block_id + signature + seed + nonce)
result = int(raw, 16) % 100
이 공식이 가진 특징:
- 입력값이 모두 회차마다 변경
- 블록해시가 예측 불가능
- 서명값이 노드 내부에서 생성
- seed/nonce가 컨트랙트 상태에 따라 자동 변화
- SHA256은 단방향성(역연산 불가능)
이 5가지가 결합돼
예측 불가 + 조작 불가 + 재현 가능이 성립한다.
🔵 6. 블록높이·블록해시가 공정성에서 중요한 이유
✔ 운영자가 개입할 수 없음
블록 생성은 EOS 네트워크가 담당한다.
운영자가 블록높이를 고정하거나
블록해시를 수정하는 것은 불가능하다.
✔ 회차마다 블록이 달라진다
→ 반복 불가
→ 패턴 없음
→ 예측 불가
✔ 모든 데이터가 온체인에 기록된다
→ 누구나 검증 가능
→ 결과 재현 가능
이 구조는 서버형 RNG와 가장 큰 차이점이다.
🔵 7. 왜 “해시값”이 흐름을 결정하는가?
SHA256 해시는
입력값이 1바이트만 바뀌어도
완전히 새로운 해시값을 만들기 때문에
결과가 완전 독립적이다.
예시:
block_id: A → raw_hash: F92AC...
block_id: B → raw_hash: 09BB1...
이런 식으로
입력값이 조금만 달라져도 완전히 다른 결과가 나온다.
따라서:
- “쏠림 패턴”
- “반복 패턴”
- “규칙적 흐름”
은 통계적으로 보이는 착시일 뿐
난수 구조 안에는 존재하지 않는다.
🔵 8. 왜 블록높이를 고정할 수 없는가?
EOS 블록 생성은 약 0.5초~1초 간격으로 이루어진다.
이 말은:
- 회차별로 전혀 다른 블록에 매핑
- 블록높이를 예측할 수 없음
- 블록해시를 미리 볼 수 없음
즉,
미래 블록을 참고하여 결과를 미리 예측하는 것은 불가능하다.
🔵 9. 결론
EOS파워볼 결과는 블록높이 + 해시값 조합으로 100% 공정하게 생성된다

정리하면:
✔ 블록높이는 회차별로 달라짐
✔ 블록해시는 생성 전까지 누구도 모름
✔ seed/nonce/signature가 모두 고유함
✔ SHA256 해시 구조로 역연산 불가능
✔ 결과는 완전히 무작위
✔ 단, 모든 과정이 온체인 기록 → 검증 100% 가능
즉,
👉 EOS파워볼은 “예측 불가능 + 조작 불가능 + 검증 가능”이라는 완전한 난수 생성 구조를 가진다.
