+

KR102816870B1 - 티켓의 유효성을 결정하는 방법, 장치 및 기록 매체 - Google Patents

티켓의 유효성을 결정하는 방법, 장치 및 기록 매체 Download PDF

Info

Publication number
KR102816870B1
KR102816870B1 KR1020240062032A KR20240062032A KR102816870B1 KR 102816870 B1 KR102816870 B1 KR 102816870B1 KR 1020240062032 A KR1020240062032 A KR 1020240062032A KR 20240062032 A KR20240062032 A KR 20240062032A KR 102816870 B1 KR102816870 B1 KR 102816870B1
Authority
KR
South Korea
Prior art keywords
information
ticket
ticket information
code
fungible
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020240062032A
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 KR1020240062032A priority Critical patent/KR102816870B1/ko
Application granted granted Critical
Publication of KR102816870B1 publication Critical patent/KR102816870B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/382Payment protocols; Details thereof insuring higher security of transaction
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/04Payment circuits
    • G06Q20/045Payment circuits using payment protocols involving tickets
    • G06Q20/0457Payment circuits using payment protocols involving tickets the tickets being sent electronically
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3674Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes involving authentication
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3678Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes e-cash details, e.g. blinded, divisible or detecting double spending
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Tourism & Hospitality (AREA)
  • Primary Health Care (AREA)
  • Marketing (AREA)
  • Human Resources & Organizations (AREA)
  • General Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 개시의 다양한 실시예에 따른 방법은 이벤트와 관련된 스마트 계약에 의해 발행된 하나 이상의 제1 대체 불가능 토큰 각각에 대응하는 정보를 포함하는 제1 티켓 정보를 획득하는 단계; 하나 이상의 제1 대체 불가능 토큰 중 하나인 제2 대체 불가능 토큰과 연관된 사용자의 사용자 단말에 표출된 코드를 인식하여, 코드에 대응하는 암호화 정보를 획득하는 단계; 및 제1 티켓 정보 및 암호화 정보에 기초하여, 코드가 유효한지 여부를 결정하는 단계를 포함할 수 있다.

Description

