LOTTO 6/45 DATA LAB
발급 기록 증명 원리

발급 기록 증명 원리

"우리가 추천한 번호가 당첨됐다"는 주장은 추첨 후에는 누구나 할 수 있다. 데이터베이스는 운영자가 고칠 수 있고 스크린샷은 위조된다. 자기 서버에 있는 기록은 증거가 아니다. 그래서 이 사이트는 추첨 전에 발급 기록을 잠근다.

절차

토 20:00  발급 마감. 이후 발급은 자동으로 다음 회차로 넘어간다.
토 20:02  그 회차 전체 발급 기록을 머클 트리로 묶어 루트 해시 1개를 만든다.
          루트 + 총 발급 수 N을 GitHub에 커밋한다. (추첨 전)
토 20:35  추첨.
일 00:00  전체 원장을 공개한다. 누구나 루트를 재계산해 대조할 수 있다.

해시 규격

리프      SHA-256("회차|발급번호|n1-n2-n3-n4-n5-n6|ISO8601")
내부 노드 SHA-256(왼쪽바이트 || 오른쪽바이트)
홀수 개   마지막 노드를 자기 자신과 페어링
정렬      발급번호 오름차순

리프 하나만 바뀌어도 루트 전체가 달라진다. 따라서 추첨 후에 번호를 끼워 넣거나 기록을 지우면 즉시 드러난다.

왜 총 발급 수 N을 함께 공개하는가

이것이 이 구조의 급소다. 운영자가 몰래 815만 세트를 만들어 루트만 커밋하면 1등 조합은 자동으로 그 안에 포함된다. 추첨 후 그 하나만 보여주면 머클 증명은 전부 통과한다. 암호학적으로는 완벽하지만 완전한 사기다.

N을 함께 공개하면 이 속임수가 불가능해진다. N이 주어지면 누구나 다음을 계산할 수 있기 때문이다.

총 발급 N1등 포함 확률해석
5,0000.061%나오면 실제 사건
100,0001.2%드묾
1,000,00012.3%흔한 일
8,145,06063.2%의미 없음

그래서 이 사이트는 실적을 반드시 기대치와 함께 표기한다. "3등 1건 적중"이 아니라 "3등 1건 / 기대 0.349건"이라고 쓴다. N이 커질수록 우리 주장의 가치가 떨어지므로, 발급량을 부풀릴 동기 자체가 사라진다.

직접 검증

검증 페이지에서 원장 파일을 올리면 루트를 처음부터 다시 계산한다. 계산은 전부 방문자 브라우저에서 일어나며 우리 서버를 거치지 않는다. 우리를 믿을 필요가 없어야 진짜 증거다.

고지