랜덤

주사위, 동전, 추첨, 룰렛 — 모든 결과는 운영체제의 엔트로피 또는 직접 고른 시드에서 나오므로, 누구나 추첨을 다시 실행해 확인할 수 있습니다.

숫자·게임

3

추첨

3

이름·팀

3

추첨의 형태를 고르세요

선택은 대체로 결과가 지켜보는 사람들에게 어떤 모습으로 보여야 하느냐에 달려 있습니다.

숫자 하나 또는 숫자 여러 개 — 직접 정한 범위를 위한 난수 생성기, 규칙이 정해진 열다섯 가지 게임을 위한 로또 번호, 단순한 범위가 아니라 주사위 표기법과 수정치가 필요할 때의 주사위.

목록에서 한 명의 승자 — 답만 원할 때는 이름 뽑기, 지켜보는 관객이 있고 그 긴장감 자체가 목적일 때는 룰렛 돌리기.

예 또는 아니오 — 동전 던지기.

모두를 그룹으로 나누기 — 팀 생성기는 라운드로빈 방식으로 나누므로, 7명을 3개 그룹으로 나누면 나머지를 마지막 그룹에 몰아넣지 않고 3/2/2로 나옵니다.

시간에 걸쳐 진행되는 게임 — 빙고 콜러, 75·90·99개 공을 화면 하나로 진행합니다.

다른 사람의 추첨 확인하기 — 추첨 검증기, 이 카테고리에서 유일하게 아무것도 생성하지 않는 도구입니다.

이 카테고리를 다르게 만드는 부분

난수 하나를 만드는 것은 어느 사이트나 할 수 있습니다. 더 어려운 문제는, 회의적인 참가자도 나중에 받아들일 수 있는 난수를 만드는 것이며, 이것은 어느 한 도구의 기능이 아니라 여기 있는 모든 도구를 관통하는 하나의 흐름입니다.

작동 방식은 이렇습니다. 시드 — 직접 고르거나 도구가 골라서 보여주는 값 — 을 사용해 추첨을 실행합니다. 시드는 추첨을 재현 가능하게 만듭니다: 같은 시드와 같은 목록을 가진 사람은 언제나 같은 결과를 얻습니다. 하지만 그것만으로는 충분하지 않은데, 주최자가 여러 시드로 추첨을 여러 번 돌려보고 마음에 드는 결과 하나만 시드와 함께 공개할 수도 있기 때문입니다.

그래서 추첨에는 그 대상 목록의 지문 값도 함께 붙습니다. 시드와 지문 값을 추첨 전에 공개하면 참가자 명단과 방법 둘 다에 스스로를 묶어두는 셈이 됩니다. 이후 누구든 그 인증서를 검증기에 붙여넣으면 결과를 다시 계산해 시드, 목록, 결과가 모두 일치하는지 확인할 수 있습니다. 이름을 하나 바꾸거나, 늦게 참가자를 추가하거나, 승자를 바꿔치기하면 지문 값이 더 이상 일치하지 않습니다.

이것이 주최자가 정직하다는 것을 증명하지는 않습니다. 다만 이 추첨이 이 목록을 대상으로 이 결과를 냈다는 것을 증명하며, 이것이야말로 이전까지는 다른 누구도 확인할 방법이 없던 부분입니다.

시드가 필요 없을 때

시드를 비워두면 추첨은 재현 가능한 수열이 아니라 운영체제의 엔트로피인 crypto.getRandomValues()를 사용합니다. 재현 가능성이 장점이 아니라 오히려 약점이 되는 경우 — 비밀번호를 고르거나, 계산을 나누거나, 논쟁을 정리할 때 — 에는 이쪽이 맞는 선택입니다. 누가 설거지를 할지 감사할 필요는 없으니까요.

브라우저 추첨이 실물보다 나은 이유

실제 동전은 양면이 새겨진 방식 때문에 아주 약간 치우쳐 있어서, 던지기 시작한 면이 그렇지 않은 면보다 미세하게 더 자주 나옵니다. 저렴한 주사위는 더 나쁩니다: 성형된 점 무늬가 각 면에서 서로 다른 양의 재료를 깎아내기 때문에 6이 새겨진 면이 아주 조금 더 가볍습니다. 어느 쪽 편향도 보드게임에서는 문제가 되지 않고, 아무리 조심해도 없앨 수 없습니다.

운영체제의 엔트로피 풀에서 계산된 추첨은 물려받을 물리적 비대칭이 없습니다. 실제 동전만큼 “괜찮은” 정도가 아니라, 공정성에서는 오히려 더 낫습니다.

이 페이지를 친구들과 공유하거나, 북마크하거나, 링크해 주시면 감사하겠습니다. 감사합니다! 🙏