티켓의 유효성을 결정하는 방법, 장치 및 기록 매체{METHOD, APPARATUS AND RECORDING MEDIUM FOR DETERMINING VALIDATION OF TICKET}
본 개시는 티켓의 유효성을 결정하는 방법, 장치 및 기록 매체에 관한 것이다.
티켓의 유효성을 판단하고 검증하기 위하여, 티켓에 관련된 다양한 정보가 유효한 것인지 여부가 확인될 수 있다. 예를 들어, 해당 티켓이 발행된 날짜, 유효 기간, 발행자의 신원, 티켓 소유자의 신원, 이벤트명 등이 유효한 것인지에 대한 확인이 유효성 검증에 포함될 수 있다. 이러한 유효성 검증을 위하여, 여러 보안 기술 및 안전 요소가 활용될 수 있다.
본 개시의 다양한 실시예에 따르면, 장치와 서버의 통신이 차단된 상황에서, 해당 장치가 티켓의 유효성을 판단하는 기술을 제공한다.
본 개시의 다양한 실시예에 따르면, 대체 불가능 토큰에 대응되는 티켓의 유효성을 판단하는 기술을 제공한다.
본 개시의 다양한 실시예에 따르면, 대체 불가능 토큰의 메타 데이터를 활용하여, 티켓의 유효성을 판단하거나, 티켓 관련 정보를 획득하는 기술을 제공한다.
본 개시의 다양한 실시예에 따르면, 대체 불가능 토큰에 대응되는 티켓의 부정 거래 행위를 방지하는 기술을 제공한다.
본 개시의 다양한 실시예에 따르면, 장치와 서버의 통신이 차단된 상황에서도 티켓의 부정 거래 행위를 방지하는 기술을 제공한다.
일 실시예에서, 하나 이상의 프로세서 및 하나 이상의 프로세서에 의해 실행되기 위한 명령어들이 저장된 하나 이상의 메모리를 포함하는 장치에서 수행되는 방법에 있어서, 하나 이상의 프로세서가, 이벤트와 관련된 스마트 계약에 의해 발행된 하나 이상의 제1 대체 불가능 토큰 각각에 대응하는 정보를 포함하는 제1 티켓 정보를 획득하는 단계; 하나 이상의 제1 대체 불가능 토큰 중 하나인 제2 대체 불가능 토큰과 연관된 사용자의 사용자 단말에 표출된 코드를 인식하여, 코드에 대응하는 암호화 정보를 획득하는 단계 - 암호화 정보는, 제2 대체 불가능 토큰에 대응하는 제2 티켓 정보에 기초하여 사용자 단말에 의해 암호화된 정보이고 - ; 및 제1 티켓 정보 및 암호화 정보에 기초하여, 코드가 유효한지 여부를 결정하는 단계를 포함할 수 있다.
일 실시예에서, 제1 티켓 정보를 획득하는 단계는 제1 시점 이전에 수행되고, 제1 시점은, 이벤트의 시작 시간으로부터 미리 결정된 시간 이전의 시점일 수 있다.
일 실시예에서, 제1 시점은, 스마트 계약에 의하여 하나 이상의 제1 대체 불가능 토큰 각각에 대응하는 정보의 변경이 제한되는 시점일 수 있다.
일 실시예에서, 암호화 정보를 획득하는 단계 및 코드가 유효한지 여부를 결정하는 단계는 제1 시점 이후에 수행될 수 있다.
일 실시예에서, 코드가 유효한지 여부를 결정하는 단계는, 암호화 정보를 복호화하는 데에 실패한 경우, 코드가 유효하지 않다고 결정하는 단계를 포함할 수 있다.
일 실시예에서, 코드가 유효한지 여부를 결정하는 단계는, 암호화 정보를 복호화하여 제2 티켓 정보를 획득하는 단계; 및 제1 티켓 정보 및 제2 티켓 정보에 기초하여 코드가 유효한지 여부를 결정하는 단계를 포함할 수 있다.
일 실시예에서, 암호화 정보는, 제1 암호키 및 사용자 단말이 제2 티켓 정보를 암호화하는 시점에 대응되는 제1 시간 간격에 대한 제1 시간 정보에 기초하여 암호화된 정보일 수 있다.
일 실시예에서, 암호화 정보를 복호화하여 제2 티켓 정보를 획득하는 단계는, 장치가 암호화 정보를 복호화하는 시점에 대응되는 제2 시간 간격에 대한 제2 시간 정보에 기초하여, 암호화 정보를 1차 복호화하는 단계; 및 제1 암호키와 연관된 제2 암호키에 기초하여, 1차 복호화된 암호화 정보를 2차 복호화 하는 단계를 포함할 수 있다.
일 실시예에서, 제1 암호키 및 제2 암호키가 동일한 경우, 제1 암호키 및 제2 암호키는 대칭키 또는 세션키 중 적어도 하나를 포함하고, 제1 암호키 및 제2 암호키가 다른 경우, 제1 암호키는 공개키이고 제2 암호키는 개인키일 수 있다.
일 실시예에서, 방법은 서버로부터 제2 암호키를 수신하는 단계를 더 포함할 수 있다.
일 실시예에서, 제1 티켓 정보 및 제2 티켓 정보에 기초하여 코드가 유효한지 여부를 결정하는 단계는, 제2 티켓 정보에 포함된 제2 대체 불가능 토큰의 식별 데이터와 매칭되는 대체 불가능 토큰의 식별 데이터가 제1 티켓 정보에 존재하는지 여부를 결정하는 단계; 및 제1 티켓 정보에 존재한다는 결정에 따라, 코드를 유효하다고 결정하는 단계를 포함할 수 있다.
일 실시예에서, 제1 티켓 정보 및 제2 티켓 정보에 기초하여 코드가 유효한지 여부를 결정하는 단계는, 제2 티켓 정보에 포함된 제2 대체 불가능 토큰의 식별 데이터와 제2 티켓 정보에 포함된 사용자 식별 데이터의 대응 관계가 제1 티켓 정보에 존재하는지 여부를 결정하는 단계; 및 제1 티켓 정보에 존재한다는 결정에 따라, 코드를 유효하다고 결정하는 단계를 포함할 수 있다.
일 실시예에서, 제1 티켓 정보 및 제2 티켓 정보에 기초하여 코드가 유효한지 여부를 결정하는 단계는, 제2 티켓 정보에 포함된 스마트 계약의 주소가 제1 티켓 정보에 포함된 스마트 계약의 주소와 매칭되는지 여부를 결정하는 단계; 및 제2 티켓 정보에 포함된 스마트 계약의 주소가 제1 티켓 정보에 포함된 스마트 계약의 주소와 매칭된다는 결정에 따라, 코드를 유효하다고 결정하는 단계를 포함할 수 있다.
일 실시예에서, 제1 티켓 정보 및 제2 티켓 정보에 기초하여 코드가 유효한지 여부를 결정하는 단계는, 제2 티켓 정보에 포함된 티켓 관련 메타 데이터와 매칭되는 메타 데이터가 제1 티켓 정보에 존재하는지 여부를 결정하는 단계; 및 제1 티켓 정보에 존재한다는 결정에 따라, 코드를 유효하다고 결정하는 단계를 포함할 수 있다.
일 실시예에서, 제1 티켓 정보 및 제2 티켓 정보에 기초하여 코드가 유효한지 여부를 결정하는 단계는, 제2 티켓 정보에 포함된 스마트 계약의 주소와 제1 티켓 정보에 포함된 스마트 계약의 주소가 매칭되고, 제2 티켓 정보에 포함된 제2 대체 불가능 토큰의 식별 데이터와 제2 티켓 정보에 포함된 사용자 식별 데이터의 대응 관계가 제1 티켓 정보에 존재한다는 결정에 응답하여, 코드가 유효하다고 결정하는 단계를 포함할 수 있다.
일 실시예에서, 제2 티켓 정보는, 제2 대체 불가능 토큰의 식별 데이터, 제2 대체 불가능 토큰과 연관된 사용자의 사용자 식별 데이터, 또는 제2 대체 불가능 토큰의 티켓 관련 메타 데이터 중 적어도 하나를 포함하고, 제2 대체 불가능 토큰의 티켓 관련 메타데이터는, 제2 대체 불가능 토큰에 대응되는 이벤트의 티켓에 관한 정보일 수 있다.
일 실시예에서, 티켓 관련 메타 데이터는, 이벤트의 이름, 일정, 장소, 티켓의 좌석 식별자, 가격 또는 구매 조건 중 적어도 하나에 관한 정보를 포함할 수 있다.
일 실시예에서, 제1 티켓 정보를 획득하는 단계는, 일정 주기마다 반복하여 수행되는 단계를 포함할 수 있다.
일 실시예에서, 하나 이상의 프로세서 및 하나 이상의 프로세서에 의해 실행되기 위한 명령어들이 저장된 하나 이상의 메모리를 포함하는 단말에서 수행되는 방법에 있어서, 하나 이상의 프로세서가, 이벤트와 관련된 스마트 계약에 의해 발행된 하나 이상의 제1 대체 불가능 토큰 중 하나인 제2 대체 불가능 토큰에 대응하는 제2 티켓 정보를 수신하는 단계; 제2 티켓 정보를 암호화함으로써 암호화 정보를 생성하는 단계; 및 리더기에서 암호화 정보를 획득할 수 있도록 하는 코드를 화면에 표출하는 단계를 포함하고, 암호화 정보는 코드를 인식한 리더기에 의해 획득되고, 리더기에 의해, 제2 티켓 정보로 복호화되고, 하나 이상의 제1 대체 불가능 토큰 각각에 대응하는 정보를 포함하는 제1 티켓 정보와 함께 코드가 유효한지 여부를 결정하는데에 기초가 될 수 있다.
일 실시예에서, 암호화 정보를 생성하는 단계는, 제1 암호키에 기초하여 제2 티켓 정보를 1차 암호화하는 단계; 및 제2 티켓 정보를 암호화하는 시점에 대응되는 제1 시간 간격에 대한 제1 시간 정보에 기초하여 1차 암호화된 제2 티켓 정보를 2차 암호화하는 단계를 포함할 수 있다.
일 실시예에서, 단말에는, 제2 대체 불가능 토큰을 거래할 수 있는 서비스가 제공되는 어플리케이션이 설치되고, 코드는 어플리케이션을 통해 표출될 수 있다.
일 실시예에서, 코드를 화면에 표출하는 단계는, 사용자에 대한 생체 인증을 수행하는 단계; 및 생체 인증의 결과에 기초하여, 코드를 화면에 표출하는 단계를 포함할 수 있다.
일 실시예에서, 방법은 사용자의 지갑에 제2 대체 불가능 토큰이 수신됨에 따라, 이벤트와 관련된 서버로부터 제1 암호키를 수신하거나, 서버로 제1 암호키와 연관된 제2 암호키를 전송하는 단계를 더 포함할 수 있다.
다른 실시예에서, 장치는 하나 이상의 프로세서; 및 하나 이상의 프로세서에 의해 실행되기 위한 명령어들이 저장된 하나 이상의 메모리를 포함하고, 명령어들의 실행 시, 하나 이상의 프로세서는, 이벤트와 관련된 스마트 계약에 의해 발행된 하나 이상의 제1 대체 불가능 토큰 각각에 대응하는 정보를 포함하는 제1 티켓 정보를 획득하고, 하나 이상의 제1 대체 불가능 토큰 중 하나인 제2 대체 불가능 토큰과 연관된 사용자의 사용자 단말에 표출된 코드를 인식하여, 코드에 대응하는 암호화 정보를 획득하고 - 암호화 정보는, 제2 대체 불가능 토큰에 대응하는 제2 티켓 정보에 기초하여 사용자 단말에 의해 암호화된 정보이고 - ; 및 제1 티켓 정보 및 암호화 정보에 기초하여, 코드가 유효한지 여부를 결정할 수 있다.
다른 실시예에서, 하나 이상의 프로세서에 의해 실행되기 위한 명령어들을 기록한 비일시적 컴퓨터 판독 가능 기록 매체에 있어서, 명령어들은, 명령어들의 실행 시, 하나 이상의 프로세서가, 이벤트와 관련된 스마트 계약에 의해 발행된 하나 이상의 제1 대체 불가능 토큰 각각에 대응하는 정보를 포함하는 제1 티켓 정보를 획득하도록 하고, 하나 이상의 제1 대체 불가능 토큰 중 하나인 제2 대체 불가능 토큰과 연관된 사용자의 사용자 단말에 표출된 코드를 인식하여, 코드에 대응하는 암호화 정보를 획득하도록 하고 - 암호화 정보는, 제2 대체 불가능 토큰에 대응하는 제2 티켓 정보에 기초하여 사용자 단말에 의해 암호화된 정보이고 - ; 및 제1 티켓 정보 및 암호화 정보에 기초하여, 코드가 유효한지 여부를 결정하도록 할 수 있다.
본 개시의 다양한 실시예에 따르면, 장치와 서버의 통신이 차단된 상황에서, 해당 장치가 티켓의 유효성을 판단할 수 있다.
본 개시의 다양한 실시예에 따르면, 대체 불가능 토큰에 대응되는 티켓의 유효성을 판단할 수 있다.
본 개시의 다양한 실시예에 따르면, 대체 불가능 토큰의 메타 데이터를 활용하여, 티켓의 유효성을 판단하거나, 티켓 관련 정보를 획득할 수 있다.
본 개시의 다양한 실시예에 따르면, 대체 불가능 토큰에 대응되는 티켓의 부정 거래 행위를 방지할 수 있다.
본 개시의 다양한 실시예에 따르면, 장치와 서버의 통신이 차단된 상황에서도 티켓의 부정 거래 행위를 방지할 수 있다.
도 1은 본 개시의 다양한 실시예에 따른 티켓의 유효성을 판단하는 시스템을 도시한 도면이다.
도 2는 본 개시의 다양한 실시예에 따른 장치를 도시한 블록도이다.
도 3은 본 개시의 다양한 실시예에 따른 대체 불가능 토큰을 이용하여 티켓의 유효성을 판단하는 방법을 설명하는 흐름도이다.
도 4는 본 개시의 다양한 실시예에 따른 대체 불가능 토큰을 발행하고, 대체 불가능 토큰에 대응하는 정보가 변경되는 방법을 설명하는 흐름도이다.
도 5는 본 개시의 다양한 실시예에 시간 정보에 기초하여 티켓의 유효성을 판단하는 방법을 설명하는 도면이다.
도 6은 본 개시의 다양한 실시예에 따른 티켓의 유효성 결정 결과에 따른 장치의 화면 표시 방법을 설명하는 흐름도이다.
도 7은 본 개시의 다른 실시예에 따른 단말에서 코드를 생성하여, 티켓의 유효성을 판단하는 방법을 설명하는 흐름도이다.
도 8은 본 개시의 또 다른 실시예에 따른 서버에서 코드를 생성하여, 티켓의 유효성을 판단하는 방법을 설명하는 흐름도이다.
도 9는 본 개시의 다양한 실시예에 따른 장치의 동작 흐름도이다.
도 10은 본 개시의 다양한 실시예에 따른 단말의 동작 흐름도이다.
본 개시의 실시예들은 본 개시의 기술적 사상을 설명하기 위한 목적으로 예시된 것이다. 본 개시에 따른 권리범위가 이하에 제시되는 실시예들이나 이들 실시예들에 대한 구체적 설명으로 한정되는 것은 아니다.
본 개시에 사용되는 모든 기술적 용어들 및 과학적 용어들은, 달리 정의되지 않는 한, 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 일반적으로 이해되는 의미를 갖는다. 본 개시에 사용되는 모든 용어들은 본 개시를 더욱 명확히 설명하기 위한 목적으로 선택된 것이며 본 개시에 따른 권리범위를 제한하기 위해 선택된 것이 아니다.
본 개시에서 사용되는 "포함하는", "구비하는", "갖는" 등과 같은 표현은, 해당 표현이 포함되는 어구 또는 문장에서 달리 언급되지 않는 한, 다른 실시예를 포함할 가능성을 내포하는 개방형 용어(open-ended terms)로 이해되어야 한다.
본 개시에서 기술된 단수형의 표현은 달리 언급하지 않는 한 복수형의 의미를 포함할 수 있으며, 이는 청구범위에 기재된 단수형의 표현에도 마찬가지로 적용된다.
본 개시에서 사용되는 "제1", "제2" 등의 표현들은 복수의 구성요소들을 상호 구분하기 위해 사용되며, 해당 구성요소들의 순서 또는 중요도를 한정하는 것은 아니다.
본 개시에서 사용되는 용어 "부"는, 소프트웨어, 또는 FPGA(field-programmable gate array), ASIC(application specific integrated circuit)과 같은 하드웨어 구성요소를 의미한다. 그러나, "부"는 하드웨어 및 소프트웨어에 한정되는 것은 아니다. "부"는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고, 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서, "부"는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세서, 함수, 속성, 프로시저, 서브루틴, 프로그램 코드의 세그먼트, 드라이버, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조, 테이블, 어레이 및 변수를 포함한다. 구성요소와 "부" 내에서 제공되는 기능은 더 작은 수의 구성요소 및 "부"로 결합되거나 추가적인 구성요소와 "부"로 더 분리될 수 있다.
본 개시에서 사용되는 "~에 기초하여"라는 표현은, 해당 표현이 포함되는 어구 또는 문장에서 기술되는, 결정, 판단의 행위 또는 동작에 영향을 주는 하나 이상의 인자를 기술하는데 사용되며, 이 표현은 결정, 판단의 행위 또는 동작에 영향을 주는 추가적인 인자를 배제하지 않는다.
본 개시에서, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 경우, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결될 수 있거나 접속될 수 있는 것으로, 또는 새로운 다른 구성요소를 매개로 하여 연결될 수 있거나 접속될 수 있는 것으로 이해되어야 한다.
본 개시에서, "티켓"은 사용자가 어떤 서비스를 이용하거나 이벤트(예: 콘서트등 행사)에 입장할 수 있는 권리를 나타내는 증표이다. 티켓은 정해진 조건과 제한 사항을 포함할 수 있으며, 이에 따라 티켓의 소유자가 해당 서비스를 받거나 이벤트에 참여할 수 있게 한다.
본 개시에서, "티켓의 유효성 검증"은 티켓의 소지자가 어떤 서비스를 이용하거나 이벤트에 입장할 수 있는 권리가 있는지 여부를 판단하는 것일 수 있다. 따라서 티켓이 유효하다면, 티켓의 소지자는 서비스를 이용하거나 이벤트에 입장할 수 있지만, 티켓이 유효하지 않으면 티켓의 소지자는 서비스를 이용하거나 이벤트에 입장할 수 없다.
본 개시에서 사용되는 용어 "블록체인 네트워크"는 블록체인을 관리하는 둘 이상의 노드를 포함할 수 있다. 여기서 블록(block)은 특정한 자료형을 지칭할 수 있다. 또한, 블록체인은 하나 이상의 블록이 체인 형태로 연결된 자료 구조를 지칭할 수 있다. 블록체인에 포함된 하나 이상의 블록은 블록체인 네트워크에 포함된 복수의 노드에 각각 독립적으로 저장되거나 여러 노드에 걸쳐 분산 저장될 수 있다. 블록은 다수의 거래 기록을 포함하는 데이터 구조체이다. 각 블록은 거래 데이터, 타임스탬프, 이전 블록의 해시값, 그리고 블록 자체의 해시값을 포함한다. 이 해시값은 블록의 무결성을 보장하며, 블록 체인 상에서 이전 블록과의 연결 고리 역할을 한다. 이러한 구조는 블록이 타임스탬프와 연결되어 연속적으로 체인으로 연결되는 방식으로 이루어지며, 모든 블록은 체인의 변경을 방지하는 보안 속성을 갖추게 된다. 예를 들어, 블록은 블록 해시값, 블록 헤더(header) 또는 블록 바디(body)를 포함할 수 있다. 블록 해시값은 블록을 식별할 수 있는 고유한 정보로서, 예를 들어 256비트로 표현되는 문자열일 수 있다. 블록 헤더는 예를 들어, 소프트웨어 또는 프로토콜의 버전 정보, 블록체인상에서의 블록의 연결 순서에 따른 이전 블록의 해시값, 머클 루트(merkle root), 블록이 생성된 시간을 지시하는 시간 정보, 계산의 난이도를 나타내는 비츠(bits) 또는 블록체인에 새로운 블록을 추가하는 채굴 작업에서 필요한 값인 논스(nonce) 중 적어도 하나를 포함할 수 있다. 블록 바디는 적어도 하나의 트랜잭션(transaction)을 포함할 수 있다. 트랜잭션은 특정한 자료 구조를 갖는 데이터들의 집합으로서, 블록 바디에 저장되는 정보의 단위일 수 있다. 트랜잭션은 토큰의 생성 또는 거래에 관한 정보를 포함할 수 있다.
블록체인 네트워크에 포함된 적어도 하나의 노드 각각은 블록체인 네트워크의 "참여자"로 지칭될 수 있다. 블록체인 네트워크에 포함된 적어도 하나의 노드는 계층 구조에 의해 작동될 수 있다. 이 계층 구조는, 예를 들어, 블록체인 네트워크에 의해 다뤄지는 데이터의 구조를 정의하고 데이터를 관리하는 데이터 계층, 블록의 유효성을 검증하고 블록을 생성하는 마이닝을 수행하고 마이닝 과정에서 채굴자에게 지급되는 수수료의 처리를 담당하는 합의 계층, P2P 네트워크 프로토콜, 해시 함수, 전자서명, 인코딩 및 공통 저장소를 구현하거나 관리하는 공통 계층, 또는 다양한 어플리케이션이 생성되거나 처리되는 응용 계층 중 적어도 하나를 포함할 수 있다.
블록체인 네트워크에 포함된 적어도 하나의 노드는 블록체인상에 기록된 트랜잭션을 공유하거나 저장할 수 있다. 또한, 블록체인 네트워크에 포함된 적어도 하나의 노드는 블록체인의 합의 알고리즘을 통해 블록체인 네트워크로 전송된 트랜잭션에 대해 검증 작업을 수행하고, 검증이 완료된 경우 검증된 트랜잭션을 블록체인상의 일 블록에 기록하는 기능을 수행할 수 있다. 블록체인 네트워크에 의해 수행되는 합의 알고리즘의 종류에는 제한이 없으며, 통상의 기술자가 채택하고 변형할 수 있는 모든 종류의 합의 알고리즘이 수행될 수 있다.
본 개시에서, "스마트 계약"은 예컨대 솔리디티(Solidity) 등의 프로그래밍 언어로 작성된 명세서 또는 스크립트로서, 블록체인 네트워크에 포함된 적어도 하나의 노드에 의해 실행되는 가상 머신(Virtual Machine)상에서 동작하는 프로그램 또는 어플리케이션일 수 있다. 스마트 계약은 특정 조건이 만족되면 특정 동작이 실행되도록 작성될 수 있다. 이 때 특정 조건이란, 예를 들어, 특정 종류의 토큰이 입력되거나 특정한 형식의 파일이 입력되는 등의 조건일 수 있다. 또한 특정 동작이란 예를 들어, 특정 종류의 토큰을 블록체인 네트워크의 임의의 노드로 전송하는 등의 동작일 수 있다. 블록체인 네트워크에 포함된 적어도 하나의 노드 각각은 스마트 계약을 저장할 수 있다. 이를 통해 블록체인 네트워크에 포함된 적어도 하나의 노드는 동일한 스마트 계약을 공유할 수 있다. 또한, 스마트 계약은 블록체인 네트워크에 의해 관리되는 블록체인상의 일 블록에 기록될 수 있다.
본 개시에서, "디지털 자산 지갑"(이하 '지갑'이라 한다)은 전자적인 형태로 개인의 디지털 자산을 안전하게 보관하고 관리하는 도구일 수 있다. 지갑은 암호 화폐나 디지털 자산과 관련된 정보를 저장하고 관리할 수 있다. 지갑은 각각의 주소를 가지고 있으며, 노드가 특정 사용자에게 대체 불가능 토큰을 전송할 경우, 해당 사용자의 지갑 주소에 대체 불가능 토큰을 전송할 수 있다.
본 개시에서, "대체 불가능 토큰(Non-Fungible Token, NFT)"은 디지털 자산의 소유권을 나타내는 블록체인 기반의 토큰이다. 각각의 대체 불가능 토큰은 서로 대체가 불가능하며 고유한 값을 가진다. 이는 전통적인 암호화폐와 구별되는 주요 특징으로, 암호화폐는 일정 단위마다 동일한 가치를 가지고 상호 교환 가능하다. 대체 불가능 토큰은 주로 공연, 예술작품, 음악, 게임 아이템 및 기타 수집 가능한 디지털 항목의 소유권 증명으로 사용된다. 대체 불가능 토큰은 블록체인 네트워크에 기록되어 각각의 소유자 변경이 공개적으로 검증가능하게 된다.
대체 불가능 토큰의 생성과 거래는 블록체인 네트워크의 스마트 계약 기능을 활용하여 이루어진다. 스마트 계약은 대체 불가능 토큰의 생성, 전송 및 소멸과 같은 작업을 자동으로 실행하는 코드로 구성된다.
본 개시에서, QR 코드는 퀵 리스폰스(Quick Response) 코드라 알려진 이종의 매트릭스 바코드이다. QR 코드는 검정과 흰색의 정사각형 패턴을 이용하여 데이터를 기록하며, 즉시 읽을 수 있고 빠르게 데이터를 처리할 수 있다는 특징을 가지고 있다. QR 코드는 그 구조상 가로, 세로 두 방향으로 데이터를 저장할 수 있어 기존의 바코드보다 훨씬 많은 정보를 담을 수 있다. 사용자는 QR 코드 리더기를 이용하여 QR 코드를 스캔하고 정보를 신속하게 얻을 수 있다.
이하, 첨부한 도면들을 참조하여, 본 개시의 실시예들을 설명한다. 첨부된 도면에서, 동일하거나 대응하는 구성요소에는 동일한 참조부호가 부여되어 있다. 또한, 이하의 실시예들의 설명에 있어서, 동일하거나 대응하는 구성요소를 중복하여 기술하는 것이 생략될 수 있다. 그러나, 구성요소에 관한 기술이 생략되어도, 그러한 구성요소가 어떤 실시예에 포함되지 않는 것으로 의도되지는 않는다.
도 1은 본 개시의 다양한 실시예에 따른 티켓의 유효성을 판단하는 시스템을 도시한 도면이다. 시스템은, 장치(110), 장치에 연결된 코드 인식 장치(111), 단말(120), 서버(130), 블록체인 네트워크(140) 및/또는 블록체인 네트워크(140)에 포함된 노드들(141)을 포함할 수 있다.
장치(110)는 티켓의 유효성을 판단하는 장치일 수 있다. 예를 들어, 장치(110)는 이벤트 장소에 설치된 장치일 수 있다. 장치(110)는 코드 인식 장치(111)를 포함할 수 있다. 장치(110)는 코드 인식 장치(111)를 통해 획득한 티켓 정보를 이용하여 티켓의 유효성을 판단할 수 있다. 장치(110)와 서버(130)는 컴퓨터 네트워크(150)를 통해서 서로 연결되어 티켓 정보를 송수신할 수 있다. 코드 인식 장치(111)는 다양한 방식으로 단말(120)로부터 티켓 정보를 획득할 수 있다. 예를 들어, 코드 인식 장치(111)는 QR 코드, 바코드, NFC(Near-field communication) 통신 등을 이용하여 단말(120)로부터 티켓 정보를 획득할 수 있다. 본 개시에서 장치(110) 또는 코드 인식 장치(111)는 "리더기"라는 용어로 지칭될 수 있다.
티켓 정보는 티켓의 유효성을 판단하는데에 사용되는 정보를 포함할 수 있다. 예를 들어, 티켓 정보는 이벤트와 관련된 스마트 계약의 주소, 티켓 정보에 대응하는 대체 불가능 토큰의 식별 데이터, 대체 불가능 토큰의 메타 데이터 또는 사용자 식별 데이터 중 적어도 하나를 포함할 수 있다. 스마트 계약의 주소는 블록체인 네트워크 상의 해당 스마트 계약을 지시하는 고유의 식별자일 수 있다. 스마트 계약의 주소는 스마트 계약이 실행되거나 상호 작용하는 데 필요한 주소이며, 토큰의 거래나 토큰의 거래 내역을 기록하기 위해 필요한 정보를 포함한다. 스마트 계약의 주소는 일련의 문자와 숫자를 포함할 수 있고, 노드들(141) 중 적어도 하나는 해당 스마트 계약의 주소를 이용하여 스마트 계약의 내용 및 조건을 확인하거나 변화를 추적할 수 있다. 대체 불가능 토큰의 식별 데이터는 특정한 정보나 항목을 고유하게 식별하는데 사용되는 고유한 데이터로서, 예를 들어 대체 불가능 토큰의 아이디를 포함할 수 있다. 대체 불가능 토큰의 메타 데이터는 대체 불가능 토큰이 발행된 시간, 발행자 정보, 거래 내역, 대여 정보 또는 소유권 중 적어도 하나와 관련된 데이터 등을 포함할 수 있다. 본 개시에서 대체 불가능 토큰의 메타 데이터는 티켓 관련 메타 데이터일 수 있다. 티켓 관련 메타 데이터는 해당 대체 불가능 토큰에 대응되는 이벤트의 티켓에 관한 정보를 포함할 수 있다. 사용자 식별 데이터는 사용자를 식별하기 위한 데이터로서, 예를 들어, 사용자의 아이디 또는 사용자의 지갑 주소 중 적어도 하나일 수 있다.
단말(120)은 사용자의 단말로서, 서비스를 이용하거나 이벤트에 입장하기 위해 티켓을 소유하거나 대여 받은 사용자의 단말일 수 있다. 단말(120)의 화면에는 코드가 표출될 수 있다. 예를 들어 단말(120)의 화면에는 QR 코드가 표출될 수 있고, QR 코드는 코드 인식 장치(111)에 의해 인식될 수 있다.
서버(130)는 이벤트와 관련된 다양한 프로세스를 관리하는 장치일 수 있다. 예를 들어 서버(130)는 이벤트와 관련된 스마트 계약을 발행하거나, 스마트 계약에 의해 발행된 하나 이상의 대체 불가능 토큰 각각에 대응하는 티켓의 정보를 관리하거나, 장치(110)에 티켓 정보를 전송하는 장치일 수 있다.
블록체인 네트워크(140)에 포함된 한 노드들(141) 중 적어도 하나는 블록체인 네트워크(140)에 참여한 한 참여자의 장치를 의미할 수 있다. 노드들(141) 중 적어도 하나는 블록체인 네트워크(140)를 구성하는 한 요소일 수 있다. 노드들(141) 중 적어도 하나는 블록체인 네트워크(140)의 블록체인을 유지하기 위한 연산을 수행할 수 있다. 예를 들어 블록체인 네트워크(140)의 임의의 한 노드는 해당 블록체인의 신규 블록을 생성할 수 있고, 신규 블록은 분산합의 과정을 통하여 블록체인 네트워크의 다른 노드들 간에 공유되고 블록체인의 다음 블록으로 연결될 수 있다. 즉, 노드들(141) 중 적어도 하나는 트랜잭션과 그 트랜잭션이 기록되는 블록을 생성하거나 검증하거나 전파하는 등의 동작을 수행할 수 있다. 노드들(141) 중 적어도 하나는, 서버(110)와 상호 작용함으로써 대체 불가능 토큰의 발행을 수행할 수 있다. 대체 불가능 토큰의 발행은 발행자가 스마트 계약을 이용하여 특정 개수의 대체 불가능 토큰을 생성하고 발행자의 지갑에 생성된 대체 불가능 토큰들을 보관하는 과정을 의미할 수 있다.
노드들(141) 중 적어도 하나는 컴퓨팅 장치로 구현될 수 있다. 예를 들어, 전술한 컴퓨팅 장치는 데스크톱 컴퓨터, 랩탑 컴퓨터 등이 될 수 있으나, 이에 국한되는 것은 아니며 컴퓨팅 기능이 구비된 다양한 종류의 장치가 될 수 있다.
컴퓨터 네트워크(150)는 디지털 전기 통신망으로서, 분산되어 있는 각종 장치를 소정의 통신망으로 연결한 것을 의미한다. 컴퓨터 네트워크(150)는 근거리 통신망(Local Area Network, LAN), 광역 통신망(Wide Area Network, WAN), 이동 통신망(mobile radio communication network), Wibro(Wireless Broadband Internet) 등과 같은 모든 종류의 유선 또는 무선 네트워크로 구현될 수 있다.
일 실시예에서, 장치(110)는 이벤트와 관련된 스마트 계약에 의해 발행된 하나 이상의 대체 불가능 토큰(이하, "제1 대체 불가능 토큰") 각각에 대응하는 정보를 포함하는 제1 티켓 정보를 획득할 수 있다. 이벤트는 특정 주체에 의하여 일정 장소 및 일정 시간에 일어날 수 있다. 예를 들어, 이벤트는, 공연, 전시, 행사 등을 포함할 수 있다. 이벤트와 관련된 스마트 계약은 이벤트에 입장 가능한 티켓을 발행하고 관리할 수 있다. 예를 들어, 장치(110)는 블록체인 네트워크(140)의 적어도 하나의 노드들(141) 중 적어도 하나로 하여금 스마트 계약을 실행하게 할 수 있고, 이 과정에서 스마트 계약은 특정 이벤트와 연관된 하나 이상의 제1 대체 불가능 토큰을 발행할 수 있다. 예를 들어, 공연 A의 티켓이 500장인 경우, 각 티켓에 대응하는 500개의 제1 대체 불가능 토큰이 발행될 수 있다. 제1 티켓 정보는 스마트 계약에 의해 발행된 대체 불가능 토큰들 각각에 대응하는 티켓 정보의 집합일 수 있다. 제2 티켓 정보는 하나 이상의 제1 대체 불가능 토큰 중 한 대체 불가능 토큰(이하, "제2 대체 불가능 토큰")에 대응하는 티켓 정보일 수 있다.
장치(110)는 서버(130) 또는 노드들(141) 중 적어도 하나로부터 제1 티켓 정보를 수신할 수 있다. 일 실시예에서, 서버(130)는 스마트 계약을 통해 노드들(141) 중 적어도 하나로부터 제1 티켓 정보를 수신하고, 수신된 제1 티켓 정보를 장치(110)에 전송할 수 있다. 일 실시예에서, 장치(110)는 스마트 계약을 통해, 노드들(141) 중 적어도 하나로부터 제1 티켓 정보를 직접 수신할 수도 있다. 예를 들어, 장치(110)는 노드들(141) 중 적어도 하나로부터 피어 투 피어 데이터 전송 방식인 행성 간 파일 시스템(Inter Planetary File System, IPFS)을 통해 제1 티켓 정보를 수신할 수 있다.
일 실시예에서, 장치(110)는 일정 주기마다 반복하여 제1 티켓 정보를 획득할 수 있다. 이를 통해, 장치(110)는 대체 불가능 토큰에 대응하는 티켓 정보의 변동 사항을 반영하여, 티켓의 유효성을 판단할 수 있다.
일 실시예에서, 장치(110)는 제2 대체 불가능 토큰과 연관된 사용자의 단말(120)에 표출된 코드를 인식하여 코드에 대응하는 암호화 정보(encrypted information)를 획득할 수 있다. 암호화 정보는 제2 대체 불가능 토큰에 대응하는 제2 티켓 정보에 기초하여 단말(120)에 의해 암호화된 정보일 수 있다. 사용자 단말(또는 단말(120))은 사용자의 소유인 단말일 필요는 없으며, 사용자의 점유 하에 있는 단말일 수도 있다. 제2 대체 불가능 토큰과 연관된 사용자의 단말(120)은 제2 대체 불가능 토큰에 대응하는 티켓을 소유한 사용자의 단말 또는 티켓을 대여한 사용자의 단말일 수 있다. 코드는 암호화 정보를 획득하기 위한 수단으로서, 코드 인식 장치(111)에 의해 인식될 수 있다. 예를 들어, 코드는 QR 코드, 바코드, RFID(radio-frequency identification) 태그에 포함된 식별 코드 등을 포함할 수 있다.
일 실시예에서, 장치(110)는 제1 티켓 정보 및 암호화 정보에 기초하여 코드가 유효한지 여부를 결정할 수 있다. 본 개시에서 코드가 유효한지 여부를 결정하는 것은 코드에 대응하는 티켓의 유효성을 결정하는 것과 동일한 의미이다. 장치(110)는 암호화 정보를 복호화하여 획득한 제2 티켓 정보와, 하나 이상의 제1 대체 불가능 토큰 각각에 대응하는 정보를 포함하는 제1 티켓 정보에 기초하여, 사용자 단말(120)에 표출된 코드가 유효한지 여부를 결정할 수 있다. 예를 들어, 장치(110)는 제2 티켓 정보에 포함된 다양한 정보 중의 적어도 하나 이상이 제1 티켓 정보에 존재하는지 여부에 기초하여 코드가 유효한지 여부를 결정할 수 있다.
도 2는 본 개시의 다양한 실시예에 따른 장치를 도시한 블록도이다. 장치(110)는, 하나 이상의 프로세서(210) 및/또는 하나 이상의 메모리(220)를 포함할 수 있다. 일 실시예에서, 장치(110)의 일부 구성 요소가 삭제되거나 다른 구성 요소(예를 들어, 출력부(240) 등)가 장치(110)에 추가될 수 있다. 또한, 추가적으로 또는 대체적으로(alternatively) 일부의 구성 요소들이 통합되어 구현되거나, 단수 또는 복수의 개체로 구현될 수 있다. 본 개시에서, 하나 이상의 프로세서(210)는 프로세서(210)라고 표현될 수 있다. 이러한 프로세서(210)라는 표현은, 문맥상 명백히 다르게 표현하지 않는 이상, 하나 또는 그 이상의 프로세서의 집합을 의미할 수 있다. 또한, 본 개시에서, 하나 이상의 메모리(220)는 메모리(220)라고 표현될 수 있다. 이러한 메모리(220)라는 표현은, 문맥상 명백히 다르게 표현하지 않는 이상, 하나 또는 그 이상의 메모리의 집합을 의미할 수 있다.
장치(110) 내의 적어도 일부의 구성 요소들은 버스(bus), GPIO(General Purpose Input/Output), SPI(Serial Peripheral Interface) 또는 MIPI(Mobile Industry Processor Interface) 등을 통해 서로 연결되어, 데이터 또는 시그널을 주고 받을 수 있다.
프로세서(210)는, 장치(110)의 각 구성 요소들의 제어 또는 통신에 관한 연산이나 데이터 처리를 수행할 수 있다. 구체적으로, 프로세서(210)는 다른 구성 요소로부터 수신된 소프트웨어(예를 들어, 명령, 프로그램 등)를 구동하여 프로세서(210)에 연결된 장치(110)의 적어도 하나의 구성 요소를 제어할 수 있다. 일 예로서, 프로세서(210)는 명령 또는 데이터를 메모리(220)에 로드(load)하고, 메모리(220)에 저장된 명령 또는 데이터를 처리하고, 그 처리에 따른 결과 데이터를 메모리(220)에 저장할 수 있다. 또한, 프로세서(210)는, 장치(110)의 구성 요소들과 작동적으로 연결되어 본 개시에 개시된 내용과 관련된 다양한 연산, 처리, 데이터 생성, 가공 등의 동작을 수행할 수 있다.
메모리(220)는 다양한 데이터를 저장할 수 있다. 메모리(220)에 저장되는 데이터는, 장치(110)의 적어도 하나의 구성 요소에 의해 획득되거나, 처리되거나, 사용되는 데이터로서, 소프트웨어(예를 들어, 명령, 프로그램 등)를 포함할 수 있다. 일 예로서, 메모리(220)는 프로세서(210)의 동작에 대한 명령들을 컴퓨터 프로그램으로서 저장할 수 있다. 여기서, 컴퓨터 프로그램은 메모리(220)에 로드될 때 프로세서(210)로 하여금 본 개시에 개시된 내용의 다양한 실시예에 따른 동작을 수행하도록 하는 하나 이상의 명령들을 포함할 수 있다. 즉, 프로세서(210)는 전술한 하나 이상의 명령들을 실행함으로써, 본 개시에 개시된 내용의 다양한 실시예에 따른 동작들을 수행할 수 있다. 또한, 메모리(220)는 휘발성 또는 비휘발성 메모리를 포함할 수 있다. 일 실시예에서, 명령 내지 프로그램은 메모리(220)에 저장되는 소프트웨어로서, 장치(110)의 리소스를 제어하기 위한 운영체제, 애플리케이션 또는 애플리케이션이 장치(110)의 리소스들을 활용할 수 있도록 다양한 기능을 애플리케이션에 제공하는 미들 웨어 등을 포함할 수 있다.
일 실시예에서, 장치(110)는 통신 인터페이스(230)를 더 포함할 수 있다. 통신 인터페이스(230)는, 외부 장치(예를 들어, 서버(110) 또는 사용자 단말(120))와 유선 또는 무선 통신 채널을 설립하고, 그 외부 장치와 다양한 데이터를 송수신할 수 있다. 일 실시예에서, 통신 인터페이스(230)는 외부 장치와 유선으로 통신하기 위해서, 외부 장치와 유선 케이블로 연결되기 위한 적어도 하나의 포트를 포함할 수 있다. 이 경우, 통신 인터페이스(230)는 적어도 하나의 포트를 통하여 유선 연결된 외부 장치와 통신을 수행할 수 있다. 일 실시예에서, 통신 인터페이스(230)는 셀룰러 통신 모듈을 포함하여 셀룰러 네트워크(예를 들어, 3G, LTE, 5G, Wibro 또는 Wimax)에 연결되도록 구성될 수 있다. 일 실시예에서, 통신 인터페이스(230)는 근거리 통신 모듈을 포함하여 근거리 통신(예를 들면, Wi-Fi, Bluetooth, Bluetooth Low Energy(BLE), UWB)을 이용해 외부 장치와 데이터 송수신을 할 수 있다. 일 실시예에서, 통신 인터페이스(230)는 비접촉식 통신을 위한 비접촉 통신 모듈을 포함할 수 있다. 여기서 비접촉식 통신은, 예를 들면, NFC 통신, RFID(Radio Frequency Identification) 통신 또는 MST(Magnetic Secure Transmission) 통신과 같이 적어도 하나의 비접촉 방식의 근접 통신 기술을 포함할 수 있다. 앞서 설명된 다양한 예시들 외에도, 외부 장치와 통신하기 위한 공지된 다양한 방식으로 장치(110)가 구현될 수 있으며, 앞서 설명된 예시들에 의해 본 개시에 개시된 내용의 범위가 제한되지 않는다.
일 실시예에서, 장치(110)는 출력부(240)를 더 포함할 수 있다. 여기서 출력부(240)는, 프로세서(210)의 제어에 기반하여 다양한 화면을 표시할 수 있다. 예를 들어 출력부(240)는, 프로세서(210)의 제어에 기반하여, 플랫폼 사용자들의 토큰 보유 현황을 시각화한 대시보드를 표시할 수 있다. 이때, 대시보드를 출력부(240)에 표시하기 위해서, 예를 들어, 웹 브라우저 또는 전용 애플리케이션이 장치(110)에 설치될 수 있다. 일 실시예에서, 전술한 웹 브라우저 또는 전용 애플리케이션은, 토큰의 발행 요청 기능 또는 다른 사용자와의 커뮤니케이션 기능 등을 사용자 인터페이스를 통해 사용자에게 제공하도록 구현될 수 있다. 또한 출력부(240)는 사용자와 상호 작용이 가능한 구성으로서, 프로세서(210)의 제어에 기반하여 다양한 화면을 표시하고, 사용자로부터 사용자 입력을 수신할 수 있다. 이러한 출력부(240)는, 다양한 외부 객체(예를 들어, 손가락, 스타일러스 등)의 접촉 또는 근접을 인식할 수 있는 터치 센서 패널(Touch Sensor Panel, TSP)의 형태로 구현될 수 있다. 여기서, 터치 센서 패널은 다양한 구조 및 타입을 가질 수 있으며, 본 개시에 개시된 내용은 터치 센서 패널의 구조 및 타입과 관계없이 모두 적용될 수 있다. 출력부(240)는 실시예에 따라 장치(110)에서 생략될 수 있다.
일 실시예에서, 장치(110)는 입력부(250)(예를 들어, 마우스, 키보드 등)를 더 포함할 수 있다. 여기서, 입력부(250)는 장치(110)의 구성 요소(예를 들어, 프로세서(210))에 사용될 데이터를 장치(110)의 외부(예를 들어, 사용자)로부터 수신할 수 있다. 입력부(250)는 실시예에 따라 장치(110)에서 생략될 수 있다.
일 실시예에서, 단말(120) 및 서버(130) 각각은 하나 이상의 프로세서 및/또는 하나 이상의 메모리를 포함할 수 있다. 단말(120) 및 서버(130)는 통신 인터페이스, 출력부 및/또는 입력부를 더 포함할 수 있다. 전술한 단말(120) 및 서버(130)의 구성은 예시일 뿐이며 본 개시는 이에 제한되지 않는다.
도 3은 본 개시의 다양한 실시예에 따른 대체 불가능 토큰을 이용하여 티켓의 유효성을 판단하는 방법을 설명하는 흐름도이다. 일 실시예에서, 서버(130)는 제2 티켓 정보를 단말(120)에 전송할 수 있다(S331). 서버(130)는 단말(120)로부터 수신한 티켓 구매 요청에 응답하여, 제2 대체 불가능 토큰에 대응하는 사용자 식별 데이터를 해당 단말(120)의 사용자에 대응하는 사용자 식별 데이터로 업데이트할 수 있다. 그리고 서버(130)는 제2 티켓 정보를 단말(120)에 전송할 수 있다. 제2 티켓 정보를 전송하면서, 서버(130)는 제2 티켓 정보에 기초하여 제1 티켓 정보를 업데이트할 수 있다. 제1 티켓 정보를 업데이트하는 동작은 노드들(141) 중 적어도 하나가 스마트 계약을 실행함으로써 수행될 수 있고, 이 경우, 서버(130)는 스마트 계약의 실행 결과 노드들(141) 중 적어도 하나로부터 업데이트된 제1 티켓 정보를 수신할 수 있다.
단말(120)은 제2 티켓 정보를 수신할 수 있다(S311). 단말(120)은 제1 암호키에 기초하여 제2 티켓 정보를 1차 암호화할 수 있다(S312). 암호키는 정보를 암호화하거나 복호화하기 위해 사용되는 특정한 코드 또는 비밀번호이다. 암호키는 정보를 보호하고 권한이 있는 사용자만 접근 가능하도록 하는데 사용될 수 있다. 본 개시에서는 설명의 편의를 위해, 단말(120)에 저장된 암호키를 제1 암호키라하고, 장치(110)에 저장된 암호키를 제2 암호키라 한다. 제1 암호키와 제2 암호키는 동일할 수도 있고, 다를 수도 있다. 제1 암호키 및 제2 암호키가 동일한 경우, 제1 암호키 및 제2 암호키는 대칭키 또는 세션키 중 적어도 하나를 포함할 수 있다. 대칭키는 암호문을 생성하거나 해독하는 데 사용되는 키로, 암호화된 데이터를 복호화하기 위한 동일한 암호키일 수 있다. 대칭키를 공유하는 당사자들만이 암호화 정보를 복호화할 수 있다. 세션키는 사용자 인증을 위한 인증 수단으로 사용되며, 세션 통신의 보안성을 유지하는데 사용되는 암호키이다. 세션키는 세션 간의 통신을 보호하고 암호화하여 보안을 유지한다. 제1 암호키 및 제2 암호키가 다른 경우, 제1 암호키는 공개키이고 제2 암호키는 개인키일 수 있다. 공개키와 개인키는 비대칭키일 수 있다. 공개키는 암호화에 사용되며, 통신 상대방에게 제공되어 정보를 안전하게 전송할 수 있다. 반면 개인키는 복호화에 사용되며, 키를 소유한 당사자에 의해서만 사용되어 정보를 해독할 수 있다.
일 실시예에서, 서버(130)는 제2 암호키를 장치(110)에 전송할 수 있다(S332). 장치(110)는 제2 암호키를 저장할 수 있다(S351).
동작(S331) 및 동작(S332)의 실행 순서는 바뀔 수 있으며, 실행 순서가 도 3의 흐름도에 의해 제한되지 않는다. 동작(S331)는 단말(120)로부터 티켓 구매 요청을 수신할 때 수행되는 것이므로, 흐름도의 어떤 시점에서도 수행될 수 있다.
일 실시예에서, 단말(120)은 제1 시간 정보에 기초하여 1차 암호화된 제2 티켓 정보를 2차 암호화하여 암호화 정보를 생성할 수 있다. 시간 정보는 시간 간격마다 생성되는 임의의 값일 수 있다. 예를 들어, 시간 정보는 10시 1분 00초 - 10시 1분 59초 사이 시간 간격에 대응하는 값 "130293", 다음 시간 간격인 10시 2분 00초 - 10시 2분 59초 사이 시간 간격에 대응하는 값 "920313"을 포함할 수 있다. 따라서, 일정 규칙에 따라, 시간 정보는 각 시간 간격마다 생성된 값이며, 어떤 장치에서 생성되는지와 무관하게 특정 시간 간격에서 생성된 값는 모두 동일할 수 있다. 예를 들어, 장치(110) 및 단말(120)에서 10시 1분 00초 - 10시 1분 59초 사이 시간 간격에서는 값 "130293"가 동일하게 생성될 수 있다. 본 개시에서는, 설명의 편의를 위해 제1 시간 정보를 단말(120)에서 생성된 시간 정보로 하고, 제2 시간 정보를 장치(110)에서 생성된 시간 정보로 한다.
일 실시예에서, 서버(130)는 스마트 계약으로부터 제1 티켓 정보를 수신하고, 수신된 제1 티켓 정보를 장치(110)에 전송할 수 있다(S333). 서버(110)가 스마트 계약으로부터 제1 티켓 정보를 수신하는 것은 노드들(141) 중 적어도 하나가 스마트 계약을 실행하여, 노드들(141) 중 적어도 하나로부터 제1 티켓 정보를 서버(110)가 수신하는 것을 의미할 수 있다. 장치(110)는 서버(130)로부터 제1 티켓 정보를 획득하고 저장할 수 있다(S352). 다른 예를 들어, 장치(110)는 노드들(141) 중 적어도 하나로부터 제1 티켓 정보를 수신할 수도 있다.
일 실시예에서, 장치(110)는 제1 티켓 정보를 제1 시점(301) 이전에 획득할 수 있다. 제1 시점(301)은 이벤트의 시간 기간으로부터 미리 결정된 시간 이전의 시점일 수 있다. 이벤트에 수많은 인파가 몰려들면, 트래픽 증가로 인해 이벤트 장소에서 네트워크에의 접속이 차단될 수 있다. 따라서, 장치(110), 단말(120) 및 서버(130) 사이에 컴퓨터 네트워크(150)를 통한 통신이 불가능해질 수 있다. 따라서, 서버(130)가 티켓의 유효성을 판단하면, 이벤트 장소에서 사용자들의 티켓의 유효성을 판단할 수 없게 되어 이벤트 진행이 어려워질 수 있다. 이러한 경우에도 장치(110)는 단말(120)에 표출된 코드를 인식하여 코드가 유효한지 여부를 결정해야 이벤트가 원활하게 진행될 수 있다. 이를 위해, 장치(110)는 이벤트의 시작 시간으로부터 미리 결정된 시간 이전의 시점 이전에 가장 최근의 제1 티켓 정보를 수신하여 저장할 수 있다. 즉, 제1 시점(301)은 트래픽 증가로 인해 이벤트 장소에서 네트워크에의 접속이 차단될 것으로 예상되는 시점 이전의 일 시점일 수 있다. 장치(110)는 해당 제1 티켓 정보를 이용하여 컴퓨터 네트워크(150)에 접속이 불가능한 상황에서도, 티켓의 유효성을 결정할 수 있다.
하지만, 제1 시점 이후에, 티켓의 매매로 인해, 티켓의 소유권이 변동되어, 제2 티켓 정보에 포함된 대체 불가능 토큰의 식별 데이터와 사용자 식별 데이터의 대응 관계가 변동될 수 있다. 그렇다면, 장치(110)에 저장된 제1 티켓 정보에는 제1 시점 이전에 획득한 제1 티켓 정보에 변동된 대응 관계가 없으므로, 장치(110)는 해당 코드는 유효하지 않다고 결정할 수 있다. 이를 방지하기 위해, 제1 시점은 스마트 계약에 의하여 하나 이상의 제1 대체 불가능 토큰 각각에 대응하는 정보의 변경이 제한되는 시점으로 설정될 수 있다. 따라서, 제1 시점 이후에는 티켓의 소유권이 변동되는 것을 방지할 수 있다. 장치(110)는 제1 티켓 정보를 획득하는 시점에 서버(130) 또는 스마트 계약의 주소에 티켓 거래 금지 요청을 전송할 수 있고, 해당 요청에 응답하여, 하나 이상의 제1 대체 불가능 토큰 각각에 대응하는 정보의 변경이 제한될 수 있다.
단말(120)은 제2 티켓 정보를 암호화하는 시점에 대응되는 제1 시간 간격에 대한 제1 시간 정보에 기초하여 1차 암호화된 제2 티켓 정보를 2차 암호화하여 암호화 정보를 생성할 수 있다. 예를 들어, 제2 티켓 정보를 암호화하는 시점이란 단말(120)이 코드 생성 요청을 수신한 시점일 수 있다. 사용자는 이벤트에 입장하거나 참여하기 위해, 코드를 화면에 표출하고자 코드 생성 버튼을 선택할 수 있다.
일 실시예에서, 암호화 정보를 획득하는 동작(S353) 내지 코드가 유효한지 여부를 결정하는 동작(S357)은 제1 시점 이후에 수행될 수 있다.
일 실시예에서, 단말(120)은 암호화 정보에 대응하는 코드를 생성하고, 화면에 코드를 표시할 수 있다(S314). 단말(120)은 코드 생성 요청에 대응하여 암호화 정보를 생성하고, 암호화 정보에 대응하는 코드를 화면에 표출할 수 있다.
일 실시예에서, 장치(110)는 단말(120)에 표출된 코드를 인식할 수 있다(S353). 장치(110)는 단말(120)에 표출된 코드를 인식하여, 코드에 대응하는 암호화 정보를 획득할 수 있다(S354). 일 실시예에서, 장치(110)는 암호화 정보를 복호화하는 시점에 대응되는 제2 시간 간격에 대한 제2 시간 정보에 기초하여, 암호화 정보를 1차 복호화할 수 있다(S355). 암호화 정보는, 제1 암호키 및 단말(120)이 제2 티켓 정보를 암호화하는 시점에 대응되는 제1 시간 간격에 대한 제1 시간 정보에 기초하여 암호화된 정보일 수 있다. 예를 들어, 암호화 정보는 동작(S312) 및 동작(S313)에 의해 생성된 것일 수 있다. 장치(110)는 제1 암호키와 연관된 제2 암호키에 기초하여 1차 복호화된 암호화 정보를 2차 복호화하여 제2 티켓 정보를 획득할 수 있다(S356). 장치(110)는 제1 티켓 정보 및 제2 티켓 정보에 기초하여 코드가 유효한지 여부를 결정할 수 있다(S357).
일 실시예에서, 장치(110)는 암호화 정보를 복호화하는데에 실패한 경우, 코드가 유효하지 않다고 결정할 수 있다. 예를 들어, 암호화 정보를 복호화하는데에 실패한 경우는 제1 암호키와 연관되지 않은 제2 암호키에 기초하여 암호화 정보를 복호화하는 경우를 포함할 수 있다. 다른 예를 들어, 암호화 정보를 복호화하는데에 실패한 경우는 제1 시간 간격과 제2 시간 간격이 상이하여 복호화에 실패한 경우를 포함할 수 있다. 예를 들어, 제1 시간 간격이 10시 5분 00초 - 5분 59초이고, 제2 시간 간격이 10시 7분 00초 - 7분 59초인 경우, 제1 시간 간격과 제2 시간 간격이 상이하여, 장치(110)가 복호화에 실패한 경우일 수 있다.
일 실시예에서, 장치(110)는 암호화 정보를 복호화하여 제2 티켓 정보를 획득할 수 있다. 장치(110)는 제1 티켓 정보 및 제2 티켓 정보에 기초하여 코드가 유효한지 여부를 판단할 수 있다. 이하에서는 코드가 유효한지 여부를 판단하는 다양한 방법이 설명된다.
일 실시예에서, 장치(110)는 제2 티켓 정보에 포함된 제2 대체 불가능 토큰의 식별 데이터와 매칭되는 대체 불가능 토큰의 식별 데이터가 제1 티켓 정보에 존재하는지 여부를 결정할 수 있다. 제1 티켓 정보에는 하나 이상의 제1 대체 불가능 토큰 각각에 대응하는 식별 데이터가 포함될 수 있다. 예를 들어, 제1 티켓 정보는 500개의 제1 대체 불가능 토큰 각각에 대응하는 500개의 식별 데이터를 포함할 수 있다. 장치(110)는 500개의 식별 데이터 중, 제2 티켓 정보에 포함된 제2 대체 불가능 토큰의 식별 데이터가 존재하는지 여부를 결정할 수 있다. 장치(110)는 제2 티켓 정보에 포함된 제2 대체 불가능 토큰의 식별 데이터가 제1 티켓 정보에 존재한다는 결정에 따라, 코드를 유효하다고 결정할 수 있다. 반대로 장치(110)는 제2 티켓 정보에 포함된 제2 대체 불가능 토큰의 식별 데이터가 제1 티켓 정보에 존재하지 않는다는 결정에 따라, 코드가 유효하지 않다고 결정할 수 있다. 이를 통해, 장치(110)는 제2 티켓 정보에 포함된 제2 대체 불가능 토큰의 식별 데이터를 이용하여, 제2 티켓 정보에 대응하는 티켓이 실제로 판매된 티켓인지 여부를 판단할 수 있다.
다른 실시예에서, 장치(110)는 티켓의 소유권 정보가 제1 티켓 정보에 존재하는지 여부에 기초하여, 코드가 유효한지 여부를 결정할 수 있다. 티켓의 소유권 정보는 제2 대체 불가능 토큰의 식별 데이터와 제2 티켓 정보에 포함된 사용자 식별 데이터의 대응 관계로 표현될 수 있다. 장치(110)는 제2 티켓 정보에 포함된 제2 대체 불가능 토큰의 식별 데이터와 제2 티켓 정보에 포함된 사용자 식별 데이터의 대응 관계가 제1 티켓 정보에 존재하는지 여부를 결정할 수 있다. 예를 들어, 장치는 제2 티켓 정보에 포함된 제2 대체 불가능 토큰의 식별 데이터와 사용자의 아이디의 대응 관계가 제1 티켓 정보에 존재하는지 여부를 결정할 수 있다. 다른 예를 들어, 장치(110)는 제2 티켓 정보에 포함된 제2 대체 불가능 토큰의 식별 데이터와 사용자의 지갑 주소의 대응 관계가 제1 티켓 정보에 존재하는지 여부를 결정할 수 있다. 장치(110)는 제1 티켓 정보에 해당하는 대응 관계가 존재한다는 결정에 따라, 코드를 유효하다고 결정할 수 있다. 반대로, 장치(110)는 제1 티켓 정보에 해당하는 대응 관계가 존재하지 않는다는 결정에 따라, 코드가 유효하지 않다고 결정할 수 있다. 이를 통해, 장치(110)는 티켓의 소유권 정보를 대체 불가능 토큰과 관련된 정보를 이용하여 티켓의 유효성을 결정할 수 있다.
다른 실시예에서, 장치(110)는 이벤트를 확인하여 코드가 유효한지 여부를 결정할 수 있다. 이벤트를 확인하는 방법은 스마트 계약의 주소를 확인하는 것일 수 있다. 그 이유는 이벤트마다 스마트 계약의 주소가 상이할 수 있기 때문이다. 장치(110)는 제2 티켓 정보에 포함된 스마트 계약의 주소가 제1 티켓 정보에 포함된 스마트 계약의 주소와 매칭되는지 여부를 결정할 수 있다. 장치(110)는 제2 티켓 정보에 포함된 스마트 계약의 주소가 제1 티켓 정보에 포함된 스마트 계약의 주소와 매칭된다는 결정에 따라, 코드를 유효하다고 결정할 수 있다. 반대로, 장치(110)는 제2 티켓 정보에 포함된 스마트 계약의 주소가 제1 티켓 정보에 포함된 스마트 계약의 주소와 매칭되지 않는다는 결정에 따라, 코드를 유효하지 않다고 결정할 수 있다. 이를 통해, 장치(110)는 이벤트를 식별하여, 티켓의 유효성을 결정할 수 있다.
다른 실시예에서, 장치(110)는 티켓 관련 메타 데이터를 이용하여 코드가 유효한지 여부를 결정할 수 있다. 티켓 관련 메타 데이터는 이벤트의 이름, 일정, 장소, 티켓의 좌석 식별자, 가격 또는 구매 조건 중 적어도 하나에 관한 정보를 포함할 수 있다. 예를 들어, 이벤트가 가수 A의 콘서트인 경우, 티켓 관련 메타 데이터는 콘서트 이름, 콘서트 개최 일시, 좌석 번호, 구매 가격, 구매 조건, 구매한 사용자 정보, 양도된 티켓의 경우 이전 소유자 정보 등을 포함할 수 있다. 티켓의 좌석 식별자는 좌석 번호, 좌석 유형 등을 나타낼 수 있다. 가격은 최초 판매 가격, 양도시 판매된 가격 등을 포함할 수 있다. 구매 조건은 티켓의 구매 조건으로서, 예를 들어 이벤트 개최자가 설정한 조건일 수 있다. 예를 들어, 구매 조건은 타인 양도 금지 조건, 일정 가격 이상으로 재판매 금지 등을 포함할 수 있다. 티켓 관련 메타 데이터는 이벤트와 관련된 쿠폰을 더 포함할 수 있다. 예를 들어, 쿠폰은 이벤트 내에서 이용 가능한 무료 식음료 이용권, 식음료 할인권 및/또는 이벤트 관련 상품 할인권 등을 포함할 수 있다. 장치(110)는 제2 티켓 정보에 포함된 티켓 관련 메타 데이터와 매칭되는 메타 데이터가 제1 티켓 정보에 존재하는지 여부를 결정할 수 있다. 장치(110)는 제2 티켓 정보에 포함된 티켓 관련 메타 데이터와 매칭되는 메타 데이터가 제1 티켓 정보에 존재한다는 결정에 따라, 코드를 유효하다고 결정할 수 있다. 반대로, 장치(110)는 제2 티켓 정보에 포함된 티켓 관련 메타 데이터와 매칭되는 메타 데이터가 제1 티켓 정보에 존재하지 않는다는 결정에 따라, 코드를 유효하지 않은 것으로 결정할 수 있다. 티켓 관련 메타 데이터는 다양한 정보를 포함하고 있으므로, 티켓의 식별하는 고유 정보로서 활용될 수 있다. 따라서, 장치(110)는 티켓 관련 메타 데이터가 제1 티켓 정보에 존재하지 않으면, 유효하지 않은 티켓으로 결정할 수 있다.
다른 실시예에서, 장치(110)는 스마트 계약의 주소가 확인되고, 소유권 정보가 확인되어야 코드가 유효하다고 결정할 수 있다. 장치(110)는 제2 티켓 정보에 포함된 스마트 계약의 주소와 제1 티켓 정보에 포함된 스마트 계약의 주소가 매칭되고, 제2 티켓 정보에 포함된 제2 대체 불가능 토큰의 식별 데이터와 제2 티켓 정보에 포함된 사용자 식별 데이터의 대응 관계가 제1 티켓 정보에 존재한다는 결정에 응답하여, 코드가 유효하다고 결정할 수 있다. 장치(110)는 제2 티켓 정보에 포함된 스마트 계약의 주소와 제1 티켓 정보에 포함된 스마트 계약의 주소가 매칭되지 않거나, 제2 티켓 정보에 포함된 제2 대체 불가능 토큰의 식별 데이터와 제2 티켓 정보에 포함된 사용자 식별 데이터의 대응 관계가 제1 티켓 정보에 존재하지 않는 경우, 코드가 유효하지 않다고 결정할 수 있다. 전술한 실시예와 같이, 장치(110)는 티켓의 유효성을 판단하는 다양한 방법들을 조합할 수 있으며, 본 개시는 이에 제한되지 않는다.
도 4는 본 개시의 다양한 실시예에 따른 대체 불가능 토큰을 발행하고, 대체 불가능 토큰에 대응하는 정보가 변경되는 방법을 설명하는 흐름도이다. 일 실시예에서, 서버(130)는 이벤트에 대응하는 스마트 계약을 블록체인 네트워크(140)에 포함된 노드들(141) 중 적어도 하나에 전송할 수 있다(S411). 본 개시에서, 노드들(141) 중 적어도 하나에 전송하는 동작은, 스마트 계약의 주소에 신호를 전송함으로써, 블록체인 네트워크(140)에 포함된 노드가 해당 신호에 대응하여 스마트 계약을 실행하는 것을 의미할 수 있다. 노드들(141) 중 적어도 하나는 스마트 계약을 실행하여, 선택된 개수의 티켓에 대응하는 하나 이상의 제1 대체 불가능 토큰을 발행할 수 있다(S431). 스마트 계약은 발행된 제1 대체 불가능 토큰의 개수를 포함할 수 있고, 노드들(141) 중 적어도 하나는 해당 개수만큼의 제1 대체 불가능 토큰을 발행할 수 있다.
일 실시예에서, 서버(130)는 단말(120)로부터 티켓 구매 요청을 수신하여, 단말의 사용자 식별 데이터에 기초하여 대체 불가능 토큰 매칭 요청을 노드들(141) 중 적어도 하나에 전송할 수 있다(S412). 노드들(141) 중 적어도 하나는 단말(120)의 사용자 식별 데이터에 대응된 제2 대체 불가능 토큰의 식별 데이터를 전송할 수 있다(S432). 이를 통해, 사용자의 지갑에 제2 대체 불가능 토큰이 수신될 수 있다.
일 실시예에서, 서버(130)는 사용자 식별 데이터와 제2 대체 불가능 토큰의 식별 데이터 사이의 대응 관계에 기초하여 제1 티켓 정보를 업데이트할 수 있다(S413). 다른 실시예에서, 서버(130)는 동작(S413) 대신에 노드들(141) 중 적어도 하나로부터 업데이트된 제1 티켓 정보를 수신할 수도 있다.
일 실시예에서, 서버(130)는 제1 사용자가 제2 사용자에게 티켓을 양도한 경우, 사용자 식별 데이터를 제1 사용자의 것에서 제2 사용자의 것으로 수정하는 요청을 전송할 수 있다(S414). 노드들(141) 중 적어도 하나는 제2 대체 불가능 토큰의 식별 데이터에 대응하는 사용자 식별 데이터를 업데이트할 수 있다(S433). 노드들(141) 중 적어도 하나는 제2 대체 불가능 토큰의 식별 데이터에 대응하는 사용자 식별 데이터를 제1 사용자의 것에서 제2 사용자의 것으로 업데이트할 수 있다. 노드들(141) 중 적어도 하나는 업데이트 결과를 제1 티켓 정보에 반영할 수 있으며, 노드들(141) 중 적어도 하나는 업데이트 결과가 반영된 제1 티켓 정보를 서버(130)에 전송할 수 있다.
일 실시예에서, 노드들(141) 중 적어도 하나는 하나 이상의 제1 대체 불가능 토큰 각각에 대응하는 정보의 변경을 제한할 수 있다(S434). 노드들(141) 중 적어도 하나는 제1 시점(301)에 동작(S434)를 수행할 수 있다. 스마트 계약에는 이벤트의 시작 시간으로부터 일정 시간 이전의 시점이 설정되어 있을 수 있다. 예를 들어, 이벤트의 시작 시간이 2024년 10월 1일 19:00인 경우, 1시간 이전의 시점인 2024년 10월 1일 18:00가 제1 시점으로 설정되어 있을 수 있다. 노드들(141) 중 적어도 하나는 스마트 계약에 포함된 시점에 기초하여 동작(S434)를 수행할 수 있다.
일 실시예에서, 장치(110)는 제1 시점(301) 이전에 제1 티켓 정보를 수신할 수 있다. 다른 실시예에서, 장치(110)는 제1 시점(301) 직후에 제1 티켓 정보를 수신할 수도 있다.
도 5는 본 개시의 다양한 실시예에 시간 정보에 기초하여 티켓의 유효성을 판단하는 방법을 설명하는 도면이다. 시간의 흐름에 따라 복수의 시간 간격들(511, 512, 513, 514)이 존재할 수 있다. 그리고 복수의 시간 간격들 각각에 대응하는 시간 정보가 존재할 수 있다.
일 실시예에서, 단말(120)은 제2 티켓 정보를 암호화하는 시점(560)에 대응되는 제1 시간 간격에 대한 제1 시간 정보(510)에 기초하여 제2 티켓 정보를 암호화할 수 있다.
일 실시예에서, 장치(110)가 암호화 정보를 복호화하는 시점에 대응되는 제2 시간 간격에 대한 제2 시간 정보(520)에 기초하여, 암호화 정보를 복호화할 수 있다.
예를 들어, 제2 티켓 정보를 암호화하는 시점(560)과 암호화 정보를 복호화하는 시점 A(570)가 동일한 시간 간격 t2 - t3 (512)에 포함되는 경우, 제1 시간 정보(510)와 제2 시간 정보(520)은 동일한 값을 가질 수 있다. 따라서, 장치(110)는 제2 시간 정보(520)를 이용하여 복호화한 결과를 통해, 코드가 유효하다고 결정할 수 있다.
다른 예를 들어, 제2 티켓 정보를 암호화하는 시점(560)은 시간 간격 t2 - t3 (512)에 포함되고, 암호화 정보를 복호화하는 시점 B(580)는 시간 간격 t3 - t4 (513)에 포함되는 경우, 제1 시간 정보(510)와 제2 시간 정보(520)는 서로 다른 값을 가질 수 있다. 각 시간 간격에 대응하는 시간 정보는 상이하기 때문이다. 따라서, 장치(110)는 제2 시간 정보(520)를 이용하여 복호화한 결과를 통해, 코드가 유효하지 않다고 결정할 수 있다.
단말(120)이 제1 시간 정보(510)에 기초하여 암호화 정보를 생성함으로써, 시간 간격마다 다른 암호화 정보가 생성될 수 있다. 시간 간격마다 다른 암호화 정보가 생성된다면, 시간 정보가 생성된 시점으로부터 일정 시간 이내에 장치(110)가 코드를 인식하지 않으면, 장치(110)는 해당 코드를 유효하지 않은 것으로 결정하므로, 사용자는 이벤트에 입장하는 시점에 코드를 생성할 수 밖에 없다. 그렇다면, 사용자는 코드를 생성하여 바로 장치(110)에 인식시켜야 하는 제약이 존재하므로, 사용자는 자신의 티켓만으로 이벤트에 입장할 수 있다. 따라서, 사용자는 자신의 티켓만 사용할 수 있는 상황이므로, 다른 사용자에게 티켓을 팔 수 없어, 한번에 다량의 티켓을 구매한 후, 높은 가격에 티켓을 다른 사용자에게 판매하는 암표 거래 행위가 단절될 수 있다. 또한, 시간 간격마다 시간 정보가 생성되므로, 서버(130)와 컴퓨터 네트워크(150)를 통한 통신이 단절되어도, 장치(110)는 안전하게 티켓의 유효성을 결정할 수 있다.
도 6은 본 개시의 다양한 실시예에 따른 티켓의 유효성 결정 결과에 따른 장치의 화면 표시 방법을 설명하는 흐름도이다. 일 실시예에서, 장치(110)는 코드를 인식할 수 있다(S610). 장치(110)는 코드를 인식하여 획득한 암호화 정보에 기초하여 코드가 유효한지 여부를 결정할 수 있다(S620). 동작(S620)은 도 3의 동작(S357)과 동일할 수 있다.
일 실시예에서, 장치(110)는 코드가 유효하다고 결정한 것에 응답하여, 코드의 유효를 화면에 표시할 수 있다(S630). 예를 들어, 장치(110)는 화면에 코드의 유효를 표시하는 색(예: 초록색)을 표시할 수 있다. 다른 예를 들어, 장치(110)는 화면에 티켓이 유효하다는 내용을 지시하는 텍스트(예: 티켓이 확인되었습니다)를 표시할 수 있다.
일 실시예에서, 장치(110)는 티켓 관련 메타 데이터를 화면에 표시할 수 있다(S640). 예를 들어, 장치(110)는 이벤트의 이름, 일정, 장소, 티켓의 좌석 식별자, 가격, 쿠폰 또는 구매 조건 중 적어도 하나를 화면에 표시할 수 있다.
일 실시예에서, 장치(110)는 코드가 유효하지 않다고 결정한 것에 응답하여, 코드가 유효하지 않다는 것을 화면에 표시할 수 있다(S650). 예를 들어, 장치(110)는 화면에 코드가 유효하지 않다고 표시하는 색(예: 빨간색)을 표시할 수 있다. 다른 예를 들어, 장치(110)는 화면에 티켓이 유효하지 않다는 내용을 지시하는 텍스트(예: 티켓이 유효하지 않습니다)를 표시할 수 있다.
도 7은 본 개시의 다른 실시예에 따른 단말(120)에서 코드를 생성하여, 티켓의 유효성을 판단하는 방법을 설명하는 흐름도이다. 이하에서 설명되는 실시예는, 단말(120)에서 코드를 생성하고, 서버(130)가 코드가 유효한지 여부를 결정하는 것일 수 있다.
일 실시예에서, 서버(130)는 단말(120)에 암호키를 전송할 수 있다(S731). 단말(120)은 암호키를 수신할 수 있다(S731). 단말(120)은 제1 시간 정보 및 암호키에 기초하여 코드를 생성하고, 화면에 코드를 표시할 수 있다(S712).
일 실시예에서, 장치(110)는 코드를 인식할 수 있다(S751). 장치(110)는 코드 검증 요청을 서버(130)에 전송할 수 있다(S752). 서버(130)는 암호키 및 제2 시간 정보에 기초하여 코드를 검증할 수 있다(S732). 제1 시간 정보와 제2 시간 정보가 상이하면, 서버(130)는 해당 코드를 유효하지 않다고 결정하고, 제1 시간 정보와 제2 시간 정보가 동일하면, 서버(130)는 해당 코드를 유효하다고 결정할 수 있다.
일 실시예에서, 서버(130)는 코드 검증 결과를 장치(110)에 전송할 수 있다(S733). 장치(110)는 코드 검증 결과를 화면에 표시할 수 있다(S753).
도 8은 본 개시의 또 다른 실시예에 따른 서버에서 코드를 생성하여, 티켓의 유효성을 판단하는 방법을 설명하는 흐름도이다. 이하에서 설명되는 실시예는, 서버(130)가 코드를 생성하고, 코드가 유효한지 여부를 결정하는 것일 수 있다. 단말(120)은 단순히 코드를 화면에 표출하는 역할만 할 수 있다.
일 실시예에서, 서버(130)는 제1 시간 정보 및 암호키에 기초하여 코드를 생성하고 단말(120)에 전송할 수 있다(S831). 단말(120)은 코드를 수신할 수 있다(S811). 단말(120)은 코드를 화면에 표시할 수 있다(S812). 장치(110)는 코드를 인식할 수 있다(S851). 장치(110)는 코드 검증 요청을 서버(130)에 전송할 수 있다(S852). 서버(130)는 암호키 및 제2 시간 정보에 기초하여 코드를 검증할 수 있다(S832). 제1 시간 정보와 제2 시간 정보가 상이하면, 서버(130)는 해당 코드를 유효하지 않다고 결정하고, 제1 시간 정보와 제2 시간 정보가 동일하면, 서버(130)는 해당 코드를 유효하다고 결정할 수 있다.
일 실시예에서, 서버(130)는 코드 검증 결과를 장치(110)에 전송할 수 있다(S833). 장치(110)는 코드 검증 결과를 화면에 표시할 수 있다(S853).
도 9는 본 개시의 다양한 실시예에 따른 장치의 동작 흐름도이다. 일 실시예에서, 장치(110)는 이벤트와 관련된 스마트 계약에 의해 발행된 하나 이상의 제1 대체 불가능 토큰 각각에 대응하는 정보를 포함하는 제1 티켓 정보를 획득할 수 있다(S910).
일 실시예에서, 장치(110)는 하나 이상의 제1 대체 불가능 토큰 중 하나인 제2 대체 불가능 토큰과 연관된 사용자의 사용자 단말(120)에 표출된 코드를 인식하여, 코드에 대응하는 암호화 정보를 획득할 수 있다(S920).
일 실시예에서, 장치(110)는 제1 티켓 정보 및 암호화 정보에 기초하여, 코드가 유효한지 여부를 결정할 수 있다(S930).
일 실시예에서, 장치(110)는 암호화 정보를 복호화하는 데에 실패한 경우, 코드가 유효하지 않다고 결정할 수 있다.
일 실시예에서, 장치(110)는 암호화 정보를 복호화하여 상기 제2 티켓 정보를 획득하고, 제1 티켓 정보 및 제2 티켓 정보에 기초하여 코드가 유효한지 여부를 결정할 수 있다.
일 실시예에서, 장치(110)는 암호화 정보를 복호화하는 시점에 대응되는 제2 시간 간격에 대한 제2 시간 정보에 기초하여, 암호화 정보를 1차 복호화할 수 있다. 장치(110)는 제1 암호키와 연관된 제2 암호키에 기초하여, 1차 복호화된 암호화 정보를 2차 복호화할 수 있다.
일 실시예에서, 장치(110)는 제2 티켓 정보에 포함된 제2 대체 불가능 토큰의 식별 데이터와 매칭되는 대체 불가능 토큰의 식별 데이터가 제1 티켓 정보에 존재하는지 여부를 결정할 수 있다. 제1 티켓 정보에 존재한다는 결정에 따라, 장치(110)는 코드를 유효하다고 결정할 수 있다.
일 실시예에서, 장치(110)는 제2 티켓 정보에 포함된 제2 대체 불가능 토큰의 식별 데이터와 제2 티켓 정보에 포함된 사용자 식별 데이터의 대응 관계가 제1 티켓 정보에 존재하는지 여부를 결정할 수 있다. 제1 티켓 정보에 존재한다는 결정에 따라, 장치(110)는 코드를 유효하다고 결정할 수 있다.
일 실시예에서, 장치(110)는 제2 티켓 정보에 포함된 스마트 계약의 주소가 제1 티켓 정보에 포함된 스마트 계약의 주소와 매칭되는지 여부를 결정할 수 있다. 장치(110)는 제2 티켓 정보에 포함된 스마트 계약의 주소가 제1 티켓 정보에 포함된 스마트 계약의 주소와 매칭된다는 결정에 따라, 코드를 유효하다고 결정할 수 있다.
일 실시예에서, 장치(110)는 제2 티켓 정보에 포함된 티켓 관련 메타 데이터와 매칭되는 메타 데이터가 제1 티켓 정보에 존재하는지 여부를 결정할 수 있다. 장치(110)는 제1 티켓 정보에 존재한다는 결정에 따라, 코드를 유효하다고 결정할 수 있다.
일 실시예에서, 장치(110)는 제2 티켓 정보에 포함된 스마트 계약의 주소와 제1 티켓 정보에 포함된 스마트 계약의 주소가 매칭되고, 제2 티켓 정보에 포함된 제2 대체 불가능 토큰의 식별 데이터와 제2 티켓 정보에 포함된 사용자 식별 데이터의 대응 관계가 제1 티켓 정보에 존재한다는 결정에 응답하여, 코드가 유효하다고 결정할 수 있다.
일 실시예에서, 장치(110)는 제1 시점 이전까지 제1 티켓 정보를 획득하는 동작을 일정 주기마다 반복하여 수행할 수 있다.
도 10은 본 개시의 다양한 실시예에 따른 단말(120)의 동작 흐름도이다. 일 실시예에서, 단말(120)은 이벤트와 관련된 스마트 계약에 의해 발행된 하나 이상의 제1 대체 불가능 토큰 중 하나인 제2 대체 불가능 토큰에 대응하는 제2 티켓 정보를 수신할 수 있다(S1010).
일 실시예에서, 단말(120)은 제2 티켓 정보를 암호화함으로써 암호화 정보를 생성할 수 있다(S1020). 일 실시예에서, 단말(120)은 리더기(예: 장치(110))에서 암호화 정보를 획득할 수 있도록 하는 코드를 화면에 표출할 수 있다(S1030).
암호화 정보는 코드를 인식한 리더기(예: 장치(110))에 의해 획득될 수 있다. 암호화 정보는 리더기에 의해, 제2 티켓 정보로 복호화될 수 있다. 암호화 정보는 하나 이상의 제1 대체 불가능 토큰 각각에 대응하는 정보를 포함하는 제1 티켓 정보와 함께 코드가 유효한지 여부를 결정하는데에 기초가 될 수 있다.
일 실시예에서, 단말(120)은 제1 암호키에 기초하여 제2 티켓 정보를 1차 암호화할 수 있다. 단말(120)은 제2 티켓 정보를 암호화하는 시점에 대응되는 제1 시간 간격에 대한 제1 시간 정보에 기초하여 1차 암호화된 제2 티켓 정보를 2차 암호화할 수 있다.
일 실시예에서, 단말(120)에는 제2 대체 불가능 토큰을 거래할 수 있는 서비스가 제공되는 어플리케이션이 설치될 수 있다. 코드는 어플리케이션을 통해 표출될 수 있다. 암호화 정보를 생성하는 동작은 어플리케이션을 통해 수행될 수 있다. 어플리케이션을 통해, 사용자들은 제2 대체 불가능 토큰에 대응하는 티켓을 구매할 수 있다. 그리고, 어플리케이션을 통해, 사용자는 제2 대체 불가능 토큰에 대응하는 티켓을 다른 사용자에게 양도할 수 있다.
일 실시예에서, 단말(120)은 사용자에 대한 생체 인증을 수행할 수 있다. 생체 인증은 개인의 생체적인 특징을 활용하여 개인을 식별하는 인증 방법이다. 이는 생체 특성을 이용하여 접근 통제나 사용자 인증 등에 활용된다. 생체 인증은 지문, 홍채, 안면 인식 등 다양한 생체 정보를 기반으로 한다. 일 실시예에서, 단말(120)은 생체 인증의 결과에 기초하여 코드를 화면에 표출할 수 있다. 생체 인증을 통과한 경우, 코드가 화면에 표출되고, 생체 인증에 실패한 경우 코드가 화면에 표출되지 않을 수 있다. 다른 실시예에서, 단말은 생체 인증의 결과에 기초하여 암호화 정보를 생성할 수 있다. 생체 인증을 통과한 경우, 암호화 정보가 생성되고, 생체 인증에 실패한 경우 코드가 암호화 정보가 생성되지 않을 수 있다.
일 실시예에서, 단말(120)은 사용자의 지갑에 제2 대체 불가능 토큰이 수신됨에 따라, 이벤트와 관련된 서버(130)로부터 제1 암호키를 수신하거나 서버(130)로 제1 암호키와 연관된 제2 암호키를 전송할 수 있다. 사용자의 지갑에 제2 대체 불가능 토큰이 수신되면서, 제2 티켓 정보 및 제1 암호키도 단말(120)에 함께 수신될 수 있다. 서버(130)는 제2 암호키를 수신하여, 제2 암호키를 장치(110)에 전송할 수 있다.
프로세스 단계들, 방법 단계들, 알고리즘들 등이 순차적인 순서로 설명되었지만, 그러한 프로세스들, 방법들 및 알고리즘들은 임의의 적합한 순서로 작동하도록 구성될 수 있다. 다시 말하면, 본 개시의 다양한 실시예들에서 설명되는 프로세스들, 방법들 및 알고리즘들의 단계들이 본 개시에서 기술된 순서로 수행될 필요는 없다. 또한, 일부 단계들이 비동시적으로 수행되는 것으로서 설명되더라도, 다른 실시예에서는 이러한 일부 단계들이 동시에 수행될 수 있다. 또한, 도면에서의 묘사에 의한 프로세스의 예시는 예시된 프로세스가 그에 대한 다른 변화들 및 수정들을 제외하는 것을 의미하지 않으며, 예시된 프로세스 또는 그의 단계들 중 임의의 것이 본 개시의 다양한 실시예들 중 하나 이상에 필수적임을 의미하지 않으며, 예시된 프로세스가 바람직하다는 것을 의미하지 않는다.
상기 방법은 특정 실시예들을 통하여 설명되었지만, 상기 방법은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템(10)에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등을 포함할 수 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템(10)에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 상기 실시예들을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 개시가 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.

Claims (24)

  1. 하나 이상의 프로세서 및 상기 하나 이상의 프로세서에 의해 실행되기 위한 명령어들이 저장된 하나 이상의 메모리를 포함하는 장치에서 수행되는 방법에 있어서,
    상기 하나 이상의 프로세서가,
    이벤트와 관련된 스마트 계약(smart contract)에 의해 발행된 하나 이상의 제1 대체 불가능 토큰(Non-Fungible Token, NFT) 각각에 대응하는 정보를 포함하는 제1 티켓 정보를 획득하는 단계;
    상기 하나 이상의 제1 대체 불가능 토큰 중 하나인 제2 대체 불가능 토큰과 연관된 사용자의 사용자 단말에 표출된 코드를 인식하여, 상기 코드에 대응하는 암호화 정보(encrypted information)를 획득하는 단계 - 상기 암호화 정보는, 상기 제2 대체 불가능 토큰에 대응하는 제2 티켓 정보에 기초하여 상기 사용자 단말에 의해 암호화된 정보이고 - ; 및
    상기 제1 티켓 정보 및 상기 암호화 정보에 기초하여, 상기 코드가 유효한지 여부를 결정하는 단계를 포함하고,
    상기 제1 티켓 정보를 획득하는 단계는 상기 스마트 계약에 의하여 상기 하나 이상의 제1 대체 불가능 토큰 각각에 대응하는 정보의 변경이 제한되는 시점인 제1 시점 이전에 수행되는, 방법.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 암호화 정보를 획득하는 단계 및 상기 코드가 유효한지 여부를 결정하는 단계는 상기 제1 시점 이후에 수행되는, 방법.
  5. 제1항에 있어서,
    상기 코드가 유효한지 여부를 결정하는 단계는,
    상기 암호화 정보를 복호화하는 데에 실패한 경우, 상기 코드가 유효하지 않다고 결정하는 단계를 포함하는, 방법.
  6. 제1항에 있어서,
    상기 코드가 유효한지 여부를 결정하는 단계는,
    상기 암호화 정보를 복호화하여 상기 제2 티켓 정보를 획득하는 단계; 및
    상기 제1 티켓 정보 및 상기 제2 티켓 정보에 기초하여 상기 코드가 유효한지 여부를 결정하는 단계를 포함하는, 방법.
  7. 제6항에 있어서,
    상기 암호화 정보는, 제1 암호키 및 상기 사용자 단말이 상기 제2 티켓 정보를 암호화하는 시점에 대응되는 제1 시간 간격에 대한 제1 시간 정보에 기초하여 암호화된 정보이고,
    상기 암호화 정보를 복호화하여 상기 제2 티켓 정보를 획득하는 단계는,
    상기 장치가 상기 암호화 정보를 복호화하는 시점에 대응되는 제2 시간 간격에 대한 제2 시간 정보에 기초하여, 상기 암호화 정보를 1차 복호화하는 단계; 및
    상기 제1 암호키와 연관된 제2 암호키에 기초하여, 1차 복호화된 상기 암호화 정보를 2차 복호화 하는 단계를 포함하는, 방법.
  8. 제7항에 있어서,
    상기 제1 암호키 및 상기 제2 암호키가 동일한 경우, 상기 제1 암호키 및 상기 제2 암호키는 대칭키 또는 세션키 중 적어도 하나를 포함하고,
    상기 제1 암호키 및 상기 제2 암호키가 다른 경우, 상기 제1 암호키는 공개키이고 상기 제2 암호키는 개인키인, 방법.
  9. 제7항에 있어서,
    서버로부터 상기 제2 암호키를 수신하는 단계
    를 더 포함하는, 방법.
  10. 제1항에 있어서,
    상기 제1 티켓 정보 및 상기 제2 티켓 정보에 기초하여 상기 코드가 유효한지 여부를 결정하는 단계는,
    상기 제2 티켓 정보에 포함된 상기 제2 대체 불가능 토큰의 식별 데이터와 매칭되는 대체 불가능 토큰의 식별 데이터가 상기 제1 티켓 정보에 존재하는지 여부를 결정하는 단계; 및
    상기 제1 티켓 정보에 존재한다는 결정에 따라, 상기 코드를 유효하다고 결정하는 단계를 포함하는, 방법.
  11. 제1항에 있어서,
    상기 제1 티켓 정보 및 상기 제2 티켓 정보에 기초하여 상기 코드가 유효한지 여부를 결정하는 단계는,
    상기 제2 티켓 정보에 포함된 상기 제2 대체 불가능 토큰의 식별 데이터와 상기 제2 티켓 정보에 포함된 사용자 식별 데이터의 대응 관계가 상기 제1 티켓 정보에 존재하는지 여부를 결정하는 단계; 및
    상기 제1 티켓 정보에 존재한다는 결정에 따라, 상기 코드를 유효하다고 결정하는 단계를 포함하는, 방법.
  12. 제1항에 있어서,
    상기 제1 티켓 정보 및 상기 제2 티켓 정보에 기초하여 상기 코드가 유효한지 여부를 결정하는 단계는,
    상기 제2 티켓 정보에 포함된 스마트 계약의 주소가 상기 제1 티켓 정보에 포함된 상기 스마트 계약의 주소와 매칭되는지 여부를 결정하는 단계; 및
    상기 제2 티켓 정보에 포함된 스마트 계약의 주소가 상기 제1 티켓 정보에 포함된 상기 스마트 계약의 주소와 매칭된다는 결정에 따라, 상기 코드를 유효하다고 결정하는 단계를 포함하는, 방법.
  13. 제1항에 있어서,
    상기 제1 티켓 정보 및 상기 제2 티켓 정보에 기초하여 상기 코드가 유효한지 여부를 결정하는 단계는,
    상기 제2 티켓 정보에 포함된 티켓 관련 메타 데이터와 매칭되는 메타 데이터가 상기 제1 티켓 정보에 존재하는지 여부를 결정하는 단계; 및
    상기 제1 티켓 정보에 존재한다는 결정에 따라, 상기 코드를 유효하다고 결정하는 단계를 포함하는, 방법.
  14. 제1항에 있어서,
    상기 제1 티켓 정보 및 상기 제2 티켓 정보에 기초하여 상기 코드가 유효한지 여부를 결정하는 단계는,
    상기 제2 티켓 정보에 포함된 스마트 계약의 주소와 상기 제1 티켓 정보에 포함된 상기 스마트 계약의 주소가 매칭되고, 상기 제2 티켓 정보에 포함된 상기 제2 대체 불가능 토큰의 식별 데이터와 상기 제2 티켓 정보에 포함된 사용자 식별 데이터의 대응 관계가 상기 제1 티켓 정보에 존재한다는 결정에 응답하여, 상기 코드가 유효하다고 결정하는 단계
    를 포함하는, 방법.
  15. 제1항에 있어서,
    상기 제2 티켓 정보는,
    상기 제2 대체 불가능 토큰의 식별 데이터, 상기 제2 대체 불가능 토큰과 연관된 상기 사용자의 사용자 식별 데이터, 또는 상기 제2 대체 불가능 토큰의 티켓 관련 메타 데이터 중 적어도 하나를 포함하고,
    상기 제2 대체 불가능 토큰의 상기 티켓 관련 메타데이터는, 상기 제2 대체 불가능 토큰에 대응되는 상기 이벤트의 티켓에 관한 정보인, 방법.
  16. 제15항에 있어서,
    상기 티켓 관련 메타 데이터는,
    상기 이벤트의 이름, 일정, 장소, 상기 티켓의 좌석 식별자, 가격 또는 구매 조건 중 적어도 하나에 관한 정보를 포함하는, 방법.
  17. 제1항에 있어서,
    상기 제1 티켓 정보를 획득하는 단계는, 일정 주기마다 반복하여 수행되는 단계를 포함하는, 방법.
  18. 하나 이상의 프로세서 및 상기 하나 이상의 프로세서에 의해 실행되기 위한 명령어들이 저장된 하나 이상의 메모리를 포함하는 단말에서 수행되는 방법에 있어서,
    상기 하나 이상의 프로세서가,
    이벤트와 관련된 스마트 계약(smart contract)에 의해 발행된 하나 이상의 제1 대체 불가능 토큰(Non-Fungible Token, NFT) 중 하나인 제2 대체 불가능 토큰에 대응하는 제2 티켓 정보를 수신하는 단계;
    상기 제2 티켓 정보를 암호화함으로써 암호화 정보(encrypted information)를 생성하는 단계; 및
    리더기에서 상기 암호화 정보를 획득할 수 있도록 하는 코드를 화면에 표출하는 단계를 포함하고,
    상기 리더기는 상기 스마트 계약에 의하여 상기 하나 이상의 제1 대체 불가능 토큰 각각에 대응하는 정보의 변경이 제한되는 시점인 제1 시점 이전에 상기 하나 이상의 제1 대체 불가능 토큰 각각에 대응하는 정보를 포함하는 제1 티켓 정보를 획득하고,
    상기 암호화 정보는
    상기 코드를 인식한 리더기에 의해 획득되고,
    상기 리더기에 의해, 상기 제2 티켓 정보로 복호화되고,
    상기 하나 이상의 제1 대체 불가능 토큰 각각에 대응하는 정보를 포함하는 제1 티켓 정보와 함께 상기 코드가 유효한지 여부를 결정하는데에 기초가 되는,
    방법.
  19. 제18항에 있어서,
    상기 암호화 정보를 생성하는 단계는,
    제1 암호키에 기초하여 상기 제2 티켓 정보를 1차 암호화하는 단계; 및
    상기 제2 티켓 정보를 암호화하는 시점에 대응되는 제1 시간 간격에 대한 제1 시간 정보에 기초하여 1차 암호화된 상기 제2 티켓 정보를 2차 암호화하는 단계
    를 포함하는, 방법.
  20. 제18항에 있어서,
    상기 단말에는, 상기 제2 대체 불가능 토큰을 거래할 수 있는 서비스가 제공되는 어플리케이션이 설치되고,
    상기 코드는 상기 어플리케이션을 통해 표출되는, 방법.
  21. 제18항에 있어서,
    상기 코드를 화면에 표출하는 단계는,
    사용자에 대한 생체 인증을 수행하는 단계; 및
    상기 생체 인증의 결과에 기초하여, 상기 코드를 화면에 표출하는 단계를 포함하는, 방법.
  22. 제18항에 있어서,
    사용자의 지갑에 상기 제2 대체 불가능 토큰이 수신됨에 따라, 상기 이벤트와 관련된 서버로부터 제1 암호키를 수신하거나, 상기 서버로 상기 제1 암호키와 연관된 제2 암호키를 전송하는 단계를 더 포함하는, 방법.
  23. 하나 이상의 프로세서; 및
    상기 하나 이상의 프로세서에 의해 실행되기 위한 명령어들이 저장된 하나 이상의 메모리를 포함하고,
    상기 명령어들의 실행 시, 상기 하나 이상의 프로세서는,
    이벤트와 관련된 스마트 계약에 의해 발행된 하나 이상의 제1 대체 불가능 토큰 각각에 대응하는 정보를 포함하는 제1 티켓 정보를 획득하고,
    상기 하나 이상의 제1 대체 불가능 토큰 중 하나인 제2 대체 불가능 토큰과 연관된 사용자의 사용자 단말에 표출된 코드를 인식하여, 상기 코드에 대응하는 암호화 정보를 획득하고 - 상기 암호화 정보는, 상기 제2 대체 불가능 토큰에 대응하는 제2 티켓 정보에 기초하여 상기 사용자 단말에 의해 암호화된 정보이고 - ; 및
    상기 제1 티켓 정보 및 상기 암호화 정보에 기초하여, 상기 코드가 유효한지 여부를 결정하고,
    상기 제1 티켓 정보를 획득하는 것은 상기 스마트 계약에 의하여 상기 하나 이상의 제1 대체 불가능 토큰 각각에 대응하는 정보의 변경이 제한되는 시점인 제1 시점 이전에 수행되는,
    장치.
  24. 하나 이상의 프로세서에 의해 실행되기 위한 명령어들을 기록한 비일시적 컴퓨터 판독 가능 기록 매체에 있어서,
    상기 명령어들은, 상기 명령어들의 실행 시, 상기 하나 이상의 프로세서가,
    이벤트와 관련된 스마트 계약에 의해 발행된 하나 이상의 제1 대체 불가능 토큰 각각에 대응하는 정보를 포함하는 제1 티켓 정보를 획득하도록 하고,
    상기 하나 이상의 제1 대체 불가능 토큰 중 하나인 제2 대체 불가능 토큰과 연관된 사용자의 사용자 단말에 표출된 코드를 인식하여, 상기 코드에 대응하는 암호화 정보를 획득하도록 하고 - 상기 암호화 정보는, 상기 제2 대체 불가능 토큰에 대응하는 제2 티켓 정보에 기초하여 상기 사용자 단말에 의해 암호화된 정보이고 - ; 및
    상기 제1 티켓 정보 및 상기 암호화 정보에 기초하여, 상기 코드가 유효한지 여부를 결정하도록 하고,
    상기 제1 티켓 정보를 획득하는 것은 상기 스마트 계약에 의하여 상기 하나 이상의 제1 대체 불가능 토큰 각각에 대응하는 정보의 변경이 제한되는 시점인 제1 시점 이전에 수행되는,
    비일시적 컴퓨터 판독 가능 기록 매체.

