전화로 "가위바위보"플레이 방법
글쎄, 원래 게임은 얼굴을 맞대고 진행되며 "일부 신체 언어 프로토콜"이 사용되어 두 플레이어가 동시에 이동을 수행합니다. 그렇지 않으면 단순히 반격하는 동작을 할 것이기 때문에 이러한 방식으로 동작을 수행하는 것이 중요합니다.
반면에 전화로 플레이하면 동작을 동시에 플레이하기가 정말 어렵습니다. 이 게시물에서 우리는 동시에 플레이할 필요가 없는 방식으로 암호화가 게임을 가능하게 만드는 방법을 볼 것입니다.
해시 함수
한동안 컴퓨터 과학에 대해 읽었다면 해시 함수에 대해 들어봤을 것입니다. 그들은 다양한 일에 절대적으로 유용합니다! 매우 요약된 방식으로 여기에 대해 알아야 할 사항이 있습니다.
다양한 효율성, 계산 영역 및 출력 길이를 가진 다양한 해시 함수 구현이 있습니다. 우리의 경우 SHA256을 사용하겠습니다. this one 과 같이 해시를 계산할 수 있는 많은 도구를 온라인에서 찾을 수 있습니다.
"i like turtles"의 해시를 계산해 봅시다. 가서 SHA-256 함수에 대한 입력으로 입력하면 다음을 얻을 수 있습니다.
47f0c23ae1cc6ce8ccfe96b73a70fb45192750523a15e2c9dc14fa98d7e8264e
이 출력이 주어지면 입력이 "나는 거북이를 좋아합니다"라는 것을 모를 것입니다! 즉, 누군가가 입력을 다이제스트에 매핑하는 테이블을 가지고 있고 해당 입력을 찾기 위해 해당 테이블에서 이 출력을 검색하지만 그것은 또 다른 이야기입니다.
게임하기
해시 값을 사용하면 암호학적으로 증명 가능한 방식으로 어떤 값을 커밋할 수 있습니다.
이제 게임 방법은 다음과 같습니다.
rock
, paper
또는 scissors
중 하나를 선택합니다. 그들이 스스로 rock
와 paper
를 연주했다고 가정 해 봅시다. 267
및 119
와 같이 임의의 숫자를 선택합니다. 두 플레이어 모두 다음 입력을 해시합니다:
move || number
. 여기서 ||
는 연결하다라는 뜻입니다. 따라서 첫 번째 플레이어는 해시rock267
하고 다른 플레이어는 해시paper119
합니다. 해당 출력은 다음과 같습니다.rock267:
0f9eb01fbb667692cb15001ec9649dea8f26b8b3bacc28d25fc06100e8578892
paper119:
a9b85af4472c66c928465c6db5ebc8252dcf340876b5c941af298b068b6c00da
rock
또는 paper
만 해시하는 경우 사전 계산을 통해 다이제스트를 알 수 있습니다. 이제 그들은 자신의 움직임과 숫자를 말할 수 있습니다. 이 게시물은 Manuel Blum의 논문Coin flipping by telephone에서 영감을 받았습니다.
Reference
이 문제에 관하여(전화로 "가위바위보"플레이 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/erhant/how-to-play-rock-paper-scissors-over-the-phone-2o6l텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)