온라인 추첨에서 가장 자주 나오는 의문은 "조작한 것 아니냐"입니다. 뽑기나무는 추첨할 때마다 추첨 번호를 발급하고, 그 번호와 명단만으로 결과를 다시 계산할 수 있게 만들었습니다.
추첨 번호가 하는 일
뽑기를 누르면 브라우저의 암호학적 난수(crypto.getRandomValues)로 열 자리 추첨 번호를 만듭니다. 결과는 명단, 설정, 추첨 번호를 넣은 계산으로 정해지며, 같은 값을 넣으면 어느 기기에서든 같은 결과가 나옵니다. 사람을 섞을 때는 치우침이 없는 Fisher-Yates 방식을 씁니다.
링크로 확인하기
링크 복사로 받은 주소를 열면 링크에 담긴 명단과 추첨 번호로 결과를 다시 계산해 보여 줍니다. 저장해 둔 결과 그림을 보여 주는 것이 아니라 그 자리에서 계산하므로, 결과만 바꾼 링크는 만들 수 없습니다.
링크가 증명하지 못하는 것
링크는 이 명단과 번호의 결과가 이것이라는 사실을 보여 줄 뿐입니다. 추첨을 맡은 사람이 여러 번 뽑은 뒤 마음에 드는 결과만 공유했는지는 알 수 없고, 뽑은 시각도 뽑은 사람의 기기 시각입니다. 공유받은 링크를 믿을 수 있는지는 누가 보냈는지에도 달려 있습니다.
더 엄격하게 하는 방법
결과를 놓고 다툼이 있을 수 있다면 추첨 문구를 쓰세요.
- 명단을 먼저 공개합니다.
- 모두가 함께 추첨 문구를 정합니다. 참가자가 돌아가며 한 글자씩 말해도 좋고, 앞으로 발표될 값을 정해 두어도 좋습니다.
- 도구의 추첨 문구 칸에 넣고 뽑습니다.
명단, 설정, 문구가 같으면 결과는 하나로 고정됩니다. 다시 뽑아도 바뀌지 않고, 참가자 누구나 같은 내용을 넣어 직접 확인할 수 있습니다. 명단이나 문구를 정하기 전에 결과를 미리 계산해 볼 수 있으므로, 명단을 먼저 고정한 뒤 문구를 정하는 순서가 중요합니다.
중요한 추첨에는
뽑기나무는 일상의 내기와 모임, 수업을 위한 도구입니다. 법적 효력이 필요한 추첨이나 큰 금액이 걸린 경품 추첨은 입회인이나 공인된 절차를 함께 쓰세요.