KR1020240062032A 2024-05-10 2024-05-10 티켓의 유효성을 결정하는 방법, 장치 및 기록 매체 Active KR102816870B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020240062032A KR102816870B1 (ko) 2024-05-10 2024-05-10 티켓의 유효성을 결정하는 방법, 장치 및 기록 매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020240062032A KR102816870B1 (ko) 2024-05-10 2024-05-10 티켓의 유효성을 결정하는 방법, 장치 및 기록 매체

Publications (1)

Publication Number Publication Date
KR102816870B1 true KR102816870B1 (ko) 2025-06-05

Family

ID=96016667

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020240062032A Active KR102816870B1 (ko) 2024-05-10 2024-05-10 티켓의 유효성을 결정하는 방법, 장치 및 기록 매체

Country Status (1)

Country Link
KR (1) KR102816870B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017117301A (ja) * 2015-12-25 2017-06-29 サイレックス・テクノロジー株式会社 チケット発行システム
KR101824015B1 (ko) * 2016-04-12 2018-01-31 김태연 모바일 티켓 거래 시스템
KR20230120005A (ko) * 2022-02-08 2023-08-16 서강대학교산학협력단 블록체인 대체 불가능 토큰을 이용한 티켓 관리 시스템 및 티켓 관리 방법
JP2024024676A (ja) * 2021-11-15 2024-02-22 株式会社ボードウォーク 電子チケットシステム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017117301A (ja) * 2015-12-25 2017-06-29 サイレックス・テクノロジー株式会社 チケット発行システム
KR101824015B1 (ko) * 2016-04-12 2018-01-31 김태연 모바일 티켓 거래 시스템
JP2024024676A (ja) * 2021-11-15 2024-02-22 株式会社ボードウォーク 電子チケットシステム
KR20230120005A (ko) * 2022-02-08 2023-08-16 서강대학교산학협력단 블록체인 대체 불가능 토큰을 이용한 티켓 관리 시스템 및 티켓 관리 방법

