KR101984808B1 - Probability fair game methode and system bisised on on line - Google Patents

Probability fair game methode and system bisised on on line Download PDF

Info

Publication number
KR101984808B1
KR101984808B1 KR1020180006398A KR20180006398A KR101984808B1 KR 101984808 B1 KR101984808 B1 KR 101984808B1 KR 1020180006398 A KR1020180006398 A KR 1020180006398A KR 20180006398 A KR20180006398 A KR 20180006398A KR 101984808 B1 KR101984808 B1 KR 101984808B1
Authority
KR
South Korea
Prior art keywords
game
user
seed
server
information
Prior art date
Application number
KR1020180006398A
Other languages
Korean (ko)
Inventor
임철재
이현걸
박용관
Original Assignee
엔에이치엔 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엔에이치엔 주식회사 filed Critical 엔에이치엔 주식회사
Priority to KR1020180006398A priority Critical patent/KR101984808B1/en
Application granted granted Critical
Publication of KR101984808B1 publication Critical patent/KR101984808B1/en

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/71Game security or game management aspects using secure communication between game devices and game servers, e.g. by encrypting game data or authenticating players
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F1/00Card games
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/75Enforcing rules, e.g. detecting foul play or generating lists of cheating players
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/401Secure communication, e.g. using encryption or authentication

Abstract

According to an embodiment of the present invention, provided is an online-based probability fair game method comprising a step of generating a server seed based on macro information, a step of generating a hash value for user identification based on the server seed, a step of sending the hash value for user identification to the user-side device, a step of generating a random value based on the server seed, a step of determining a probability-based variable component in the game based on the random value, and a step of transmitting the game data including the determined probability-based variable component to the user-side device. The macro information includes information on the result of another game.

Description

온라인 기반의 프로버블리티 페어 게임 방법 및 시스템{PROBABILITY FAIR GAME METHODE AND SYSTEM BISISED ON ON LINE}[0001] PROBABILITY FAIR GAME METHOD AND SYSTEM [0002] BACKGROUND OF THE INVENTION [0003]

본 발명은 온라인 기반의 프로버블리티 페어 게임 방법 및 시스템에 관한 것이다.The present invention relates to an online-based proberbility fair game method and system.

네트워크의 보급 환경의 발달과 함께, 근래 들어 다양한 콘텐츠를 인터넷상으로 제공하는 서비스가 등장하고 있고, 이러한 콘텐츠 제공 서비스 중에서도 게임 콘텐츠 제공 서비스는 시장의 확대와 보급 속도가 가장 급격하게 성장하는 분야이다. 온라인을 통한 게임 콘텐츠 제공 서비스는 시공간의 제약 없이 원격지에 있는 불특정 사람과 동일한 게임을 플레이할 수 있다는 장점이 있다. 특히 인터넷을 통한 카드나 화투 게임은 이미 공지된 게임 방식으로 게임 콘텐츠 서비스를 제공하고 있어 현재 제공되고 있는 많은 게임 서비스들 중 가장 두각을 나타내고 있는 게임 분야이다.With the development of network diffusion environment, various services have recently been provided on the Internet. Among these content providing services, the game content providing service is the field where the expansion of the market and the speed of spread are the most rapid growth. The game contents provision service through online can enjoy the same game as an unspecified person at a remote location without restriction of time and space. Especially, cards and fire games through the Internet provide game contents services in the already known game methods, and are the most outstanding game services among the many game services currently provided.

또한, 카드나 화투 게임은 대표적인 확률 기반의 게임에 해당한다. 따라서, 게임 서비스를 제공하는 주체는 확률 기반 게임의 공정성에 대한 유저들의 신뢰성을 확보하기 위하여 많은 기술적 장치를 마련하고 있다. 그러나, 유저 스스로 확률이 조작된 것이 아님을 검증하는 것이 어렵고, 온라인 확률 기반 게임은 진정한 난수가 아닌 소프트웨어적으로 생성된 난수, 즉 의사 난수를 기반으로 랜덤 값을 추출하는 점 때문에 여전히 적지 않은 수의 유저들은 확률 기반 게임의 공정성에 대한 의문을 표하고 있다. 더욱이 최근 레인보우 테이블 제작과 같이 대량의 컴퓨팅 자원을 활용하여 게임에서 나타날 수 있는 랜덤 값을 모두 수집하는 해킹 방식의 등장으로 인하여 확률 기반 게임에 대한 유저의 신뢰를 확보하기 점점 어려워지고 있다.Also, a card or a fighting game corresponds to a typical probability-based game. Therefore, the subject providing the game service has provided many technical devices to secure the reliability of the users on the fairness of the probability-based game. However, it is difficult to verify that the probability is not manipulated by the user himself, and on-line probability based games are not a true random number but a software random number generated based on a pseudo random number, Users question the fairness of probability based games. Moreover, it is increasingly difficult to secure the user's trust in probability-based games due to the emergence of a hacking method that collects all the random values that can appear in a game by utilizing a large amount of computing resources such as a rainbow table production.

한국공개특허공보 10-2008-0085102 A1Korean Patent Publication No. 10-2008-0085102 A1

실시예는 시드 및 해시 값 생성에 대한 가역성을 제거하고, 충분한 프로세스 파워를 이용한 시드 유출 가능성을 차단하여 확률 기반 온라인 게임에 대한 유저의 신뢰를 확보하는 것을 목적으로 한다.The embodiment aims at eliminating the reversibility of generation of seed and hash value and securing the trust of the user on the probability based online game by blocking the possibility of seed leakage using sufficient process power.

또한, 실시예는 유저가 직접 확률 조작이 아님을 검증할 수 있도록 한 온라인 기반의 프로버블리티 페어 게임 방법 및 시스템을 제공하는데 목적이 있다.It is also an object of the present invention to provide an online-based proberivity fair game method and system that can verify that a user is not a direct probabilistic operation.

실시예는, 매크로 정보에 기초하여 서버시드를 생성하는 단계; 상기 서버시드에 기초하여 유저확인용 해시 값을 생성하는 단계; 상기 유저확인용 해시 값을 유저측 디바이스로 전송하는 단계; 상기 서버시드에 기초하여 랜덤 값을 생성하는 단계; 상기 랜덤 값에 기초하여 게임 내의 확률 기반 가변 구성 요소를 결정하는 단계; 및 상기 결정된 확률 기반 가변 구성 요소를 포함하는 게임 데이터를 상기 유저측 디바이스로 전송하는 단계;를 포함하고, 상기 매크로 정보는 다른 게임의 결과 정보를 포함하는 온라인 기반의 프로버블리티 페어 게임 방법을 제공할 수 있다.An embodiment includes: generating a server seed based on macro information; Generating a user confirmation hash value based on the server seed; Sending the user confirmation hash value to the user device; Generating a random value based on the server seed; Determining a probability based variable component in the game based on the random value; And transmitting the game data including the determined probability-based variable component to the user-side device, wherein the macro information includes result information of another game based on the online-based proobligience fair game method can do.

다른 측면에서, 게임 종료 후 상기 서버시드를 상기 유저측 디바이스로 전송하는 단계;를 더 포함하는 온라인 기반의 프로버블리티 페어 게임 방법을 제공할 수도 있다.In another aspect, there is provided a method for online pro baseball game, further comprising transmitting the server seed to the user side device after a game is finished.

또 다른 측면에서, 상기 매크로 정보에 기초하여 서버시드를 생성하는 단계는, 데이터베이스로부터 다른 게임에서의 미리 설정된 등수에 해당하는 유저의 게임 머니 정보를 검색하는 단계; 및 상기 게임 머니 정보에 기초하여 상기 서버시드를 생성하는 단계;를 포함하는 온라인 기반의 프로버블리티 페어 게임 방법을 제공할 수도 있다.In another aspect, the step of generating a server seed based on the macro information includes: retrieving, from a database, game money information of a user corresponding to a preset rank in another game; And generating the server seed based on the game money information. The present invention also provides an online-based pro-bubble-fair game method.

또 다른 측면에서, 상기 매크로 정보에 기초하여 서버시드를 생성하는 단계는, 데이터베이스로부터 다른 게임에서의 카드 분배 순서 정보를 검색하는 단계; 및 상기 카드 분배 순서 정보에 기초하여 상기 서버시드를 생성하는 단계;를 포함하는 온라인 기반의 프로버블리티 페어 게임 방법을 제공할 수도 있다.In another aspect, the step of generating a server seed based on the macro information comprises: retrieving card distribution order information in another game from a database; And generating the server seed based on the card distribution order information. The present invention also provides a method of online pro baseball game.

또 다른 측면에서, 상기 매크로 정보에 기초하여 서버시드를 생성하는 단계는, 데이터베이스로부터 다른 게임에서의 유저들의 버린 카드 정보를 검색하는 단계; 및 상기 버린 카드 정보에 기초하여 상기 서버시드를 생성하는 단계;를 포함하는 온라인 기반의 프로버블리티 페어 게임 방법을 제공할 수도 있다.In another aspect, the step of generating a server seed based on the macro information includes: retrieving discarded card information of users in another game from the database; And generating the server seed based on the discarded card information. The present invention also provides an online-based proobligience fair game method comprising:

또 다른 측면에서, 상기 유저측 디바이스의 요청에 응답하여 검증용페이지를 전송하는 단계;를 더 포함하고, 상기 검증용페이지는 상기 서버시드를 이용하여 상기 유저확인용 해시 값이 생성되는 것을 검증할 수 있도록 구성된 온라인 기반의 프로버블리티 페어 게임 방법을 제공할 수도 있다.In another aspect, the method further comprises transmitting a page for verification in response to a request from the user-side device, wherein the verification page verifies that the user confirmation hash value is generated using the server seed Based online pro-bubble-paired gaming methodology that can be configured to play a game.

또 다른 측면에서, 유저측 디바이스로부터 유저시드를 수신하는 단계; 매크로 정보에 기초하여 서버시드를 생성하는 단계; 상기 유저시드 및 상기 서버시드를 조합한 조합시드를 생성하는 단계; 상기 조합시드에 기초하여 유저확인용 해시 값을 생성하는 단계; 상기 유저확인용 해시 값을 유저측 디바이스로 전송하는 단계; 상기 조합시드에 기초하여 랜덤 값을 생성하는 단계; 상기 랜덤 값에 기초하여 게임 내의 확률 기반 가변 구성 요소를 결정하는 단계; 상기 결정된 확률 기반 가변 구성 요소를 포함하는 게임 데이터를 상기 유저측 디바이스로 전송하는 단계; 및 게임 종료 후 상기 서버시드를 상기 유저측 디바이스로 전송하는 단계;를 포함하고, 상기 매크로 정보는 다른 게임의 결과 정보를 포함하는 온라인 기반의 프로버블리티 페어 게임 방법을 제공할 수도 있다.In another aspect, there is provided a method comprising: receiving a user seed from a user-side device; Generating a server seed based on macro information; Generating a combination seed in which the user seed and the server seed are combined; Generating a hash value for user identification based on the combination seed; Sending the user confirmation hash value to the user device; Generating a random value based on said combination seed; Determining a probability based variable component in the game based on the random value; Transmitting game data including the determined probability-based variable component to the user-side device; And transmitting the server seed to the user device after the game is finished, wherein the macro information may include a result information of another game, and may provide an online-based proberivity fair game method.

실시예는 시드 및 해시 값 생성에 대한 가역성을 제거할 수 있다.Embodiments can eliminate reversibility for seed and hash value generation.

또한, 실시예는 대량의 컴퓨팅 자원을 이용한 시드나 랜덤 값 해킹 가능성을 차단할 수 있다.Also, embodiments can block the possibility of seeding or random value hacking using a large amount of computing resources.

또한, 실시예는 시드의 유출이 발생한 상황이나 레인보우 테이블이 존재하는 상황 하에서도 유저가 실시간으로 게임 결과를 유추할 수 없도록 한다.In addition, the embodiment makes it impossible for a user to infer a game result in real time even in a situation where a seed leaks or a rainbow table exists.

실시예는 유저가 직접 확률 조작이 아님을 검증할 수 있도록 하여 게임 공정성에 대한 유저의 신뢰성을 높일 수 있다.The embodiment can verify that the user is not a direct probability operation, thereby enhancing the user's credibility of the game fairness.

도 1a는 본 발명의 실시예에 따른 프로버블리티 페어 게임 시스템에 대한 예시도이다.
도 1b는 본 발명의 다른 실시예에 따른 프로버블리티 페어 게임 시스템에 대한 예시도이다.
도 1c는 프로버블리티 페어 게임 시스템을 설명하기 위한 개념도이다.
도 2a 내지 도 2c는 본 발명의 실시예에 따른 프로버블리티 페어 게임 방법에 대한 흐름도이다.
도 2d는 프로버블리티 페어 게임 방법에 대한 이해를 돕기 위한 개념도이다.
도 3a 및 도 3b는 본 발명의 다른 실시예에 따른 프로버블리티 페어 게임 방법에 대한 흐름도이다.
도 3c 및 도 3d는 프로버블리티 페어 게임 방법에 대한 이해를 돕기 위한 개념도이다.
도 4a는 본 발명의 또 다른 실시예에 따른 프로버블리티 페어 게임 방법에 대한 흐름도이다.
도 4b는 다른 측면에서의 프로버블리티 페어 게임 방법에 대한 흐름도이다.
도 4c는 프로버블리티 페어 게임 방법에 대한 이해를 돕기 위한 개념도이다.
도 5a는 본 발명의 또 다른 실시예에 따른 프로버블리티 페어 게임 방법에 대한 흐름도이다.
도 5b는 프로버블리티 페어 게임 방법에 대한 이해를 돕기 위한 개념도이다.
FIG. 1A is an exemplary diagram illustrating a proobality fair game system according to an embodiment of the present invention.
FIG. 1B is an exemplary view of a proobality fair game system according to another embodiment of the present invention.
FIG. 1C is a conceptual diagram for explaining a proberability fair game system. FIG.
FIGS. 2A to 2C are flowcharts of a pro bubble play method according to an embodiment of the present invention.
FIG. 2D is a conceptual diagram for helping understanding of the proobligience fair game method. FIG.
FIG. 3A and FIG. 3B are flowcharts of a proobligience fair game method according to another embodiment of the present invention.
FIG. 3C and FIG. 3D are conceptual diagrams for helping understanding of the proobligience fair game method.
FIG. 4A is a flowchart illustrating a method of playing a pro bubble game according to another embodiment of the present invention.
4B is a flowchart of a proobligience fair game method in another aspect.
4C is a conceptual diagram for helping understanding of the proobligience fair game method.
FIG. 5A is a flowchart of a proobligience fair game method according to another embodiment of the present invention.
5B is a conceptual diagram for helping understanding of the proobligience fair game method.

본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 본 발명의 효과 및 특징, 그리고 그것들을 달성하는 방법은 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있다. 이하의 실시예에서, 제1, 제2 등의 용어는 한정적인 의미가 아니라 하나의 구성 요소를 다른 구성 요소와 구별하는 목적으로 사용되었다. 또한, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 또는 구성요소가 존재함을 의미하는 것이고, 하나 이상의 다른 특징들 또는 구성요소가 부가될 가능성을 미리 배제하는 것은 아니다. 또한, 도면에서는 설명의 편의를 위하여 구성 요소들이 그 크기가 과장 또는 축소될 수 있다. 예컨대, 도면에서 나타난 각 구성의 크기 및 두께는 설명의 편의를 위해 임의로 나타내었으므로, 본 발명이 반드시 도시된 바에 한정되지 않는다.BRIEF DESCRIPTION OF THE DRAWINGS The present invention is capable of various modifications and various embodiments, and specific embodiments are illustrated in the drawings and described in detail in the detailed description. The effects and features of the present invention and methods of achieving them will be apparent with reference to the embodiments described in detail below with reference to the drawings. However, the present invention is not limited to the embodiments described below, but may be implemented in various forms. In the following embodiments, the terms first, second, and the like are used for the purpose of distinguishing one element from another element, not the limitative meaning. Also, the singular expressions include plural expressions unless the context clearly dictates otherwise. Also, the terms include, including, etc. mean that there is a feature, or element, recited in the specification and does not preclude the possibility that one or more other features or components may be added. Also, in the drawings, for convenience of explanation, the components may be exaggerated or reduced in size. For example, the size and thickness of each component shown in the drawings are arbitrarily shown for convenience of explanation, and thus the present invention is not necessarily limited to those shown in the drawings.

이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 하며, 도면을 참조하여 설명할 때 동일하거나 대응하는 구성 요소는 동일한 도면부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings, wherein like reference numerals refer to like or corresponding components throughout the drawings, and a duplicate description thereof will be omitted .

도 1a는 본 발명의 실시예에 따른 프로버블리티 페어 게임 시스템에 대한 예시도이고, 도 1b는 본 발명의 다른 실시예에 따른 프로버블리티 페어 게임 시스템에 대한 예시도이며, 도 1c는 프로버블리티 페어 게임 시스템을 설명하기 위한 개념도이다.FIG. 1A is an exemplary view of a pro bubble pair game system according to an embodiment of the present invention, FIG. 1B is an exemplary view of a pro bubble pair game system according to another embodiment of the present invention, And is a conceptual diagram for explaining a reality fair game system.

도 1a 및 도 1b를 참조하면, 본 발명의 실시예에 따른 프로버블리티 페어 게임 시스템(10)은 적어도 하나의 유저측 디바이스(100), 서버(200) 및 네트워크(300)를 포함할 수 있다.1A and 1B, a proobality fair game system 10 according to an embodiment of the present invention may include at least one user-side device 100, a server 200, and a network 300 .

도 1a 및 도 1b의 각 요소들은 하드웨어 컴포넌트들, 소프트웨어 컴포넌트들 또는 펌웨어 컴포넌트들 또는 이러한 컴포넌트들의 임의의 조합으로 구현되거나 연관될 수 있다. 또한, 도 1a 및 도 1b의 요소들은 예를 들어 서버들, 소프트웨어 프로세서들, 그리고 엔진들 및/또는 다양한 임베디드 시스템들로 구현되거나 또는 연관될 수 있다. 그리고 요소들은 콘텐츠비딩 및/또는 분산 네트워크로써 제공할 수 있다.1A and 1B may be implemented or associated with hardware components, software components, or firmware components, or any combination of these components. In addition, the elements of FIGS. 1A and 1B may be implemented or associated with, for example, servers, software processors, and / or engines and / or various embedded systems. And the elements may be provided as content beading and / or distributed networks.

유저측 디바이스(100)는 다양한 작업을 수행하는 애플리케이션들을 실행하기 위한 유저가 사용하는 하나 이상의 컴퓨터 또는 다른 전자 장치이다. 예컨대, 컴퓨터, 랩탑 컴퓨터, 스마트 폰, 모바일 전화기, PDA, 태블릿 PC, 혹은 서버(200)와 통신하도록 동작 가능한 임의의 다른 디바이스를 포함한다. 다만 이에 한정되는 것은 아니고 유저측 다비이스(100)는 다양한 머신들 상에서 실행되고, 다수의 메모리 내에 저장된 명령어들을 해석하여 실행하는 프로세싱로직을 포함하고, 외부 입력/출력 디바이스상에 그래픽 사용자 인터페이스(GUI)를 위한 그래픽 정보를 디스플레이하는 프로세스들과 같이 다양한 기타 요소들을 포함할 수 있다. 아울러 유저측 다비이스(100)는 입력 장치(예를 들면 마우스, 키보드, 터치 감지 표면 등) 및 출력 장치(예를 들면 디스플레이장치, 모니터, 스크린 등)에 접속될 수 있다. 유저측 디바이스(100)에 의해 실행되는 애플리케이션들은 게임 어플리케이션, 웹 브라우저, 웹 브라우저에서 동작하는 웹 애플리케이션, 워드 프로세서들, 미디어 플레이어들, 스프레드시트들, 이미지 프로세서들, 보안 소프트웨어 또는 그 밖의 것을 포함할 수 있다.The user-side device 100 is one or more computers or other electronic devices used by a user to execute applications that perform various tasks. For example, a computer, a laptop computer, a smart phone, a mobile telephone, a PDA, a tablet PC, or any other device operable to communicate with the server 200. The user side device 100 includes processing logic that executes on various machines and interprets and executes instructions stored in the plurality of memories, and includes a graphical user interface (GUI) on the external input / output device, ), ≪ / RTI > and other processes for displaying graphical information for the user. In addition, the user side device 100 may be connected to an input device (e.g., a mouse, a keyboard, a touch sensitive surface, etc.) and an output device (e.g., a display device, a monitor, a screen, etc.). Applications executed by the user-side device 100 may include a game application, a web browser, a web application running on a web browser, word processors, media players, spreadsheets, image processors, security software or otherwise .

또한, 유저측 디바이스(100)는 명령들을 저장하는 적어도 하나의 메모리(101) 및 적어도 하나의 프로세서(102)를 포함하고, 명령들은 프로세서(102)로 하여금 동작들을 수행하게 하기 위해 프로세서(102)에 의해 실행 가능하고, 동작들은 게임 실행 요청 신호를 전송, 유저시드 생성, 유저시드 입력 수신, 유저시드 전송, 게임 데이터 송수신, 각종 정보 수신하는 동작들을 포함할 수 있다.The user-side device 100 also includes at least one memory 101 and at least one processor 102 for storing instructions and the instructions are stored in the processor 102 to cause the processor 102 to perform operations. And operations may include operations of transmitting a game execution request signal, generating a user seed, receiving a user seed input, transmitting a user seed, transmitting and receiving game data, and receiving various information.

유저측 디바이스(100)에서 게임 어플리케이션이 실행되면, 유저측 디바이스(100)에서 게임 환경이 구성된다. 그리고 게임 어플리케이션은 네트워크(300)를 통해 서버(200)와 게임 데이터를 교환하여 유저측 디바이스(100) 상에서 게임 서비스가 실행되도록 한다.When the game application is executed in the user-side device 100, the game environment is configured in the user-side device 100. [ The game application exchanges game data with the server 200 through the network 300 to allow the game service to be executed on the user-side device 100.

서버(200)가 제공하는 게임 서비스는 서버(200)가 제공하는 가상의 컴퓨터 유저와 실제 유저가 함께 게임에 참여하는 형태로 구성될 수 있다. 이는 유저측 디바이스(100) 상에서 구현되는 게임 환경에서 하나의 실제 유저와 적어도 하나의 컴퓨터 유저가 함께 게임을 플레이 한다. 다른 측면에서, 서버(200)가 제공하는 게임 서비스는 복수의 유저측 디바이스가 참여하여 게임이 플레이되는 형태로 구성될 수도 있다.The game service provided by the server 200 may be configured such that a virtual computer user provided by the server 200 and an actual user participate in a game together. This is because one actual user and at least one computer user play the game together in the game environment implemented on the user-side device 100. [ In another aspect, the game service provided by the server 200 may be configured such that a plurality of user-side devices participate and a game is played.

서버(200)가 제공하는 게임 서비스는 프로버블리티 페어 기반의 확률 게임 서비스가 될 수 있다. 여기서의 확률 게임 서비스는 예시적으로 트럼프(trump) 등과 같이 52장의 다른 카드의 조합을 미리 결정된 룰(rule)에 근거하여 각 유저가 카드를 모으거나, 혹은 각 유저가 소지한 카드를 늘어놓음으로써 승패를 결정하는 게임이 있다. 또 다른 예로써는, 주사위와 같이 정해진 수 범위 내에서 무작위로 결정된 수에 따라서 승패가 결정되는 게임이 있다. 다만, 이에 제한되는 것은 아니고, 카드를 이용하는 포커, 블랙잭, 화투나 각종 주사위 게임이 있을 수 있으며 게임에서 사용되는 카드의 수도 게임의 종류나 동일한 게임이라도 게임의 룰에 따라 달라질 수 있다.The game service provided by the server 200 may be a probability game service based on a proberability fair. Here, the probability game service exemplarily includes a combination of 52 different cards, such as a trump, by collecting cards based on predetermined rules, or arranging cards held by each user There is a game that determines win or loss. As another example, there is a game in which win or loss is determined according to a random number determined within a predetermined number of ranges such as a die. However, the present invention is not limited to this, and there may be a poker, a blackjack, a fireball or various dice games using cards, and the number of cards used in the game may vary depending on the type of game or the rules of the game.

도 1c를 참조하면, 서버(200)는 적어도 하나의 유저측 디바이스(100)로 게임 서비스를 제공할 수 있다. 서버(200)는 유저측 디바이스(100)로부터 게임 실행 요청을 수신하면, 게임을 구성하는 구성 요소 중에서 일부 구성 요소인 확률 기반 가변 구성 요소를 구성할 수 있다. 그리고 서버(200)는 확률 기반 가변 구성 요소에 대한 데이터를 포함하는 게임 데이터를 유저측 디바이스(100)로 전송한다. 확률 기반 가변 구성 요소의 예시로는 카드 게임에서의 데크(Deck) 정보가 될 수 있다. 데크는 카드 한 벌을 의미한다. 그리고 확률에 따라서 복수의 데크 중 어느 하나가 선택될 수 있다. 여기서의 복수의 데크들 각각을 구성하는 카드들은 서로 섞임이 서로 다를 수 있다. 복수의 데크들 각각을 구성하는 카드들의 섞임이 다르므로 복수의 데크 중 어떤 데크가 선택되느냐에 따라서 게임 환경에서 유저들에게 분배될 카드의 종류가 달라지게 된다. 또 다른 예로, 확률 기반 가변 구성 요소는 주사위 게임에서의 주사위가 나타낼 수의 정보가 될 수 있다. 다만, 확률 기반 가변 구성 요소는 전술한 예시에 한정되는 것은 아니고, 게임을 구성하는 구성 요소 중에서 랜덤하게 결정되는 모든 게임 구성 요소가 여기에 해당될 수 있다.Referring to FIG. 1C, the server 200 may provide a game service to at least one user-side device 100. When the server 200 receives a game execution request from the user-side device 100, the server 200 may configure a probability-based variable component, which is a component of the components constituting the game. Then, the server 200 transmits the game data including the data on the probability-based variable components to the user-side device 100. An example of a probability-based variable component may be deck information in a card game. Deck means a card suit. And any one of a plurality of decks may be selected according to the probability. Here, the cards constituting each of the plurality of decks may be different from each other in mixing. The types of cards to be distributed to the users in the game environment are different depending on which deck is selected among the plurality of decks because the blending of the cards constituting each of the plurality of decks is different. In another example, the probability-based variable component may be the number of pieces of information that a die in a die game represents. However, the probability-based variable component is not limited to the above-described example, and all the game components randomly determined among the components constituting the game may be included here.

서버(200)는 명령들을 저장하는 적어도 하나의 메모리(201) 및 적어도 하나의 프로세서(202)를 포함하고, 명령들은 프로세서(202)로 하여금 동작들을 수행하게 하기 위해 프로세서(202)에 의해 실행 가능하고, 동작들은 게임 실행 요청 신호 수신, 랜덤 값 요청 신호 전송, 서버시드 생성, 유저시드 수신, 조합시드 생성, 해시 값 생성, 확률 기반 가변 구성 요소 결정, 메모리(210) 내의 데이터 검색, 게임 데이터 송수신 및 각종 전송 전송 동작을 포함할 수 있다.The server 200 includes at least one memory 201 and at least one processor 202 for storing instructions and instructions are executable by the processor 202 to cause the processor 202 to perform operations. The operations include receiving a game execution request signal, transmitting a random value request signal, generating a server seed, receiving a user seed, generating a combined seed, generating a hash value, determining a probability based variable component, retrieving data in the memory 210, And various transmission and transmission operations.

또한, 서버(200)는 확률 기반 가변 구성 요소를 생성하기 위하여 시드, 랜덤 함수 및 해시 함수를 이용할 수 있다. 랜덤 함수는 시드를 입력 받아 임의의 길이의 랜덤 값을 출력하는 함수이다. 예를 들어, 서버(200)는 랜덤 함수로부터 출력 가능한 모든 랜덤 값들을 복수의 데크 정보들 각각에 매칭시키고, 복수의 데크 정보들 중에서 랜덤 함수로부터 출력된 랜덤 값에 미리 매칭된 데크 정보를 선택할 수 있다. 다른 예로, 서버(200)는 랜덤 함수로부터 출력 가능한 모든 랜덤 값들을 주사위가 표현 가능한 수들 각각에 매칭시키고, 주사위가 표현 가능한 수들 중에서 랜덤 함수로부터 출력된 랜덤 값에 미리 매칭된 주사위의 수를 선택할 수 있다. 본 명세서에서 설명하는 랜덤 함수들은 서로 다른 종류의 랜덤 함수가 될 수 있다. 따라서, 랜덤 함수들은 각각 동일한 입력에 대한 서로 다른 값을 출력할 수 있으나 이에 한정하는 것은 아니다.In addition, the server 200 may use a seed, a random function, and a hash function to generate a probability-based variable component. A random function is a function that receives a seed and outputs a random value of arbitrary length. For example, the server 200 may match all the random values that can be output from the random function to each of the plurality of deck information, and may select deck information matched in advance to the random value output from the random function among the plurality of deck information have. As another example, the server 200 may match all of the random values that can be output from the random function to each of the numbers that can be represented by the die, and may select the number of dice matched in advance to the random value output from the random function, have. The random functions described herein can be different kinds of random functions. Thus, the random functions may each output different values for the same input, but are not limited thereto.

해쉬 함수는 임의의 길이를 갖는 메시지인 시드를 입력 받아 고정된 길이의 해쉬 값을 출력하는 함수이다. 해쉬 함수는 키를 사용하지 않으므로 같은 입력에 대해서는 항상 같은 출력이 나오게 된다. 이러한 함수를 사용하는 목적은 입력 시드에 대한 변경할 수 없는 증거 값을 뽑아냄으로서 시드의 오류나 변조를 탐지할 수 있는 무결성을 제공할 수 있다. 해시 함수의 예시로는, SHA(Secure Hash Algorithm), HAS-160가 있으나 이에 제한되는 것은 아니고 공지의 해시 함수를 이용할 수 있다.The hash function is a function that receives a seed message having an arbitrary length and outputs a hash value of a fixed length. The hash function does not use keys, so the same output always appears for the same input. The purpose of using these functions is to provide an integrity to detect seed errors or tampering by extracting unchangeable evidence values for the input seeds. Examples of the hash function include Secure Hash Algorithm (SHA) and HAS-160, but not limited thereto, and well-known hash functions can be used.

서버(200)는 랜덤 함수와 해시 함수의 입력 값 중 적어도 일부가 되는 시드를 생성할 수 있고, 아울러 게임 서비스를 구성하여 이를 유저측 디바이스(100)로 제공할 수 있다. 다른 측면에서, 서버(200)는 시드를 생성하는 시드 생성 서버(210) 및 게임서버(220)로 구성될 수 있다. 게임서버(220)는 시드 생성 서버(210)로부터 생성된 시드를 수신하여 확률 기반 가변 구성 요소를 생성하고 유저측 디바이스(100)로 게임 서비스를 제공할 수 있다.The server 200 can generate a seed that is at least a part of the input values of the random function and the hash function, and can configure the game service and provide it to the user-side device 100. In another aspect, the server 200 may be composed of a seed generation server 210 and a game server 220 that generate a seed. The game server 220 may receive the seed generated from the seed generation server 210 to generate a probability-based variable component and provide the game service to the user-side device 100.

네트워크(300)는 유저측 디바이스(100) 및 서버(200)들과 같은, 다양한 네트워크 노드들 사이에서 통신을 용이하게 하는 임의의 요소 또는 시스템을 포함할 수 있다. 예컨대 네트워크(300)는 컴퓨터 네트워크들, 전화 또는 다른 통신 네트워크들, 인터넷 등과 같은 하나 이상의 전기통신 네트워크들을 포함할 수 있다. 아울러 네트워크(300)는 광역(예: WAN) 또는 근거리(예: LAN)를 포괄하는 공유형 공공, 또는 사설의 데이터 네트워크를 포함할 수 있다. 일부 구현들에서, 네트워크(300)는 인터넷 프로토콜(IP)을 사용하여 패킷 교환의 방식으로 데이터 교환을 용이하게 할 수 있다. 또한, 네트워크(300)는 유선 및/또는 무선 연결 및 통신을 용이하게 할 수 있다.The network 300 may include any element or system that facilitates communication between various network nodes, such as the user-side device 100 and the servers 200. For example, the network 300 may include one or more telecommunication networks, such as computer networks, telephone or other communication networks, the Internet, and the like. In addition, the network 300 may include a shared public or private data network covering a wide area (e.g., WAN) or a nearby area (e.g., a LAN). In some implementations, the network 300 may facilitate exchanging data in a packet-switched manner using the Internet Protocol (IP). Also, the network 300 may facilitate wired and / or wireless connections and communications.

도 2a 내지 도 2c는 본 발명의 실시예에 따른 프로버블리티 페어 게임 방법에 대한 흐름도이고, 도 2d는 프로버블리티 페어 게임 방법에 대한 이해를 돕기 위한 개념도이다.FIGS. 2A to 2C are flowcharts of a pro bubble play method according to an embodiment of the present invention, and FIG. 2D is a conceptual diagram for helping understanding of a pro bubble play method.

도 2a 내지 도 2d를 참조하면, 본 발명의 실시예에 따른 프로버블리티 페어 게임 방법(S100)은 매크로 정보에 기초하여 서버시드를 생성하는 단계(S110), 서버시드에 기초하여 유저확인용 해시 값을 생성하는 단계(S120), 유저확인용 해시 값을 유저측 디바이스로 전송하는 단계(S130), 서버시드에 기초하여 랜덤 값을 생성하는 단계(S140), 랜덤 값에 기초하여 게임 내의 확률 기반 가변 구성 요소를 결정하는 단계(S150), 결정된 확률 기반 가변 구성 요소를 포함하는 게임 데이터를 유저측 디바이스로 전송하는 단계(S160) 및 게임 종료 후 서버시드를 유저측 디바이스로 전송하는 단계(S170)를 포함할 수 있다.2A to 2D, a prooblessy game method S100 according to an exemplary embodiment of the present invention includes generating a server seed based on macro information (S110), generating a hash for user confirmation Generating a random value based on the server seed (S140); generating a random number based on the probability value in the game based on the random value (S120) (S160) of transmitting the game data including the determined probability-based variable component to the user device (S160); and transmitting the server seed to the user device (S170) after the game is finished . ≪ / RTI >

보다 상세하게는, 서버(200)는 매크로 정보에 기초하여 서버시드를 생성할 수 있다(S110). 매크로 정보는 일정한 규칙성 없이 매 게임 마다 변동 가능한 정보이다. 예를 들어, 매크로 정보는 유저 정보 및 게임 플레이 정보를 포함할 수 있다. 유저 정보는 유저의 게임 등급 레벨, 특정 게임에서의 승패 정보, 특정 게임에서의 게임 등수나 유저가 보유한 가상 머니 등 매 게임 마다 변동이 가능한 유저만의 고유 정보가 될 수 있다. 또한, 게임 플레이 정보는 게임의 진행 과정 정보, 게임의 결과 정보 등 특정 게임 환경에서 나타난 다양한 게임 시나리오 정보가 될 수 있다.More specifically, the server 200 may generate a server seed based on the macro information (S110). The macro information is information that can be changed every game without a certain regularity. For example, the macro information may include user information and game play information. The user information may be information unique to a user who can vary every game, such as a user's game grade level, winning or losing information in a specific game, number of games in a specific game, virtual money held by the user, and the like. Also, the game play information may be various game scenario information displayed in a specific game environment such as game progress information, game result information, and the like.

서버(200)는 유저측 디바이스(100)에 게임 서비스를 제공하면서 유저 정보 및 게임 플레이 정보를 데이터베이스화하여 저장하고, 이를 지속적으로 업데이트 할 수 있다.The server 200 may provide user services and game play information to the user-side device 100 while storing the user information and the game play information in a database, and may continuously update the user information and the game play information.

도 2a를 참조하면, 예시적으로 서버시드 생성 단계(S110)는 데이터베이스로부터 이전 게임에서의 미리 설정된 등수에 해당하는 유저의 게임 머니 정보를 검색하는 단계(S111a), 검색한 게임 머니 정보에 기초하여 서버시드를 생성하는 단계(S112a)를 포함할 수 있다. 예를 들어, 서버(200)는 이전 게임에서 1등을 기록한 유저를 데이터베이스에서 검색하고 해당 유저의 게임 머니 정보를 읽어 드릴 수 있다. 그리고 게임 머니 정보를 입력으로 하는 랜덤 함수의 출력 값을 서버시드로 이용할 수 있다.Referring to FIG. 2A, a server seed generation step (S110) includes a step (S111a) of retrieving game money information of a user corresponding to a preset rank in a previous game from a database (S111a) And generating a server seed (S112a). For example, the server 200 may search the database for the user who recorded the first rank in the previous game and read the game money information of the user. The output value of the random function that receives game money information can be used as the server seed.

도 2b를 참조하면, 예시적으로 서버시드 생성 단계(S110)는 데이터베이스로부터 이전 게임에서의 카드 분배 순서 정보를 검색하는 단계(S111b) 및 카드 분배 순서 정보에 기초하여 서버시드를 생성하는 단계(S112b)를 포함할 수 있다. 예를 들어, 서버(200)는 이전 게임에서의 게임 시나리오에 따른 유저들에게 카드가 분배된 순서 정보를 데이터베이스에서 검색할 수 있다. 그리고 검색된 카드 분배 순서 정보를 입력으로 하는 랜덤 함수의 출력 값을 서버시드로 이용할 수 있다. 여기서의 카드 분배 순서는 게임 플레이 과정 중의 특정 시점에 분배된 카드에 대한 정보가 될 수 있다. 다른 측면에서, 게임 플레이 과정 중의 특정 시구간 동안 분배된 모든 카드에 대한 정보가 될 수 있다. 또 다른 측면에서, 게임 플레이 과정 중의 특정 시점부터 분배된 x개의 카드에 대한 정보가 될 수 있다. 다만, 이에 한정하는 것은 아니다.Referring to FIG. 2B, a server seed generation step (S110) includes a step (S111b) of retrieving card distribution order information in a previous game from a database and a step (S112b) of generating a server seed based on card distribution order information ). For example, the server 200 can search the database for the order information of the cards distributed to the users according to the game scenario in the previous game. The output value of the random function that receives the card distribution order information that is searched can be used as the server seed. Here, the card dispense order may be information on a card distributed at a specific point in the game play process. On the other hand, it can be information about all the cards distributed during a specific time period during the game play process. In another aspect, it may be information about x cards distributed from a particular point in the gameplay process. However, the present invention is not limited thereto.

도 2c를 참조하면, 예시적으로 서버시드 생성 단계(S110)는 데이터베이스로부터 이전 게임 플레이 상황에서 유저들의 버린 카드 정보를 검색하는 단계(S111c) 및 버린 카드 정보에 기초하여 서버시드를 생성하는 단계(S112C)를 포함할 수 있다. 예를 들어, 서버(200)는 이전 게임에서의 게임 시나리오에 따른 유저들이 버린 카드 정보를 데이터베이스에서 검색할 수 있다. 그리고 검색된 카드 정보를 입력으로 하는 랜덤 함수의 출력 값을 서버시드로 이용할 수 있다. 여기서의 유저들이 버린 카드 정보는 게임 플레이 과정 중의 특정 시점에 버려진 카드에 대한 정보가 될 수 있다. 다른 측면에서, 게임 플레이 과정 중의 특정 시구간 동안 버려진 카드들에 대한 정보가 될 수 있다. 또 다른 측면에서, 게임 플레이 과정 중의 특정 시점부터 버려진 x개의 카드에 대한 정보가 될 수 있다. 다만, 이에 한정하는 것은 아니다.Referring to FIG. 2C, a server seed generation step (S110) includes a step S111c of retrieving discarded card information of users in a previous game play situation from a database and a step of generating a server seed based on discarded card information S112C). For example, the server 200 may search the database for card information that has been abandoned by users according to the game scenario in the previous game. The output value of the random function that receives the retrieved card information can be used as the server seed. The card information that the user has discarded here may be information on the card discarded at a specific point in the game play process. In other respects, it may be information about discarded cards during a specific time period during the game play process. In another aspect, it may be information about x cards discarded from a particular point in the gameplay process. However, the present invention is not limited thereto.

한편, 서버시드는 숫자, 문자 또는 숫자열이나 문자열 또는 숫자와 문자의 조합으로 구성될 수 있으나 이에 제한되는 것은 아니다.On the other hand, the server seed may be composed of numerals, letters or numbers, strings, or combinations of numbers and letters, but is not limited thereto.

또한, 서버(200)는 매크로 정보에 기초하여 생성한 서버시드가 32bit 또는 64bit의 길이에 해당하지 않는 경우 인코딩 또는 해시를 통해 수의 길이를 조절할 수도 있다.In addition, if the server seed generated based on the macro information does not correspond to the length of 32 bits or 64 bits, the server 200 may adjust the length of the number through encoding or hashing.

서버(200)는 생성한 서버시드를 입력으로 하는 해시 함수의 출력 값인 유저확인용 해시 값을 생성할 수 있다. 또한, 서버(200)는 유저확인용 해시 값을 유저측 디바이스(100)로 전송할 수 있다.The server 200 can generate a hash value for user confirmation that is an output value of the hash function that receives the created server seed as input. In addition, the server 200 can transmit the user confirmation hash value to the user-side device 100. [

유저측 디바이스(100)는 유저확인용 해시 값을 수신하면 이를 디스플레이할 수 있다. 다른 측면에서, 유저측 디바이스(100)는 유저가 유저확인용 해시 값 표시 아이콘을 디스플레이할 수 있다. 그리고 해당 아이콘에 대한 유저의 선택에 응답하여 서버(200)로부터 수신한 유저확인용 해시 값을 디스플레이할 수 있다.Upon receiving the user confirmation hash value, the user-side device 100 can display the hash value. In another aspect, the user-side device 100 may display a hash value display icon for user confirmation. And display the user confirmation hash value received from the server 200 in response to the user's selection of the corresponding icon.

서버(200)는 서버시드를 입력으로 하는 랜덤 함수의 출력 값인 랜덤 값을 생성할 수 있다. 일부 실시예에 따르면, 32bit 체제인 서버(200)에서의 서버시드는 2의 32승에 해당하거나 이에 근접한 숫자로 구성될 수 있고, 64bit 체제인 서버(200)에서의 서버시드는 2의 64승에 해당하거나 이에 근접한 숫자로 구성될 수 있다.The server 200 can generate a random value which is an output value of the random function that receives the server seed. According to some embodiments, the server seed in the server 200, which is a 32-bit system, may be composed of numbers corresponding to or close to the 32th power of 2, and the server seed in the server 200 of 64-bit system corresponds to 2 to 64 Or a number close thereto.

또한, 서버(200)는 생성한 랜덤 값에 기초하여 게임 내의 확률 기반 가변 구성 요소를 결정할 수 있다. 또한, 서버(200)는 결정된 확률 기반 가변 구성 요소를 포함하는 게임 데이터를 유저측 디바이스(100)로 전송할 수 있다. 유저측 디바이스(100)는 수신된 게임 데이터에 기초하여 게임을 플레이할 수 있다.In addition, the server 200 may determine a probability-based variable component in the game based on the generated random value. In addition, the server 200 may transmit the game data including the determined probability-based variable component to the user-side device 100. [ The user device 100 can play the game based on the received game data.

또한, 서버(200)는 게임 종료 후 서버시드를 유저측 디바이스(100)로 전송할 수 있다.In addition, the server 200 can transmit the server seed to the user-side device 100 after the game ends.

또한, 프로버블리티 페어 게임 방법(S100)은 유저측 디바이스의 요청에 응답하여 서버시드를 이용하여 유저확인용 해시 값이 생성되는 것을 검증할 수 있는 검증용페이지를 전송하는 단계를 더 포함할 수 있다.In addition, the proobality fair game method (SlOO) may further include transmitting a verification page capable of verifying that the user confirmation hash value is generated using the server seed in response to the request of the user device have.

검증용페이지에는 서버(200)가 사용한 해시 함수가 미리 프로그램될 수 있다. The hash function used by the server 200 can be preprogrammed in the verification page.

다른 측면에서, 검증용페이지는 서버(200)가 사용한 해시 함수를 이용하여 출력 값을 계산할 수 있도록 하는 페이지로 연결하는 링크를 포함하는 형태로 구성될 수도 있다. 따라서, 유저는 검증용페이지 상에서(또는, 검증용페이지 상의 링크에 연결된 페이지 상에서) 서버(200)로부터 수신한 서버시드를 입력하여 서버(200)로부터 수신한 유저확인용 해시 값과 동일한 값이 나오는지를 검증할 수 있다.In another aspect, the verification page may be configured to include a link to a page that allows the server 200 to calculate the output value using the hash function used by the server 200. [ Therefore, the user inputs the server seed received from the server 200 on the verification page (or on the page connected to the link on the verification page) and checks whether the same value as the user confirmation hash value received from the server 200 Can be verified.

본 발명의 실시예에 따르면, 서버(200)는 매크로 정보에 기초하여 서버 시드를 생성한다. 따라서, 해킹 등의 원인으로 서버(200)가 생성 가능한 모든 서버시드에 대한 정보를 유저가 알고 있는 경우라고 하여도, 유저는 확률 기반 가변 구성 요소를 결정할 때 실제 어떤 서버시드가 이용될지 유추하는 것은 매우 어렵다.According to the embodiment of the present invention, the server 200 generates a server seed based on macro information. Therefore, even if the user knows information on all server seeds that the server 200 can generate due to hacking or the like, the user can infer what actual server seed will be used when determining the probability-based variable component It is very difficult.

또한, 서버(200)는 매 게임 마다 서로 다른 매크로 정보를 이용하여 서버시드를 생성하도록 구성될 수도 있다. 따라서, 유저가 대량의 컴퓨팅 자원을 이용한다고 하여도 유저가 현재 게임에서 사용할 서버시드를 실시간으로 유추하는 것이 거의 불가능하게 한다.In addition, the server 200 may be configured to generate server seeds using different macro information for each game. Therefore, even if a user utilizes a large amount of computing resources, it is almost impossible for a user to infer a server seed to be used in a current game in real time.

도 2e는 본 발명의 다른 실시예에 따른 프로버블리티 페어 게임 방법에 대한 흐름도이다.FIG. 2E is a flowchart of a proobligience fair game method according to another embodiment of the present invention.

도 2e를 참조하면, 본 발명의 실시예에 따른 프로버블리티 페어 게임 방법(S100)은 유저측 디바이스로부터 유저시드를 수신하는 단계(S110), 매크로 정보에 기초하여 서버시드를 생성하는 단계(S120), 유저시드 및 서버시드를 조합한 조합시드를 생성하는 단계(S130), 조합시드에 기초하여 유저확인용 해시 값을 생성하는 단계(S140), 유저확인용 해시 값을 유저측 디바이스로 전송하는 단계(S150), 조합시드에 기초하여 랜덤 값을 생성하는 단계(S160), 랜덤 값에 기초하여 게임 내의 확률 기반 가변 구성 요소를 결정하는 단계(S170), 결정된 확률 기반 가변 구성 요소를 포함하는 게임 데이터를 유저측 디바이스로 전송하는 단계(S180) 및 게임 종료 후 서버시드를 유저측 디바이스로 전송하는 단계(S190)를 포함할 수 있다.Referring to FIG. 2E, a proobabity fair game method S100 according to an embodiment of the present invention includes a step S110 of receiving a user seed from a user side device, a step S120 of generating a server seed based on macro information, (S130) generating a combination seed in which a user seed and a server seed are combined, generating a user confirmation hash value based on the combination seed (S140), and transmitting the user confirmation hash value to the user device (S160), generating a random value based on the combination seed (S160), determining a probability-based variable component in the game based on the random value (S170), determining a game including the determined probability-based variable component Transmitting the data to the user device (S180), and transmitting the server seed to the user device (S190) after the game is finished.

보다 상세하게는, 유저측 디바이스(100)에서 프로버블리티 페어 게임이 실행되면, 유저측디바이스(100)는 유저시드를 서버(200)로 전송할 수 있다. 유저측 디바이스(100)는 프로버블리티 페어 게임의 실행 시 유저측 디바이스(100)에 미리 설치된 난수 생성 프로그램에 의해서 자동으로 생성되는 유저시드를 서버(200)로 전송할 수 있다. 난수 생성 프로그램은 다양한 유저측 디바이스(100)의 특성과 관련되거나 유저의 게임 정보와 관련된 다양한 입력 변수에 기초하여 유저시드를 생성할 수 있다. 난수 생성 프로그램에 의해 생성된 유저시드는 유저가 확인 가능하도록 유저측 디바이스(100)에서 표시될 수 있다. 다른 측면에서, 유저측 디바이스(100)는 유저가 입력한 유저시드를 서버(200)로 전송할 수도 있다. More specifically, when the proberability game is executed in the user-side device 100, the user-side device 100 can transmit the user seed to the server 200. [ The user device 100 can transmit to the server 200 a user seed automatically generated by the random number generation program installed in advance on the user device 100 at the time of execution of the proberability fair game. The random number generation program may generate a user seed based on various input variables associated with the characteristics of the various user-side devices 100 or related to the user's game information. The user seed generated by the random number generation program can be displayed on the user-side device 100 so that the user can confirm it. In another aspect, the user-side device 100 may send the user seed entered by the user to the server 200. [

서버(200)는 매크로 정보를 입력으로 하는 랜덤 함수의 출력 값인 서버시드를 생성할 수 있다.The server 200 can generate a server seed which is an output value of a random function that receives macro information as input.

유저시드 및 서버시드는 숫자, 문자 또는 숫자열이나 문자열 또는 숫자와 문자의 조합으로 구성될 수 있으나 이에 제한되는 것은 아니다.The user seed and the server seed may consist of, but are not limited to, numbers, letters or numbers, strings, or combinations of numbers and letters.

서버(200)는 유저시드 및 서버시드를 조합한 조합시드를 생성할 수 있다. 예를 들어, 서버(200)는 AAA라는 문자열인 유저시드와 BBB라는 문자열인 서버시드를 조합하여 AAABBB라는 문자열인 조합시드를 생성할 수 있다.The server 200 can generate a combination seed in which a user seed and a server seed are combined. For example, the server 200 can generate a combination seed, which is a string AAABBB, by combining a user seed, which is a string of AAA, and a server seed, which is a string of BBB.

서버(200)는 조합시드에 기초하여 유저확인용 해시 값을 생성할 수 있다. 예를 들어, 서버(200)는 AAABBB 문자열인 조합시드를 입력으로 하여 #!ojqncui@$ 문자열인 유저확인용 해시 값을 출력하는 해시 함수를 이용하여 유저확인용 해시 값을 생성할 수 있다.The server 200 may generate a hash value for user confirmation based on the combination seed. For example, the server 200 may generate a user confirmation hash value using a hash function that outputs a user confirmation hash value, which is string #! Ojqncui @ $, as an input of a combination seed, which is an AAABBB string.

서버(200)는 유저확인용 해시 값을 유저측 디바이스로 전송할 수 있다. 그리고 서버(200)는 조합시드를 입력으로 하여 랜덤 값을 출력하는 랜덤 함수를 이용하여 조합시드에 대한 랜덤 값을 생성하고, 생성된 랜덤 값에 기초하여 게임 내의 확률 기반 가변 구성 요소를 결정할 수 있다. 그리고 서버(200)는 결정된 확률 기반 가변 구성 요소를 포함하는 게임 데이터를 유저측 다비이스(100)로 전송하여 게임이 플레이되도록 할 수 있다. 그리고 서버(200)는 게임 종료 후 유저측 디바이스(100)의 요청에 응답하여 서버시드를 유저측 디바이스(100)로 전송할 수 있다.The server 200 can transmit the user confirmation hash value to the user side device. The server 200 may generate a random value for the combination seed using a random function that outputs a random value based on the combination seed, and may determine a probability-based variable component in the game based on the generated random value . Then, the server 200 may transmit the game data including the determined probability-based variable component to the user-side device 100 so that the game is played. The server 200 may transmit the server seed to the user-side device 100 in response to a request from the user-side device 100 after the game ends.

유저는 서버(200)에서 사용된 해시 함수를 이용하여 수신한 서버시드와 미리 알고 있는 유저시드를 조합한 조합시드를 입력으로 할 때 해시 함수가 유저확인용 해시 값이 출력되는지를 확인함으로써 확률의 공정성을 검증할 수 있다.When a user inputs a combination seed obtained by combining a received server seed with a known user seed using the hash function used in the server 200, the user checks whether or not the hash function outputs a hash value for user confirmation, Fairness can be verified.

또한, 실시예는 랜덤 값 생성 시 유저시드를 이용하므로 유저의 게임의 공정성에 대한 신뢰도를 향상시킬 수 있다. 아울러 실시예는 서버시드를 생성할 때 유저의 게임 플레이 결과에 따라 변동 가능한 매크로 정보를 이용하므로 서버시드가 유출될 가능성 및 레인보우 테이블을 이용한 시드 해킹 가능성을 최소화할 수 있다.In addition, since the embodiment uses the user seed when generating the random value, the reliability of the fairness of the game of the user can be improved. In addition, since the embodiment uses variable macro information according to a game play result of a user when creating a server seed, possibility of server seed leakage and possibility of seed hacking using a rainbow table can be minimized.

한편, 매크로 정보를 이용하여 서버시드를 생성하는 방식은 다른 실시예에도 적용될 수 있다.Meanwhile, the method of generating the server seed using the macro information may be applied to other embodiments.

도 3a 및 도 3b는 본 발명의 다른 실시예에 따른 프로버블리티 페어 게임 방법에 대한 흐름도이다. 그리고 도 3c 및 도 3d는 프로버블리티 페어 게임 방법에 대한 이해를 돕기 위한 개념도이다.FIG. 3A and FIG. 3B are flowcharts of a proobligience fair game method according to another embodiment of the present invention. And FIGS. 3C and 3D are conceptual diagrams for helping understanding of the proobligience fair game method.

도 1b, 도 3a 및 도 3c를 참조하면, 본 발명의 다른 실시예에 따른 프로버블리티 페어 게임 방법(S200)은 유저측 디바이스로부터의 게임 실행 요청 신호의 수신 횟수를 카운팅하는 단계(S210), 카운팅 정보를 포함하는 랜덤 값 요청 신호를 시드 생성 서버로 전송하는 단계(S220), 수신된 랜덤 값에 기초하여 유저확인용 해시 값을 생성하는 단계(S230), 생성한 유저확인용 해시 값을 유저측 디바이스로 전송하는 단계(S240), 수신된 랜덤 값에 기초하여 게임 내의 확률 가변 구성 요소를 결정하는 단계(S250), 결정된 확률 기반 가변 요소를 포함하는 게임 데이터를 유저측 디바이스로 전송하는 단계(S260) 및 게임 종료 후 랜덤 값을 유저측 디바이스로 전송하는 단계(S270)를 포함할 수 있다.Referring to FIGS. 1B, 3A, and 3C, a proobligience fair game method (S200) according to another embodiment of the present invention includes counting the number of times of receiving a game execution request signal from the user device (S210) A random number request signal including counting information to the seed generation server (S220), generating a hash value for user confirmation based on the received random number (S230), and transmitting the generated hash value to the user (S240) of transmitting the random variable based on the random variable based on the received random variable to the side device (S250), determining (S250) a probability variable component in the game based on the received random value, S260) and transmitting the random value to the user device after the game ends (S270).

보다 상세하게는, 게임서버(220)는 유저측 디바이스(100)로부터 게임 실행 요청 신호를 수신하면 카운팅 정보를 업데이트 할 수 있다. 즉, 복수의 유저측 디바이스들 각각으로부터 게임 실행 요청 신호가 수신될 때마다 수신 횟수를 카운팅할 수 있다. 그리고 게임서버(220)는 특정 유저측 디바이스로부터 게임 실행 요청 신호를 수신하면 카운팅 정보를 업데이트하고, 업데이트된 카운팅 숫자를 시드 생성 서버(210)로 전송하면서 랜덤 값을 요청할 수 있다. 시드 생성 서버(210)는 랜덤 값 요청에 응답하여 수신된 카운팅 숫자를 기초로 랜덤 값을 생성할 수 있다. 즉, 시드 생성 서버(210)는 카운팅 숫자를 입력으로 하는 랜덤 함수의 출력 값인 랜덤 값을 생성할 수 있다. 그리고 게임서버(220)는 시드 생성 서버(210)로부터 수신된 랜덤 값을 서버시드로 이용할 수 있다. 또한, 게임서버(220)는 서버시드에 기초하여 유저확인용 해시 값을 생성하여 이를 유저측 디바이스(100)로 전송할 수 있다. 그리고 게임서버(220)는 서버시드를 입력으로 하는 랜덤 함수의 출력 값에 기초하여 게임 내의 확률 가변 구성 요소를 결정할 수 있다. 그리고 게임서버(220)는 결정된 확률 가변 구성 요소 정보를 포함하는 게임 데이터를 유저측 디바이스(100)로 전송할 수 있다. 유저측 디바이스(100)는 수신된 게임 데이터에 기초하여 게임을 플레이할 수 있다. 그리고 유저측 디바이스(100)는 게임 종료 후 게임 검증을 위하여 게임서버(220)로 게임 검증 요청을 할 수 있다. 그리고 게임서버(220)는 게임 검증 요청에 응답하여 랜덤 값인 서버시드를 유저측 디바이스(100)로 전송할 수 있다.More specifically, when the game server 220 receives the game execution request signal from the user-side device 100, the game server 220 can update the counting information. That is, each time a game execution request signal is received from each of the plurality of user-side devices, the number of reception times can be counted. When the game server 220 receives the game execution request signal from the specific user device, the game server 220 updates the counting information and transmits the updated counting number to the seed generation server 210 to request a random value. The seed generation server 210 may generate a random value based on the counted number received in response to the random value request. That is, the seed generation server 210 may generate a random value that is an output value of a random function that inputs a counting number. The game server 220 may use the random value received from the seed generation server 210 as a server seed. In addition, the game server 220 may generate a hash value for user confirmation based on the server seed and transmit it to the user-side device 100. The game server 220 may then determine the variable-random component in the game based on the output value of the random function that takes the server seed as input. Then, the game server 220 may transmit the game data including the determined variable variable component information to the user-side device 100. The user device 100 can play the game based on the received game data. Then, the user-side device 100 can request a game verification to the game server 220 for game verification after the game ends. The game server 220 may then send the server seed, which is a random value, to the user-side device 100 in response to the game verification request.

실시예는 서버시드가 모두 유출된 상황에서도 서버시드로 이용될 랜덤 값을 해킹할 수 없도록 한다. 보다 상세하게는, 게임서버(200)는 복수의 유저측 디바이스로부터의 게임 실행 요청 신호를 수신하면 이를 카운팅하고, 카운팅 정보를 시드 생성 서버로 전송한다. 그리고 시드 생성 서버는 수신된 카운팅 정보에 기초하여 랜덤 값을 생성한다. 즉, 카운팅 정보가 달라지면 랜덤 값 또한 달라질 수 있다. 이 경우, 특정 유저가 시드 생성 서버의 랜덤 값 생성 알고리즘을 해킹한 경우라고 하여도, 특정 유저의 디바이스가 게임서버(220)에 몇 번째로 게임 실행 요청 신호를 전송하였는지 유추하기 매우 곤란하다. 따라서, 실시예는 유저로 하여금 시드 생성 서버(210)가 생성하는 랜덤 값을 실시간으로 파악하는 것이 매우 어렵도록 한다.The embodiment makes it impossible to hack the random value to be used as the server seed even in the case where all the server seeds are leaked. More specifically, when the game server 200 receives a game execution request signal from a plurality of user devices, the game server 200 counts the game execution request signal and transmits the counting information to the seed generation server. And the seed generation server generates a random value based on the received counting information. That is, if the counting information is different, the random value may also be changed. In this case, even if a specific user hacked the random value generation algorithm of the seed generation server, it is very difficult to guess how many times the game device 220 transmits the game execution request signal to the game server 220. Therefore, the embodiment makes it very difficult for the user to grasp the random value generated by the seed generation server 210 in real time.

도 1b, 도 3a 및 도 3d를 참조하여, 본 발명의 다른 실시예에 따른 프로버블리티 페어 게임 방법(S200)을 다른 측면에서 설명한다. 실시예는 유저측 디바이스로부터의 게임 실행 요청 신호의 수신 횟수를 카운팅하는 단계(S210), 미리 등록된 복수개의 시드 생성 서버의 개수 정보 및 카운팅 정보에 기초하여 복수개의 시드 생성 서버 중 어느 하나의 시드 생성 서버로 랜덤 값을 요청하는 단계(S220), 수신된 랜덤 값에 기초하여 유저확인용 해시 값을 생성하는 단계(S230), 생성한 유저확인용 해시 값을 유저측 디바이스로 전송하는 단계(S240), 수신된 랜덤 값에 기초하여 게임 내의 확률 가변 구성 요소를 결정하는 단계(S250), 결정된 확률 기반 가변 요소를 포함하는 게임 데이터를 유저측 디바이스로 전송하는 단계(S260) 및 게임 종료 후 랜덤 값을 유저측 디바이스로 전송하는 단계(S270)를 포함할 수 있다.Referring to FIG. 1B, FIG. 3A and FIG. 3D, a prooblessience game method (S200) according to another embodiment of the present invention will be described in another aspect. The embodiment includes a step S210 of counting the number of receipt of a game execution request signal from the user device (S210), a step S210 of counting the number of receipt of the game execution request signal from the user side device (Step S220), generating a hash value for user confirmation based on the received random value (S230), transmitting the created hash value for user confirmation to the user device (step S240 (S250) of determining a probability variable component in the game based on the received random value, transmitting the game data including the determined probability-based variable component to the user device (S260) To the user device (S270).

보다 상세하게는, 게임서버(220)는 복수의 유저측 디바이스(100)로부터 게임 실행 요청 신호를 수신할 수 있다. 여기서의 게임 실행 요청 신호는 게임서버(220)가 서버시드의 생성 동작을 개시하도록 하는 신호가 될 수 있다. 그리고 게임서버(220)는 수신되는 게임 실행 요청 신호를 카운팅 할 수 있다. 그리고 게임서버(220)는 미리 등록된 복수개의 시드 생성 서버(210)의 개수 정보와 카운팅 정보에 기초하여 복수개의 시드 생성 서버(210) 중 어느 하나의 시드 생성 서버로 랜덤 값을 요청할 수 있다. 예를 들어, 게임서버(200)는 유저측 디바이스(100)로부터 게임 실행 요청 신호를 수신하고, 카운팅 정보를 업데이트(예를 들어 현재 카운팅 숫자가 21인 경우 업데이터된 카운팅 숫자는 22가 된다)할 수 있다. 그리고 6개의 시드 생성 서버(210)들 중 어느 하나의 시드 생성 서버로 랜덤 값을 요청할 수 있다.More specifically, the game server 220 can receive a game execution request signal from the plurality of user-side devices 100. [ Here, the game execution request signal may be a signal for causing the game server 220 to start generating the server seed. The game server 220 may count the received game execution request signal. The game server 220 can request a random value from any one of the plurality of seed generation servers 210 based on the number information and the counting information of the plurality of seed generation servers 210 registered in advance. For example, the game server 200 receives the game execution request signal from the user-side device 100 and updates the counting information (for example, if the current counting number is 21, the updated counting number is 22) . And may request a random value from any one of the six seed generation servers 210.

게임서버(220)는 J개의 시드 생성 서버(210)들 중 수학식 1로부터의 결과 값에 대응하는 하나의 시드 생성 서버를 선택하고 선택된 시드 생성 서버로 랜덤 값을 요청할 수 있다.The game server 220 may select one seed generation server corresponding to the result from Equation 1 among the J seed generation servers 210 and request a random value to the selected seed generation server.

[수학식 1][Equation 1]

카운팅된 수%미리 등록된 랜덤 서버의 개수=결과 값Number of counted% Number of pre-registered random servers = result value

전술한 예에서, 카운팅된 숫자가 22이고 미리 등록된 시드 생성 서버(210)의 개수가 6개이므로 22를 6으로 나눈 후 나머지는 4가 된다. 따라서 결과 값은 4가 된다. 이 경우, 게임 서버(220)는 4번째 시드 생성 서버로 랜덤 값을 요청할 수 있다. 다른 측면에서, 결과 값 4에 미리 매칭된 시드 생성 서버로 랜덤 값을 요청할 수 있다.In the above example, since the counted number is 22 and the number of seed generation servers 210 registered in advance is 6, 22 is divided by 6, and the rest is 4. So the result is 4. In this case, the game server 220 may request a random value to the fourth seed generation server. In another aspect, a random value may be requested to a seed generation server that has been pre-matched to result value 4.

게임서버(220)는 시드 생성 서버로부터 랜덤 값을 수신하고 수신된 랜덤 값을 서버시드로 이용할 수 있다. 그리고 게임서버(220)는 서버시드를 입력으로 하는 해시 함수의 출력 값인 유저확인용 해시 값을 생성할 수 있다. 그리고 게임서버(220)는 생성한 유저확인용 해시 값을 유저측디바이스(100)로 전송할 수 있다. 그리고 게임서버(220)는 서버시드를 입력으로 하는 랜덤 함수의 출력 값을 생성할 수 있다. 그리고 게임서버(220)는 랜덤 값에 기초하여 게임 내의 확률 가변 구성 요소를 결정할 수 있다. 그리고 게임서버(220)는 결정된 확률 기반 가변 요소를 포함하는 게임 데이터를 유저측 디바이스(100)로 전송할 수 있다. 또한, 게임서버(220)는 유저측 디바이스(100)의 요청에 응답하여 서버시드를 유저측 디바이스(100)로 전송할 수 있다.The game server 220 may receive a random value from the seed generation server and use the received random value as a server seed. The game server 220 may generate a user confirmation hash value that is an output value of the hash function that receives the server seed as input. Then, the game server 220 can transmit the created user confirmation hash value to the user-side device 100. The game server 220 may generate an output value of the random function that receives the server seed. The game server 220 may then determine a random variable component in the game based on the random value. The game server 220 may then transmit the game data including the determined probability-based variable element to the user-side device 100. In addition, the game server 220 may transmit the server seed to the user-side device 100 in response to the request of the user-side device 100. [

다른 측면에서 도 3b를 참조하면, 본 발명의 다른 실시예에 따른 프로버블리티 페어 게임 방법(S200)은 유저측 디바이스로부터의 게임 실행 요청 신호의 수신 횟수를 카운팅하는 단계(S210), 유저측 디바이스로부터 유저시드를 수신하는 단계(S220), 미리 등록된 복수개의 시드 생성 서버의 개수 정보 및 카운팅 정보에 기초하여 복수개의 시드 생성 서버 중 어느 하나의 시드 생성 서버로 랜덤 값을 요청하는 단계(S230), 수신된 랜덤 값과 유저시드를 조합하여 조합시드를 생성하는 단계(S240), 조합시드에 기초하여 유저확인용 해시 값을 생성하는 단계(S250), 생성한 유저확인용 해시 값을 유저측 디바이스로 전송하는 단계(S260), 조합시드에 기초하여 게임 내의 확률 기반 가변 구성 요소를 결정하는 단계(S270), 결정된 확률 기반 가변 요소를 포함하는 게임 데이터를 유저측 디바이스로 전송하는 단계(S280) 및 게임 종료 후 랜덤 값을 유저측 디바이스로 전송하는 단계(S290)를 포함할 수 있다.Referring to FIG. 3B, a proobality fair game method (S200) according to another embodiment of the present invention includes counting the number of times of receiving a game execution request signal from the user device (S210) A step S230 of requesting a seed generation server of a plurality of seed generation servers based on the number information and counting information of a plurality of seed generation servers registered in advance (S220) (S240) generating a combination seed by combining the received random value and the user seed, generating a user confirmation hash value based on the combination seed (S250), and transmitting the generated user confirmation hash value to the user device (S260), determining a probability-based variable component in the game based on the combination seed (S270), determining the game data including the determined probability-based variable element (S280) of transmitting the random value to the user device (S280), and transmitting the random value to the user device after the game (S290).

예를 들어, 보다 상세하게 설명하면 게임서버(220)는 유저측 디바이스(100)로부터 게임 실행 요청 신호를 수신할 때마다 수를 하나씩 증가시키는 방식으로 게임 실행 요청 신호를 카운팅할 수 있다. 그리고 게임서버(220)는 유저측 디바이스(100)에서 생성된 유저시드를 수신할 수 있다. 다른 측면에서 게임 실행 요청 신호는 유저시드 정보를 포함할 수도 있다. 그리고 게임서버(220)는 전술한 수학식 1에 따라 미리 등록된 복수개의 시드 생성 서버의 개수 정보와 현재의 카운팅 수 정보에 기초하여 수학식 1의 결과값을 계산할 수 있다. 그리고 게임서버(220)는 계산된 결과값에 매칭되는 시드 생성 서버로 랜덤 값을 요청할 수 있다. 시드 생성 서버(210)는 게임서버(220)로부터 수신된 랜덤 값 요청 신호에 응답하여 랜덤 값을 생성하고 이를 게임서버(220)로 전송할 수 있다.For example, in more detail, the game server 220 may count a game execution request signal by incrementing the game execution request signal by one each time the game execution request signal is received from the user-side device 100. The game server 220 may receive the user seed generated by the user-side device 100. In another aspect, the game execution request signal may include user seed information. The game server 220 can calculate the result of Equation (1) based on the number of seed generating servers previously registered according to Equation (1) and the current counting information. Then, the game server 220 can request a random value to the seed generation server matching the calculated result value. The seed generation server 210 may generate a random value in response to the random value request signal received from the game server 220 and may transmit the generated random value to the game server 220.

게임서버(220)는 수신된 랜덤 값을 서버시드로 이용할 수 있다. 그리고 게임서버(220)는 유저시드와 서버시드를 조합한 조합시드를 생성하고, 조합시드를 입력으로 하는 해시 함수의 출력 값인 유저확인용 해시 값을 생성할 수 있다. 그리고 게임서버(220)는 유저확인용 해시 값을 유저측 디바이스(100)로 전송할 수 있다. 또한, 게임서버(220)는 조합시드에 기초하여 게임 내의 확률 기반 가변 구성 요소를 결정하고, 결정된 확률 기반 가변 요소에 대한 정보를 포함하는 게임 데이터를 유저측 디바이스(100)로 전송할 수 있다. 또한, 게임이 종료된 이후 유저측 디바이스(100)는 게임서버(220)로 게임 검증을 요청할 수 있다. 게임서버(220)는 유저측 디바이스(100)의 게임 검증 요청에 응답하여 서버시드를 유저측 디바이스(100)로 전송할 수 있다.The game server 220 may use the received random value as a server seed. The game server 220 generates a combination seed in which the user seed and the server seed are combined, and generates a user confirmation hash value that is an output value of the hash function that receives the combination seed as an input. Then, the game server 220 may transmit the user confirmation hash value to the user-side device 100. In addition, the game server 220 may determine a probability-based variable component in the game based on the combination seed, and may transmit the game data including information on the determined probability-based variable component to the user-side device 100. [ Further, after the game ends, the user device 100 may request the game server 220 to perform game verification. The game server 220 may transmit the server seed to the user side device 100 in response to the game verification request of the user side device 100. [

실시예는 서버시드가 모두 유출된 상황에서도 확률 기반 가변 구성 요소를 결정하기 위한 기초 정보인 서버시드에 대한 정보를 해킹할 수 없도록 한다. 보다 상세하게는, 게임서버(200)는 복수의 유저측 디바이스로부터의 게임 실행 요청 신호를 수신하면 이를 카운팅하고, 카운팅 정보에 따라서 랜덤 값을 요청할 시드 생성 서버를 선택한다. 따라서 특정 유저측 디바이스는 자신의 게임 실행 요청 신호가 게임서버(220)에 몇 번째로 전송되었는지 유추하기 매우 어렵다. 이는 특정 유저가 서버시드로 이용될 랜덤 값을 유추하는 것을 매우 곤란하게 하는 효과를 가진다.The embodiment makes it impossible to hack the information on the server seed, which is basic information for determining the probability-based variable component, even in a situation where all the server seeds are leaked. More specifically, when receiving a game execution request signal from a plurality of user devices, the game server 200 counts the game execution request signal and selects a seed generation server to request a random value according to the counting information. Accordingly, it is very difficult for a specific user-side device to deduce how many times the game execution request signal of the specific user-side device is transmitted to the game server 220. [ This has the effect of making it very difficult for a specific user to guess a random value to be used as a server seed.

또한, 실시예는 복수의 시드 생성 서버들 각각의 랜덤 값 생성 알고리즘을 다르게 설정함으로써 서버시드의 해킹 가능성을 원천 봉쇄할 수 있다. 예를 들어, 특정 유저가 다수의 유저측 디바이스를 통제하면서 게임 실행 요청 신호의 횟수를 해킹한 경우라 할지라도 특정 유저가 복수의 시드 생성 서버들 각각의 랜덤 값 생성 알고리즘을 모두 파악하지 않는 한 실시간으로 서버시드를 해킹하는 것은 거의 불가능하기 때문이다.In addition, the embodiment can block the possibility of hacking the server seed by setting the random value generation algorithm of each of the plurality of seed generation servers differently. For example, even when a specific user hackes the number of game execution request signals while controlling a plurality of user devices, it is possible to use a real time generation algorithm in real time unless a specific user grasps all the random value generation algorithms of a plurality of seed generation servers It is almost impossible to hack the server seed.

한편 본 실시예에서 설명한 서버시드 생성 방식은 다른 실시예에도 적용될 수 있다.Meanwhile, the server seed generation method described in this embodiment can be applied to other embodiments as well.

도 4a는 본 발명의 또 다른 실시예에 따른 프로버블리티 페어 게임 방법에 대한 흐름도이고, 도 4b는 다른 측면에서의 프로버블리티 페어 게임 방법에 대한 흐름도이며. 도 4c는 프로버블리티 페어 게임 방법에 대한 이해를 돕기 위한 개념도이다.FIG. 4A is a flowchart illustrating a pro bubble play method according to another embodiment of the present invention, and FIG. 4B is a flowchart illustrating a pro bubble play method according to another embodiment of the present invention. 4C is a conceptual diagram for helping understanding of the proobligience fair game method.

도 4a 내지 도 4c를 참조하면, 본 발명의 또 다른 실시예에 따른 프로버블리티 페어 게임 방법(S300)은 서버가 유저측 디바이스로부터 유저시드를 수신하는 단계(S310), 유저시드와 서버시드에 기초하여 유저확인용 해시 값을 생성하는 단계(S320), 유저시드와 서버시드에 기초하여 랜덤값을 생성하는 단계(S330), 랜덤 값에 기초하여 게임 내의 확률 기반 가변 구성 요소를 결정하는 단계(S340), 유저측 디바이스로 유저확인용 해시 값을 전송하는 단계(S350), 결정된 확률 기반 가변 구성 요소를 기초로 게임 데이터를 생성하는 단계(S360), 게임 데이터를 유저측 디바이스로 전송하는 단계(S370) 및 유저측 디바이스로 서버시드를 전송하는 단계(S380)를 포함할 수 있다.Referring to FIGS. 4A to 4C, a method S300 of a proberability fair game according to another embodiment of the present invention includes a step S310 of receiving a user seed from a user side device, Generating a random value based on the user seed and the server seed (S330); determining a probability-based variable component in the game based on the random value (step S320) S340), transmitting the user confirmation hash value to the user device (S350), generating game data based on the determined probability-based variable component (S360), transmitting the game data to the user device S370) and transmitting the server seed to the user-side device (S380).

보다 상세하게는, 서버(200)는 유저측 디바이스(100)로부터 유저시드를 수신할 수 있다. 다른 측면에서, 복수의 유저측 디바이스가 하나의 게임에 참여한 경우 서버(200)는 복수의 유저측 디바이스(100)로부터 유저시드를 수신할 수도 있다. 이 경우, 수신된 복수의 유저시드 중 어느 하나의 유저시드만을 이용할 수도 있다. 또 다른 측면에서, 하나의 게임에 복수의 유저가 참여한 경우 서버(200)는 복수의 유저측 디바이스 중 어느 하나의 디바이스에만 유저시드를 요청할 수도 있다.More specifically, the server 200 can receive the user seed from the user-side device 100. [ In another aspect, the server 200 may receive a user seed from a plurality of user-side devices 100 when a plurality of user-side devices participate in one game. In this case, it is possible to use only one user seed among a plurality of received user seeds. In another aspect, when a plurality of users participate in one game, the server 200 may request a user seed to only one of the plurality of user-side devices.

또한, 서버(200)는 서버시드를 생성할 수 있다. 다른 측면에서, 서버(200)는 게임서버와 시드 생성 서버로 구성될 수 있다. 그리고 전술한 방식에 따라 게임서버가 시드 생성 서버로부터 수신한 랜덤 값을 서버시드로 이용할 수도 있다. 그리고 서버(200)는 유저시드와 서버시드에 기초하여 유저확인용 해시 값을 생성할 수 있다.In addition, the server 200 may generate a server seed. In another aspect, the server 200 may be composed of a game server and a seed generation server. According to the above-described method, the random value received from the seed generation server by the game server may be used as the server seed. The server 200 may generate a user confirmation hash value based on the user seed and the server seed.

다른 측면에서 서버시드는 제1 및 제2 서버시드를 포함할 수 있다.In another aspect, server seeding may include first and second server seeds.

서버(200)는 유저시드와 제1 서버시드를 조합한 제1 조합시드를 생성할 수 있다(S321). 예를 들어, 서버(200)는 AAA라는 문자열인 유저시드와 BBB라는 문자열인 제1 서버시드를 조합하여 AAABBB라는 문자열인 제1 조합시드를 생성할 수 있다. 그리고 서버(200)는 제1 조합시드에 기초하여 제1 해시 값을 생성할 수 있다(S322). 예를 들어, 해시 함수는 AAABBB 문자열인 제1 조합시드를 입력으로 하여 #!ojqncui@$ 문자열인 제1 해시 값을 생성할 수 있다. 그리고 서버(200)는 제2 서버시드에 기초하여 제2 해시 값을 생성할 수 있다(S323). 예를 들어, 해시 함수는 CCC 문자열인 제2 서버시드를 입력으로 하여 ^&nxcaoi!#$q 문자열인 제2 해시 값을 생성할 수 있다. 또한, 서버(200)는 제1 해시 값과 제2 해시 값을 조합한 제2 조합시드를 생성할 수 있다(S324). 예를 들어, 서버(200)는 #!ojqncui@$ 문자열인 제1 해시 값과 ^&nxcaoi!#$q 문자열인 제2 해시 값을 조합한 #!ojqncui@$^&nxcaoi!#$q 문자열인 제2 조합시드를 생성할 수 있다. 그리고 서버(200)는 제2 조합시드에 기초하여 유저확인용 해시 값을 생성할 수 있다(S325). 예를 들어, 해시 함수는 #!ojqncui@$^&nxcaoi!#$q 문자열인 제2 조합시드를 입력으로 하여 %$#%vssdf3!&4 문자열인 유저확인용 해시 값을 생성할 수 있다. 그리고 서버(200)는 유저측 디바이스(100)로 유저확인용 해시 값을 전송할 수 있다.The server 200 may generate a first combination seed in which the user seed and the first server seed are combined (S321). For example, the server 200 can generate a first combination seed, which is a string AAABBB, by combining a user seed, which is a string of AAA, and a first server seed, which is a string of BBB. Then, the server 200 may generate the first hash value based on the first combination seed (S322). For example, a hash function can generate a first hash value of #! Ojqncui @ $ string with the first combination seed as the AAABBB string as an input. The server 200 may generate a second hash value based on the second server seed (S323). For example, a hash function can generate a second hash value that is a string of ^ & nxcaoi! # $ Q with a second server seed as the CCC string as input. In addition, the server 200 may generate a second combination seed in which the first hash value and the second hash value are combined (S324). For example, the server 200 may use a combination of a first hash value of #! Ojqncui @ $ and a second hash value ^ ^ nxcaoi! # $ Q, 2 combination seeds can be generated. Then, the server 200 can generate a user confirmation hash value based on the second combination seed (S325). For example, a hash function can generate a hash value for user identification, which is string% $ #% vssdf3! & 4, with the second combination seed as the string #! Ojqncui @ $ ^ & nxcaoi! # $ Q. The server 200 may transmit the user confirmation hash value to the user device 100. [

또한, 서버(200)는 유저시드와 서버시드를 입력으로 하는 랜덤 함수의 출력 값인 랜덤 값을 생성할 수 있다. 예를 들어, 랜덤 함수는 제1 조합시드를 입력으로 하는 랜덤 함수의 출력 값인 랜덤 값을 생성할 수 있다. 그리고 서버(200)는 생성한 랜덤 값에 기초하여 게임 내의 확률 기반 가변 구성 요소를 결정할 수 있다. 그리고 서버(200)는 확률 기반 가변 구성 요소에 기초로 게임 데이터를 구성하고, 구성된 게임 데이터를 유저측 디바이스(100)로 전송할 수 있다.In addition, the server 200 can generate a random value which is an output value of a random function using the user seed and the server seed as inputs. For example, the random function may generate a random value that is an output value of a random function that takes the first combination seed as an input. The server 200 may then determine a probability-based variable component in the game based on the generated random value. The server 200 may construct game data based on the probability-based variable components, and may transmit the configured game data to the user-side device 100. [

또한, 서버(200)는 게임 종료 후 유저측 디바이스(100)로 서버시드 및 랜덤 값을 전송할 수 있다. 다른 측면에서, 서버(200)는 게임 종료 후 유저측 디바이스(100)로부터의 게임 검증 요청에 응답하여 서버시드를 유저측 디바이스(100)로 전송할 수도 있다.In addition, the server 200 may transmit a server seed and a random value to the user-side device 100 after the game ends. In another aspect, the server 200 may send a server seed to the user-side device 100 in response to a game verification request from the user-side device 100 after the game ends.

실시예는 제2 조합시드에 기초하여 생성된 유저확인용 해시 값을 유저측 디바이스(100)로 전송하므로 유저는 유저확인용 해시 값으로부터 서버시드를 유추할 수 없도록 한다. 즉, 유저확인용 해시 값과 시드가 서로 일대일로 매칭되지 않도록 하여, 레인보우 테이블을 제작하는 방식으로 서버 시드 유출이 거의 불가능하도록 한다.The embodiment transmits the user confirmation hash value generated based on the second combination seed to the user device 100 so that the user can not infer the server seed from the user confirmation hash value. That is, the hash value for user identification and the seed are not matched one to one with each other, and the server seed outflow is made almost impossible by a method of producing the rainbow table.

도 5a는 본 발명의 또 다른 실시예에 따른 프로버블리티 페어 게임 방법에 대한 흐름도이다. 그리고 도 5b는 프로버블리티 페어 게임 방법에 대한 이해를 돕기 위한 개념도이다.FIG. 5A is a flowchart of a proobligience fair game method according to another embodiment of the present invention. And FIG. 5B is a conceptual diagram for helping understanding of the proobligience fair game method.

도 5a 및 도 5b를 참조하면, 본 발명의 또 다른 실시예에 따른 프로버블리티 페어 게임 방법(S400)은 유저측 디바이스로부터 유저시드를 수신하는 단계(S410), 유저시드와 서버시드에 기초하여 제1 유저확인용 해시 값을 생성하는 단계(S420), 유저시드와 서버시드에 기초하여 랜덤 값을 생성하는 단계(S430), 랜덤 값에 기초하여 복수의 데크 중 어느 하나의 데크를 선택하는 단계(S440), 위치정보시드에 기초하여 선택된 데크 내의 카드의 위치를 업데이트하는 단계(S450), 위치정보시드에 기초하여 제2 유저확인용 해시 값을 생성하는 단계(S460), 제1 및 제2 유저확인용 해시 값을 유저측 디바이스로 전송하는 단계(S470), 카드의 위치가 업데이트된 데크의 정보에 기초하여 게임 데이터를 구성하는 단계(S480) 및 게임 데이터를 유저측 디바이스로 전송하는 단계(S490)를 포함할 수 있다.5A and 5B, a prooblessy game method (S400) according to another embodiment of the present invention includes a step S410 of receiving a user seed from a user side device, a step S410 of, based on a user seed and a server seed (S430) generating a first user confirmation hash value, generating a random value based on the user seed and the server seed (S430), selecting one of the plurality of decks based on the random value (S440), updating (S450) the position of the card in the selected deck based on the position information seed, generating (S460) a second user confirmation hash value based on the position information seed, (S470) of transmitting the hash value for user identification to the user device (S470), constructing the game data based on the updated deck information (S480), and transmitting the game data to the user device S490) It can hamhal.

보다 상세하게는, 서버(200)는 유저측 디바이스로부터 유저시드를 수신할 수 있다. 또한, 서버(200)는 유저시드와 서버시드를 조합한 조합시드를 생성할 수 있다. 그리고 서버(200)는 조합시드를 입력으로 하는 해시 함수의 출력 값인 제1 유저확인용 해시 값을 생성할 수 있다. 그리고 서버(200)는 조합시드를 입력으로 하는 랜덤 함수의 출력 값인 랜덤 값을 생성할 수 있다. 그리고 서버(200)는 데이터베이스에서 복수의 데크 정보를 검색하고 이들 중에서 랜덤 값에 미리 매칭된 하나의 데크 정보를 선택할 수 있다. 복수의 데크들 각각은 N(N은 2이상의 자연수)개의 카드를 포함할 수 있다. 그리고 복수의 데크 정보 각각은 각자의 카드 위치 정보를 포함할 수 있다. 카드 위치 정보는 게임 환경에서 하나의 데크를 구성하는 카드들이 분배되는 순서 정보와 매칭될 수 있다. 즉, 카드들의 위치 정보에 따라서 게임 환경에서 순차적으로 분배되는 카드의 종류가 달라지게 된다.More specifically, the server 200 may receive the user seed from the user device. In addition, the server 200 can generate a combination seed in which a user seed and a server seed are combined. Then, the server 200 can generate a first user confirmation hash value which is an output value of the hash function inputting the combination seed. The server 200 can generate a random value which is an output value of the random function that receives the combination seed as an input. The server 200 may retrieve a plurality of deck information from the database and select one deck information matched in advance to a random value. Each of the plurality of decks may include N (N is a natural number of 2 or more) cards. Each of the plurality of deck information may include card position information of each card. The card position information may be matched with the order information in which cards constituting one deck in the game environment are distributed. That is, depending on the location information of the cards, the types of cards sequentially distributed in the game environment are different.

서버(200)는 위치정보시드에 기초하여 선택된 데크 내의 카드의 위치를 업데이트할 수 있다. 예를 들어, 서버(200)는 조합 시드를 입력으로 하는 랜덤 함수의 출력 값인 위치정보시드를 생성할 수 있다. The server 200 may update the position of the card in the selected deck based on the position information seed. For example, the server 200 may generate a position information seed, which is an output value of a random function that receives a combination seed as an input.

위치정보시드는 서로 중복되지 않는 N개의 수들의 수열로 구성될 수 있다. 그리고 위치정보시드를 구성하는 N개의 수들 각각은 선택된 데크 내의 카드들의 위치에 대응할 수 있다. 그리고 서버(200)는 위치정보시드의 1번째 수에서 N번째 수까지 순차적으로 각 수가 지칭하는 숫자에 해당하는 위치의 카드들을 순서대로 재 배열하여 선택된 데크 내의 카드의 위치를 업데이트할 수 있다. 예들 들어, 선택된 데크에 포함된 카드가 6개 이고, 데크에 포함된 카드는 D1, D2, S1, S2, H1, H2라고 가정한다. 데크 내의 카드의 위치 정보가 업데이터되지 않은 경우라면 게임 환경에서 D1, D2, S1, S2, H1, H2 순으로 유저들에게 카드가 분배될 것이다. 또한, 위치정보시드가 {3,2,4,5,1,6}이라면, 수열 내의 1번째 수(3)에서 6번째 수(6)까지 순차적으로 각 수가 지칭하는 숫자에 해당하는 위치를 가지는 카드들이 순서대로 재 배열되어, 업데이트된 데크 내의 카드들의 위치는 S1, D2, S2, H1, D1, H2 순이 된다. 따라서 게임 환경에서 S1, D2, S2, H1, D1, H2 순으로 유저들에게 카드가 분배될 수 있다.The position information seed may be composed of a sequence of N numbers that do not overlap with each other. And each of the N numbers constituting the position information seed may correspond to the position of the cards in the selected deck. The server 200 may update the positions of the cards in the selected deck by sequentially rearranging the cards in the positions corresponding to the numbers sequentially designated from the first number to the Nth number of the position information seeds. For example, assume that the selected deck contains six cards, and the deck contains D1, D2, S1, S2, H1, and H2. If the location information of the card in the deck is not updated, the card will be distributed to users in order of D1, D2, S1, S2, H1 and H2 in the game environment. If the position information seed is {3, 2, 4, 5, 1, 6}, a position corresponding to the number of each number sequentially from the first number (3) to the sixth number (6) The cards are rearranged in order, and the positions of the cards in the updated deck are S1, D2, S2, H1, D1, H2. Therefore, cards can be distributed to users in the order of S1, D2, S2, H1, D1, and H2 in the game environment.

서버(200)는 위치정보시드를 변환할 수 있다. 예시적으로, 데크 내의 카드가 총 52개이고 위치정보시드가 {6, 10, 17, 44, 28, . . . , 2}인 총 52개의 수들로 구성된 수열로 이루어진 경우, 서버(200)는 위치정보시드 내의 수들 중 10 이상인 수에 대해서는 10의 자리를 제외하여 위치정보시드를 변환할 수 있다. 그리고 10, 20, 30, 40, 50의 경우 10의 자리를 제외하면 0이 되는데 0은 -1로 치환한다. 전술한 예에서, 변환된 위치정보시드는 {6, -1, 7, 4, 8, . . . , 2}인 총 52개의 수들로 구성된 수열로 이루진다. 그리고 서버(200)는 변환된 위치정보시드를 구성하는 각 수들을 제곱근할 수 있다. 그리고 제곱근이 long보다 커지면 지수의 가수부분만 사용하여 변환된 위치정보시드를 제차 변환할 수 있다. 그리고 제차 변환된 위치정보시드를 입력으로 하는 해시 함수의 출력 값인 제2 유저확인용 해시 값을 생성할 수 있다.The server 200 may convert the position information seed. Illustratively, a total of 52 cards in the deck and a positional information seed of {6, 10, 17, 44, 28,. . . , 2}, the server 200 can convert the position information seed by excluding 10 digits for the number of 10 or more of the numbers in the position information seed. In the case of 10, 20, 30, 40, and 50, 0 is substituted for 10, and 0 is replaced by -1. In the above example, the converted position information seed is {6, -1, 7, 4, 8,. . . , 2}, which is a total of 52 numbers. The server 200 may square the respective numbers constituting the converted position information seed. If the square root is greater than long, the transformed position information seed can be transformed by using only the mantissa part of the exponent. And generate a second user confirmation hash value that is an output value of the hash function that takes the positionally-changed seed information as an input.

서버(200)는 게임 시작 전에 제1 및 제2 유저확인용 해시 값을 유저측 디바이스(100)로 전송할 수 있다. 그리고 서버(200)는 카드의 위치가 업데이트된 데크의 정보에 기초하여 게임 데이터를 구성하고, 구성된 게임 데이터를 유저측 디바이스(100)로 전송할 수 있다.The server 200 may transmit the first and second user confirmation hash values to the user-side device 100 before starting the game. Then, the server 200 can construct the game data based on the information of the deck where the position of the card is updated, and transmit the configured game data to the user-side device 100. [

또한, 서버(200)는 게임 종료에 응답하여 서버시드와 변환된 위치정보시드를 유저측 디바이스(100)로 전송할 수 있다. 다른 측면에서 게임 종료 후 유저측 디바이스(100)의 게임 검증 요청에 응답하여 서버시드와 변환된 위치정보시드를 유저측 디바이스(100)로 전송할 수도 있다.In addition, the server 200 may transmit the server seed and the converted position information seed to the user-side device 100 in response to the game end. Alternatively, in response to a game verification request of the user device 100 after the game ends, the server seed and the converted position information seed may be transmitted to the user device 100. [

유저는 제1 유저확인용 해시 값과 서버시드를 이용하여 게임 결과를 검증할 수 있다. 또한, 실시예는 유저에게 변환된 위치정보시드와 제2 유저확인용 해시 값을 제공하여 유저로 하여금 데크 정보의 업데이트가 공정한 방식으로 이루어졌음을 신뢰하도록 한다.The user can verify the game result using the first user confirmation hash value and the server seed. The embodiment also provides the user with the converted location information seed and the second user confirmation hash value to allow the user to trust that the updating of the deck information is done in a fair manner.

또한, 실시예는 해킹 유저가 위치정보시드를 지속적으로 수집하여 게임 플레이 결과를 해킹하는 문제를 봉쇄하기 위하여, 위치정보시드를 유저측 디바이스(100)로 전송하지 않고, 변환된 위치정보시드를 전송한다. In addition, in the embodiment, in order to block the problem of the hacking user continuously collecting the position information seed and hacking the game play result, the position information seed is transmitted to the user device 100 without transmitting the converted position information seed do.

또한, 실시예는 랜덤 값에 기초하여 선택된 데크 내의 카드의 위치를 변경함으로써, 해킹 유저가 플레이되는 데크 정보를 지속적으로 수집하여 게임 플레이 결과를 유추하게 되는 문제를 차단할 수 있다. 또한, 업데이트된 카드의 위치 정보에 대한 해시 값을 유저에게 전송함으로써 게임의 공정성에 대한 유저의 신뢰를 확보할 수 있다.In addition, the embodiment can prevent the problem that the hacking user constantly collects the deck information to be played and infer the game play result by changing the position of the card in the selected deck based on the random value. Further, the hash value of the updated position information of the card is transmitted to the user, thereby securing the user's trust in the fairness of the game.

이상 설명된 본 발명에 따른 실시예는 다양한 컴퓨터 구성요소를 통하여 실행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위하여 하나 이상의 소프트웨어 모듈로 변경될 수 있으며, 그 역도 마찬가지이다.The embodiments of the present invention described above can be implemented in the form of program instructions that can be executed through various computer components and recorded in a computer-readable recording medium. The computer-readable recording medium may include program commands, data files, data structures, and the like, alone or in combination. The program instructions recorded on the computer-readable recording medium may be those specifically designed and configured for the present invention or may be those known and used by those skilled in the computer software arts. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape, optical recording media such as CD-ROM and DVD, magneto-optical media such as floptical disks, medium, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those generated by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware device may be modified into one or more software modules for performing the processing according to the present invention, and vice versa.

본 발명에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, “필수적인”, “중요하게” 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.The specific acts described in the present invention are, by way of example, not intended to limit the scope of the invention in any way. For brevity of description, descriptions of conventional electronic configurations, control systems, software, and other functional aspects of such systems may be omitted. Also, the connections or connecting members of the lines between the components shown in the figures are illustrative of functional connections and / or physical or circuit connections, which may be replaced or additionally provided by a variety of functional connections, physical Connection, or circuit connections. Also, unless explicitly mentioned, such as " essential ", " importantly ", etc., it may not be a necessary component for application of the present invention.

또한 설명한 본 발명의 상세한 설명에서는 본 발명의 바람직한 실시 예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자 또는 해당 기술분야에 통상의 지식을 갖는 자라면 후술할 특허청구범위에 기재된 본 발명의 사상 및 기술 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. 따라서, 본 발명의 기술적 범위는 명세서의 상세한 설명에 기재된 내용으로 한정되는 것이 아니라 특허청구범위에 의해 정하여져야만 할 것이다.While the present invention has been described in connection with what is presently considered to be practical exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. Therefore, the technical scope of the present invention should not be limited to the contents described in the detailed description of the specification, but should be defined by the claims.

Claims (7)

매크로 정보에 기초하여 서버시드를 생성하는 단계;
상기 서버시드에 기초하여 유저확인용 해시 값을 생성하는 단계;
상기 유저확인용 해시 값을 유저측 디바이스로 전송하는 단계;
상기 서버시드에 기초하여 랜덤 값을 생성하는 단계;
상기 랜덤 값에 기초하여 게임 내의 확률 기반 가변 구성 요소를 결정하는 단계; 및
상기 결정된 확률 기반 가변 구성 요소를 포함하는 게임 데이터를 상기 유저측 디바이스로 전송하는 단계;를 포함하고,
상기 매크로 정보는 다른 게임의 결과 정보를 포함하는
온라인 기반의 프로버블리티 페어 게임 방법.
Generating a server seed based on macro information;
Generating a user confirmation hash value based on the server seed;
Sending the user confirmation hash value to the user device;
Generating a random value based on the server seed;
Determining a probability based variable component in the game based on the random value; And
And transmitting the game data including the determined probability-based variable component to the user-side device,
The macro information includes information on the result of another game
An online based pro bubble game.
제1 항에 있어서,
게임 종료 후 상기 서버시드를 상기 유저측 디바이스로 전송하는 단계;를 더 포함하는
온라인 기반의 프로버블리티 페어 게임 방법.
The method according to claim 1,
And transmitting the server seed to the user-side device after the game ends
An online based pro bubble game.
제1 항에 있어서,
상기 매크로 정보에 기초하여 서버시드를 생성하는 단계는,
데이터베이스로부터 다른 게임에서의 미리 설정된 등수에 해당하는 유저의 게임 머니 정보를 검색하는 단계; 및
상기 게임 머니 정보에 기초하여 상기 서버시드를 생성하는 단계;를 포함하는
온라인 기반의 프로버블리티 페어 게임 방법.
The method according to claim 1,
Wherein generating the server seed based on the macro information comprises:
Retrieving game money information of a user from a database corresponding to a preset rank in another game; And
And generating the server seed based on the game money information
An online based pro bubble game.
제1 항에 있어서,
상기 매크로 정보에 기초하여 서버시드를 생성하는 단계는,
데이터베이스로부터 다른 게임에서의 카드 분배 순서 정보를 검색하는 단계; 및
상기 카드 분배 순서 정보에 기초하여 상기 서버시드를 생성하는 단계;를 포함하는
온라인 기반의 프로버블리티 페어 게임 방법.
The method according to claim 1,
Wherein generating the server seed based on the macro information comprises:
Retrieving card distribution order information in another game from the database; And
And generating the server seed based on the card distribution order information
An online based pro bubble game.
제1 항에 있어서,
상기 매크로 정보에 기초하여 서버시드를 생성하는 단계는,
데이터베이스로부터 다른 게임에서의 유저들의 버린 카드 정보를 검색하는 단계; 및
상기 버린 카드 정보에 기초하여 상기 서버시드를 생성하는 단계;를 포함하는
온라인 기반의 프로버블리티 페어 게임 방법.
The method according to claim 1,
Wherein generating the server seed based on the macro information comprises:
Retrieving abandoned card information of users in other games from the database; And
And generating the server seed based on the discarded card information
An online based pro bubble game.
제1 항에 있어서,
상기 유저측 디바이스의 요청에 응답하여 검증용페이지를 전송하는 단계;를 더 포함하고,
상기 검증용페이지는 상기 서버시드를 이용하여 상기 유저확인용 해시 값이 생성되는 것을 검증할 수 있도록 구성된
온라인 기반의 프로버블리티 페어 게임 방법.
The method according to claim 1,
Further comprising: transmitting a page for verification in response to a request from the user-side device,
Wherein the verification page is configured to verify that the user confirmation hash value is generated using the server seed
An online based pro bubble game.
유저측 디바이스로부터 유저시드를 수신하는 단계;
매크로 정보에 기초하여 서버시드를 생성하는 단계;
상기 유저시드 및 상기 서버시드를 조합한 조합시드를 생성하는 단계;
상기 조합시드에 기초하여 유저확인용 해시 값을 생성하는 단계;
상기 유저확인용 해시 값을 유저측 디바이스로 전송하는 단계;
상기 조합시드에 기초하여 랜덤 값을 생성하는 단계;
상기 랜덤 값에 기초하여 게임 내의 확률 기반 가변 구성 요소를 결정하는 단계;
상기 결정된 확률 기반 가변 구성 요소를 포함하는 게임 데이터를 상기 유저측 디바이스로 전송하는 단계; 및
게임 종료 후 상기 서버시드를 상기 유저측 디바이스로 전송하는 단계;를 포함하고,
상기 매크로 정보는 다른 게임의 결과 정보를 포함하는
온라인 기반의 프로버블리티 페어 게임 방법.
Receiving a user seed from a user-side device;
Generating a server seed based on macro information;
Generating a combination seed in which the user seed and the server seed are combined;
Generating a hash value for user identification based on the combination seed;
Sending the user confirmation hash value to the user device;
Generating a random value based on said combination seed;
Determining a probability based variable component in the game based on the random value;
Transmitting game data including the determined probability-based variable component to the user-side device; And
And transmitting the server seed to the user device after the game is finished,
The macro information includes information on the result of another game
An online based pro bubble game.
KR1020180006398A 2018-01-18 2018-01-18 Probability fair game methode and system bisised on on line KR101984808B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180006398A KR101984808B1 (en) 2018-01-18 2018-01-18 Probability fair game methode and system bisised on on line

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180006398A KR101984808B1 (en) 2018-01-18 2018-01-18 Probability fair game methode and system bisised on on line

Publications (1)

Publication Number Publication Date
KR101984808B1 true KR101984808B1 (en) 2019-05-31

Family

ID=66657187

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180006398A KR101984808B1 (en) 2018-01-18 2018-01-18 Probability fair game methode and system bisised on on line

Country Status (1)

Country Link
KR (1) KR101984808B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111569434A (en) * 2020-05-14 2020-08-25 宁波元素人网络科技有限公司 Game code checking method and system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000513983A (en) * 1996-12-31 2000-10-24 ウォーカー アセット マネージメント リミテッド パートナーシップ Method and apparatus for securing electronic games
JP2001514909A (en) * 1997-09-02 2001-09-18 クィックソティック ソルーションズ インク. Apparatus and process for ensuring fair game progress through a communication network
KR20080085102A (en) 2007-01-17 2008-09-23 엔에이치엔(주) Online game method and system
US20170084118A1 (en) * 2015-09-23 2017-03-23 Spur Trail Investments, Inc. System and method for provably fair gaming
US20170161991A1 (en) * 2015-12-02 2017-06-08 Aryo Ayati System and method for public verification of a gambling website or gaming event

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000513983A (en) * 1996-12-31 2000-10-24 ウォーカー アセット マネージメント リミテッド パートナーシップ Method and apparatus for securing electronic games
JP2001514909A (en) * 1997-09-02 2001-09-18 クィックソティック ソルーションズ インク. Apparatus and process for ensuring fair game progress through a communication network
KR20080085102A (en) 2007-01-17 2008-09-23 엔에이치엔(주) Online game method and system
US20170084118A1 (en) * 2015-09-23 2017-03-23 Spur Trail Investments, Inc. System and method for provably fair gaming
US20170161991A1 (en) * 2015-12-02 2017-06-08 Aryo Ayati System and method for public verification of a gambling website or gaming event

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111569434A (en) * 2020-05-14 2020-08-25 宁波元素人网络科技有限公司 Game code checking method and system
CN111569434B (en) * 2020-05-14 2023-12-15 宁波元素人网络科技有限公司 Game code verification method and system

Similar Documents

Publication Publication Date Title
US11420127B2 (en) Device and method for recording game result by conducting game among plurality of users, and computer program
ES2837480T3 (en) Methods and apparatus for a distributed database within a network
US11582209B2 (en) Trusted communications between untrusting parties
CN103429302B (en) Detect the delay switch cheating in game
EP3912023A1 (en) A method for generating random numbers in blockchain smart contracts
US20200152003A1 (en) Gambling systems and methods based on blockchain technology
CN110941418A (en) Random number generation method, device, equipment and readable storage medium
CN115918030A (en) Fair demonstrable game using blockchains
KR20190119454A (en) Method, apparatus, and computer program for obtaning probability information of gacha system
KR20220122994A (en) Proveably fair games using blockchain
BR112013033876B1 (en) System for providing content or an application, control methods for a system, for a terminal device and for an authentication device, terminal device, program, authentication device, program, and information storage media
JP2018050973A (en) Random number generation system, random number generation device, random number generation method and program
KR101984808B1 (en) Probability fair game methode and system bisised on on line
JP4828724B2 (en) Cryptographic system and method based on transition states
JP6283846B2 (en) GAME SYSTEM, Rival Setting Control Method, and Computer Program
KR102023430B1 (en) Probability fair game methode and system bisised on on line
KR102023427B1 (en) Probability fair game methode and system bisised on on line
US11784822B2 (en) System and method for transmitting a notification to a network
CN110798529B (en) Data processing method, block chain link point equipment and computer storage medium
US20220123947A1 (en) A Method for Generating Random Numbers in Blockchain Smart Contracts
KR102049004B1 (en) Probability fair game methode and system bisised on on line
KR20190119911A (en) Ticket Selling System Based on Blockchain
KR101447850B1 (en) Game service method for real time match game and system thereof
US20230173388A1 (en) Techniques for spawning entities in a virtual environment
US11973874B1 (en) Systems and methods for token metadata management

Legal Events

Date Code Title Description
GRNT Written decision to grant