KR102662034B1 - 작가와 체결한 계약 사항을 nft화 할 수 있는 전자 계약 서비스를 운영하기 위한 전자 계약 서비스 서버 및 그 동작 방법 - Google Patents

작가와 체결한 계약 사항을 nft화 할 수 있는 전자 계약 서비스를 운영하기 위한 전자 계약 서비스 서버 및 그 동작 방법 Download PDF

Info

Publication number
KR102662034B1
KR102662034B1 KR1020220028682A KR20220028682A KR102662034B1 KR 102662034 B1 KR102662034 B1 KR 102662034B1 KR 1020220028682 A KR1020220028682 A KR 1020220028682A KR 20220028682 A KR20220028682 A KR 20220028682A KR 102662034 B1 KR102662034 B1 KR 102662034B1
Authority
KR
South Korea
Prior art keywords
electronic signature
terminal
electronic
nft
signature value
Prior art date
Application number
KR1020220028682A
Other languages
English (en)
Other versions
KR20230061223A (ko
Inventor
송상엽
천병갑
김광석
Original Assignee
주식회사 한컴위드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 한컴위드 filed Critical 주식회사 한컴위드
Publication of KR20230061223A publication Critical patent/KR20230061223A/ko
Application granted granted Critical
Publication of KR102662034B1 publication Critical patent/KR102662034B1/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
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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/08Payment architectures
    • G06Q20/14Payment architectures specially adapted for billing systems
    • 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/386Payment protocols; Details thereof using messaging services or messaging apps
    • 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
    • G06Q20/4014Identity check for transactions
    • 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)
    • H04L9/0825Key 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) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • 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)
  • Computer Security & Cryptography (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • Strategic Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Finance (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Tourism & Hospitality (AREA)
  • Development Economics (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Data Mining & Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

전자 계약 서비스 서버 및 그 동작 방법이 개시된다. 본 발명은 작가와 체결한 계약 사항을 NFT화 할 수 있는 전자 계약 서비스 서버 및 그 동작 방법을 제시함으로써, 상기 전자 계약 서비스를 통해, 상기 전자 계약 서비스에 가입된 회원이 작가와 체결한 계약 사항에 대한 NFT를 발행하고, 발행된 NFT를 다른 회원들과 거래할 수 있도록 지원할 수 있다.

Description

작가와 체결한 계약 사항을 NFT화 할 수 있는 전자 계약 서비스를 운영하기 위한 전자 계약 서비스 서버 및 그 동작 방법{ELECTRONIC CONTRACT SERVICE SERVER FOR OPERATING ELECTRONIC CONTRACT SERVICE WHICH IS ABLE TO ISSUE AN NFT OF THE CONTRACT WITH AN AUTHOR, AND THE OPERATING METHOD THEREOF}
본 발명은 작가와 체결한 계약 사항을 NFT화 할 수 있는 전자 계약 서비스를 운영하기 위한 전자 계약 서비스 서버 및 그 동작 방법에 대한 것이다.
NFT(Non-Fungible Token)란, '대체 불가능한 토큰'을 의미하는 것으로, 각 토큰마다 고유 값이 부여되어 있어서, 다른 토큰으로 대체하는 것이 불가능한 가상 자산을 의미한다.
최근에는, 음악이나 그림과 같은 작품에 투자하여 작품에 대한 수익을 배분받고자 하는 사람들이 증가하면서, 전자 계약 서비스를 통해, 작가와 작품의 수익 배분에 대한 계약을 체결하는 사례가 증가하고 있다.
이와 관련해서, 작가와 체결한 계약 사항을 NFT화 할 수 있는 기술이 도입된다면, 이러한 전자 계약 서비스를 통해, 회원들이 작가와 체결한 계약 사항에 대한 NFT를 발행하고, 발행된 NFT를 다른 회원들과 거래할 수 있도록 지원할 수 있을 것이다.
또한, 최근에는, 소정의 데이터를 중앙의 서버가 아닌 복수의 노드들에 분산 저장함으로써, 해당 데이터에 대한 신뢰성과 안정성을 보장할 수 있는 블록체인 기술이 널리 활용되고 있다.
블록체인 기술이란, 트랜잭션이라고 하는 소정의 데이터가 생성되면, 블록체인 네트워크에 참여하고 있는 복수의 노드들 중 어느 하나의 노드가 여러 블록들이 체인으로 연결되어 있는 블록체인 데이터에 포함된 이전 블록을 기초로 상기 트랜잭션이 포함된 새로운 블록을 생성하고, 상기 블록을 상기 블록체인 데이터에 체인으로 연결한 후 상기 블록을 상기 블록체인 네트워크를 통해 다른 노드들로 배포함으로써, 소정의 데이터가 복수의 노드들에 분산 저장되도록 하는 기술을 의미한다.
이와 관련해서, 전자 계약 서비스를 통해 발행된 NFT를 블록체인 네트워크에 등록해둘 수 있다면, 상기 NFT에 대한 신뢰성과 안정성을 보장할 수 있을 것이다.
따라서, 작가와 체결한 계약 사항을 NFT화 하여, 블록체인 네트워크에 등록해두는 기술에 대한 연구가 필요하다.
본 발명은 작가와 체결한 계약 사항을 NFT화 할 수 있는 전자 계약 서비스 서버 및 그 동작 방법을 제시함으로써, 상기 전자 계약 서비스를 통해, 상기 전자 계약 서비스에 가입된 회원이 작가와 체결한 계약 사항에 대한 NFT를 발행하고, 발행된 NFT를 다른 회원들과 거래할 수 있도록 지원하고자 한다.
본 발명의 일실시예에 따른 작가와 체결한 계약 사항을 NFT(Non-Fungible Token)화 할 수 있는 전자 계약 서비스를 운영하기 위한 전자 계약 서비스 서버는 상기 전자 계약 서비스에 가입된 복수의 회원들 각각에 대한 사전 발급된 회원 공개키 - 상기 복수의 회원들 각각에 대한 회원 공개키와 키쌍을 이루는 회원 개인키는, 각 회원의 회원 단말에 사전 발급되어 저장되어 있음 - 가 저장되어 있는 회원 공개키 저장부, 상기 전자 계약 서비스에 가입된 복수의 작가들 각각에 대한 사전 발급된 작가 공개키 - 상기 복수의 작가들 각각에 대한 작가 공개키와 키쌍을 이루는 작가 개인키는, 각 작가의 작가 단말에 사전 발급되어 저장되어 있음 - 가 저장되어 있는 작가 공개키 저장부, 상기 복수의 회원들 중 어느 한 명인 제1 회원의 제1 회원 단말로부터, 상기 복수의 작가들 중 어느 한 명인 제1 작가와 체결한, 작품의 수익 배분에 대한 계약 사항이 포함된 제1 전자 계약서 데이터가 수신되면서, 상기 제1 전자 계약서 데이터에 대한 NFT의 발행 요청이 수신되면, 상기 제1 회원 단말로, 상기 제1 전자 계약서 데이터를 기초로 한 전자 서명을 요청하는 제1 전자 서명 요청부, 상기 제1 회원 단말에서, 상기 제1 전자 계약서 데이터가 상기 제1 회원에 대한 제1 회원 개인키로 암호화되어, 제1 전자 서명 값이 생성됨에 따라, 상기 제1 회원 단말로부터 상기 제1 전자 서명 값이 수신되면, 상기 제1 전자 서명 값을, 상기 회원 공개키 저장부에 저장되어 있는 상기 제1 회원에 대한 제1 회원 공개키로 검증하는 제1 검증 수행부, 상기 제1 전자 서명 값에 대한 검증이 완료되면, 상기 제1 작가의 제1 작가 단말로, 상기 제1 전자 계약서 데이터를 전송하면서, 상기 제1 전자 계약서 데이터에 대한 NFT를 발행하는 것에 동의할 것인지 여부를 질의하는 발행 동의 질의 메시지를 전송하는 발행 동의 질의부, 상기 제1 작가 단말로부터, 상기 제1 전자 계약서 데이터에 대한 NFT를 발행하는 것에 동의함을 지시하는 발행 동의 메시지가 수신되면, 상기 제1 작가 단말로, 상기 제1 전자 계약서 데이터를 기초로 한 전자 서명을 요청하는 제2 전자 서명 요청부, 상기 제1 작가 단말에서, 상기 제1 전자 계약서 데이터가 상기 제1 작가에 대한 제1 작가 개인키로 암호화되어, 제2 전자 서명 값이 생성됨에 따라, 상기 제1 작가 단말로부터 상기 제2 전자 서명 값이 수신되면, 상기 제2 전자 서명 값을, 상기 작가 공개키 저장부에 저장되어 있는, 상기 제1 작가에 대한 제1 작가 공개키로 검증하는 제2 검증 수행부, 상기 제2 전자 서명 값에 대한 검증이 완료되면, 현재 시점에 대한 제1 날짜 정보를 생성한 후, 상기 제1 전자 계약서 데이터와 상기 제1 날짜 정보를 사전 설정된 해시 함수에 입력으로 인가하여 제1 해시 값을 생성하고, 상기 제1 해시 값을 사전 설정된 관리용 개인키로 암호화함으로써, 제1 관리용 전자 서명 값을 생성하는 제1 관리용 전자 서명부, 상기 제1 관리용 전자 서명 값이 생성되면, 상기 제1 전자 계약서 데이터, 상기 제1 전자 서명 값, 상기 제2 전자 서명 값, 상기 제1 관리용 전자 서명 값 및 상기 제1 날짜 정보로 구성된 제1 데이터셋을 생성한 후, 데이터 저장을 위한 사전 설정된 클라우드 스토리지 서버에 접속하여, 상기 클라우드 스토리지 서버로, 상기 제1 데이터셋을 전송하면서, 상기 제1 데이터셋을 저장할 것을 요청하는 저장 요청부, 상기 클라우드 스토리지 서버에서 상기 제1 데이터셋이 저장됨에 따라, 상기 클라우드 스토리지 서버로부터, 상기 제1 데이터셋이 저장된 제1 저장 경로에 대한 정보가 수신되면, 상기 제1 회원이 소유자임을 지시하는 소유자 정보와 상기 제1 저장 경로에 대한 정보가 포함된 제1 NFT를 생성하는 NFT 생성부 및 상기 제1 NFT가 생성되면, NFT의 등록을 위한 사전 설정된 블록체인 네트워크에 상기 제1 NFT를 등록 처리함으로써, 상기 제1 NFT에 대한 발행을 완료한 후, 상기 제1 NFT가 발행 완료되었음을 지시하는 발행 완료 메시지를 생성하여 상기 제1 회원 단말과 상기 제1 작가 단말로 전송하는 발행 완료 메시지 전송부를 포함한다.
또한, 본 발명의 일실시예에 따른 작가와 체결한 계약 사항을 NFT화 할 수 있는 전자 계약 서비스를 운영하기 위한 전자 계약 서비스 서버의 동작 방법은 상기 전자 계약 서비스에 가입된 복수의 회원들 각각에 대한 사전 발급된 회원 공개키 - 상기 복수의 회원들 각각에 대한 회원 공개키와 키쌍을 이루는 회원 개인키는, 각 회원의 회원 단말에 사전 발급되어 저장되어 있음 - 가 저장되어 있는 회원 공개키 저장부를 유지하는 단계, 상기 전자 계약 서비스에 가입된 복수의 작가들 각각에 대한 사전 발급된 작가 공개키 - 상기 복수의 작가들 각각에 대한 작가 공개키와 키쌍을 이루는 작가 개인키는, 각 작가의 작가 단말에 사전 발급되어 저장되어 있음 - 가 저장되어 있는 작가 공개키 저장부를 유지하는 단계, 상기 복수의 회원들 중 어느 한 명인 제1 회원의 제1 회원 단말로부터, 상기 복수의 작가들 중 어느 한 명인 제1 작가와 체결한, 작품의 수익 배분에 대한 계약 사항이 포함된 제1 전자 계약서 데이터가 수신되면서, 상기 제1 전자 계약서 데이터에 대한 NFT의 발행 요청이 수신되면, 상기 제1 회원 단말로, 상기 제1 전자 계약서 데이터를 기초로 한 전자 서명을 요청하는 단계, 상기 제1 회원 단말에서, 상기 제1 전자 계약서 데이터가 상기 제1 회원에 대한 제1 회원 개인키로 암호화되어, 제1 전자 서명 값이 생성됨에 따라, 상기 제1 회원 단말로부터 상기 제1 전자 서명 값이 수신되면, 상기 제1 전자 서명 값을, 상기 회원 공개키 저장부에 저장되어 있는 상기 제1 회원에 대한 제1 회원 공개키로 검증하는 단계, 상기 제1 전자 서명 값에 대한 검증이 완료되면, 상기 제1 작가의 제1 작가 단말로, 상기 제1 전자 계약서 데이터를 전송하면서, 상기 제1 전자 계약서 데이터에 대한 NFT를 발행하는 것에 동의할 것인지 여부를 질의하는 발행 동의 질의 메시지를 전송하는 단계, 상기 제1 작가 단말로부터, 상기 제1 전자 계약서 데이터에 대한 NFT를 발행하는 것에 동의함을 지시하는 발행 동의 메시지가 수신되면, 상기 제1 작가 단말로, 상기 제1 전자 계약서 데이터를 기초로 한 전자 서명을 요청하는 단계, 상기 제1 작가 단말에서, 상기 제1 전자 계약서 데이터가 상기 제1 작가에 대한 제1 작가 개인키로 암호화되어, 제2 전자 서명 값이 생성됨에 따라, 상기 제1 작가 단말로부터 상기 제2 전자 서명 값이 수신되면, 상기 제2 전자 서명 값을, 상기 작가 공개키 저장부에 저장되어 있는, 상기 제1 작가에 대한 제1 작가 공개키로 검증하는 단계, 상기 제2 전자 서명 값에 대한 검증이 완료되면, 현재 시점에 대한 제1 날짜 정보를 생성한 후, 상기 제1 전자 계약서 데이터와 상기 제1 날짜 정보를 사전 설정된 해시 함수에 입력으로 인가하여 제1 해시 값을 생성하고, 상기 제1 해시 값을 사전 설정된 관리용 개인키로 암호화함으로써, 제1 관리용 전자 서명 값을 생성하는 단계, 상기 제1 관리용 전자 서명 값이 생성되면, 상기 제1 전자 계약서 데이터, 상기 제1 전자 서명 값, 상기 제2 전자 서명 값, 상기 제1 관리용 전자 서명 값 및 상기 제1 날짜 정보로 구성된 제1 데이터셋을 생성한 후, 데이터 저장을 위한 사전 설정된 클라우드 스토리지 서버에 접속하여, 상기 클라우드 스토리지 서버로, 상기 제1 데이터셋을 전송하면서, 상기 제1 데이터셋을 저장할 것을 요청하는 단계, 상기 클라우드 스토리지 서버에서 상기 제1 데이터셋이 저장됨에 따라, 상기 클라우드 스토리지 서버로부터, 상기 제1 데이터셋이 저장된 제1 저장 경로에 대한 정보가 수신되면, 상기 제1 회원이 소유자임을 지시하는 소유자 정보와 상기 제1 저장 경로에 대한 정보가 포함된 제1 NFT를 생성하는 단계 및 상기 제1 NFT가 생성되면, NFT의 등록을 위한 사전 설정된 블록체인 네트워크에 상기 제1 NFT를 등록 처리함으로써, 상기 제1 NFT에 대한 발행을 완료한 후, 상기 제1 NFT가 발행 완료되었음을 지시하는 발행 완료 메시지를 생성하여 상기 제1 회원 단말과 상기 제1 작가 단말로 전송하는 단계를 포함한다.
본 발명은 작가와 체결한 계약 사항을 NFT화 할 수 있는 전자 계약 서비스 서버 및 그 동작 방법을 제시함으로써, 상기 전자 계약 서비스를 통해, 상기 전자 계약 서비스에 가입된 회원이 작가와 체결한 계약 사항에 대한 NFT를 발행하고, 발행된 NFT를 다른 회원들과 거래할 수 있도록 지원할 수 있다.
도 1은 본 발명의 일실시예에 따른 작가와 체결한 계약 사항을 NFT화 할 수 있는 전자 계약 서비스를 운영하기 위한 전자 계약 서비스 서버의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 작가와 체결한 계약 사항을 NFT화 할 수 있는 전자 계약 서비스를 운영하기 위한 전자 계약 서비스 서버의 동작 방법을 도시한 순서도이다.
이하에서는 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명하기로 한다. 이러한 설명은 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였으며, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 본 명세서 상에서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 사람에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.
본 문서에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다. 또한, 본 발명의 다양한 실시예들에 있어서, 각 구성요소들, 기능 블록들 또는 수단들은 하나 또는 그 이상의 하부 구성요소로 구성될 수 있고, 각 구성요소들이 수행하는 전기, 전자, 기계적 기능들은 전자회로, 집적회로, ASIC(Application Specific Integrated Circuit) 등 공지된 다양한 소자들 또는 기계적 요소들로 구현될 수 있으며, 각각 별개로 구현되거나 2 이상이 하나로 통합되어 구현될 수도 있다.
한편, 첨부된 블록도의 블록들이나 흐름도의 단계들은 범용 컴퓨터, 특수용 컴퓨터, 휴대용 노트북 컴퓨터, 네트워크 컴퓨터 등 데이터 프로세싱이 가능한 장비의 프로세서나 메모리에 탑재되어 지정된 기능들을 수행하는 컴퓨터 프로그램 명령들(instructions)을 의미하는 것으로 해석될 수 있다. 이들 컴퓨터 프로그램 명령들은 컴퓨터 장치에 구비된 메모리 또는 컴퓨터에서 판독 가능한 메모리에 저장될 수 있기 때문에, 블록도의 블록들 또는 흐름도의 단계들에서 설명된 기능들은 이를 수행하는 명령 수단을 내포하는 제조물로 생산될 수도 있다. 아울러, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 명령들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 가능한 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 정해진 순서와 달리 실행되는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 실질적으로 동시에 수행되거나, 역순으로 수행될 수 있으며, 경우에 따라 일부 블록들 또는 단계들이 생략된 채로 수행될 수도 있다.
도 1은 본 발명의 일실시예에 따른 작가와 체결한 계약 사항을 NFT(Non-Fungible Token)화 할 수 있는 전자 계약 서비스를 운영하기 위한 전자 계약 서비스 서버의 구조를 도시한 도면이다.
도 1을 참조하면, 본 발명의 일실시예에 따른 전자 계약 서비스 서버(110)는 회원 공개키 저장부(111), 작가 공개키 저장부(112), 제1 전자 서명 요청부(113), 제1 검증 수행부(114), 발행 동의 질의부(115), 제2 전자 서명 요청부(116), 제2 검증 수행부(117), 제1 관리용 전자 서명부(118), 저장 요청부(119), NFT 생성부(120) 및 발행 완료 메시지 전송부(121)를 포함할 수 있다.
회원 공개키 저장부(111)에는 상기 전자 계약 서비스에 가입된 복수의 회원들 각각에 대한 사전 발급된 회원 공개키가 저장되어 있다.
여기서, 상기 복수의 회원들 각각에 대한 회원 공개키와 키쌍을 이루는 회원 개인키는, 각 회원의 회원 단말에 사전 발급되어 저장되어 있다.
예컨대, 회원 공개키 저장부(111)에는 하기 표 1과 같이, 상기 전자 계약 서비스에 가입된 복수의 회원들 각각에 대한 사전 발급된 회원 공개키가 저장되어 있을 수 있다.
복수의 회원들 회원 공개키
회원 1 회원 공개키 1
회원 2 회원 공개키 2
회원 3 회원 공개키 3
... ...
작가 공개키 저장부(112)에는 상기 전자 계약 서비스에 가입된 복수의 작가들 각각에 대한 사전 발급된 작가 공개키가 저장되어 있다.
여기서, 상기 복수의 작가들 각각에 대한 작가 공개키와 키쌍을 이루는 작가 개인키는, 각 작가의 작가 단말에 사전 발급되어 저장되어 있다.
예컨대, 작가 공개키 저장부(112)에는 하기의 표 2와 같이, 상기 전자 계약 서비스에 가입된 복수의 작가들 각각에 대한 사전 발급된 작가 공개키가 저장되어 있을 수 있다.
복수의 작가들 작가 공개키
작가 1 작가 공개키 1
작가 2 작가 공개키 2
작가 3 작가 공개키 3
... ...
제1 전자 서명 요청부(113)는 상기 복수의 회원들 중 어느 한 명인 제1 회원(21)의 제1 회원 단말(31)로부터, 상기 복수의 작가들 중 어느 한 명인 제1 작가(41)와 체결한, 작품의 수익 배분에 대한 계약 사항이 포함된 제1 전자 계약서 데이터가 수신되면서, 상기 제1 전자 계약서 데이터에 대한 NFT의 발행 요청이 수신되면, 제1 회원 단말(31)로, 상기 제1 전자 계약서 데이터를 기초로 한 전자 서명을 요청한다.
제1 검증 수행부(114)는 제1 회원 단말(31)에서, 상기 제1 전자 계약서 데이터가 제1 회원(21)에 대한 제1 회원 개인키로 암호화되어, 제1 전자 서명 값이 생성됨에 따라, 제1 회원 단말(31)로부터 상기 제1 전자 서명 값이 수신되면, 상기 제1 전자 서명 값을, 회원 공개키 저장부(111)에 저장되어 있는 제1 회원(21)에 대한 제1 회원 공개키로 검증한다.
발행 동의 질의부(115)는 제1 검증 수행부(114)에 의해 상기 제1 전자 서명 값에 대한 검증이 완료되면, 제1 작가(41)의 제1 작가 단말(51)로, 상기 제1 전자 계약서 데이터를 전송하면서, 상기 제1 전자 계약서 데이터에 대한 NFT를 발행하는 것에 동의할 것인지 여부를 질의하는 발행 동의 질의 메시지를 전송한다.
제2 전자 서명 요청부(116)는 제1 작가 단말(51)로부터, 상기 제1 전자 계약서 데이터에 대한 NFT를 발행하는 것에 동의함을 지시하는 발행 동의 메시지가 수신되면, 제1 작가 단말(51)로, 상기 제1 전자 계약서 데이터를 기초로 한 전자 서명을 요청한다.
제2 검증 수행부(117)는 제1 작가 단말(51)에서, 상기 제1 전자 계약서 데이터가 제1 작가(41)에 대한 제1 작가 개인키로 암호화되어, 제2 전자 서명 값이 생성됨에 따라, 제1 작가 단말(51)로부터 상기 제2 전자 서명 값이 수신되면, 상기 제2 전자 서명 값을, 작가 공개키 저장부(112)에 저장되어 있는, 제1 작가(41)에 대한 제1 작가 공개키로 검증한다.
제1 관리용 전자 서명부(118)는 제2 검증 수행부(117)에 의해 상기 제2 전자 서명 값에 대한 검증이 완료되면, 현재 시점에 대한 제1 날짜 정보를 생성한 후, 상기 제1 전자 계약서 데이터와 상기 제1 날짜 정보를 사전 설정된 해시 함수에 입력으로 인가하여 제1 해시 값을 생성하고, 상기 제1 해시 값을 사전 설정된 관리용 개인키로 암호화함으로써, 제1 관리용 전자 서명 값을 생성한다.
저장 요청부(119)는 제1 관리용 전자 서명부(118)에 의해 상기 제1 관리용 전자 서명 값이 생성되면, 상기 제1 전자 계약서 데이터, 상기 제1 전자 서명 값, 상기 제2 전자 서명 값, 상기 제1 관리용 전자 서명 값 및 상기 제1 날짜 정보로 구성된 제1 데이터셋을 생성한 후, 데이터 저장을 위한 사전 설정된 클라우드 스토리지 서버(60)에 접속하여, 클라우드 스토리지 서버(60)로, 상기 제1 데이터셋을 전송하면서, 상기 제1 데이터셋을 저장할 것을 요청한다.
NFT 생성부(120)는 클라우드 스토리지 서버(60)에서 상기 제1 데이터셋이 저장됨에 따라, 클라우드 스토리지 서버(60)로부터, 상기 제1 데이터셋이 저장된 제1 저장 경로에 대한 정보가 수신되면, 제1 회원(21)이 소유자임을 지시하는 소유자 정보와 상기 제1 저장 경로에 대한 정보가 포함된 제1 NFT를 생성한다. 여기서, 저장 경로란, 데이터가 저장된 클라우드 스토리지 서버(60) 상의 URI(Uniform Resource Identifier)를 의미한다.
발행 완료 메시지 전송부(121)는 NFT 생성부(120)에 의해 상기 제1 NFT가 생성되면, NFT의 등록을 위한 사전 설정된 블록체인 네트워크(10)에 상기 제1 NFT를 등록 처리함으로써, 상기 제1 NFT에 대한 발행을 완료한 후, 상기 제1 NFT가 발행 완료되었음을 지시하는 발행 완료 메시지를 생성하여 제1 회원 단말(31)과 제1 작가 단말(51)로 전송한다.
이하에서는, 제1 전자 서명 요청부(113), 제1 검증 수행부(114), 발행 동의 질의부(115), 제2 전자 서명 요청부(116), 제2 검증 수행부(117), 제1 관리용 전자 서명부(118), 저장 요청부(119), NFT 생성부(120) 및 발행 완료 메시지 전송부(121)의 동작을 예를 들어, 상세히 설명하기로 한다.
먼저, 전자 계약 서비스 서버(110)에, 상기 복수의 회원들 중 어느 한 명인 '회원 1(21)'의 제1 회원 단말(31)로부터, 상기 복수의 작가들 중 어느 한 명인 '작가 1(41)'과 체결한, 작품의 수익 배분에 대한 계약 사항이 포함된 '전자 계약서 데이터 1'이 수신되면서, '전자 계약서 데이터 1'에 대한 NFT의 발행 요청이 수신되었다고 가정하자.
그러면, 제1 전자 서명 요청부(113)는 제1 회원 단말(31)로, '전자 계약서 데이터 1'을 기초로 한 전자 서명을 요청할 수 있다.
이때, 제1 회원 단말(31)에는 '회원 1(21)'에 대한 제1 회원 공개키인 '회원 공개키 1'과 키쌍을 이루는 제1 회원 개인키인 '회원 개인키 1'이 저장되어 있고, 전자 계약 서비스 서버(110)로부터 '전자 계약서 데이터 1'을 기초로 한 전자 서명의 요청이 수신되면, 제1 회원 단말(31)은 '전자 계약서 데이터 1'을 '회원 개인키 1'로 암호화함으로써, '전자 서명 값 1'을 생성한 후, '전자 서명 값 1'을 전자 계약 서비스 서버(110)로 전송할 수 있다.
이에 따라, 전자 계약 서비스 서버(110)에 '전자 서명 값 1'이 수신되면, 제1 검증 수행부(114)는 '전자 서명 값 1'을, 상기 표 1과 같은 회원 공개키 저장부(111)에 저장되어 있는 '회원 1(21)'에 대한 '회원 공개키 1'로 검증할 수 있다.
이때, '전자 서명 값 1'은 '전자 계약서 데이터 1'이 '회원 개인키 1'로 암호화됨으로써 생성된 전자 서명 값이고, '회원 개인키 1'은 '회원 공개키 1'과 키쌍을 이루는 회원 개인키이므로, 제1 검증 수행부(114)는 '전자 서명 값 1'을, '회원 공개키 1'로 복호화한 후 이 복호화된 값과 '전자 계약서 데이터 1'이 서로 일치하는지 비교함으로써, '전자 서명 값 1'에 대한 검증을 수행할 수 있다.
이렇게, 제1 검증 수행부(114)에 의해 '전자 서명 값 1'에 대한 검증이 완료되면, 발행 동의 질의부(115)는 '작가 1(41)'의 제1 작가 단말(51)로, '전자 계약서 데이터 1'을 전송하면서, '전자 계약서 데이터 1'에 대한 NFT를 발행하는 것에 동의할 것인지 여부를 질의하는 발행 동의 질의 메시지를 전송할 수 있다.
이에 대응하여, 전자 계약 서비스 서버(110)에 제1 작가 단말(51)로부터, '전자 계약서 데이터 1'에 대한 NFT를 발행하는 것에 동의함을 지시하는 발행 동의 메시지가 수신되었다고 하는 경우, 제2 전자 서명 요청부(116)는 제1 작가 단말(51)로, '전자 계약서 데이터 1'를 기초로 한 전자 서명을 요청할 수 있다.
이때, 제1 작가 단말(51)에는 '작가 1(41)'에 대한 제1 작가 공개키인 '작가 공개키 1'과 키쌍을 이루는 제1 작가 개인키인 '작가 개인키 1'이 저장되어 있고, 전자 계약 서비스 서버(110)로부터 '전자 계약서 데이터 1'을 기초로 한 전자 서명의 요청이 수신되면, 제1 작가 단말(51)은 '전자 계약서 데이터 1'을 '작가 개인키 1'로 암호화함으로써, '전자 서명 값 2'를 생성한 후, '전자 서명 값 2'를 전자 계약 서비스 서버(110)로 전송할 수 있다.
이에 따라, 전자 계약 서비스 서버(110)에 '전자 서명 값 2'가 수신되면, 제2 검증 수행부(117)는 '전자 서명 값 2'를, 상기 표 2와 같은 작가 공개키 저장부(112)에 저장되어 있는, '작가 1(41)'에 대한 '작가 공개키 1'로 검증할 수 있다.
이때, '전자 서명 값 2'는 '전자 계약서 데이터 1'이 '작가 개인키 1'로 암호화됨으로써 생성된 전자 서명 값이고, '작가 개인키 1'은 '작가 공개키 1'과 키쌍을 이루는 회원 개인키이므로, 제2 검증 수행부(117)는 '전자 서명 값 2'를, '작가 공개키 1'로 복호화한 후 이 복호화된 값과 '전자 계약서 데이터 1'이 서로 일치하는지 비교함으로써, '전자 서명 값 2'에 대한 검증을 수행할 수 있다.
이렇게, 제2 검증 수행부(117)에 의해 '전자 서명 값 2'에 대한 검증이 완료되면, 제1 관리용 전자 서명부(118)는 현재 시점에 대한 제1 날짜 정보를 생성할 수 있다.
이때, 상기 제1 날짜 정보가 '2022년 3월 2일'이라고 하는 경우, 제1 관리용 전자 서명부(118)는 '전자 계약서 데이터 1'과 상기 제1 날짜 정보인 '2022년 3월 2일'을 사전 설정된 해시 함수에 입력으로 인가하여 '해시 값 1'을 생성하고, '해시 값 1'을 사전 설정된 관리용 개인키로 암호화함으로써, '관리용 전자 서명 값 1'을 생성할 수 있다.
그러면, 저장 요청부(119)는 '전자 계약서 데이터 1', '전자 서명 값 1', '전자 서명 값 2', '관리용 전자 서명 값 1' 및 상기 제1 날짜 정보인 '2022년 3월 2일'로 구성된 '데이터셋 1'을 생성한 후, 데이터 저장을 위한 사전 설정된 클라우드 스토리지 서버(60)에 접속하여, 클라우드 스토리지 서버(60)로, '데이터셋 1'을 전송하면서, '데이터셋 1'을 저장할 것을 요청할 수 있다.
이로 인해, 클라우드 스토리지 서버(60)에서 '데이터셋 1'이 저장됨에 따라, 전자 계약 서비스 서버(110)에 클라우드 스토리지 서버(60)로부터, '데이터셋 1'이 저장된 '저장 경로 1'에 대한 정보가 수신되었다고 하는 경우, NFT 생성부(120)는 '회원 1(21)'이 소유자임을 지시하는 소유자 정보와 '저장 경로 1'에 대한 정보가 포함된 'NFT 1'을 생성할 수 있다.
그러면, 발행 완료 메시지 전송부(121)는 NFT의 등록을 위한 사전 설정된 블록체인 네트워크(10)에 'NFT 1'을 등록 처리함으로써, 'NFT 1'에 대한 발행을 완료할 수 있다.
이때, 본 발명의 일실시예에 따르면, 발행 완료 메시지 전송부(121)는 블록체인 네트워크(10)에 'NFT 1'을 등록 처리하기 위해, 'NFT 1'이 포함된 트랜잭션을 생성한 후, 상기 트랜잭션을 블록체인 네트워크(10)에 전파할 수 있다. 그러면, 블록체인 네트워크(10)를 구성하고 있는 복수의 노드들(11, 12, 13, 14, 15, 16) 중 어느 하나의 노드가 상기 트랜잭션이 포함된 블록을 생성하여, 복수의 노드들(11, 12, 13, 14, 15, 16)로 전파할 수 있다. 이에 따라, 복수의 노드들(11, 12, 13, 14, 15, 16)에 상기 블록이 수신되면, 복수의 노드들(11, 12, 13, 14, 15, 16)은 각 노드에 저장되어 있는 블록체인 데이터에 체인으로 연결된 이전 블록을 기초로, 상기 블록을 상기 블록체인 데이터에 체인으로 연결함으로써, 'NFT 1'을 공유할 수 있다.
이렇게, 'NFT 1'에 대한 발행이 완료되면, 발행 완료 메시지 전송부(121)는 'NFT 1'이 발행 완료되었음을 지시하는 발행 완료 메시지를 생성하여 제1 회원 단말(31)과 제1 작가 단말(51)로 전송할 수 있다.
본 발명의 일실시예에 따르면, 전자 계약 서비스 서버(110)는 검증 이벤트 발생부(122), 서명 검증 처리부(123), 보고 메시지 전송부(124)를 더 포함할 수 있다.
검증 이벤트 발생부(122)는 발행 완료 메시지 전송부(121)에 의해 상기 발행 완료 메시지가 제1 회원 단말(31)과 제1 작가 단말(51)로 전송 완료되면, 사전 설정된 주기 간격으로, 상기 제1 데이터셋에 대한 무결성 검증을 위한 검증 이벤트를 발생시킨다.
서명 검증 처리부(123)는 검증 이벤트 발생부(122)에 의해 상기 검증 이벤트가 발생되면, 블록체인 네트워크(10)에 등록되어 있는 상기 제1 NFT를 조회하여, 상기 제1 NFT에 포함되어 있는 상기 제1 저장 경로에 대한 정보를 확인하고, 상기 제1 저장 경로에 대한 정보를 기초로, 클라우드 스토리지 서버(60)에 접속하여, 상기 제1 데이터셋을 수신한 후, 상기 제1 데이터셋에 포함되어 있는 상기 제1 관리용 전자 서명 값을, 상기 관리용 개인키와 키쌍을 이루는 관리용 공개키로 검증한다.
보고 메시지 전송부(124)는 서명 검증 처리부(123)에 의해 상기 제1 관리용 전자 서명 값에 대한 검증이 완료되면, 상기 제1 데이터셋에 대한 무결성 검증이 완료되었음을 보고하는 보고 메시지를 생성하여 제1 회원 단말(31)과 제1 작가 단말(51)로 전송한다.
이하에서는, 검증 이벤트 발생부(122), 서명 검증 처리부(123), 보고 메시지 전송부(124)의 동작을 예를 들어, 상세히 설명하기로 한다.
먼저, 사전 설정된 주기를 '1개월'이라고 하고, 전술한 예에 따라, 발행 완료 메시지 전송부(121)에 의해 상기 발행 완료 메시지가 제1 회원 단말(31)과 제1 작가 단말(51)로 전송 완료되었다고 가정하자.
그러면, 검증 이벤트 발생부(122)는 '1개월' 간격으로, '데이터셋 1'에 대한 무결성 검증을 위한 검증 이벤트를 발생시킬 수 있다.
이때, 서명 검증 처리부(123)는 블록체인 네트워크(10)에 등록되어 있는 'NFT 1'을 조회하여, 'NFT 1'에 포함되어 있는 '저장 경로 1'에 대한 정보를 확인할 수 있다.
이때, '저장 경로 1'에 대한 정보는 '데이터셋 1'이 저장된 경로에 대한 정보이므로, 서명 검증 처리부(123)는 '저장 경로 1'에 대한 정보를 기초로, 클라우드 스토리지 서버(60)에 접속하여, '데이터셋 1'을 수신할 수 있다.
그러고 나서, 서명 검증 처리부(123)는 '데이터셋 1'에 포함되어 있는 '관리용 전자 서명 값 1'을, 상기 관리용 개인키와 키쌍을 이루는 관리용 공개키로 검증할 수 있다.
이때, 전술한 예에 따르면, '관리용 전자 서명 값 1'은 '해시 값 1'이 상기 관리용 개인키로 암호화됨으로써 생성된 전자 서명 값이고, 상기 관리용 개인키는 상기 관리용 공개키와 키쌍을 이루는 개인키이므로, 서명 검증 처리부(123)는 '관리용 전자 서명 값 1'을, 상기 관리용 공개키로 복호화한 후 이 복호화된 값과 '해시 값 1'이 서로 일치하는지 비교함으로써, '관리용 전자 서명 값 1'에 대한 검증을 수행할 수 있다.
이렇게, 서명 검증 처리부(123)에 의해 '관리용 전자 서명 값 1'에 대한 검증이 완료되면, 보고 메시지 전송부(124)는 '데이터셋 1'에 대한 무결성 검증이 완료되었음을 보고하는 보고 메시지를 생성하여 제1 회원 단말(31)과 제1 작가 단말(51)로 전송할 수 있다.
또한, 본 발명의 일실시예에 따르면, 전자 계약 서비스 서버(110)는 판매 금액 요청부(125), 판매 등록 처리부(126), 관리용 검증 수행부(127) 및 데이터 전송부(128)를 더 포함할 수 있다.
판매 금액 요청부(125)는 발행 완료 메시지 전송부(121)에 의해 상기 발행 완료 메시지가 제1 회원 단말(21)과 제1 작가 단말(51)로 전송된 이후, 제1 회원 단말(21)로부터, 상기 제1 NFT에 대한 판매 정보를 판매 정보 데이터베이스(146)에 등록할 것을 요청하는 판매 등록 요청이 수신되면, 제1 회원 단말(21)로, 상기 제1 NFT의 판매를 위한 판매 금액 정보를 전송할 것을 요청한다.
판매 등록 처리부(126)는 제1 회원 단말(21)로부터 상기 제1 NFT의 판매 금액 정보로, 제1 판매 금액 정보가 수신되면, 판매 정보 데이터베이스(146)에 상기 제1 판매 금액 정보를 저장함으로써, 상기 제1 NFT에 대한 판매 등록을 처리한다.
관리용 검증 수행부(127)는 판매 등록 처리부(126)에 의해 상기 제1 NFT에 대한 판매 등록이 처리된 이후, 상기 복수의 회원들 중 어느 한 명인 제2 회원(22)의 제2 회원 단말(32)로부터, 상기 제1 NFT의 구매를 위한 전자 계약서 조회 요청이 수신되면, 블록체인 네트워크(10)에 등록되어 있는 상기 제1 NFT를 조회하여, 상기 제1 NFT에 포함되어 있는 상기 제1 저장 경로에 대한 정보를 확인하고, 상기 제1 저장 경로에 대한 정보를 기초로, 클라우드 스토리지 서버(60)에 접속하여, 상기 제1 데이터셋을 수신한 후, 상기 제1 데이터셋에 포함되어 있는 상기 제1 관리용 전자 서명 값을, 상기 관리용 개인키와 키쌍을 이루는 관리용 공개키로 검증한다.
데이터 전송부(128)는 관리용 검증 수행부(127)에 의해 상기 제1 관리용 전자 서명 값에 대한 검증이 완료되면, 상기 제1 데이터셋에 포함되어 있는 상기 제1 전자 계약서 데이터를 제2 회원 단말(32)로 전송한다.
이하에서는, 판매 금액 요청부(125), 판매 등록 처리부(126), 관리용 검증 수행부(127) 및 데이터 전송부(128)의 동작을 예를 들어, 상세히 설명하기로 한다.
먼저, 전술한 예와 같이, 발행 완료 메시지 전송부(121)에 의해 상기 발행 완료 메시지가 제1 회원 단말(21)과 제1 작가 단말(51)로 전송되었다고 하고, 그 이후, 전자 계약 서비스 서버(110)에 제1 회원 단말(21)로부터, 'NFT 1'에 대한 판매 정보를 판매 정보 데이터베이스(146)에 등록할 것을 요청하는 판매 등록 요청이 수신되었다고 가정하자.
그러면, 판매 금액 요청부(125)는 제1 회원 단말(21)로, 'NFT 1'의 판매를 위한 판매 금액 정보를 전송할 것을 요청할 수 있다.
이에 대응하여, 전자 계약 서비스 서버(110)에 제1 회원 단말(21)로부터, 'NFT 1'의 판매 금액 정보로, 제1 판매 금액 정보인 '300,000원'이 수신되었다고 하는 경우, 판매 등록 처리부(126)는 판매 정보 데이터베이스(146)에 상기 제1 판매 금액 정보인 '300,000원'을 저장함으로써, 'NFT 1'에 대한 판매 등록을 처리할 수 있다.
그 이후, 전자 계약 서비스 서버(110)에 상기 복수의 회원들 중 어느 한 명인 '회원 2(22)'의 제2 회원 단말(32)로부터, 'NFT 1'이 구매를 위한 전자 계약서 조회 요청이 수신되었다고 가정하자.
그러면, 관리용 검증 수행부(127)는 블록체인 네트워크(10)에 등록되어 있는 'NFT 1'을 조회하여, 'NFT 1'에 포함되어 있는 '저장 경로 1'에 대한 정보를 확인하고, '저장 경로 1'에 대한 정보를 기초로, 클라우드 스토리지 서버(60)에 접속하여, '데이터셋 1'을 수신할 수 있다. 그러고 나서, 관리용 검증 수행부(127)는 '데이터셋 1'에 포함되어 있는 '관리용 전자 서명 값 1'을, 상기 관리용 개인키와 키쌍을 이루는 관리용 공개키로 검증할 수 있다.
이렇게, 관리용 검증 수행부(127)에 의해 '관리용 전자 서명 값 1'에 대한 검증이 완료되면, 데이터 전송부(128)는 '데이터셋 1'에 포함되어 있는 '전자 계약서 데이터 1'을 제2 회원 단말(32)로 전송할 수 있다.
이때, 본 발명의 일실시예에 따르면, 전자 계약 서비스 서버(110)는 판매 동의 질의부(129), 제3 전자 서명 요청부(130), 제3 검증 수행부(131), 제4 전자 서명 요청부(132), 제4 검증 수행부(133), 결제 수단 요청부(134), 대금 결제부(135), 제2 관리용 전자 서명부(136), 대체 요청부(137) 및 거래 등록 요청부(138)를 더 포함할 수 있다.
판매 동의 질의부(129)는 데이터 전송부(128)에 의해 상기 제1 전자 계약서 데이터가 제2 회원 단말(32)로 전송된 이후, 제2 회원 단말(32)로부터, 상기 제1 NFT에 대한 구매 요청이 수신되면, 제1 작가 단말(51)로, 상기 제1 NFT를 판매하는 것에 동의할 것인지 여부를 질의하는 판매 동의 질의 메시지를 전송한다.
제3 전자 서명 요청부(130)는 제1 작가 단말(51)로부터, 상기 제1 NFT를 판매하는 것에 동의함을 지시하는 판매 동의 메시지가 수신되면, 제1 작가 단말(51)로, 상기 제2 전자 서명 값을 전송하면서, 상기 제2 전자 서명 값에 기초한 전자 서명을 요청한다.
제3 검증 수행부(131)는 제1 작가 단말(51)에서, 상기 제2 전자 서명 값이 상기 제1 작가 개인키로 암호화되어, 제3 전자 서명 값이 생성됨에 따라, 제1 작가 단말(51)로부터 상기 제3 전자 서명 값이 수신되면, 상기 제3 전자 서명 값을, 작가 공개키 저장부(112)에 저장되어 있는 상기 제1 작가 공개키로 검증한다.
제4 전자 서명 요청부(132)는 제3 검증 수행부(131)에 의해 상기 제3 전자 서명 값에 대한 검증이 완료되면, 제2 회원 단말(32)로, 상기 제1 전자 계약서 데이터를 기초로 한 전자 서명을 요청한다.
제4 검증 수행부(133)는 제2 회원 단말(32)에서, 상기 제1 전자 계약서 데이터가 제2 회원(22)에 대한 제2 회원 개인키로 암호화되어, 제4 전자 서명 값이 생성됨에 따라, 제2 회원 단말(32)로부터 상기 제4 전자 서명 값이 수신되면, 상기 제4 전자 서명 값을, 회원 공개키 저장부(111)에 저장되어 있는 제2 회원(22)에 대한 제2 회원 공개키로 검증한다.
결제 수단 요청부(134)는 제4 검증 수행부(133)에 의해 상기 제4 전자 서명 값에 대한 검증이 완료되면, 제2 회원 단말(32)로, 대금 결제를 위한 결제 수단 정보를 전송할 것을 요청한다.
대금 결제부(135)는 제2 회원 단말(32)로부터 제1 결제 수단 정보가 수신되면, 제2 회원(22)에 대한 본인 인증을 수행한 후, 상기 제1 결제 수단 정보를 기초로, 상기 제1 판매 금액 정보에 따른 금액에 대한 대금 결제 처리를 진행한다.
이하에서는, 판매 동의 질의부(129), 제3 전자 서명 요청부(130), 제3 검증 수행부(131), 제4 전자 서명 요청부(132), 제4 검증 수행부(133), 결제 수단 요청부(134) 및 대금 결제부(135)의 동작을 예를 들어, 상세히 설명하기로 한다.
먼저, 전술한 예에 따라, 데이터 전송부(128)에 의해 '전자 계약서 데이터 1'이 제2 회원 단말(32)로 전송되었다고 하고, 그 이후, 전자 계약 서비스 서버(110)에 제2 회원 단말(32)로부터, 'NFT 1'에 대한 구매 요청이 수신되었다고 가정하자.
그러면, 판매 동의 질의부(129)는 제1 작가 단말(51)로, 'NFT 1'을 판매하는 것에 동의할 것인지 여부를 질의하는 판매 동의 질의 메시지를 전송할 수 있다.
이에 대응하여, 전자 계약 서비스 서버(110)에 제1 작가 단말(51)로부터, 'NFT 1'을 판매하는 것에 동의함을 지시하는 판매 동의 메시지가 수신되었다고 하는 경우, 제3 전자 서명 요청부(130)는 제1 작가 단말(51)로, '전자 서명 값 2'를 전송하면서, '전자 서명 값 2'에 기초한 전자 서명을 요청할 수 있다.
이때, 제1 작가 단말(51)에는 전술한 예와 같이, '작가 공개키 1'과 키쌍을 이루는 '작가 개인키 1'이 저장되어 있고, 전자 계약 서비스 서버(110)로부터 '전자 서명 값 2'에 기초한 전자 서명의 요청이 수신되면, 제1 작가 단말(51)은 '전자 서명 값 2'를 '작가 개인키 1'로 암호화함으로써, '전자 서명 값 3'을 생성한 후, '전자 서명 값 3'을 전자 계약 서비스 서버(110)로 전송할 수 있다.
이에 따라, 전자 계약 서비스 서버(110)에 '전자 서명 값 3'이 수신되면, 제3 검증 수행부(131)는 '전자 서명 값 3'을, 상기 표 2와 같은 작가 공개키 저장부(112)에 저장되어 있는 '작가 공개키 1'로 검증할 수 있다.
이때, '전자 서명 값 3'은 '전자 서명 값 2'가 '작가 개인키 1'로 암호화됨으로써 생성된 전자 서명 값이고, '작가 개인키 1'은 '작가 공개키 1'과 키쌍을 이루는 작가 개인키이므로, 제3 검증 수행부(131)는 '전자 서명 값 3'을, '작가 공개키 1'로 복호화한 후 이 복호화된 값과 '전자 서명 값 2'가 서로 일치하는지 비교함으로써, '전자 서명 값 3'에 대한 검증을 수행할 수 있다.
이렇게, 제3 검증 수행부(131)에 의해 '전자 서명 값 3'에 대한 검증이 완료되면, 제4 전자 서명 요청부(132)는 제2 회원 단말(32)로, '전자 계약서 데이터 1'을 기초로 한 전자 서명을 요청할 수 있다.
이때, 제2 회원 단말(32)에는 '회원 2(22)'에 대한 제2 회원 공개키인 '회원 공개키 2'와 키쌍을 이루는 제2 회원 개인키인 '회원 개인키 2'가 저장되어 있고, 전자 계약 서비스 서버(110)로부터 '전자 계약서 데이터 1'을 기초로 한 전자 서명의 요청이 수신되면, 제2 회원 단말(32)은 '전자 계약서 데이터 1'을 '회원 개인키 2'로 암호화함으로써, '전자 서명 값 4'를 생성한 후, '전자 서명 값 4'를 전자 계약 서비스 서버(110)로 전송할 수 있다.
이에 따라, 전자 계약 서비스 서버(110)에 '전자 서명 값 4'가 수신되면, 제4 검증 수행부(133)는 '전자 서명 값 4'를, 상기 표 1과 같은 회원 공개키 저장부(111)에 저장되어 있는 '회원 2(22)'에 대한 '회원 공개키 2'로 검증할 수 있다.
이때, '전자 서명 값 4'는 '전자 계약서 데이터 1'이 '회원 개인키 2'로 암호화됨으로써 생성된 전자 서명 값이고, '회원 개인키 2'는 '회원 공개키 2'와 키쌍을 이루는 회원 개인키이므로, 제4 검증 수행부(133)는 '전자 서명 값 4'를, '회원 공개키 2'로 복호화한 후 이 복호화된 값과 '전자 계약서 데이터 1'이 서로 일치하는지 비교함으로써, '전자 서명 값 4'에 대한 검증을 수행할 수 있다.
이렇게, 제4 검증 수행부(133)에 의해 '전자 서명 값 4'에 대한 검증이 완료되면, 결제 수단 요청부(134)는 제2 회원 단말(32)로, 대금 결제를 위한 결제 수단 정보를 전송할 것을 요청할 수 있다.
이에 대응하여, 전자 결제 서비스 서버(110)에 제2 회원 단말(32)로부터 제1 결제 수단 정보가 수신되었다고 하는 경우, 대금 결제부(135)는 '회원 2(22)'에 대한 본인 인증을 수행한 후, 상기 제1 결제 수단 정보를 기초로, 상기 제1 판매 금액 정보에 따른 금액에 대한 대금 결제 처리를 진행할 수 있다.
이때, 본 발명의 일실시예에 따르면, 대금 결제부(135)는 테이블 유지부(139), 휴대폰 번호 저장부(140), 인증 이벤트 발생부(141), 문자 메시지 전송부(142), 검증 행렬 요청부(143), 연산 행렬 복원부(144) 및 결제 처리부(145)를 포함할 수 있다.
테이블 유지부(139)는 9 이하의 크기를 갖는 사전 설정된 n개의 서로 다른 자연수들과 상기 n개의 자연수들 각각에 대응되는 n차원의 임베딩(embedding) 벡터가 기록된 임베딩 테이블을 저장하여 유지한다.
여기서, 상기 임베딩 테이블은, 상기 복수의 회원들 각각의 회원 단말에도 사전 저장되어 있다.
예컨대, n을 '4'라고 하는 경우, 테이블 유지부(139)는 하기의 표 3과 같은 임베딩 테이블을 저장하여 유지할 수 있다.
'4'개의 자연수들 '4'차원의 임베딩 벡터
2 [a1 b1 c1 d1]
4 [a2 b2 c2 d2]
5 [a3 b3 c3 d3]
7 [a4 b4 c4 d4]
휴대폰 번호 저장부(140)에는 상기 복수의 회원들 각각에 대한 본인 명의의 휴대폰 번호가 저장되어 있다.
예컨대, 휴대폰 번호 저장부(140)에는 하기의 표 4와 같이, 상기 복수의 회원들 각각에 대한 본인 명의의 휴대폰 번호가 저장되어 있을 수 있다.
복수의 회원들 본인 명의의 휴대폰 번호
회원 1 010-1234-5678
회원 2 010-0123-4567
회원 3 010-0111-1234
... ...
인증 이벤트 발생부(141)는 제2 회원 단말(32)로부터 상기 제1 결제 수단 정보가 수신되면, 제2 회원(22)에 대한 본인 인증을 수행하기 위한 인증 이벤트를 발생시킨다.
문자 메시지 전송부(142)는 인증 이벤트 발생부(141)에 의해 상기 인증 이벤트가 발생되면, 상기 n개의 자연수들을 랜덤하게 배열한 n자릿수의 일련번호를 생성한 후, 휴대폰 번호 저장부(140)에 저장되어 있는 제2 회원(22)에 대한 본인 명의의 제1 휴대폰 번호를 수신 측으로 하여, 상기 일련번호를 제2 회원 단말(32)에 입력할 것을 지시하는 내용이 포함된 문자 메시지를 전송한다.
검증 행렬 요청부(143)는 문자 메시지 전송부(142)에 의해 상기 문자 메시지가 전송되면, 역행렬이 존재하는 n x n 크기의 랜덤 행렬을 랜덤하게 생성한 후, 제2 회원 단말(32)로, 상기 랜덤 행렬을 전송하면서, 상기 일련번호와 상기 랜덤 행렬을 기초로 검증 행렬을 생성하여 회신할 것을 요청한다.
연산 행렬 복원부(144)는 제2 회원 단말(32)로부터, 상기 검증 행렬의 회신 요청에 대응하여 n x n 크기의 제1 검증 행렬(상기 제1 검증 행렬은, 제2 회원 단말(32)에 상기 랜덤 행렬과 상기 검증 행렬의 회신 요청이 수신된 이후, 제2 회원(22)에 의해 상기 문자 메시지에 포함된 상기 일련번호가 제2 회원 단말(32)에 입력되면, 제2 회원 단말(32)이 제2 회원 단말(32)에 저장되어 있는 상기 임베딩 테이블을 참조하여, 상기 일련번호를 구성하는 각 자리의 숫자에 대응되는 n차원의 임베딩 벡터를 확인한 후, 상기 일련번호를 구성하는 각 자리의 숫자에 대응되는 n차원의 임베딩 벡터를 순차적으로 행벡터로 배치한 n x n 크기의 연산 행렬을 생성하여, 상기 연산 행렬과 상기 랜덤 행렬 간의 행렬 곱을 연산함으로써, 생성한 행렬임)이 회신되면, 상기 제1 검증 행렬에 상기 랜덤 행렬에 대한 역행렬을 곱함으로써, 상기 연산 행렬을 복원한다.
결제 처리부(145)는 연산 행렬 복원부(144)에 의해 상기 연산 행렬이 복원되면, 상기 임베딩 테이블로부터, 상기 연산 행렬을 구성하는 n개의 행벡터들 각각과 동일한 임베딩 벡터에 대응되어 기록되어 있는 자연수를 순차적으로 추출하여 n자릿수의 일련번호로 구성함으로써, 검증용 일련번호를 생성한 후, 상기 검증용 일련번호가 상기 일련번호와 일치하는 것으로 확인되면, 제2 회원(22)에 대한 본인 인증을 완료 처리한 후, 상기 제1 결제 수단 정보를 기초로, 상기 제1 판매 금액 정보에 따른 금액에 대한 대금 결제 처리를 진행한다.
이하에서는, 인증 이벤트 발생부(141), 문자 메시지 전송부(142), 검증 행렬 요청부(143), 연산 행렬 복원부(144) 및 결제 처리부(145)의 동작을 예를 들어, 상세히 설명하기로 한다.
먼저, 전술한 예와 같이, n을 '4'라고 하고, 결제 수단 요청부(134)가 제2 회원 단말(32)로, 대금 결제를 위한 결제 수단 정보를 전송할 것을 요청함에 따라, 전자 계약 서비스 서버(110)에 제2 회원 단말(32)로부터, 상기 제1 결제 수단 정보인 '신용카드 정보'가 수신되었다고 가정하자.
이때, 인증 이벤트 발생부(141)는 '회원 2(22)'에 대한 본인 인증을 수행하기 위한 인증 이벤트를 발생시킬 수 있다.
그러면, 문자 메시지 전송부(142)는 상기 '4'개의 자연수들을 랜덤하게 배열한 '4'자릿수의 일련번호를 '5427'과 같이 생성할 수 있다.
그러고 나서, 문자 메시지 전송부(142)는 상기 표 4와 같은 휴대폰 번호 저장부(140)에 저장되어 있는 '회원 2(22)'에 대한 본인 명의의 제1 휴대폰 번호인 '010-0123-4567'을 수신 측으로 하여, 상기 일련번호인 '5427'을 제2 회원 단말(32)에 입력할 것을 지시하는 내용이 포함된 문자 메시지를 전송할 수 있다.
그러면, 검증 행렬 요청부(143)는 역행렬이 존재하는 '4 x 4' 크기의 랜덤 행렬을 랜덤하게 생성할 수 있다.
이때, 상기 랜덤 행렬을 '행렬 R'이라고 하는 경우, 검증 행렬 요청부(143)는 제2 회원 단말(32)로, 상기 랜덤 행렬인 '행렬 R'을 전송하면서, 상기 일련번호인 '5427'과 상기 랜덤 행렬인 '행렬 R'을 기초로 검증 행렬을 생성하여 회신할 것을 요청할 수 있다.
이때, 제2 회원 단말(32)은 상기 표 3과 같은 임베딩 테이블을 저장하여 유지하고 있을 수 있고, 제2 회원 단말(32)에 전자 계약 서비스 서버(110)로부터, 상기 랜덤 행렬인 '행렬 R'과 상기 검증 행렬의 회신 요청이 수신된 이후, 상기 문자 메시지를 확인한 '회원 2(22)'가 제2 회원 단말(32) 상에, 상기 일련번호인 '5427'을 입력하였다고 가정하자.
그러면, 제2 회원 단말(32)은 제2 회원 단말(32)에 저장되어 있는 상기 표 3과 같은 임베딩 테이블을 참조하여, 상기 일련번호인 '5427'을 구성하는 각 자리의 숫자에 대응되는 '4'차원의 임베딩 벡터를 '[a3 b3 c3 d3], [a2 b2 c2 d2], [a1 b1 c1 d1], [a4 b4 c4 d4]'과 같이 확인할 수 있다.
그러고 나서, 제2 회원 단말(32)은 '[a3 b3 c3 d3], [a2 b2 c2 d2], [a1 b1 c1 d1], [a4 b4 c4 d4]'을 순차적으로 행벡터로 배치한 '4 x 4' 크기의 연산 행렬인 '행렬 A'를 ''와 같이 생성할 수 있다.
그 이후, 제2 회원 단말(32)은 하기의 수학식 1에 따라, 상기 연산 행렬인 '행렬 A'와 상기 랜덤 행렬인 '행렬 R' 간의 행렬 곱을 연산함으로써, 상기 제1 검증 행렬인 '행렬 P'를 생성할 수 있다.
그러고 나서, 제2 회원 단말(32)은 상기 제1 검증 행렬인 '행렬 P'를 전자 계약 서비스 서버(110)로 전송할 수 있다.
이에 따라, 전자 계약 서비스 서버(110)에 상기 제1 검증 행렬인 '행렬 P'가 회신되면, 연산 행렬 복원부(144)는 하기의 수학식 2에 따라, 상기 제1 검증 행렬인 '행렬 P'에 상기 랜덤 행렬인 '행렬 R'에 대한 역행렬을 곱함으로써, 상기 연산 행렬인 '행렬 A'를 ''와 같이 복원할 수 있다.
그러면, 결제 처리부(145)는 상기 표 3과 같은 임베딩 테이블로부터, 상기 연산 행렬을 구성하는 '4'개의 행벡터들 각각과 동일한 임베딩 벡터에 대응되어 기록되어 있는 자연수를 순차적으로 추출하여 '4'자릿수의 일련번호로 구성함으로써, 검증용 일련번호를 '5427'과 같이 생성할 수 있다.
이때, 상기 검증용 일련번호인 '5427'은 상기 일련번호인 '5427'과 일치하므로, 결제 처리부(145)는 상기 검증용 일련번호인 '5427'이 상기 일련번호인 '5427'과와 일치하는 것으로 확인한 후, '회원 2(22)'에 대한 본인 인증을 완료 처리할 수 있다.
그러고 나서, 결제 처리부(145)는 상기 제1 결제 수단 정보인 '신용카드 정보'를 기초로, 상기 제1 판매 금액 정보에 따른 금액인 '300,000원'에 대한 대금 결제 처리를 진행할 수 있다.
이렇게, 대금 결제부(135)에 의해 상기 제1 판매 금액 정보에 따른 금액에 대한 대금 결제 처리가 완료되면, 제2 관리용 전자 서명부(136)는 현재 시점에 대한 제2 날짜 정보를 생성한 후, 상기 제1 전자 계약서 데이터와 상기 제2 날짜 정보를 상기 해시 함수에 입력으로 인가하여 제2 해시 값을 생성하고, 상기 제2 해시 값을 상기 관리용 개인키로 암호화함으로써, 제2 관리용 전자 서명 값을 생성한다.
대체 요청부(137)는 제2 관리용 전자 서명부(136)에 의해 상기 제2 관리용 전자 서명 값이 생성되면, 상기 제1 전자 계약서 데이터, 상기 제3 전자 서명 값, 상기 제4 전자 서명 값, 상기 제2 관리용 전자 서명 값 및 상기 제2 날짜 정보로 구성된 제2 데이터셋을 생성한 후, 클라우드 스토리지 서버(60)에 접속하여, 클라우드 스토리지 서버(60)로, 상기 제2 데이터셋을 전송하면서, 상기 제1 저장 경로 상에 저장되어 있는 상기 제1 데이터셋을 상기 제2 데이터셋으로 대체할 것을 요청한다.
거래 등록 요청부(138)는 상기 제1 저장 경로 상에 저장되어 있는 상기 제1 데이터셋이 상기 제2 데이터셋으로 대체되면, 상기 제1 NFT의 소유권이, 제1 회원(21)에서 제2 회원(22)으로 이전되었음을 지시하는 소유권 이전 정보가 포함된 트랜잭션을 생성한 후, 상기 트랜잭션을 블록체인 네트워크(10)에 등록 처리함으로써, 블록체인 네트워크(10)에 등록되어 있는 상기 제1 NFT에 포함된 소유자 정보가 제2 회원(22)으로 변경되도록 처리한다.
이하에서는, 제2 관리용 전자 서명부(136), 대체 요청부(137) 및 거래 등록 요청부(138)의 동작을 예를 들어, 상세히 설명하기로 한다.
먼저, 전술한 예에 따라, 대금 결제부(135)에 의해 상기 제1 판매 금액 정보에 따른 금액인 '300,000원'에 대한 대금 결제 처리가 완료되었다고 가정하자.
그러면, 제2 관리용 전자 서명부(136)는 현재 시점에 대한 제2 날짜 정보를 생성할 수 있다.
이때, 상기 제2 날짜 정보가 '2022년 3월 3일'이라고 하는 경우, 제2 관리용 전자 서명부(136)는 '전자 계약서 데이터 1'과 상기 제2 날짜 정보인 '2022년 3월 3일'을 상기 해시 함수에 입력으로 인가하여 '해시 값 2'를 생성하고, '해시 값 2'를 상기 관리용 개인키로 암호화함으로써, '관리용 전자 서명 값 2'를 생성할 수 있다.
그러면, 대체 요청부(137)는 '전자 계약서 데이터 1', '전자 서명 값 3', '전자 서명 값 4', '관리용 전자 서명 값 2' 및 상기 제2 날짜 정보인 '2022년 3월 3일'로 구성된 '데이터셋 2'를 생성한 후, 클라우드 스토리지 서버(60)에 접속하여, 클라우드 스토리지 서버(60)로, '데이터셋 2'를 전송하면서, '저장 경로 1' 상에 저장되어 있는 '데이터셋 1'을 '데이터셋 2'로 대체할 것을 요청할 수 있다.
이에 따라, '저장 경로 1' 상에 저장되어 있는 '데이터셋 1'이 '데이터셋 2'로 대체되면, 거래 등록 요청부(138)는 'NFT 1'의 소유권이, '회원 1(21)'에서 '회원 2(22)'로 이전되었음을 지시하는 소유권 이전 정보가 포함된 트랜잭션을 생성한 후, 상기 트랜잭션을 블록체인 네트워크(10)에 등록 처리함으로써, 블록체인 네트워크(10)에 등록되어 있는 'NFT 1'에 포함된 소유자 정보가 '회원 2(22)'로 변경되도록 처리할 수 있다.
이와 관련해서, 본 발명의 일실시예에 따르면, 거래 등록 요청부(138)는 상기 트랜잭션을 블록체인 네트워크(10)에 등록 처리하기 위해, 상기 소유권 이전 정보가 포함된 트랜잭션을 생성한 후, 상기 트랜잭션을 블록체인 네트워크(10)에 전파할 수 있다. 그러면, 블록체인 네트워크(10)를 구성하고 있는 복수의 노드들(11, 12, 13, 14, 15, 16) 중 어느 하나의 노드가 상기 트랜잭션이 포함된 블록을 생성하여, 복수의 노드들(11, 12, 13, 14, 15, 16)로 전파할 수 있다. 이에 따라, 복수의 노드들(11, 12, 13, 14, 15, 16)에 상기 블록이 수신되면, 복수의 노드들(11, 12, 13, 14, 15, 16)은 각 노드에 저장되어 있는 블록체인 데이터 상에 포함되어 있는 'NFT 1'에 포함된 소유자 정보를 '회원 2(22)'로 변경할 수 있다.
도 2는 본 발명의 일실시예에 따른 작가와 체결한 계약 사항을 NFT화 할 수 있는 전자 계약 서비스를 운영하기 위한 전자 계약 서비스 서버의 동작 방법을 도시한 순서도이다.
단계(S210)에서는 상기 전자 계약 서비스에 가입된 복수의 회원들 각각에 대한 사전 발급된 회원 공개키(상기 복수의 회원들 각각에 대한 회원 공개키와 키쌍을 이루는 회원 개인키는, 각 회원의 회원 단말에 사전 발급되어 저장되어 있음)가 저장되어 있는 회원 공개키 저장부를 유지한다.
단계(S220)에서는 상기 전자 계약 서비스에 가입된 복수의 작가들 각각에 대한 사전 발급된 작가 공개키(상기 복수의 작가들 각각에 대한 작가 공개키와 키쌍을 이루는 작가 개인키는, 각 작가의 작가 단말에 사전 발급되어 저장되어 있음)가 저장되어 있는 작가 공개키 저장부를 유지한다.
단계(S230)에서는 상기 복수의 회원들 중 어느 한 명인 제1 회원의 제1 회원 단말로부터, 상기 복수의 작가들 중 어느 한 명인 제1 작가와 체결한, 작품의 수익 배분에 대한 계약 사항이 포함된 제1 전자 계약서 데이터가 수신되면서, 상기 제1 전자 계약서 데이터에 대한 NFT의 발행 요청이 수신되면, 상기 제1 회원 단말로, 상기 제1 전자 계약서 데이터를 기초로 한 전자 서명을 요청한다.
단계(S240)에서는 상기 제1 회원 단말에서, 상기 제1 전자 계약서 데이터가 상기 제1 회원에 대한 제1 회원 개인키로 암호화되어, 제1 전자 서명 값이 생성됨에 따라, 상기 제1 회원 단말로부터 상기 제1 전자 서명 값이 수신되면, 상기 제1 전자 서명 값을, 상기 회원 공개키 저장부에 저장되어 있는 상기 제1 회원에 대한 제1 회원 공개키로 검증한다.
단계(S250)에서는 상기 제1 전자 서명 값에 대한 검증이 완료되면, 상기 제1 작가의 제1 작가 단말로, 상기 제1 전자 계약서 데이터를 전송하면서, 상기 제1 전자 계약서 데이터에 대한 NFT를 발행하는 것에 동의할 것인지 여부를 질의하는 발행 동의 질의 메시지를 전송한다.
단계(S260)에서는 상기 제1 작가 단말로부터, 상기 제1 전자 계약서 데이터에 대한 NFT를 발행하는 것에 동의함을 지시하는 발행 동의 메시지가 수신되면, 상기 제1 작가 단말로, 상기 제1 전자 계약서 데이터를 기초로 한 전자 서명을 요청한다.
단계(S270)에서는 상기 제1 작가 단말에서, 상기 제1 전자 계약서 데이터가 상기 제1 작가에 대한 제1 작가 개인키로 암호화되어, 제2 전자 서명 값이 생성됨에 따라, 상기 제1 작가 단말로부터 상기 제2 전자 서명 값이 수신되면, 상기 제2 전자 서명 값을, 상기 작가 공개키 저장부에 저장되어 있는, 상기 제1 작가에 대한 제1 작가 공개키로 검증한다.
단계(S280)에서는 상기 제2 전자 서명 값에 대한 검증이 완료되면, 현재 시점에 대한 제1 날짜 정보를 생성한 후, 상기 제1 전자 계약서 데이터와 상기 제1 날짜 정보를 사전 설정된 해시 함수에 입력으로 인가하여 제1 해시 값을 생성하고, 상기 제1 해시 값을 사전 설정된 관리용 개인키로 암호화함으로써, 제1 관리용 전자 서명 값을 생성한다.
단계(S290)에서는 상기 제1 관리용 전자 서명 값이 생성되면, 상기 제1 전자 계약서 데이터, 상기 제1 전자 서명 값, 상기 제2 전자 서명 값, 상기 제1 관리용 전자 서명 값 및 상기 제1 날짜 정보로 구성된 제1 데이터셋을 생성한 후, 데이터 저장을 위한 사전 설정된 클라우드 스토리지 서버에 접속하여, 상기 클라우드 스토리지 서버로, 상기 제1 데이터셋을 전송하면서, 상기 제1 데이터셋을 저장할 것을 요청한다.
단계(S300)에서는 상기 클라우드 스토리지 서버에서 상기 제1 데이터셋이 저장됨에 따라, 상기 클라우드 스토리지 서버로부터, 상기 제1 데이터셋이 저장된 제1 저장 경로에 대한 정보가 수신되면, 상기 제1 회원이 소유자임을 지시하는 소유자 정보와 상기 제1 저장 경로에 대한 정보가 포함된 제1 NFT를 생성한다.
단계(S310)에서는 상기 제1 NFT가 생성되면, NFT의 등록을 위한 사전 설정된 블록체인 네트워크에 상기 제1 NFT를 등록 처리함으로써, 상기 제1 NFT에 대한 발행을 완료한 후, 상기 제1 NFT가 발행 완료되었음을 지시하는 발행 완료 메시지를 생성하여 상기 제1 회원 단말과 상기 제1 작가 단말로 전송한다.
이때, 본 발명의 일실시예에 따르면, 상기 전자 계약 서비스 서버의 동작 방법은 상기 발행 완료 메시지가 상기 제1 회원 단말과 상기 제1 작가 단말로 전송 완료되면, 사전 설정된 주기 간격으로, 상기 제1 데이터셋에 대한 무결성 검증을 위한 검증 이벤트를 발생시키는 단계, 상기 검증 이벤트가 발생되면, 상기 블록체인 네트워크에 등록되어 있는 상기 제1 NFT를 조회하여, 상기 제1 NFT에 포함되어 있는 상기 제1 저장 경로에 대한 정보를 확인하고, 상기 제1 저장 경로에 대한 정보를 기초로, 상기 클라우드 스토리지 서버에 접속하여, 상기 제1 데이터셋을 수신한 후, 상기 제1 데이터셋에 포함되어 있는 상기 제1 관리용 전자 서명 값을, 상기 관리용 개인키와 키쌍을 이루는 관리용 공개키로 검증하는 단계 및 상기 제1 관리용 전자 서명 값에 대한 검증이 완료되면, 상기 제1 데이터셋에 대한 무결성 검증이 완료되었음을 보고하는 보고 메시지를 생성하여 상기 제1 회원 단말과 상기 제1 작가 단말로 전송하는 단계를 더 포함할 수 있다.
또한, 본 발명의 일실시예에 따르면, 상기 전자 계약 서비스 서버의 동작 방법은 상기 발행 완료 메시지가 상기 제1 회원 단말과 상기 제1 작가 단말로 전송된 이후, 상기 제1 회원 단말로부터, 상기 제1 NFT에 대한 판매 정보를 판매 정보 데이터베이스에 등록할 것을 요청하는 판매 등록 요청이 수신되면, 상기 제1 회원 단말로, 상기 제1 NFT의 판매를 위한 판매 금액 정보를 전송할 것을 요청하는 단계, 상기 제1 회원 단말로부터 상기 제1 NFT의 판매 금액 정보로, 제1 판매 금액 정보가 수신되면, 상기 판매 정보 데이터베이스에 상기 제1 판매 금액 정보를 저장함으로써, 상기 제1 NFT에 대한 판매 등록을 처리하는 단계, 상기 제1 NFT에 대한 판매 등록이 처리된 이후, 상기 복수의 회원들 중 어느 한 명인 제2 회원의 제2 회원 단말로부터, 상기 제1 NFT의 구매를 위한 전자 계약서 조회 요청이 수신되면, 상기 블록체인 네트워크에 등록되어 있는 상기 제1 NFT를 조회하여, 상기 제1 NFT에 포함되어 있는 상기 제1 저장 경로에 대한 정보를 확인하고, 상기 제1 저장 경로에 대한 정보를 기초로, 상기 클라우드 스토리지 서버에 접속하여, 상기 제1 데이터셋을 수신한 후, 상기 제1 데이터셋에 포함되어 있는 상기 제1 관리용 전자 서명 값을, 상기 관리용 개인키와 키쌍을 이루는 관리용 공개키로 검증하는 단계 및 상기 제1 관리용 전자 서명 값에 대한 검증이 완료되면, 상기 제1 데이터셋에 포함되어 있는 상기 제1 전자 계약서 데이터를 상기 제2 회원 단말로 전송하는 단계를 더 포함할 수 있다.
이때, 본 발명의 일실시예에 따르면, 상기 전자 계약 서비스 서버의 동작 방법은 상기 제1 전자 계약서 데이터가 상기 제2 회원 단말로 전송된 이후, 상기 제2 회원 단말로부터, 상기 제1 NFT에 대한 구매 요청이 수신되면, 상기 제1 작가 단말로, 상기 제1 NFT를 판매하는 것에 동의할 것인지 여부를 질의하는 판매 동의 질의 메시지를 전송하는 단계, 상기 제1 작가 단말로부터, 상기 제1 NFT를 판매하는 것에 동의함을 지시하는 판매 동의 메시지가 수신되면, 상기 제1 작가 단말로, 상기 제2 전자 서명 값을 전송하면서, 상기 제2 전자 서명 값에 기초한 전자 서명을 요청하는 단계, 상기 제1 작가 단말에서, 상기 제2 전자 서명 값이 상기 제1 작가 개인키로 암호화되어, 제3 전자 서명 값이 생성됨에 따라, 상기 제1 작가 단말로부터 상기 제3 전자 서명 값이 수신되면, 상기 제3 전자 서명 값을, 상기 작가 공개키 저장부에 저장되어 있는 상기 제1 작가 공개키로 검증하는 단계, 상기 제3 전자 서명 값에 대한 검증이 완료되면, 상기 제2 회원 단말로, 상기 제1 전자 계약서 데이터를 기초로 한 전자 서명을 요청하는 단계, 상기 제2 회원 단말에서, 상기 제1 전자 계약서 데이터가 상기 제2 회원에 대한 제2 회원 개인키로 암호화되어, 제4 전자 서명 값이 생성됨에 따라, 상기 제2 회원 단말로부터 상기 제4 전자 서명 값이 수신되면, 상기 제4 전자 서명 값을, 상기 회원 공개키 저장부에 저장되어 있는 상기 제2 회원에 대한 제2 회원 공개키로 검증하는 단계, 상기 제4 전자 서명 값에 대한 검증이 완료되면, 상기 제2 회원 단말로, 대금 결제를 위한 결제 수단 정보를 전송할 것을 요청하는 단계, 상기 제2 회원 단말로부터 제1 결제 수단 정보가 수신되면, 상기 제2 회원에 대한 본인 인증을 수행한 후, 상기 제1 결제 수단 정보를 기초로, 상기 제1 판매 금액 정보에 따른 금액에 대한 대금 결제 처리를 진행하는 단계, 상기 제1 판매 금액 정보에 따른 금액에 대한 대금 결제 처리가 완료되면, 현재 시점에 대한 제2 날짜 정보를 생성한 후, 상기 제1 전자 계약서 데이터와 상기 제2 날짜 정보를 상기 해시 함수에 입력으로 인가하여 제2 해시 값을 생성하고, 상기 제2 해시 값을 상기 관리용 개인키로 암호화함으로써, 제2 관리용 전자 서명 값을 생성하는 단계, 상기 제2 관리용 전자 서명 값이 생성되면, 상기 제1 전자 계약서 데이터, 상기 제3 전자 서명 값, 상기 제4 전자 서명 값, 상기 제2 관리용 전자 서명 값 및 상기 제2 날짜 정보로 구성된 제2 데이터셋을 생성한 후, 상기 클라우드 스토리지 서버에 접속하여, 상기 클라우드 스토리지 서버로, 상기 제2 데이터셋을 전송하면서, 상기 제1 저장 경로 상에 저장되어 있는 상기 제1 데이터셋을 상기 제2 데이터셋으로 대체할 것을 요청하는 단계 및 상기 제1 저장 경로 상에 저장되어 있는 상기 제1 데이터셋이 상기 제2 데이터셋으로 대체되면, 상기 제1 NFT의 소유권이, 상기 제1 회원에서 상기 제2 회원으로 이전되었음을 지시하는 소유권 이전 정보가 포함된 트랜잭션을 생성한 후, 상기 트랜잭션을 상기 블록체인 네트워크에 등록 처리함으로써, 상기 블록체인 네트워크에 등록되어 있는 상기 제1 NFT에 포함된 소유자 정보가 상기 제2 회원으로 변경되도록 처리하는 단계를 더 포함할 수 있다.
이때, 본 발명의 일실시예에 따르면, 상기 대금 결제 처리를 진행하는 단계는9 이하의 크기를 갖는 사전 설정된 n개의 서로 다른 자연수들과 상기 n개의 자연수들 각각에 대응되는 n차원의 임베딩 벡터가 기록된 임베딩 테이블(상기 임베딩 테이블은, 상기 복수의 회원들 각각의 회원 단말에도 사전 저장되어 있음)을 저장하여 유지하는 단계, 상기 복수의 회원들 각각에 대한 본인 명의의 휴대폰 번호가 저장되어 있는 휴대폰 번호 저장부를 유지하는 단계, 상기 제2 회원 단말로부터 상기 제1 결제 수단 정보가 수신되면, 상기 제2 회원에 대한 본인 인증을 수행하기 위한 인증 이벤트를 발생시키는 단계, 상기 인증 이벤트가 발생되면, 상기 n개의 자연수들을 랜덤하게 배열한 n자릿수의 일련번호를 생성한 후, 상기 휴대폰 번호 저장부에 저장되어 있는 상기 제2 회원에 대한 본인 명의의 제1 휴대폰 번호를 수신 측으로 하여, 상기 일련번호를 상기 제2 회원 단말에 입력할 것을 지시하는 내용이 포함된 문자 메시지를 전송하는 단계, 상기 문자 메시지가 전송되면, 역행렬이 존재하는 n x n 크기의 랜덤 행렬을 랜덤하게 생성한 후, 상기 제2 회원 단말로, 상기 랜덤 행렬을 전송하면서, 상기 일련번호와 상기 랜덤 행렬을 기초로 검증 행렬을 생성하여 회신할 것을 요청하는 단계, 상기 제2 회원 단말로부터, 상기 검증 행렬의 회신 요청에 대응하여 n x n 크기의 제1 검증 행렬(상기 제1 검증 행렬은, 상기 제2 회원 단말에 상기 랜덤 행렬과 상기 검증 행렬의 회신 요청이 수신된 이후, 상기 제2 회원에 의해 상기 문자 메시지에 포함된 상기 일련번호가 상기 제2 회원 단말에 입력되면, 상기 제2 회원 단말이 상기 제2 회원 단말에 저장되어 있는 상기 임베딩 테이블을 참조하여, 상기 일련번호를 구성하는 각 자리의 숫자에 대응되는 n차원의 임베딩 벡터를 확인한 후, 상기 일련번호를 구성하는 각 자리의 숫자에 대응되는 n차원의 임베딩 벡터를 순차적으로 행벡터로 배치한 n x n 크기의 연산 행렬을 생성하여, 상기 연산 행렬과 상기 랜덤 행렬 간의 행렬 곱을 연산함으로써, 생성한 행렬임)이 회신되면, 상기 제1 검증 행렬에 상기 랜덤 행렬에 대한 역행렬을 곱함으로써, 상기 연산 행렬을 복원하는 단계 및 상기 연산 행렬이 복원되면, 상기 임베딩 테이블로부터, 상기 연산 행렬을 구성하는 n개의 행벡터들 각각과 동일한 임베딩 벡터에 대응되어 기록되어 있는 자연수를 순차적으로 추출하여 n자릿수의 일련번호로 구성함으로써, 검증용 일련번호를 생성한 후, 상기 검증용 일련번호가 상기 일련번호와 일치하는 것으로 확인되면, 상기 제2 회원에 대한 본인 인증을 완료 처리한 후, 상기 제1 결제 수단 정보를 기초로, 상기 제1 판매 금액 정보에 따른 금액에 대한 대금 결제 처리를 진행하는 단계를 포함할 수 있다.
이상, 도 2를 참조하여 본 발명의 일실시예에 따른 작가와 체결한 계약 사항을 NFT화 할 수 있는 전자 계약 서비스를 운영하기 위한 전자 계약 서비스 서버의 동작 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 전자 계약 서비스 서버의 동작 방법은 도 1을 이용하여 설명한 전자 계약 서비스 서버(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.
본 발명의 일실시예에 따른 전자 계약 서비스 서버의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.
또한, 본 발명의 일실시예에 따른 전자 계약 서비스 서버의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 컴퓨터 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
110: 작가와 체결한 계약 사항을 NFT(Non-Fungible Token)화 할 수 있는 전자 계약 서비스를 운영하기 위한 전자 계약 서비스 서버
111: 회원 공개키 저장부 112: 작가 공개키 저장부
113: 제1 전자 서명 요청부 114: 제1 검증 수행부
115: 발행 동의 질의부 116: 제2 전자 서명 요청부
117: 제2 검증 수행부 118: 제1 관리용 전자 서명부
119: 저장 요청부 120: NFT 생성부
121: 발행 완료 메시지 전송부 122: 검증 이벤트 발생부
123: 서명 검증 처리부 124: 보고 메시지 전송부
125: 판매 금액 요청부 126: 판매 등록 처리부
127: 관리용 검증 수행부 128: 데이터 전송부
129: 판매 동의 질의부 130: 제3 전자 서명 요청부
131: 제3 검증 수행부 132: 제4 전자 서명 요청부
133: 제4 검증 수행부 134: 결제 수단 요청부
135: 대금 결제부 136: 제2 관리용 전자 서명부
137: 대체 요청부 138: 거래 등록 요청부
139: 테이블 유지부 140: 휴대폰 번호 저장부
141: 인증 이벤트 발생부 142: 문자 메시지 전송부
143: 검증 행렬 요청부 144: 연산 행렬 복원부
145: 결제 처리부 146: 판매 정보 데이터베이스
10: 블록체인 네트워크
11, 12, 13, 14, 15, 16: 복수의 노드들
21: 제1 회원 22: 제2 회원
31: 제1 회원 단말 32: 제2 회원 단말
41: 제1 작가
51: 제1 작가 단말
60: 클라우드 스토리지 서버

Claims (12)

  1. 작가와 체결한 계약 사항을 NFT(Non-Fungible Token)화 할 수 있는 전자 계약 서비스를 운영하기 위한 전자 계약 서비스 서버에 있어서,
    상기 전자 계약 서비스에 가입된 복수의 회원들 각각에 대한 사전 발급된 회원 공개키 - 상기 복수의 회원들 각각에 대한 회원 공개키와 키쌍을 이루는 회원 개인키는, 각 회원의 회원 단말에 사전 발급되어 저장되어 있음 - 가 저장되어 있는 회원 공개키 저장부;
    상기 전자 계약 서비스에 가입된 복수의 작가들 각각에 대한 사전 발급된 작가 공개키 - 상기 복수의 작가들 각각에 대한 작가 공개키와 키쌍을 이루는 작가 개인키는, 각 작가의 작가 단말에 사전 발급되어 저장되어 있음 - 가 저장되어 있는 작가 공개키 저장부;
    상기 전자 계약 서비스 서버와 통신 네트워크로 연결된 제1 회원 단말 - 상기 제1 회원 단말은, 상기 복수의 회원들 중 어느 한 명인 제1 회원이 보유하고 있는 전자 단말임 - 로부터, 상기 복수의 작가들 중 어느 한 명인 제1 작가와 체결한, 작품의 수익 배분에 대한 계약 사항이 포함된 제1 전자 계약서 데이터가 수신되면서, 상기 제1 전자 계약서 데이터에 대한 NFT의 발행 요청이 수신되면, 상기 제1 회원 단말로, 상기 제1 전자 계약서 데이터를 기초로 한 전자 서명을 요청하는 제1 전자 서명 요청부;
    상기 제1 회원 단말에서, 상기 제1 전자 계약서 데이터가 상기 제1 회원에 대한 제1 회원 개인키로 암호화되어, 제1 전자 서명 값이 생성됨에 따라, 상기 제1 회원 단말로부터 상기 제1 전자 서명 값이 수신되면, 상기 제1 전자 서명 값을, 상기 회원 공개키 저장부에 저장되어 있는 상기 제1 회원에 대한 제1 회원 공개키로 검증하는 제1 검증 수행부;
    상기 제1 전자 서명 값에 대한 검증이 완료되면, 상기 전자 계약 서비스 서버와 통신 네트워크로 연결된 제1 작가 단말 - 상기 제1 작가 단말은, 상기 제1 작가가 보유하고 있는 전자 단말임 - 로, 상기 제1 전자 계약서 데이터를 전송하면서, 상기 제1 전자 계약서 데이터에 대한 NFT를 발행하는 것에 동의할 것인지 여부를 질의하는 발행 동의 질의 메시지를 전송하는 발행 동의 질의부;
    상기 제1 작가 단말로부터, 상기 제1 전자 계약서 데이터에 대한 NFT를 발행하는 것에 동의함을 지시하는 발행 동의 메시지가 수신되면, 상기 제1 작가 단말로, 상기 제1 전자 계약서 데이터를 기초로 한 전자 서명을 요청하는 제2 전자 서명 요청부;
    상기 제1 작가 단말에서, 상기 제1 전자 계약서 데이터가 상기 제1 작가에 대한 제1 작가 개인키로 암호화되어, 제2 전자 서명 값이 생성됨에 따라, 상기 제1 작가 단말로부터 상기 제2 전자 서명 값이 수신되면, 상기 제2 전자 서명 값을, 상기 작가 공개키 저장부에 저장되어 있는, 상기 제1 작가에 대한 제1 작가 공개키로 검증하는 제2 검증 수행부;
    상기 제2 전자 서명 값에 대한 검증이 완료되면, 현재 시점에 대한 제1 날짜 정보를 생성한 후, 상기 제1 전자 계약서 데이터와 상기 제1 날짜 정보를 사전 설정된 해시 함수에 입력으로 인가하여 제1 해시 값을 생성하고, 상기 제1 해시 값을 사전 설정된 관리용 개인키로 암호화함으로써, 제1 관리용 전자 서명 값을 생성하는 제1 관리용 전자 서명부;
    상기 제1 관리용 전자 서명 값이 생성되면, 상기 제1 전자 계약서 데이터, 상기 제1 전자 서명 값, 상기 제2 전자 서명 값, 상기 제1 관리용 전자 서명 값 및 상기 제1 날짜 정보로 구성된 제1 데이터셋을 생성한 후, 상기 전자 계약 서비스 서버와 통신 네트워크로 연결된, 데이터 저장을 위한 사전 설정된 클라우드 스토리지 서버에 접속하여, 상기 클라우드 스토리지 서버로, 상기 제1 데이터셋을 전송하면서, 상기 제1 데이터셋을 저장할 것을 요청하는 저장 요청부;
    상기 클라우드 스토리지 서버에서 상기 제1 데이터셋이 저장됨에 따라, 상기 클라우드 스토리지 서버로부터, 상기 제1 데이터셋이 저장된 제1 저장 경로에 대한 정보가 수신되면, 상기 제1 회원이 소유자임을 지시하는 소유자 정보와 상기 제1 저장 경로에 대한 정보가 포함된 제1 NFT를 생성하는 NFT 생성부; 및
    상기 제1 NFT가 생성되면, 블록체인 네트워크를 구성하고 있는 복수의 노드들 중, 상기 전자 계약 서비스 서버와 통신 네트워크로 연결된 어느 하나의 노드로 상기 제1 NFT가 포함된 트랜잭션을 전송함으로써, 상기 제1 NFT에 대한 발행 절차를 완료한 후, 상기 제1 NFT가 발행 완료되었음을 지시하는 발행 완료 메시지를 생성하여 상기 제1 회원 단말과 상기 제1 작가 단말로 전송하는 발행 완료 메시지 전송부
    를 포함하고,
    상기 복수의 노드들 중 상기 제1 NFT가 포함된 트랜잭션을 수신한 노드는, 당해 트랜잭션을 포함하는 신규 블록을 생성하여, 상기 블록체인 네트워크를 통해 상기 복수의 노드들로, 상기 신규 블록을 전파하고, 이때, 상기 복수의 노드들은, 상기 블록체인 네트워크를 통해 상기 신규 블록이 수신되면, 각 노드에 저장되어 있는 블록체인 데이터에 상기 신규 블록을 추가함으로써, 상기 제1 NFT를 공유하게 되는 것을 특징으로 하는 전자 계약 서비스 서버.
  2. 제1항에 있어서,
    상기 발행 완료 메시지가 상기 제1 회원 단말과 상기 제1 작가 단말로 전송 완료되면, 사전 설정된 주기 간격으로, 상기 제1 데이터셋에 대한 무결성 검증을 위한 검증 이벤트를 발생시키는 검증 이벤트 발생부;
    상기 검증 이벤트가 발생되면, 상기 블록체인 네트워크를 구성하는 상기 복수의 노드들 중, 상기 전자 계약 서비스 서버와 통신 네트워크로 연결된 어느 하나의 노드의 블록체인 데이터 상에 등록되어 있는 상기 제1 NFT를 조회하여, 상기 제1 NFT에 포함되어 있는 상기 제1 저장 경로에 대한 정보를 확인하고, 상기 제1 저장 경로에 대한 정보를 기초로, 상기 클라우드 스토리지 서버에 접속하여, 상기 제1 데이터셋을 수신한 후, 상기 제1 데이터셋에 포함되어 있는 상기 제1 관리용 전자 서명 값을, 상기 관리용 개인키와 키쌍을 이루는 관리용 공개키로 검증하는 서명 검증 처리부; 및
    상기 제1 관리용 전자 서명 값에 대한 검증이 완료되면, 상기 제1 데이터셋에 대한 무결성 검증이 완료되었음을 보고하는 보고 메시지를 생성하여 상기 제1 회원 단말과 상기 제1 작가 단말로 전송하는 보고 메시지 전송부
    를 더 포함하는 전자 계약 서비스 서버.
  3. 제1항에 있어서,
    상기 발행 완료 메시지가 상기 제1 회원 단말과 상기 제1 작가 단말로 전송된 이후, 상기 제1 회원 단말로부터, 상기 제1 NFT에 대한 판매 정보를 판매 정보 데이터베이스에 등록할 것을 요청하는 판매 등록 요청이 수신되면, 상기 제1 회원 단말로, 상기 제1 NFT의 판매를 위한 판매 금액 정보를 전송할 것을 요청하는 판매 금액 요청부;
    상기 제1 회원 단말로부터 상기 제1 NFT의 판매 금액 정보로, 제1 판매 금액 정보가 수신되면, 상기 판매 정보 데이터베이스에 상기 제1 판매 금액 정보를 저장함으로써, 상기 제1 NFT에 대한 판매 등록을 처리하는 판매 등록 처리부;
    상기 제1 NFT에 대한 판매 등록이 처리된 이후, 상기 전자 계약 서비스 서버와 통신 네트워크로 연결된 제2 회원 단말 - 상기 제2 회원 단말은, 상기 복수의 회원들 중 어느 한 명인 제2 회원이 보유하고 있는 전자 단말임 - 로부터, 상기 제1 NFT의 구매를 위한 전자 계약서 조회 요청이 수신되면, 상기 블록체인 네트워크를 구성하는 상기 복수의 노드들 중, 상기 전자 계약 서비스 서버와 통신 네트워크로 연결된 어느 하나의 노드의 블록체인 데이터 상에 등록되어 있는 상기 제1 NFT를 조회하여, 상기 제1 NFT에 포함되어 있는 상기 제1 저장 경로에 대한 정보를 확인하고, 상기 제1 저장 경로에 대한 정보를 기초로, 상기 클라우드 스토리지 서버에 접속하여, 상기 제1 데이터셋을 수신한 후, 상기 제1 데이터셋에 포함되어 있는 상기 제1 관리용 전자 서명 값을, 상기 관리용 개인키와 키쌍을 이루는 관리용 공개키로 검증하는 관리용 검증 수행부; 및
    상기 제1 관리용 전자 서명 값에 대한 검증이 완료되면, 상기 제1 데이터셋에 포함되어 있는 상기 제1 전자 계약서 데이터를 상기 제2 회원 단말로 전송하는 데이터 전송부
    를 더 포함하는 전자 계약 서비스 서버.
  4. 제3항에 있어서,
    상기 제1 전자 계약서 데이터가 상기 제2 회원 단말로 전송된 이후, 상기 제2 회원 단말로부터, 상기 제1 NFT에 대한 구매 요청이 수신되면, 상기 제1 작가 단말로, 상기 제1 NFT를 판매하는 것에 동의할 것인지 여부를 질의하는 판매 동의 질의 메시지를 전송하는 판매 동의 질의부;
    상기 제1 작가 단말로부터, 상기 제1 NFT를 판매하는 것에 동의함을 지시하는 판매 동의 메시지가 수신되면, 상기 제1 작가 단말로, 상기 제2 전자 서명 값을 전송하면서, 상기 제2 전자 서명 값에 기초한 전자 서명을 요청하는 제3 전자 서명 요청부;
    상기 제1 작가 단말에서, 상기 제2 전자 서명 값이 상기 제1 작가 개인키로 암호화되어, 제3 전자 서명 값이 생성됨에 따라, 상기 제1 작가 단말로부터 상기 제3 전자 서명 값이 수신되면, 상기 제3 전자 서명 값을, 상기 작가 공개키 저장부에 저장되어 있는 상기 제1 작가 공개키로 검증하는 제3 검증 수행부;
    상기 제3 전자 서명 값에 대한 검증이 완료되면, 상기 제2 회원 단말로, 상기 제1 전자 계약서 데이터를 기초로 한 전자 서명을 요청하는 제4 전자 서명 요청부;
    상기 제2 회원 단말에서, 상기 제1 전자 계약서 데이터가 상기 제2 회원에 대한 제2 회원 개인키로 암호화되어, 제4 전자 서명 값이 생성됨에 따라, 상기 제2 회원 단말로부터 상기 제4 전자 서명 값이 수신되면, 상기 제4 전자 서명 값을, 상기 회원 공개키 저장부에 저장되어 있는 상기 제2 회원에 대한 제2 회원 공개키로 검증하는 제4 검증 수행부;
    상기 제4 전자 서명 값에 대한 검증이 완료되면, 상기 제2 회원 단말로, 대금 결제를 위한 결제 수단 정보를 전송할 것을 요청하는 결제 수단 요청부;
    상기 제2 회원 단말로부터 제1 결제 수단 정보가 수신되면, 상기 제2 회원에 대한 본인 인증을 수행한 후, 상기 제1 결제 수단 정보를 기초로, 상기 제1 판매 금액 정보에 따른 금액에 대한 대금 결제 처리를 진행하는 대금 결제부;
    상기 제1 판매 금액 정보에 따른 금액에 대한 대금 결제 처리가 완료되면, 현재 시점에 대한 제2 날짜 정보를 생성한 후, 상기 제1 전자 계약서 데이터와 상기 제2 날짜 정보를 상기 해시 함수에 입력으로 인가하여 제2 해시 값을 생성하고, 상기 제2 해시 값을 상기 관리용 개인키로 암호화함으로써, 제2 관리용 전자 서명 값을 생성하는 제2 관리용 전자 서명부;
    상기 제2 관리용 전자 서명 값이 생성되면, 상기 제1 전자 계약서 데이터, 상기 제3 전자 서명 값, 상기 제4 전자 서명 값, 상기 제2 관리용 전자 서명 값 및 상기 제2 날짜 정보로 구성된 제2 데이터셋을 생성한 후, 상기 클라우드 스토리지 서버에 접속하여, 상기 클라우드 스토리지 서버로, 상기 제2 데이터셋을 전송하면서, 상기 제1 저장 경로 상에 저장되어 있는 상기 제1 데이터셋을 상기 제2 데이터셋으로 대체할 것을 요청하는 대체 요청부; 및
    상기 제1 저장 경로 상에 저장되어 있는 상기 제1 데이터셋이 상기 제2 데이터셋으로 대체되면, 상기 제1 NFT의 소유권이, 상기 제1 회원에서 상기 제2 회원으로 이전되었음을 지시하는 소유권 이전 정보가 포함된 트랜잭션을 생성한 후, 상기 블록체인 네트워크를 구성하고 있는 복수의 노드들 중, 상기 전자 계약 서비스 서버와 통신 네트워크로 연결된 어느 하나의 노드로 상기 소유권 이전 정보가 포함된 트랜잭션을 전송함으로써, 상기 제1 NFT에 포함된 소유자 정보가 상기 제2 회원으로 변경되도록 처리하는 거래 등록 처리부
    를 더 포함하고,
    상기 복수의 노드들 중 상기 소유권 이전 정보가 포함된 트랜잭션을 수신한 노드는, 당해 트랜잭션을 포함하는 블록을 생성하여, 상기 블록체인 네트워크를 통해 상기 복수의 노드들로, 상기 블록을 전파하고, 이때, 상기 복수의 노드들은, 상기 블록체인 네트워크를 통해 상기 블록이 수신되면, 상기 블록에 포함된 트랜잭션 상의 상기 소유권 이전 정보를 참조하여, 각 노드에 저장되어 있는 블록체인 데이터 상의 상기 제1 NFT에 포함된 소유자 정보를 상기 제2 회원으로 변경하는 것을 특징으로 하는 전자 계약 서비스 서버.
  5. 제4항에 있어서,
    상기 대금 결제부는
    9 이하의 크기를 갖는 사전 설정된 n개의 서로 다른 자연수들과 상기 n개의 자연수들 각각에 대응되는 n차원의 임베딩(embedding) 벡터가 기록된 임베딩 테이블 - 상기 임베딩 테이블은, 상기 복수의 회원들 각각의 회원 단말에도 사전 저장되어 있음 - 을 저장하여 유지하는 테이블 유지부;
    상기 복수의 회원들 각각에 대한 본인 명의의 휴대폰 번호가 저장되어 있는 휴대폰 번호 저장부;
    상기 제2 회원 단말로부터 상기 제1 결제 수단 정보가 수신되면, 상기 제2 회원에 대한 본인 인증을 수행하기 위한 인증 이벤트를 발생시키는 인증 이벤트 발생부;
    상기 인증 이벤트가 발생되면, 상기 n개의 자연수들을 랜덤하게 배열한 n자릿수의 일련번호를 생성한 후, 상기 휴대폰 번호 저장부에 저장되어 있는 상기 제2 회원에 대한 본인 명의의 제1 휴대폰 번호를 수신 측으로 하여, 상기 일련번호를 상기 제2 회원 단말에 입력할 것을 지시하는 내용이 포함된 문자 메시지를 전송하는 문자 메시지 전송부;
    상기 문자 메시지가 전송되면, 역행렬이 존재하는 n x n 크기의 랜덤 행렬을 랜덤하게 생성한 후, 상기 제2 회원 단말로, 상기 랜덤 행렬을 전송하면서, 상기 일련번호와 상기 랜덤 행렬을 기초로 검증 행렬을 생성하여 회신할 것을 요청하는 검증 행렬 요청부;
    상기 제2 회원 단말로부터, 상기 검증 행렬의 회신 요청에 대응하여 n x n 크기의 제1 검증 행렬 - 상기 제1 검증 행렬은, 상기 제2 회원 단말에 상기 랜덤 행렬과 상기 검증 행렬의 회신 요청이 수신된 이후, 상기 제2 회원에 의해 상기 문자 메시지에 포함된 상기 일련번호가 상기 제2 회원 단말에 입력되면, 상기 제2 회원 단말이 상기 제2 회원 단말에 저장되어 있는 상기 임베딩 테이블을 참조하여, 상기 일련번호를 구성하는 각 자리의 숫자에 대응되는 n차원의 임베딩 벡터를 확인한 후, 상기 일련번호를 구성하는 각 자리의 숫자에 대응되는 n차원의 임베딩 벡터를 순차적으로 행벡터로 배치한 n x n 크기의 연산 행렬을 생성하여, 상기 연산 행렬과 상기 랜덤 행렬 간의 행렬 곱을 연산함으로써, 생성한 행렬임 - 이 회신되면, 상기 제1 검증 행렬에 상기 랜덤 행렬에 대한 역행렬을 곱함으로써, 상기 연산 행렬을 복원하는 연산 행렬 복원부; 및
    상기 연산 행렬이 복원되면, 상기 임베딩 테이블로부터, 상기 연산 행렬을 구성하는 n개의 행벡터들 각각과 동일한 임베딩 벡터에 대응되어 기록되어 있는 자연수를 순차적으로 추출하여 n자릿수의 일련번호로 구성함으로써, 검증용 일련번호를 생성한 후, 상기 검증용 일련번호가 상기 일련번호와 일치하는 것으로 확인되면, 상기 제2 회원에 대한 본인 인증을 완료 처리한 후, 상기 제1 결제 수단 정보를 기초로, 상기 제1 판매 금액 정보에 따른 금액에 대한 대금 결제 처리를 진행하는 결제 처리부
    를 포함하는 전자 계약 서비스 서버.
  6. 작가와 체결한 계약 사항을 NFT(Non-Fungible Token)화 할 수 있는 전자 계약 서비스를 운영하기 위한 전자 계약 서비스 서버의 동작 방법에 있어서,
    상기 전자 계약 서비스에 가입된 복수의 회원들 각각에 대한 사전 발급된 회원 공개키 - 상기 복수의 회원들 각각에 대한 회원 공개키와 키쌍을 이루는 회원 개인키는, 각 회원의 회원 단말에 사전 발급되어 저장되어 있음 - 가 저장되어 있는 회원 공개키 저장부를 유지하는 단계;
    상기 전자 계약 서비스에 가입된 복수의 작가들 각각에 대한 사전 발급된 작가 공개키 - 상기 복수의 작가들 각각에 대한 작가 공개키와 키쌍을 이루는 작가 개인키는, 각 작가의 작가 단말에 사전 발급되어 저장되어 있음 - 가 저장되어 있는 작가 공개키 저장부를 유지하는 단계;
    상기 전자 계약 서비스 서버와 통신 네트워크로 연결된 제1 회원 단말 - 상기 제1 회원 단말은, 상기 복수의 회원들 중 어느 한 명인 제1 회원이 보유하고 있는 전자 단말임 - 로부터, 상기 복수의 작가들 중 어느 한 명인 제1 작가와 체결한, 작품의 수익 배분에 대한 계약 사항이 포함된 제1 전자 계약서 데이터가 수신되면서, 상기 제1 전자 계약서 데이터에 대한 NFT의 발행 요청이 수신되면, 상기 제1 회원 단말로, 상기 제1 전자 계약서 데이터를 기초로 한 전자 서명을 요청하는 단계;
    상기 제1 회원 단말에서, 상기 제1 전자 계약서 데이터가 상기 제1 회원에 대한 제1 회원 개인키로 암호화되어, 제1 전자 서명 값이 생성됨에 따라, 상기 제1 회원 단말로부터 상기 제1 전자 서명 값이 수신되면, 상기 제1 전자 서명 값을, 상기 회원 공개키 저장부에 저장되어 있는 상기 제1 회원에 대한 제1 회원 공개키로 검증하는 단계;
    상기 제1 전자 서명 값에 대한 검증이 완료되면, 상기 전자 계약 서비스 서버와 통신 네트워크로 연결된 제1 작가 단말 - 상기 제1 작가 단말은, 상기 제1 작가가 보유하고 있는 전자 단말임 - 로, 상기 제1 전자 계약서 데이터를 전송하면서, 상기 제1 전자 계약서 데이터에 대한 NFT를 발행하는 것에 동의할 것인지 여부를 질의하는 발행 동의 질의 메시지를 전송하는 단계;
    상기 제1 작가 단말로부터, 상기 제1 전자 계약서 데이터에 대한 NFT를 발행하는 것에 동의함을 지시하는 발행 동의 메시지가 수신되면, 상기 제1 작가 단말로, 상기 제1 전자 계약서 데이터를 기초로 한 전자 서명을 요청하는 단계;
    상기 제1 작가 단말에서, 상기 제1 전자 계약서 데이터가 상기 제1 작가에 대한 제1 작가 개인키로 암호화되어, 제2 전자 서명 값이 생성됨에 따라, 상기 제1 작가 단말로부터 상기 제2 전자 서명 값이 수신되면, 상기 제2 전자 서명 값을, 상기 작가 공개키 저장부에 저장되어 있는, 상기 제1 작가에 대한 제1 작가 공개키로 검증하는 단계;
    상기 제2 전자 서명 값에 대한 검증이 완료되면, 현재 시점에 대한 제1 날짜 정보를 생성한 후, 상기 제1 전자 계약서 데이터와 상기 제1 날짜 정보를 사전 설정된 해시 함수에 입력으로 인가하여 제1 해시 값을 생성하고, 상기 제1 해시 값을 사전 설정된 관리용 개인키로 암호화함으로써, 제1 관리용 전자 서명 값을 생성하는 단계;
    상기 제1 관리용 전자 서명 값이 생성되면, 상기 제1 전자 계약서 데이터, 상기 제1 전자 서명 값, 상기 제2 전자 서명 값, 상기 제1 관리용 전자 서명 값 및 상기 제1 날짜 정보로 구성된 제1 데이터셋을 생성한 후, 상기 전자 계약 서비스 서버와 통신 네트워크로 연결된, 데이터 저장을 위한 사전 설정된 클라우드 스토리지 서버에 접속하여, 상기 클라우드 스토리지 서버로, 상기 제1 데이터셋을 전송하면서, 상기 제1 데이터셋을 저장할 것을 요청하는 단계;
    상기 클라우드 스토리지 서버에서 상기 제1 데이터셋이 저장됨에 따라, 상기 클라우드 스토리지 서버로부터, 상기 제1 데이터셋이 저장된 제1 저장 경로에 대한 정보가 수신되면, 상기 제1 회원이 소유자임을 지시하는 소유자 정보와 상기 제1 저장 경로에 대한 정보가 포함된 제1 NFT를 생성하는 단계; 및
    상기 제1 NFT가 생성되면, 블록체인 네트워크를 구성하고 있는 복수의 노드들 중, 상기 전자 계약 서비스 서버와 통신 네트워크로 연결된 어느 하나의 노드로 상기 제1 NFT가 포함된 트랜잭션을 전송함으로써, 상기 제1 NFT에 대한 발행 절차를 완료한 후, 상기 제1 NFT가 발행 완료되었음을 지시하는 발행 완료 메시지를 생성하여 상기 제1 회원 단말과 상기 제1 작가 단말로 전송하는 단계
    를 포함하고,
    상기 복수의 노드들 중 상기 제1 NFT가 포함된 트랜잭션을 수신한 노드는, 당해 트랜잭션을 포함하는 신규 블록을 생성하여, 상기 블록체인 네트워크를 통해 상기 복수의 노드들로, 상기 신규 블록을 전파하고, 이때, 상기 복수의 노드들은, 상기 블록체인 네트워크를 통해 상기 신규 블록이 수신되면, 각 노드에 저장되어 있는 블록체인 데이터에 상기 신규 블록을 추가함으로써, 상기 제1 NFT를 공유하게 되는 것을 특징으로 하는 전자 계약 서비스 서버의 동작 방법.
  7. 제6항에 있어서,
    상기 발행 완료 메시지가 상기 제1 회원 단말과 상기 제1 작가 단말로 전송 완료되면, 사전 설정된 주기 간격으로, 상기 제1 데이터셋에 대한 무결성 검증을 위한 검증 이벤트를 발생시키는 단계;
    상기 검증 이벤트가 발생되면, 상기 블록체인 네트워크를 구성하는 상기 복수의 노드들 중, 상기 전자 계약 서비스 서버와 통신 네트워크로 연결된 어느 하나의 노드의 블록체인 데이터 상에 등록되어 있는 상기 제1 NFT를 조회하여, 상기 제1 NFT에 포함되어 있는 상기 제1 저장 경로에 대한 정보를 확인하고, 상기 제1 저장 경로에 대한 정보를 기초로, 상기 클라우드 스토리지 서버에 접속하여, 상기 제1 데이터셋을 수신한 후, 상기 제1 데이터셋에 포함되어 있는 상기 제1 관리용 전자 서명 값을, 상기 관리용 개인키와 키쌍을 이루는 관리용 공개키로 검증하는 단계; 및
    상기 제1 관리용 전자 서명 값에 대한 검증이 완료되면, 상기 제1 데이터셋에 대한 무결성 검증이 완료되었음을 보고하는 보고 메시지를 생성하여 상기 제1 회원 단말과 상기 제1 작가 단말로 전송하는 단계
    를 더 포함하는 전자 계약 서비스 서버의 동작 방법.
  8. 제6항에 있어서,
    상기 발행 완료 메시지가 상기 제1 회원 단말과 상기 제1 작가 단말로 전송된 이후, 상기 제1 회원 단말로부터, 상기 제1 NFT에 대한 판매 정보를 판매 정보 데이터베이스에 등록할 것을 요청하는 판매 등록 요청이 수신되면, 상기 제1 회원 단말로, 상기 제1 NFT의 판매를 위한 판매 금액 정보를 전송할 것을 요청하는 단계;
    상기 제1 회원 단말로부터 상기 제1 NFT의 판매 금액 정보로, 제1 판매 금액 정보가 수신되면, 상기 판매 정보 데이터베이스에 상기 제1 판매 금액 정보를 저장함으로써, 상기 제1 NFT에 대한 판매 등록을 처리하는 단계;
    상기 제1 NFT에 대한 판매 등록이 처리된 이후, 상기 전자 계약 서비스 서버와 통신 네트워크로 연결된 제2 회원 단말 - 상기 제2 회원 단말은, 상기 복수의 회원들 중 어느 한 명인 제2 회원이 보유하고 있는 전자 단말임 - 로부터, 상기 제1 NFT의 구매를 위한 전자 계약서 조회 요청이 수신되면, 상기 블록체인 네트워크를 구성하는 상기 복수의 노드들 중, 상기 전자 계약 서비스 서버와 통신 네트워크로 연결된 어느 하나의 노드의 블록체인 데이터 상에 등록되어 있는 상기 제1 NFT를 조회하여, 상기 제1 NFT에 포함되어 있는 상기 제1 저장 경로에 대한 정보를 확인하고, 상기 제1 저장 경로에 대한 정보를 기초로, 상기 클라우드 스토리지 서버에 접속하여, 상기 제1 데이터셋을 수신한 후, 상기 제1 데이터셋에 포함되어 있는 상기 제1 관리용 전자 서명 값을, 상기 관리용 개인키와 키쌍을 이루는 관리용 공개키로 검증하는 단계; 및
    상기 제1 관리용 전자 서명 값에 대한 검증이 완료되면, 상기 제1 데이터셋에 포함되어 있는 상기 제1 전자 계약서 데이터를 상기 제2 회원 단말로 전송하는 단계
    를 더 포함하는 전자 계약 서비스 서버의 동작 방법.
  9. 제8항에 있어서,
    상기 제1 전자 계약서 데이터가 상기 제2 회원 단말로 전송된 이후, 상기 제2 회원 단말로부터, 상기 제1 NFT에 대한 구매 요청이 수신되면, 상기 제1 작가 단말로, 상기 제1 NFT를 판매하는 것에 동의할 것인지 여부를 질의하는 판매 동의 질의 메시지를 전송하는 단계;
    상기 제1 작가 단말로부터, 상기 제1 NFT를 판매하는 것에 동의함을 지시하는 판매 동의 메시지가 수신되면, 상기 제1 작가 단말로, 상기 제2 전자 서명 값을 전송하면서, 상기 제2 전자 서명 값에 기초한 전자 서명을 요청하는 단계;
    상기 제1 작가 단말에서, 상기 제2 전자 서명 값이 상기 제1 작가 개인키로 암호화되어, 제3 전자 서명 값이 생성됨에 따라, 상기 제1 작가 단말로부터 상기 제3 전자 서명 값이 수신되면, 상기 제3 전자 서명 값을, 상기 작가 공개키 저장부에 저장되어 있는 상기 제1 작가 공개키로 검증하는 단계;
    상기 제3 전자 서명 값에 대한 검증이 완료되면, 상기 제2 회원 단말로, 상기 제1 전자 계약서 데이터를 기초로 한 전자 서명을 요청하는 단계;
    상기 제2 회원 단말에서, 상기 제1 전자 계약서 데이터가 상기 제2 회원에 대한 제2 회원 개인키로 암호화되어, 제4 전자 서명 값이 생성됨에 따라, 상기 제2 회원 단말로부터 상기 제4 전자 서명 값이 수신되면, 상기 제4 전자 서명 값을, 상기 회원 공개키 저장부에 저장되어 있는 상기 제2 회원에 대한 제2 회원 공개키로 검증하는 단계;
    상기 제4 전자 서명 값에 대한 검증이 완료되면, 상기 제2 회원 단말로, 대금 결제를 위한 결제 수단 정보를 전송할 것을 요청하는 단계;
    상기 제2 회원 단말로부터 제1 결제 수단 정보가 수신되면, 상기 제2 회원에 대한 본인 인증을 수행한 후, 상기 제1 결제 수단 정보를 기초로, 상기 제1 판매 금액 정보에 따른 금액에 대한 대금 결제 처리를 진행하는 단계;
    상기 제1 판매 금액 정보에 따른 금액에 대한 대금 결제 처리가 완료되면, 현재 시점에 대한 제2 날짜 정보를 생성한 후, 상기 제1 전자 계약서 데이터와 상기 제2 날짜 정보를 상기 해시 함수에 입력으로 인가하여 제2 해시 값을 생성하고, 상기 제2 해시 값을 상기 관리용 개인키로 암호화함으로써, 제2 관리용 전자 서명 값을 생성하는 단계;
    상기 제2 관리용 전자 서명 값이 생성되면, 상기 제1 전자 계약서 데이터, 상기 제3 전자 서명 값, 상기 제4 전자 서명 값, 상기 제2 관리용 전자 서명 값 및 상기 제2 날짜 정보로 구성된 제2 데이터셋을 생성한 후, 상기 클라우드 스토리지 서버에 접속하여, 상기 클라우드 스토리지 서버로, 상기 제2 데이터셋을 전송하면서, 상기 제1 저장 경로 상에 저장되어 있는 상기 제1 데이터셋을 상기 제2 데이터셋으로 대체할 것을 요청하는 단계; 및
    상기 제1 저장 경로 상에 저장되어 있는 상기 제1 데이터셋이 상기 제2 데이터셋으로 대체되면, 상기 제1 NFT의 소유권이, 상기 제1 회원에서 상기 제2 회원으로 이전되었음을 지시하는 소유권 이전 정보가 포함된 트랜잭션을 생성한 후, 상기 블록체인 네트워크를 구성하고 있는 복수의 노드들 중, 상기 전자 계약 서비스 서버와 통신 네트워크로 연결된 어느 하나의 노드로 상기 소유권 이전 정보가 포함된 트랜잭션을 전송함으로써, 상기 제1 NFT에 포함된 소유자 정보가 상기 제2 회원으로 변경되도록 처리하는 단계
    를 더 포함하고,
    상기 복수의 노드들 중 상기 소유권 이전 정보가 포함된 트랜잭션을 수신한 노드는, 당해 트랜잭션을 포함하는 블록을 생성하여, 상기 블록체인 네트워크를 통해 상기 복수의 노드들로, 상기 블록을 전파하고, 이때, 상기 복수의 노드들은, 상기 블록체인 네트워크를 통해 상기 블록이 수신되면, 상기 블록에 포함된 트랜잭션 상의 상기 소유권 이전 정보를 참조하여, 각 노드에 저장되어 있는 블록체인 데이터 상의 상기 제1 NFT에 포함된 소유자 정보를 상기 제2 회원으로 변경하는 것을 특징으로 하는 전자 계약 서비스 서버의 동작 방법.
  10. 제9항에 있어서,
    상기 대금 결제 처리를 진행하는 단계는
    9 이하의 크기를 갖는 사전 설정된 n개의 서로 다른 자연수들과 상기 n개의 자연수들 각각에 대응되는 n차원의 임베딩(embedding) 벡터가 기록된 임베딩 테이블 - 상기 임베딩 테이블은, 상기 복수의 회원들 각각의 회원 단말에도 사전 저장되어 있음 - 을 저장하여 유지하는 단계;
    상기 복수의 회원들 각각에 대한 본인 명의의 휴대폰 번호가 저장되어 있는 휴대폰 번호 저장부를 유지하는 단계;
    상기 제2 회원 단말로부터 상기 제1 결제 수단 정보가 수신되면, 상기 제2 회원에 대한 본인 인증을 수행하기 위한 인증 이벤트를 발생시키는 단계;
    상기 인증 이벤트가 발생되면, 상기 n개의 자연수들을 랜덤하게 배열한 n자릿수의 일련번호를 생성한 후, 상기 휴대폰 번호 저장부에 저장되어 있는 상기 제2 회원에 대한 본인 명의의 제1 휴대폰 번호를 수신 측으로 하여, 상기 일련번호를 상기 제2 회원 단말에 입력할 것을 지시하는 내용이 포함된 문자 메시지를 전송하는 단계;
    상기 문자 메시지가 전송되면, 역행렬이 존재하는 n x n 크기의 랜덤 행렬을 랜덤하게 생성한 후, 상기 제2 회원 단말로, 상기 랜덤 행렬을 전송하면서, 상기 일련번호와 상기 랜덤 행렬을 기초로 검증 행렬을 생성하여 회신할 것을 요청하는 단계;
    상기 제2 회원 단말로부터, 상기 검증 행렬의 회신 요청에 대응하여 n x n 크기의 제1 검증 행렬 - 상기 제1 검증 행렬은, 상기 제2 회원 단말에 상기 랜덤 행렬과 상기 검증 행렬의 회신 요청이 수신된 이후, 상기 제2 회원에 의해 상기 문자 메시지에 포함된 상기 일련번호가 상기 제2 회원 단말에 입력되면, 상기 제2 회원 단말이 상기 제2 회원 단말에 저장되어 있는 상기 임베딩 테이블을 참조하여, 상기 일련번호를 구성하는 각 자리의 숫자에 대응되는 n차원의 임베딩 벡터를 확인한 후, 상기 일련번호를 구성하는 각 자리의 숫자에 대응되는 n차원의 임베딩 벡터를 순차적으로 행벡터로 배치한 n x n 크기의 연산 행렬을 생성하여, 상기 연산 행렬과 상기 랜덤 행렬 간의 행렬 곱을 연산함으로써, 생성한 행렬임 - 이 회신되면, 상기 제1 검증 행렬에 상기 랜덤 행렬에 대한 역행렬을 곱함으로써, 상기 연산 행렬을 복원하는 단계; 및
    상기 연산 행렬이 복원되면, 상기 임베딩 테이블로부터, 상기 연산 행렬을 구성하는 n개의 행벡터들 각각과 동일한 임베딩 벡터에 대응되어 기록되어 있는 자연수를 순차적으로 추출하여 n자릿수의 일련번호로 구성함으로써, 검증용 일련번호를 생성한 후, 상기 검증용 일련번호가 상기 일련번호와 일치하는 것으로 확인되면, 상기 제2 회원에 대한 본인 인증을 완료 처리한 후, 상기 제1 결제 수단 정보를 기초로, 상기 제1 판매 금액 정보에 따른 금액에 대한 대금 결제 처리를 진행하는 단계
    를 포함하는 전자 계약 서비스 서버의 동작 방법.
  11. 제6항 내지 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
  12. 제6항 내지 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램.
KR1020220028682A 2021-10-28 2022-03-07 작가와 체결한 계약 사항을 nft화 할 수 있는 전자 계약 서비스를 운영하기 위한 전자 계약 서비스 서버 및 그 동작 방법 KR102662034B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210145181 2021-10-28
KR20210145181 2021-10-28

Publications (2)

Publication Number Publication Date
KR20230061223A KR20230061223A (ko) 2023-05-08
KR102662034B1 true KR102662034B1 (ko) 2024-04-30

Family

ID=86381471

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220028682A KR102662034B1 (ko) 2021-10-28 2022-03-07 작가와 체결한 계약 사항을 nft화 할 수 있는 전자 계약 서비스를 운영하기 위한 전자 계약 서비스 서버 및 그 동작 방법

Country Status (1)

Country Link
KR (1) KR102662034B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021072116A (ja) * 2019-10-30 2021-05-06 天宿智能科技股▲分▼有限公司 ブロックチェーンに基づく資産権利管理システムとその方法
KR102303431B1 (ko) * 2020-12-03 2021-09-23 주식회사 한컴위드 당사자 간의 전자 계약을 지원하는 블록체인 기반의 전자 계약 관리 시스템 장치 및 그 동작 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021072116A (ja) * 2019-10-30 2021-05-06 天宿智能科技股▲分▼有限公司 ブロックチェーンに基づく資産権利管理システムとその方法
KR102303431B1 (ko) * 2020-12-03 2021-09-23 주식회사 한컴위드 당사자 간의 전자 계약을 지원하는 블록체인 기반의 전자 계약 관리 시스템 장치 및 그 동작 방법

Also Published As

Publication number Publication date
KR20230061223A (ko) 2023-05-08

Similar Documents

Publication Publication Date Title
US11869012B2 (en) Systems, devices, and methods for DLT-based data management platforms and data products
US10992478B2 (en) Blockchain-based digital identity management method
US10664877B1 (en) Product promotion using smart contracts in blockchain networks
KR102302955B1 (ko) 자산의 토큰화를 통해 현물 자산 거래를 가능하게 하는 블록체인 및 클라우드 기반의 자산 거래 플랫폼 서버 및 그 동작 방법
Alizadeh et al. Efficient decentralized data storage based on public blockchain and IPFS
CN116894732A (zh) 数字资产管理方法、装置、系统及可读存储介质
JP6721724B2 (ja) 支払い主体の拡張を促進する方法およびデバイス
KR102302954B1 (ko) 블록체인을 기반으로 부동산의 거래를 가능하게 하는 부동산 투자 및 거래 관리 서버와 그 동작 방법
KR102662034B1 (ko) 작가와 체결한 계약 사항을 nft화 할 수 있는 전자 계약 서비스를 운영하기 위한 전자 계약 서비스 서버 및 그 동작 방법
KR102322983B1 (ko) 블록체인을 기반으로 현물 자산의 거래를 가능하게 하는 자산 거래 플랫폼 서버 및 그 동작 방법
TWI763392B (zh) 機構識別編號的註冊方法及系統
US20210326942A1 (en) Method of Securing Online Merchant Reviews Using Block Chains
KR102636695B1 (ko) 온라인 상에서의 부동산 거래를 위한 전자 계약을 처리하는 부동산 중개 관리 서버 및 그 동작 방법
KR102578855B1 (ko) Nft에 포함된 콘텐츠 저장 경로 정보의 수정을 가능하게 하는 nft 거래 서비스의 운영 서버 및 그 동작 방법
US20170270473A1 (en) Systems and methods for securely searching and exchanging database relationships between registered inventory
KR20230147847A (ko) 전자책 데이터에 대한 소유권 증명을 위한 nft 발행 서비스를 제공하는 서비스 제공 서버 및 그 동작 방법
KR20240049919A (ko) 자전거의 소유권을 증명하기 위한 nft 발행 서비스를 제공하는 자전거 관리 플랫폼 서버 및 그 동작 방법
KR20230140671A (ko) Nft 담보 기반의 ft 발행 서비스를 제공하는 ft 발행 서비스 서버 및 그 동작 방법
CN116346349B (zh) 基于区块链和nft的数字盲盒管理方法及系统
KR102320103B1 (ko) 작품에 기재되는 서명을 대체하여 진품을 인증하기 위한 방법
KR20230076246A (ko) 멀티미디어 콘텐츠에 대한 nft의 발급 및 거래 서비스를 제공하는 서비스 제공 서버 및 그 동작 방법
KR20240033455A (ko) 블록체인들 간의 nft 이전 발행 서비스를 제공하는 nft 이전 발행 서비스 서버 및 그 동작 방법
KR102302948B1 (ko) 골드바에 대한 정품 인증을 수행하는 골드바 정품 인증 서버 및 그 동작 방법
KR20230078119A (ko) Nft의 대상이 되는 원본 콘텐츠 데이터를 암호화하여 관리할 수 있는 nft 관리 시스템 장치 및 그 동작 방법
KR20230165398A (ko) 3d 에셋 플랫폼을 위한 nft의 메타 데이터 관리 시스템 및 방법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant