KR102510353B1 - 블록체인 기반 골프 서비스 제공 방법 및 시스템 - Google Patents

블록체인 기반 골프 서비스 제공 방법 및 시스템 Download PDF

Info

Publication number
KR102510353B1
KR102510353B1 KR1020220040493A KR20220040493A KR102510353B1 KR 102510353 B1 KR102510353 B1 KR 102510353B1 KR 1020220040493 A KR1020220040493 A KR 1020220040493A KR 20220040493 A KR20220040493 A KR 20220040493A KR 102510353 B1 KR102510353 B1 KR 102510353B1
Authority
KR
South Korea
Prior art keywords
transaction
information
user
transaction information
golf
Prior art date
Application number
KR1020220040493A
Other languages
English (en)
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 KR1020220040493A priority Critical patent/KR102510353B1/ko
Application granted granted Critical
Publication of KR102510353B1 publication Critical patent/KR102510353B1/ko

Links

Images

Classifications

    • 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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/02Reservations, e.g. for tickets, services or events
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting
    • G06Q10/1093Calendar-based scheduling for persons or groups
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Accounting & Taxation (AREA)
  • General Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Primary Health Care (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

위 실시예들은 블록체인 기반 골프 서비스 제공 방법 및 시스템에 관한 것으로, 보다 구체적으로 블록체인 기반으로 사용자의 신원을 인증하여 인증된 사용자에게 골프 서비스를 제공하고, 제공된 골프 서비스의 거래 정보를 블록체인 네트워크에 트랙잭션하되, 제공된 골프 서비스의 속성에 따라 트랜잭션을 스케쥴링하는 블록체인 기반 골프 서비스 제공 방법 및 시스템에 관한 것이다.

Description

블록체인 기반 골프 서비스 제공 방법 및 시스템{METHOD AND SYSTEM FOR PROVIDING GOLF SERVICE BASED BLOCKCHAIN}
아래 실시예들은 블록체인 기반 골프 서비스 제공 방법 및 시스템에 관한 것으로, 보다 구체적으로 블록체인 기반으로 사용자의 신원을 인증하여 인증된 사용자에게 골프 서비스를 제공하고, 제공된 골프 서비스의 거래 정보를 블록체인 네트워크에 트랙잭션하되, 제공된 골프 서비스의 속성에 따라 트랜잭션을 스케쥴링하는 블록체인 기반 골프 서비스 제공 방법 및 시스템에 관한 것이다.
분산 원장 기술이라고도 지칭되는 블록체인(Blockchain) 기술은 하나 이상의 컴퓨팅 디바이스가 "회계"에 공동으로 참여하고 완전한 분산 데이터베이스를 공동으로 유지하는 새로운 기술이다. 블록체인 기술은 탈중앙화, 개방성, 및 투명성의 특징들을 가지며, 각각의 컴퓨팅 디바이스는 데이터베이스 기록에 참여할 수 있고, 컴퓨팅 디바이스들은 데이터 동기화를 신속하게 수행할 수 있다. 블록체인의 분산 데이터베이스에서 블록체인 기술을 사용하여 탈중앙화된 시스템을 확립하고 블록체인의 분산 데이터베이스에 자동 실행을 위한 다양한 실행 프로그램들을 기록하는 방법들이 많은 분야에서 널리 적용되고 있다.
그리고 분산형 디지털 화폐로서 블록체인이 개발된 이후 최근까지 다양한 형태로 연구가 진행되고 있다. 블록체인 기술은 P2P 방식을 기반으로 하여 소규모 데이터들이 연결리스트 또는 체인 형태로 연결되어 형성된 '블록'이라는 분산 데이터 저장 환경에 관리 대상이 되는 데이터를 저장하고, 임의로 수정할 수 없게 하면서, 누구나 해당 데이터를 검색할 수 있게 하는 기술이다.
최초의 블록체인 기반 어플리케이션인 비트코인(Bitcoin)을 시작으로 블록체인이 개발되었으며, 이후 이더리움(Ethereum)은 스마트 컨트랙트(contract)를 구현하였으며, 현재에도 여러 가지 기술들이 접목되어 여러 분야에서 블록체인을 활용하려는 시도가 계속되고 있다.
블록체인은 최초블록부터 연결리스트의 형태로 블록들을 연쇄적으로 저장하는 시스템으로, 블록체인을 이용하는 각 노드 또는 클라이언트마다 P2P방식으로 블록들을 동기화하여 보유한다. 블록체인에 트랜잭션 또는 거래(Transaction)는 각 주체간의 거래 단위로서, 공개키 암호 방식 기반으로 그 유효성을 증명한다.
스마트 컨트랙트는 블록체인 기반으로 체결하는 계약을 의미하며, 블록체인의 기본 데이터 단위인 트랜잭션의 실행 결과로 탬퍼링 방지(tamper proof) 속성을 가진다. 이런 속성 덕분에 스마트 컨트랙트는 제 3 자없이 기존의 계약 방식을 대체할 수 있다. 스마트 컨트랙트는 제 3 자 없이 그 자체로 신뢰를 보장하므로, 신뢰할 수 있을 뿐 만 아니라 비용 측면에서 효율적이다. 하지만 계약의 이행을 보장하는 제 3 자가 없기 때문에 퍼블릭 블록체인에서 계약이 이행되지 않을 수 있다. 사용자만이 트랜잭션을 생성할 수 있고, 트랜잭션이 실행되지 않으면 상태 기계(state machine)를 수정할 수 없어 계약이 이행되지 않기 때문이다. 따라서 트랜잭션의 실행을 보장하는 트랜잭션을 스케줄링해야 할 필요가 있다.
이러한 블록체인 기술들은 다양한 서비스 분야에 적용되고 있으며, 본 발명에서는 골프 서비스를 제공함에 있어 전술한 블록체인 기술의 필요성을 확보한, 신뢰성 있는 골프 서비스의 제공 방법을 제안한다.
이 배경기술 부분에 기재된 사항은 발명의 배경에 대한 이해를 증진하기 위하여 작성된 것으로써, 이 기술이 속하는 분야에서 통상의 지식을 가진 자에게 이미 알려진 종래기술이 아닌 사항을 포함할 수 있다.
아래 실시예들은 전술한 문제점을 해결하기 위하여 안출된 것으로서, 블록체인 기반으로 사용자의 신원을 인증하여 인증된 사용자에게 골프 서비스를 제공하고, 제공된 골프 서비스의 거래 정보를 블록체인 네트워크에 트랙잭션하되, 제공된 골프 서비스의 속성에 따라 트랜잭션을 스케쥴링하는 블록체인 기반 골프 서비스 플랫폼을 제공하는 것을 목적으로 한다.
일 실시예가 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상기 목적을 달성하기 위한 일 실시예는 서버에서 수행되는 골프 서비스 제공 방법으로, 골프 서비스 서버로부터 서비스 제공 완료 신호를 수신하는 단계; 상기 서비스 제공 완료 신호를 이용하여, 거래 정보를 생성하는 단계; 상기 거래 정보에 포함된 예약 정보를 이용하여, 트랜잭션 스케줄 정보를 생성하는 단계; 상기 트랜잭션 스케줄 정보를 이용하여, 상기 거래 정보를 업데이트하는 단계; 및 상기 업데이트된 거래 정보를 블록체인 네트워크에 트랜잭션하는 단계를 포함하되, 상기 거래 정보 업데이트 단계는 상기 트랜잭션 스케줄 정보에 포함된 상기 거래 정보의 예약 서비스 완료 여부를 확인하는 단계; 및 상기 예약 서비스 완료 여부를 상기 거래 정보에 업데이트하는 단계를 포함하는 골프 서비스 제공 방법을 제공할 수 있다.
일 실시예는 사용자 단말로부터 사용자 등록 요청을 수신하는 단계; 사용자의 신원 인증 값인 사용자 식별자(PID)를 생성하는 단계; 상기 생성된 사용자 식별자(PID)를 상기 블록체인 네트워크에 트랜잭션하는 단계; 및 상기 생성된 사용자 식별자(PID)를 상기 사용자 단말에 전송하는 단계를 포함할 수 있다.
일 실시예는 상기 골프 서비스 서버로부터 인증 요청을 수신하는 단계; 상기 블록체인 네트워크에서 상기 사용자의 사용자 식별자(PID)를 추출하는 단계; 상기 인증 요청에 포함된 상기 사용자 단말의 사용자 식별자(PID)를 추출하는 단계; 및 상기 사용자의 사용자 식별자(PID) 및 상기 사용자 단말의 사용자 식별자(PID)를 이용하여, 사용자 인증을 수행하는 단계를 포함할 수 있다.
일 실시예는 상기 트랜잭션 스케줄 정보는 단위 시간으로 구성된 시간 정보; 및 상기 단위 시간에 블록체인 네트워크에 트랜잭션될 상기 거래 정보를 포함할 수 있다.
일 실시예는 적어도 하나의 프로세서(processor); 및 상기 적어도 하나의 프로세서가 적어도 하나의 동작(operation)을 수행하도록 지시하는 명령어들(instuctions)을 저장하는 메모리(memory)를 포함하는, 골프 서비스 제공 서버로서, 상기 적어도 하나의 동작은, 골프 서비스 서버로부터 서비스 제공 완료 신호를 수신하는 단계; 상기 서비스 제공 완료 신호를 이용하여, 거래 정보를 생성하는 단계; 상기 거래 정보에 포함된 예약 정보를 이용하여, 트랜잭션 스케줄 정보를 생성하는 단계; 상기 트랜잭션 스케줄 정보를 이용하여, 상기 거래 정보를 업데이트하는 단계; 및 상기 업데이트된 거래 정보를 블록체인 네트워크에 트랜잭션하는 단계를 포함하되, 상기 거래 정보 업데이트 단계는 상기 트랜잭션 스케줄 정보에 포함된 상기 거래 정보의 예약 서비스 완료 여부를 확인하는 단계; 및 상기 예약 서비스 완료 여부를 상기 거래 정보에 업데이트하는 단계를 포함하는 골프 서비스 제공 서버를 제공할 수 있다.
이상에서 설명한 바와 같은 일 실시예들에 따르면, 블록체인 기반으로 사용자의 신원을 인증하여 인증된 사용자에게 골프 서비스를 제공하여, 편리하게 사용자를 관리할 수 있으며, 제공된 골프 서비스의 거래 정보를 블록체인 네트워크에 트랙잭션하되, 제공된 골프 서비스의 속성에 따라 트랜잭션을 스케쥴링함에 따라, 골프 서비스 제공 완료 보증하여, 신뢰성 있는 골프 서비스를 제공할 수 있다.
일 실시예의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 일 실시예에 따른 골프 서비스 제공 시스템의 구성도이다.
도 2는 일 실시예에 따른 골프 서비스 제공 서버의 구성도이다.
도 3은 일 실시예에 따른 제어부의 구성도이다.
도 4는 일 실시예에 따른 블록체인을 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 노드의 구성도이다.
도 6은 일 실시예에 따른 블록을 개념적으로 도시한 도면이다.
도 7은 일 실시예에 따른 사용자 등록 및 인증 방법의 흐름도이다.
도 8 및 도 9는 일 실시예에 따른 골프 서비스 제공에 따라 생성된 거래 정보를 설명하기 위한 도면이다.
도 10은 일 실시예에 따른 거래 정보 저장 방법의 흐름도이다.
도 11은 일 실시예에 따른 예약 정보가 포함된 거래 정보를 설명하기 위한 도면이다.
도 12는 일 실시예에 따른 트랜잭션 스케줄 정보의 데이터 구조를 나타낸 도면이다.
도 13은 일 실시예에 따른 업데이트된 거래 정보를 설명하기 위한 도면이다.
도 14는 다른 실시예에 따른 거래 정보 저장 방법의 흐름도이다.
도 15는 일 실시예에 따른 사용자 단말의 구성도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제 1", "제 2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제 1 구성요소는 본 발명의 기술적 사상 내에서 제 2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
이하, 첨부된 도면을 참조하여 실시예를 상세하게 설명한다.
도 1은 일 실시예에 따른 골프 서비스 제공 시스템(10)의 구성도이다.
도 1을 참조하면, 일 실시예에 따른 골프 서비스 제공 시스템(10)은 골프 서비스 제공 서버(100), 사용자 단말(200) 및 골프 서비스 서버(300)를 포함할 수 있다.
골프 서비스 제공 시스템(10) 내에 포함된 다양한 개체들(entities) 간의 통신은 유/무선 네트워크를 통해 수행될 수 있다. 유/무선 네트워크는 표준 통신 기술 및/또는 프로토콜들이 사용될 수 있다.
골프 서비스 제공 시스템(10) 내 골프 서비스 제공 서버(100), 사용자 단말(200) 및 골프 서비스 서버(300)는 예를 들어, 컴퓨터, UMPC(Ultra Mobile PC), 워크스테이션, 넷북(net-book), PDA(Personal Digital Assistants), 포터블(portable) 컴퓨터, 웹 타블렛(web tablet), 무선 전화기(wireless phone), 모바일 폰(mobile phone), 스마트폰(smart phone), PMP(portable multimedia player) 같은 전자 장치 중 하나로서, 일 실시예와 관련된 어플리케이션의 설치 및 실행이 가능한 모든 전자 장치를 포함할 수 있다. 전자 장치는 어플리케이션의 제어 하에 예를 들어, 서비스 화면의 구성, 데이터 입력, 데이터 송수신, 데이터 저장 등과 같은 서비스 전반의 동작을 수행할 수 있다.
골프 서비스 제공 서버(100)는 블록체인 기반으로 사용자의 신원을 인증하여, 인증된 사용자에게 골프 서비스를 제공할 수 있다.
골프 서비스 제공 서버(100)는 사용자에게 골프 서비스를 제공하기 위해, 골프 서비스 서버(300)로부터 다양한 데이터를 수신할 수 있다.
골프 서비스 제공 서버(100)는 사용자에게 제공된 골프 서비스의 거래 정보를 생성할 수 있다.
일 실시예의 거래 정보는 사용자에게 제공된 골프 서비스의 내역 정보로, 제공된 골프 서비스의 각종 정보가 포함될 수 있다. 일례로, 사용자에게 제공된 서비스가 골프 의류 구매 서비스인 경우 의류 구매 내역 정보일 수 있으며, 골프장 이용 서비스인 경우 골프장 이용 내역 정보일 수 있으며, 골프 레슨 예약 서비스인 경우 예약 정보일 수 있다.
골프 서비스 제공 서버(100)는 생성된 거래 정보를 블록체인 네트워크에 트랙잭션하되, 제공된 골프 서비스의 속성에 따라 트랜잭션을 스케쥴링할 수 있다.
골프 서비스 제공 서버(100)는 생성된 거래 정보에 예약 정보가 포함되어 있으면, 예약 정보에 기반하여 트랜잭션 스케줄 정보를 생성할 수 있다.
골프 서비스 제공 서버(100)는 생성된 트랜잭션 스케줄 정보에 따라 거래 정보를 업데이트하고, 업데이트된 거래 정보를 블록체인 네트워크에 트랜잭션할 수 있다.
사용자 단말(200)은 사용자에게 골프 서비스를 제공하기 위한 인터페이스를 제공할 수 있다.
사용자 단말(200)은 사용자에게 사용자 등록 및 인증을 위한 인터페이스를 제공할 수 있다.
사용자 단말(200)은 사용자에게 골프 서비스의 거래 정보를 출력할 수 있다.
사용자 단말(200)에 대해서는 이하 도 15에서 자세히 설명하도록 한다.
골프 서비스 서버(300)는 골프 서비스를 제공하도록 구성된 서버들로, 골프장 서버, 골프 의류 판매 서버, 골프 연습실 서버 등을 포함할 수 있다.
골프 서비스 서버(300)는 골프 서비스를 제공한기 위한 다양한 데이터를 골프 서비스 제공 서버(100)에 전송할 수 있다.
도 2는 일 실시예에 따른 골프 서비스 제공 서버(100)의 구성도이다.
도 2를 참조하면, 일 실시예에 따른 골프 서비스 제공 서버(100)는 통신부(110), 입력부(120), 출력부(130), 메모리(140), 전원 공급부(150) 및 제어부(160)를 포함할 수 있다.
도 2에 도시된 구성들은 본 발명의 실시 예들을 구현하기 위한 예시도이며, 당업자에게 자명한 수준의 적절한 하드웨어/소프트웨어 구성들이 골프 서비스 제공 서버(100)에 추가로 포함될 수 있다.
통신부(110)는 다양한 통신 방식을 통해 외부의 장치와 통신을 수행할 수 있다. 일례로, 통신부(110)는 사용자 단말(200) 및 골프 서비스 서버(300)와 통신을 수행하여 다양한 데이터를 송수신할 수 있다.
입력부(120)는 골프 서비스 제공 서버(100)의 사용자인 운영자의 다양한 입력을 수신하여 제어부(160)로 전달할 수 있다. 특히, 입력부(120)는 터치 센서, (디지털) 펜 센서, 압력 센서, 키, 또는 마이크를 포함할 수 있다. 터치 센서는, 예를 들면, 정전식, 감압식, 적외선 방식, 또는 초음파 방식 중 적어도 하나의 방식을 사용할 수 있다. (디지털) 펜 센서는, 예를 들면, 터치 패널의 일부이거나, 별도의 인식용 쉬트를 포함할 수 있다. 키는, 예를 들면, 물리적인 버튼, 광학식 키, 또는 키패드를 포함할 수 있다. 마이크는 운영자 음성을 수신하기 위한 구성으로, 골프 서비스 제공 서버(100) 내부에 구비될 수 있으나, 이는 일 실시예에 불과할 뿐, 골프 서비스 제공 서버(100)의 외부에 구비되어 골프 서비스 제공 서버(100)와 전기적으로 연결될 수 있다.
출력부(130)는 다양한 화면을 제공할 수 있다.
메모리(140)는 골프 서비스 제공 서버(100)의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 특히, 메모리(140)는 비휘발성 메모리, 휘발성 메모리, 플래시메모리(flash-memory), 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD) 등으로 구현될 수 있다. 메모리(140)는 제어부(160)에 의해 액세스되며, 제어부(160)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다. 본 발명에서 메모리라는 용어는 메모리(140), 제어부(160) 내 롬(미도시), 램(미도시) 또는 골프 서비스 제공 서버(100)에 장착되는 메모리 카드(미도시)(예를 들어, micro SD 카드, 메모리 스틱)를 포함할 수 있다. 또한, 메모리(140)에는 출력부(130)의 디스플레이 영역에 표시될 각종 화면을 구성하기 위한 프로그램 및 데이터 등이 저장될 수 있다.
전원 공급부(150)는 제어부(160)의 제어에 의해 외부의 전원, 내부의 전원을 인가받아 각 구성요소들의 동작에 필요한 전원을 공급한다.
제어부(160)는 통신부(110), 입력부(120), 출력부(130), 메모리(140) 및 전원 공급부(150)와 전기적으로 연결되어, 골프 서비스 제공 서버(100)의 전반적인 동작 및 기능을 제어할 수 있다. 특히, 제어부(160)는 메모리(140)에 저장된 다양한 모듈을 이용하여 후술하는 기능을 제공할 수 있다.
이하에서 설명되는 골프 서비스 제공 서버(100) 상의 다양한 동작은 제어부(160)의 제어에 의해서 수행될 수 있다.
제어부(160)는 그 기능에 따라 다양한 하드웨이 및/또는 소프트웨어 구성들로 구현될 수 있다. 이하에서는, 제어부(160)의 구성 및 기능에 대해 자세히 설명하도록 한다.
도 3은 일 실시예에 따른 제어부(160)의 구성도이다.
도 3을 참조하면, 일 실시예에 따른 제어부(160)는 블록체인 관리부(161), 사용자 등록부(162), 사용자 인증부(163), 거래 정보 관리부(164) 및 트랜잭션 스케줄링부(165)를 포함할 수 있다.
블록체인 관리부(161)는 거래 정보를 포함한 골프 서비스와 관련된 다양한 정보를 골프 서비스 제공 서버(100) 또는 사용자 단말(200)이 노드로 구성된 블록체인 네트워크(20)에 트랜잭션할 수 있다. 블록체인 관리부(161)의 설명에 앞서, 블록체인 네트워크(20)에 대해 설명하도록 한다.
도 4는 일 실시예에 따른 블록체인 네트워크(20)를 설명하기 위한 도면이다.
도 4를 참조하면, 일 실시예의 블록체인 네트워크(20)는 통신망을 통해 서로 통신 가능한 복수의 노드(400)로 구성될 수 있다.
먼저, 블록체인에 대해 설명하기로 한다. 블록체인이란 온라인 거래 정보를 블록(Block)으로 연결하여, 피투피(P2P) 네트워크 분산 환경에서 중앙 관리 서버가 아닌 참여자(피어, Peer)들의 개인 디지털 장비에 데이터를 분산시켜 저장함으로써, 데이터를 공동으로 관리하는 방식이다.
구체적으로, 블록체인의 기본 구조는 블록(block)을 잇따라 연결한(chain) 모음의 형태이며, 피투피(P2P) 방식을 기반으로 한다. 또한, 일정 시간 동안 반수 이상의 참여자들이 거래 내역을 서로 교환해 확인하고 승인하는 과정을 거쳐, 디지털 서명으로 동의한 거래 내역만 하나의 블록으로 만든다. 그리고, 새로 만들어진 블록을 이전 블록체인에 연결하고, 그 사본을 만들어 각 참여자들의 단말에 분산시켜 저장한다.
따라서, 블록체인을 활용하는 경우, 거래 장부용 데이터베이스를 별도로 관리할 필요가 없어 관리 비용이 절감되며, 분산 처리로 해킹이 어려워 거래의 안전성도 향상된다. 블록체인 방식은 주식, 부동산 등의 거래에도 적용 가능하며, 토지 권리 양도나 가정 현관 키 등 보안에 관련된 다양한 분야에 활용될 수 있다.
일 실시예에서는, 복수의 노드(400)를 참여자로 하여 블록체인을 구현하고 있으며, 복수의 노드(400) 각각에 분산되어 저장되는 정보는 블록의 해쉬값 등일 수 있다.
복수의 노드(400)는 복수의 노드(400) 각각에 분산 저장된 정보를 항상 최신 버전으로 유지하여, 해당 정보를 공유하고 있을 수 있다.
복수의 노드(400) 각각은 휴대폰, 스마트폰, PDA(Personal Digital Assistant), PMP(Portable Multimedia Player), 태블릿 PC 등과 같이 무선 통신망을 통하여 외부 서버와 연결될 수 있는 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있으며, 이 외에도 데스크탑 PC, 태블릿 PC, 랩탑 PC, 셋탑 박스를 포함하는 IPTV와 같이, 네트워크를 통하여 외부 서버와 연결될 수 있는 통신 장치도 포함할 수 있다.
복수의 노드(400) 각각은 상술한 바와 같이, 단말 형태로 구현될 수 있지만, 이에 제한되지 않으며, 특정 업체에서 운영하는 서버 형태로 구현될 수 있다.
복수의 노드(400) 중 단말 형태로 구현된 노드는 블록체인 상에서 공유되는 정보를 메모리의 보안 영역에 저장할 수 있으며, 복수의 노드(400) 중 서버 형태로 구현된 노드는 블록체인 상에서 공유되는 정보를 데이터베이스의 보안 영역에 저장할 수 있다.
즉, 일 실시예에서는 참여자가 단말로만 구성된 블록체인, 참여자가 서버로만 구성된 블록체인, 참여자가 단말 및 서버 혼합으로 구성된 블록체인 등 다양한 형태의 블록체인을 기반으로 하여 복수의 노드(400)를 구성할 수 있다.
일 실시예에 따른 골프 서비스 제공 서버(100)는 블록체인 네트워크(20) 상 하나의 노드로 참여하여, 데이터 블록을 생성하여 블록체인 네트워크(20)에 제공하게 된다. 다른 복수의 노드(400)는 데이터 블록의 위변조를 탐지할 수 있다.
도 5은 일 실시예에 따른 노드(400)의 구성도이다.
도 5를 참조하면, 일 실시예에 따른 복수의 노드(400) 각각은, 소정의 알고리즘에 따라, 블록체인 네트워크(20) 상의 각 블록체인 트랜잭션(Transaction)의 기록을 위한 블록을 생성(또는 채굴) 및/또는 검증할 수 있다. 일 실시예에 의하면, 소정의 시간 간격 동안에 각 노드(400)를 통하여 블록체인 네트워크(20) 상에 배포된 블록체인 트랜잭션들은, 새로이 생성된 블록에 함께 저장될 수 있다. 일 실시예에 의하면, 노드(400) 각각은, 소정의 알고리즘에 따라, 블록체인 네트워크(20)를 위한 블록체인(즉, 블록체인 분산 원장)의 적어도 일부를 저장할 수 있다.
도 5는, 일 실시예에 따른 각 노드(400)의 기능적 구성을 개략적으로 도시한 기능 블록도이다. 도시된 바에 의하면, 노드(400)는, 트랜잭션 처리 모듈(402), 통신 모듈(404), 블록 생성/검증 모듈(406), 및 블록체인 분산원장 저장 모듈(408)을 포함한다.
일 실시예에 의하면, 트랜잭션 처리 모듈(402)은, 소정의 블록체인 트랜잭션을 수신하고, 그 수신된 트랜잭션을 블록체인 네트워크(20) 상의 다른 노드들(400)에 배포할 수 있다. 일 실시예에 의하면, 트랜잭션 처리 모듈(402)은 블록체인 네트워크(20) 상의 다른 노드들(400)에 의해 배포된 각 트랜잭션을 수신할 수 있다.
일 실시예에 의하면, 트랜잭션 처리 모듈(402)은, 수신된 각 트랜잭션을 처리(예컨대, 트랜잭션에 포함된 각 스마트 계약의 실행 등을 포함하며, 다만 본 개시가 이로써 제한되는 것은 아님)할 수 있다.
일 실시예에 의하면, 트랜잭션 처리 모듈(402)에 의해 수신 및 처리되는 블록체인 트랜잭션은, 예컨대 클라우드 서비스 제공 장치(100)로부터 유래한 거래 장부의 거래 기록 정보와 연관된 트랜잭션을 포함할 수 있다. 일 실시예에 의하면, 트랜잭션 처리 모듈(402)에 의해 수신 및 처리되는 트랜잭션은, 임의의 노드(400)에 의해서 블록체인 네트워크(20) 상의 각 노드들에 배포된, 블록체인 네트워크(20)를 통하여 처리될 기타 다양한 트랜잭션(예컨대, 해당 블록체인 네트워크(20) 상에서 지원되는 디지털 화폐의 거래 정보 또는 기타 스마트 계약 정보를 포함한 트랜잭션 등을 포함하며, 본 개시가 이로써 제한되지 않음)을 포함할 수 있다.
일 실시예에 의하면, 통신 모듈(404)은, 노드(400)가 블록체인 네트워크(20) 상에서 소정의 프로토콜에 따라 다른 노드들(400)과 통신할 수 있도록 동작할 수 있다. 일 실시예에 의하면, 통신 모듈(404)은, 블록체인 트랜잭션이 소정의 프로토콜에 따라 통신망(134)을 통해 블록체인 네트워크(110) 상에 배포되도록 할 수 있고, 아울러 통신망(134)을 통하여 다른 노드들(400)로부터 블록체인 네트워크(20) 상의 각종 정보를 수신하도록 할 수 있다.
일 실시예에 의하면, 블록 생성/검증 모듈(406)은, 블록체인 네트워크(20)를 위한 블록을 생성하고, 소정의 시간 간격 동안 블록체인 네트워크(20) 상에서 발생한 트랜잭션들을 모아서 적절한 헤더 정보와 함께 그 생성된 블록에 기록할 수 있다. 일 실시예에 의하면, 블록 생성/검증 모듈(406)은, 생성된 블록을 통신 모듈(404)을 통하여 블록체인 네트워크(20) 상에 공지할 수 있다. 일 실시예에 의하면, 블록 생성/검증 모듈(406)은, 블록체인 네트워크(20) 상에 공지된, 다른 노드(400)에 의하여 생성된 블록에 대한 검증을 수행할 수 있다.
일 실시예에 의하면, 블록체인 분산원장 저장 모듈(408)은, 소정의 알고리즘에 따라, 블록체인 네트워크(20)를 위한 블록체인 데이터베이스(즉, 트랜잭션들의 이력을 모두 포함하는 분산 원장)의 적어도 일부를 저장할 수 있다. 일 실시예에 의하면, 블록체인 분산원장 저장 모듈(408)은, 또한, 소정의 알고리즘에 따라, 블록체인 네트워크(20) 상의 블록체인에 의해 유지 및 관리되는 스마트 계약에 관한 정보의 적어도 일부를 저장할 수 있으며, 다만 본 개시가 이로써 제한되는 것은 아니다.
도 6은 일 실시예에 따른 블록(500)을 개념적으로 도시한 도면이다.
도 6은, 일 실시예에 따른, 도 5의 각 노드(400)에 포함된 블록체인 분산원장 저장 모듈(408)에 저장될 수 있는, 블록체인 및 그에 포함된 각 블록(500)의 구성을 개념적으로 도시한 도면이다. 도시된 바에 의하면, 블록체인은 복수의 블록을 포함하며, 각 블록(500)은 블록 헤더(502)와 복수의 트랜잭션 정보(504a-504n)를 포함할 수 있다.
일 실시예에 의하면, 블록 헤더(502)는, 이전 블록 헤더의 해시(hash) 값, 넌스(nonce) 값, 해당 블록(500)에 포함될 트랜잭션 정보들(504a-504n)의 머클루트, 블록(500)이 생성된 시간을 나타내는 타임스탬프, 해당 블록(500)의 채굴 난이도 등의 값을 포함할 수 있다.
일 실시예에 의하면, 블록(500)에 포함된 복수의 트랜잭션 정보(504a-504n)는, 소정의 시간 간격 동안, 도 6의 노드들(400)로부터 블록체인 네트워크(20) 상에 배포된 복수의 트랜잭션 기록들일 수 있다. 일 실시예에 의하면, 블록(500)의 트랜잭션 정보(504a-504n)는, 블록체인 네트워크(20) 상에서 발생한 각 거래 기록(예컨대, 소정의 디지털 암호 화폐의 거래에 관한 기록 등이며, 본 개시에서 언급되는 골프 서비스 제공 서버(100)로부터 유래된 거래 정보에 관한 기록과는 구별되는 것임)에 관한 트랜잭션 정보를 포함할 수 있다.
일 실시예에 의하면, 블록(500)의 트랜잭션 정보(504a-504n)는, 노드(400)를 통해서 블록체인 네트워크(20) 상에 배포된 트랜잭션, 즉 골프 서비스 제공 서버(100)를 통해서 발생한 각 거래에 관한 정보를 포함한 트랜잭션 정보를 포함할 수 있다.
일 실시예에 의하면, 블록체인 트랜잭션은, 예컨대 해당 블록체인 네트워크(20) 상의 디지털 화폐 등의 거래에 관한 정보(거래 금액 정보 등)로서 0을 기록하고, 그 트랜잭션의 부가 정보로서 대응하는 골프 서비스 제공 서버(100) 상의 거래에 관한 정보를 기록할 수 있다.
전술한 바와 같이, 블록체인 관리부(161)는 거래 정보를 포함한 골프 서비스와 관련된 다양한 정보를 골프 서비스 제공 서버(100) 또는 사용자 단말(200)이 노드로 구성된 블록체인 네트워크(20)에 트랜잭션하여, 골프 서비스의 신뢰성을 향상시킬 수 있다.
이때, 골프 서비스에 관련된 다양한 정보 중에서 거래 정보에는 골프 레슨 예약의 예약자, 장소, 선생님 및 레슨 시간 등의 예약 정보가 포함될 수 있다. 거래 정보에는 복수의 예약 정보가 포함될 수 있다.
이처럼, 거래 정보에 복수의 예약 정보가 포함되어 있는 경우에, 후술하는 트랜잭션 스케줄링부(165)는 거래 정보에 예약 정보가 포함되어 있으면, 예약 정보에 기반하여 트랜잭션 스케줄 정보를 생성하고, 생성된 트랜잭션 스케줄 정보에 따른 시각에 거래 정보를 트랜잭션 하도록 구성될 수 있다.
이때, 블록체인 네트워크의 경우 중앙 서버 대신에 블록체인 네트워크를 구성하는 노드 단말들 사이에 P2P 기반으로 데이터를 전송하기 때문에, 개별 노드 단말의 네트워크 상태 정보(이하, 상태 정보로 지칭될 수 있음)에 따라 트랜잭션 스케줄 정보에 따른 시각에 거래 정보를 트랜잭션하는 것이 보장되지 않는 문제가 발생할 수 있고, 이것은 골프 예약 서비스의 신뢰도 저하로 이어질 수 있다.
이러한 문제를 해결하기 위한 방안으로, 블록체인 관리부(161)는 블록체인 네트워크(20)를 구성하는 노드에 해당하는 노드 단말들(노드 단말들 각각은 사용자 단말(200)일 수 있음) 각각에 대응하는 상태 정보를 관리할 수 있다. 예를 들어, 상태 정보는, 현재 CPU 사용률, 네트워크 트래픽, 네트워크 속도, 평균 트래픽 지연 시간 중 적어도 하나일 수 있다.
블록체인 관리부(161)는 복수의 노드 단말들 각각에 상태 정보를 요청하는 메시지를 전송하고, 복수의 노드 단말들 각각으로부터 상태 정보를 수신할 수 있다.
블록체인 관리부(161)는 복수의 노드 단말들 각각에 대응하고, 수신된 상태 정보에 대한 수치 값을 성분값으로 하는 복수의 특성 벡터들을 생성할 수 있다.
예컨대, 특정 노드 단말로부터 '100', '150', '300'이라고 하는 3가지 종류의 상태 정보에 대한 수치 값이 수신되었다고 하는 경우, 블록체인 관리부(161)는 특정 노드 단말에 대해 '[100 150 300]'과 같은 3개의 성분값으로 구성된 특성 벡터를 해당 특정 노드 단말과 대응하는 특성 벡터로서 생성할 수 있다.
블록체인 관리부(161)는 복수의 노드 단말들 각각에 대응하는 복수의 특성 벡터들과 기준 벡터를 서로 비교하고, 비교 결과에 따라 노드 단말들 중 하나를 예약정보가 포함된 거래정보를 트랜잭션할 노드 단말로 선정할 수 있다.
여기서, 기준 벡터는, 복수의 노드 단말들 각각의 작업증명(Proof of Work, POW) 이력(history)을 참조하여, 작업증명 횟수가 가장 많은 노드 단말과 대응하는 제1 특성 벡터 및 작업증명 속도가 가장 빠른 것으로 기록된 노드 단말과 대응하는 제2 특성 벡터에 기초하여 결정될 수 있다. 이때, 작업증명 횟수가 가장 많은 노드 단말과 작업증명 속도가 가장 빠른 노드 단말이 서로 동일한 경우에는, 작업증명 횟수가 두번째로 많은 노드 단말과 작업증명 속도가 두번째로 빠른 노드 단말 중 하나와 대응하는 특성 벡터를 제2 특성 벡터로 사용할 수 있다.
구체적으로, 기준 벡터(Vref)는 하기 수학식 1에 따라 결정될 수 있다.
Figure 112022034829183-pat00001
수학식 1을 참조하면, V1과 V2는 각각 제1 특성 벡터와 제2 특성 벡터이고, Vi는 n개의 노드 단말들 중에서 i번째 노드 단말에 대응하는 특성 벡터이고, avg(V1, V2)는 제1 특성 벡터와 제2 특성 벡터 사이의 평균값에 해당하는 벡터이고, median(Vi)는 n개의 노드 단말들 각각에 대응하는 특성 벡터들을 구성하는 성분값들 중에서 중간값들로만 구성된 벡터이다. 구체적으로, median(Vi)는 n개의 노드 단말들 각각에 대응하는 특성 벡터들 각각의 첫번째 성분값들 중에서 크기가 중간값에 해당하는 성분값을 첫번째 성분값으로 갖는다. 마찬가지로, median(Vi)는 n개의 노드 단말들 각각에 대응하는 특성 벡터들 각각의 j(j는 특성 벡터의 차원수에서 임의의 j번째를 지칭하는 수)번째 성분값들 중에서 크기가 중간값에 해당하는 성분값을 j번째 성분값으로 갖는다.
즉, 기준 벡터는 작업증명 횟수와 속도를 기반으로 선정된 노드 단말의 특성 벡터들을 이용하여 결정되기 때문에, 현재 CPU 사용률, 네트워크 트래픽, 네트워크 속도, 평균 트래픽 지연 시간과 같은 상태 정보 특성이 상당히 좋은 노드 단말의 특성 벡터와 유사하게 결정되는 효과가 있다.
한편, 블록체인 관리부(161)는 복수의 특성 벡터들과 기준 벡터 사이의 비교시에 하기의 수학식 2에 따른 비교연산(SMR)을 수행하고, 비교연산(SMR)의 결과값이 가장 작은 특성 벡터를 선정할 수 있다.
Figure 112022034829183-pat00002
Figure 112022034829183-pat00003
수학식 2에서, SMR은 비교 연산이고, A는 복수의 특성 벡터들 중 비교대상이 되는 특성 벡터이고, B는 기준 벡터이고, am은 특성 벡터(A)의 m번째 성분값이고, bm은 기준 벡터(B)의 m번째 성분값이다.
블록체인 관리부(161)는 선정된 특성 벡터와 대응하는 노드 단말을 예약정보가 포함된 거래정보를 트랜잭션할 거래정보 갱신 단말로 선정하고, 선정된 노드 단말에게 예약정보가 포함된 거래정보를 트랜잭션 하도록 요청할 수 있다.
거래정보 갱신 단말은, 예약정보가 포함된 거래정보를 포함하는 블록을 내부 저장소에 저장된 블록체인 데이터에 체인으로 연결하여 해당 블록을 저장한 후, 저장된 블록을 블록체인 네트워크(20)를 통해 복수의 노드 단말들 중 거래정보 갱신 단말을 제외한 나머지 노드 단말들로 전달할 수 있다.
다시 도 3으로 돌아와서, 제어부(160)는 블록체인 기반으로 사용자의 신원을 인증하여, 인증된 사용자에게 골프 서비스를 제공할 수 있다.
이를 위해, 우선 사용자 등록부(162)는 사용자의 등록 요청에 따라 사용자 등록 동작을 수행할 수 있다.
사용자 등록부(162)는 사용자 단말(200)로부터 사용자 등록 요청을 수신하면, 사용자 등록에 따른 신원 인증 값인 사용자 식별자(PID)를 생성할 수 있다.
일 실시예의 사용자 식별자(PID)는 주민번호, 사회 보장 번호, 국적, 이름, 주소, 생년월일, 여권 번호, 여권 이미지, 또는 여권에 포함된 얼굴 사진 중에서 적어도 하나를 포함할 수 있다.
사용자 등록부(162)는 블록체인 관리부(161)를 제어하여, 생성된 사용자 식별자(PID)를 블록체인 네트워크(20)에 트랜잭션하여 저장할 수 있다.
사용자 등록부(162)는 생성된 사용자 식별자(PID)를 사용자 단말(200)에 전송할 수 있다.
사용자 등록부(162)는 생성된 사용자 식별자(PID)를 해시(hash)하거나 사용자의 public key를 이용하여 암호화하여, 사용자 단말(200)에 전송할 수 있다.
사용자 등록 후 사용자가 골프 서비스를 요청하면, 사용자 인증부(163)는 사용자 인증을 수행한 후, 인증 결과를 골프 서비스 서버(300)에 전송할 수 있다. 즉, 사용자가 인증되면 골프 서비스 서버(300)를 통해 사용자에게 골프 서비스를 제공하는 것이다.
사용자 인증부(163)는 사용자 단말(200) 또는 골프 서비스 서버(300)로부터 인증 요청을 수신하면, 인증 요청에 포함된 사용자 단말(200)의 사용자 식별자(PID)를 추출할 수 있다.
사용자 인증부(163)는 블록체인 관리부(161)를 제어하여, 블록체인 네트워크(20)에서 사용자의 사용자 식별자(PID)를 도출할 수 있다.
사용자 인증부(163)는 인증 요청에 포함된 사용자 단말(200)의 사용자 식별자(PID) 및 블록체인 네트워크(20)에서 추출된 사용자의 사용자 식별자(PID)를 기초로, 사용자 인증을 수행할 수 있다.
일례로, 사용자 인증부(163)는 인증 요청에 포함된 사용자 단말(200)의 사용자 식별자(PID) 및 블록체인 네트워크(20)에서 추출된 사용자의 사용자 식별자(PID)의 인증 값, 생성 시점 등을 비교, 분석하여, 사용자의 인증을 수행할 수 있다.
도 7은 일 실시예에 따른 사용자 등록 및 인증 방법의 흐름도이다.
도 7을 참조하면, 골프 서비스를 제공받기 위해, 사용자 단말(200)은 골프 서비스 제공 서버(100)에 사용자 등록 요청을 전송할 수 있다.
사용자 등록부(162)는 사용자 단말(200)로부터 사용자 등록 요청을 수신하면, 사용자 등록에 따른 신원 인증 값인 사용자 식별자(PID)를 생성할 수 있다.
전술한 바와 같이, 일 실시예의 사용자 식별자(PID)는 주민번호, 사회 보장 번호, 국적, 이름, 주소, 생년월일, 여권 번호, 여권 이미지, 또는 여권에 포함된 얼굴 사진 중에서 적어도 하나를 포함할 수 있다.
사용자 등록부(162)는 블록체인 관리부(161)를 제어하여, 생성된 사용자 식별자(PID)를 블록체인 네트워크(20)에 저장할 수 있다.
사용자 등록부(162)는 생성된 사용자 식별자(PID)를 사용자 단말(200)에 전송할 수 있다. 일례로, 사용자 등록부(162)는 생성된 사용자 식별자(PID)를 해시(hash)하거나 사용자의 public key를 이용하여 암호화하여, 사용자 단말(200)에 전송할 수 있다.
이에 따라, 사용자 등록이 완료된 것이다.
그리고, 골프 서비스를 제공받기 위해, 사용자 단말(200)은 골프 서비스 서버(300)에 서비스 제공 요청을 전송할 수 있다.
사용자 단말(200)은 서비스 제공 요청에 사용자 단말(200)의 사용자 식별자(PID)를 포함시킬 수 있으며, 사용자 단말(200)은 사용자 식별자(PID)를 복호화하여 서비스 제공 요청에 포함시킬 수 있다.
골프 서비스 서버(300)는 골프 서비스 제공 서버(100)에 사용자의 인증 요청을 전송할 수 있으며, 골프 서비스 서버(300)는 인증 요청에 사용자 단말(200)에서 수신된 사용자 식별자(PID)를 포함시킬 수 있다.
사용자 인증부(163)는 사용자 단말(200) 또는 골프 서비스 서버(300)로부터 인증 요청을 수신하면, 인증 요청에 포함된 사용자 단말(200)의 사용자 식별자(PID)를 추출할 수 있다.
사용자 인증부(163)는 블록체인 관리부(161)를 제어하여, 블록체인 네트워크(20)에서 사용자의 사용자 식별자(PID)를 도출할 수 있다.
사용자 인증부(163)는 인증 요청에 포함된 사용자 단말(200)의 사용자 식별자(PID) 및 블록체인 네트워크(20)에서 추출된 사용자의 사용자 식별자(PID)를 기초로, 사용자 인증을 수행할 수 있다.
일례로, 사용자 인증부(163)는 인증 요청에 포함된 사용자 단말(200)의 사용자 식별자(PID) 및 블록체인 네트워크(20)에서 추출된 사용자의 사용자 식별자(PID)의 인증 값, 생성 시점 등을 비교, 분석하여, 사용자의 인증을 수행할 수 있다.
사용자 인증부(163)는 인증 결과를 골프 서비스 서버(300)에 전송할 수 있으며, 골프 서비스 서버(300)는 인증 결과에 따라, 골프 서비스 제공 서버(100) 또는 사용자 단말(200)에 골프 서비스를 제공하기 위한 다양한 데이터를 전송할 수 있다.
거래 정보 관리부(164)는 사용자에게 제공된 골프 서비스의 거래 정보를 생성할 수 있다.
일 실시예의 거래 정보는 사용자에게 제공된 골프 서비스의 내역 정보로, 제공된 골프 서비스의 각종 정보가 포함될 수 있다. 일례로, 사용자에게 제공된 서비스가 골프 의류 구매 서비스인 경우 의류 구매 내역 정보일 수 있으며, 골프장 이용 서비스인 경우 골프장 이용 내역 정보일 수 있으며, 골프 레슨 예약 서비스인 경우 예약 정보일 수 있다.
도 8 및 도 9는 일 실시예에 따른 골프 서비스 제공에 따라 생성된 거래 정보를 설명하기 위한 도면이다.
도 8에 도시된 거래 정보는 사용자에게 제공된 서비스가 골프 의류 구매 서비스인 경우에 생성된 거래 정보로, 도면에서 보는 바와 같이, 거래 정보에는 구매한 의류의 브랜드, 상품명, 사이즈, 구매자, 구매일, 구매 장소, 환불기한 등의 의류 구매 내역 정보가 포함될 수 있다.
도 9에 도시된 거래 정보는 사용자에게 제공된 서비스가 골프장 이용 서비스인 경우에 생성된 거래 정보로, 도면에서 보는 바와 같이, 거래 정보에는 이용한 골프장명, 이용자, 이용날짜, 시간, 캐디, 타수, 골프장 이용 사진 등의 골프장 이용 내역 정보가 포함될 수 있다.
도 10은 일 실시예에 따른 거래 정보 저장 방법의 흐름도이다.
도 10을 참조하면, 일 실시예의 거래 정보 저장 방법은 서비스 요청 수신 동작(S100), 서비스 요청 정보 전송 동작(S110), 서비스 제공 완료 수신 동작(S120), 거래 정보 생성 동작(S130) 및 거래 정보 트랜잭션 동작(S140)을 포함할 수 있다.
우선, 서비스 요청 수신 동작(S100)으로, 제어부(160)는 사용자 단말(200)로부터 서비스 요청 신호를 수신할 수 있다.
일 실시예의 서비스 요청 신호에는 사용자가 원하는 골프 서비스의 종류, 내용, 시간, 장소 등 골프 서비스에 필요한 다양한 정보가 포함될 수 있다.
그리고, 서비스 요청 정보 전송 동작(S110)으로, 제어부(160)는 서비스 요청 신호를 골프 서비스 서버(300)에 전송할 수 있다.
그리고, 서비스 제공 완료 수신 동작(S120)으로, 제어부(160)는 골프 서비스 서버(300)로부터 서비스 제공 완료 신호를 수신할 수 있다.
일 실시예의 서비스 제공 완료 신호에는 사용자에게 제공한 골프 서비스에 대한 내역 정보가 포함될 수 있다.
그리고, 거래 정보 생성 동작(S130)으로, 거래 정보 관리부(164)는 수신된 서비스 제공 완료 신호로부터 거래 정보를 생성할 수 있다.
전술한 바와 같이, 일 실시예의 거래 정보는 사용자에게 제공된 골프 서비스의 내역 정보로, 제공된 골프 서비스의 각종 정보가 포함될 수 있다. 일례로, 사용자에게 제공된 서비스가 골프 의류 구매 서비스인 경우 의류 구매 내역 정보일 수 있으며, 골프장 이용 서비스인 경우 골프장 이용 내역 정보일 수 있으며, 골프 레슨 예약 서비스인 경우 예약 정보일 수 있다.
그리고, 거래 정보 트랜잭션 동작(S140)으로, 거래 정보 관리부(164)는 블록체인 관리부(161)를 제어하여, 생성된 거래 정보를 블록체인 네트워크(20)에서 트랜잭션하여 저장할 수 있다.
거래 정보 관리부(164)는 거래 정보를 블록체인 네트워크(20)에 트랜잭션할 수 있도록, 거래 정보를 해당 블록체인 네트워크(20)의 블록(500)에 맞도록 데이터 구조를 변경할 수 있다.
제어부(160)는 생성된 거래 정보를 블록체인 네트워크에 트랙잭션하되, 제공된 골프 서비스의 속성에 따라 트랜잭션을 스케쥴링할 수 있다.
제어부(160)는 생성된 거래 정보에 예약 정보가 포함되어 있으면, 예약 정보에 기반하여 트랜잭션 스케줄 정보를 생성할 수 있다.
일 실시예의 예약 정보는 골프 서비스의 예약 관련 정보로, 골프 서비스의 예약 시간, 예약 장소, 서비스 시간 등을 포함할 수 있다.
그리고, 제어부(160)는 생성된 트랜잭션 스케줄 정보에 따라 거래 정보를 업데이트하고, 업데이트된 거래 정보를 블록체인 네트워크(20)에 트랜잭션하여, 저장할 수 있다.
도 11은 일 실시예에 따른 예약 정보가 포함된 거래 정보를 설명하기 위한 도면이다.
도 11에 도시된 거래 정보는 사용자에게 제공된 서비스가 골프 레슨 예약 서비스인 경우에 생성된 거래 정보로, 도면에서 보는 바와 같이, 거래 정보에는 골프 레슨 예약의 예약자, 장소, 선생님 및 레슨 시간 등의 예약 정보가 포함될 수 있다. 거래 정보에는 복수의 예약 정보가 포함될 수 있다.
트랜잭션 스케줄링부(165)는 거래 정보에 예약 정보가 포함되어 있으면, 예약 정보에 기반하여 트랜잭션 스케줄 정보를 생성할 수 있다.
일 실시예의 트랜잭션 스케줄 정보는 단위 시간 별로 블록체인 네트워크(20)에 트랜잭션될 거래 정보를 저장한 정보로, 트랜잭션 스케줄 정보는 단위 시간으로 구성된 시간 정보 및 해당 단위 시간에 블록체인 네트워크에 트랜잭션될 거래 정보를 포함할 수 있다. 여기서, 단위 시간은 1초, 30초, 1분 등으로 다양하게 구성될 수 있으며, 관리자에 의해 설정될 수 있다.
도 12는 일 실시예에 따른 트랜잭션 스케줄 정보의 데이터 구조를 나타낸 도면이다.
도 12를 참조하면, 일 실시예에 따른 트랜잭션 스케줄 정보에는 단위 시간으로 구성된 시간 정보 및 해당 단위 시간의 거래 정보 리스트를 포함할 수 있다.
일 실시예의 거래 정보 리스트는 해당 단위 시간에 트랜잭션될 거래 정보들의 리스트이며, 예약 정보를 포함하는 거래 정보는 예약 서비스의 제공이 완료되는 단위 시간에 트랜잭션되도록 구성될 수 있다.
도 11에 도시된 골프 레슨 예약의 거래 정보는, 11월 4일 오후 7시, 1시간 레슨의 1차 예약 정보 및 11월 11일 오후 7시, 2시간 레슨의 2차 예약 정보를 포함하므로, 해당 거래 정보는 11월 4일 오후 8시의 단위 시간 및 11월 11일 오후 9시의 단위 시간 각각의 거래 정보 리스트에 포함될 수 있다.
트랜잭션 스케줄링부(165)는 생성된 트랜잭션 스케줄 정보에 따라 거래 정보를 업데이트할 수 있다.
트랜잭션 스케줄링부(165)는 시간 정보의 단위 시간에 해당 거래 정보 리스트에 포함된 거래 정보의 예약 서비스가 완료, 즉 실제 서비스되었는지 골프 서비스 서버(300)에 질의하여 확인할 수 있다.
트랜잭션 스케줄링부(165)는 예약 서비스 완료 여부를 확인하여, 해당 거래 정보를 업데이트할 수 있다.
도 13은 일 실시예에 따른 업데이트된 거래 정보를 설명하기 위한 도면이다.
도 13을 참조하면, 일 실시예에 따른 업데이트된 거래 정보는 도 11의 골프 레슨 예약의 거래 정보에 1차 레슨의 서비스 완료 정보를 포함하고 있다.
이를 위해, 트랜잭션 스케줄링부(165)는 11월 4일 오후 8시에 골프 레슨 서비스를 제공하는 골프 서비스 서버(300)에 질의하여, 1차 레슨이 완료되었는지 여부를 확인할 수 있다.
1차 레슨이 완료되었으면, 트랜잭션 스케줄링부(165)는 1차 레슨 완료 정보를 거래 정보에 추가하여, 거래 정보를 업데이트할 수 있다.
트랜잭션 스케줄링부(165)는 업데이트된 거래 정보를 블록체인 네트워크(20)에 트랜잭션하여 저장할 수 있다.
도 14는 다른 실시예에 따른 거래 정보 저장 방법의 흐름도이다.
도 14를 참조하면, 다른 실시예에 따른 거래 정보 저장 방법은 거래 정보 생성 동작(S200), 예약 정보 포함 여부 확인 동작(S210), 트랜잭션 스케줄 정보 생성 동작(S230), 거래 정보 업데이트 동작(S240) 및 거래 정보 트랜잭션 동작(S250)을 포함할 수 있다.
우선, 거래 정보 생성 동작(S200)으로, 도 10에서 설명한 바와 같이 거래 정보 관리부(164)는 골프 서비스 서버(300)로부터 수신된 서비스 제공 완료 신호로를 이용하여, 거래 정보를 생성할 수 있다.
그리고, 예약 정보 포함 여부 확인 동작(S210)으로, 트랜잭션 스케줄링부(165)는 생성된 거래 정보에 예약 정보가 포함되어 있는지 확인할 수 있다.
거래 정보에 예약 정보가 포함되어 있지 않으면, 트랜잭션 스케줄링부(165)는 업데이트된 거래 정보를 블록체인 네트워크(20)에 트랜잭션하여 저장할 수 있다. (S250)
거래 정보에 예약 정보가 포함되어 있으며, 트랜잭션 스케줄 정보 생성 동작(S230)으로, 트랜잭션 스케줄링부(165)는 예약 정보에 기반하여 트랜잭션 스케줄 정보를 생성할 수 있다.
일 실시예의 트랜잭션 스케줄 정보는 단위 시간 별로 블록체인 네트워크(20)에 트랜잭션될 거래 정보를 저장한 정보로, 트랜잭션 스케줄 정보는 단위 시간으로 구성된 시간 정보 및 해당 단위 시간에 블록체인 네트워크에 트랜잭션될 거래 정보를 포함할 수 있으며, 트랜잭션 스케줄 정보의 데이터 구조는 도 12에서 전술하였다.
그리고, 거래 정보 업데이트 동작(S240)으로, 트랜잭션 스케줄링부(165)는 트랜잭션 스케줄 정보에 따라 거래 정보를 업데이트할 수 있다.
트랜잭션 스케줄링부(165)는 시간 정보의 단위 시간에 해당 거래 정보 리스트에 포함된 거래 정보의 예약 서비스가 완료, 즉 실제 서비스되었는지를 골프 서비스 서버(300)에 질의하여 확인할 수 있으며, 트랜잭션 스케줄링부(165)는 예약 서비스 완료 여부를 확인하여, 해당 거래 정보를 업데이트할 수 있다.
그리고, 거래 정보 트랜잭션 동작(S250)으로, 트랜잭션 스케줄링부(165)는 업데이트된 거래 정보를 블록체인 네트워크(20)에 트랜잭션하여 저장할 수 있다.
도 15는 일 실시예에 따른 사용자 단말(200)의 구성도이다. 이하, 도 15에 도시된 사용자 단말(200)를 구성하는 구성요소들에 대해 차례로 살펴본다.
무선 통신부(210)는 사용자 단말(200)와 무선 통신 시스템 사이의 무선 통신 또는 사용자 단말(200)와 사용자 단말(200)가 위치한 네트워크 사이의 무선 통신을 수행하는 하나 이상의 구성요소를 포함할 수 있다. 예를 들어, 무선 통신부(210)는 공연 수신 모듈(211), 이동통신 모듈(212), 무선 인터넷 모듈(213), 근거리 통신 모듈(214) 및 위치정보 모듈(215) 등을 포함할 수 있다.
공연 수신 모듈(211)은 공연 채널을 통하여 외부의 공연 관리 서버로부터 공연 신호 및/또는 공연 관련된 정보를 수신한다. 여기에서, 공연 채널은 위성 채널, 지상파 채널을 포함할 수 있다. 한편, 공연 관련 정보는 이동통신망을 통하여도 제공될 수 있으며, 이러한 경우에는 이동통신 모듈(312)에 의해 수신될 수 있다.
또한, 이동통신 모듈(212)은 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 여기에서, 무선 신호는 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.
무선 인터넷 모듈(213)은 무선 인터넷 접속을 위한 모듈을 말하는 것으로, 사용자 단말(200)에 내장되거나 외장 될 수 있다.
근거리 통신 모듈(214)은 근거리 통신을 위한 모듈을 말한다. 근거리 통신 기술로, 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(IrDA, infrared Data Association), UWB(Ultra Wideband), ZigBee 등이 이용될 수 있다.
또한, 위치정보 모듈(215)은 사용자 단말(200)의 위치를 확인하거나 얻기 위한 모듈이다. 일례로 GPS(Global Position System) 모듈을 들 수 있다. GPS 모듈은 복수 개의 인공위성으로부터 위치 정보를 수신한다. 여기에서, 위치 정보는 위도 및 경도로 표시되는 좌표 정보를 포함할 수 있다.
한편, A/V(Audio/Video) 입력부(220)는 오디오 신호 또는 비디오 신호 입력을 위한 것으로, 이에는 카메라(221)와 마이크(222) 등이 포함될 수 있다. 카메라(221)는 화상 통화 모드 또는 촬영 모드에서 이미지 센서에 의해 얻어지는 정지영상 또는 동영상 등의 화상 프레임을 처리한다. 그리고, 처리된 화상 프레임은 디스플레이부(251)에 표시될 수 있다.
카메라(221)에서 처리된 화상 프레임은 메모리(360)에 저장되거나 무선 통신부(210)를 통하여 외부로 전송될 수 있다. 카메라(221)는 사용자 단말(200)의 구성 태양에 따라 2개 이상이 구비될 수도 있다.
마이크(222)는 통화모드 또는 녹음모드, 음성인식 모드 등에서 마이크로폰(Microphone)에 의해 외부의 음향 신호를 입력받아 전기적인 음성 데이터로 처리한다. 그리고, 처리된 음성 데이터는 통화 모드인 경우 이동통신 모듈(212)을 통하여 이동통신 기지국으로 송신 가능한 형태로 변환되어 출력될 수 있다. 마이크(222)는 외부의 음향 신호를 입력받는 과정에서 발생하는 잡음(noise)을 제거하기 위한 다양한 잡음 제거 알고리즘을 구현할 수 있다.
사용자 입력부(230)는 사용자로부터 입력 동작을 받아들여, 사용자 단말(200)의 동작 제어를 위한 입력 데이터를 발생시킨다.
센싱부(240)는 사용자 단말(200)의 위치, 사용자 접촉 유무, 사용자 단말(200)의 방위, 사용자 단말(200)의 가속/감속 등과 같이, 사용자 단말(200)의 현 상태를 감지하여 사용자 단말(200)의 동작을 제어하기 위한 센싱 신호를 발생시킨다.
인터페이스부(270)는 사용자 단말(200)에 연결되는 모든 외부기기와의 인터페이스 역할을 한다. 예를 들어, 유/무선 헤드셋 포트, 외부 충전기 포트, 유/무선 데이터 포트, 메모리 카드(memory card) 포트, 식별 모듈이 구비된 장치를 연결하는 포트, 오디오 I/O(Input/Output) 포트, 비디오 I/O(Input/Output) 포트, 이어폰 포트 등이 포함될 수 있다.
출력부(250)는 오디오 신호 또는 비디오 신호 또는 알람(alarm) 신호의 출력을 위한 것으로, 이에는 디스플레이부(251)와 음향 출력 모듈(252), 알람부(253) 등이 포함될 수 있다.
디스플레이부(251)는 사용자 단말(200)에서 처리되는 정보를 표시 출력한다. 예를 들어, 단말기가 통화 모드인 경우, 통화와 관련된 UI(User Interface) 또는 GUI(Graphic User Interface)를 표시한다. 그리고, 사용자 단말(200)가 화상 통화 모드 또는 촬영 모드인 경우, 촬영 또는/및 수신된 영상 또는 UI, GUI를 표시한다.
한편, 전술한 바와 같이, 디스플레이부(251)와 터치 패드가 상호 레이어 구조를 이루어 터치 스크린으로 구성되는 경우, 디스플레이부(251)는 출력 장치 이외에 입력 장치로도 사용될 수 있다. 디스플레이부(251)는 액정 디스플레이(liquid crystal display), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display), 유기 발광 다이오드(organic light-emitting diode), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display) 중에서 적어도 하나를 포함할 수 있다. 그리고, 사용자 단말(200)의 구현 형태에 따라, 디스플레이부(251)는 2개 이상 존재할 수도 있다. 예를 들어, 사용자 단말(200)에 외부 디스플레이부(미도시)와 내부 디스플레이부(미도시)가 동시에 구비될 수 있다.
음향 출력 모듈(252)은 호 신호 수신, 통화모드 또는 녹음 모드, 음성인식 모드, 공연수신 모드 등에서, 무선 통신부(210)로부터 수신되거나 메모리(260)에 저장된 오디오 데이터를 출력한다. 또한, 음향 출력 모듈(352)은 사용자 단말(200)에서 수행되는 기능(예를 들어, 호신호 수신음, 메시지 수신음 등)과 관련된 음향 신호를 출력한다. 이러한 음향 출력 모듈(252)에는 스피커(speaker), 버저(Buzzer) 등이 포함될 수 있다.
알람부(253)는 사용자 단말(200)의 이벤트 발생을 알리기 위한 신호를 출력한다. 단말기에서 발생되는 이벤트의 예로는 호 신호 수신, 메시지 수신, 키 신호 입력 등이 있다.
메모리(260)는 제어부(280)의 처리 및 제어를 위한 프로그램이 저장될 수도 있고, 입/출력되는 데이터들(예를 들어, 폰북, 메시지, 정지영상, 동영상 등)의 임시 저장을 위한 기능을 수행할 수도 있다.
메모리(260)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory) 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
제어부(280)는 통상적으로 단말기의 전반적인 동작을 제어한다. 예를 들어, 음성 통화, 데이터 통신, 화상 통화 등을 위한 관련된 제어 및 처리를 수행한다. 또한, 제어부(280)는 멀티 미디어 재생을 위한 멀티미디어 모듈(281)을 구비할 수도 있다. 멀티미디어 모듈(281)은 제어부(280) 내에 구현될 수도 있고, 제어부(280)와 별도로 구현될 수도 있다.
전원 공급부(290)는 제어부(280)의 제어에 의해 외부의 전원, 내부의 전원을 인가받아 각 구성요소들의 동작에 필요한 전원을 공급한다.
한편, 상술한 골프 서비스 제공 서버(100)의 동작 중 적어도 일부 또는 전부는 사용자 단말(300)에서 구현될 수도 있다. 이때, 사용자 단말(300)에는 골프 서비스 제공 서버(100)와 통신하여 상술한 골프 서비스 제공 서버(100)의 동작을 수행하기 위한 애플리케이션이 미리 설치될 수 있다.
본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.
삭제
삭제

Claims (5)

  1. 서버에서 수행되는 골프 서비스 제공 방법으로,
    골프 서비스 서버로부터 서비스 제공 완료 신호를 수신하는 단계;
    상기 서비스 제공 완료 신호를 이용하여, 거래 정보를 생성하는 단계;
    상기 거래 정보에 포함된 예약 정보를 이용하여, 트랜잭션 스케줄 정보를 생성하는 단계;
    상기 트랜잭션 스케줄 정보를 이용하여, 상기 거래 정보를 업데이트하는 단계; 및
    상기 업데이트된 거래 정보를 블록체인 네트워크에 트랜잭션하는 단계를 포함하되,
    상기 거래 정보를 업데이트하는 단계는
    상기 트랜잭션 스케줄 정보에 포함된 상기 거래 정보의 예약 서비스 완료 여부를 확인하는 단계; 및
    상기 예약 서비스 완료 여부를 상기 거래 정보에 업데이트하는 단계를 포함하고,
    상기 트랜잭션하는 단계는,
    상기 블록체인 네트워크를 구성하는 복수의 노드 단말들 각각에 대응하는 상태 정보를 성분값으로 갖는 복수의 특성 벡터들을 생성하는 단계;
    생성된 상기 특성 벡터들을 기준 벡터와 비교하는 단계; 및
    비교 결과에 따라 상기 노드 단말들 중 하나를 상기 거래정보를 트랜잭션할 노드 단말로 선정하는 단계;를 포함하고,
    상기 상태 정보는, 현재 CPU 사용률, 네트워크 트래픽, 네트워크 속도, 및 평균 트래픽 지연 시간 중 적어도 하나를 포함하고,
    상기 기준 벡터는, 상기 복수의 노드 단말들 각각의 작업증명(Proof of Work, POW) 이력을 참조하여 작업증명 횟수가 가장 많은 노드 단말과 대응하는 제1 특성 벡터 및 작업증명 속도가 가장 빠른 것으로 기록된 노드 단말과 대응하는 제2 특성 벡터에 기초하여 하기 수학식 1에 따라 결정되고,
    Figure 112022053367316-pat00019

    상기 수학식 1에서, V1과 V2는 각각 제1 특성 벡터와 제2 특성 벡터이고, Vi는 n개의 노드 단말들 중에서 i번째 노드 단말에 대응하는 특성 벡터이고, avg(V1, V2)는 제1 특성 벡터와 제2 특성 벡터 사이의 평균값에 해당하는 벡터이고, median(Vi)는 n개의 노드 단말들 각각에 대응하는 특성 벡터들을 구성하는 성분값들 중에서 중간값들로만 구성된 벡터이며,
    상기 특성 벡터들을 기준 벡터와 비교하는 단계는, 하기 수학식 2에 따른 비교연산(SMR)을 수행하는 단계를 포함하고,
    Figure 112022053367316-pat00020

    상기 수학식 2에서 SMR은 비교 연산이고, A는 복수의 특성 벡터들 중 비교대상이 되는 특성 벡터이고, B는 기준 벡터이고, am은 특성 벡터(A)의 m번째 성분값이고, bm은 기준 벡터(B)의 m번째 성분값인,
    골프 서비스 제공 방법.
  2. 제 1 항에 있어서,
    사용자 단말로부터 사용자 등록 요청을 수신하는 단계;
    사용자의 신원 인증 값인 사용자 식별자(PID)를 생성하는 단계;
    상기 생성된 사용자 식별자(PID)를 상기 블록체인 네트워크에 트랜잭션하는 단계; 및
    상기 생성된 사용자 식별자(PID)를 상기 사용자 단말에 전송하는 단계를 포함하는
    골프 서비스 제공 방법.
  3. 제 2 항에 있어서,
    상기 골프 서비스 서버로부터 인증 요청을 수신하는 단계;
    상기 블록체인 네트워크에서 상기 사용자의 사용자 식별자(PID)를 추출하는 단계;
    상기 인증 요청에 포함된 상기 사용자 단말의 사용자 식별자(PID)를 추출하는 단계; 및
    상기 사용자의 사용자 식별자(PID) 및 상기 사용자 단말의 사용자 식별자(PID)를 이용하여, 사용자 인증을 수행하는 단계를 포함하는
    골프 서비스 제공 방법.
  4. 제 1 항에 있어서,
    상기 트랜잭션 스케줄 정보는
    단위 시간으로 구성된 시간 정보; 및
    상기 단위 시간에 블록체인 네트워크에 트랜잭션될 상기 거래 정보를 포함하는
    골프 서비스 제공 방법.
  5. 적어도 하나의 프로세서(processor); 및
    상기 적어도 하나의 프로세서가 적어도 하나의 동작(operation)을 수행하도록 지시하는 명령어들(instuctions)을 저장하는 메모리(memory)를 포함하는, 골프 서비스 제공 서버로서,
    상기 적어도 하나의 동작은,
    골프 서비스 서버로부터 서비스 제공 완료 신호를 수신하는 단계;
    상기 서비스 제공 완료 신호를 이용하여, 거래 정보를 생성하는 단계;
    상기 거래 정보에 포함된 예약 정보를 이용하여, 트랜잭션 스케줄 정보를 생성하는 단계;
    상기 트랜잭션 스케줄 정보를 이용하여, 상기 거래 정보를 업데이트하는 단계; 및
    상기 업데이트된 거래 정보를 블록체인 네트워크에 트랜잭션하는 단계를 포함하되,
    상기 거래 정보 업데이트 단계는
    상기 트랜잭션 스케줄 정보에 포함된 상기 거래 정보의 예약 서비스 완료 여부를 확인하는 단계; 및
    상기 예약 서비스 완료 여부를 상기 거래 정보에 업데이트하는 단계를 포함하고,
    상기 트랜잭션하는 단계는,
    상기 블록체인 네트워크를 구성하는 복수의 노드 단말들 각각에 대응하는 상태 정보를 성분값으로 갖는 복수의 특성 벡터들을 생성하는 단계;
    생성된 상기 특성 벡터들을 기준 벡터와 비교하는 단계; 및
    비교 결과에 따라 상기 노드 단말들 중 하나를 상기 거래정보를 트랜잭션할 노드 단말로 선정하는 단계;를 포함하고,
    상기 상태 정보는, 현재 CPU 사용률, 네트워크 트래픽, 네트워크 속도, 및 평균 트래픽 지연 시간 중 적어도 하나를 포함하고,
    상기 기준 벡터는, 상기 복수의 노드 단말들 각각의 작업증명(Proof of Work, POW) 이력을 참조하여 작업증명 횟수가 가장 많은 노드 단말과 대응하는 제1 특성 벡터 및 작업증명 속도가 가장 빠른 것으로 기록된 노드 단말과 대응하는 제2 특성 벡터에 기초하여 하기 수학식 1에 따라 결정되고,
    Figure 112022053367316-pat00021

    상기 수학식 1에서, V1과 V2는 각각 제1 특성 벡터와 제2 특성 벡터이고, Vi는 n개의 노드 단말들 중에서 i번째 노드 단말에 대응하는 특성 벡터이고, avg(V1, V2)는 제1 특성 벡터와 제2 특성 벡터 사이의 평균값에 해당하는 벡터이고, median(Vi)는 n개의 노드 단말들 각각에 대응하는 특성 벡터들을 구성하는 성분값들 중에서 중간값들로만 구성된 벡터이며,
    상기 특성 벡터들을 기준 벡터와 비교하는 단계는, 하기 수학식 2에 따른 비교연산(SMR)을 수행하는 단계를 포함하고,
    Figure 112022053367316-pat00022

    상기 수학식 2에서 SMR은 비교 연산이고, A는 복수의 특성 벡터들 중 비교대상이 되는 특성 벡터이고, B는 기준 벡터이고, am은 특성 벡터(A)의 m번째 성분값이고, bm은 기준 벡터(B)의 m번째 성분값인, 골프 서비스 제공 서버.
KR1020220040493A 2022-03-31 2022-03-31 블록체인 기반 골프 서비스 제공 방법 및 시스템 KR102510353B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220040493A KR102510353B1 (ko) 2022-03-31 2022-03-31 블록체인 기반 골프 서비스 제공 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220040493A KR102510353B1 (ko) 2022-03-31 2022-03-31 블록체인 기반 골프 서비스 제공 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR102510353B1 true KR102510353B1 (ko) 2023-03-15

Family

ID=85512071

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220040493A KR102510353B1 (ko) 2022-03-31 2022-03-31 블록체인 기반 골프 서비스 제공 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR102510353B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010000869A (ko) * 2000-10-24 2001-01-05 이종인 고유 식별자 정보를 이용한 서비스 제공 시스템 및 방법,그 프로그램 소스를 기록한 기록매체
KR20210013915A (ko) * 2019-07-29 2021-02-08 고려대학교 산학협력단 트랜잭션의 스케줄링을 수행하는 블록체인 시스템 및 이를 이용한 트랜잭션 스케줄링 방법
KR20210019684A (ko) * 2019-08-13 2021-02-23 김범석 탈중앙화 블록체인 기반 스마트 컨트랙트를 제공하는 이용권 거래 서비스 제공 서버, 시스템 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010000869A (ko) * 2000-10-24 2001-01-05 이종인 고유 식별자 정보를 이용한 서비스 제공 시스템 및 방법,그 프로그램 소스를 기록한 기록매체
KR20210013915A (ko) * 2019-07-29 2021-02-08 고려대학교 산학협력단 트랜잭션의 스케줄링을 수행하는 블록체인 시스템 및 이를 이용한 트랜잭션 스케줄링 방법
KR20210019684A (ko) * 2019-08-13 2021-02-23 김범석 탈중앙화 블록체인 기반 스마트 컨트랙트를 제공하는 이용권 거래 서비스 제공 서버, 시스템 및 방법

