펀페어 편집하기

이동: 둘러보기, 검색

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 아이디(ID)으로 기록되고, 다른 장점도 있습니다.

편집을 되돌릴 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 저장해주세요.
최신판 당신의 편집
27번째 줄: 27번째 줄:
 
페이트 채널은 점진적인 향상이 진행되고 있다. 펀페어 슬롯 머신은 페이트 채널이 이체 비용을 높이거나 블록체인을 스팸하지 않으면서, 더 빠르고 공정한 게임을 제공한다는 것을 증명한다. 기존 슬롯 머신은 일단 플레이어가 바퀴를 돌리거나 주사위를 던지면 결과에 영향을 줄 수 있는 중간 플레이(mid-play)를 할 수 있는 방법이 없었다. 페이트 채널은 다중 상태 게임(Multi-State Games)을 지원하여 이전 결과에 새로운 베팅을 할 수 있는 기능을 제공하기 위해 페이트의 프로토콜을 강화한다. 또한 페이트 채널은 서버와 클라이언트에 집중하여 완전한 사용자간 [[P2P]]를 지원한다. 누구나 자신만의 게임 환경을 시작하고 운영 할 수 있도록 서비스를 제공한다. 더불어 페이트 채널 항목에서 서버 구성 요소를 완전히 제거하여 원활한 서비스를 제공한다.<ref name="백서"></ref>
 
페이트 채널은 점진적인 향상이 진행되고 있다. 펀페어 슬롯 머신은 페이트 채널이 이체 비용을 높이거나 블록체인을 스팸하지 않으면서, 더 빠르고 공정한 게임을 제공한다는 것을 증명한다. 기존 슬롯 머신은 일단 플레이어가 바퀴를 돌리거나 주사위를 던지면 결과에 영향을 줄 수 있는 중간 플레이(mid-play)를 할 수 있는 방법이 없었다. 페이트 채널은 다중 상태 게임(Multi-State Games)을 지원하여 이전 결과에 새로운 베팅을 할 수 있는 기능을 제공하기 위해 페이트의 프로토콜을 강화한다. 또한 페이트 채널은 서버와 클라이언트에 집중하여 완전한 사용자간 [[P2P]]를 지원한다. 누구나 자신만의 게임 환경을 시작하고 운영 할 수 있도록 서비스를 제공한다. 더불어 페이트 채널 항목에서 서버 구성 요소를 완전히 제거하여 원활한 서비스를 제공한다.<ref name="백서"></ref>
  
==== 채널 설정 ====
+
=== 프로토콜 ===
페이트 채널은 클라이언트인 플레이어와 운영자인 카지노간의 게임 세션 전반에 걸친 통신을 지원한다. 저렴하고 신속한 방법으로 난수 생성, 게임 세션 시작, 종료, 블록체인에서의 스마트 계약 체결 등을 제공한다. 각 게임에 대해 스마트 계약 API 호출이 게임의 규칙을 압축하여 발행된다. 가장 중요한 페이트 채널(fate channel)계약은 기본적으로 두 가지를 이행 한다. 게임 세션을 시작하고, 하나를 정착 시킨다.<ref name="백서"></ref>
 
 
 
==== 클라이언트 ====
 
클라이언트는 블록체인 및 서버와 통신 할 수 있는 웹 기반, 자바 스크립트 및 HTML5/WebGL 응용 프로그램이다. 미래에는 클라이언트가 모바일의 기본 응용 프로그램이 될 수 있지만, 현재는 모바일 브라우저에서 직접 작동되어, 최대한 많은 고객이 액세스 할 수 있도록 돕는다.<ref name="백서"></ref>
 
 
 
==== 서버 ====
 
서버는 클라이언트와 매우 유사하지만 사용자 상호작용이 없다. 플레이어가 게임 세션을 시작하면 클라이언트와 서버 모두 역방향 해시 체인을 만든다. 페이트 채널 계약은 양 플레이어의 모든 상호작용을 검증하고, 블록체인에 세션을 생성하고, 자금을 잠그고, 블록체인에 이벤트를 게시한다.<ref name="백서"></ref>
 
 
 