Similar Documents

Publication Publication Date Title
KR102205654B1 (ko) 분산 환경에서의 신원 인증 방법
JP6524347B2 (ja) 情報共有システム
CN105684346B (zh) 确保移动应用和网关之间空中下载通信安全的方法
CN104380652B (zh) 用于nfc使能设备的多发行商安全元件分区架构
CN109313763A (zh) 层次型网络系统、用于层次型网络系统的节点以及程序
JP4326443B2 (ja) 情報処理装置および情報処理方法、並びにプログラム
US12086792B2 (en) Tokenized control of personal data
US12093349B2 (en) Method for distributing certificate of right to use digital content, and computer program stored in medium in order to carry out method
KR20200093777A (ko) 디지털 자산 보관 서비스 제공 시스템 및 방법
JP2006107323A (ja) 情報処理装置および方法、並びにプログラム
JP6195526B2 (ja) 決済システム、決済装置、決済管理方法及びプログラム
WO2018121377A1 (zh) 用于虚拟现实环境的交易方法、装置及系统
KR20190132159A (ko) 스마트 컨트랙트를 이용한 블록체인 기반 암호화폐 거래 플랫폼 제공 방법
KR20190132054A (ko) 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법
KR20200096400A (ko) 디지털 가상화폐를 qr(또는 bar)코드와 매칭시켜 전송하는 디지털 가상화폐의 전송시스템 및 그 방법
JP4540454B2 (ja) アプリケーション設定装置、icチップ及びプログラム
KR20190132160A (ko) 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법
CN110414957A (zh) 智能票证系统、智能票证派发方法与与计算机可读取储存装置
CA3182400A1 (en) Method, terminal, and coin register for transmitting electronic coin data sets
KR102816870B1 (ko) 티켓의 유효성을 결정하는 방법, 장치 및 기록 매체
KR102816874B1 (ko) 티켓의 유효성을 결정하는 방법, 장치 및 기록 매체
KR102666287B1 (ko) Nft 이용권 기반 서비스 제공 방법 및 시스템
WO2011058629A1 (ja) 情報管理システム
KR102395871B1 (ko) 블록체인 기반의 암호화 키 분산관리 네트워크를 이용한 멀티 밴 서비스를 제공하는 결제 단말 장치, 결제 중계 서버 및 그 동작 방법
JPWO2019107000A1 (ja) 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20240510

PA0201 Request for examination

Patent event code: PA02011R01I

Patent event date: 20240510

Comment text: Patent Application

PN2301 Change of applicant

Patent event date: 20240618

Comment text: Notification of Change of Applicant

Patent event code: PN23011R01D

PA0302 Request for accelerated examination

Patent event date: 20240725

Patent event code: PA03022R01D

Comment text: Request for Accelerated Examination

PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20241024

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20250515

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20250530

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20250602

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载