Similar Documents

Publication Publication Date Title
KR102215773B1 (ko) 영-지식 증명을 갖는 계정 노트 모델에 기초한 블록체인 데이터 보호
EP3701672B1 (en) Cross-blockchain authentication method and apparatus
TWI695613B (zh) 使用同態加密的區塊鏈資料保護
EP3701671B1 (en) Cross-blockchain authentication method, apparatus, and electronic device
US11290281B2 (en) Asset management method and apparatus, and electronic device
CN110402561B (zh) 基于通用账户模型和同态加密的区块链数据保护
KR102206950B1 (ko) 워크플로우에 기초한, 블록체인 네트워크 상에서의 비공개 트랜잭션의 관리
AU2019222743B2 (en) Asset management method and apparatus, and electronic device
EP3742323A1 (en) Blockchain generating method, and related device and system
CN110546667A (zh) 使用同态加密的区块链数据保护
CN101356773B (zh) 基于上下文信息的自组织(ad hoc)组创建
KR20200081441A (ko) 자산 관리 방법 및 장치, 및 전자 디바이스
KR102296907B1 (ko) 블록체인 기반 클라우드 서비스 제공 방법 및 시스템
US11943210B2 (en) System and method for distributed, keyless electronic transactions with authentication
KR102510353B1 (ko) 블록체인 기반 골프 서비스 제공 방법 및 시스템
US20200184430A1 (en) Electronic ticket management system, electronic ticket management method and electronic ticket management program
US11799640B2 (en) Systems and methods for bifurcated blockchain-based digital encryption
CN115086005B (zh) 多系统之间的电子签章互签方法和系统、电子设备和存储介质
US20230069098A1 (en) Apparatus and passwords for providing double-sided estate password authentication via physical tokens and a distributed ledger
US20240135366A1 (en) System and method for secure communications through secure contracts
CN115967495A (zh) 基于区块链的公益应用管理方法和装置

Legal Events

Date Code Title Description
GRNT Written decision to grant