==== 프로토콜 ====
 
 
게임이 진행됨에 따라 클라이언트와 서버는 보낸 사람이 서명한 거래 메시지를 교환한다. 세션의 상태가 주어딘 메시지에서 진행되면 새로운 상태가 서명되고, 이전 상태에 공동 서명된다. 게임 세션의 각 결과에 대해 서버는 역방향 해시체인(Reverse Hash Chain)에서 다음 해시를 가져와서 다음 클라이언트 해시와 결합하여 해시를 취하여 RNG를 만든다. RNG를 사용하여 게임 로직(Logic)을 실행하고, 게임 상태 머신에서 액션을 결정한다. 한편, 클라이언트는 서버와 같은 방법으로 동일한 해시를 사용하여 RNG를 생성한다. 게임 로직의 자체 구현을 통해 우승 및 기타 게임 결과가 서버의 결과와 일치하는지 검증한다. 세션을 끝내려면 플레이어는 현금 지급 버튼을 누르고 클라이언트는 가장 최근 거래 상태를 서명하고, 서버는 공동 서명과 함께 세션 종료 메시지로 페이트 채널 계약을 완료한다. 계약은 모든 관련 데이터를 광범위하게 검증하고 문제가 없다면, 계약서는 남은 자금을 지불하고 세션이 완료된다.<ref name="백서"></ref>
 
게임이 진행됨에 따라 클라이언트와 서버는 보낸 사람이 서명한 거래 메시지를 교환한다. 세션의 상태가 주어딘 메시지에서 진행되면 새로운 상태가 서명되고, 이전 상태에 공동 서명된다. 게임 세션의 각 결과에 대해 서버는 역방향 해시체인(Reverse Hash Chain)에서 다음 해시를 가져와서 다음 클라이언트 해시와 결합하여 해시를 취하여 RNG를 만든다. RNG를 사용하여 게임 로직(Logic)을 실행하고, 게임 상태 머신에서 액션을 결정한다. 한편, 클라이언트는 서버와 같은 방법으로 동일한 해시를 사용하여 RNG를 생성한다. 게임 로직의 자체 구현을 통해 우승 및 기타 게임 결과가 서버의 결과와 일치하는지 검증한다. 세션을 끝내려면 플레이어는 현금 지급 버튼을 누르고 클라이언트는 가장 최근 거래 상태를 서명하고, 서버는 공동 서명과 함께 세션 종료 메시지로 페이트 채널 계약을 완료한다. 계약은 모든 관련 데이터를 광범위하게 검증하고 문제가 없다면, 계약서는 남은 자금을 지불하고 세션이 완료된다.<ref name="백서"></ref>
  
==== 온체인 검증 ====
+
=== 온체인 검증 ===
펀페어는 추가 계약을 사용하여 '''온체인'''에서 검증을 하여 공정한 게임 플레이를 제공한다. 체인 검증(Chain Verification)을 통해 클라이언트와 서버에 의해 생성된 역방향 해시 체인을 각각 확인하기 위해 사용된 마지막 해시가 체인에 게시된다. '''페이트 채널'''은 이것을 정확한 횟수만큼 해시하고, 체인에 맡겨진 최종 해시(final hash)를 다시 만든다. 두 번째로 게임 검증(game Verification)을 사용한다. 개별 게임을 검증하기 위해 게임 상태 머신을 게임 유형별로 하나씩 별도 계약으로 블록체인에 구현한다. 이 함수는 상수 함수가 될 수 있다. 초기 시드(seeds)와 게임 간의 출력을 가져와서 참(True) 또는 거짓(false)을 반환한다. 상수 함수는 [[블록체인]]을 수정하지 않으므로, 모든 참가자는 이를 무료로 호출하고 실행한다.<ref name="백서"></ref>
+
펀페어는 추가 계약을 사용하여 '''온체인'''에서 검증을 하여 공정한 게임 플레이를 제공한다. 체인 검증(Chain Verification)을 통해 클라이언트와 서버에 의해 생성된 역방향 해시 체인을 각각 확인하기 위해 사용된 마지막 해시가 체인에 게시된다. '''페이트 채널'''은 이것을 정확한 횟수만큼 해시하고, 체인에 맡겨진 최종 [[해시]](final hash)를 다시 만든다. 두 번째로 게임 검증(game Verification)을 사용한다. 개별 게임을 검증하기 위해 게임 상태 머신을 게임 유형별로 하나씩 별도 계약으로 [[블록체인]]에 구현한다. 이 함수는 상수 함수가 될 수 있다. 초기 시드(seeds)와 게임 간의 출력을 가져와서 참(True) 또는 거짓(false)을 반환한다. 상수 함수는 [[블록체인]]을 수정하지 않으므로, 모든 참가자는 이를 무료로 호출하고 실행한다.<ref name="백서"></ref>
  
 
== 토큰 ==
 
== 토큰 ==

해시넷에서의 모든 기여는 다른 기여자가 편집, 수정, 삭제할 수 있다는 점을 유의해 주세요. 만약 여기에 동의하지 않는다면, 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다 (자세한 사항은 해시넷:저작권 문서를 보세요). 저작권이 있는 내용을 허가 없이 저장하지 마세요!

취소 | 편집 도움말 (새 창에서 열림)