KR20240050180A - System and method for trading based on blockchain technologies - Google Patents

System and method for trading based on blockchain technologies Download PDF

Info

Publication number
KR20240050180A
KR20240050180A KR1020220130057A KR20220130057A KR20240050180A KR 20240050180 A KR20240050180 A KR 20240050180A KR 1020220130057 A KR1020220130057 A KR 1020220130057A KR 20220130057 A KR20220130057 A KR 20220130057A KR 20240050180 A KR20240050180 A KR 20240050180A
Authority
KR
South Korea
Prior art keywords
seller
electronic device
consumer
transaction
prescription
Prior art date
Application number
KR1020220130057A
Other languages
Korean (ko)
Inventor
임병완
류한석
Original Assignee
블록체인랩스 주식회사
Filing date
Publication date
Application filed by 블록체인랩스 주식회사 filed Critical 블록체인랩스 주식회사
Publication of KR20240050180A publication Critical patent/KR20240050180A/en

Links

Images

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H40/00ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
    • G16H40/20ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the management or administration of healthcare resources or facilities, e.g. managing hospital staff or surgery rooms
    • 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/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • 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
    • 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/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0609Buyer or seller confidence or verification
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H20/00ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance
    • G16H20/10ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance relating to drugs or medications, e.g. for ensuring correct administration to patients
    • 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

Abstract

상기 소비자가 관리대상 제품의 구매권한이 있는 것을 나타낸 처방인증VC를 상기 소비자의 전자장치로 발행하고, 상기 소비자의 전자장치에서 소비자의 관리대상 제품의 구매권한 여부에 대한 VP를 생성하고, 상기 판매자의 전자장치로 상기 관리대상 제품의 구매권한 여부에 대한 VP를 전송하며, 상기 판매자의 전자장치에서 상기 제1 블록체인 네트워크에 저장된 제품유통관리기관의 식별자와 상기 관리대상 제품의 구매권한 여부에 대한 VP에 포함된 제품유통관리기관의 디지털 서명을 기초로 정당한 제품유통관리기관에 의하여 발급된 처방인증VC인 것을 검증하고, 그리고 상기 검증 결과에 기초하여 상기 처방인증VC 내 처방전 정보 중 적어도 일부를 획득하고, 관리대상 제품을 구매하기 위한 거래 프로세스를 수행하는, 소비자가 관리대상 제품을 구매하는 시스템 및 방법에 관련된다. A prescription authentication VC indicating that the consumer has the right to purchase the product subject to management is issued to the consumer's electronic device, a VP is generated on the electronic device of the consumer regarding whether the consumer has the right to purchase the product subject to management, and the seller A VP is transmitted to the electronic device of the seller regarding the purchase authority of the product subject to management, and the identifier of the product distribution management agency stored in the first blockchain network is transmitted from the electronic device of the seller to the electronic device of the seller regarding the authority to purchase the product subject to management. Verify that the prescription certification VC was issued by a legitimate product distribution management agency based on the digital signature of the product distribution management agency included in the VP, and obtain at least part of the prescription information in the prescription certification VC based on the verification results. It is related to a system and method for a consumer to purchase a management target product, and performing a transaction process to purchase the management target product.

Description

블록체인 기술에 기반하여 관리대상제품을 구매하는 시스템 및 방법 {SYSTEM AND METHOD FOR TRADING BASED ON BLOCKCHAIN TECHNOLOGIES} System and method for purchasing managed products based on blockchain technology {SYSTEM AND METHOD FOR TRADING BASED ON BLOCKCHAIN TECHNOLOGIES}

본 출원의 실시 예들은 소비자의 신원 및 구매 이력을 투명하게 관리하기 위해 블록체인 기술에 기반하여 관리대상제품을 판매자로부터 구매하는 기술과 관련된다. Embodiments of this application relate to technology for purchasing products subject to management from sellers based on blockchain technology in order to transparently manage the identity and purchase history of consumers.

의약품을 비롯한 의료 관련 제품은 사람의 생명 또는 건강에 직접적으로 영향을 미칠 수 있으므로 유통 또는 최종 소비 과정이 권한이 있는 관리 기관에 의하여 감독이 될 필요가 있다. 특별히 향정신성 의료 관련 제품, 마약류 또는 중독성 의약품은 오용 또는 남용으로 인한 피해가 크므로 생산 과정, 유통 과정 및 처방 과정이 정확하고 투명하게 확인이 되어 관리가 될 필요가 있다. 그러나 이러한 특별 관리 대상이 되는 의약품을 비롯하여 다양한 의료 관련 제품은 각각의 유통 과정 또는 처방 과정에서 서로 독립적으로 관리가 되고, 관리 결과가 독립적으로 예를 들어 식품의약안전처와 같은 감독 또는 관리 기관에 보고가 된다. 이로 인하여 유통 과정에서 오류가 발생 되면 차후 확인이 어려운 것은 물론, 불법 유통에 대한 추적이 어려운 문제가 있다. Medical products, including pharmaceuticals, may directly affect human life or health, so the distribution or final consumption process needs to be supervised by a competent management agency. In particular, psychotropic medical products, narcotics, or addictive medicines are subject to significant damage from misuse or abuse, so the production process, distribution process, and prescription process need to be accurately and transparently confirmed and managed. However, various medical-related products, including medicines subject to such special management, are managed independently from each other during each distribution or prescription process, and the management results are independently reported to a supervisory or management agency, such as the Ministry of Food and Drug Safety. It becomes. As a result, if an error occurs during the distribution process, it is difficult to confirm later, and it is also difficult to track illegal distribution.

추가로 수량이 제한되는 중독성 의약품의 경우 각각의 개인에게 최종적으로 정해진 기간 내에 처방된 전체 양의 확인이 어렵다. 그러므로 모든 유통 또는 처방 과정이 자동으로 확인 또는 추적될 수 있도록 하는 구매 서비스를 제공하는 시스템이 개발될 필요가 있다. Additionally, in the case of addictive drugs whose quantity is limited, it is difficult to confirm the total amount ultimately prescribed to each individual within a given period of time. Therefore, there is a need to develop a system that provides a purchasing service that allows all distribution or prescription processes to be automatically verified or tracked.

특허등록공보 제10-2287965호 (2021.08.03. 공개)Patent Registration Publication No. 10-2287965 (published on August 3, 2021)

상술한 문제점을 해결하기 위해, 관리대상제품의 구매 권한이 인증된 소비자에 대해서만 상기 관리대상제품의 구매를 허용하고 구매 이력을 투명하게 관리하는 시스템 및 방법을 제공하고자 한다. In order to solve the above-mentioned problems, we would like to provide a system and method that allows the purchase of management target products only for consumers who are certified to purchase the management target products and transparently manages purchase history.

본 출원의 일 측면에 따른, 시스템에 의해 수행되는 소비자가 관리대상 제품을 구매하는 방법은 분산 원장을 갖는 제1 블록체인 네트워크를 포함하는 블록체인 기반 구매 시스템에 의해 운영되는 것이고, 상기 시스템은 소비자의 전자장치, 판매자의 전자장치 및 의료기관 전자장치와 통신하고, 상기 제1 블록체인 네트워크는, 소비자의 식별자, 상기 시스템의 식별자 및 의료기관의 식별자를 저장할 수 있다. According to one aspect of the present application, a method for a consumer to purchase a managed product performed by the system is operated by a blockchain-based purchasing system including a first blockchain network with a distributed ledger, wherein the system is operated by the consumer. communicates with the electronic device of, the seller's electronic device, and the medical institution's electronic device, and the first blockchain network may store the consumer's identifier, the system's identifier, and the medical institution's identifier.

이때, 상기 방법은, 상기 시스템에서 상기 소비자가 관리대상 제품의 구매권한이 있는 것을 나타낸 처방인증VC를 상기 소비자의 전자장치로 발행하는 단계; 상기 소비자의 전자장치에서 소비자의 관리대상 제품의 구매권한 여부에 대한 VP를 생성하고, 상기 판매자의 전자장치로 상기 관리대상 제품의 구매권한 여부에 대한 VP를 전송하는 단계 ? 상기 관리대상 제품의 구매권한 여부에 대한 VP는 소비자의 신원인증VC 와 처방 인증VC 에 포함되는 정보들 중에서 일부 또는 전부를 포함할 수 있다. At this time, the method includes the steps of issuing, in the system, a prescription authentication VC indicating that the consumer has the right to purchase a management target product to the consumer's electronic device; Generating a VP on whether the consumer has the right to purchase the product subject to management on the consumer's electronic device, and transmitting the VP on whether the consumer has the right to purchase the product subject to management to the electronic device of the seller? The VP regarding the purchase authority of the product subject to management may include some or all of the information included in the consumer's identity authentication VC and prescription authentication VC.

이때, 상기 판매자의 전자장치에서 상기 제1 블록체인 네트워크에 저장된 제품유통관리기관의 식별자와 상기 관리대상 제품의 구매권한 여부에 대한 VP에 포함된 제품유통관리기관의 디지털 서명을 기초로 정당한 제품유통관리기관에 의하여 발급된 처방인증VC인 것을 검증하는 단계 및 상기 검증 결과에 기초하여 상기 처방인증VC 내 처방전 정보 중 적어도 일부를 획득하고, 관리대상 제품을 구매하기 위한 거래 프로세스를 수행하는 단계 ? 상기 거래 프로세스는 관리대상 제품의 거래를 위한 상기 판매자의 전자장치와 소비자의 전자 장치 간의 미리 설정된 일련의 동작으로 이루어진 것;을 포함할 수 있다. At this time, legitimate product distribution is based on the identifier of the product distribution management agency stored in the first blockchain network on the seller's electronic device and the digital signature of the product distribution management agency included in the VP regarding purchase authority for the product subject to management. Verifying that it is a prescription certification VC issued by a management institution, obtaining at least part of the prescription information in the prescription certification VC based on the verification results, and performing a transaction process to purchase a product subject to management? The transaction process may include a series of preset operations between the seller's electronic device and the consumer's electronic device for transaction of a product subject to management.

일 실시 예에서, 상기 시스템에서 상기 소비자가 관리대상 제품의 구매권한이 있는 것을 나타낸 처방인증VC를 상기 소비자의 전자장치로 발행하는 단계는, 의료기관 전자장치에서 소비자에 대한 처방전 정보, 상기 소비자의 신원인증 VC 및 의료기관의 공인처방기관VC를 상기 의료기관 식별자로 디지털 서명하여 처방인증VC 발급을 요청하는 단계 ? 상기 처방전 정보는 상기 소비자가 처방 대상이고 상기 관리대상 제품이 처방 제품인 처방 내용과 관련된 정보를 포함할 수 있으며, 상기 처방인증VC 발급의 요청에 반응하여, 상기 시스템에서 상기 공인처방기관 VC에 포함된 의료기관의 디지털 서명과 상기 제1 블록체인 네트워크에 저장된 의료기관의 식별자에 기초하여 처방인증VC의 발급 요청이 공인처방기관인 의료기관에 의한 디지털 서명인 것인지 검증하는 단계 및 상기 처방인증VC의 발급 요청이 공인처방기관인 의료기관에 의한 디지털 서명인 것인지 검증된 경우 상기 시스템에서 상기 처방전 정보, 상기 소비자의 신원인증VC에 포함된 적어도 일부 데이터를 디지털 서명한 처방인증VC를 발행하는 단계를 포함할 수 있다. In one embodiment, the step of issuing, in the system, a prescription authentication VC indicating that the consumer has the right to purchase a management target product to the consumer's electronic device, includes prescription information about the consumer from the medical institution's electronic device, and the consumer's identity. Step of requesting issuance of prescription certification VC by digitally signing the authentication VC and the medical institution's authorized prescribing organization VC with the medical institution identifier? The prescription information may include information related to prescriptions in which the consumer is the subject of the prescription and the product subject to management is a prescription product, and in response to the request for issuance of the prescription certification VC, the VC included in the authorized prescription agency in the system Verifying whether the request for issuance of a prescription authentication VC is a digital signature by a medical institution that is an authorized prescribing institution based on the digital signature of the medical institution and the identifier of the medical institution stored in the first blockchain network, and the request for issuance of the prescription certification VC is an authorized prescription If it is verified that it is a digital signature by a medical institution, the system may include issuing a prescription authentication VC that digitally signs the prescription information and at least some data included in the consumer's identity authentication VC.

일 실시 예에서, 상기 방법은, 상기 시스템에서 상기 판매자가 상기 관리대상 제품의 판매권한이 있는 것을 나타낸 공인판매자VC를 상기 판매자의 전자장치로 발행하는 단계, 상기 관리대상 제품에 대한 구매권한 여부에 대한 VP를 상기 판매자의 전자장치로 전송하기 이전에, 상기 판매자의 전자장치에서 상기 판매자의 판매권한 여부에 대한 VP를 생성하고, 상기 소비자의 전자장치로 상기 관리대상 제품에 대한 판매권한 여부에 대한 VP를 전송하는 단계 ? 상기 관리대상 제품의 구매권한 여부에 대한 VP는 상기 판매자의 신원인증VC 와 처방인증VC 에 포함되는 정보들 중에서 일부 또는 전부를 포함함 및 상기 소비자의 전자장치에서 상기 제1 블록체인 네트워크에 저장된 제품유통관리기관의 식별자와 상기 관리대상 제품의 판매권한 여부에 대한 VP에 포함된 제품유통관리기관의 디지털 서명을 기초로 정당한 제품유통관리기관에 의하여 발급된 공인판매자VC인 것을 검증하는 단계;를 더 포함할 수 있다. In one embodiment, the method includes issuing, in the system, an authorized seller VC indicating that the seller has the authority to sell the management subject product to the seller's electronic device, determining whether the seller has the authority to purchase the management subject product. Before transmitting the VP for the product to the seller's electronic device, a VP on whether the seller has the sales authority is created on the seller's electronic device, and a VP on whether the seller has the sales authority for the management target product is generated on the consumer's electronic device. Steps to transfer VP? The VP on whether the product subject to management is authorized to purchase includes some or all of the information included in the seller's identity authentication VC and prescription authentication VC, and the product stored in the first blockchain network on the consumer's electronic device. Verifying that the VC is an authorized seller issued by a legitimate product distribution management agency based on the identifier of the distribution management agency and the digital signature of the product distribution management agency included in the VP regarding whether or not the product is authorized to sell the product subject to management; It can be included.

이때, 상기 정당한 제품유통관리기관에 의하여 발급된 공인판매자VC인 것을 검증된 경우, 상기 소비자의 전자장치에서 소비자의 관리대상 제품의 구매권한 여부에 대한 VP를 생성하거나 또는 상기 판매자의 전자장치로 상기 관리대상 제품의 구매권한 여부에 대한 VP를 전송할 수 있다. At this time, if it is verified that it is an authorized seller VC issued by the legitimate product distribution management agency, a VP on whether the consumer has the right to purchase the product subject to management is generated on the consumer's electronic device, or the VP is generated on the seller's electronic device. VP can be sent regarding the purchase authority of the management target product.

일 실시 예에서, 상기 시스템에서 상기 판매자가 상기 관리대상 제품의 판매권한이 있는 것을 나타낸 공인판매자VC를 상기 판매자의 전자장치로 발행하는 단계는, 판매자의 전자장치에서 상기 판매자의 신원인증 VC 를 상기 판매자의 식별자로 디지털 서명하여 공인판매자VC 발급을 요청하는 단계, 상기 공인판매자VC발급의 요청에 반응하여, 상기 시스템에서 상기 판매자의 신원인증VC에 포함된 상기 판매자의 디지털 서명과 상기 제1 블록체인 네트워크에 저장된 판매자의 식별자에 기초하여 상기 공인판매자VC의 발급 요청이 정당한 판매자로부터 전송된 것인지 검증하는 단계, 상기 정당한 판매자로부터 전송된 것인지 검증된 경우 상기 시스템에서 공인판매자 DB의 정보와 판매자인증VC의 정보를 비교하는 단계 및 상기 공인판매자DB에 상기 판매자인증VC와 일치하는 정보가 있는 경우 상기 공인판매자VC의 발급을 요청한 판매자의 전자장치로 상기 공인판매자VC를 발행하는 단계를 포함할 수 있다. In one embodiment, the step of issuing, in the system, an authorized seller VC indicating that the seller has the authority to sell the product subject to management to the seller's electronic device is to obtain the seller's identity authentication VC from the seller's electronic device. Requesting issuance of an authorized seller VC by digitally signing with the seller's identifier, in response to the request for issuance of an authorized seller VC, the digital signature of the seller and the first blockchain included in the identity authentication VC of the seller in the system Verifying whether the request for issuance of the authorized seller VC was transmitted from a legitimate seller based on the identifier of the seller stored in the network; if it is verified that the request is sent from the legitimate seller, the information of the authorized seller DB and the seller authentication VC in the system It may include comparing information and, if there is information matching the seller authentication VC in the authorized seller DB, issuing the authorized seller VC to the electronic device of the seller who requested issuance of the authorized seller VC.

일 실시 예에서, 상기 검증 결과에 기초하여 상기 처방인증VC 내 처방전 정보 중 적어도 일부를 획득하고, 관리대상 제품을 구매하기 위한 거래 프로세스를 수행하는 단계는, 상기 소비자에 대한 관리대상 제품의 복용 기간, 일별 복용 회수, 1회당 복용량에 기초하여 구매 허용된 전체 복용량을 산출하는 단계 및 상기 전체 복용량만큼의 관리대상 제품을 구매하기 위한 거래 프로세스를 수행하는 단계를 포함할 수 있다. In one embodiment, the step of obtaining at least some of the prescription information in the prescription authentication VC based on the verification result and performing a transaction process for purchasing the product to be managed includes, the period of taking the product to be managed for the consumer. , calculating the total dose allowed for purchase based on the number of daily doses, the dose per time, and performing a transaction process to purchase the product to be managed as the total dose.

일 실시 예에서, 상기 전체 복용량만큼의 관리대상 제품을 구매하기 위한 거래 프로세스를 수행하는 단계는, 상기 거래 프로세스를 위한 소비자의 구매 주문을 생성하여 거래 시스템에 전송하는 단계 ?상기 소비자의 구매 주문은 상기 소비자의 전자장치 또는 판매자의 전자장치에서 생성되는 것임; 상기 판매자의 전자장치에서 상기 거래 프로세스를 위한 상기 판매자의 판매 주문을 생성하여 상기 거래 시스템에 전송하는 단계 및 상기 거래 시스템에서 상기 소비자의 구매 주문 및 판매자의 구매 주문에 기초하여 거래 트랜잭션을 처리하는 단계를 포함하고, 상기 거래 시스템은 자산 거래를 위한 복수의 트랜잭션을 처리하도록 구성된 것으로서, 복수의 컴퓨팅 장치를 포함한 제2 블록체인 네트워크 ? 상기 제2 블록체인 네트워크는 상기 복수의 컴퓨팅 장치에 포함된 상기 소비자의 전자장치 및 판매자의 전자장치에 연결되고, 상기 소비자의 전자장치, 판매자의 전자장치에 블록체인이 저장됨; 상기 블록체인 네트워크와 통신하는 거래소 서버 및 분산 저장소를 포함하고, 상기 방법은, 상기 판매자의 전자장치에서 판매할 관리대상 제품을 등록하는 것에 따라서 자산 지분 스마트컨트랙트를 통해 상기 관리대상 제품에 연관된 자산 지분 토큰을 발행하는 단계 및 상기 소비자의 전자장치에서 법정화폐를 입금하는 것에 따라서 통화 토큰 스마트컨트랙트를 통해 상기 통화 토큰을 발행하는 단계를 더 포함할 수 있다. In one embodiment, performing a transaction process to purchase the entire dose of the managed product comprises: generating a consumer's purchase order for the transaction process and transmitting it to a transaction system; wherein the consumer's purchase order is Generated on the consumer's electronic device or the seller's electronic device; Generating the seller's sales order for the transaction process on the seller's electronic device and transmitting it to the transaction system, and processing a transaction transaction based on the consumer's purchase order and the seller's purchase order in the transaction system. Includes, and the transaction system is configured to process a plurality of transactions for asset trading, and a second blockchain network including a plurality of computing devices. The second blockchain network is connected to the consumer's electronic device and the seller's electronic device included in the plurality of computing devices, and a blockchain is stored in the consumer's electronic device and the seller's electronic device; It includes an exchange server and a distributed storage in communication with the blockchain network, wherein the method registers a product to be managed for sale on the electronic device of the seller, thereby registering an asset share associated with the product to be managed through an asset share smart contract. It may further include issuing a token and issuing the currency token through a currency token smart contract in accordance with depositing fiat currency on the consumer's electronic device.

일 실시 예에서, 상기 거래 프로세스를 위한 소비자의 구매 주문을 생성하는 단계는, 상기 판매자의 전자장치 또는 소비자의 전자장치에서 상기 관리대상 제품에 연관된 자산 지분 토큰을 결제 대상으로 지정하고 상기 관리대상 제품의 전체 복용량을 결제 수량으로 지정하여 상기 소비자의 구매 주문을 생성하는 것이고, 상기 거래 프로세스를 위한 상기 판매자의 판매 주문을 생성하는 단계는, 상기 판매자의 전자장치에서 상기 통화 토큰을 결제 수단으로 지정하고 상기 결제 대상 및 결제 수량에 대응한 통화 토큰의 개수를 결제 금액으로 지정하여 상기 판매자의 판매 주문을 생성할 수 있다. In one embodiment, the step of creating a consumer's purchase order for the transaction process includes designating an asset equity token associated with the managed product as a payment target on the seller's electronic device or the consumer's electronic device and Creating the consumer's purchase order by specifying the entire dose as the payment quantity, and creating the seller's sales order for the transaction process includes specifying the currency token as a payment method on the seller's electronic device; A sales order for the seller can be created by specifying the number of currency tokens corresponding to the payment object and payment quantity as the payment amount.

일 실시 예에서, 항에 있어서, 상기 관리대상 제품에 연관된 자산 지분 토큰을 발행하는 단계는, 판매자의 전자장치에서 관리대상 제품을 거래 시스템의 자산으로 등록하여 자산 지분 토큰 입금 요청이 발생하면, 상기 자산 지분 토큰 입금 요청을 판매자의 개인 키로 암호화 서명하여 상기 자산 지분 스마트컨트랙트로 전송하는 단계, 상기 자산 지분 스마트컨트랙트에서 자산 지분 토큰 입금 트랙잭션에 응답하여 등록된 상기 관리대상 제품에 연관된 자산 지분 토큰을 거래 스마트컨트랙트로 이동시키는 단계 및 상기 거래 스마트컨트랙트에서 상기 자산 지분 토큰의 입금 이벤트 로그를 생성하고, 상기 제2 블록체인 네트워크 내 블록체인에 저장하는 단계를 포함할 수 있다. In one embodiment, the step of issuing an asset equity token associated with the product to be managed includes registering the product to be managed as an asset in a transaction system on the seller's electronic device and receiving a request for depositing an asset equity token. Cryptographically signing an asset share token deposit request with the seller's private key and transmitting it to the asset share smart contract, trading the asset share token associated with the managed product registered in response to the asset share token deposit transaction in the asset share smart contract. It may include moving to a smart contract, generating a deposit event log of the asset equity token in the transaction smart contract, and storing it in a blockchain in the second blockchain network.

일 실시 예에서, 상기 통화 토큰을 발행하는 단계는, 상기 소비자의 전자장치에서 법정화폐를 입금하여 통화 토큰 입금 요청이 발생하면, 상기 통화 토큰 입금 요청을 상기 소비자의 개인 키로 암호화 서명하여 상기 통화 토큰 컨트랙트로 전송하는 단계, 상기 통화 토큰 스마트컨트랙트에서 통화 토큰 입금 트랜잭션에 응답하여 상기 통화 토큰을 상기 거래 스마트컨트랙트로 이동하는 단계, 상기 거래 스마트컨트랙트에서 상기 통화 토큰의 입금 이벤트 로그를 생성하고, 상기 제2 블록체인 네트워크 내 블록체인에 저장하는 단계를 포함할 수 있다. In one embodiment, the step of issuing the currency token includes, when a currency token deposit request occurs by depositing fiat currency on the consumer's electronic device, cryptographically signing the currency token deposit request with the consumer's private key to obtain the currency token. Transferring to a contract, moving the currency token to the transaction smart contract in response to a currency token deposit transaction in the currency token smart contract, generating a deposit event log of the currency token in the transaction smart contract, and 2 It may include the step of storing on the blockchain within the blockchain network.

일 실시 예에서, 상기 거래 시스템에서 상기 소비자의 구매 주문 및 판매자의 구매 주문에 기초하여 거래 트랜잭션을 처리하는 단계는, 상기 판매자의 전자장치에서 판매자의 개인 키로 암호화 서명된 판매자의 판매 주문을 거래소 서버 및 분산 저장소로 송신하고 상기 소비자의 전자장치에서 소비자의 개인 키로 암호화 서명된 소비자의 구매 주문을 상기 거래소 서버 및 상기 분산 저장소로 송신하는 단계, 거래소 서버에서 소비자의 거래 요청인 구매 주문, 판매자의 거래 요청인 판매 주문에 대응되는 트랜잭션을 처리하고, 상기 분산 저장소에서 상기 거래 요청에 대응되는 암호화 서명된 트랜잭션을 저장하는 단계; 및 상기 소비자의 구매 주문 및 상기 판매자의 판매 주문을 매칭하여, 상기 결제 금액만큼의 상기 통화 토큰의 수량이 상기 소비자의 거래소 계좌에서 상기 판매자의 거래소 계좌로 전송되고 상기 판매자의 거래소 계좌에서 상기 결제 수량만큼의 상기 자산 지분 토큰의 수량이 상기 판매자의 거래소 계좌에서 상기 소비자의 거래소 계좌로 전송되도록 하는 상기 거래 트랜잭션을 생성하고, 상기 거래 트랜잭션을 상기 거래소 서버의 개인 키로 암호화 서명하여 상기 분산 저장소에 저장하는 단계를 포함할 수 있다. In one embodiment, the step of processing a transaction based on the consumer's purchase order and the seller's purchase order in the trading system includes sending the seller's sales order, which is cryptographically signed with the seller's private key, on the seller's electronic device to the exchange server. and transmitting to the distributed storage the consumer's purchase order, which is cryptographically signed with the consumer's private key on the consumer's electronic device, to the exchange server and the distributed storage, a purchase order that is the consumer's transaction request in the exchange server, and the seller's transaction. Processing a transaction corresponding to a requesting sales order and storing a cryptographically signed transaction corresponding to the transaction request in the distributed storage; and matching the consumer's purchase order and the seller's sell order, so that a quantity of the currency token equivalent to the payment amount is transferred from the consumer's exchange account to the seller's exchange account and the payment quantity is transferred from the seller's exchange account. Creating the transaction transaction such that a quantity of the asset equity token is transferred from the seller's exchange account to the consumer's exchange account, cryptographically signing the transaction transaction with the private key of the exchange server and storing it in the distributed storage. Steps may be included.

본 출원의 다른 일 측면에 따른 컴퓨터 판독가능한 기록매체는 상술한 실시 예들에 따른 소비자가 관리대상 제품을 구매하는 방법을 수행하기 위한, 프로그램을 기록할 수도 있다. A computer-readable recording medium according to another aspect of the present application may record a program for performing a method for a consumer to purchase a management target product according to the above-described embodiments.

본 출원의 일 측면에 따른 구매 시스템은 소비자의 신원 및 구매 이력을 투명하게 관리할 수 있다. 특히, 상기 구매 시스템은 유효한 구매권한이 인증된 소비자에 한해 관리대상제품의 구매를 허용하고 거래 이력을 추적할 수 있어, 결국 소비자의 관리대상 제품의 구매를 엄격하게 관리할 수 있다.The purchasing system according to one aspect of the present application can transparently manage the consumer's identity and purchase history. In particular, the purchasing system allows the purchase of products subject to management only to consumers with certified valid purchase authority and can track transaction history, ultimately making it possible to strictly manage consumers' purchases of products subject to management.

본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당해 기술분야에서의 통상의 기술자가 명확하게 이해할 수 있을 것이다.The effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description of the claims.

본 발명 또는 종래 기술의 실시 예의 기술적 해결책을 보다 명확하게 설명하기 위해, 실시 예에 대한 설명에서 필요한 도면이 아래에서 간단히 소개된다. 아래의 도면들은 본 명세서의 실시 예를 설명하기 목적일 뿐 한정의 목적이 아니라는 것으로 이해되어야 한다. 또한, 설명의 명료성을 위해 아래의 도면들에서 과장, 생략 등 다양한 변형이 적용된 일부 요소들이 도시될 수 있다.
도 1은, 본 출원의 일 측면에 따른, 블록체인 기술에 기반하여 관리대상제품을 구매하는 시스템(1)의 개략도이다.
도 2는, 본 출원의 일 측면에 따른, 블록체인 기반 인증 시스템의 개략도이다.
도 3a 및 도 3b는, 본 출원의 일 실시 예에 따른 신원인증시스템(100) 및 제품유통관리시스템(200)의 블록도이다.
도 4a 내지 도 4c는, 본 출원의 일 실시 예에 따른 의료기관 전자장치(300), 소비자의 전자장치(400) 및 판매자의 전자장치(500)의 블록도이다.
도 5는, 본 출원의 일 실시 예에 따른 신원인증시스템(100)가 소비자의 전자장치(400)에 소비자 신원 인증서를 발급하는 방법에 대한 신호 흐름도이다.
도 6은, 본 출원의 일 실시 예에 따른, 제품유통관리시스템(200)이 의료기관 전자장치(300)에 처방권한 인증서를 발급하는 방법에 대한 신호 흐름도이다.
도 7은, 본 출원의 일 실시 예에 따른, 제품유통관리시스템(200)에 처방 권한 의료진을 등록하는 방법에 대한 신호 흐름도이다.
도 8은, 본 출원의 일 실시 예에 따른, 처방 인증서를 발급하는 방법에 대한 신호 흐름도이다.
도 9는, 본 출원의 일 실시 예에 따른, 제품유통관리시스템(200)이 판매자의 전자장치(500)에 판매권한 인증서를 발급하는 방법에 대한 신호 흐름도이다.
도 10은, 본 출원의 또 다른 일 측면에 따른, 대마약품을 구매하는 방법의 신호 흐름도이다.
도 11a 및 도 11b는, 본 출원의 일 측면에 따른, 블록체인 기반 거래 시스템의 개략도이다.
도 12은 다양한 실시 예에 따른 블록체인 네트워크의 구조를 설명하기 위한 도면이다.
도 13은, 본 출원의 일 실시 예에 따른 거래소 서버의 블록도이다.
도 14는, 본 출원의 일 실시 예에 따른 거래 시스템에서 발생하는 거래 트랜잭션의 시퀀스의 일 예시와, 출금 요청 발생에 따라 수행되는 정산 절차를 설명하기 위한 도면이다.
도 15는, 본 출원의 일 실시 예에 따라 분산 저장소에 저장되는 거래 이력에 대한 불변성과 투명성을 보장하는 거래 이력 저장 방법을 설명하기 위한 도면이다.
도 16은, 본 출원의 다양한 실시 예에 따른 거래 시스템으로의 입금 방법의 신호 흐름도다.
도 17은, 본 출원의 다양한 실시 예에 따른 자산 거래 방법의 신호 흐름도다.
도 18은, 본 출원의 다양한 실시 예에 따른 거래 시스템으로부터의 출금 방법의 신호 흐름도다.
In order to more clearly explain the technical solutions of the embodiments of the present invention or the prior art, drawings necessary in the description of the embodiments are briefly introduced below. It should be understood that the drawings below are for illustrative purposes only and not for limiting purposes of the present specification. Additionally, for clarity of explanation, some elements may be shown in the drawings below with various modifications, such as exaggeration or omission.
Figure 1 is a schematic diagram of a system 1 for purchasing products subject to management based on blockchain technology, according to one aspect of the present application.
Figure 2 is a schematic diagram of a blockchain-based authentication system, according to one aspect of the present application.
3A and 3B are block diagrams of the identity authentication system 100 and the product distribution management system 200 according to an embodiment of the present application.
4A to 4C are block diagrams of a medical institution's electronic device 300, a consumer's electronic device 400, and a seller's electronic device 500 according to an embodiment of the present application.
Figure 5 is a signal flow diagram of a method by which the identity authentication system 100 issues a consumer identity certificate to the consumer's electronic device 400 according to an embodiment of the present application.
Figure 6 is a signal flow diagram of a method by which the product distribution management system 200 issues a prescription authority certificate to the electronic device 300 of a medical institution, according to an embodiment of the present application.
Figure 7 is a signal flow diagram of a method of registering a medical staff member with prescribing authority in the product distribution management system 200 according to an embodiment of the present application.
Figure 8 is a signal flow diagram of a method for issuing a prescription certificate according to an embodiment of the present application.
Figure 9 is a signal flow diagram of a method by which the product distribution management system 200 issues a sales authorization certificate to the seller's electronic device 500, according to an embodiment of the present application.
Figure 10 is a signal flow diagram of a method of purchasing cannabis medicine according to another aspect of the present application.
11A and 11B are schematic diagrams of a blockchain-based transaction system, according to one aspect of the present application.
Figure 12 is a diagram to explain the structure of a blockchain network according to various embodiments.
Figure 13 is a block diagram of an exchange server according to an embodiment of the present application.
FIG. 14 is a diagram illustrating an example of a sequence of transaction transactions occurring in a transaction system according to an embodiment of the present application and a settlement procedure performed upon occurrence of a withdrawal request.
Figure 15 is a diagram for explaining a transaction history storage method that ensures immutability and transparency of transaction history stored in distributed storage according to an embodiment of the present application.
Figure 16 is a signal flow diagram of a deposit method to a transaction system according to various embodiments of the present application.
Figure 17 is a signal flow diagram of an asset trading method according to various embodiments of the present application.
18 is a signal flow diagram of a withdrawal method from a trading system according to various embodiments of the present application.

이하에서, 도면을 참조하여 본 출원의 실시 예들에 대하여 상세히 살펴본다.Hereinafter, embodiments of the present application will be examined in detail with reference to the drawings.

그러나, 이는 본 개시(disclosure)를 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 실시 예의 다양한 변경(modification), 균등물(equivalent), 및/또는 대체물(alternative)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.However, this disclosure is not intended to limit the disclosure to specific embodiments, and should be understood to include various modifications, equivalents, and/or alternatives to the embodiments of the disclosure. . In connection with the description of the drawings, similar reference numbers may be used for similar components.

본 명세서에서, “가진다,” “가질 수 있다,”“포함한다,” 또는 “포함할 수 있다” 등의 표현은 해당 특징(예: 수치, 기능, 동작, 단계, 부품, 요소 및/또는 성분 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재나 부가를 제외시키는 것이 아니다. In this specification, expressions such as “have,” “may have,” “includes,” or “may include” refer to the relevant features (e.g., numerical values, functions, operations, steps, parts, elements, and/or components). It refers to the presence of components such as etc.) and does not exclude the presence or addition of additional features.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.When a component is said to be “connected” or “connected” to another component, it is understood that it may be directly connected or connected to the other component, but that other components may exist in between. It should be. On the other hand, when it is mentioned that a component is “directly connected” or “directly connected” to another component, it should be understood that there are no other components in between.

다양한 실시 예에서 사용된 “제 1”, “제 2”, “첫째” 또는 “둘째” 등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 해당 구성요소들을 한정하지 않는다. 상기 표현들은 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 수 있다. 예를 들면, 제1 구성요소와 제2 구성요소는, 순서 또는 중요도와 무관하게, 서로 다른 구성요소를 나타낼 수 있다. Expressions such as “first,” “second,” “first,” or “second” used in various embodiments may modify various elements regardless of order and/or importance, and limit the elements. I never do that. The above expressions can be used to distinguish one component from another. For example, the first component and the second component may represent different components, regardless of order or importance.

본 명세서에서 사용된 표현 “~하도록 구성된(또는 설정된)(configured to)”은 주변 상황에 따라, 예를 들면, “~에 적합한(suitable for),” “~하는 능력을 가지는(having the capacity to),” “~하도록 설계된(designed to),” “~하도록 변경된(adapted to),” “~하도록 만들어진(made to),”또는 “~를 할 수 있는(capable of)”과 바꾸어 사용될 수 있다. 용어 “~하도록 구성(또는 설정)된”은 하드웨어적으로 “특별히 설계된(specifically designed to)”것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 주변 상황에서는, “~하도록 구성된 장치”라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 “~할 수 있는” 것을 의미할 수 있다. 예를 들면, 문구 “A, B, 및 C를 수행하도록 구성(또는 설정)된 프로세서”는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.The expression “configured to” used in this specification means, for example, “suitable for,” “having the capacity to,” depending on the surrounding circumstances. ),” “designed to,” “adapted to,” “made to,” or “capable of.” . The term “configured (or set) to” may not necessarily mean “specifically designed to” in terms of hardware. Instead, in some circumstances, the expression “a device configured to” may mean that the device is “able to” work with other devices or components. For example, the phrase “processor configured (or set) to perform A, B, and C” refers to a processor dedicated to performing those operations (e.g., an embedded processor), or executing one or more software programs stored on a memory device. By doing so, it may mean a general-purpose processor (eg, CPU or application processor) capable of performing the corresponding operations.

본 명세서에서 관리대상제품은 마약류, 향정신성 성분, 대마 성분 또는 이들의 2이상의 조합을 포함한 약품, 의료 관련 제품 또는 식료품일 수도 있다. 이하, 설명의 명료성을 위해, 대마 약품을 관리대상제품의 예시로서 이용하는 실시 예들로 본 출원의 실시 예들을 상세히 서술한다. In this specification, products subject to management may be drugs, medical-related products, or foodstuffs containing narcotics, psychotropic ingredients, cannabis ingredients, or a combination of two or more thereof. Hereinafter, for clarity of explanation, embodiments of the present application will be described in detail with examples using cannabis drugs as examples of products subject to management.

도 1은, 본 출원의 일 측면에 따른, 블록체인 기술에 기반하여 관리대상제품을 구매하는 시스템(1)의 개략도이다. Figure 1 is a schematic diagram of a system 1 for purchasing products subject to management based on blockchain technology, according to one aspect of the present application.

도 1을 참조하면, 상기 블록체인 기술에 기반하여 관리대상 제품을 구매하는 시스템(1, 이하 구매 시스템)은 블록체인 기반 디지털인증서를 통해 관리대상제품을 구매 가능한 권한이 있는지 확인된 소비자에 대해서만 상기 관리대상제품의 구매를 허용하고 그리고 소비자의 구매 이력을 추적하도록 구성된, 블록체인 기반 인증 시스템(이하, 인증 시스템, 10) 중 적어도 일부 구성요소를 포함한다. Referring to Figure 1, the system for purchasing products subject to management based on the blockchain technology (1, hereinafter referred to as purchasing system) only provides the above information to consumers who have been confirmed to have the authority to purchase the product subject to management through a blockchain-based digital certificate. It includes at least some components of a blockchain-based authentication system (hereinafter referred to as authentication system 10), which is configured to allow the purchase of managed products and track the consumer's purchase history.

또한, 상기 구매 시스템(1)은 구매권한이 검증된 소비자의 구매를 진행하기 위한 결제 시스템과 연동될 수도 있다. 특정 실시 예들에서, 상기 구매 시스템(1)은, 구매권한이 검증된 소비자의 대마 약품의 구매를 위해, 블록체인 네트워크(1100) 상에서 관리대상제품의 구매 금액에 대한 결제를 화폐에 대응한 특정 토큰으로 처리하고 구매 이력을 생성하도록 구성된, 블록체인 기반 거래 시스템(이하, 거래 시스템(1010)) 중 적어도 일부 구성요소를 포함할 수도 있다. 또한, 일부 실시 예들에서, 인증 시스템(10)과 거래 시스템(1010)은 동일한 블록체인 네트워크(600)를 이용하도록 구성될 수도 있다. Additionally, the purchase system 1 may be linked to a payment system for purchasing by consumers whose purchasing authority has been verified. In certain embodiments, the purchase system 1 uses a specific token corresponding to currency to pay for the purchase amount of the product to be managed on the blockchain network 1100 for the purchase of cannabis medicine by a consumer whose purchase authority has been verified. It may include at least some components of a blockchain-based transaction system (hereinafter referred to as transaction system 1010), which is configured to process and generate purchase history. Additionally, in some embodiments, the authentication system 10 and the transaction system 1010 may be configured to use the same blockchain network 600.

실시 예들에 따른 블록체인 기반 구매 시스템(1)은 전적으로 하드웨어이거나, 또는 부분적으로 하드웨어이고 부분적으로 소프트웨어인 측면을 가질 수 있다. 예컨대, 시스템은 데이터 처리 능력이 구비된 하드웨어 및 이를 구동시키기 위한 운용 소프트웨어를 통칭할 수 있다. 본 명세서에서 "부(unit)", “모듈(module)”, “장치”, 또는 "시스템" 등의 용어는 하드웨어 및 해당 하드웨어에 의해 구동되는 소프트웨어의 조합을 지칭하는 것으로 의도된다. 예를 들어, 하드웨어는 CPU(Central Processing Unit), GPU(Graphic Processing Unit) 또는 다른 프로세서(processor)를 포함하는 데이터 처리 가능한 컴퓨팅 장치일 수 있다. 또한, 소프트웨어는 실행중인 프로세스, 객체(object), 실행파일(executable), 실행 스레드(thread of execution), 프로그램(program) 등을 지칭할 수 있다.The blockchain-based purchasing system 1 according to embodiments may be entirely hardware, or may be partially hardware and partially software. For example, a system may collectively refer to hardware equipped with data processing capabilities and operating software for running it. As used herein, terms such as “unit,” “module,” “device,” or “system” are intended to refer to a combination of hardware and software driven by the hardware. For example, the hardware may be a computing device capable of processing data, including a central processing unit (CPU), a graphics processing unit (GPU), or another processor. Additionally, software may refer to a running process, object, executable, thread of execution, program, etc.

처방 인증서 발급 및 발급된 인증서 확인Issuance of prescription certificate and confirmation of issued certificate

상기 구매 시스템(1)은 인증 시스템(10)의 구성요소들에 의해 유효한 구매권한이 검증된 소비자만이 대마 약품의 구매를 허용하는 동작을 수행하도록 구성된다.The purchasing system 1 is configured to perform an operation that allows only consumers whose valid purchasing authority has been verified by the components of the authentication system 10 to purchase cannabis medicine.

도 2는, 본 출원의 일 측면에 따른, 블록체인 기반 인증 시스템의 개략도이다.2 is a schematic diagram of a blockchain-based authentication system, according to one aspect of the present application.

본 명세서에서 관리대상제품을 구매할 잠재 소비자가 해당 관리대상제품을 이용할 필요성이 있다는 사실을 공인된 기관에서 보증하는 것은 관리대상제품을 처방하는 것으로 통상의 기술자들에게 제한되어 이해되지 않고, 단지 설명을 위한 예시로 이해되는 것이 명백할 것이다. 상기 통상의 기술자들에게 관리대상제품을 처방하는 것 이외의 다른 양태가 관리대상제품의 이용 필요성을 보증하는 것으로 구현될 수도 있다고 명백히 이해될 것이다. In this specification, the guarantee by an authorized organization that a potential consumer purchasing a product subject to management needs to use the product subject to management is not limited to those skilled in the art as prescribing a product subject to management, and is merely an explanation. It will be clear that this is to be understood as an example. It will be clearly understood that other aspects other than prescribing the subject product to those skilled in the art may be implemented to ensure the need for use of the subject product.

상기 인증 시스템(10)은, 아래에서 서술할, 제품 처방 관련 디지털인증서의 발급 및 증명 과정을 수행할 수도 있다. The authentication system 10 may perform the issuance and verification process of a digital certificate related to product prescription, which will be described below.

대마 약품의 이용 권한을 인증해주는 인증서(이하, “구매권한 인증서")는 대마 약품의 복용을 의학적으로 보증하는 처방 인증서를 포함할 수도 있다. 상기 처방 인증서와 같은 구매 권한 인증서는 디지털인증서의 형태로 발급될 수도 있다. A certificate certifying the right to use cannabis medicine (hereinafter referred to as “purchase authority certificate”) may include a prescription certificate medically guaranteeing the use of cannabis medicine. A purchase authority certificate, such as the above prescription certificate, is in the form of a digital certificate. may be issued.

상기 디지털인증서는 대마 약품 및 그 이용과 연관된 데이터를 포함할 수도 있다. 상기 데이터는 개인의 민감 정보를 포함할 수도 있다. 상기 개인의 민감 정보는 처방과 관련된 개인의 의료 상태, 진단 정보 등을 포함할 수도 있다. The digital certificate may include data associated with cannabis medicine and its use. The data may include personal sensitive information. The personal sensitive information may include the individual's medical condition and diagnosis information related to the prescription.

신원인증기관은 개인과 의료기관에 대한 신원 정보를 관리하는 기관이나 단체일 수 있다. 신원인증기관은 특정 개인을 식별할 수 있도록 하는 개인에 대한 신원 정보를 관리할 수 있다. 신원인증기관은 신원 정보의 적어도 하나의 항목에 대해 인증서(이하, 신원 인증서)를 발행할 수 있다. 신원인증기관은 특정 의료기관을 식별할 수 있도록 하는 의료기관에 대한 기본 정보(신원 정보)를 관리할 수 있다. 신원인증기관은 의료기관의 기본 정보의 적어도 하나의 항목에 대해 인증서(이하, 의료기관 인증서)를 발행할 수 있다. 신원인증기관은 대마 약품의 처방을 위해 필요한 의료 기관의 인증, 소비자의 신원 인증을 수행할 수 있다. 신원인증기관은 국가에 의하여 운영되는 기관으로서 신뢰기관으로 이해될 수 있다.An identity certification agency may be an institution or organization that manages identity information about individuals and medical institutions. Identity certification agencies can manage identity information about individuals that allows them to identify specific individuals. An identity certification authority may issue a certificate (hereinafter referred to as an identity certificate) for at least one item of identity information. Identity authentication agencies can manage basic information (identity information) about medical institutions that can identify specific medical institutions. An identity certification authority may issue a certificate (hereinafter referred to as a medical institution certificate) for at least one item of basic information of a medical institution. Identity certification agencies can perform authentication of medical institutions and identity authentication of consumers necessary for prescribing cannabis drugs. An identity certification agency is an agency operated by the state and can be understood as a trust agency.

제품유통관리기관은 대마 약품의 유통과 연관된 사항을 관리하는 기관이나 단체일 수도 있다. 상기 제품유통관리기관은 대마 약품을 생산, 수입, 유통, 판매, 처방, 기타 이용 양태의 과정을 모니터링하고 그에 대한 기록을 생성, 저장, 추적 및 관리할 수도 있다. 특정 실시 예들에서, 제품유통관리기관은 국가 또는 행정부에 의해 운영되는 기관으로서 신뢰기관으로 이해될 수도 있다. A product distribution management agency may be an agency or organization that manages matters related to the distribution of cannabis drugs. The product distribution management agency may monitor the process of producing, importing, distributing, selling, prescribing, and other usage patterns of cannabis drugs, and create, store, track, and manage records thereof. In certain embodiments, the product distribution management agency may be understood as a trust agency as an agency operated by the state or administration.

대마 약품의 처방은 공인된 의료기관에 의해 수행될 수도 있다. 제품유통관리기관은 복수의 의료기관 중 대마 약품의 처방을 수행할 수 있는 의료기관을 공인처방의료기관으로 선정하거나, 선정된 공인처방의료기관 목록을 관리할 수도 있다. Prescription of cannabis medicines may also be performed by accredited medical institutions. The product distribution management agency may select a medical institution that can prescribe cannabis drugs among multiple medical institutions as an accredited prescribing medical institution, or may manage a list of selected accredited prescribing medical institutions.

소비자로의 대마 약품의 처방 사실에 대한 처방 인증서의 발급을 위하여, 신원인증기관, 제품유통관리기관, 의료기관은 상호협력할 수 있다. 상기 처방 인증서는 제품유통관리기관에 의하여 발급될 수 있다. 신원인증기관은 처방 인증서를 발급하기 위한 의료기관의 기본 정보를 제품유통관리기관에 제공할 수 있다.In order to issue a prescription certificate for the prescription of cannabis medicine to a consumer, identity certification agencies, product distribution management agencies, and medical institutions may cooperate with each other. The prescription certificate may be issued by a product distribution management agency. The identity certification agency may provide the product distribution management agency with the basic information of the medical institution required to issue a prescription certificate.

다양한 실시 예에서 신원인증기관과 제품유통관리기관은 단일 기관으로 통합 구현될 수 있다. 예를 들어, 제품유통관리기관은 단독으로 직접 개인이나 의료기관에 대한 기본신원 정보를 보관하고, 신원 인증서를 발급할 수 있다.In various embodiments, the identity authentication agency and the product distribution management agency may be integrated and implemented as a single agency. For example, a product distribution management agency can independently store basic identity information about individuals or medical institutions and issue identity certificates.

판매자는, 자신의 웹사이트를 액세스하거나 점포를 방문한 고객에게 온라인 또는 오프라인 상에서 대마 약품을 판매할 수도 있다. A seller may sell cannabis medicine online or offline to customers who access the seller's website or visit the store.

대마 약품의 구매(또는 판매)는 공인된 판매자에 의해 수행될 수도 있다. 제품유통관리기관은 복수의 판매자 중 대마 약품의 판매를 수행할 수 있는 판매자를 공인판매자로 선정하거나, 선정된 공인판매자 목록을 관리할 수도 있다. The purchase (or sale) of cannabis medicines may also be conducted by an authorized seller. The product distribution management agency may select a seller who can sell cannabis drugs among multiple sellers as an authorized seller, or may manage a list of selected authorized sellers.

상기 신원인증기관, 제품유통관리기관, 의료기관, 소비자, 판매자는 아래의 시스템들에서 하드웨어와 결합된 소프트웨어 상의 엔티티(entities)로 구현되어, 본 출원의 목적을 달성하기 위해 각각 다양한 동작들을 수행할 수도 있다. The identity certification agency, product distribution management agency, medical institution, consumer, and seller are implemented as entities in software combined with hardware in the systems below, and may each perform various operations to achieve the purpose of this application. there is.

도 2를 참조하면, 인증 시스템(10)은 신원인증시스템(100), 제품유통관리시스템(200), 의료기관 전자장치(300), 소비자의 전자장치(400), 판매자의 전자장치(500)를 포함할 수 있다. 신원인증시스템(100) 및 제품유통관리시스템(200)은 복수 개의 인증서버들을 포함할 수 있으나, 이하 하나의 인증 서버로 구성된 시스템(10)이 개시된다.Referring to FIG. 2, the authentication system 10 includes an identity authentication system 100, a product distribution management system 200, a medical institution electronic device 300, a consumer electronic device 400, and a seller's electronic device 500. It can be included. The identity authentication system 100 and the product distribution management system 200 may include a plurality of authentication servers, but a system 10 consisting of one authentication server is disclosed below.

신원인증시스템(100)이란 신원인증기관에 의하여 운영되는 시스템이다. 제품유통관리시스템(200)이란 제품유통관리기관에 의하여 운영되는 시스템이다. 의료기관 전자장치(300)는 대마약품 처방을 수행하는 의료기관이 소지한 전자장치(예: PC, 태블릿, 서버 장치)이다. 소비자의 전자장치(400)는 대마 약품의 처방 대상인 개인의 전자장치(예: 스마트폰, 태블릿, 개인 PC)이다. 판매자의 전자장치(500)는 특정 개인이 유효한 구매권한을 갖는 지, 즉 유효한 처방 대상인지 여부를 확인하는 타인, 회사 등이 소유한 전자장치(예: PC, 태블릿, 서버 장치)이다. 서버 장치 및 전자장치의 구조 및 동작은 도 3 및 도 4를 통하여 후술된다.The identity authentication system 100 is a system operated by an identity authentication agency. The product distribution management system 200 is a system operated by a product distribution management agency. The medical institution electronic device 300 is an electronic device (e.g., PC, tablet, server device) owned by a medical institution that prescribes cannabis drugs. The consumer's electronic device 400 is a personal electronic device (e.g., smartphone, tablet, personal PC) for which cannabis medicine is prescribed. The seller's electronic device 500 is an electronic device (e.g., PC, tablet, server device) owned by another person, company, etc. that verifies whether a specific individual has valid purchasing authority, that is, whether he or she is subject to a valid prescription. The structure and operation of the server device and electronic devices will be described later through FIGS. 3 and 4.

신원인증시스템(100)은 소비자 개인에 대한 신원 인증서(이하, “소비자 신원 인증서”)를 발행할 수 있고, 발행한 소비자 신원 인증서를 소비자의 전자장치(400)로 전송할 수 있다. 신원인증시스템(100)은 의료 기관에 대한 의료기관 인증서를 발행할 수 있고, 발행한 인증서는 의료기관 전자장치(300)로 전송할 수 있다. 소비자의 전자장치(400)는 수신된 신원 인증서를 저장할 수 있다. 의료기관 전자장치(300)는 수신된 의료기관 인증서를 저장할 수 있다.The identity authentication system 100 can issue an identity certificate (hereinafter, “consumer identity certificate”) for an individual consumer, and transmit the issued consumer identity certificate to the consumer's electronic device 400. The identity authentication system 100 can issue a medical institution certificate for the medical institution, and the issued certificate can be transmitted to the medical institution electronic device 300. The consumer's electronic device 400 may store the received identity certificate. The medical institution electronic device 300 may store the received medical institution certificate.

또한, 신원인증시스템(100)은 판매자에 대한 신원 인증서(이하, “판매자 신원 인증서”)를 발행할 수 있고, 발행한 판매자 신원 인증서를 판매자의 전자장치(500)로 전송할 수도 있다. 판매자의 전자장치(500)는 수신된 신원 인증서를 저장할 수도 있다. Additionally, the identity authentication system 100 may issue an identity certificate (hereinafter, “seller identity certificate”) for the seller, and may transmit the issued seller identity certificate to the seller’s electronic device 500. The seller's electronic device 500 may store the received identity certificate.

다양한 실시 예에서, 의료기관 인증서는 특정 의료기관임을 식별할 수 있게 하는 확인증으로 이해될 수 있다. 의료기관 인증서는 의료기관 자체에 대한 확인증이거나, 의료기관 대표자에 대한 신원 인증서일 수 있다.In various embodiments, a medical institution certificate may be understood as a confirmation that identifies a specific medical institution. A medical institution certificate may be a confirmation of the medical institution itself or an identity certificate of a representative of the medical institution.

또한, 일부 실시 예들에서, 상기 의료기관 인증서는 해당 의료기관에서 근무하는 의료진 인증서를 포함할 수도 있다. 상기 의료진 인증서는 의료진 식별번호(예컨대, 등록번호, 또는 신고번호) 등을 포함할 수도 있다. Additionally, in some embodiments, the medical institution certificate may include a certificate of a medical staff member working at the medical institution. The medical staff certificate may include a medical staff identification number (eg, registration number, or report number).

제품유통관리시스템(200)은 특정 의료기관이 대마 약품을 처방할 권한이 있음을 인증하는, 처방기관 인증서를 발행하고 발행한 인증서를 의료기관 전자장치(300)로 전송할 수 있다. 의료기관 전자장치(300)는 수신된 처방기관 인증서를 저장할 수 있다.The product distribution management system 200 may issue a prescribing institution certificate certifying that a specific medical institution has the authority to prescribe cannabis drugs and transmit the issued certificate to the medical institution electronic device 300. The medical institution electronic device 300 may store the received prescribing institution certificate.

제품유통관리시스템(200)이 처방기관 인증서를 발행할 때, 제품유통관리시스템(200)은 신원인증시스템(100) 또는 의료기관 전자장치(300)로부터 의료기관 인증서를 수신할 수 있다. 제품유통관리시스템(200)은 의료기관 인증서에 기초하여 특정 의료기관 인지 여부를 식별하고 미리 설정된 처방기관 조건을 만족한 의료기관에 대해 상기 처방기관 인증서를 발행할 수 있다. 제품유통관리시스템(200)은 의료기관 인증서 내 정보를 미리 설정된 처방기관 조건에 적용하여 의료기관 인증서 내 정보가 상기 처방기관 조건을 만족한 경우 처방 권한이 있는 의료기관으로 식별할 수도 있다. When the product distribution management system 200 issues a prescribing institution certificate, the product distribution management system 200 may receive the medical institution certificate from the identity authentication system 100 or the medical institution electronic device 300. The product distribution management system 200 can identify whether the medical institution is a specific medical institution based on the medical institution certificate and issue the prescribing institution certificate to the medical institution that satisfies preset prescribing institution conditions. The product distribution management system 200 may apply the information in the medical institution certificate to preset prescribing institution conditions and identify the medical institution as a medical institution with prescribing authority if the information in the medical institution certificate satisfies the prescribing institution conditions.

또한, 제품유통관리시스템(200)은 판매자 인증서에 기초하여 특정 판매자 인지 여부를 식별하고 미리 설정된 판매자 조건을 만족한 판매자에 대해 판매권한 인증서를 발행할 수 있다. 제품유통관리시스템(200)은 판매자 인증서 내 정보를 미리 설정된 판매자 조건에 적용하여 판매자 인증서 내 정보가 상기 판매자 조건을 만족한 경우 판매권한이 있는 판매자로 식별할 수도 있다. Additionally, the product distribution management system 200 can identify whether a seller is a specific seller based on the seller certificate and issue a sales authority certificate to the seller who satisfies preset seller conditions. The product distribution management system 200 may apply the information in the seller certificate to preset seller conditions and identify the seller as a seller with sales authority if the information in the seller certificate satisfies the seller conditions.

의료기관 전자장치(300)는 소비자인 사용자를 식별할 수도 있다. 예를 들어, 의료기관 전자장치(300)는 소비자의 전자장치(300)에 저장된 소비자 신원 인증서를 수신하고, 수신된 소비자 신원 인증서를 기초로 소비자의 전자장치(300)의 소유자인 개인을 식별할 수 있다. The medical institution electronic device 300 may identify a user who is a consumer. For example, the medical institution electronic device 300 may receive a consumer identity certificate stored in the consumer's electronic device 300 and identify the individual who is the owner of the consumer's electronic device 300 based on the received consumer identity certificate. there is.

또한, 의료기관 전자장치(300)는 대마 약품의 처방이 완료된 후, 대마 약품의 처방 관련 정보를 포함한 처방전 정보를 생성할 수도 있다. 상기 처방전 정보는, 예를 들어 처방 시간, 처방 의료기관, 처방 대상의 소비자의 건강 상태, 복용될 대마 약품 관련 정보, 복용 기간, 복용 회수, 복용 수량, 부작용, 기타 복용 정보 중 하나 이상을 포함한, 처방 사실을 서술하는 정보를 포함할 수도 있다. 상기 복용 수량은 1회당 단위 복용 수량, 1일당 복용 회수 등을 포함할 수도 있다. Additionally, the medical institution electronic device 300 may generate prescription information including information related to the prescription of the cannabis drug after the prescription for the cannabis drug is completed. The prescription information includes, for example, one or more of the following: prescription time, prescribing medical institution, health condition of the consumer to whom the prescription is prescribed, information related to the cannabis drug to be taken, period of taking, number of doses, dosage, side effects, and other dosage information. It may also contain factual information. The dosage quantity may include the unit dosage quantity per time, the number of dosages per day, etc.

상기 대마 약품 관련 정보는 예를 들어 대마 약품의 명칭, 제조사, 임상 정보, 식별 정보, 유통 정보 중 하나 이상을 포함한, 소비자에게 적용될 대마 약품을 서술하는 정보를 포함할 수도 있다. The cannabis medicine-related information may include, for example, information describing the cannabis medicine to be applied to the consumer, including one or more of the name, manufacturer, clinical information, identification information, and distribution information of the cannabis medicine.

또한, 의료기관 전자장치(300)는 제품유통관리시스템(200)가 특정 소비자의 처방 인증서를 발행하도록, 소비자의 개인정보, 및 처방전 정보를 제품유통관리시스템(200)으로 전송할 수도 있다. Additionally, the medical institution electronic device 300 may transmit the consumer's personal information and prescription information to the product distribution management system 200 so that the product distribution management system 200 issues a prescription certificate for a specific consumer.

소비자의 전자장치(400)는 제품유통관리시스템(200)에서 발행한 구매권한 인증서(예: 처방 인증서)를 수신하고, 이를 저장할 수도 있다. The consumer's electronic device 400 may receive a purchase authorization certificate (e.g., prescription certificate) issued by the product distribution management system 200 and store it.

소비자의 전자장치(400)는 대마 약품의 구매 권한이 유효한 것에 대한 인증을 요구하는 다른 주체의 전자장치 또는 판매자의 전자장치(500)에 처방 인증서에 포함된 적어도 일부의 정보를 전송할 수 있다.The consumer's electronic device 400 may transmit at least some of the information included in the prescription certificate to the seller's electronic device 500 or another entity's electronic device that requests authentication that the authority to purchase cannabis medicine is valid.

판매자의 전자장치(500)는 소비자의 전자장치(400)에 저장된 처방 인증서를 수신하고, 수신한 처방 인증서를 분석하여 상기 소비자가 대마 약품의 구매 권한을 갖고 있는지 확인하고, 확인된 소비자에게 대마 약품을 판매할 수도 있다. The seller's electronic device 500 receives the prescription certificate stored in the consumer's electronic device 400, analyzes the received prescription certificate, confirms whether the consumer has the authority to purchase cannabis medicine, and provides the cannabis medicine to the confirmed consumer. can also be sold.

판매자의 전자장치(500)는 소비자인 사용자를 식별할 수도 있다. 예를 들어, 판매자의 전자장치(500)는 의료기관 전자장치(300)와 마찬가지로 소비자의 전자장치(300)에 저장된 소비자 신원 인증서를 수신하고, 수신된 소비자 신원 인증서를 기초로 소비자의 전자장치(300)의 소유자인 개인을 식별할 수 있다. The seller's electronic device 500 may also identify a user who is a consumer. For example, the seller's electronic device 500, like the medical institution electronic device 300, receives the consumer identity certificate stored in the consumer's electronic device 300, and based on the received consumer identity certificate, the consumer's electronic device 300 ) can identify the individual who owns it.

또한, 일부 실시 예들에서, 상기 판매자의 전자장치(500)는 대마 약품에 부착된 식별 이미지(예: 바코드, QR 코드)를 인식함으로써 상기 대마 약품 정보를 자동으로 획득하거나, 또는 판매자의 사용자 입력을 통해 직접 획득할 수도 있다. Additionally, in some embodiments, the seller's electronic device 500 automatically obtains the cannabis drug information by recognizing an identification image (e.g., barcode, QR code) attached to the cannabis drug, or uses the seller's user input. You can also obtain it directly.

이러한 상기 판매자의 전자장치(500)는 소비자의 전자장치(400)와 동일하거나 또는 다른 하드웨어로 구현될 수도 있다. 예를 들어, 판매자의 전자장치(500)는 소비자의 전자장치(400)와 스마트폰과 같은 동일한 하드웨어로 구현되거나, 또는 POS 단말기와 같은 상이한 하드웨어로 구현될 수도 있다.The seller's electronic device 500 may be implemented with hardware that is the same as or different from the consumer's electronic device 400. For example, the seller's electronic device 500 may be implemented with the same hardware as the consumer's electronic device 400, such as a smartphone, or may be implemented with different hardware, such as a POS terminal.

본 명세서에서 개시되는 인증서는 발행자에 의하여 디지털 서명될 수 있다. 디지털 서명이란 발행자의 신원을 증명하는 수단이 될 수 있방법이다. 예를 들어, 발행자는 자신의 디지털 신원에 대응되는 을 위한 식별자(Identifier)를 이용하여 인증서에 디지털 서명을 할 수 있다. 인증서 수신자는 상기 디지털 서명을 통해 인증서의 발행자가 누구인지 여부를 확인할 수 있다의 신원을 증명할 수 있게 된다. 인증 시스템(10)에 포함되는 각 주체들(신원인증시스템(100), 제품유통관리시스템(200), 의료기관의 전자장치(300), 소비자의 전자장치(400), 판매자의 전자장치(500))은 각자의 식별자를 가질 수 있고, 상기 식별자를 이용하여 디지털 서명된 인증서를 발행할 수 있다. The certificate disclosed herein may be digitally signed by the issuer. A digital signature is a means of proving the identity of the issuer. For example, an issuer can digitally sign a certificate using an identifier for that corresponds to its digital identity. The recipient of the certificate can verify the identity of the issuer of the certificate through the digital signature. Each entity included in the authentication system 10 (identity authentication system 100, product distribution management system 200, medical institution's electronic device 300, consumer's electronic device 400, seller's electronic device 500) ) may have their own identifier, and a digitally signed certificate may be issued using the identifier.

다양한 실시 예에서, 디지털 서명은 다양한 알고리즘으로 구성될 수 있다. 키 생성 알고리즘(A key generation algorithm), 서명 알고리즘(A signing algorithm), 서명 검증 알고리즘(A signature verifying algorithm)이 활용될 수 있다. 일 예에서, RSA 알고리즘이 활용될 수 있다.In various embodiments, digital signatures may consist of various algorithms. A key generation algorithm, a signing algorithm, and a signature verifying algorithm can be used. In one example, the RSA algorithm may be utilized.

신원인증시스템(100)은 신원 증명서 및 의료기관 증명서에 자신 식별자로의 디지털 서명을 할 수 있다. 제품유통관리시스템(200)은 처방 인증서에 자신의 식별자로 디지털 서명을 할 수 있다. 신원 증명서 또는 처방 인증서를 수신한 수신자는 디지털 서명을 통해 발행자를 확인할 수 있고, 증명서의 내용을 신뢰할 수 있다.The identity authentication system 100 can digitally sign an identity certificate and a medical institution certificate with its own identifier. The product distribution management system 200 can digitally sign the prescription certificate with its own identifier. Recipients who receive an identity certificate or prescription certificate can verify the issuer through a digital signature and trust the contents of the certificate.

예를 들어 키 생성 알고리즘의 경우, 신원인증시스템(100) 또는 제품유통관리시스템(200)은 자신의 비밀키로 인증서에 서명을 할 수 있다. 인증서 수신자는 신원인증시스템(100) 또는 제품유통관리시스템(200) 소유의 공개키로 처방 인증서를 해독할 수 있다.For example, in the case of a key generation algorithm, the identity authentication system 100 or the product distribution management system 200 can sign a certificate with its own secret key. The certificate recipient can decrypt the prescription certificate with a public key owned by the identity authentication system 100 or the product distribution management system 200.

본 문서에서 개시되는 인증서는 제3 자에 의하여 검증 가능하도록(verifiable) 설계될 수 있다. 즉, 시스템(10) 상에서 발급되고 유통되는 증명서는 특정 신뢰 기관(예: 신원인증기관, 제품유통관리기관)이 아닌 모두에 의하여 검증될 수 있다.The certificate disclosed in this document may be designed to be verifiable by a third party. In other words, certificates issued and distributed on the system 10 can be verified by anyone other than a specific trust agency (e.g., identity certification agency, product distribution management agency).

예를 들어 키 생성 알고리즘의 경우, 공개 키는 중앙화 된 특정 중앙 기관에 보관되지않고, 복수 개의 신뢰 기관들의 연합된 ID 관리 시스템 또는 분산원장(distributed ledger)과 같은 탈 중앙화된 P2P 네트워크에 보관될 수 있다. 이로서 누구나 접근 가능한 장소에 보관된 공개키를 값을 활용하여 인증서를 검증할 수 있다.For example, in the case of a key generation algorithm, the public key may not be stored in a specific central authority, but in a decentralized P2P network such as a federated identity management system of multiple trusted institutions or a distributed ledger. there is. As a result, the certificate can be verified using the public key stored in a place accessible to anyone.

예를 들어, 제품유통관리시스템(200)에 의하여 디지털 서명된 처방 인증서를 수신한 수신자는 제품유통관리기관을 통해 상기 처방 인증서를 인증하지 않더라도, 공개된 제품유통관리기관의 디지털 서명을 통해 상기 처방 인증서가 제품유통관리기관에 의하여 발행되었음을 직접 확인할 수 있고, 처방 인증서의 내용을 신뢰할 수 있다.For example, a recipient who has received a prescription certificate digitally signed by the product distribution management system 200 may authenticate the prescription through the digital signature of a public product distribution management agency, even if the prescription certificate is not authenticated through the product distribution management agency. You can directly confirm that the certificate was issued by a product distribution management agency, and you can trust the contents of the prescription certificate.

다양한 실시 예에서, 소비자의 전자장치(400)는 처방 인증서의 내용의 일부를 가공한 증명서를 생성할 수 있다. 소비자의 전자장치(400)는 가공된 인증서를 판매자의 전자장치(500)로 전송할 수 있다. 가공의 목적은 처방 인증서에 포함된 모든 내용을 제3 자에게 전송하지 않고, 필수적인 내용만 포함되도록 함으로써 프라이버시를 보호하기 위함이다. 예를 들어 처방 사실의 유효성, 처방 대상의 대마 약품만 증명을 하면 되는 경우, “어떤 원인으로 처방을 받았는지’, ‘어떤 의료기관에서 처방을 받았는지” 등과 같은 정보는 제외하고, “처방 사실”, “대마 약품 정보”을 포함한 증명서가 판매자의 전자장치(500)에 전송될 수 있다. In various embodiments, the consumer's electronic device 400 may generate a certificate that processes part of the contents of the prescription certificate. The consumer's electronic device 400 may transmit the processed certificate to the seller's electronic device 500. The purpose of processing is to protect privacy by ensuring that all contents contained in the prescription certificate are not transmitted to a third party and only essential contents are included. For example, in cases where you only need to prove the validity of the prescription and the cannabis medicine to be prescribed, information such as “for what reason the prescription was received” and “from which medical institution the prescription was received” is excluded, and “prescription facts” , a certificate containing “cannabis drug information” may be transmitted to the seller’s electronic device 500.

상기 인증 시스템(10)은 블록체인 네트워크(600) 기반으로 운영될 수 있다. 상기 인증 시스템(10)의 블록체인 네트워크(600)는 공지의 퍼블릭 블록체인 중 적어도 하나의 블록체인 네트워크를 포함할 수 있다. 각 주체들(100, 200, 300, 400)의 디지털 서명을 위한 키 값은 블록체인 네트워크(600)에 보관될 수 있다. 예를 들어, 각 주체들(100, 200, 300, 400)의 식별자는 블록체인 네트워크(600)의 계정(account)이나 주소 값이 될 수 있다.The authentication system 10 may be operated based on a blockchain network 600. The blockchain network 600 of the authentication system 10 may include at least one blockchain network among known public blockchains. The key value for the digital signature of each subject (100, 200, 300, and 400) may be stored in the blockchain network 600. For example, the identifier of each subject (100, 200, 300, 400) may be an account or address value of the blockchain network 600.

블록체인 네트워크(600)를 활용함으로써, 상기 인증 시스템(10)은 국부적 지역(local region) 보다 넓은 광역 시스템 또는, 국가 단위를 뛰어 넘는 글로벌 시스템으로 기능할 수 있다. 특히, 글로벌 플랫폼인 블록체인 네트워크(600) 기반으로 인증서 발행과 검증이 이루어질 수 있으므로, 각국의 신뢰기관이나 각국마다 다른 인증 시스템의에 제약을 받지 않고, 처방 인증서 발행 및 검증이 이루어질 수 있다. By utilizing the blockchain network 600, the authentication system 10 can function as a regional system wider than a local region or as a global system beyond a national unit. In particular, since certificate issuance and verification can be performed based on the blockchain network 600, which is a global platform, prescription certificate issuance and verification can be performed without being restricted by trust agencies in each country or authentication systems that differ in each country.

일 실시 예에서, 신원인증시스템(100), 제품유통관리시스템(200), 의료기관 전자장치(300) 소비자의 전자장치(400), 및 판매자의 전자장치(500)는 블록체인 네트워크(600)와 통신을 수행하고, 블록체인 네트워크(600) 상의 계정에 접속할 수 있도록 하는 적어도 하나의 어플리케이션이 저장될 수 있다. 상기 적어도 하나의 어플리케이션은 블록체인 네트워크(600)의 지갑(wallet) 어플리케이션을 포함할 수 있다.In one embodiment, the identity authentication system 100, the product distribution management system 200, the medical institution electronic device 300, the consumer electronic device 400, and the seller's electronic device 500 are connected to the blockchain network 600 and At least one application that performs communication and allows access to an account on the blockchain network 600 may be stored. The at least one application may include a wallet application of the blockchain network 600.

일 실시 예에서, 인증 시스템(10)에서 발급 및 유통되는 인증서는 미리 설정된 표준 규약에 따라 설계된 검증가능한 크레덴셜(verifiable credential, VC)의 스펙을 가질 수 있다. 상기 표준 규약은, 예를 들어 W3C 표준 규약일 수도 있으나, 이에 제한되진 않는다. 시스템(100)의 주체들(100, 200, 300, 400, 500) 중 적어도 하나는 VC의 발행자(Issuer)가 될 수 있다.In one embodiment, a certificate issued and distributed by the authentication system 10 may have specifications of a verifiable credential (VC) designed according to preset standard protocols. The standard protocol may be, for example, the W3C standard protocol, but is not limited thereto. At least one of the subjects 100, 200, 300, 400, and 500 of the system 100 may be an issuer of a VC.

일 예에서, 가공된 인증서는 W3C 표준 규약에 따라 설계된 검증가능한 프레젠테이션(Verifiable Presentation, VP)의 스펙을 가질 수 있다. VP는 하나의 VC에 포함된 클레임들(Claims) 중 일부 클레임으로 구성될 수 있고, 복수의 VC들로 구성될 수 있다. 또한 VP는 서로 다른 발행자에 의하여 서명된 VC들을 포함할 수 있다. 인증 시스템(10)의 주체들(100, 200, 300, 400, 500)은 하나 이상의 VC들로부터 필요한 정보만을 포함한 VP를 발행할 생성 또는 발행할 수 있다.In one example, the processed certificate may have a Verifiable Presentation (VP) specification designed according to W3C standard protocols. A VP may be composed of some of the claims included in one VC and may be composed of multiple VCs. Additionally, a VP may contain VCs signed by different issuers. Subjects 100, 200, 300, 400, and 500 of the authentication system 10 may create or issue a VP containing only necessary information from one or more VCs.

블록체인 네트워크(600) 하에서 사용되는 디지털 서명 또는 디지털 식별자는 W3C 표준 규약에 따른 탈 중앙화된 식별자(Decentralized Identifiers, DID)로 구현될 수도 있으나, 이에 제한되진 않는다. The digital signature or digital identifier used under the blockchain network 600 may be implemented as Decentralized Identifiers (DID) according to the W3C standard protocol, but is not limited thereto.

다양한 실시 예에서, VC는 발행자의 식별자 및 발행 대상의 식별자를 포함할 수 있다. 예를 들어 소비자의 전자장치(400)의 소유자에 대한 VC가 신원인증시스템(100)에 의하여 발행된 경우, VC는 신원인증시스템(100)의 식별자 정보(제1 식별자)와 소비자의 전자장치(400)의 식별자 정보(제2 식별자)를 포함할 수 있다. 이는 VC가 제1 식별자에 의해 제2 식별자로 발행되었다는 의미를 포함할 수 있다.In various embodiments, the VC may include an identifier of the issuer and an identifier of the issuer. For example, when a VC for the owner of the consumer's electronic device 400 is issued by the identity authentication system 100, the VC includes the identifier information (first identifier) of the identity authentication system 100 and the consumer's electronic device ( 400) of identifier information (second identifier). This may include the meaning that the VC was issued as a second identifier by a first identifier.

또한, 소비자의 전자장치(400)는 상기 VC에 대해 자신의 제2 식별자로 서명함으로써 VP를 생성할 수 있다. 이로써, VP는 제1 식별자에 의하여 제2 식별자에게 발행된 VC를 현재 제2 식별자의 주인이 소유하고 있다는 정보를 포함할 수 있다. 따라서 VC의 일부 정보를 포함하는 VP를 수신한 제3자(예컨대, 판매자)는, VC의 정당한 소유자로부터 인증 정보를 수신한 것을 확인할 수 있고, 상기 인증 정보를 신뢰할 수 있다. 예를 들어, VP를 수신한 판매자는 가공된 인증서 내 VP를 생성한 자의 제2 식별자와 VC에 포함된 제2 식별자의 일치 여부를 확인함으로써, VC의 정당한 소유자가 생성한 VP를 전송 받았음을 확인할 수 있고, VP내에 저장된 정보를 신뢰할 수 있다.Additionally, the consumer's electronic device 400 may generate a VP by signing the VC with its second identifier. Accordingly, the VP may include information that the owner of the second identifier currently owns the VC issued to the second identifier by the first identifier. Accordingly, a third party (eg, a seller) who has received a VP containing some information of the VC can confirm that authentication information has been received from the rightful owner of the VC and can trust the authentication information. For example, the seller who received the VP can confirm that it has received the VP created by the rightful owner of the VC by checking whether the second identifier of the person who created the VP in the processed certificate matches the second identifier included in the VC. and the information stored in the VP can be trusted.

상기 인증 시스템(10)의 각 주체들(100, 200, 300, 400, 500)은 상호간의 인증서의 검증을 위하여 상기 블록체인 네트워크(600)를 이용할 수도 있다. 일부 실시 예들에서, 블록체인 네트워크(600)는 ID 레지스트리(610, 620)를 저장할 수 있다.Each subject (100, 200, 300, 400, and 500) of the authentication system 10 may use the blockchain network 600 to verify mutual certificates. In some embodiments, blockchain network 600 may store ID registries 610 and 620.

상기 인증 시스템(10)의 각 주체들(100, 200, 300, 400, 500)은 상호간의 인증서의 검증을 위하여 블록체인 네트워크(600)의 DID 레지스트리(610, 620)에 대한 접근하고, 상기 레지스트리에 저장된 ID들을 열람할 권한을 가질 수 있다.Each subject (100, 200, 300, 400, 500) of the authentication system 10 accesses the DID registry 610, 620 of the blockchain network 600 to verify mutual certificates, and the registry You can have the authority to view IDs stored in .

ID 레지스트리(610, 620)에는 인증 시스템(10)의 주체들의 식별자(예: DID)가 저장될 수 있다. 상기 식별자는 인증 시스템(10)의 주체의 공개키일 수도 있다. 예를 들어, ID레지스트리(610, 620)에는 신원인증시스템(100), 제품유통관리시스템(200), 의료기관 전자장치(300) 소비자의 전자장치(400), 판매자의 전자장치(500)의 DID가 공개키로서 저장될 수 있다.ID registries 610 and 620 may store identifiers (eg, DIDs) of subjects of the authentication system 10. The identifier may be the public key of the subject of the authentication system 10. For example, the ID registry (610, 620) contains the DID of the identity authentication system (100), the product distribution management system (200), the medical institution electronic device (300), the consumer's electronic device (400), and the seller's electronic device (500). can be stored as a public key.

특정 실시 예들에서, 상기 인증 시스템(10)의 블록체인 네트워크(600)는 거래 시스템(100)의 블록체인 네트워크(600)를 포함할 수도 있다. In certain embodiments, the blockchain network 600 of the authentication system 10 may include the blockchain network 600 of the transaction system 100.

이하 블록체인 네트워크(600) 기반의 인증 시스템(10)을 예를 들어 설명한다. 다만 이에 한정되는 것은 아니고 공개된 신뢰가능한 다른 네트워크가 채용될 수 있다.Hereinafter, the authentication system 10 based on the blockchain network 600 will be described as an example. However, it is not limited to this and other publicly trusted networks may be employed.

일 실시 예에서, 블록체인 네트워크(600)은 제1 ID레지스트리(610) 및 제2 ID레지스트리(620)를 포함할 수 있다. 제1 ID레지스트리(610)는 신원인증시스템(100) 및 제품유통관리시스템(200)에 의해 관리되는 저장 공간으로 이해될 수 있다. 제1 ID레지스트리(610)에 저장되는 데이터는 신뢰기관(100, 200)들에 의해 입력, 수정, 삭제될 수 있다. 따라서 의료기관 전자장치(300), 소비자의 전자장치(400) 및 판매자의 전자장치(500)는 제1 ID 레지스트리(610)에 저장된 데이터를 열람할 수 있지만, 제1 ID 레지스트리(610)에 저장된 데이터를 수정하거나 삭제할 수 없고, 제1 ID 레지스트리(610)에 신규 데이터를 추가할 수 없다. 반면에 제2 ID레지스트리(620)에 저장되는 데이터는 각 주체들(100, 200, 300, 400, 500)에 의하여 입력, 수정, 삭제될 수 있다. 따라서 신뢰기관(100, 200)에 의해 제공되는 정보가 블록체인 네트워크(600)에 저장될 수 있고, 이를 열람하는 주체는 상기 정보를 신뢰할 수 있다.In one embodiment, the blockchain network 600 may include a first ID registry 610 and a second ID registry 620. The first ID registry 610 can be understood as a storage space managed by the identity authentication system 100 and the product distribution management system 200. Data stored in the first ID registry 610 can be entered, modified, or deleted by the trust organizations 100 and 200. Accordingly, the medical institution's electronic device 300, the consumer's electronic device 400, and the seller's electronic device 500 can view the data stored in the first ID registry 610, but the data stored in the first ID registry 610 cannot be modified or deleted, and new data cannot be added to the first ID registry 610. On the other hand, data stored in the second ID registry 620 can be entered, modified, and deleted by each subject (100, 200, 300, 400, and 500). Therefore, information provided by the trust institutions 100 and 200 can be stored in the blockchain network 600, and subjects who view it can trust the information.

도 3a 및 도 3b는, 본 출원의 일 실시 예에 따른 신원인증시스템(100) 및 제품유통관리시스템(200)의 블록도이다. Figures 3a and 3b are block diagrams of the identity authentication system 100 and the product distribution management system 200 according to an embodiment of the present application.

다양한 실시 예에서 신원인증시스템(100) 및 제품유통관리시스템(200)은 통합될 수 있다. 신원인증시스템(100) 및 제품유통관리시스템(200)은 하나의 서버 장치로 예를 들어 도시 되었으나, 복수의 서버 장치로 구성될 수 있다.In various embodiments, the identity authentication system 100 and the product distribution management system 200 may be integrated. The identity authentication system 100 and the product distribution management system 200 are shown as an example as one server device, but may be composed of a plurality of server devices.

일 실시 예에서, 신원인증시스템(100)은 프로세서(110), 메모리(120), 통신회로(130)를 포함할 수 있다. 프로세서(110)는 신원인증시스템(100)의 동작 전반을 제어할 수 있다. 신원인증시스템(100)은 통신회로(130)를 통하여 시스템(10)의 다른 주제들(200, 300, 400, 500)과 데이터를 송수신할 수 있다.In one embodiment, the identity authentication system 100 may include a processor 110, a memory 120, and a communication circuit 130. The processor 110 can control the overall operation of the identity authentication system 100. The identity authentication system 100 can transmit and receive data with other subjects 200, 300, 400, and 500 of the system 10 through the communication circuit 130.

일 실시 예에서, 메모리(120)는 신원 인증서를 발행할 대상인 개인들에 대한 신원 정보를 포함하는 소비자 DB(122)를 포함할 수 있다. 신원 확인 대상의 개인은 DB(122)에서 데이터베이스 객체로 취급될 수도 있다. 소비자 DB(122)는 각각의 개인에 대해, 표 1에 도시된 항목의 데이터를 포함할 수 있다. 소비자 DB(122)에 기초하여 개인에 대한 소비자 신원 인증서가 발행될 수 있다.In one embodiment, memory 120 may include consumer DB 122 containing identity information about individuals to whom identity certificates are to be issued. An individual subject to identification may be treated as a database object in DB 122. Consumer DB 122 may include data of the items shown in Table 1 for each individual. A consumer identity certificate may be issued for the individual based on the consumer DB 122.

항목item 1 One 디지털 신원 식별자(예: DID)Digital identity identifier (e.g. DID) 22 성명name 3 3 생년월일birth date 44 전화번호phone number 55 개인 식별번호 (예: 주민번호, 운전면허번호, 기타 신분증 번호)Personal identification number (e.g. resident registration number, driver's license number, other ID number) 66 푸시 알림 토큰push notification token

또한, 메모리(120)는 의료기관 인증서를 발행할 대상인 의료기관들에 대한 의료기관DB(124)를 포함할 수 있다. 의료기관DB(124)는, 각각의 의료기관에 대해, 표2에 도시된 항목의 데이터를 포함할 수 있다. 의료기관DB(124)에 기초하여 의료기관에 대한 의료기관 인증서가 발행될 수 있다.Additionally, the memory 120 may include a medical institution DB 124 for medical institutions to which medical institution certificates are to be issued. The medical institution DB 124 may include data of the items shown in Table 2 for each medical institution. A medical institution certificate for a medical institution may be issued based on the medical institution DB 124.

항목item 1 One 디지털 신원 식별자(예: DID)Digital identity identifier (e.g. DID) 22 의료기관 명칭Medical institution name 33 의료기관 주소Medical institution address 4 4 의료기관 전화번호(또는 의료인 전화번호)Telephone number of medical institution (or telephone number of medical professional) 5 5 의료기관 식별번호 (예: 기관 등록번호 등)Medical institution identification number (e.g. institution registration number, etc.)

또한, 메모리(120)는 판매자 인증서를 발행할 대상인 판매자들에 대한 판매자 DB(126)를 포함할 수도 있다. 판매자 DB(126)는, 각각의 판매자에 대해, 표 3에 도시된 항목의 데이터를 포함할 수도 있다. 판매자 DB(126)에 기초하여 판매자에 대한 판매자 인증서가 발행될 수 있다.Additionally, the memory 120 may include a seller DB 126 for sellers to whom seller certificates are to be issued. The seller DB 126 may include data of the items shown in Table 3 for each seller. A seller certificate for the seller may be issued based on the seller DB 126.

항목item 1One 디지털 신원 식별자(예: DID)Digital identity identifier (e.g. DID) 22 성명name 33 생년월일birth date 44 판매자 전화번호Seller phone number 55 주소 또는 웹사이트Address or website 66 판매자 식별번호 (법인/점포 등록번호, 개인 식별번호 등)Seller identification number (corporate/store registration number, personal identification number, etc.)

일 실시 예에서, 프로세서(110)는 소비자 인증서 발행모듈(112)과 의료기관 인증서 발행모듈(114), 및 판매자 인증서 발행모듈(116)을 포함할 수 있다. 프로세서(110)는 메모리(120)에 저장된 명령어들을 실행하여 소비자 인증서 발행모듈(112), 의료기관 인증서 발행모듈(114), 판매자 인증서 발행모듈(116)을 각각 구동시킬 수 있다. 소비자 인증서 발행모듈(112), 의료기관 인증서 발행모듈(114), 판매자 인증서 발행모듈(116)에 의하여 수행되는 동작은 프로세서(110)에 의하여 수행되는 동작으로 이해될 수 있다. 기타 신원인증시스템(100)에 의하여 수행되는 것으로 기술된 동작들은 프로세서(110)에 의하여 수행되는 동작으로 이해될 수 있다.In one embodiment, the processor 110 may include a consumer certificate issuance module 112, a medical institution certificate issuance module 114, and a seller certificate issuance module 116. The processor 110 may execute instructions stored in the memory 120 to drive the consumer certificate issuance module 112, the medical institution certificate issuance module 114, and the seller certificate issuance module 116, respectively. Operations performed by the consumer certificate issuance module 112, the medical institution certificate issuance module 114, and the seller certificate issuance module 116 may be understood as operations performed by the processor 110. Other operations described as being performed by the identity authentication system 100 may be understood as operations performed by the processor 110.

소비자 인증서 발행모듈(112)은 메모리(120)에 저장된 소비자 DB(122)를 이용하여 소비자 신원 인증서를 발행급할 수 있다. 예를 들어, 소비자 DB(122)에 포함된 데이터의 적어도 일부를 포함하는 소비자 신원 인증서를 생성할 수 있다. 생성된 소비자 신원 인증서에 신원인증시스템(100)의 디지털 신원 식별자로 디지털 서명을 할 수 있다. 상기 소비자 신원 인증서는 소비자 신원 인증서 발행 대상인 개인의 식별자를 포함할 수 있다.The consumer certificate issuing module 112 may issue a consumer identity certificate using the consumer DB 122 stored in the memory 120. For example, a consumer identity certificate containing at least part of the data included in the consumer DB 122 may be generated. The generated consumer identity certificate can be digitally signed with the digital identity identifier of the identity authentication system 100. The consumer identity certificate may include an identifier of the individual to whom the consumer identity certificate is issued.

의료기관 인증서 발행모듈(114)은 메모리(120)에 저장된 의료기관DB(124)를 이용하여 의료기관 인증서를 발급할 수 있다. 예를 들어, 의료기관DB(124)에 포함된 데이터의 적어도 일부를 포함하는 의료기관 인증서를 생성할 수 있다. 생성된 의료기관 인증서에 신원인증시스템(100)의 디지털 신원 식별자로 디지털 서명을 할 수 있다. 상기 의료기관 인증서는 인증서 발행 대상인 의료기관의 식별자를 포함할 수 있다.The medical institution certificate issuing module 114 may issue a medical institution certificate using the medical institution DB 124 stored in the memory 120. For example, a medical institution certificate containing at least part of the data included in the medical institution DB 124 may be generated. The generated medical institution certificate can be digitally signed with the digital identity identifier of the identity authentication system 100. The medical institution certificate may include an identifier of the medical institution to which the certificate is issued.

판매자 인증서 발행모듈(116)은 메모리(120)에 저장된 판매자 DB(126)를 이용하여 판매자 인증서를 발급할 수 있다. 예를 들어, 판매자 DB(126)에 포함된 데이터의 적어도 일부를 포함하는 판매자 인증서를 생성할 수 있다. 생성된 판매자 인증서에 신원인증시스템(100)의 디지털 신원 식별자로 디지털 서명을 할 수 있다. 상기 판매자 인증서는 인증서 발행 대상인 판매자의 식별자를 포함할 수 있다.The seller certificate issuing module 116 may issue a seller certificate using the seller DB 126 stored in the memory 120. For example, a seller certificate containing at least part of the data included in the seller DB 126 may be generated. The generated seller certificate can be digitally signed with the digital identity identifier of the identity authentication system 100. The seller certificate may include the identifier of the seller to whom the certificate is issued.

일 실시 예에서, 신원인증시스템(100)은 신원인증시스템(100)가 블록체인 네트워크(600)와 통신하기 위한 지갑(wallet)을 포함할 수 있다. 지갑은 블록체인 네트워크(600)상의 신원인증시스템(100)의 계정을 포함할 수 있다. 예를 들어, 신원인증시스템(100)은 자신의 개인 키를 메모리(120)에 저장할 수 있다. 신원인증시스템(100)가 다양한 인증서를 발행할 때 자신의 개인키로 서명을 수행할 수 있다. In one embodiment, the identity authentication system 100 may include a wallet for the identity authentication system 100 to communicate with the blockchain network 600. The wallet may include an account in the identity authentication system 100 on the blockchain network 600. For example, the identity authentication system 100 may store its private key in the memory 120. When the identity authentication system 100 issues various certificates, it can perform signatures with its own private key.

다양한 실시 예에서, 상기 지갑은 DID 에이전트(DID agent)를 포함할 수 있다. DID 에이젼트는 블록체인 네트워크(600) 상의 DID를 발급 받고, DID를 조회하고, DID를 변경할 수 있다. 소비자 인증서 발행모듈(112)은 인증서를 발행한 개인의 DID, 인증서 발행 사실을 제1 레지스트리(610)에 저장할 수 있다. 의료기관 인증서 발행모듈(114)은 인증서를 발행한 대상의 DID, 인증서 발행 사실을 제1 레지스트리(610)에 저장할 수 있다. 판매자 인증서 발행모듈(116)은 인증서를 발행한 대상의 DID, 인증서 발행사실을 제1 레지스트리(610)에 저장할 수도 있다. In various embodiments, the wallet may include a DID agent. The DID agent can receive a DID on the blockchain network 600, search the DID, and change the DID. The consumer certificate issuance module 112 may store the DID of the individual who issued the certificate and the certificate issuance fact in the first registry 610. The medical institution certificate issuance module 114 may store the DID of the person who issued the certificate and the certificate issuance fact in the first registry 610. The seller certificate issuance module 116 may store the DID of the person who issued the certificate and the certificate issuance fact in the first registry 610.

특정 실시 예들에서, 상기 신원인증시스템(100)의 계정(도는 지갑)은 상기 거래 시스템(1010)에서 토큰이 입/출금되는 계좌와 매핑될 수도 있다. 또한, 상기 거래 시스템(1010)은 사용자 거래소 계좌가 신설되면, 신설된 사용자 거래소 계좌를 상기 신원인증시스템(100)에 알릴 수도 있다. 상기 구매 시스템(1)은 사용자별로 제공된 단일 계좌를 토큰의 입/출금 및 신원인증을 위해 이용할 수도 있다. In certain embodiments, an account (or wallet) of the identity authentication system 100 may be mapped to an account into which tokens are deposited/withdrawn in the transaction system 1010. Additionally, when a new user exchange account is established, the transaction system 1010 may notify the identity authentication system 100 of the newly created user exchange account. The purchase system 1 may use a single account provided for each user for token deposit/withdrawal and identity authentication.

일 실시 예에서, 제품유통관리시스템(200)은 프로세서(210), 메모리(220), 통신회로(230)를 포함할 수 있다. 프로세서(210)는 제품유통관리시스템(200)의 동작 전반을 제어할 수 있다. 제품유통관리시스템(200)은 통신회로(230)를 통하여 시스템(10)의 다른 주제들(100, 300, 400, 500)과 데이터를 송수신할 수 있다.In one embodiment, the product distribution management system 200 may include a processor 210, a memory 220, and a communication circuit 230. The processor 210 can control the overall operation of the product distribution management system 200. The product distribution management system 200 can transmit and receive data with other subjects 100, 300, 400, and 500 of the system 10 through the communication circuit 230.

일 실시 예에서, 메모리(220)는 유통 가능한 대마 약품에 대한 정보를 포함한 제품 DB(222)를 포함할 수도 있다. 제품 DB(222)는 표 4에 도시된 항목의 종류를 포함할 수 있다. 이후 서술될 대마에 대한 정보는 표 4에 포함된 적어도 하나의 데이터를 포함할 수도 있다. 또한 제품 DB(222)는 신규 정보에 따라 주기적으로 갱신될 수 있다. 제품 DB(222)의 갱신됨에 따라 의료기관 전자장치(300), 처방 인증서를 저장하고 있는 소비자의 전자장치(400) 또는 처방 인증서를 수신하는 In one embodiment, the memory 220 may include a product DB 222 containing information about available cannabis drugs. The product DB 222 may include the types of items shown in Table 4. Information about hemp to be described later may include at least one data included in Table 4. Additionally, the product DB 222 may be periodically updated according to new information. As the product DB 222 is updated, the medical institution electronic device 300, the consumer electronic device 400 storing the prescription certificate, or the device receiving the prescription certificate

처방 인증서를 저장하고 있는 소비자의 전자장치(400)에 필요한 액션이 수행될 수 있다. 상기 액션은 예를 들어, 알림 동작, 처방 인증서 갱신 동작을 포함할 수 있다.Necessary actions may be performed on the consumer's electronic device 400 storing the prescription certificate. The action may include, for example, a notification action and a prescription certificate renewal action.

항목item 1One 명칭designation 22 제조사manufacturing company 33 제품 종류 (대마, 마약, 향정신성 약품 등)Product type (cannabis, narcotics, psychotropic drugs, etc.) 44 복용 방법 (1회 복용 량, 1일 복용 회수)How to take (1 dose, number of times per day) 55 제공 원인 (처방 원인)Providing Cause (Prescribing Cause) 66 임상 정보 (부작용)Clinical information (side effects) 77 유통 정보(시리얼 번호, 유통일(제조일,수입일,배송일), 유통 방법, 유통 단위)Distribution information (serial number, distribution date (manufacturing date, import date, delivery date), distribution method, distribution unit)

상기 유통 단위는 판매 단위일 수도 있다. 상기 판매 단위는 병과 같은 단위 유통 수단, 또는 무게와 같은 단위 수량으로 표현될 수도 있다. 제품은 유통단위별로 시리얼 번호가 부여되어, 동일한 제품에 대해 유통 단위별로 식별될 수도 있다. 예를 들어, 용기별로 시리얼 번호가 부여될 수도 있다. The distribution unit may also be a sales unit. The sales unit may be expressed as a unit distribution means such as a bottle, or a unit quantity such as weight. Products are given serial numbers for each distribution unit, so the same product can be identified by distribution unit. For example, a serial number may be assigned to each container.

일 실시 예에서, 메모리(220)는 대마 약품의 처방 동작을 수행할 권한을 가지는 공인처방의료기관에 대한 정보를 포함한 공인처방기관 DB(224)를 포함할 수도 있다. 공인처방기관DB(2224)는 표 5에 도시된 항목의 데이터를 포함할 수 있다. 하나의 의료기관에 대해 대마 약품의 복용을 보증하는 처방전을 각각 생성 가능한, 복수의 처방 의료진이 존재할 수도 있다. 공인처방기관DB(224)에 기초하여 제품유통관리시스템(200)은 처방 인증서의 발행 여부를 결정할 수 있다. In one embodiment, the memory 220 may include a certified prescribing institution DB 224 that includes information about a certified prescribing medical institution that has the authority to prescribe cannabis drugs. The authorized prescribing agency DB (2224) may include data of the items shown in Table 5. There may be multiple prescribing medical staff, each of whom can create a prescription guaranteeing the use of cannabis medicine, for one medical institution. Based on the authorized prescription agency DB 224, the product distribution management system 200 can determine whether to issue a prescription certificate.

항목item 1 One 의료기관 식별번호Medical institution identification number 2 2 처방 담당 의료진medical staff in charge of prescribing 33 처방 담당 의료진 전화번호Telephone number of the prescribing physician 44 처방 담당 의료진 식별자 디지털 신원(예: DID)Prescribing provider identifier digital identity (e.g. DID) 55 처방 권한 허가 상태Prescribing Authorization Status 66 의료기관 식별자 디지털 신원 (예: DID)Healthcare Institution Identifier Digital Identity (e.g. DID)

일 실시 예에서, 메모리(220)는 대마 약품에 관한 처방에 대한 정보를 포함한 처방이력 DB(225)를 포함할 수도 있다. 상기 처방이력 DB는 처방전 정보를 포함한 처방이력을 저장한다. 처방이력 DB(225)은 표 6에 도시된 항목의 데이터를 포함할 수 있다.In one embodiment, the memory 220 may include a prescription history DB 225 that includes information on prescriptions for cannabis drugs. The prescription history DB stores prescription history including prescription information. The prescription history DB 225 may include data of the items shown in Table 6.

항목item 1One 소비자의 식별자 IDConsumer's identifier ID 22 처방된 제품 종류(대마)Type of product prescribed (cannabis) 3 3 처방된 제품(대마약품) 시리얼 번호Prescription product (cannabis) serial number 44 처방 의료기관 식별자 IDPrescribing medical institution identifier ID 5 5 소비자의 디지털 식별자(DID)Consumer Digital Identifier (DID) 66 처방 내용 (소비자의 디지털 식별자, 처방 시간, 처방 상세 내용)Prescription content (consumer's digital identifier, prescription time, prescription details)

처방 인증서 발행모듈(212)은 메모리(220)에 저장된 제품 DB(222), 공인처방기관DB(224), 및 처방이력 DB(225)를 이용하여 처방 인증서를 발행할 수 있다. 예를 들어, 제품 DB(222), 공인처방기관DB(224), 및 처방이력DB(225)에 포함된 데이터의 적어도 일부를 포함하는 처방 인증서를 생성할 수 있다. 생성된 처방 인증서에 제품유통관리시스템(200)의 디지털 신원 식별자로 디지털 서명을 할 수 있다.The prescription certificate issuing module 212 may issue a prescription certificate using the product DB 222, the authorized prescription agency DB 224, and the prescription history DB 225 stored in the memory 220. For example, a prescription certificate containing at least part of the data included in the product DB 222, the authorized prescription agency DB 224, and the prescription history DB 225 can be generated. The generated prescription certificate can be digitally signed with the digital identity identifier of the product distribution management system 200.

일 실시 예에서, 제품유통관리시스템(200)은 제품유통관리시스템(200)과 블록체인 네트워크(600)가 통신하기 위한 지갑을 포함할 수 있다. 지갑은 블록체인 네트워크(600)상의 제품유통관리시스템(200)의 계정을 포함할 수 있다. 예를 들어, 제품유통관리시스템(200)은 자신의 개인 키를 메모리(220)에 저장할 수 있다. 제품유통관리시스템(200)가 인증서를 발행할 때 자신의 개인키로 서명을 수행할 수 있다.In one embodiment, the product distribution management system 200 may include a wallet for the product distribution management system 200 and the blockchain network 600 to communicate. The wallet may include an account in the product distribution management system 200 on the blockchain network 600. For example, the product distribution management system 200 may store its private key in the memory 220. When the product distribution management system 200 issues a certificate, it can sign with its own private key.

다양한 실시 예에서, 상기 지갑은 DID 에이전트(DID agent)를 포함할 수 있다. DID 에이젼트는 블록체인 네트워크(600)상의 DID를 발급 받고, DID를 조회하고, DID를 변경할 수 있다. 처방 인증서 발행모듈(212)은 처방 인증서에 포함된 개인의 DID, 의료기관의 DID, 인증서 발행 사실을 제1 레지스트리(610)에 저장할 수 있다.In various embodiments, the wallet may include a DID agent. The DID agent can receive a DID on the blockchain network 600, search the DID, and change the DID. The prescription certificate issuance module 212 may store the individual's DID, the medical institution's DID, and the certificate issuance fact included in the prescription certificate in the first registry 610.

도 4a 내지 도 4c는, 본 출원의 일 실시 예에 따른 의료기관 전자장치(300), 소비자의 전자장치(400) 및 판매자의 전자장치(500)의 블록도이다.4A to 4C are block diagrams of a medical institution's electronic device 300, a consumer's electronic device 400, and a seller's electronic device 500 according to an embodiment of the present application.

일 실시 예에서, 의료기관 전자장치(300)는 프로세서(310), 메모리(320), 통신회로(330), 카메라(340), 입력장치(350) 및 출력장치(360)를 포함할 수도 있다. 프로세서(310)는 의료기관 전자장치(300)의 동작 전반을 제어할 수 있다. 의료기관 전자장치(300)는 통신회로(330)를 통하여 시스템(10)의 다른 주제들(100, 200, 400, 500)과 데이터를 송수신할 수 있다.In one embodiment, the medical institution electronic device 300 may include a processor 310, a memory 320, a communication circuit 330, a camera 340, an input device 350, and an output device 360. The processor 310 can control the overall operation of the medical institution electronic device 300. The medical institution electronic device 300 can transmit and receive data with other subjects 100, 200, 400, and 500 of the system 10 through the communication circuit 330.

일 실시 예에서, 메모리(320)는 제1 어플리케이션(322)을 저장할 수 있다. 의료기관 전자장치(300)는 제1 어플리케이션(322)을 실행시키고, 제1 어플리케이션(322)의 실행 화면을 출력장치(360)를 통하여 출력할 수 있다.In one embodiment, the memory 320 may store the first application 322. The medical institution electronic device 300 may execute the first application 322 and output an execution screen of the first application 322 through the output device 360 .

제1 어플리케이션(322)은 인증 시스템(10) 상에서 제공되는 인증 서비스를 제공받기 위해, 의료 기관의 신원 인증 기능 및 처방 보고 기능 등을 구동하기 위한 어플리케이션으로 이해될 수 있다. 제1 어플리케이션(322)은 의료기관 인증서 및 처방 인증서의 발행 요청 기능, 소비자 인식 기능 등 처방 인증 서비스를 사용하기 위하여 필요한 기능들을 포함할 수 있다. 제1 어플리케이션(322)은 의료기관의 식별자(예: DID)를 저장할 수 있다. The first application 322 may be understood as an application for operating the identity authentication function and prescription reporting function of a medical institution in order to receive the authentication service provided by the authentication system 10. The first application 322 may include functions necessary to use the prescription authentication service, such as a function to request issuance of a medical institution certificate and a prescription certificate, and a consumer recognition function. The first application 322 may store the identifier (eg, DID) of the medical institution.

일 실시 예에서 메모리(320)는 의료기관 인증서(324), 처방권한 인증서(326), 및 처방 권한 의료진 목록(328)을 저장할 수 있다. 의료기관 인증서(324)는 신원인증시스템(100)에 의하여 발행된 것일 수 있다. 처방권한 인증서(326)는 제품유통관리시스템(300)에 의하여 발행된 것일 수 있다. 처방 권한 의료진 목록(328)은 의료 기관 내에 종사하는 의료인들 중에서 처방 권한이 있는 담당 의료진으로 이루어질 수도 있다. In one embodiment, the memory 320 may store a medical institution certificate 324, a prescribing authority certificate 326, and a list of medical staff with prescribing authority 328. The medical institution certificate 324 may be issued by the identity authentication system 100. The prescribing authority certificate 326 may be issued by the product distribution management system 300. The list of medical staff with prescribing authority 328 may be composed of medical staff with prescribing authority among medical staff working within a medical institution.

다양한 실시 예에서, 의료기관 전자장치(300)는 카메라(340)를 통해 소비자를 촬영할 수 있다. 예를 들어, 의료기관 전자장치(300)는 카메라(340)를 통해 소비자 개인을 식별할 수 있다.In various embodiments, the medical institution electronic device 300 may image the consumer through the camera 340. For example, the medical institution electronic device 300 may identify an individual consumer through the camera 340.

일 실시 예에서, 소비자의 전자장치(400)는 프로세서(410), 메모리(420), 통신회로(430), 카메라(440), 입력장치(450), 및 출력장치(460)를 포함할 수 있다. 상기 소비자의 전자장치(400)는 의료기관 전자장치(300)와 유사하므로, 차이점을 위주로 서술한다. In one embodiment, the consumer's electronic device 400 may include a processor 410, a memory 420, a communication circuit 430, a camera 440, an input device 450, and an output device 460. there is. Since the consumer electronic device 400 is similar to the medical institution electronic device 300, the description will focus on the differences.

일 실시 예에서, 메모리(420)는 제2 어플리케이션(422)을 저장할 수 있다. 소비자의 전자장치(400)는 제2 어플리케이션(422)을 실행시키고, 제2 어플리케이션(422)의 실행 화면을 출력장치(460)를 통하여 출력할 수 있다.In one embodiment, the memory 420 may store the second application 422. The consumer's electronic device 400 may execute the second application 422 and output an execution screen of the second application 422 through the output device 460 .

제2 어플리케이션(422)은 인증 시스템(10) 상에서 소비자에게 제공되는 신원 인증 기능 및 인증 기반 구매 기능 등을 구동하기 위한 어플리케이션으로 이해될 수 있다.The second application 422 can be understood as an application for operating the identity authentication function and authentication-based purchase function provided to consumers on the authentication system 10.

일 실시 예에서 메모리(420)는 소비자 신원 인증서(424) 및 처방 인증서(426)를 저장할 수 있다. 소비자 신원 인증서(424)는 신원인증시스템(100)에 의하여 발행된 것일 수 있다. 처방 인증서(426)는 제품유통관리시스템(300)에 의하여 발행된 것일 수 있다.In one embodiment, memory 420 may store consumer identity certificate 424 and prescription certificate 426. The consumer identity certificate 424 may be issued by the identity authentication system 100. The prescription certificate 426 may be issued by the product distribution management system 300.

소비자 신원 인증서(424) 및 처방 인증서(426)는 소비자의 전자장치(400)내에 저장되고, 신원인증시스템(100), 제품유통관리시스템(200), 및 의료기관 전자장치(300)에 저장되지 않는다. 소비자의 전자장치(400)의 소유자는 일단 인증서를 발급 받은 후에는, 다른 신뢰기관과의 통신 없이 직접 자신의 전자장치(400)에 저장된 인증서를 활용하여 주체적으로 자신의 신원이나 처방 사실 여부를 증명할 수 있다. 또한 소비자의 전자장치(400)는 가공된 인증서를 발행함으로써, 필요한 정보만 포함한 인증서를 생성하고 제3자에게 공유할 수 있다. 이로서 데이터에 대한 개인의 주권이 강화될 수 있다.The consumer identity certificate 424 and prescription certificate 426 are stored in the consumer's electronic device 400 and are not stored in the identity authentication system 100, product distribution management system 200, and medical institution electronic device 300. . Once the owner of the consumer's electronic device 400 has been issued a certificate, he or she can independently prove his or her identity or prescription using the certificate stored in his or her electronic device 400 without communication with another trust agency. You can. Additionally, the consumer's electronic device 400 can generate a certificate containing only necessary information and share it with a third party by issuing a processed certificate. This can strengthen individual sovereignty over data.

일 실시 예에서, 판매자의 전자장치(500)는 프로세서(510), 메모리(520), 통신회로(530), 카메라(540), 입력장치(550), 및 출력장치(560)를 포함할 수 있다. 상기 판매자의 전자장치(500)는 의료기관 전자장치(300), 소비자의 전자장치(400)와 유사하므로, 차이점을 위주로 서술한다. In one embodiment, the seller's electronic device 500 may include a processor 510, a memory 520, a communication circuit 530, a camera 540, an input device 550, and an output device 560. there is. Since the seller's electronic device 500 is similar to the medical institution's electronic device 300 and the consumer's electronic device 400, the description will focus on the differences.

일 실시 예에서, 메모리(520)는 제3 어플리케이션(522)을 저장할 수 있다. 판매자의 전자장치(500)는 제3 어플리케이션(522)을 실행시키고, 제3 어플리케이션(522)의 실행 화면을 출력장치(560)를 통하여 출력할 수 있다.In one embodiment, the memory 520 may store the third application 522. The seller's electronic device 500 may execute the third application 522 and output the execution screen of the third application 522 through the output device 560.

상기 제3 어플리케이션(522)은 인증 시스템(10) 상에서 판매자 자신의 신원 인증 기능, 인증 기반 판매 기능 등을 구동하기 위한 어플리케이션으로 이해될 수 있다. 특정 실시 예들에서, 상기 판매자의 전자장치(500) 내 제3 어플리케이션(522)은 소비자의 전자장치(400)로부터 획득한 소비자의 신원 인증 기능을 수행할 수도 있다. The third application 522 can be understood as an application for operating the seller's own identity authentication function, authentication-based sales function, etc. on the authentication system 10. In certain embodiments, the third application 522 in the seller's electronic device 500 may perform a function of authenticating the consumer's identity obtained from the consumer's electronic device 400.

일 실시 예에서 메모리(520)는 판매자 신원 인증서(524) 및 판매권한 인증서(526)를 저장할 수도 있다. 판매자 신원 인증서(524)는 신원인증시스템(100)에 의하여 발행된 것일 수 있다. 판매권한 인증서(526)는 제품유통관리시스템(200)에 의하여 발행된 것일 수 있다.In one embodiment, the memory 520 may store a seller identity certificate 524 and a seller authority certificate 526. The seller identity certificate 524 may be issued by the identity authentication system 100. The sales authority certificate 526 may be issued by the product distribution management system 200.

판매자 신원 인증서(524) 및 판매권한 인증서(526)는 판매자의 전자장치(500)내에 저장되고, 신원인증시스템(100), 제품유통관리시스템(200), 및 의료기관 전자장치(300)에 저장되지 않는다. 판매자의 전자장치(500)의 소유자는 일단 인증서를 발급 받은 후에는, 다른 신뢰기관과의 통신 없이 직접 자신의 전자장치(500)에 저장된 인증서를 활용하여 주체적으로 자신의 신원이나 판매 권한을 증명할 수 있다. 또한 판매자의 전자장치(500)는 가공된 인증서를 발행함으로써, 필요한 정보만 포함한 인증서를 생성하고 제3자에게 공유할 수 있다. The seller identity certificate 524 and the sales authority certificate 526 are stored in the seller's electronic device 500, and are not stored in the identity authentication system 100, the product distribution management system 200, and the medical institution electronic device 300. No. Once the owner of the seller's electronic device 500 has been issued a certificate, he or she can independently prove his or her identity or sales authority using the certificate stored in his or her electronic device 500 without communication with another trust agency. there is. Additionally, the seller's electronic device 500 can generate a certificate containing only necessary information and share it with a third party by issuing a processed certificate.

다양한 실시 예에서, 의료기관 전자장치(300)의 메모리(322), 소비자의 전자장치(400)의 메모리(422), 판매자의 전자장치(500)의 메모리(522)는 보안 요소(secure element)(SE)(미도시)를 포함할 수 있다. 예를 들어, 보안 요소는 외부 장치(100, 200, 400, 500)과 직접 통신이 제한될 수 있다. 제1 어플리케이션(322), 제2 어플리케이션(422), 제3 어플리케이션(522)은 보안 요소와 외부 장치(100, 200, 400, 500) 사이의 데이터 송수신을 중계할 수 있다. 다른 예에서, 외부 장치(100, 200, 400)는 통신 회로(330)를 통한 근거리 무선 통신을 통하여 보안 요소와 통신을 수행할 수 있다. In various embodiments, the memory 322 of the medical institution electronic device 300, the memory 422 of the consumer electronic device 400, and the memory 522 of the seller's electronic device 500 include a secure element ( SE) (not shown) may be included. For example, the secure element may be restricted from direct communication with external devices 100, 200, 400, and 500. The first application 322, the second application 422, and the third application 522 may relay data transmission and reception between the security element and the external devices (100, 200, 400, and 500). In another example, the external devices 100, 200, and 400 may communicate with the security element through short-range wireless communication through the communication circuit 330.

전자장치(300, 400, 500)의 식별자는 상기 보안 요소에 저장될 수 있다. 의료기관 인증서(324) 및 처방권한 인증서(326)는 보안 요소에 저장될 수 있다. 소비자 신원 인증서(424) 및 처방 인증서(426)는 보안 요소에 저장될 수 있다. 판매자 신원 인증서(524) 및 판매권한 인증서(526)는 보안 요소에 저장될 수 있다. The identifier of the electronic device 300, 400, or 500 may be stored in the security element. The medical institution certificate 324 and the prescription authority certificate 326 may be stored in the secure element. Consumer identity certificate 424 and prescription certificate 426 may be stored in the secure element. Seller identity certificate 524 and seller authority certificate 526 may be stored in the secure element.

이하, 인증 시스템(10)상에서 발행되는 인증서가 W3C 표준 규약에 따른 검증가능한 크레덴셜(이하, VC)인 경우를 예를 들어 설명한다. 또한 VC로부터 가공되어 생성된 인증서를 W3C 표준 규약에 따라 설계된 검증가능한 프레젠테이션(이하, VP)인 경우를 예를 들어 설명한다.Hereinafter, the case where the certificate issued on the authentication system 10 is a verifiable credential (hereinafter referred to as VC) according to the W3C standard protocol will be described as an example. In addition, the case where the certificate generated by processing from VC is a verifiable presentation (hereinafter referred to as VP) designed according to W3C standard protocols will be explained as an example.

도 5는, 본 출원의 일 실시 예에 따른 신원인증시스템(100)가 소비자의 전자장치(400)에 소비자 신원 인증서를 발급하는 방법에 대한 신호 흐름도이다.Figure 5 is a signal flow diagram of a method by which the identity authentication system 100 issues a consumer identity certificate to the consumer's electronic device 400 according to an embodiment of the present application.

도 5를 참조하면, 소비자의 전자장치(400)는 신원인증시스템(100)에 신원인증VC(상술한, 소비자 신원 인증서) 발행을 요청할 수 있다(S4010).Referring to FIG. 5, the consumer's electronic device 400 may request the identity authentication system 100 to issue an identity authentication VC (the consumer identity certificate described above) (S4010).

상기 동작(S4010)에서 소비자의 전자장치(400)는 제2 어플리케이션(422)를 구동시켜 상기 발행 요청을 신원인증시스템(100)으로 전송할 수 있다. 동작(S4010)에서 소비자의 전자장치(400)는 자신의 DID(이하, 소비자 DID)를 전송할 수 있다. 신원인증시스템(100)은 수신된 소비자 DID를 소비자 DB(122), 블록체인 네트워크(600)를 통해 확인할 수 있다. In the operation S4010, the consumer's electronic device 400 may drive the second application 422 and transmit the issuance request to the identity authentication system 100. In operation S4010, the consumer's electronic device 400 may transmit its DID (hereinafter referred to as consumer DID). The identity authentication system 100 can confirm the received consumer DID through the consumer DB 122 and the blockchain network 600.

또한, 신원인증시스템(100)은 소비자의 전자장치(400)로 본인 확인 요청을 전송할 수 있다(S4020). 상기 본인 확인 요청은 신원 인증 VC를 발행하기 이전에, 소비자의 전자장치(400)의 소유자가 신원 인증 VC를 발급할 특정 개인인지 여부를 식별하기 위하여 수행될 수 있다.Additionally, the identity authentication system 100 may transmit an identity verification request to the consumer's electronic device 400 (S4020). The identity verification request may be performed before issuing the identity authentication VC to identify whether the owner of the consumer's electronic device 400 is a specific individual to whom the identity authentication VC will be issued.

신원인증시스템(100)은 소비자의 개인 정보를 획득할 수 있다(S4030). 예를 들어 신원인증시스템(100)은 본인 인증 서비스를 제공하는 제3의 서비스로부터 소비자의 전자장치(400)의 소유자의 개인 정보를 소비자의 개인정보로서 획득할 수 있다. 상기 개인 정보는 이름, 성별, 생년월일, 휴대폰번호, 국적, 개인식별번호를 포함할 수 있다(예: 표 1의 데이터). 신원인증시스템(100)은 획득한 개인 정보를 소비자 DB(122)에 저장된 데이터와 비교하고, 양자가 일치하는지 여부를 확인할 수 있다. 이를 통해 신원인증시스템(100)은 신원인증VC 발행 요청이 정당한 사용자에 의한 것인지 여부를 확인할 수 있다. 이러한 동작(S4030)의 확인 결과는 신원인증시스템(100)에 저장될 수도 있다. The identity authentication system 100 can obtain the consumer's personal information (S4030). For example, the identity authentication system 100 may obtain the personal information of the owner of the consumer's electronic device 400 as the consumer's personal information from a third-party service that provides an identity authentication service. The above personal information may include name, gender, date of birth, mobile phone number, nationality, and personal identification number (e.g., data in Table 1). The identity authentication system 100 can compare the acquired personal information with data stored in the consumer DB 122 and check whether the two match. Through this, the identity authentication system 100 can confirm whether the request for issuance of identity authentication VC is made by a legitimate user. The confirmation result of this operation (S4030) may be stored in the identity authentication system 100.

신원인증시스템(100)은 상기 소비자의 전자장치(400)로 신원인증VC를 발행할 수 있다(S4040). 신원인증시스템(100)은 소비자의 전자장치(400)로부터 수신한 개인 DID와 개인 정보를 포함한 신원인증VC를 발행할 수 있다. 신원인증VC는 신원인증시스템(100)의 식별자인 디지털 신원을 위한 식별자(Identifier)로 디지털 서명될 수 있다. 상기 식별자는 예를 들어, 신원인증시스템(100)의 블록체인 네트워크(600)의 계정의 비밀 키(DID)일 수 있다.The identity authentication system 100 may issue an identity authentication VC to the consumer's electronic device 400 (S4040). The identity authentication system 100 can issue an identity authentication VC containing the personal DID and personal information received from the consumer's electronic device 400. The identity authentication VC can be digitally signed with an identifier for digital identity, which is the identifier of the identity authentication system 100. For example, the identifier may be the secret key (DID) of the account of the blockchain network 600 of the identity authentication system 100.

신원인증시스템(100)와 소비자의 전자장치(400)는 상호 데이터 전송을 위한 통신 채널을 형성할 수 있다(S4050). 신원인증시스템(100)은 상기 통신 채널을 통해 신원인증VC를 소비자의 전자장치(400)에 전송할 수 있다(S4060). 소비자의 전자장치(400)는 수신한 신원인증VC를 메모리(420)에 저장할 수 있다. 신원인증VC는 도 2b의 소비자 신원 인증서(424)로 참조될 수 있다.The identity authentication system 100 and the consumer's electronic device 400 may form a communication channel for mutual data transmission (S4050). The identity authentication system 100 may transmit the identity authentication VC to the consumer's electronic device 400 through the communication channel (S4060). The consumer's electronic device 400 may store the received identity authentication VC in the memory 420 . The identity authentication VC may be referred to as consumer identity certificate 424 in FIG. 2B.

일 예에서, 상기 통신 채널은 DID 간 암호화 비밀 통신 채널일 수 있다. 예를 들어, 상기 통신 채널은 DIDComm 통신 채널일 수 있다. 이하, VC가 유통되기 위하여 형성되는 통신 채널은 DID 간 암호화 비밀 통신 채널로 이해될 수 있다. 신원인증VC는 DIDComm 통신 채널을 통해 VC의 발급 대상인 DID를 소유한 소비자의 전자장치(400)의 제2 어플리케이션(422)으로 전달될 수 있다. 예를 들어, 신원인증시스템(100)은 제2 어플리케이션(422)과 연결된 웹 소켓을 이용할 수 있다. 또는 신원인증시스템(100)은 상기 웹소켓이 없는 경우, 제2 어플리케이션(422)에 푸시 알림(push notification)를 보낸 후에 메시지 큐를 이용할 수 있다In one example, the communication channel may be an encrypted secret communication channel between DIDs. For example, the communication channel may be a DIDComm communication channel. Hereinafter, the communication channel formed to distribute VC can be understood as an encrypted secret communication channel between DIDs. The identity authentication VC may be transmitted to the second application 422 of the electronic device 400 of the consumer who owns the DID to which the VC is issued through the DIDComm communication channel. For example, the identity authentication system 100 may use a web socket connected to the second application 422. Alternatively, if there is no web socket, the identity authentication system 100 may use a message queue after sending a push notification to the second application 422.

신원인증시스템(100)은 소비자 DB(122)에 신원인증 VC를 발급한 사용자에 대한 소비자 DB(122)를 갱신개인 정보를 저장할 수 있다(S4070). 예를 들어, 신원인증시스템(100)은 동작(S4010)에서 획득한 DID, 동작(S4030)에서 획득한 개인 정보를 소비자 DB(122)에 저장할 수 있다. 따라서 상기 DID와 상기 개인 정보가 서로 맵핑되어 저장될 수 있다. 또한 소비자 DB(122)에 신원인증VC의 발급 여부를 기록할 수 있다.The identity authentication system 100 may store updated personal information in the consumer DB 122 for the user who issued the identity authentication VC in the consumer DB 122 (S4070). For example, the identity authentication system 100 may store the DID obtained in operation S4010 and the personal information obtained in operation S4030 in the consumer DB 122. Therefore, the DID and the personal information can be mapped to each other and stored. Additionally, whether or not an identity authentication VC is issued can be recorded in the consumer DB 122.

일부 실시 예들에서, 신원인증시스템(100)은 소비자의 전자장치(400)의 제2 어플리케이션(422)으로부터 푸시알림 토큰을 수신 받아 저장할 수 있다(S4080). 신원인증시스템(100)은 푸시알림 토큰 및 제2 어플리케이션(422)을 통해 소비자의 전자장치(400)에 푸시알림을 보낼 수 있다.In some embodiments, the identity authentication system 100 may receive and store a push notification token from the second application 422 of the consumer's electronic device 400 (S4080). The identity authentication system 100 can send a push notification to the consumer's electronic device 400 through the push notification token and the second application 422.

또한, 일부 실시 예들에서, 소비자의 전자장치(400)에 저장된 푸시알림토큰은 제2 어플리케이션(422)이 구동될 때마다 갱신 사항을 신원인증시스템(100)에 갱신할 수 있다(S4090).Additionally, in some embodiments, the push notification token stored in the consumer's electronic device 400 may be updated in the identity authentication system 100 every time the second application 422 is run (S4090).

다양한 실시 예에서, 신원인증시스템(100)은 블록체인 네트워크(600)의 제1 레지스트리(610)에 사용자 DID에 대한 신원인증VC 발급 사실을 기록할 수 있다. 따라서 해당 DID에 대하여 신원인증기관에 의하여 신원인증VC가 발급했다는 사실이 검증될 수 있다.In various embodiments, the identity authentication system 100 may record the fact of issuing an identity authentication VC for a user DID in the first registry 610 of the blockchain network 600. Therefore, the fact that the identity authentication VC was issued by the identity authentication agency for the relevant DID can be verified.

도 5의 소비자 신원 인증서 발급 방법은 의료기관 전자장치(300)에 의료기관 인증서를 발급하는 방법에 유사하게 적용될 수 있다.The consumer identity certificate issuance method of FIG. 5 can be similarly applied to the method of issuing a medical institution certificate to the medical institution electronic device 300.

의료기관 전자장치(300)는 의료기관인증VC(상술한 의료기관 인증서) 발행 요청을 요청할 수 있다(예: 동작(S4010)). 의료기관 전자장치(300)는 제1 어플리케이션(322)를 구동시켜 상기 요청을 신원인증시스템(100)으로 전송할 수 있다. 이때, 의료기관 전자장치(300)는 의료기관에 대한 기본 정보 및 제1 어플리케이션(322)에 저장된 의료기관의 DID를 신원인증시스템(100)으로 전송할 수 있다.The medical institution electronic device 300 may request a request to issue a medical institution certification VC (the above-described medical institution certificate) (e.g., operation S4010). The medical institution's electronic device 300 may run the first application 322 and transmit the request to the identity authentication system 100. At this time, the medical institution electronic device 300 may transmit basic information about the medical institution and the medical institution's DID stored in the first application 322 to the identity authentication system 100.

신원인증시스템(100)은 수신된 기본 정보를 기초로 의료기관DB(124)에 저장된 정보를 비교할 수 있다. 이를 통해 신원인증시스템(100)은 의료기관인증VC 발행 요청이 정당한 사용자에 의한 것인지 여부를 확인할 수 있다. 신원인증시스템(100)은 의료기관DB(124)에 저장된 정보와 수신된 기본 정보가 일치하는 경우 상기 의료기관의 식별자DID 및 신원인증기관의 식별자를 포함한 의료기관인증VC를 발급할 수 있다.The identity authentication system 100 can compare information stored in the medical institution DB 124 based on the received basic information. Through this, the identity authentication system 100 can confirm whether the request for issuance of a medical institution authentication VC is made by a legitimate user. If the information stored in the medical institution DB 124 matches the received basic information, the identity authentication system 100 may issue a medical institution authentication VC including the identifier DID of the medical institution and the identifier of the identity authentication institution.

신원인증시스템(100)와 의료기관 전자장치(300)는 상호 데이터 전송을 위한 통신 채널을 형성할 수 있다(예: 동작 4050). 신원인증시스템(100)은 상기 통신 채널을 통해 의료기관인증VC를 의료기관 전자장치(300)에 전송할 수 있다. 의료기관 전자장치(200)은 수신한 의료기관인증VC를 메모리(320)에 저장할 수 있다. 의료기관 인증VC는 도 4a의 의료기관 인증서(324)로 참조될 수 있다. 신원인증시스템(100)은 의료기관DB(124)에 의료기관인증VC를 발급한 의료기관에 대한 기본 정보 및 의료기관 DID를 맵핑하여 저장할 수 있다(예: 동작 S4070) 또한 의료기관DB(124)에 의료기관인증VC의 발급 여부를 기록할 수 있다.The identity authentication system 100 and the medical institution electronic device 300 may form a communication channel for mutual data transmission (e.g., operation 4050). The identity authentication system 100 may transmit the medical institution authentication VC to the medical institution electronic device 300 through the communication channel. The medical institution electronic device 200 may store the received medical institution authentication VC in the memory 320 . The medical institution certification VC may be referred to as the medical institution certificate 324 in FIG. 4A. The identity authentication system 100 may map and store basic information about the medical institution that issued the medical institution authentication VC and the medical institution DID in the medical institution DB 124 (e.g. operation S4070). Additionally, the medical institution authentication VC may be stored in the medical institution DB 124. You can record whether it was issued or not.

다양한 실시 예에서, 신원인증시스템(100)은 블록체인 네트워크(600)의 제1 레지스트리(610)에 의료기관 DID에 대한 의료기관인증VC 발급 사실을 기록할 수 있다. 따라서 해당 DID에 대하여 신원인증기관에 의하여 의료기관인증VC가 발급했다는 사실이 검증될 수 있다.In various embodiments, the identity authentication system 100 may record the issuance of a medical institution authentication VC for the medical institution DID in the first registry 610 of the blockchain network 600. Therefore, the fact that the medical institution certification VC was issued by the identity certification agency for the relevant DID can be verified.

도 5의 소비자 신원 인증서 발급 방법은 판매자의 전자장치(500)에 판매자 인증서를 발급하는 방법에 유사하게 적용될 수 있다.The consumer identity certificate issuance method of FIG. 5 can be similarly applied to the method of issuing a seller certificate to the seller's electronic device 500.

판매자의 전자장치(500)는 판매자인증 VC(상술한 판매자 인증서) 발행 요청을 요청할 수 있다(예: 동작(S4010)). 판매자의 전자장치(500)는 제1 어플리케이션(322)를 구동시켜 상기 요청을 신원인증시스템(100)으로 전송할 수 있다. 이때, 판매자의 전자장치(500)는 판매자에 대한 기본 정보 및 제1 어플리케이션(322)에 저장된 판매자의 DID를 신원인증시스템(100)으로 전송할 수 있다.The seller's electronic device 500 may request a request to issue a seller authentication VC (the seller certificate described above) (e.g., operation S4010). The seller's electronic device 500 may run the first application 322 and transmit the request to the identity authentication system 100. At this time, the seller's electronic device 500 may transmit basic information about the seller and the seller's DID stored in the first application 322 to the identity authentication system 100.

신원인증시스템(100)은 수신된 기본 정보를 기초로 판매자DB(126)에 저장된 정보를 비교할 수 있다. 이를 통해 신원인증시스템(100)은 판매자인증VC 발행 요청이 정당한 사용자에 의한 것인지 여부를 확인할 수 있다. 신원인증시스템(100)은 판매자DB(126)에 저장된 정보와 수신된 기본 정보가 일치하는 경우 상기 판매자의 식별자DID 및 신원인증기관의 식별자를 포함한 판매자인증VC를 발급할 수 있다.The identity authentication system 100 can compare information stored in the seller DB 126 based on the received basic information. Through this, the identity authentication system 100 can confirm whether the request for issuance of seller authentication VC is made by a legitimate user. The identity authentication system 100 may issue a seller authentication VC including the seller's identifier DID and the identity authentication authority's identifier when the information stored in the seller DB 126 matches the received basic information.

신원인증시스템(100)과 판매자의 전자장치(500)는 상호 데이터 전송을 위한 통신 채널을 형성할 수 있다(예: 동작 S4050). 신원인증시스템(100)은 상기 통신 채널을 통해 판매자인증VC를 판매자의 전자장치(500)에 전송할 수 있다. 판매자 전자장치(200)은 수신한 판매자인증VC를 메모리(520)에 저장할 수 있다. 판매자 인증VC는 도 4c의 판매자 인증서(524)로 참조될 수 있다. 신원인증시스템(100)은 판매자DB(126)에 판매자인증VC를 발급한 판매자에 대한 기본 정보 및 판매자 DID를 맵핑하여 저장할 수 있다(예: 동작 S4070) 또한 판매자DB(126)에 판매자인증VC의 발급 여부를 기록할 수 있다.The identity authentication system 100 and the seller's electronic device 500 may form a communication channel for mutual data transmission (e.g., operation S4050). The identity authentication system 100 may transmit the seller authentication VC to the seller's electronic device 500 through the communication channel. The seller electronic device 200 may store the received seller authentication VC in the memory 520. The seller authentication VC may be referred to as seller certificate 524 in FIG. 4C. The identity authentication system 100 may map and store basic information about the seller who issued the seller authentication VC and the seller DID in the seller DB 126 (e.g. operation S4070). Additionally, the seller authentication VC may be stored in the seller DB 126. You can record whether it was issued or not.

다양한 실시 예에서, 신원인증시스템(100)은 블록체인 네트워크(600)의 제1 레지스트리(610)에 판매자 DID에 대한 판매자인증VC 발급 사실을 기록할 수 있다. 따라서 해당 DID에 대하여 신원인증기관에 의하여 판매자인증VC가 발급했다는 사실이 검증될 수 있다.In various embodiments, the identity authentication system 100 may record the issuance of a seller authentication VC for the seller DID in the first registry 610 of the blockchain network 600. Therefore, the fact that the Seller Certification VC issued the DID can be verified by the identity certification agency.

도 5의 동작 S4080 내지 S4090은 신원인증시스템(100)과 의료기관 전자장치(300)의 제1 어플리케이션(322)의 조합, 또는 신원인증시스템(100)과 판매자의 전자장치(500)의 제3 어플리케이션(522)의 조합을 통해 동일하게 수행될 수 있다. 이를 통해 신원인증시스템(100)은 의료기관 전자장치(300), 판매자의 전자장치(500)에 푸시 알림을 전송할 수 있다.Operations S4080 to S4090 of FIG. 5 are a combination of the identity authentication system 100 and the first application 322 of the medical institution electronic device 300, or the third application of the identity authentication system 100 and the seller's electronic device 500. The same can be performed through a combination of (522). Through this, the identity authentication system 100 can transmit a push notification to the medical institution's electronic device 300 and the seller's electronic device 500.

도 6은, 본 출원의 일 실시 예에 따른, 제품유통관리시스템(200)이 의료기관 전자장치(300)에 처방권한 인증서를 발급하는 방법에 대한 신호 흐름도이다. Figure 6 is a signal flow diagram of a method by which the product distribution management system 200 issues a prescription authority certificate to the electronic device 300 of a medical institution, according to an embodiment of the present application.

처방권한 인증서는 공인처방기관에 발행된다. 상기 공인처방기관은 대마 약품의 처방을 수행할 수 있도록 공식 허가된 의료기관으로 이해될 수도 있다. 공인처방기관의 목록은 미리 지정되어 제품유통관리시스템(200)의 공인처방기관DB(224)에 저장될 수 있다. 공인처방기관은 처방권한 인증서로서 대마 약품 처방이 가능한 의료기관임을 증명할 수 있다.A certificate of prescribing authority is issued to an authorized prescribing agency. The above-mentioned authorized prescribing institution may be understood as a medical institution officially licensed to prescribe cannabis drugs. The list of authorized prescribing agencies may be designated in advance and stored in the authorized prescribing agency DB (224) of the product distribution management system (200). An accredited prescribing institution can prove that it is a medical institution capable of prescribing cannabis drugs with a certificate of prescribing authority.

의료기관 전자장치(300)는 의료기관인증 VC(예: 도 3의 의료기관 인증서(324))를 포함한 공인처방기관VC 발행 요청을 제품유통관리시스템(200)에 전송할 수 있다(S5010). 상기 요청은 의료기관인증 VC(예: 도 3의 의료기관 인증서(324))를 포함할 수 있다. 다양한 실시 예에서, 의료기관 전자장치(300)는 의료기관 DID로 의료기관인증VC에 서명을 수행할 수 있고, 디지털 서명된 의료기관인증VC를 제품유통관리시스템(200)으로 전송할 수 있다. 제품유통관리시스템(200)은 디지털 서명과 의료기관인증 VC에 저장된 의료기관 DID의 일치여부를 확인함으로써, 상기 의료기관인증VC가 그 VC를 소유할 정당한 권한이 있는 자로부터 전송되었는지 여부를 확인할 수 있다. 만약, 타 의료기관이 상기 의료기관인증VC를 가지고 부당한 공인처방기관VC 발행요청을 한 경우에, 동작 S5010에서 수신된 의료기관인증VC에 상기 VC 저장된 의료기관 DID에 의한 서명이 포함되지 않았으므로, 제품유통관리시스템(200)은 VC발행요청을 거부할 수 있다.The medical institution electronic device 300 may transmit a request for issuance of an authorized prescribing institution VC, including a medical institution certification VC (e.g., the medical institution certificate 324 in FIG. 3), to the product distribution management system 200 (S5010). The request may include a medical institution certification VC (e.g., medical institution certificate 324 in FIG. 3). In various embodiments, the medical institution electronic device 300 can sign the medical institution authentication VC with the medical institution DID and transmit the digitally signed medical institution authentication VC to the product distribution management system 200. The product distribution management system 200 can confirm whether the medical institution authentication VC was transmitted from a person with legitimate authority to own the VC by checking whether the digital signature matches the medical institution DID stored in the medical institution authentication VC. If another medical institution makes an unfair request to issue an authorized prescribing institution VC with the medical institution certification VC, the medical institution certification VC received in operation S5010 does not include the signature by the medical institution DID stored in the VC, so the product distribution management system (200) may reject the VC issuance request.

의료기관 전자장치(300)는 공인처방기관VC를 신청하기 이전에, 도 13을 통해 상술된 방법으로 의료기관인증VC를 발급받을 수 있다. 의료기관 전자장치(300)는 제품유통관리시스템(200)에 의료기관인증VC를 제출함으로써, 신원인증을 수행할 수 있다. 예를 들어, 의료기관의 대표(개인)는 의료기관 전자장치(300)에 제1 어플리케이션(322)을 다운로드 한 후에 의료기관 자신의 DID를 생성할 수 있다. 대표자가 의료기관 전자장치(300)의 제1 어플리케이션(322)을 통해 로컬에서 생성한 DID는 블록체인 네트워크(600)의 제2 레지스트리(620)에 저장 등록될 수 있다. 다양한 실시 예에서, 의료기관 DID는 의료기관의 대표자 개인의 DID로 대체될 수 있다. 이 경우, 의료기관 전자장치(300)는 생성된 DID를 신원인증시스템(100)으로 전송하고, 대표자 개인에 대한 신원인증 VC는 의료기관인증VC로 취급될 수 있다.Before applying for a certified prescribing institution VC, the medical institution electronic device 300 can obtain a medical institution certification VC using the method described above with reference to FIG. 13 . The medical institution electronic device 300 can perform identity authentication by submitting the medical institution authentication VC to the product distribution management system 200. For example, a representative (individual) of a medical institution may download the first application 322 to the medical institution's electronic device 300 and then generate the medical institution's own DID. The DID generated locally by the representative through the first application 322 of the medical institution electronic device 300 may be stored and registered in the second registry 620 of the blockchain network 600. In various embodiments, the medical institution DID may be replaced with the personal DID of the representative of the medical institution. In this case, the medical institution electronic device 300 transmits the generated DID to the identity authentication system 100, and the identity authentication VC for the individual representative may be treated as the medical institution authentication VC.

제품유통관리시스템(200)은 수신된 의료기관인증VC를 검증할 수 있다(S5020). 제품유통관리시스템(200)은 의료기관인증VC의 신원인증시스템(100)의 디지털 서명을 검증할 수 있다. 제품유통관리시스템(200)은 블록 체인 네트워크(600)를 통해 개시된 DID 소유자를 확인할 수 있다. 예를 들어, 제품유통관리시스템(200)은 의료기관인증 VC에 서명한 DID가 블록체인 네트워크(600)의 제1 레지스트리(610)에 등록된 신뢰기관의 DID 인지 여부를 확인할 수 있다. The product distribution management system 200 can verify the received medical institution certification VC (S5020). The product distribution management system 200 can verify the digital signature of the identity authentication system 100 of the medical institution authentication VC. The product distribution management system 200 can confirm the owner of the DID initiated through the blockchain network 600. For example, the product distribution management system 200 can check whether the DID that signed the medical institution authentication VC is the DID of the trusted institution registered in the first registry 610 of the blockchain network 600.

제품유통관리시스템(200)은 공인처방기관DB(224)의 정보와 의료기관인증VC의 정보를 비교할 수 있다(S5020). 제품유통관리시스템(200)은 공인처방기관DB(224)에 의료기관인증VC와 일치하는 정보가 있는 경우, VC 신청을 한 의료 기관이 미리 지정된 공인처방기관의 의료기관임을 확인할 수 있다. 제품유통관리시스템(200)은 공인처방기관 VC를 발행할 수 있다(S5030). 공인처방기관VC는 제품유통관리기관의 식별자 및 의료기관의 식별자를 포함할 수 있다.The product distribution management system 200 can compare the information of the authorized prescription agency DB 224 and the information of the medical institution certification VC (S5020). If there is information matching the medical institution certification VC in the certified prescribing institution DB 224, the product distribution management system 200 can confirm that the medical institution that applied for the VC is a medical institution of a pre-designated certified prescribing institution. The product distribution management system 200 can issue an authorized prescription agency VC (S5030). The authorized prescribing agency VC may include the identifier of the product distribution management agency and the identifier of the medical institution.

제품유통관리시스템(200)과 의료기관 전자장치(300)는 상호 데이터 전송을 위한 통신 채널을 형성할 수 있다(S5040). 제품유통관리시스템(200)은 상기 통신 채널을 통해 공인처방기관VC를 의료기관 전자장치(300)에 전송할 수 있다(S5050). 의료기관 전자장치(300)는 수신한 공인처방기관VC를 메모리(320)에 저장할 수 있다. 공인처방기관VC는 도 3의 처방권한 인증서(326)로 참조될 수 있다.The product distribution management system 200 and the medical institution electronic device 300 may form a communication channel for mutual data transmission (S5040). The product distribution management system 200 can transmit the authorized prescribing agency VC to the medical institution electronic device 300 through the communication channel (S5050). The medical institution electronic device 300 may store the received authorized prescribing institution VC in the memory 320 . The authorized prescribing agency VC may be referred to as the prescribing authority certificate 326 in FIG. 3.

일 예에서, 동작 S5040의 통신 채널은 암호화 통신 채널일 수 있다. 예를 들어, 상기 통신 채널은 DIDComm 통신 채널일 수 있다. 공인처방기관VC는 DIDComm 통신 채널을 통해 VC의 발급 대상인 DID를 소유한 의료기관 전자장치(300)의 제1 어플리케이션(322)으로 전달될 수 있다. 예를 들어, 제품유통관리시스템(200)은 제1 어플리케이션(322)과 연결된 웹 소켓을 이용할 수 있다. 또는 제품유통관리시스템(200)은 상기 웹소켓이 없는 경우, 제1 어플리케이션(322)에 푸시 알림(push notification)를 보낸 후에 메시지 큐를 이용할 수 있다. In one example, the communication channel of operation S5040 may be an encrypted communication channel. For example, the communication channel may be a DIDComm communication channel. The authorized prescribing agency VC may be transmitted to the first application 322 of the medical institution electronic device 300 that owns the DID to which the VC is issued through the DIDComm communication channel. For example, the product distribution management system 200 may use a web socket connected to the first application 322. Alternatively, if there is no web socket, the product distribution management system 200 may use a message queue after sending a push notification to the first application 322.

제품유통관리시스템(200)은 VC발급 이력을 공인처방기관DB(224)에 저장할 수 있다(S5060). 다양한 실시 예에서, 제품유통관리시스템(200)은 블록체인 네트워크(600)의 제1 레지스트리(610)에 의료기관 DID에 대한 공인처방기관VC 발급 사실을 기록할 수 있다. 따라서 해당 DID에 대하여 제품유통관리기관에 의하여 공인처방기관VC가 발급했다는 사실이 검증될 수 있다.The product distribution management system 200 can store the VC issuance history in the authorized prescription agency DB 224 (S5060). In various embodiments, the product distribution management system 200 may record the issuance of a certified prescribing agency VC for a medical institution DID in the first registry 610 of the blockchain network 600. Therefore, it can be verified that the DID in question was issued by VC, an authorized prescribing agency, by the product distribution management agency.

제품유통관리시스템(200)은 의료기관 전자장치(300)의 제1 어플리케이션(322)으로부터 푸시알림 토큰을 수신 받아 저장할 수 있다(S5070). 제품유통관리시스템(200)은 푸시알림 토큰 및 제1 어플리케이션(322)을 통해 의료기관 전자장치(300)에 푸시알림을 보낼 수 있다.The product distribution management system 200 may receive and store a push notification token from the first application 322 of the medical institution electronic device 300 (S5070). The product distribution management system 200 may send a push notification to the medical institution electronic device 300 through the push notification token and the first application 322.

의료기관 전자장치(300)에 저장된 푸시알림토큰은 제1 어플리케이션(322)이 구동될 때마다 갱신 사항을 제품유통관리시스템(200)에 갱신할 수 있다(S5090).The push notification token stored in the medical institution electronic device 300 may be updated in the product distribution management system 200 every time the first application 322 is run (S5090).

다양한 실시 예에서, 의료기관인증VC는 의료기관의 대표자 개인의 신원인증VC로 대체될 수 있다. 대표자 개인에 대한 정보는 제품유통관리시스템(200)의 공인처방기관DB(224)에 저장될 수 있다(예: 표 2). 대표자 개인은 자신의 DID로 발급된 신원인증VC를 제출하고, 공인처방기관VC를 발급받을 수 있다.In various embodiments, the medical institution authentication VC may be replaced with the identity authentication VC of the individual representative of the medical institution. Information about the individual representative may be stored in the authorized prescribing agency DB 224 of the product distribution management system 200 (e.g. Table 2). Individual representatives can submit an identity verification VC issued with their DID and receive a VC from an authorized prescribing agency.

도 7은, 본 출원의 일 실시 예에 따른, 제품유통관리시스템(200)에 처방 권한 의료진을 등록하는 방법에 대한 신호 흐름도이다. Figure 7 is a signal flow diagram of a method of registering a medical staff member with prescribing authority in the product distribution management system 200 according to an embodiment of the present application.

의료기관 전자장치(300)는 해당 의료기관의 의료인들 중 대마 약품의 처방을 담당할 실무자(즉, 처방권한 의료진)에 대한 목록을 관리할 수 있다. 의료기관 전자장치(300)는 처방 권한 의료진 목록(328)에 상기 실무자들에 대한 정보를 저장할 수 있다. 실무자에 대해 변동사항이 발생한 경우, 의료기관 전자장치(300)는 상기 변경 정보를 처방 권한 의료진 목록(328)에 즉시 갱신될 수 있다.The medical institution electronic device 300 can manage a list of practitioners in charge of prescribing cannabis drugs (i.e., medical staff with prescribing authority) among the medical personnel of the medical institution. The medical institution electronic device 300 may store information about the practitioners in the list 328 of medical staff with prescribing authority. If a change occurs in the practitioner, the medical institution electronic device 300 may immediately update the change information in the list of medical staff with prescribing authority 328.

의료기관 전자장치(300)는 처방 권한 의료진 목록을 제품유통관리시스템(200)에 전송할 수 있다(S6010). 제품유통관리시스템(200)은 공인처방기관DB(224)를 갱신할 수 있다. 처방 권한 의료진 목록은 의료기관과 맵핑되어 저장될 수 있다.The medical institution electronic device 300 may transmit a list of medical staff with prescribing authority to the product distribution management system 200 (S6010). The product distribution management system 200 can update the authorized prescription agency DB 224. The list of medical staff with prescribing authority can be mapped to medical institutions and stored.

처방 권한 의료진인 의료인은 본인이 소지한 전자장치(300-1)(이하 의료인 전자장치(300-1))에 제1 어플리케이션(322)를 다운로드하고 DID를 생성할 수 있다. 의료인 전자장치(300-1)는 로컬에서 생성한 DID를 블록체인 네트워크(600)에 등록할 수 있다. 의료인 전자장치(300-1)는 의료인에 대한 신원인증VC를 신원인증 서버(100)으로부터 발행 받을 수 있다. 인증 시스템(10)의 인증서비스를 제공받기 위하여, 의료인 전자장치(300-1)에는 제1 어플리케이션(322)이 설치될 수 있다. 의료인 전자장치(300-1)는 도 3의 의료기관 전자장치(300)와 동일한 블록도를 가질 수 있다.A medical professional with prescribing authority can download the first application 322 to the electronic device 300-1 (hereinafter referred to as the medical professional electronic device 300-1) and create a DID. The medical electronic device 300-1 can register the locally generated DID in the blockchain network 600. The medical personnel electronic device 300-1 may receive an identity authentication VC for the medical personnel from the identity authentication server 100. In order to receive the authentication service of the authentication system 10, the first application 322 may be installed on the medical personnel electronic device 300-1. The medical personnel electronic device 300-1 may have the same block diagram as the medical institution electronic device 300 of FIG. 3.

의료인 전자장치(300-1)는 신원인증VC를 제품유통관리시스템(200)으로 전송할 수 있다(S6030). 제품유통관리시스템(200)은 신원인증VC의 신원인증시스템(100)의 디지털 서명을 검증할 수 있다. 제품유통관리시스템(200)은 공인처방기관DB(224)의 실무자 정보와 신원인증VC의 정보를 비교할 수 있다. 제품유통관리시스템(200)은 공인처방기관DB(224)에 신원인증VC와 일치하는 정보가 있는 경우, VC 신청을 한 의료인이 미리 처방권한 의료진으로 인증된 의료인임을 확인할 수 있다(S6040). 제품유통관리시스템(200)은 특정 의료인에 대해 공인처방기관 VC를 발행할 수 있다(S6050). 이 때, 공인처방기관VC는 의료기관의 DID, 의료인의 DID를 포함할 수 있다.The medical personnel electronic device 300-1 may transmit the identity authentication VC to the product distribution management system 200 (S6030). The product distribution management system 200 can verify the digital signature of the identity authentication system 100 of the identity authentication VC. The product distribution management system 200 can compare the practitioner information of the authorized prescription agency DB 224 and the information of the identity authentication VC. If there is information matching the identity authentication VC in the authorized prescribing agency DB 224, the product distribution management system 200 can confirm that the medical professional who applied for the VC is a medical professional certified in advance as a medical professional with prescribing authority (S6040). The product distribution management system 200 can issue a certified prescribing agency VC for a specific medical person (S6050). At this time, the authorized prescribing agency VC may include the DID of the medical institution and the DID of the medical professional.

제품유통관리시스템(200)과 의료인 전자장치(300-1)는 상호 데이터 통신을 위한 통신 채널을 형성할 수 있다(S6060). 제품유통관리시스템(200)은 상기 통신 채널을 통해 공인처방기관VC를 의료인 전자장치(300-1)에 전송할 수 있다. 의료인 전자장치(300-1)는 수신한 공인처방기관VC를 메모리(예: 도 3의 메모리(320))에 저장할 수 있다. 공인처방기관VC는 도 3의 처방권한 인증서(326)로 참조될 수 있다.The product distribution management system 200 and the medical personnel electronic device 300-1 may form a communication channel for mutual data communication (S6060). The product distribution management system 200 can transmit the authorized prescribing agency VC to the medical personnel electronic device 300-1 through the communication channel. The medical professional electronic device 300-1 may store the received authorized prescribing agency VC in memory (e.g., memory 320 in FIG. 3). The authorized prescribing agency VC may be referred to as the prescribing authority certificate 326 in FIG. 3.

제품유통관리시스템(200)은 VC발급 이력을 공인처방기관DB(224)에 저장할 수 있다(S6080). 다양한 실시 예에서, 제품유통관리시스템(200)은 블록체인 네트워크(600)의 제1 레지스트리(610)에 의료인 DID에 대한 공인처방기관VC 발급 사실을 기록할 수 있다. 따라서 해당 DID에 대하여 제품유통관리기관에 의하여 공인처방기관VC가 발급했다는 사실이 검증될 수 있다.The product distribution management system 200 can store the VC issuance history in the authorized prescription agency DB 224 (S6080). In various embodiments, the product distribution management system 200 may record the issuance of an authorized prescribing agency VC for a medical personnel DID in the first registry 610 of the blockchain network 600. Therefore, it can be verified that the DID in question was issued by VC, an authorized prescribing agency, by the product distribution management agency.

다양한 실시 예에 따라 처방 권한 의료진 목록에서 서 특정 처방 권한 의료진이 삭제된 경우, 의료기관 전자장치(300)는 처방 권한 의료진 삭제 갱신 요청을 제품유통관리시스템(200)으로 송신할 수 있다(S6090). 제품유통관리시스템(200)은 공인처방기관DB(224)에서 상기 실무자를 삭제하고, 삭제된 실무자의 DID를 블록체인 네트워크(600)의 제1 레지스트리(610)에서 삭제되도록 할 수 있다(S6095). 이후에 삭제된 실무자의 DID에 대해 발급된 공인처방기관VC는 사용이 불가능하게 된다. 따라서 의료인 전자장치(300-1)를 통한 처방 인증서 발급은 불가능하게 된다.According to various embodiments, when a specific prescribing authority medical staff member is deleted from the list of prescribing authority medical staff members, the medical institution electronic device 300 may transmit a request for renewal of deletion of the prescribing authority medical staff member to the product distribution management system 200 (S6090). The product distribution management system 200 may delete the practitioner from the authorized prescribing agency DB 224 and delete the DID of the deleted practitioner from the first registry 610 of the blockchain network 600 (S6095). . Afterwards, the authorized prescribing agency VC issued for the deleted practitioner's DID will no longer be usable. Therefore, it becomes impossible to issue a prescription certificate through the medical professional's electronic device (300-1).

도 8은, 본 출원의 일 실시 예에 따른, 처방 인증서를 발급하는 방법에 대한 신호 흐름도이다. Figure 8 is a signal flow diagram of a method for issuing a prescription certificate according to an embodiment of the present application.

상기 처방 인증서는 처방전 내용을 기록한 처방전 정보를 포함한다. 상기 처방 인증서는 상기 처방전 내용에 기록된 대마 약품에 대한 처방대상 소비자의 구매권한 인증서로 활용될 수도 있다. The prescription certificate includes prescription information recording the contents of the prescription. The prescription certificate may be used as a certificate of purchase authority for the consumer prescribed the cannabis medicine recorded in the prescription.

다양한 실시 예에서, 의료기관 전자장치(300) 및 의료인 전자장치(300-1)는 백신 접종 후 처방 인증서 발급을 요청할 수 있는 주체일 수 있다. 도 7을 통해 의료기관 전자장치(300)가 처방 인증서 발급 요청을 수행하는 예시가 도시 되었으나, 의료인 전자장치(300-1)에 동일한 절차가 적용될 수 있다.In various embodiments, the medical institution electronic device 300 and the medical personnel electronic device 300-1 may be entities that can request issuance of a prescription certificate after vaccination. Although an example of the medical institution electronic device 300 performing a prescription certificate issuance request is shown in FIG. 7, the same procedure may be applied to the medical personnel electronic device 300-1.

의료기관 전자장치(300)는 소비자가 소지한 소비자의 전자장치(400)로부터 신원인증VC를 수신할 수 있다(S7010). 신원인증VC는 개인의 DID의 디지털 서명을 포함할 수 있다. 의료기관 전자장치(300)는 상기 디지털 서명 및 신원인증VC를 통해 소비자를 식별할 수 있다.The medical institution's electronic device 300 may receive the identity authentication VC from the consumer's electronic device 400 owned by the consumer (S7010). The identity authentication VC may include a digital signature of the individual's DID. The medical institution electronic device 300 can identify the consumer through the digital signature and identity authentication VC.

의료기관 전자장치(300)는 처방전 정보를 생성할 수도 있다(S7020). 상기 처방전 정보는 처방이 적용될 소비자, 처방 내용을 포함할 수도 있다. 일부 실시 예들에서, 상기 처방전 정보는 소비자의 신원인증 VC를 포함할 수도 있다. The medical institution electronic device 300 may generate prescription information (S7020). The prescription information may include the consumer to whom the prescription is to be applied and prescription details. In some embodiments, the prescription information may include the consumer's identity verification VC.

상기 처방전 내용은 소비자에게 처방된 대마 약품에 관한 정보, 복용 정보를 포함할 수도 있다. 상기 복용 정보에 의해 소비자에게 요구되는 대마 약품의 최대 수량이 산출된다. 일부 실시 예들에서, 상기 복용 정보는 대마 약품에 관한 정보(예: 표 4의 데이터)를 포함할 수도 있다. The prescription contents may include information about the cannabis medicine prescribed to the consumer and dosage information. The maximum quantity of cannabis medicine required by the consumer is calculated based on the dosage information. In some embodiments, the dosage information may include information about cannabis medications (e.g., data in Table 4).

처방이 완료되면, 의료기관 전자장치(300)는 처방전 정보, 소비자의 신원인증 VC, 의료기관의 공인처방기관VC를 제품유통관리시스템(200)으로 전송하고, 처방인증VC 발급을 요청할 수 있다(S7030). When the prescription is completed, the medical institution's electronic device 300 can transmit the prescription information, the consumer's identity authentication VC, and the medical institution's authorized prescribing agency VC to the product distribution management system 200 and request the issuance of a prescription authentication VC (S7030). .

이 때, 의료기관 전자장치(300)의 의료기관 자신의 사용자 DID로 처방전 정보, 신원인증VC 및 공인처방기관VC에 디지털 서명할 수 있다. 즉, 처방 인증서 발급 요청은 처방전 정보, 소비자의 신원인증 VC, 의료기관의 공인처방기관VC 및 의료기관의 디지털 서명을 포함할 수도 있다.At this time, the medical institution's electronic device 300 can digitally sign the prescription information, identity authentication VC, and authorized prescription institution VC with the medical institution's own user DID. That is, the request for issuance of a prescription certificate may include prescription information, the consumer's identity authentication VC, the medical institution's authorized prescribing institution VC, and the medical institution's digital signature.

제품유통관리시스템(200)은 수신된 정보, 즉 처방인증VC 발급의 요청을 검증할 수 있다. 제품유통관리시스템(200)은 수신된 공인처방기관VC 및 의료기관 전자장치(300)의 디지털 서명을 검증할 수 있다(S7040). 즉 공인처방기관에 의한 디지털 서명인지 여부가 검증될 수 있다.The product distribution management system 200 can verify the received information, that is, the request for issuance of prescription certification VC. The product distribution management system 200 can verify the received digital signatures of the authorized prescribing agency VC and medical institution electronic device 300 (S7040). In other words, it can be verified whether the digital signature was issued by an authorized prescribing agency.

상기 단계(S7040)에서 상기 공인처방기관 VC에 포함된 의료기관의 디지털 서명과 상기 블록체인 네트워크(600)에 저장된 의료기관의 식별자에 기초하여 처방인증VC의 발급 요청이 공인처방기관인 의료기관에 의한 디지털 서명인 것인지 검증된다. 상기 단계(S7040)의 검증에 따라 처방권한 여부가 결정된다. 상기 단계(S7040)에서 공인처방기관에 의한 디지털 서명이 검증된 경우, 처방권한이 있는 것으로 판단된다. 반면, 검증이 실패되면 처방권한이 없는 의료기관의 요청인 것으로 판단된다. In the step (S7040), a request for issuance of a prescription certification VC based on the digital signature of the medical institution included in the VC of the certified prescribing institution and the identifier of the medical institution stored in the blockchain network 600 is requested by a digital signature by the medical institution that is the certified prescribing institution. It is verified whether it is Prescription authority is determined according to the verification in the above step (S7040). If the digital signature by the authorized prescribing agency is verified in the above step (S7040), it is determined that there is prescription authority. On the other hand, if verification fails, it is judged that the request was made by a medical institution without prescription authority.

다양한 실시 예에서, 제품유통관리시스템(200)은 수신된 처방전 정보 내 대마 약품과 제품 DB(222)를 비교하여 처방된 대마 약품이 유통 관리 대상에 해당하는 올바른 대마 약품인지 여부를 확인할 수 있다. In various embodiments, the product distribution management system 200 may check whether the prescribed cannabis drug is the correct cannabis drug subject to distribution management by comparing the cannabis drug in the received prescription information with the product DB 222.

또한, 제품유통관리시스템(200)은 수신된 신원인증VC가 유효한 지 여부를 확인할 수 있다. 해당 정보에 보완이 필요하다고 판단된 경우, 제품유통관리시스템(200)은 의료기관 전자장치(300)로 보완 요청을 전송할 수 있다.Additionally, the product distribution management system 200 can check whether the received identity authentication VC is valid. If it is determined that the information needs to be supplemented, the product distribution management system 200 may transmit a request for supplementation to the medical institution's electronic device 300.

수신된 정보에 대한 검증이 완료되면, 제품유통관리시스템(200)은 처방인증VC를 발행할 수 있다(S7050). 제품유통관리시스템(200)은 발행된 처방인증VC를 소비자의 전자장치(400)로 전송할 수 있다. 소비자의 전자장치(400)는 처방인증VC를 저장할 수도 있다. 처방인증VC는 처방 인증서(426)로 참조될 수 있다.When verification of the received information is completed, the product distribution management system 200 may issue a prescription authentication VC (S7050). The product distribution management system 200 may transmit the issued prescription authentication VC to the consumer's electronic device 400. The consumer's electronic device 400 may also store the prescription authentication VC. Prescription authentication VC may be referred to as prescription certificate 426.

소비자의 전자장치(400)의 사용자는 제2 어플리케이션(422)를 통해, 처방 내용에 대한 상세 정보 확인할 수 있다. 처방 인증서(426)는 처방된 대마 약품 종류, 복용 정보, 처방 일자, 처방 시간, 처방을 수행한 의료기관 정보, 담당 의료인 정보 등을 포함할 수도 있다. The user of the consumer electronic device 400 can check detailed information about the prescription through the second application 422. The prescription certificate 426 may include the type of cannabis medicine prescribed, dosage information, prescription date, prescription time, information on the medical institution that performed the prescription, information on the medical practitioner in charge, etc.

제품유통관리시스템(200)은 처방이력 DB(225)에 해당 처방 이력을 저장할 수 있다.The product distribution management system 200 may store the corresponding prescription history in the prescription history DB 225.

도 9는, 본 출원의 일 실시 예에 따른, 제품유통관리시스템(200)이 판매자의 전자장치(500)에 판매권한 인증서를 발급하는 방법에 대한 신호 흐름도이다. Figure 9 is a signal flow diagram of a method by which the product distribution management system 200 issues a sales authorization certificate to the seller's electronic device 500, according to an embodiment of the present application.

판매권한 인증서는 공인판매자에게 발행된다. 상기 공인판매자는 대마 약품 등의 관리대상 제품의 판매를 수행할 수 있도록 공식 허가된 사람 또는 상점으로 이해될 수도 있다. 공인판매자의 목록은 미리 지정되어 제품유통관리시스템(200)의 공인판매자 DB(226)에 저장될 수 있다. 공인판매자는 판매권한 인증서로서 대마 약품을 판매할 수 있는 주체임을 증명할 수 있다.A sales authorization certificate is issued to authorized sellers. The authorized seller may be understood as a person or store officially licensed to sell controlled products such as cannabis drugs. The list of authorized sellers may be designated in advance and stored in the authorized seller DB 226 of the product distribution management system 200. Authorized sellers can prove that they are authorized to sell cannabis drugs with a sales authorization certificate.

판매자의 전자장치(500)는 판매자 인증 VC(예: 도 4c의 판매자 인증 VC(예: 판매자 인증서(524))를 포함한 공인판매자 인증 VC 발행 요청을 제품유통관리시스템(200)에 전송할 수 있다(S8010). The seller's electronic device 500 may transmit a request for issuance of an authorized seller authentication VC, including the seller authentication VC (e.g., the seller certificate 524) of FIG. 4C, to the product distribution management system 200 ( S8010).

다양한 실시 예에서, 판매자의 전자장치(500)는 판매자 DID로 판매자 인증 VC에 서명을 수행할 수 있고, 디지털 서명된 판매자인증VC를 제품유통관리시스템(200)으로 전송할 수 있다. 상기 요청은 판매자 인증 VC(예: 도 4c의 판매자 인증서(524))를 포함할 수 있다. 판매자의 전자장치(500)에서 상기 판매자의 신원인증 VC 를 상기 판매자의 식별자로 디지털 서명하여 공인판매자VC 발급을 요청할 수도 있다.In various embodiments, the seller's electronic device 500 may sign the seller authentication VC with the seller DID and transmit the digitally signed seller authentication VC to the product distribution management system 200. The request may include a seller authentication VC (e.g., seller certificate 524 in Figure 4C). The seller's electronic device 500 may request issuance of an authorized seller VC by digitally signing the seller's identity verification VC with the seller's identifier.

공인판매자VC는 이를 소지한 주체가 대마 약품을 판매할 정당한 권한이 있는 것을 증명하는, 판매권한 인증서이다. Authorized Seller VC is a sales authority certificate that proves that the entity holding it has the legitimate authority to sell cannabis drugs.

제품유통관리시스템(200)은 판매자의 디지털 서명과 판매자인증VC에 저장된 판매자 DID의 일치 여부를 확인함으로써, 상기 판매자인증VC가 그 VC를 소유할 정당한 권한이 있는 자로부터 전송되었는지 여부를 확인할 수 있다. 만약, 타 판매자가 상기 판매자인증VC를 가지고 부당한 판매권한인증서인, 부당한 공인판매자VC 발행을 요청한 경우에, 동작 S8010에서 수신된 판매자인증VC에는 판매자 DID에 의한 서명이 포함되지 않았으므로, 제품유통관리시스템(200)은 공인판매자VC발행요청을 거부할 수 있다.The product distribution management system 200 checks whether the seller's digital signature matches the seller's DID stored in the seller's authentication VC, thereby confirming whether the seller's authentication VC was transmitted from a person with legitimate authority to own the VC. . If another seller requests the issuance of an unfair authorized seller VC, which is an unfair sales authority certificate, with the seller authentication VC, the seller authentication VC received in operation S8010 does not include the signature by the seller DID, so product distribution management The system 200 may reject the request for issuance of an authorized seller VC.

판매자의 전자장치(500)는 공인판매자VC를 신청하기 이전에, 도 5를 통해 상술된 방법으로 판매자인증VC를 발급받을 수 있다. 그러면, 판매자의 전자장치(500)는 제품유통관리시스템(200)에 판매자인증VC를 제출함으로써, 신원인증을 수행할 수 있다. 예를 들어, 판매자의 대표(개인)는 판매자의 전자장치(500)에 제3 어플리케이션(522)을 다운로드 한 후에 판매자 자신의 DID를 생성할 수 있다. 대표자가 판매자의 전자장치(500)의 제3 어플리케이션(522)을 통해 로컬에서 생성한 DID는 블록체인 네트워크(600)의 제2 레지스트리(620)에 저장 등록될 수 있다. 다양한 실시 예에서, 판매자 DID는 판매자의 대표자 개인의 DID로 대체될 수 있다. 이 경우, 판매자의 전자장치(500)는 생성된 DID를 신원인증시스템(100)으로 전송하고, 대표자 개인에 대한 신원인증 VC는 판매자인증VC로 취급될 수 있다.Before applying for an authorized seller VC, the seller's electronic device 500 can receive a seller authentication VC using the method described above with reference to FIG. 5 . Then, the seller's electronic device 500 can perform identity authentication by submitting the seller authentication VC to the product distribution management system 200. For example, the seller's representative (individual) may download the third application 522 to the seller's electronic device 500 and then generate the seller's own DID. The DID generated locally by the representative through the third application 522 of the seller's electronic device 500 may be stored and registered in the second registry 620 of the blockchain network 600. In various embodiments, the seller DID may be replaced with the personal DID of the seller's representative. In this case, the seller's electronic device 500 transmits the generated DID to the identity authentication system 100, and the identity authentication VC for the individual representative may be treated as the seller authentication VC.

제품유통관리시스템(200)은 수신된 판매자인증 VC를 검증할 수 있다(S8020). 제품유통관리시스템(200)은 수신된 판매자인증 VC를 검증하기 위해, 판매자인증VC의 신원인증시스템(100)의 디지털 서명을 검증할 수 있다. 제품유통관리시스템(200)은 블록체인 네트워크(600)를 통해 개시된 DID 소유자를 확인할 수 있다. 예를 들어, 제품유통관리시스템(200)은 판매자인증 VC에 서명한 DID가 블록체인 네트워크(600)의 제1 레지스트리(610)에 등록된 신뢰기관의 DID 인지 여부를 확인할 수 있다. The product distribution management system 200 can verify the received seller authentication VC (S8020). The product distribution management system 200 may verify the digital signature of the identity authentication system 100 of the seller authentication VC in order to verify the received seller authentication VC. The product distribution management system 200 can confirm the owner of the DID initiated through the blockchain network 600. For example, the product distribution management system 200 can check whether the DID that signed the seller authentication VC is the DID of the trust institution registered in the first registry 610 of the blockchain network 600.

제품유통관리시스템(200)은 공인판매자 DB(226)의 정보와 판매자인증VC의 정보를 비교할 수 있다(S8020). 제품유통관리시스템(200)은 공인판매자DB(226)에 판매자인증VC와 일치하는 정보가 있는 경우, 단계(S8010)의 VC의 발급을 요청한 판매자가 미리 지정된 공인판매자인 것을 확인할 수 있다. 상기 일치하는 정보는, 예를 들어 판매자의 식별자일 수도 있다. The product distribution management system 200 can compare the information of the authorized seller DB 226 and the information of the seller authentication VC (S8020). If there is information matching the seller authentication VC in the authorized seller DB 226, the product distribution management system 200 can confirm that the seller who requested issuance of the VC in step S8010 is a pre-designated authorized seller. The matching information may be, for example, a seller's identifier.

제품유통관리시스템(200)은 미리 지정된 공인판매자에 해당한 판매자에게 공인판매자VC를 발행할 수 있다(S8030). 공인판매자VC는 제품유통관리기관의 식별자 및 판매자의 식별자를 포함할 수도 있다. The product distribution management system 200 may issue an authorized seller VC to a seller who is a pre-designated authorized seller (S8030). The authorized seller VC may include the identifier of the product distribution management agency and the identifier of the seller.

제품유통관리시스템(200)과 판매자의 전자장치(500)는 상호 데이터 전송을 위한 통신 채널을 형성할 수 있다(S8040). 제품유통관리시스템(200)은 상기 통신 채널을 통해 공인판매자VC를 판매자의 전자장치(500)에 전송할 수 있다(S8050). 판매자의 전자장치(500)는 수신한 공인판매자VC를 메모리(520)에 저장할 수 있다. 공인판매자VC는 도 4c의 판매권한 인증서(526)로 참조될 수 있다.The product distribution management system 200 and the seller's electronic device 500 may form a communication channel for mutual data transmission (S8040). The product distribution management system 200 may transmit the authorized seller VC to the seller's electronic device 500 through the communication channel (S8050). The seller's electronic device 500 may store the received authorized seller VC in the memory 520. The authorized seller VC may be referred to as the selling authority certificate 526 in FIG. 4C.

일 예에서, 동작 S8040의 통신 채널은 암호화 통신 채널일 수 있다. 예를 들어, 상기 통신 채널은 DIDComm 통신 채널일 수 있다. 공인판매자VC는 DIDComm 통신 채널을 통해 VC의 발급 대상인 DID를 소유한 판매자의 전자장치(500)의 제3 어플리케이션(522)으로 전달될 수 있다. 예를 들어, 제품유통관리시스템(200)은 제3 어플리케이션(522)과 연결된 웹 소켓을 이용할 수 있다. 또는 제품유통관리시스템(200)은 상기 웹소켓이 없는 경우, 제3 어플리케이션(522)에 푸시 알림(push notification)를 보낸 후에 메시지 큐를 이용할 수 있다. In one example, the communication channel of operation S8040 may be an encrypted communication channel. For example, the communication channel may be a DIDComm communication channel. The authorized seller VC may be transmitted to the third application 522 of the electronic device 500 of the seller who owns the DID to which the VC is issued through the DIDComm communication channel. For example, the product distribution management system 200 may use a web socket connected to the third application 522. Alternatively, if there is no web socket, the product distribution management system 200 may use a message queue after sending a push notification to the third application 522.

제품유통관리시스템(200)은 공인판매자 VC발급 이력을 공인판매자 DB(226)에 저장할 수도 있다(S8060)The product distribution management system 200 may store the authorized seller VC issuance history in the authorized seller DB 226 (S8060).

다양한 실시 예에서, 제품유통관리시스템(200)은 블록체인 네트워크(600)의 제1 레지스트리(610)에 의료기관 DID에 대한 공인처방기관VC 발급 사실을 기록할 수 있다. 따라서 해당 DID에 대하여 제품유통관리기관에 의하여 공인처방기관VC가 발급했다는 사실이 검증될 수 있다.In various embodiments, the product distribution management system 200 may record the issuance of a certified prescribing agency VC for a medical institution DID in the first registry 610 of the blockchain network 600. Therefore, it can be verified that the DID in question was issued by VC, an authorized prescribing agency, by the product distribution management agency.

제품유통관리시스템(200)은 판매자의 전자장치(500)의 제3 어플리케이션(522)으로부터 푸시알림 토큰을 수신 받아 저장할 수 있다(S8070). 제품유통관리시스템(200)은 푸시알림 토큰 및 제3 어플리케이션(522)을 통해 판매자의 전자장치(500)에 푸시알림을 보낼 수 있다.The product distribution management system 200 may receive and store a push notification token from the third application 522 of the seller's electronic device 500 (S8070). The product distribution management system 200 can send a push notification to the seller's electronic device 500 through a push notification token and a third application 522.

판매자의 전자장치(500)에 저장된 푸시알림 토큰은 제3 어플리케이션(522)이 구동될 때마다 갱신 사항을 제품유통관리시스템(200)에 갱신할 수 있다(S8090).The push notification token stored in the seller's electronic device 500 may be updated in the product distribution management system 200 every time the third application 522 is run (S8090).

다양한 실시 예에서, 판매자인증VC는 판매자의 대표자 개인의 신원인증VC로 대체될 수도 있다. 대표자 개인에 대한 정보는 제품유통관리시스템(200)의 공인판매자DB(226)에 저장될 수 있다(예: 표 3). 대표자 개인은 자신의 DID로 발급된 신원인증VC를 제출하고, 공인판매자VC를 발급받을 수 있다.In various embodiments, the seller authentication VC may be replaced with the identity authentication VC of the seller's representative. Information about the individual representative may be stored in the authorized seller DB 226 of the product distribution management system 200 (e.g. Table 3). Individual representatives can submit an identity verification VC issued with their DID and receive an authorized seller VC.

인증 시스템(10)에서 발행한 처방 인증서, 판매권한 인증서는 공인판매자로부터 이미 구매가 허가된 소비자로만 대마 약품이 유통되는데 활용된다.Prescription certificates and sales authorization certificates issued by the certification system 10 are used to distribute cannabis drugs only to consumers who have already been authorized to purchase from authorized sellers.

관리대상제품(대마약품) 구매Purchase of products subject to management (cannabis)

도 10은, 본 출원의 또 다른 일 측면에 따른, 대마약품을 구매하는 방법의 신호 흐름도이다. Figure 10 is a signal flow diagram of a method of purchasing cannabis medicine according to another aspect of the present application.

처방을 미리 받은 소비자는 자신의 전자장치(400)에 처방 인증서(426)를 소지한 상태이다. 이에 대해서는 도 8등을 참조해 전술하였는 바, 자세한 설명은 생략한다. A consumer who has received a prescription in advance holds a prescription certificate 426 in his or her electronic device 400. This has been described above with reference to FIG. 8, etc., and detailed description will be omitted.

소비자의 전자장치(400)의 제2 어플리케이션(422)을 통해 대마 약품에 대한 처방 여부에 대한 인증을 요구하는 주체에 대해 처방 여부를 인증할 수 있다. Through the second application 422 of the consumer's electronic device 400, it is possible to authenticate whether or not a cannabis drug is prescribed to a subject requesting authentication.

도 10은 소비자와 판매자 사이에 대마 약품에 대해 처방 여부를 인증하는 예시를 도시한다. 처방 인증 기능을 제공하는 제3 어플리케이션(522)이 설치된 전자장치(500)를 소지한 주체는 상기 인증을 수행할 수 있다.Figure 10 shows an example of authenticating whether a cannabis drug is prescribed between a consumer and a seller. A subject possessing an electronic device 500 on which a third application 522 that provides a prescription authentication function is installed can perform the authentication.

소비자의 전자장치(400)와 판매자의 전자장치(500) 사이에 대마 약품 구매 권한이 있는 지에 대한 구매권한 인증 요청이 발생할 수 있다(S9010). 일부 실시 예들에서, 상기 구매권한 인증 요청은 스캔 동작을 통해 구현될 수도 있다. 예를 들어, 소비자의 전자장치(400)는 제2 어플리케이션(422)를 실행하여 구매권한 인증을 요청하는 화면을 출력하고 판매자의 전자장치(500)는 제3 어플리케이션(522)를 실행하여 상기 소비자의 전자장치(400)의 화면을 스캔하여 구매권한 인증 요청을 발생시키거나, 또는 판매자의 전자장치(500)는 제3 어플리케이션(522)를 실행하여 구매권한 인증 요청을 획득하는 화면을 출력하고 소비자의 전자장치(400)는 제2 어플리케이션(422)를 실행하여 상기 판매자의 전자장치(500)의 화면을 스캔하여 구매권한 인증 요청을 발생시킬 수도 있다. A purchase authority authentication request may occur between the consumer's electronic device 400 and the seller's electronic device 500 to determine whether the user has the authority to purchase cannabis medicine (S9010). In some embodiments, the purchase authority authentication request may be implemented through a scan operation. For example, the consumer's electronic device 400 runs the second application 422 to output a screen requesting purchase authority authentication, and the seller's electronic device 500 runs the third application 522 to verify the purchase authority. The seller's electronic device 500 scans the screen of the electronic device 400 to generate a purchase authority authentication request, or the seller's electronic device 500 runs the third application 522 to output a screen to obtain a purchase authority authentication request and the consumer The electronic device 400 may execute the second application 422 and scan the screen of the seller's electronic device 500 to generate a purchase authority authentication request.

인증 요청이 발생되면, 소비자의 전자장치(400)와 판매자의 전자장치(500)는 통신 채널을 형성할 수 있다(S9020). When an authentication request is generated, the consumer's electronic device 400 and the seller's electronic device 500 may form a communication channel (S9020).

상기 소비자의 전자장치(400)에서 관리대상 제품의 구매권한 여부에 대한 VP를 생성할 수 있다(S9030). 상기 소비자의 전자장치(400)는 대마 약품에 대한 처방 여부에 대한 VP를 생성할 수도 있다(S9030). 처방 인증서(426)는 구매가 이미 허용된 대마 약품과 연관된 다양한 정보를 포함하므로, 소비자의 전자장치(400)는 처방 인증서(426)에 포함된 일부 정보만을 포함하는 가공된 처방 인증서를 발행하거나, 또는 처방 인증서(426) 전부를 발행할 수도 있다. 가공된 처방 인증서는 상술한 바와 같이 VP로 참조될 수도 있다. The consumer's electronic device 400 may generate a VP regarding whether the consumer has the right to purchase the management target product (S9030). The consumer's electronic device 400 may generate a VP regarding whether to prescribe a cannabis medicine (S9030). Since the prescription certificate 426 contains a variety of information associated with the cannabis drug product already permitted for purchase, the consumer's electronic device 400 may issue a processed prescription certificate containing only some of the information contained in the prescription certificate 426, or Alternatively, the entire prescription certificate 426 may be issued. The processed prescription certificate may also be referred to as a VP as described above.

다양한 실시 예에서, 소비자의 전자장치(400)는 소비자의 신원인증VC 와 처방 인증VC 에 포함되는 정보들 중에서 선택한 일부 정보만을 포함하는 VP를 발행할 수 있다(S9050). In various embodiments, the consumer's electronic device 400 may issue a VP containing only some information selected from among the information included in the consumer's identity authentication VC and prescription authentication VC (S9050).

다양한 실시 예에서, 소비자의 전자장치(400)는 소비자의 신원인증VC 와 처방인증VC 중 대마약품 처방여부만을 포함하는 VP를 발행할 수 있다. 예를 들어, 소비자의 전자장치(400)는 대마 약품 처방 여부에 대한 정보만을 포함하는 VP를 발행할 수 있다(S9050). 소비자의 전자장치(400)는 소비자의 전자장치(400)에 저장된 처방인증VC의 적어도 일부의 정보에 대해 소비자의 식별자로 디지털 서명을 할 수 있다. 구체적으로, 소비자의 전자장치(400)는 대마약품 처방 여부에 대한 정보와 소비자의 디지털 서명을 포함하는 VP를 생성할 수 있다. 상기 VP는 처방인증VC에 포함된 제품유통관리기관의 디지털 서명, 처방인증VC에 포함된 소비자의 식별자 정보 및 소비자의 디지털 서명을 포함할 수 있다.In various embodiments, the consumer's electronic device 400 may issue a VP that includes only whether a cannabis drug is prescribed among the consumer's identity authentication VC and prescription authentication VC. For example, the consumer's electronic device 400 may issue a VP containing only information on whether cannabis medicine is prescribed (S9050). The consumer's electronic device 400 may digitally sign at least part of the information of the prescription authentication VC stored in the consumer's electronic device 400 with the consumer's identifier. Specifically, the consumer's electronic device 400 may generate a VP that includes information on whether a cannabis drug is prescribed and the consumer's digital signature. The VP may include the digital signature of the product distribution management agency included in the prescription authentication VC, the consumer's identifier information included in the prescription authentication VC, and the consumer's digital signature.

인증 요청의 종류에 따라, VP에 포함되는 정보는 상이해질 수 있다. 여기서, 인증 요청의 종류는 판매자가 검증을 위해 요구하는 정보(예컨대, 폐에 연관된 주체들의 디지털 서명)에 기초한다. 복수의 주체에 의해 발행된 VC들로 VP를 구성하는 경우, 상기 VP는 복수의 주체들의 디지털 서명을 모두 포함할 수 있다. Depending on the type of authentication request, information included in the VP may vary. Here, the type of authentication request is based on the information the seller requires for verification (eg, digital signatures of subjects associated with the lung). When a VP is composed of VCs issued by multiple entities, the VP may include all digital signatures of the multiple entities.

소비자의 전자장치(400)는 대마약품 처방 여부를 요구하거나, 또는 소비자의 신원 정보 및 대마약품 처방 여부 모두를 요구하는 주체에 대해 해당 VP를 전송할 수 있다(S9055). 예를 들어, 소비자의 전자장치(400)는 대마약품 처방 여부에 대한 VP를 판매자의 전자장치(500)로 전송할 수 있다(S9055). The consumer's electronic device 400 may request whether a cannabis drug is prescribed, or may transmit the corresponding VP to a subject requesting both the consumer's identity information and whether a cannabis drug is prescribed (S9055). For example, the consumer's electronic device 400 may transmit a VP regarding whether a cannabis drug is prescribed to the seller's electronic device 500 (S9055).

판매자의 전자장치(500)는 단계(S9055)에서 수신된 VP를 검증할 수 있다(S9060). The seller's electronic device 500 may verify the VP received in step S9055 (S9060).

상기 단계(S9060)에서 판매자의 전자장치(500)는 수신된 인증서를 검증하는 동안의 대기 화면을 표시할 수도 있다. 판매자의 전자장치(500)는 블록체인 네트워크(600)의 제1 ID레지스트리(610)에 저장된 제품유통관리기관의 식별자와 상기 단계(S9055)에서 수신된 VP에 포함된 제품유통관리기관의 디지털 서명을 기초로 정당한 제품유통관리기관에 의하여 발급된 처방인증VC임을 검증할 수 있다. 판매자의 전자장치(500)는 소비자의 디지털 서명과 처방인증VC에 포함된 소비자의 식별자 정보를 기초로 소비자에 대해 발급된 처방인증VC임을 검증할 수 있다.In step S9060, the seller's electronic device 500 may display a standby screen while verifying the received certificate. The seller's electronic device 500 stores the identifier of the product distribution management agency stored in the first ID registry 610 of the blockchain network 600 and the digital signature of the product distribution management agency included in the VP received in the step (S9055). Based on this, it can be verified that it is a prescription certification VC issued by a legitimate product distribution management agency. The seller's electronic device 500 can verify that the prescription authentication VC is issued to the consumer based on the consumer's digital signature and the consumer's identifier information included in the prescription authentication VC.

검증이 성공되면, 판매자의 전자장치(500)는 VP에 포함된 대마약품 처방 여부에 대한 데이터를 획득할 수 있다. 또한, 일부 실시 예들에서, 상기 VP는 상기 처방인증VC에 포함된 처방전 정보 중 일부 또는 전부를 포함할 수도 있다. 그러면, 상기 판매자의 전자장치(500)는 처방전 정보 중 일부 또는 전부를 획득할 수도 있다. If verification is successful, the seller's electronic device 500 can obtain data on whether the cannabis drug included in the VP is prescribed. Additionally, in some embodiments, the VP may include some or all of the prescription information included in the prescription authentication VC. Then, the seller's electronic device 500 may obtain some or all of the prescription information.

VP는 제품유통관리기관에 의하여 디지털 서명되어 있으므로 소비자의 구매 권한이 검증되는 바, 판매자의 전자장치(500)는 소비자의 구매 권한의 유효성을 신뢰할 수 있다. 또한, 판매자는 VP에 포함된 데이터를 신뢰할 수 있게 된다. 이와 같이 대마약품 처방 여부에 대한 정보, 구매 대상 또는 규모에 대한 정보만을 인증하는 영지식 증명(zero-knowledge proof)을ㄹ 사용함으로써 개인 정보의 노출을 최소화할 수 있다. Since the VP is digitally signed by the product distribution management agency, the consumer's purchasing authority is verified, and the seller's electronic device 500 can trust the validity of the consumer's purchasing authority. Additionally, sellers can trust the data contained in VP. In this way, the exposure of personal information can be minimized by using zero-knowledge proof, which only authenticates information about whether cannabis drugs are prescribed, the target of purchase, or the size of the purchase.

단계(S9060)에서 검증이 성공되면, 판매자와 소비자 간의 거래 프로세스가 진행될 수도 있다. 상기 거래 프로세스는 대마약품 거래를 위한 판매자의 전자장치(500)와 소비자의 전자 장치(400) 간의 미리 설정된 일련의 동작으로 이루어질 수도 있다. If verification is successful in step S9060, the transaction process between the seller and the consumer may proceed. The transaction process may consist of a series of preset operations between the seller's electronic device 500 and the consumer's electronic device 400 for cannabis drug trading.

예를 들어, 판매자는 처방 인증서에 포함된, 처방 내용에 따른 수량만큼의 대마 약품을 소비자에게 판매할 수도 있다. 소비자는 처방 내용에 따른 수량만큼의 대마 약품을 구매할 수도 있다(S9080). For example, a seller may sell cannabis medicine to a consumer in the quantity according to the prescription included in the prescription certificate. Consumers can also purchase cannabis medicine in the quantity according to the prescription (S9080).

일부 실시 예들에서, 상기 판매자의 전자장치(500)는 제품유통관리시스템(200)에 상기 대마약품 처방 여부에 대한 VP의 유효성에 대한 검증 요청을 전송할 수도 있다(S9070). In some embodiments, the seller's electronic device 500 may transmit a request for verification of the validity of the VP regarding whether the cannabis drug is prescribed to the product distribution management system 200 (S9070).

상기 제품유통관리시스템(200)은 거래이력 DB(227)에 동일한 소비자의 구매 이력 중 동일한 처방 인증서에 기반한 구매 이력이 이미 존재하는지 확인하는, 검증 동작을 수행한다(S9075). The product distribution management system 200 performs a verification operation to check whether a purchase history based on the same prescription certificate among the purchase history of the same consumer already exists in the transaction history DB 227 (S9075).

상기 단계(S9075)에서 검증 동작은 대마약품 처방 여부에 대한 VP의 데이터에 매칭하는 구매 이력을 검색하는 것으로 수행될 수도 있다. 상기 단계(S9075)의 검증 동작은 단계(S9040, S9060)에서 디지털 서명을 이용한 검증 동작과 다른 방식으로 구현될 수 있다. In the above step (S9075), the verification operation may be performed by searching for purchase history matching the VP's data on whether cannabis drugs are prescribed. The verification operation of step S9075 may be implemented in a different manner from the verification operation using a digital signature in steps S9040 and S9060.

예를 들어, 처방 내용(예컨대, 처방 시간), 소비자의 식별자, 처방 의료기관 식별자가 매칭한 구매 이력이 검색된 경우, 제품유통관리시스템(200)은 검증 실패로 결정한다. 검증 실패는 동일 판매자 또는 다른 판매자에서 대마 약품의 구매를 위해 이미 활용된 처방 인증서가 재-활용된, 유효하지 않은 처방 인증서에 기반한 구매 시도를 의미한다. For example, if a purchase history matching the prescription content (eg, prescription time), consumer identifier, and prescribing medical institution identifier is searched, the product distribution management system 200 determines verification failure. Verification failure refers to a purchase attempt based on an invalid prescription certificate where the prescription certificate has already been utilized for the purchase of cannabis medication from the same seller or a different seller.

상기 제품유통관리시스템(200)은 대마약품 처방 여부에 대한 VP의 유효성에 대한 검증 결과를 판매자의 전자장치(500)로 전송한다(S9075). 판매자의 전자 장치(500)는 단계(S9075) 및 단계(S9060)의 검증을 모두 성공한 경우에 한해 처방 내용에 따른 수량만큼의 대마 약품을 소비자에게 판매할 수도 있다. The product distribution management system 200 transmits the verification result of the validity of the VP regarding whether cannabis medicine is prescribed to the seller's electronic device 500 (S9075). The seller's electronic device 500 may sell a quantity of cannabis medicine to the consumer according to the prescription only if the verification of steps S9075 and S9060 are successful.

특정 실시 예들에서, 통신 채널의 형성(S9020) 이후 대마 약품에 대한 처방 여부에 대한 VP를 판매자의 전자장치(500)로 전송하기 이전에, 판매자의 전자장치(500)는 판매자가 판매권한을 갖는 지 여부에 대한 VP를 추가로 생성할 수도 있다(S9030). In certain embodiments, after forming a communication channel (S9020) and before transmitting a VP regarding whether to prescribe a cannabis drug to the seller's electronic device 500, the seller's electronic device 500 may send a message indicating whether the seller has sales authority. A VP may be additionally created regarding whether or not (S9030).

판매권한을 미리 받은 판매자는 자신의 전자장치(500)에 판매권한 인증서(526)를 소지한 상태이다. 이에 대해서는 도 9 등을 참조해 전술하였는 바, 자세한 설명은 생략한다. A seller who has received sales authorization in advance holds a sales authorization certificate 526 in his or her electronic device 500. This has been described above with reference to FIG. 9 and the like, and detailed description will be omitted.

상기 판매권한에 대한 VP의 생성은 비-공인된 판매자에게 자신의 구매권한에 대한 VP가 공유되는 지 확인하고자 하는 소비자의 제공 요청에 의해 수행되거나 상기 구매권한에 대한 VP의 생성과 병렬적으로 수행될 수도 있다. The creation of the VP for the selling authority is performed at the request of a consumer who wants to check whether the VP for his or her purchasing authority is shared with a non-authorized seller, or is performed in parallel with the creation of the VP for the purchasing authority. It could be.

상기 관리대상 제품의 구매권한 여부에 대한 VP는 소비자의 신원인증VC 와 처방 인증VC 에 포함되는 정보들 중에서 일부 또는 전부를 포함할 수도 있다. 판매권한 인증서(526)는 공인판매자에 연관된 다양한 정보를 포함하므로, 판매자의 전자장치(500)는 판매권한 인증서(526)에 포함된 일부 정보만을 포함한 가공된 판매권한 인증서를 발행하거나, 또는 판매권한 인증서(526) 전부를 발행할 수도 있다. 가공된 판매권한 인증서는 상술한 바와 같이 VP로 참조될 수도 있다. The VP regarding the right to purchase the product subject to management may include some or all of the information included in the consumer's identity authentication VC and prescription authentication VC. Since the selling authority certificate 526 contains various information related to the authorized seller, the seller's electronic device 500 issues a processed selling authority certificate containing only some of the information included in the selling authority certificate 526, or All certificates 526 may be issued. The processed sales authority certificate may also be referred to as VP as described above.

다양한 실시 예에서, 판매자의 전자장치(500)는 판매자의 신원인증VC 와 공인판매자VC에 포함되는 정보들 중에서 선택한 일부 정보만을 포함하는 VP를 발행할 수 있다(S9030). 예를 들어, 판매자의 전자장치(500)는 판매권한 여부에 대한 정보만을 포함한 VP를 발행할 수 있다(S9030). 판매자의 전자장치(500)는 판매자의 전자장치(500)에 저장된 공인판매자VC의 적어도 일부의 정보에 대해 판매자의 식별자로 디지털 서명을 할 수 있다. 구체적으로, 판매자의 전자장치(500)는 판매권한 소지 여부에 대한 정보와 판매자의 디지털 서명을 포함하는 VP를 생성할 수 있다. 상기 VP는 공인판매자VC에 포함된 제품유통관리기관의 디지털 서명, 공인판매자VC에 포함된 판매자의 식별자 정보 및 판매자의 디지털 서명을 포함할 수 있다.In various embodiments, the seller's electronic device 500 may issue a VP containing only some information selected from among the information included in the seller's identity authentication VC and the authorized seller VC (S9030). For example, the seller's electronic device 500 may issue a VP containing only information on whether or not to sell (S9030). The seller's electronic device 500 may digitally sign at least part of the information of the authorized seller VC stored in the seller's electronic device 500 using the seller's identifier. Specifically, the seller's electronic device 500 may generate a VP that includes information on whether the seller has sales authority and the seller's digital signature. The VP may include the digital signature of the product distribution management agency included in the authorized seller VC, the seller's identifier information included in the authorized seller VC, and the seller's digital signature.

판매자의 전자장치(500)는 판매권한 여부를 요구하거나, 또는 판매자의 신원 정보 및 판매권한 여부 모두를 요구하는 주체에 대해 해당 VP를 추가로 전송할 수 있다(S9035).The seller's electronic device 500 may additionally transmit the corresponding VP to a subject requesting whether or not the seller has authority to sell, or requesting both the seller's identity information and whether or not the seller has authority to sell (S9035).

예를 들어, 판매자의 전자장치(500)는 대마약품의 판매권한을 갖는 지 여부에 대한 VP를 소비자의 전자장치(400)로 추가로 전송할 수 있다(S9035). 소비자의 전자장치(400)는 수신된 VP를 추가로 검증할 수 있다(S9040). For example, the seller's electronic device 500 may additionally transmit a VP regarding whether it has the authority to sell cannabis drugs to the consumer's electronic device 400 (S9035). The consumer's electronic device 400 may further verify the received VP (S9040).

상기 단계(S9040)의 검증은 상기 단계(S9060)의 검증 동작과 유사한 방식으로 구현된다. 상기 단계(S9040)에서 소비자의 전자장치(400)는 수신된 인증서를 검증하는 동안의 대기 화면을 표시할 수도 있다. 소비자의 전자장치(400)는 블록체인 네트워크(600)의 제1 ID레지스트리(610)에 저장된 제품유통관리기관의 식별자와 상기 VP에 포함된 제품유통관리기관의 디지털 서명을 기초로 정당한 제품유통관리기관에 의하여 발급된 공인판매자VC임을 검증할 수 있다. 소비자의 전자장치(400)는 판매자의 디지털 서명과 공인판매자VC에 포함된 판매자의 식별자 정보를 기초로 판매자에 대해 발급된 공인판매자VC임을 검증할 수 있다.The verification of step S9040 is implemented in a similar manner to the verification operation of step S9060. In step S9040, the consumer's electronic device 400 may display a standby screen while verifying the received certificate. The consumer's electronic device 400 performs legitimate product distribution management based on the identifier of the product distribution management agency stored in the first ID registry 610 of the blockchain network 600 and the digital signature of the product distribution management agency included in the VP. You can verify that it is an authorized seller VC issued by an organization. The consumer's electronic device 400 can verify that it is an authorized seller VC issued to the seller based on the seller's digital signature and the seller's identifier information included in the authorized seller VC.

검증이 완료되면, 소비자의 전자장치(400)는 VP에 포함된 대마약품 판매권한 여부에 대한 데이터를 획득할 수 있다. VP는 제품유통관리기관에 의하여 디지털 서명되어 있으므로 판매자의 판매 권한이 검증되는 바, 소비자의 전자장치(400)는 판매 권한의 유효성이 신뢰되는 판매자에게만 자신의 처방 인증서를 전송할 수 있다. 또한, 소비자는 VP에 포함된 데이터를 신뢰할 수 있게 된다. 이와 같이 대마약품 판매권한 여부에 대한 정보만을 인증하는 영지식 증명(zero-knowledge proof)을 사용함으로써 개인 정보의 노출을 최소화할 수 있다. Once verification is completed, the consumer's electronic device 400 can obtain data on whether or not the cannabis drug contained in the VP is authorized to be sold. Since the VP is digitally signed by the product distribution management agency, the seller's sales authority is verified, and the consumer's electronic device 400 can transmit its prescription certificate only to sellers whose sales authority is trusted. Additionally, consumers can trust the data contained in VP. In this way, exposure of personal information can be minimized by using zero-knowledge proof, which only authenticates information about whether or not the person is authorized to sell cannabis drugs.

그러면, 상기 단계(S9050)에서의 대마 약품의 처방 여부에 대한 VP를 생성 동작은 상기 단계(S9040)의 검증 동작 이후에 수행될 수도 있다. 또는 상기 단계(S9050)에서 상기 단계(S9040)의 VP 생성 동작과 병렬적으로 상기 단계(S9050)의 VP를 생성한 뒤 상기 단계(S9055)의 상기 대마 약품의 처방 여부에 대한 VP의 전송 동작은 상기 단계(S9040)의 검증 동작 이후에 수행될 수도 있다. Then, the operation of generating a VP regarding whether a cannabis medicine is prescribed in the step (S9050) may be performed after the verification operation of the step (S9040). Or, in the step (S9050), the VP of the step (S9050) is generated in parallel with the VP creation operation of the step (S9040), and then the VP transmission operation of whether the cannabis medicine is prescribed in the step (S9055) is It may also be performed after the verification operation of step S9040.

상기 단계(S9060)를 통해 소비자의 구매권한이 검증된 소비자에 대해, 상기 판매자의 전자장치(500)와 소비자의 전자장치(400)는 대마 약품과 구매 금액을 교환하는, 대마 약품의 거래 동작이 수행될 수도 있다(S9080). For a consumer whose purchase authority has been verified through the step (S9060), the seller's electronic device 500 and the consumer's electronic device 400 perform a transaction operation of cannabis medicine, exchanging the purchase amount for the cannabis medicine. It may also be performed (S9080).

특정 실시 예들에서, 상기 단계(S9080)에서 소비자의 전자장치(400)와 판매자의 전자장치(500) 간의 거래 동작은 상기 거래 시스템(1010)을 통해 수행될 수도 있다. 이 경우, 대마 약품의 결제 수단은 상기 거래 시스템(1010)의 블록체인 기반 통화 토큰일 수도 있다. 또한, 대마 약품의 전달은 대마 약품에 대응한 자산 지분 토큰의 이체로 구현될 수도 있다. 그러면, 대마 약품의 거래는 자산 지분 토큰과 통화 토큰의 교환으로 구현될 수도 있다. 이러한 대마 약품의 전달 내용은 거래이력으로 거래 시스템(10)에 기록되어 대마유통관리시스템(200)에서 추적할 수 있다. In certain embodiments, in step S9080, a transaction operation between the consumer's electronic device 400 and the seller's electronic device 500 may be performed through the transaction system 1010. In this case, the payment method for cannabis medicine may be a blockchain-based currency token of the transaction system 1010. Additionally, delivery of cannabis medicine may be implemented as a transfer of asset equity tokens corresponding to the cannabis medicine. Trading in cannabis medicines could then be implemented by exchanging asset equity tokens and currency tokens. The delivery details of these cannabis medicines are recorded in the transaction system 10 as a transaction history and can be tracked in the cannabis distribution management system 200.

이에 대해서는 아래의 상기 거래 시스템(1010)을 참조해 보다 상세히 서술한다. This will be described in more detail with reference to the transaction system 1010 below.

블록체인 기반 거래 시스템Blockchain-based transaction system

도 11a 및 도 11b는, 본 출원의 일 측면에 따른, 블록체인 기반 거래 시스템의 개략도이다. 도 11b는, 다양한 실시 예에 따른 도 11a의 거래 시스템을 설명하기 위한 도면이다. 도 12은 다양한 실시 예에 따른 블록체인 네트워크의 구조를 설명하기 위한 도면이다. 도 13은, 본 출원의 일 실시 예에 따른 거래소 서버의 블록도이다.11A and 11B are schematic diagrams of a blockchain-based transaction system, according to one aspect of the present application. FIG. 11B is a diagram for explaining the transaction system of FIG. 11A according to various embodiments. Figure 12 is a diagram to explain the structure of a blockchain network according to various embodiments. Figure 13 is a block diagram of an exchange server according to an embodiment of the present application.

도 11a를 참조하면, 일 실시 예에 따른 자산 거래 서비스를 제공하는 거래 시스템(1010)은 블록체인 네트워크(1100), 거래소 서버(1200), 분산 저장소(distributed storage)(1300)를 포함할 수 있다.Referring to FIG. 11A, a trading system 1010 that provides an asset trading service according to an embodiment may include a blockchain network 1100, an exchange server 1200, and distributed storage 1300. .

특정 실시 예들에서, 상기 블록체인 네트워크(1100)는 상기 인증 시스템(10)의 블록체인 네트워크(1100)일 수도 있다. 이 경우, 블록체인 네트워크(1100)에는 인증서 발행 및 대마 약품의 유통(즉, 거래) 이력이 기록될 수도 있다. In certain embodiments, the blockchain network 1100 may be the blockchain network 1100 of the authentication system 10. In this case, the blockchain network 1100 may record certificate issuance and distribution (i.e. transaction) history of cannabis drugs.

거래 시스템(1010)은 디앱(Dapp, decentralized application)(70)을 통하여 사용자에게 자산 거래 서비스를 제공할 수 있다. 사용자는 예를 들어, 사용자의 단말(예: PC, 스마트폰 등의 전자 장치)의 디앱(1070)을 실행하고 자산 거래 서비스를 이용할 수 있다. The trading system 1010 can provide asset trading services to users through a decentralized application (Dapp) 70. For example, a user can run the DApp 1070 on the user's terminal (e.g., electronic device such as PC, smartphone, etc.) and use the asset trading service.

자산 거래 서비스란, 부동산, 미술 작품, 결제 수단을 통해 유통 가능한 기타 제품과 같은 자산에 대한 교환 거래를 제공하는 서비스로 참조될 수 있다. 예를 들어, 거래 시스템(1010)은 자산을 토큰화하고, 그 토큰을 발행하고 관리함으로써 자산에 대한 교환 거래 서비스를 제공할 수 있다.Asset trading services can be referred to as services that provide exchange transactions for assets such as real estate, works of art, and other products that can be distributed through payment methods. For example, trading system 1010 may provide exchange trading services for assets by tokenizing assets, issuing and managing the tokens.

다양한 실시 예에서, 거래 시스템(1010)에 의하여 제공되는 거래 서비스는 서로 다른 종류의 토큰 간의 교환 거래로 확장될 수 있다. 예를 들어, 서로 다른 스마트컨트랙트를 통하여 발행되는 서로 다른 토큰 간의 교환 거래 서비스는 본 발명에 따른 거래 시스템(1010)에 의하여 제공될 수 있다.In various embodiments, transaction services provided by the transaction system 1010 may be extended to exchange transactions between different types of tokens. For example, an exchange transaction service between different tokens issued through different smart contracts can be provided by the transaction system 1010 according to the present invention.

다양한 실시 예에서, 본 문서에서 개시되는 거래 시스템(1010)은 통상의 기술자에 의하여 자산 외의 다른 재화에 대한 교환 서비스에도 확장되어 적용될 수 있다. 예를 들어, 거래 시스템(1010)은 서로 다른 암호화 통화 자체 사이의 상호 교환 거래 서비스를 제공할 수 있다. 서로 다른 토큰간의 교환 거래는 서로 다른 암호화 통화간의 교환 거래에 마찬가지로 적용될 수 있다. 다른 예에서, 거래 시스템(1010)은 채권, 증권, 특허권, 상표권 등의 채권적 권리를 토큰화하고, 그 토큰을 발행하고 관리함으로써 상기 권리들에 대한 교환 거래 서비스를 제공할 수 있다.In various embodiments, the transaction system 1010 disclosed in this document can be extended and applied to exchange services for goods other than assets by those skilled in the art. For example, the trading system 1010 may provide interchange trading services between different cryptocurrencies themselves. Exchange transactions between different tokens can likewise be applied to exchange transactions between different cryptocurrencies. In another example, the trading system 1010 may tokenize bond rights, such as bonds, securities, patent rights, and trademark rights, and provide exchange trading services for these rights by issuing and managing the tokens.

일 실시 예에서, 거래 시스템(1010)은 자산에 대응되는 토큰을 발행할 수 있다. 대마 약품과 같은 자산은 토큰화 되어 거래 시스템(1010)에 의하여 거래될 수 있다. 이하, 토큰화된 자산은 자산 지분 토큰(asset share token)으로 참조될 수 있다. 예를 들어, 사용자는 팔고자 하는 자산을 등록하고, 상기 자산에 대응되는 자산 지분 토큰들을 받을 수 있다.In one embodiment, the transaction system 1010 may issue tokens corresponding to assets. Assets such as cannabis drugs can be tokenized and traded by the trading system 1010. Hereinafter, tokenized assets may be referred to as asset share tokens. For example, a user can register an asset they wish to sell and receive asset equity tokens corresponding to the asset.

또한, 거래 시스템(1010)은 거래 서비스에서 이용되는 통화에 대응되는 토큰을 발행할 수 있다. 이하, 상기 토큰은 통화 토큰(currency token)으로 참조될 수 있다.Additionally, the transaction system 1010 may issue tokens corresponding to the currency used in the transaction service. Hereinafter, the token may be referred to as a currency token.

일부 실시 예들에서, 상기 통화 토큰은 법정화폐 고정 토큰(dFIAT)일 수도 있다. 상기 거래 시스템(1010)의 오프체인 시스템은 기존 은행 시스템과 연동하여 법정화폐 준비금을 관리하고 안전하게 저장된 개인 키를 사용하여 블록체인과 연동하여 dFIAT의 발행/상환을 처리할 수도 있다. 모든 블록체인 계정에 대한 dFIAT의 분배의 공개 원장은 블록체인에서 투명하고 안전하게 유지된다. 또한, 블록체인 계정 간의 dFIAT 발행, 상환(소각) 및 dFIAT 전송과 같은 모든 블록체인 트랜잭션은 트랜잭션이 블록체인에서 발생하기 때문에 투명하고 안전하게 변경되지 않는다. 상기 거래 시스템(1010)의 모든 활동이 투명하고 추적 가능하기 때문에, 블록체인에서 유통되는 dFIAT의 총 토큰 공급량 역시 항상 공개 정보이다. 완전한 상환을 위해, 블록체인에서 dFIAT 토큰의 총 공급량은 항상 토큰 백업 저장소에 연결된 은행의 법정화폐 준비금보다 작거나 같도록 관리된다. In some embodiments, the currency token may be a fiat pegged token (dFIAT). The off-chain system of the transaction system 1010 can manage fiat reserves in conjunction with the existing banking system and process the issuance/redemption of dFIAT by linking with the blockchain using a securely stored private key. A public ledger of dFIAT's distribution to all blockchain accounts is maintained transparently and securely on the blockchain. Additionally, all blockchain transactions such as dFIAT issuance, redemption (burn), and dFIAT transfer between blockchain accounts are transparent, secure, and immutable because the transactions occur on the blockchain. Because all activity in the trading system 1010 is transparent and traceable, the total token supply of dFIAT circulating on the blockchain is also always public information. For full redemption, the total supply of dFIAT tokens on the blockchain is always managed to be less than or equal to the bank's fiat reserves linked to the token's backing storage.

그 결과, 사용자는 거래 시스템(1010)에 원화를 입금하고, 입금된 원화 양에 대응되는 통화 토큰을 받을 수 있다. 사용자는 통화 토큰을 이용하여 자산 지분 토큰을 구매할 수 있다. 특히, 상기 거래 시스템(1010)을 통해 예칙된 법정화폐를 보유하고 있는 은행이 현재 법정화폐 예치금에 대해 신뢰할 수 있는 방식으로 공개 액세스를 허용하면(예컨대, 분산원장) 블록체인 사용자는 두려움 없이 상기 dFIAT를 이체할 수 있다. As a result, the user can deposit won into the transaction system 1010 and receive a currency token corresponding to the deposited won amount. Users can purchase asset equity tokens using currency tokens. In particular, if a bank holding fiat deposited through the transaction system 1010 allows public access to the current fiat deposit in a trustworthy manner (e.g., distributed ledger), blockchain users can use the dFIAT without fear. can be transferred.

거래 시스템(1010)은 자산 교환 거래를 지원할 수 있다. 예를 들어, 사용자는 통화 토큰을 이용하여 자산 지분 토큰을 구매함으로써, 자산 지분 토큰에 대응되는 자산의 일부 또는 전부를 구매할 수 있다. 사용자는 자산 지분 토큰을 이용하여 통화 토큰을 구매함으로써, 소유한 자산의 일부 또는 전부를 판매할 수 있다.Trading system 1010 may support asset exchange transactions. For example, a user can purchase an asset equity token using a currency token, thereby purchasing part or all of the asset corresponding to the asset equity token. Users can sell some or all of the assets they own by purchasing currency tokens using asset stake tokens.

상기 구매 시스템(1)은 거래 시스템(10)에서 발행된 자산 지분 토큰을 상기 자산 지분 토큰에 연관된, 대마 약품을 교환하는데 이용할 수도 있다. 또한, 상기 구매 시스템(1)은 거래 시스템(10)에서 발행된 통화 토큰을 구매 량만큼의 대마 약품에 대한 구매 금액을 지불하기 위한 전자화폐로 이용할 수도 있다. 즉, 상기 구매 시스템(1)은 자산 지분 토큰 및 통화 토큰의 교환을 통해 소비자가 자산 지분 토큰에 대응한, 판매자의 관리대상제품을 구매하는 것을 구현할 수도 있다. The purchasing system 1 may use asset equity tokens issued in the trading system 10 to exchange cannabis medicines associated with the asset equity tokens. Additionally, the purchase system 1 may use the currency token issued by the transaction system 10 as electronic money to pay for the purchase amount of cannabis medicine equivalent to the purchase amount. That is, the purchasing system 1 may enable a consumer to purchase a product managed by a seller corresponding to an asset equity token through the exchange of an asset equity token and a currency token.

일 실시 예에서, 거래 시스템(1010)은 블록체인 네트워크(1100)의 계좌 자체를 거래 시스템(1010)의 사용자 계좌로 사용할 수 있다. 따라서 거래 시스템(1010)의 사용자 계좌는 클라이언트 측에서 거래서 서버(1200)의 간섭(intervention) 없이 독립적으로 생성할 수 있다. 기존의 중앙화된 거래 시스템에서는 사용자가 가입하고 로그인 (sign-up/ sign-in)하고, 중앙화된 데이터베이스에 관련 정보를 저장한다. 이에 따라 사용자의 계좌를 포함한 관련 정보는 중앙화된 서버에 의하여 제어 및 관리되게 된다. 그러나 분산화된 거래 시스템에서 사용자의 계좌는 사용자에 의하여 완전히 제어될 수 있다.In one embodiment, the transaction system 1010 may use the account of the blockchain network 1100 itself as a user account of the transaction system 1010. Therefore, the user account of the transaction system 1010 can be created independently on the client side without intervention from the transaction server 1200. In existing centralized transaction systems, users sign up and log in (sign-up/sign-in), and related information is stored in a centralized database. Accordingly, related information, including the user's account, is controlled and managed by a centralized server. However, in a decentralized trading system, a user's account can be completely controlled by the user.

도 11b를 참조하면, 일 실시 예에 따른 거래 시스템(1010)은 블록체인 네트워크(1100)를 통하여 거래 서비스가 구현된 적어도 하나의 스마트컨트랙트를 제공할 수 있다. 상기 스마트컨트랙트는 거래 서비스를 제공할 수 있도록 구현될 수 있고, 구현된 스마트컨트랙트는 블록체인 네트워크(1100)에 배포될 수 있다.Referring to FIG. 11B, the transaction system 1010 according to an embodiment may provide at least one smart contract implementing a transaction service through the blockchain network 1100. The smart contract can be implemented to provide transaction services, and the implemented smart contract can be distributed to the blockchain network 1100.

예를 들어, 거래 시스템(1010)은 공유 자산을 생성하는 자산 지분 스마트컨트랙트(1001), 통화 토큰을 관리하는 통화 토큰 스마트컨트랙트(1002), 자산 거래를 위한 거래소 스마트컨트랙트(1003), 및 중 하나 이상의 스마트컨트랙트를 제공할 수 있다. 예를 들어, 거래 시스템(1010)이 이더리움 네트워크를 기반으로 구현된 경우, 스마트컨트랙트는 ERC 20 토큰 및 ERC 223 토큰에 호환 가능하도록 구현될 수 있다.For example, the trading system 1010 may include an asset stake smart contract 1001 that creates shared assets, a currency token smart contract 1002 that manages currency tokens, an exchange smart contract 1003 for asset trading, and one of The above smart contracts can be provided. For example, if the transaction system 1010 is implemented based on the Ethereum network, the smart contract may be implemented to be compatible with ERC 20 tokens and ERC 223 tokens.

자산 지분 스마트컨트랙트(1001)는 자산 지분 스마트컨트랙트(1001)의 자산 지분 토큰 계정의 잔액 장부, 자산 지분 토큰의 이동(예: 자산 지분 토큰 입금 및 거래소 스마트컨트랙트(1003)로의 출금), 초기의 자산 지분 토큰 발행을 위한 기능을 제공할 수 있다.The asset share smart contract 1001 is a balance ledger of the asset share token account of the asset share smart contract 1001, the movement of the asset share token (e.g., asset share token deposit and withdrawal to the exchange smart contract 1003), and the initial asset. Functions for issuing equity tokens can be provided.

통화 토큰 스마트컨트랙트(1002)는 통화 토큰 스마트컨트랙트(1002)의 통화 토큰 계정의 잔액 장부, 통화 토큰의 이동(예: 통화 토큰의 입금 및 거래소 스마트컨트랙트(1003)로의 출금), 통화 토큰의 발행 및 교환(redeeming)을 위한 기능을 제공할 수 있다.The currency token smart contract 1002 is a balance ledger of the currency token account of the currency token smart contract 1002, movement of currency tokens (e.g., deposit and withdrawal of currency tokens to the exchange smart contract 1003), issuance of currency tokens, and A function for redemption can be provided.

다양한 실시 예에서, 통화 토큰 스마트컨트랙트(1002)에 의하여 발행되는 통화 토큰은 거래 시스템(1010)이 운영되는 나라의 화폐에 대응되도록 구현될 수 있다. 예를 들어, 한국에서 발행되는 원화에 대응되는 dKRW 토큰은 한국에서 운영되는 은행의 은행 계좌의 잔고에 비례하여 발행될 수 있다. 별도의 서버(예: 도 13의 dKRW 서버)는 은행과 블록체인 네트워크(1100)사이에서 중개 동작, 예를 들면 은행으로부터 원화 입금 여부 확인, 은행 계좌의 잔고 확인, 통화 토큰 스마트컨트랙트(1002)로의 입금 트랜잭션 전달 등의 동작을 수행할 수 있다.In various embodiments, the currency token issued by the currency token smart contract 1002 may be implemented to correspond to the currency of the country in which the transaction system 1010 operates. For example, dKRW tokens corresponding to the won issued in Korea may be issued in proportion to the balance of the bank account of a bank operating in Korea. A separate server (e.g., dKRW server in FIG. 13) performs intermediary operations between the bank and the blockchain network 1100, for example, checking whether won is deposited from the bank, checking the balance of the bank account, and sending the currency token to the smart contract 1002. You can perform operations such as transferring deposit transactions.

특정 실시 예들에서, 통화 토큰 스마트컨트랙트(1002)는 통화 토큰 스마트컨트랙트(1002)의 통화 토큰 계정의 잔액 장부, 통화 토큰의 이동(예: 통화 토큰의 입금 및 거래소 스마트컨트랙트(1003)로의 출금), 통화 토큰의 발행 및 교환(redeeming)을 위한 기능을 제공할 수 있다.In certain embodiments, the currency token smart contract 1002 can perform the following functions: the balance ledger of the currency token account in the currency token smart contract 1002, the movement of currency tokens (e.g., deposits and withdrawals of currency tokens to the exchange smart contract 1003); Functions for issuance and redemption of currency tokens can be provided.

거래소 스마트컨트랙트(1003)는 거래를 위하여 자산 지분 스마트컨트랙트(1001)로부터 자산 지분 토큰을 이전(transfer) 받을 수 있고, 통화 토큰 스마트컨트랙트(1002)로부터 통화 토큰을 이전(transfer) 받을 수 있다. 또한 거래소 스마트컨트랙트(1003)는 자산 지분 토큰 및 통화 토큰의 출금 기능을 제공할 수 있다.The exchange smart contract 1003 can transfer asset share tokens from the asset share smart contract 1001 for trading, and can transfer currency tokens from the currency token smart contract 1002. Additionally, the exchange smart contract 1003 can provide a withdrawal function for asset equity tokens and currency tokens.

다양한 실시 예에서, 자산 거래 서비스의 사용자는 자산 지분 토큰 또는 통화 토큰을 입금(deposit)하고, 입금된 토큰의 한도 내에서 자산 교환 거래를 수행할 수 있다. 자산 지분 토큰과 통화 토큰은 거래소 스마트컨트랙트(1003)로 입금될 수 있고, 입금 이력은 블록체인 네트워크(1100)에 기록된다. 거래소 스마트컨트랙트(1003)에 대한 입금 이력은 거래소 서버(1200)에게 제공될 수 있다. 예를 들어 거래소 스마트컨트랙트(1003)는 입금에 대한 로그 데이터를 생성하고, 블록체인(1055)에 기록할 수 있다. 거래소 서버(1200)는 기록된 로그 데이터를 참조할 수 있다. 이로서, 거래소 스마트컨트랙트(1003) 상의 토큰의 잔액과 거래소 서버(1200) 상의 거래소 계좌 사이의 동기화가 이루어질 수 있다. 거래소 서버(1200)는 거래소 계좌에 입금된 토큰들의 잔고를 기준으로 사용자의 거래 관련 요청을 처리할 수 있다. 거래소 서버(1200)는 출금 요청이 발생되면, 출금 요청이 발생된 양의 토큰을 거래소 계좌에서 출금할 수 있다. 출금 과정에 대한 구체적 내용은 도 14를 통해 후술된다.In various embodiments, users of an asset trading service may deposit asset equity tokens or currency tokens and perform asset exchange transactions within the limits of the deposited tokens. Asset equity tokens and currency tokens can be deposited into the exchange smart contract (1003), and the deposit history is recorded in the blockchain network (1100). Deposit history for the exchange smart contract 1003 may be provided to the exchange server 1200. For example, the exchange smart contract 1003 can generate log data about deposits and record them in the blockchain 1055. The exchange server 1200 may refer to the recorded log data. As a result, synchronization can be achieved between the balance of tokens on the exchange smart contract 1003 and the exchange account on the exchange server 1200. The exchange server 1200 can process the user's transaction-related requests based on the balance of tokens deposited in the exchange account. When a withdrawal request is made, the exchange server 1200 can withdraw the amount of tokens for which the withdrawal request was made from the exchange account. Details of the withdrawal process are described later with reference to FIG. 14.

거래 시스템(1010)에서 이루어지는 모든 거래들은 거래 당사자의 블록체인 네트워크(1100) 계정(예: 이더리움 계정)의 개인 키(private key)에 의하여 암호화 서명될 수 있다(cryptographically signed). 특정 실시 예들에서, 상기 암호화 서명은 인증 시스템(10)의 디지털 서명일 수도 있다. 그러면, 상기 개인 키는 디지털 서명의 수단인 식별자일 수도 있다. 일부 실시 예들에서, 동일한 주체에 대해 상기 네트워크(600)의 식별자와 상기 네트워크(1100)의 식별자는 다른 값을 가질 수도 있다. 예를 들어, 판매자는 서로 다른 인증 시스템(10)의 식별자 및 거래 시스템(1010)의 식별자를 가질 수도 있다. 이러한 실시 예들을 보다 명확히 설명하기 위해 두 식별자 및 그에 의한 디지털 서명이 구분되도록 거래 시스템(1010)의 식별자는 개인 키로 지칭하고 거래 시스템(1010)의 디지털 서명은 암호화 서명으로 지칭한다. All transactions made in the transaction system 1010 may be cryptographically signed by the private key of the transaction party's blockchain network 1100 account (e.g., Ethereum account). In certain embodiments, the cryptographic signature may be a digital signature of authentication system 10. Then, the private key may be an identifier that is a means of digital signature. In some embodiments, the identifier of the network 600 and the identifier of the network 1100 may have different values for the same subject. For example, a seller may have different authentication system 10 identifiers and transaction system 1010 identifiers. To explain these embodiments more clearly, the identifier of the transaction system 1010 is referred to as a private key and the digital signature of the transaction system 1010 is referred to as a cryptographic signature so that the two identifiers and their digital signatures can be distinguished.

암호화 서명을 통해, 특정 블록체인 네트워크(1100) 계좌의 소유자에 의하여 발생된 거래들이 식별될 수 있다. 예를 들어 블록체인 네트워크(1100)의 계정은 이미 공개된 암호화 알고리즘(예: secp256k 타원 곡선 암호화 알고리즘)에 의하여 생성된 공개키 및 일반 키로 참조될 수 있다. 이하, 특정 계좌에 의하여 서명된 트랜잭션들은 상기 특정 계좌에 맵핑된 트랜잭션들로 참조될 수 있다. Through cryptographic signatures, transactions generated by the owner of a specific blockchain network 1100 account can be identified. For example, an account in the blockchain network 1100 may be referred to as a public key and a general key generated by an already public encryption algorithm (e.g., secp256k elliptic curve encryption algorithm). Hereinafter, transactions signed by a specific account may be referred to as transactions mapped to the specific account.

사용자가 특정 거래를 요청하면, 상기 사용자의 개인 키에 의하여 암호되고 상기 요청된 거래에 대응되는 트랜잭션이 발생될 수 있다. 거래 시스템(1010)은 상기 트랜잭션을 처리하고, 기록할 수 있다.When a user requests a specific transaction, a transaction encrypted by the user's private key and corresponding to the requested transaction may be generated. Transaction system 1010 may process and record the transaction.

일 실시 예에서, 거래 시스템(1010)에서 발생하는 트랜잭션들의 일부는 블록체인 네트워크(1100)를 통하여 블록체인 상(on blockchain)에서 처리될 수 있고, 나머지 일부는 거래소 서버(1200)를 통하여 블록체인 밖(off block chain)에서 처리될 수 있다. 모든 트랜잭션이 블록체인 상에서 처리되면 과도한 트랜잭션 수수료가 발생할 수 있고, 처리 지연이 발생할 수 있다. 따라서 본 문서에서 개시되는 거래 시스템(1010)은 일부 트랜잭션을 블록체인 밖에서 처리함으로써 수수료를 감소시키고, 빠른 처리를 수행할 수 있다.In one embodiment, some of the transactions occurring in the transaction system 1010 may be processed on the blockchain through the blockchain network 1100, and the remaining portion may be processed on the blockchain through the exchange server 1200. Can be processed off block chain. If all transactions are processed on the blockchain, excessive transaction fees may occur and processing delays may occur. Therefore, the transaction system 1010 disclosed in this document can reduce fees and perform faster processing by processing some transactions outside the blockchain.

도 12를 참조하면, 블록체인 네트워크(1100)은 네트워크를 통하여 서로 연결된 복수 개의 컴퓨팅 장치들(50)(피어 또는 노드)을 포함하는 피어 투 피어 네트워크로 참조될 수 있다. 상기 복수 개의 컴퓨팅 장치들(50)은 하나의 공공 원장(public ledger)을 가질 수 있다. 블록체인 네트워크(1100)은 하나의 공공 원장(public ledger)이 복수 개의 컴퓨팅 장치들(50) 각각에 의하여 생성되는 점에서 분산 네트워크로 참조될 수 있다. 상기 하나의 공공 원장은 블록체인(1055)으로 참조될 수 있다. 블록체인 네트워크(1100)은 트랜잭션을 처리하고 블록체인(1055)에 기록할 수 있다. 예를 들어, 블록체인 네트워크(1100)은 자산 지분 스마트컨트랙트(1001), 통화 토큰 스마트컨트랙트(1002), 및 교환(exchange) 스마트컨트랙트(1003)에서 정의된 트랜잭션들을 처리하고 블록체인(1055)에 기록할 수 있다.Referring to FIG. 12, the blockchain network 1100 may be referred to as a peer-to-peer network including a plurality of computing devices 50 (peers or nodes) connected to each other through a network. The plurality of computing devices 50 may have one public ledger. The blockchain network 1100 may be referred to as a distributed network in that one public ledger is created by each of a plurality of computing devices 50. The single public ledger may be referred to as a blockchain 1055. Blockchain network 1100 can process transactions and record them in blockchain 1055. For example, blockchain network 1100 processes transactions defined in asset stake smart contract 1001, currency token smart contract 1002, and exchange smart contract 1003 and sends them to blockchain 1055. It can be recorded.

도 13을 참조하면, 일 실시 예에 따른 거래소 서버(1200)는 프로세서(1210), 메모리(1220), 및 통신 인터페이스(1230)를 포함할 수 있다. 프로세서(1210)는 거래소 서버(1200)의 전반적인 동작을 제어할 수 있다. 프로세서(1210)는 트랜잭션 처리 모듈(215)을 포함할 수 있다. 예를 들어, 프로세서(1210)는 메모리(1220)에 저장된 명령어들을 실행하여 트랜잭션 처리 모듈(1215)을 구동시킬 수 있다. 트랜잭션 처리 모듈(1215)에 의하여 수행되는 동작은 프로세서(1210)에 의하여 수행되는 동작으로 이해될 수 있다. 거래소 서버(1200)는 통신 인터페이스(1230)를 통하여 블록체인 네트워크(1100) 및 분산 저장소(1300)와 통신을 수행할 수 있다. 거래소 서버(1200)의 프로세서(1210)는 발생된 트랜잭션을 처리하고, 상기 트랜잭션 또는 상기 트랜잭션의 처리 결과를 통신 인터페이스(1230)를 통하여 분산 저장소(1300)로 송신할 수 있다. 분산 저장소(1300)는 수신한 트랜잭션을 저장할 수 있다.Referring to FIG. 13, the exchange server 1200 according to one embodiment may include a processor 1210, a memory 1220, and a communication interface 1230. The processor 1210 can control the overall operation of the exchange server 1200. Processor 1210 may include a transaction processing module 215. For example, the processor 1210 may drive the transaction processing module 1215 by executing instructions stored in the memory 1220. Operations performed by the transaction processing module 1215 may be understood as operations performed by the processor 1210. The exchange server 1200 can communicate with the blockchain network 1100 and the distributed storage 1300 through the communication interface 1230. The processor 1210 of the exchange server 1200 may process the generated transaction and transmit the transaction or the processing result of the transaction to the distributed storage 1300 through the communication interface 1230. Distributed storage 1300 may store received transactions.

상술한 바와 같이, 블록체인 네트워크(1100)에 의하여 처리된 트랜잭션은 블록체인(1055)에 저장될 수 있고, 거래소 서버(1200)에 의하여 처리된 트랜잭션은 분산 저장소(1300)에 저장될 수 있다. 블록체인 네트워크(1100) 또는 분산 저장소(1300)에 저장된 트랜잭션들은 불변성과 투명성을 가질 수 있다.As described above, transactions processed by the blockchain network 1100 may be stored in the blockchain 1055, and transactions processed by the exchange server 1200 may be stored in the distributed storage 1300. Transactions stored in the blockchain network 1100 or distributed storage 1300 may have immutability and transparency.

분산 저장소(1300)는 저장된 데이터들에 대한 불변성 및 투명성을 보장할 수 있다. 분산 저장소(1300)는 예를 들어, IPFS(InterPlanetary File System)으로 참조될 수 있다. IPFS에 게재된(published) 데이터에 대한 불변성은 merkle directed acyclic graph (DAG) 구조에 의하여 보장될 수 있다. 누구나 저장된 데이터들의 주소 값(예: 해시 주소 값)을 통하여 상기 저장된 데이터들에 접근할 수 있다. 사용자들은 분산 저장소(1300)에 저장된 모든 거래 이력을 확인하고 감시할 수 있다. 이와 관련된 구체적 내용은 도 16을 참조하여 후술된다.Distributed storage 1300 can guarantee immutability and transparency for stored data. Distributed storage 1300 may be referred to, for example, as IPFS (InterPlanetary File System). Immutability for data published in IPFS can be guaranteed by the merkle directed acyclic graph (DAG) structure. Anyone can access the stored data through the address value (e.g. hash address value) of the stored data. Users can check and monitor all transaction history stored in the distributed storage 1300. Specific details related to this will be described later with reference to FIG. 16.

거래 시스템(1010)은 분산 저장소(1300)에 모든 거래 이력을 저장함으로써, 거래소 서버(1200)에 의하여 처리되는 트랜잭션들에 대하여도 투명성과 불변성을 보장할 수 있다.The trading system 1010 can guarantee transparency and immutability for transactions processed by the exchange server 1200 by storing all transaction history in the distributed storage 1300.

도 14는, 본 출원의 일 실시 예에 따른 거래 시스템에서 발생하는 거래 트랜잭션의 시퀀스의 일 예시와, 출금 요청 발생에 따라 수행되는 정산 절차를 설명하기 위한 도면이다.FIG. 14 is a diagram illustrating an example of a sequence of transaction transactions occurring in a transaction system according to an embodiment of the present application and a settlement procedure performed upon occurrence of a withdrawal request.

일 실시 예에 따른 거래 시스템(1010)은 다양한 트랜잭션들을 제공할 수 있다. 예를 들어, 트랜잭션들은 구매 주문(buy order), 판매 주문(sell order or sale order), 교환 구매(trade buy), 교환 판매(trade sell), 구매 주문 취소(cancel buy order), 판매 주문 취소(cancel sell order), 입금(deposit), 출금 요청(withdrawal request), 출금 요청 취소(cancel withdrawal request), 출금 확인(withdrawal confirm) 중 하나 이상의 트랜잭션을 포함할 수 있다. 그러나 상술된 트랜잭션들은 예시적이며, 상기 트랜잭션들의 일부는 통합되어 하나의 트랜잭션으로 구현되거나, 하나의 트랜잭션이 여러 트랜잭션으로 분리되어 구현될 수 있다.The transaction system 1010 according to one embodiment may provide various transactions. For example, transactions include buy order, sell order or sale order, trade buy, trade sell, cancel buy order, cancel sell order ( It may include one or more of the following transactions: cancel sell order, deposit, withdrawal request, cancel withdrawal request, and withdrawal confirmation. However, the above-described transactions are exemplary, and some of the transactions may be integrated and implemented as one transaction, or one transaction may be implemented separately into several transactions.

모든 트랜잭션들은 순차적으로 발생될 수 있다. 순차적으로 발생된 모든 트랜잭션들은 블록체인 네트워크(1100) 또는 거래소 서버(1200)에 의하여 처리될 수 있고, 블록체인(1055) 및/또는 분산 저장소(1300)에 저장될 수 있다.All transactions can occur sequentially. All transactions that occurred sequentially may be processed by the blockchain network 1100 or the exchange server 1200 and stored in the blockchain 1055 and/or distributed storage 1300.

도 14의 (1)을 참조하면, 예를 들어 사용자 A(예컨대, 판매자)의 자산 지분 토큰 입금 트랜잭션, 사용자 B(예컨대, 소비자)의 통화 토큰의 입금 트랜잭션, 사용자 B의 구매 주문 트랜잭션, 사용자 A의 판매 주문 트랜잭션, 사용자 A와 사용자 B의 교환 트랜잭션, 사용자 C의 취소 요청 트랜잭션, 사용자 A의 출금 요청 트랜잭션, 사용자 A의 출금 확인 트랜잭션이 순차적으로 발생되었다. 거래 시스템(1010)은 상기 트랜잭션들을 순차적으로 처리할 수 있다.Referring to (1) of FIG. 14, for example, asset equity token deposit transaction of user A (e.g., seller), deposit transaction of currency token of user B (e.g., consumer), purchase order transaction of user B, user A The sales order transaction, the exchange transaction of User A and User B, the cancellation request transaction of User C, the withdrawal request transaction of User A, and the withdrawal confirmation transaction of User A occurred sequentially. The transaction system 1010 may process the transactions sequentially.

구매 주문 및 판매 주문 트랜잭션Purchase Order and Sales Order Transactions

일 실시 예에서, 구매 주문 및 판매 주문은 사용자에 의하여 만들어질 수 있다. 암호화 서명된 구매 주문 트랜잭션 및 판매 주문 트랜잭션은 거래소 서버(1200)에 의하여 처리될 수 있고, 분산 저장소(1300)에 게재될 수 있다(published).In one embodiment, purchase orders and sell orders may be created by users. Cryptographically signed purchase order transactions and sell order transactions may be processed by the exchange server 1200 and published in the distributed storage 1300.

거래 트랜잭션transaction transaction

일 실시 예에서, 거래소 서버(1200)는 사용자들의 구매 주문 및 판매 주문을 수집하고 매칭할 수 있다. 매칭된 구매 주문 및 판매 주문은 유효한 거래 트랜잭션을 발생시킬 수 있다. 거래소 서버(1200)는 거래 트랜잭션에 암호화 서명하고, 분산 저장소(1300)로 송신할 수 있다.In one embodiment, the exchange server 1200 may collect and match users' buy orders and sell orders. Matched buy orders and sell orders can result in valid trading transactions. The exchange server 1200 can cryptographically sign the transaction and transmit it to the distributed storage 1300.

예를 들어 상기 거래는 자산 지분 토큰과 통화 토큰의 교환일 수도 있다. 도 2의 (1)에서, 거래소 서버(1200)는 사용자 A의 판매 주문 트랜잭션과 사용자 B의 구매 주문 트랜잭션을 매칭하여 자산 지분 토큰과 통화 토큰을 이동하도록 하는 거래(Trade) 트랜잭션을 발생시킬 수 있다. 거래소 서버(1200)는 거래 트랜잭션 데이터를 거래소 서버(1200)의 개인 키로 암호화 서명하여 분산 저장소(1300)에 거래 트랜잭션을 저장할 수 있다. 이러한 거래는 블록체인 밖에서 이루어지므로, 사용자 A와 사용자 B 모두 블록체인 트랜잭션 수수료를 부담할 필요가 없다.For example, the transaction may be an exchange of an asset equity token and a currency token. In (1) of Figure 2, the exchange server 1200 matches User A's sell order transaction and User B's purchase order transaction to generate a trade transaction to move asset equity tokens and currency tokens. . The exchange server 1200 may cryptographically sign the transaction data with the private key of the exchange server 1200 and store the transaction in the distributed storage 1300. Since these transactions take place outside of the blockchain, neither User A nor User B need to incur blockchain transaction fees.

구매 주문 취소 및 판매 주문 취소 트랜잭션Purchase Order Cancellation and Sales Order Cancellation Transactions

일 실시 예에서, 사용자는 구매 주문 취소 및 판매 주문 취소를 통하여 오픈된 구매 주문 및 판매 주문을 취소할 수 있다. 암호화 서명된 구매 주문 취소 트랜잭션 또는 판매 주문 취소 트랜잭션은 거래소 서버(1200)에 의하여 처리되고, 분산 저장소(1300)에 게재될 수 있다.In one embodiment, a user can cancel open purchase orders and sell orders through cancel purchase order and cancel sell order. The cryptographically signed purchase order cancellation transaction or sales order cancellation transaction may be processed by the exchange server 1200 and posted to the distributed storage 1300.

입금 트랜잭션deposit transaction

일 실시 예에서, 사용자는 사용자의 통화 토큰 또는 자산 지분 토큰을 자산 거래를 위하여 입금할 수 있다. 예를 들어, 사용자가 디앱(1070)을 통하여 통화 토큰 또는 자산 지분 토큰의 입금을 요청하면, 거래 시스템(1010)은 입금 트랜잭션을 포함하는 메시지를 수신할 수 있다.In one embodiment, a user may deposit the user's currency tokens or asset equity tokens for asset trading. For example, when a user requests a deposit of a currency token or asset equity token through the DApp 1070, the trading system 1010 may receive a message containing the deposit transaction.

예를 들어, 사용자는 자산 지분 스마트컨트랙트(1001)를 통하여 발행된 자산 지분 토큰을 거래소 스마트컨트랙트(1003)로 입금할 수 있다. 또는 사용자는 통화 토큰 스마트컨트랙트(1002)를 통하여 발행된 통화 토큰을 거래소 스마트컨트랙트(1003)로 입금할 수 있다. 토큰이 이전될 때마다, 거래소 스마트컨트랙트(1003)는 입금 이벤트 로그를 생성할 수 있다. 거래소 서버(1200)는 모든 입금 트랜잭션을 모니터링 할 수 있다. 입금 트랜잭션은 스마트컨트랙트를 통하여 수행될 수 있다. 따라서 입금 트랜잭션은 블록체인 네트워크(1100)를 통하여 수행되고, 블록체인(1055)에 기록될 수 있다. 이때, 트랜잭션 수수료가 발생된다. 입금 트랜잭션과 관련된 내용은 도 16을 참조하여 후술된다.For example, a user can deposit an asset equity token issued through the asset equity smart contract 1001 into the exchange smart contract 1003. Alternatively, the user can deposit the currency token issued through the currency token smart contract 1002 into the exchange smart contract 1003. Each time a token is transferred, the exchange smart contract 1003 can create a deposit event log. The exchange server 1200 can monitor all deposit transactions. Deposit transactions can be performed through smart contracts. Therefore, deposit transactions can be performed through the blockchain network 1100 and recorded in the blockchain 1055. At this time, a transaction fee is incurred. Details related to the deposit transaction will be described later with reference to FIG. 16.

다양한 실시 예에서, 거래소 서버(1200)는 트랜잭션 수수료를 위한 네이티브 통화를 보유할 수 있다. 거래소 서버(1200)는 보유한 네이티브 통화로 트랜잭션 수수료를 지불할 수 있다. 거래소 서버(1200)는 사용자가 가진 통화 토큰으로부터 지불한 수수료를 보상받을 수 있다. 사용자는 블록체인 네트워크(1100)의 네이티브 통화를 소유하지 않더라도 블록체인 네트워크(1100)를 통해 이루어지는 입금 트랜잭션을 수행할 수 있다.In various embodiments, exchange server 1200 may hold native currency for transaction fees. The exchange server 1200 can pay transaction fees with its native currency. The exchange server 1200 can receive compensation for the fee paid from the currency token held by the user. Users can perform deposit transactions made through the blockchain network 1100 even if they do not own the native currency of the blockchain network 1100.

출금 요청 트랜잭션Withdrawal request transaction

일 실시 예에서, 사용자는 거래소 계좌의 통화 토큰 또는 자산 지분 토큰에 대한 출금을 요청할 수 있다. 예를 들어, 사용자가 디앱(1070)을 통하여 통화 토큰 또는 자산 지분 토큰의 출금을 요청하면, 거래 시스템(1010)은 출금 요청 트랜잭션을 포함하는 메시지를 수신할 수 있다. 출금 요청이 수신되면, 거래소 계좌는 잠길 수 있다(locked).In one embodiment, a user may request a withdrawal of currency tokens or asset equity tokens from an exchange account. For example, when a user requests withdrawal of a currency token or asset equity token through the DApp 1070, the transaction system 1010 may receive a message containing a withdrawal request transaction. Once a withdrawal request is received, the exchange account may be locked.

예를 들어, 사용자는 거래소 스마트컨트랙트(1003)상의 토큰들에 대하여 출금을 요청할 수 있다. 사용자는 통화 토큰의 양, 또는 자산 지분 토큰의 양, 그리고 출금을 위하여 필요한 트랜잭션 수수료를 명시하고, 출금을 요청할 수 있다.For example, a user may request withdrawal of tokens on the exchange smart contract 1003. Users can request a withdrawal by specifying the amount of currency tokens or asset equity tokens, and the transaction fee required for the withdrawal.

출금 요청 트랜잭션이 발생되면, 계좌 잔고 정산 절차(account balance settlement procedure)가 실행될 수 있다. 출금 요청 트랜잭션은 암호화 서명되고 분산 저장소(1300)에 저장될 수 있다. 도 14의 (1)을 참조하면 사용자 A의 출금 요청 트랜잭션이 발생되었을 때, 사용자 A와 거래소 서버(1200)사이의 계좌 잔액 정산 절차가 개시될 수 있다.When a withdrawal request transaction occurs, an account balance settlement procedure may be executed. The withdrawal request transaction may be cryptographically signed and stored in the distributed storage 1300. Referring to (1) of FIG. 14, when user A's withdrawal request transaction occurs, the account balance settlement procedure between user A and the exchange server 1200 may be initiated.

출금 확인 트랜잭션Withdrawal confirmation transaction

계좌 잔고 정산 절차는 사용자의 거래소 계좌의 현재 토큰 잔고에 대한 동의와 확인을 위하여 거래소 서버(1200)과 사용자 사이에서 수행될 수 있다. 거래소 서버(1200)는 정산을 수행하고, 정산 결과 계산된 현재 잔액에 대하여 출금 확인 트랜잭션을 발생시킬 수 있다. 출금 확인 트랜잭션은 블록체인 네트워크(1100)에 의하여 처리될 수 있다.The account balance settlement procedure may be performed between the exchange server 1200 and the user to agree and confirm the current token balance of the user's exchange account. The exchange server 1200 may perform settlement and generate a withdrawal confirmation transaction for the current balance calculated as a result of the settlement. The withdrawal confirmation transaction may be processed by the blockchain network 1100.

일 실시 예에서, 거래소 서버(1200)는 정산 절차를 수행하고 정산 데이터 파일을 생성할 수 있다. 생성된 정산 데이터 파일은 분산 저장소(1300)에 저장될 수 있다. 거래소 서버(1200)는 분산 저장소(1300) 상의 정산 데이터 파일의 주소 값을 블록체인(1055)에 기록할 수 있다.In one embodiment, the exchange server 1200 may perform a settlement procedure and generate a settlement data file. The generated settlement data file may be stored in the distributed storage 1300. The exchange server 1200 may record the address value of the settlement data file on the distributed storage 1300 in the blockchain 1055.

도 14의 (2)를 참조하면, 출금 요청 트랜잭션(1025)이 발생하면, 거래소 서버(1200)는 정산 절차를 수행할 수 있다. 출금 요청 트랜잭션(1025)에 따라 생성되는 정산 데이터 파일(1033)은 분산 저장소(1300)에 저장될 수 있다.Referring to (2) of FIG. 14, when a withdrawal request transaction 1025 occurs, the exchange server 1200 can perform a settlement procedure. The settlement data file 1033 generated according to the withdrawal request transaction 1025 may be stored in the distributed storage 1300.

예를 들어, 분산 저장소(1300)의 정산 데이터 파일(1031)은 출금 요청 트랜잭션(1021)의 발생에 응답하여 생성된 것으로 참조될 수 있다. 거래소 서버(1200)는 이전의 정산 데이터 파일(1031), 출금 요청 트랜잭션(1021) 이후에 발생된 트랜잭션들, 출금 확인 트랜잭션(1023)의 발생시의 거래소 계좌의 잔액 등을 참조하여, 정산 데이터 파일(1033)을 생성하고 분산 저장소(1300)에 저장할 수 있다. 정산 데이터 파일(1033)이 저장된 주소 값은 블록체인(1055)에 기록될 수 있다.For example, the settlement data file 1031 of the distributed storage 1300 may be referred to as being created in response to the occurrence of a withdrawal request transaction 1021. The exchange server 1200 refers to the previous settlement data file 1031, transactions that occurred after the withdrawal request transaction 1021, the exchange account balance at the time of the withdrawal confirmation transaction 1023, etc., and refers to the settlement data file ( 1033) can be created and stored in the distributed storage 1300. The address value where the settlement data file 1033 is stored may be recorded in the blockchain 1055.

예를 들어, 정산 데이터 파일(1031, 1033)은 출금이 요청된 토큰 타입과 개수, 트랜잭션 수수료, 출금 요청 아이디를 포함하는 출금 요청 데이터를 포함할 수 있다. 또한 정산 데이터 파일(1031, 1033)은 현재 거래소 계좌의 통화 토큰 또는 자산 지분 토큰의 잔고, 사용자의 현재 오픈된 구매/판매 주문, 최근의 계좌 잔고 정산 절차 이후의 모든 트랜잭션들, 최근의 계좌 잔고 정산시의 잔고, 최근의 계좌 잔고 정산 데이터의 분산 저장소(1300) 내의 어드레스, 거래소 서버(1200)의 암호화 서명을 포함할 수 있다.For example, the settlement data files 1031 and 1033 may include withdrawal request data including the type and number of tokens for which withdrawal is requested, a transaction fee, and a withdrawal request ID. In addition, the settlement data files (1031, 1033) include the balance of currency tokens or asset equity tokens in the current exchange account, the user's currently open buy/sell orders, all transactions after the most recent account balance settlement procedure, and the most recent account balance settlement. It may include the current balance, an address in the distributed storage 1300 of recent account balance settlement data, and a cryptographic signature of the exchange server 1200.

일 실시 예에서, 거래소 서버(1200)는 계좌 잔고 정산 절차를 수행하고, 최종 계좌 잔고에 대하여 사용자로부터 확인 및 동의를 요구할 수 있다. 거래소 서버(1200)는 정산 결과 거래소 계좌의 잔액을 디앱(1070)을 통하여 표시하고, 상기 표시에 응답하여 사용자로부터 확인 입력을 수신할 수 있다. 이때, 암호화 서명된 출금 확인 트랜잭션이 발생될 수 있다. 블록체인 네트워크(1100)은 출금 확인 트랜잭션을 처리하고, 블록체인(1055)에 기록할 수 있다.In one embodiment, the exchange server 1200 may perform an account balance settlement procedure and request confirmation and consent from the user regarding the final account balance. The exchange server 1200 may display the balance of the exchange account as a result of settlement through the DApp 1070 and receive a confirmation input from the user in response to the display. At this time, a cryptographically signed withdrawal confirmation transaction may be generated. The blockchain network 1100 can process the withdrawal confirmation transaction and record it in the blockchain 1055.

다양한 실시 예에서, 사용자는 직접 블록체인 네트워크(1100) 및 분산 저장소(1300)를 참조하여 정신 결과를 인증할 수도 있다(validate). 또는, 정산 데이터를 확인하는 절차는 제3 자(3rd party)에 의하여 제공될 수 있다.In various embodiments, a user may validate mental results by directly referencing the blockchain network 1100 and distributed storage 1300. Alternatively, the procedure for confirming settlement data may be provided by a 3rd party.

다양한 실시 예에서, 거래소 서버(1200)는 보유한 네이티브 통화로 출금 확인 트랜잭션에 대한 수수료를 지불할 수 있다. 거래소 서버(1200)는 사용자가 가진 통화 토큰으로부터 지불한 수수료를 보상받을 수 있다. 사용자는 블록체인 네트워크(1100)의 네이티브 통화를 소유하지 않더라도 블록체인 네트워크(1100)를 통해 이루어지는 출금 확인 트랜잭션을 수행할 수 있다.In various embodiments, the exchange server 1200 may pay a fee for a withdrawal confirmation transaction in its native currency. The exchange server 1200 can receive compensation for the fee paid from the currency token held by the user. Users can perform withdrawal confirmation transactions made through the blockchain network 1100 even if they do not own the native currency of the blockchain network 1100.

출금 요청 취소 트랜잭션Withdrawal request cancellation transaction

다양한 실시 예에서, 사용자는 계좌 잔고 정산 절차의 실행이 완료되기 전에 출금 요청을 취소할 수 있다. 출금 요청이 취소되면, 거래소 서버(1200)는 출금 취소 요청 트랜잭션을 처리하고, 분산 저장소(1300)에 저장할 수 있다.In various embodiments, a user may cancel a withdrawal request before the account balance settlement process is complete. When the withdrawal request is canceled, the exchange server 1200 may process the withdrawal cancellation request transaction and store it in the distributed storage 1300.

도 15는, 본 출원의 일 실시 예에 따라 분산 저장소에 저장되는 거래 이력에 대한 불변성과 투명성을 보장하는 거래 이력 저장 방법을 설명하기 위한 도면이다.Figure 15 is a diagram for explaining a transaction history storage method that ensures immutability and transparency of transaction history stored in distributed storage according to an embodiment of the present application.

도15를 참조하면, 거래 시스템(1010)에서 발생되는 트랜잭션들은 분산 저장소(1300)에 저장될 수 있고, 분산 저장소(1300)에 저장된 여러 트랜잭션들은 미리 정해진 주기마다 그룹화되어 분산 저장소(1300)에 저장될 수 있다. 그룹 파일(1301, 1303)은 일정 시간 동안 발생한 복수의 트랜잭션들을 포함할 수 있다. 그룹 파일(1301, 1303)은 각각의 그룹 파일(1301, 1303)에 포함된 복수의 트랜잭션들의 주소 값 목록(예: 해시 값 목록)를 저장할 수 있다.Referring to FIG. 15, transactions occurring in the transaction system 1010 can be stored in the distributed storage 1300, and several transactions stored in the distributed storage 1300 are grouped at predetermined intervals and stored in the distributed storage 1300. It can be. Group files 1301 and 1303 may include multiple transactions that occurred over a certain period of time. The group files 1301 and 1303 may store a list of address values (eg, a hash value list) of a plurality of transactions included in each group file 1301 and 1303.

분산 저장소(1300)에 저장되는 그룹 파일(1301, 1303)은 일정한 해시 알고리즘(예: SHA-1)에 의해 산출되는 고유의 해시 값을 가질 수 있다. 그룹 파일(1301, 1303)의 해시 값은 그룹 파일(301, 303)에 포함되는 데이터들에 대응되는 고유한 값으로 참조될 수 있다. 따라서 그룹 파일(1301, 1303)에 포함되는 데이터들의 일부가 변조되면, 그룹 파일(301, 303)에 대한 해시 값도 상이해질 수 있다.The group files 1301 and 1303 stored in the distributed storage 1300 may have a unique hash value calculated by a certain hash algorithm (eg, SHA-1). The hash values of the group files 1301 and 1303 may be referred to as unique values corresponding to data included in the group files 301 and 303. Accordingly, if some of the data included in the group files 1301 and 1303 are altered, the hash values for the group files 301 and 303 may also be different.

일 실시 예에서, 분산 저장소(1300)에 저장된 거래 이력의 불변성은, 각 그룹 파일(1301, 1303)의 해시 값을 이용하여 각 그룹 파일(1301, 1303)을 체인화함으로써 달성될 수 있다.In one embodiment, immutability of the transaction history stored in the distributed storage 1300 can be achieved by chaining each group file (1301, 1303) using the hash value of each group file (1301, 1303).

예를 들어, 각각의 그룹 파일들(1301, 1303)이 저장된 분산 저장소(1300)내의 주소는 해시 값으로 표현될 수 있다. 그룹 파일들(1301, 1303)은 각각 선행하는 그룹 파일의 해시 값을 가질 수 있다. 이에 따라, 그룹 파일들(1301, 1303)은 해시 링크를 통하여 체인화될 수 있다. 예를 들어, 그룹 파일(1303)는 그룹 파일(1301)의 해시 값을 가짐으로써 그룹 파일(1301)을 가리키게 되고, 그룹 파일(1301)과 체인을 형성할 수 있다. 이에 따라 분산 저장소(1300)의 그룹 파일들(1301, 1303)은 블록체인(1055)의 블록들과 유사한 구조를 형성할 수 있다.For example, the address in the distributed storage 1300 where each group file 1301 and 1303 is stored can be expressed as a hash value. Group files 1301 and 1303 may each have a hash value of the preceding group file. Accordingly, group files 1301 and 1303 can be chained through hash links. For example, the group file 1303 points to the group file 1301 by having the hash value of the group file 1301, and can form a chain with the group file 1301. Accordingly, the group files 1301 and 1303 of the distributed storage 1300 may form a structure similar to the blocks of the blockchain 1055.

만약 특정 그룹 파일이 위, 변조되어 다른 해시 값을 가지게 되면, 위, 변조된 특정 그룹 파일의 후속 그룹 파일이 가지는 해시 값은 더 이상 유효한 주소 값을 나타낼 수 없다. 따라서 위, 변조된 그룹 파일과 그 후속 그룹 파일은 더 이상 체인을 구성할 수 없게 된다. 분산 저장소(1300)에 저장된 그룹 파일들(301, 303)이 체인을 구성하지 않게 되면, 사용자는 분산 저장소(1300)의 데이터에 위조, 변조가 일어났음을 인식할 수 있다.If a specific group file is altered and has a different hash value, the hash value of subsequent group files of the modified specific group file can no longer represent a valid address value. Therefore, the above tampered group file and its subsequent group files can no longer form a chain. If the group files 301 and 303 stored in the distributed storage 1300 do not form a chain, the user may recognize that the data in the distributed storage 1300 has been forged or altered.

일 실시 예에서, 분산 저장소(1300)에 저장된 거래 이력의 불변성은, 그룹 파일(1301, 1303)의 해시 값을 블록체인 네트워크(1100)의 블록체인(1055)에 저장함으로써 달성될 수 있다.In one embodiment, immutability of transaction history stored in distributed storage 1300 may be achieved by storing hash values of group files 1301 and 1303 in blockchain 1055 of blockchain network 1100.

예를 들어, 그룹 파일(1301, 1303)의 해시 값은 블록체인(1055)에 저장될 수 있다. 그룹 파일(301, 303)의 해시 값이 블록체인 네트워크(1100)에 저장되면, 누구나 블록체인 네트워크(1100)에 접근하고, 해시 값을 확인할 수 있다. 예를 들어 사용자는 블록체인(1055)에 저장된 해시 값과 분산 저장소(1300)에 저장된 그룹 파일(1301, 1303)의 해시 값을 비교함으로써, 그룹 파일(1301, 1303)의 조작 여부를 검증할 수 있다. 만약 그룹 파일(1301, 1303)에 포함된 데이터가 조작된 경우라면, 블록체인(1055)에 저장된 해시 값은 더 이상 유효한 주소 값을 나타낼 수 없다. 분산 저장소(1300)는 블록체인(1055)에 기록된 해시 값을 통하여 분산 저장소(1300)에 저장된 데이터들의 불변성을 보장할 수 있다.For example, hash values of group files 1301 and 1303 may be stored in the blockchain 1055. When the hash values of the group files 301 and 303 are stored in the blockchain network 1100, anyone can access the blockchain network 1100 and check the hash values. For example, the user can verify whether the group files (1301, 1303) have been manipulated by comparing the hash values stored in the blockchain (1055) with the hash values of the group files (1301, 1303) stored in the distributed storage (1300). there is. If the data included in the group files 1301 and 1303 has been manipulated, the hash value stored in the blockchain 1055 can no longer represent a valid address value. The distributed storage 1300 can guarantee the immutability of data stored in the distributed storage 1300 through the hash value recorded in the blockchain 1055.

다양한 실시 예에서, 사용자 또는 제3 자는 블록체인(1055)에 기록된 해시 값이 나타내는 분산 저장소(1300)의 특정 주소에 액세스함으로써, 분산 거래 시스템(1010)에서 발생하는 모든 트랜잭션들의 확인할 수 있다. 이에 따라 분산 저장소(1300)에 저장된 거래 이력들에 대하여 투명성을 제공할 수 있다.In various embodiments, a user or a third party can confirm all transactions occurring in the distributed transaction system 1010 by accessing a specific address in the distributed storage 1300 indicated by the hash value recorded in the blockchain 1055. Accordingly, transparency can be provided regarding transaction histories stored in the distributed storage 1300.

다양한 실시 예에서, 사용자나 제3 자는 블록체인(1055)에 기록된 해시 값을 이용하여 분산 저장소(1300)에 액세스하고, 기 발생된 모든 트랜잭션들의 히스토리를 재구성할 수 있다. 이에 따라 거래소 서버(1200)가 해킹에 의하여 손상되더라도 거래 이력 전부가 재구성될 수 있어 거래 시스템(1010)은 기존의 중앙화된 거래 시스템에 비하여 높은 안전성을 가질 수 있다.In various embodiments, a user or a third party can access the distributed storage 1300 using the hash value recorded in the blockchain 1055 and reconstruct the history of all transactions that have previously occurred. Accordingly, even if the exchange server 1200 is damaged by hacking, the entire transaction history can be reconstructed, so the transaction system 1010 can have higher safety compared to existing centralized transaction systems.

도 16은, 본 출원의 다양한 실시 예에 따른 거래 시스템으로의 입금 방법의 신호 흐름도다. 도 17은, 본 출원의 다양한 실시 예에 따른 자산 거래 방법의 신호 흐름도다. 도 18은, 본 출원의 다양한 실시 예에 따른 거래 시스템으로부터의 출금 방법의 신호 흐름도다. 이하, 도 16 내지 도 18을 참조하여 거래 시스템(1010)에서 수행되는 입금 절차, 거래 절차, 및 출금 절차를 시퀀스 도면으로서 설명한다.Figure 16 is a signal flow diagram of a deposit method to a transaction system according to various embodiments of the present application. Figure 17 is a signal flow diagram of an asset trading method according to various embodiments of the present application. 18 is a signal flow diagram of a withdrawal method from a trading system according to various embodiments of the present application. Hereinafter, with reference to FIGS. 16 to 18, the deposit procedure, transaction procedure, and withdrawal procedure performed in the transaction system 1010 will be described as a sequence diagram.

다양한 실시 예에서, 사용자는 클라이언트 단말(1075)(예: PC, 스마트폰, 태블릿 PC 등을 포함하는 전자 장치)에 자산 거래 서비스를 제공하는 디앱(1070)을 설치하고, 상기 자산 거래 서비스를 통해 자산 교환 거래를 수행할 수 있다. 특정 실시 예들에서, 상기 사용자의 단말(1075)은 상기 의료기관 전자장치(300), 소비자의 전자장치(400), 판매자의 전자장치(500) 중 하나 이상을 포함한다. 사용자에 따라, 클라이언트 단말(1075)은 상기 의료기관 전자장치(300), 소비자의 전자장치(400), 판매자의 전자장치(500)의 동작을 각각 수행할 수도 있다. In various embodiments, a user installs the DApp 1070 that provides an asset trading service on a client terminal 1075 (e.g., an electronic device including a PC, smartphone, tablet PC, etc.) and uses the asset trading service. Asset exchange transactions can be performed. In certain embodiments, the user's terminal 1075 includes one or more of the medical institution's electronic device 300, the consumer's electronic device 400, and the seller's electronic device 500. Depending on the user, the client terminal 1075 may perform the operations of the medical institution's electronic device 300, the consumer's electronic device 400, and the seller's electronic device 500, respectively.

입금 절차Deposit Procedure

도 16을 참조하면, 클라이언트 단말(1075)은 자산 지분 토큰 입금 요청이 발생하면(S1401), 사용자의 개인 키에 의하여 암호화 서명된 자산 지분 토큰 입금 트랜잭션을 블록체인 네트워크(1100)의 자산 지분 스마트컨트랙트(1001)에 송신할 수 있다(S1403). 예를 들어, 사용자가 디앱(1070)을 통하여 자산 지분 토큰 입금을 요청할 수 있다. 자산 지분 토큰은 사용자의 자산 등록에 따라 블록체인 네트워크(1100)의 자산 지분 스마트컨트랙트(1001)에 의하여 발행될 수 있다. 특정 실시 예들에서, 상기 자산 지분 토큰은 판매자 자신이 판매할 대마약품을 등록하는 것에 따라서 블록체인 네트워크(110)의 자산 지분 스마트컨트랙트(1001)에 의하여 발행될 수 있다. 판매자의 전자장치(500)가 대마 약품을 자산으로 등록하면 자산 지분 토큰 입금 요청이 발생한다(S1401). 그러면, 등록된 대마 약품에 대응한 자산 지분에 대한 입금 트랜잭션이 송신된다(S1403). 상기 입금 트랜잭션은 판매자의 개인 키로 디지털 서명된다. Referring to FIG. 16, when an asset share token deposit request occurs (S1401), the client terminal 1075 sends an asset share token deposit transaction cryptographically signed by the user's private key to the asset share smart contract of the blockchain network 1100. It can be transmitted to (1001) (S1403). For example, a user may request to deposit an asset equity token through the DApp 1070. Asset share tokens may be issued by the asset share smart contract 1001 of the blockchain network 1100 according to the user's asset registration. In certain embodiments, the asset stake token may be issued by the asset stake smart contract 1001 of the blockchain network 110 upon the seller registering the cannabis drug to be sold. When the seller's electronic device 500 registers cannabis medicine as an asset, a request to deposit an asset equity token occurs (S1401). Then, a deposit transaction for the asset share corresponding to the registered cannabis drug is transmitted (S1403). The deposit transaction is digitally signed with the seller's private key.

자산 지분 스마트컨트랙트(1001)는 자산 지분 토큰 입금 트랙잭션에 응답하여 자산 지분 토큰을 거래 스마트컨트랙트(1003)로 이동시킬 수 있다(S1405). 거래 스마트컨트랙트(1003)는 상기 자산 지분 토큰의 입금 이벤트 로그를 생성하고, 블록체인(1055)에 저장할 수 있다(S1407). 이와 같이 발행된 자산 지분 토큰은 상기 대마 약품의 소유권 지분으로 활용될 수도 있다. 자산 지분 토큰의 이전은 대마 약품의 소유권 이전이다. 소유권 지분 관계를 통해 자산 지분 토큰과 대마 약품은 연관된다. The asset share smart contract 1001 may move the asset share token to the transaction smart contract 1003 in response to the asset share token deposit transaction (S1405). The transaction smart contract 1003 may generate a deposit event log of the asset equity token and store it in the blockchain 1055 (S1407). Asset equity tokens issued in this way can also be used as ownership shares of the cannabis medicine. The transfer of asset equity tokens is a transfer of ownership of cannabis medicine. Asset equity tokens and cannabis medicine are related through an ownership stake relationship.

클라이언트 단말(1075)은 통화 토큰 입금 요청이 발생하면(S1409), 사용자의 개인 키에 의하여 암호화 서명된 통화 토큰 입금 트랜잭션을 블록체인 네트워크(1100)의 통화 토큰 스마트컨트랙트(1002)에 송신할 수 있다(S1411). 예를 들어 사용자가 디앱(1070)을 통하여 통화 토큰 입금을 요청할 수 있다. 통화 토큰은 사용자의 원화 입금에 따라 통화 토큰 스마트컨트랙트(1002)에 의하여 발행될 수 있다. 특정 실시 예들에서, 통화 토큰은 소비자 자신이 지불할 원화를 디앱(1070)에 입금하는 것에 따라서 블록체인 네트워크(1100)의 통화 토큰 스마트컨트랙트(1002)에 의하여 발행될 수 있다. 소비자의 전자장치(400)가 디앱(1070)에 원화를 입금하면 통화 토큰 입금 요청이 발생한다(S1409). 그러면, 입금 금액에 대응한 통화 토큰에 대한 입금 트랜잭션이 송신된다(S1411). 상기 입금 트랜잭션은 소비자의 개인 키로 디지털 서명될 수도 있다. When a currency token deposit request occurs (S1409), the client terminal 1075 may transmit a currency token deposit transaction cryptographically signed by the user's private key to the currency token smart contract 1002 of the blockchain network 1100. (S1411). For example, a user may request a currency token deposit through the DApp 1070. Currency tokens may be issued by the currency token smart contract 1002 according to the user's won deposit. In certain embodiments, currency tokens may be issued by the currency token smart contract 1002 of the blockchain network 1100 upon the consumer depositing Korean Won for payment into the DApp 1070. When the consumer's electronic device 400 deposits won in the DApp 1070, a currency token deposit request occurs (S1409). Then, a deposit transaction for the currency token corresponding to the deposit amount is transmitted (S1411). The deposit transaction may be digitally signed with the consumer's private key.

통화 토큰 스마트컨트랙트(1002)는 통화 토큰 입금 트랜잭션에 응답하여 통화 토큰을 거래 스마트컨트랙트(1003)로 이동시킬 수 있다(S1413). 거래 스마트컨트랙트(1003)는 상기 통화 토큰의 입금 이벤트 로그를 생성하고, 블록체인(1055)에 저장할 수 있다(S1415). The currency token smart contract 1002 may move the currency token to the transaction smart contract 1003 in response to the currency token deposit transaction (S1413). The transaction smart contract 1003 can generate a deposit event log of the currency token and store it in the blockchain 1055 (S1415).

거래 스마트컨트랙트(1003)에 입금된 통화 토큰의 잔고 정보 및 자산 지분 토큰의 잔고 정보는 블록체인 네트워크(1100)와 거래소 서버(1200) 사이에서 동기화될 수 있다(S1417). 예를 들어, 거래소 서버(1200)는 미리 정해진 주기마다, 또는 입금 트랜잭션이 발생될 때마다 블록체인(1055)에 기록된 입금 이벤트 로그를 참조할 수 있다. 거래소 서버(1200)는 거래소 계좌의 잔고를 입금 이벤트 로그에 따라 갱신하고, 갱신된 잔고를 기준으로 트랜잭션들을 처리할 수 있다. 예를 들어, 거래소 서버(1200)는 거래소 계좌의 잔고에 대한 정보를 포함하는 거래소 계좌 데이터를 포함할 수 있다. 거래소 서버(1200)는 입금 이벤트 로그에 따라서 상기 거래소 계좌 데이터를 갱신할 수 있다.Balance information of currency tokens and asset equity tokens deposited in the transaction smart contract 1003 may be synchronized between the blockchain network 1100 and the exchange server 1200 (S1417). For example, the exchange server 1200 may refer to the deposit event log recorded in the blockchain 1055 at predetermined intervals or whenever a deposit transaction occurs. The exchange server 1200 may update the balance of the exchange account according to the deposit event log and process transactions based on the updated balance. For example, the exchange server 1200 may include exchange account data including information about the balance of the exchange account. The exchange server 1200 may update the exchange account data according to the deposit event log.

거래 절차transaction process

도 17을 참조하면, 클라이언트 단말(1075)은 사용자의 개인 키에 의하여 암호화 서명된 거래 요청을 거래소 서버(1200) 및 분산 저장소(1300)로 송신할 수 있다(S1501, S1503). 예를 들어 거래 요청은 구매 주문 트랜잭션, 판매 주문 트랜잭션, 출금 요청 트랜잭션, 또는 출금 요청 취소 트랜잭션을 포함하는 메시지로 참조될 수 있다. Referring to FIG. 17, the client terminal 1075 may transmit a transaction request cryptographically signed by the user's private key to the exchange server 1200 and the distributed storage 1300 (S1501, S1503). For example, a transaction request may be referenced as a message containing a purchase order transaction, a sell order transaction, a withdrawal request transaction, or a withdrawal request cancellation transaction.

거래소 서버(1200)는 거래 요청에 대응되는 트랜잭션을 처리할 수 있다(S1505). 분산 저장소(1300)는 거래 요청에 대응되는 암호화 서명된 트랜잭션을 저장할 수 있다(S1507).The exchange server 1200 may process the transaction corresponding to the transaction request (S1505). Distributed storage 1300 may store a cryptographically signed transaction corresponding to a transaction request (S1507).

거래소 서버(1200)는 사용자의 구매 주문 및 판매 주문이 매칭됨에 따라 거래(trade) 트랜잭션을 발생시킬 수 있다. 이 과정은 도 14를 통하여 전술되었다. 이때 거래소 서버(1200)는 발생된 거래 트랜잭션을 거래소 서버(1200)의 개인 키로 암호화 서명하고 분산 저장소(1300)로 송신할 수 있다. 분산 저장소(1300)는 수신된 거래 트랜잭션을 저장할 수 있다(S1507).The exchange server 1200 may generate a trade transaction as the user's buy order and sell order are matched. This process was described above with reference to FIG. 14 . At this time, the exchange server 1200 may cryptographically sign the generated transaction with the private key of the exchange server 1200 and transmit it to the distributed storage 1300. Distributed storage 1300 may store the received transaction transaction (S1507).

분산 저장소(1300)는 미리 정해진 주기마다 복수의 트랜잭션들을 포함하는 그룹 파일을 생성할 수 있다(S1509). 분산 저장소(1300)는 그룹 파일의 주소 값을 블록체인 네트워크(1100)으로 송신할 수 있다(S1511). 블록체인 네트워크(1100)은 블록체인(1055)에 수신된 그룹 파일의 주소 값을 기록할 수 있다(S1517). 또는 분산 저장소(1300)는 그룹 파일의 주소 값을 거래소 서버(1200)으로 송신할 수 있다(S1513). 거래소 서버(1200)는 수신된 그룹 파일의 주소 값을 블록체인 네트워크(1100)으로 송신할 수 있다(S1517). 동작 S1511과 동작 S1513 내지 동작 S1515는 택일적으로 수행될 수 있다.The distributed storage 1300 may create a group file containing a plurality of transactions at predetermined intervals (S1509). Distributed storage 1300 can transmit the address value of the group file to the blockchain network 1100 (S1511). The blockchain network 1100 can record the address value of the group file received in the blockchain 1055 (S1517). Alternatively, the distributed storage 1300 may transmit the address value of the group file to the exchange server 1200 (S1513). The exchange server 1200 may transmit the address value of the received group file to the blockchain network 1100 (S1517). Operation S1511 and operations S1513 to S1515 may be performed alternatively.

상술된 동작(S1501) 내지 동작(S1511)은 반복하여 수행될 수 있다. 반복되어 수행되는 동작(S1501) 내지 동작(S1511)에 따라 거래 시스템(1010)에서 자산 거래가 이루어질 수 있다.The above-described operations (S1501) to (S1511) may be performed repeatedly. Asset transactions may be performed in the transaction system 1010 according to operations S1501 to S1511 that are repeatedly performed.

출금 절차Withdrawal Procedure

도 18을 참조하면, 클라이언트 단말(1075)은 통화 토큰 또는 자산 지분 토큰에 대한 출금 요청이 발생하면, 개인 키에 의하여 암호화 서명된 출금 요청을 거래소 서버(1200)으로 송신할 수 있다(S1601). 거래소 서버(1200)는 상기 개인 키에 대응되는 특정 사용자의 출금 요청을 수신하게 된다. 거래소 서버(1200)는 출금 요청의 수신에 응답하여, 상기 특정 사용자에 대한 정산 절차를 수행할 수 있다(S1603 내지 S1613)Referring to FIG. 18, when a withdrawal request for a currency token or asset equity token occurs, the client terminal 1075 may transmit a withdrawal request cryptographically signed by a private key to the exchange server 1200 (S1601). The exchange server 1200 receives a withdrawal request from a specific user corresponding to the private key. The exchange server 1200 may perform a settlement procedure for the specific user in response to receiving a withdrawal request (S1603 to S1613).

거래소 서버(1200)는 분산 저장소(1300)로부터 상기 특정 사용자의 트랜잭션 이력을 획득할 수 있다(S1603). 예를 들어, 상기 트랜잭션 이력은 특정 사용자의 이전 출금 요청 이후에 발생한 트랜잭션들의 목록으로 참조될 수 있다. 도 14의 (2)를 통하여 전술된 바와 같이, 거래소 서버(1200)는 분산 저장소(1300)로부터 특정 사용자의 이전의 정산 데이터 파일, 이전 출금 요청 트랜잭션 이후에 발생된 트랜잭션들에 대한 데이터 등을 획득하고, 정산 데이터 파일(예: 도 14의 정산 데이터 파일(1031, 1033))을 생성할 수 있다(S1605). 거래소 서버(1200)는 생성된 정산 데이터 파일을 분산 저장소(1300)로 송신할 수 있고(S1607), 분산 저장소(1300)는 정산 데이터 파일을 저장할 수 있다(S1609).The exchange server 1200 may obtain the transaction history of the specific user from the distributed storage 1300 (S1603). For example, the transaction history may be referenced as a list of transactions that have occurred since a specific user's previous withdrawal request. As described above through (2) of FIG. 14, the exchange server 1200 obtains a specific user's previous settlement data file, data on transactions that occurred after the previous withdrawal request transaction, etc. from the distributed storage 1300. And, a settlement data file (e.g., settlement data files 1031 and 1033 in FIG. 14) can be created (S1605). The exchange server 1200 can transmit the generated settlement data file to the distributed storage 1300 (S1607), and the distributed storage 1300 can store the settlement data file (S1609).

정산 절차가 완료되면, 거래소 서버(1200)는 정산 결과를 클라이언트 단말(1075)로 송신할 수 있다(S1611). 정산 결과는 정산 데이터 파일에 포함된 정보를 포함할 수 있다. 클라이언트 단말(1075)은 수신된 정산 결과에 대한 확인을 거래소 서버(1200)으로 송신할 수 있다(S1613). 거래소 서버(1200)는 정산 결과에 대한 확인을 수신하면, 블록체인 네트워크(1100)으로 상기 특정 사용자의 개인 키로 암호화 서명된 출금 확인 트랜잭션을 송신할 수 있다(S1615). 블록체인 네트워크(1100)은 출금 확인 트랜잭션을 처리하고, 블록체인(1055)에 기록할 수 있다(S1617).When the settlement procedure is completed, the exchange server 1200 may transmit the settlement result to the client terminal 1075 (S1611). The settlement result may include information contained in the settlement data file. The client terminal 1075 may transmit confirmation of the received settlement result to the exchange server 1200 (S1613). When the exchange server 1200 receives confirmation of the settlement result, it can transmit a withdrawal confirmation transaction cryptographically signed with the private key of the specific user to the blockchain network 1100 (S1615). The blockchain network 1100 can process the withdrawal confirmation transaction and record it in the blockchain 1055 (S1617).

거래 시스템(1010)에서, 입금 요청 트랜잭션 및 출금 확인 트랜잭션을 제외한 나머지 트랜잭션들을 거래소 서버(1200)에 의하여 처리하여, 블록체인 네트워크(1100)에 지불하는 수수료를 줄일 수 있다. 거래소 서버(1200)에 의하여 처리되는 트랜잭션들은 분산 저장소(1300)에 저장되고, 트랜잭션들이 저장된 분산 저장소(1300)내의 주소 값은 블록체인 네트워크(1100)에 기록될 수 있다. 따라서 모든 거래 이력은 블록체인(1055) 및 분산 저장소(1300)를 통하여 재구성 될 수 있고, 사용자에 의하여 감시될 수 있다.In the transaction system 1010, transactions other than deposit request transactions and withdrawal confirmation transactions are processed by the exchange server 1200, thereby reducing the fees paid to the blockchain network 1100. Transactions processed by the exchange server 1200 are stored in the distributed storage 1300, and the address value in the distributed storage 1300 where the transactions are stored may be recorded in the blockchain network 1100. Therefore, all transaction history can be reconstructed through the blockchain 1055 and distributed storage 1300 and monitored by the user.

다시 도 10을 참조하면, 상기 도 18에 따른 자산 지분 토큰과 통화 토큰의 교환으로 인해, 도 10의 소비자와 판매자 간의 대마 약품 거래가 수행된다(S9080). Referring again to FIG. 10, due to the exchange of the asset equity token and currency token according to FIG. 18, a cannabis drug transaction is performed between the consumer and the seller of FIG. 10 (S9080).

대마 약품을 자산으로 거래 시스템(1010)에 미리 등록한 판매자는 블록체인 네트워크(1100)의 거래소 계좌에 등록된 대마 약품에 연관된 자산 지분 토큰을 소지한 상태이다. 그리고 원화를 거래 시스템(1010)에 미리 입금한 소비자는 블록체인 네트워크(1100)의 거래소 계좌에 입금 금액에 대응한 통화 토큰을 소지한 상태이다. 이에 대해서는 도 16 등을 참조해 전술하였는 바, 자세한 설명은 생략한다. A seller who has previously registered cannabis medicine as an asset in the trading system 1010 holds an asset equity token related to the cannabis medicine registered in the exchange account of the blockchain network 1100. And the consumer who deposited won in advance into the transaction system 1010 holds a currency token corresponding to the deposited amount in the exchange account of the blockchain network 1100. This has been described above with reference to FIG. 16, etc., and detailed description will be omitted.

상기 단계(S9080)에서 소비자의 전자장치(400)가 처방 인증서를 갖고 있는 것이 검증된 경우, 판매자의 전자장치(500) 및 소비자의 전자장치(400)는 거래 시스템(1010)에 판매 주문 및 구매 주문을 전송하여 거래 프로세스를 개시할 수도 있다. If it is verified in step S9080 that the consumer's electronic device 400 has a prescription certificate, the seller's electronic device 500 and the consumer's electronic device 400 place a sales order and purchase in the transaction system 1010. You can also initiate the trading process by sending an order.

일부 실시 예들에서, 거래 시스템(1010)의 대마 약품 거래를 위한 소비자의 구매 주문(buy order)은, 처방 인증서가 발행된 처방전 내용에 기초하여 생성될 수도 있다. 상기 구매 주문은 결제 대상 및 결제 수량을 포함한다. In some embodiments, a consumer's buy order for a cannabis drug transaction in transaction system 1010 may be generated based on the contents of a prescription for which a prescription certificate has been issued. The purchase order includes payment object and payment quantity.

상기 구매 주문은 판매자의 전자장치(500) 또는 소비자의 전자장치(400)에 의해 생성될 수도 있다. 소비자의 전자장치(400)는 자신이 소유한 처방 인증서로부터 처방전 정보를 획득할 수 있다. 판매자의 전자장치(500)는 처방 인증서를 검증한 과정에서 처방전 정보 중 적어도 일부를 획득할 수 있다. The purchase order may be created by the seller's electronic device 500 or the consumer's electronic device 400. The consumer's electronic device 400 may obtain prescription information from a prescription certificate owned by the consumer. The seller's electronic device 500 may obtain at least part of the prescription information in the process of verifying the prescription certificate.

전술한 바와 같이, 상기 처방전 정보는 상기 소비자가 처방 대상이고 상기 관리대상 제품이 처방 제품인 처방 내용과 관련된 정보를 포함할 수도 있다. 예를 들어, 상기 처방전 정보는 복용 기간, 단위 기간(예컨대, 일별(days)) 복용 회수, 1회당 복용량 등을 포함하므로, 상기 판매자의 전자장치(500)는 복용 기간 동안 대마 약품의 전체 복용량을 획득할 수 있다. As described above, the prescription information may include information related to prescription contents in which the consumer is the subject of the prescription and the product to be managed is a prescription product. For example, since the prescription information includes the period of administration, the number of administrations in a unit period (e.g., per day), the dose per time, etc., the seller's electronic device 500 records the entire dosage of the cannabis medicine during the period of administration. It can be obtained.

상기 판매자의 전자장치(500) 또는 소비자의 전자장치(400)는 대마 약품을 자산으로 등록하여 발행된 자산 지분 토큰을 결제 대상으로 지정하고 전체 복용량 만큼의 자산 지분 토큰의 개수를 결제 수량으로 지정하여 상기 구매 주문을 생성할 수도 있다. The seller's electronic device 500 or the consumer's electronic device 400 registers the cannabis drug as an asset, designates the issued asset equity token as the payment target, and specifies the number of asset equity tokens equivalent to the total dose as the payment quantity. The purchase order may be created.

상기 판매자의 전자장치(500)는 상기 처방전 정보 중 적어도 일부에 기초하여 판매 주문을 생성할 수도 있다(S9080). 상기 판매 주문은 결제 금액의 지불을 요청하는 것일 수도 있다. 상기 판매 주문은 결제 금액 및 결제 수단을 포함한다. The seller's electronic device 500 may generate a sales order based on at least part of the prescription information (S9080). The sales order may be a request for payment of a payment amount. The sales order includes payment amount and payment method.

일부 실시 예들에서, 상기 판매자의 전자장치(500)는 상기 구매 주문에 기초하여 판매 주문을 생성할 수도 있다. In some embodiments, the seller's electronic device 500 may generate a sales order based on the purchase order.

상기 판매자의 전자장치(500)는 상기 결제 대상과 결제 수량에 대응한 결제 금액 및 결제 수단을 포함한 판매 주문을 생성할 수 있다(S9080). 상기 결제 수단은 상기 통화 토큰이다. 상기 소비자가 지불할 통화 토큰의 개수는 상기 결제 금액에 대응한다. 상기 결제 금액은 결제 대상 및 결제 수량에 대응한다. 즉, 상기 결제 대상 및 결제 수량에 대응한 통화 토큰의 개수가 결제 금액으로 지정된다. The seller's electronic device 500 may create a sales order including a payment amount and payment method corresponding to the payment object and payment quantity (S9080). The payment method is the currency token. The number of currency tokens to be paid by the consumer corresponds to the payment amount. The payment amount corresponds to the payment object and payment quantity. That is, the number of currency tokens corresponding to the payment object and payment quantity is designated as the payment amount.

다양한 실시 예들에서, 상기 판매자의 전자장치(500)는 특정 거래를 위한 구매 주문 요청 및 판매 주문 요청을 모두 생성할 수도 있다. In various embodiments, the seller's electronic device 500 may generate both a purchase order request and a sales order request for a specific transaction.

거래 시스템(1010)은 상기 판매자의 전자장치(500) 또는 소비자의 전자장치(400)로부터 수신한 구매 요청 및 판매 요청에 기초하여 거래 트랜잭션을 처리할 수도 있다. The transaction system 1010 may process transaction transactions based on purchase requests and sales requests received from the seller's electronic device 500 or the consumer's electronic device 400.

특정 실시 예들에서, 상기 도 17의 거래 요청은 상기 판매자의 판매 주문 및 소비자의 구매 주문을 포함할 수도 있다. 상기 판매자의 전자장치(500)는 판매자의 개인 키로 암호화 서명된 판매자의 판매 주문을 거래소 서버(1200) 및 분산 저장소(1300)로 송신하고 소비자의 전자장치(400)는 소비자의 개인 키로 암호화 서명된 소비자의 구매 주문을 거래소 서버(1200) 및 분산 저장소(1300)로 송신할 수도 있다(S1501, S1503). 거래소 서버(1200)는 소비자의 거래 요청인 구매 주문, 판매자의 거래 요청인 판매 주문에 대응되는 트랜잭션을 처리할 수 있다(S1505). 분산 저장소(1300)는 상기 거래 요청에 대응되는 암호화 서명된 트랜잭션을 저장할 수 있다(S1507).In certain embodiments, the transaction request of FIG. 17 may include a sales order from the seller and a purchase order from the consumer. The seller's electronic device 500 transmits the seller's sales order, which is cryptographically signed with the seller's private key, to the exchange server 1200 and the distributed storage 1300, and the consumer's electronic device 400 transmits the seller's sales order, which is cryptographically signed with the consumer's private key. The consumer's purchase order may be transmitted to the exchange server 1200 and the distributed storage 1300 (S1501, S1503). The exchange server 1200 can process transactions corresponding to a purchase order, which is a transaction request from a consumer, and a sell order, which is a transaction request from a seller (S1505). Distributed storage 1300 may store a cryptographically signed transaction corresponding to the transaction request (S1507).

거래소 서버(1200)는 사용자의 구매 주문 및 판매 주문이 매칭됨에 따라 거래(trade) 트랜잭션을 발생시킬 수 있다(S1505). 상기 소비자의 구매 주문 및 상기 판매자의 판매 주문을 매칭하여, 상기 결제 금액만큼의 상기 통화 토큰의 수량이 상기 소비자의 거래소 계좌에서 상기 판매자의 거래소 계좌로 전송되고 상기 판매자의 거래소 계좌에서 상기 결제 수량만큼의 상기 자산 지분 토큰의 수량이 상기 판매자의 거래소 계좌에서 상기 소비자의 거래소 계좌로 전송되도록 하는 상기 거래 트랜잭션을 생성한다(S1505). 이 과정은 도 14를 통하여 전술되었다. 이때 거래소 서버(1200)는 발생된 거래 트랜잭션을 거래소 서버(1200)의 개인 키로 암호화 서명하고 분산 저장소(1300)로 송신할 수 있다. 분산 저장소(1300)는 수신된 거래 트랜잭션을 저장할 수 있다(S1507). 이러한 거래 트랜잭션의 처리는 도 17을 참조해 전술하였는 바, 자세한 설명은 생략한다. The exchange server 1200 may generate a trade transaction as the user's buy order and sell order are matched (S1505). By matching the consumer's purchase order and the seller's sell order, a quantity of the currency token equal to the payment amount is transferred from the consumer's exchange account to the seller's exchange account and from the seller's exchange account to the payment quantity. Create the transaction transaction that causes the quantity of the asset equity tokens to be transferred from the seller's exchange account to the consumer's exchange account (S1505). This process was described above with reference to FIG. 14 . At this time, the exchange server 1200 may cryptographically sign the generated transaction with the private key of the exchange server 1200 and transmit it to the distributed storage 1300. Distributed storage 1300 may store the received transaction transaction (S1507). The processing of these transaction transactions has been described above with reference to FIG. 17, and detailed description will be omitted.

상기 거래에서 소비자는 구매 주문 내용에 개입하는 것이 원천 차단되므로, 처방된 대마 약품의 규모 이상의 대마 약품이 유통되는 것을 방지할 수 있다. In the above transaction, the consumer is prevented from interfering with the contents of the purchase order, thereby preventing the distribution of cannabis drugs exceeding the size of the prescribed cannabis drug.

상기 단계(S9080)의 거래가 종료되면, 판매자의 전자장치(500)는 대마 약품이 소비자에게 전달되기 위한 동작을 수행할 수도 있다. 또한, 상기 판매자의 전자장치(500)는 결제 금액의 지불이 완료된 이후에 거래 이력을 생성한다(S9085). 상기 판매자의 전자장치(500)는 제품유통관리시스템(200)에 상기 거래 이력을 전송한다(S9090). 상기 제품유통관리시스템(200)은 수신한 거래 이력으로 거래이력 DB(227)을 갱신한다(S9095). When the transaction in step S9080 is completed, the seller's electronic device 500 may perform an operation to deliver the cannabis medicine to the consumer. Additionally, the seller's electronic device 500 creates a transaction history after payment of the payment amount is completed (S9085). The seller's electronic device 500 transmits the transaction history to the product distribution management system 200 (S9090). The product distribution management system 200 updates the transaction history DB 227 with the received transaction history (S9095).

상기 거래 이력은 상기 처방전 정보 중 적어도 일부 정보(예컨대, 대마 약품(즉, 처방된 대마 약품)을 지칭하는 정보(예컨대, 종류 또는 명칭), 대마 약품의 복용량, 대마 약품의 복용량에 대응한 결제 금액 및 결제 수단)와 더불어, 결제 내용을 포함한다. 상기 결제 내용은 구매자의 개인정보, 판매자의 개인정보, 결제 시간 등을 포함할 수도 있다. 또한, 상기 결제 내용은 거래 시스템(1010)의 통화 토큰을 거래 상대방으로 전송하고 전송한 통화 토큰에 대응한 자산 지분 토큰을 이체 받은 소비자의 블록체인 네트워크(1100)에서의 계좌주소(또는 지갑주소), 및 대마 약품에 대한 상기 자산 지분 토큰을 거래 상대방에게 전송하고 전송한 상기 자산 지분 토큰에 대응한 통화 토큰을 이체 받은 판매자의 블록체인 네트워크(1100)에서의 계좌주소(또는 지갑주소)를 포함할 수도 있다. The transaction history may include at least some of the prescription information (e.g., information referring to the cannabis drug (i.e., the prescribed cannabis drug) (e.g., type or name), the dosage of the cannabis drug, and the payment amount corresponding to the dosage of the cannabis drug. and payment method), as well as payment details. The payment details may include the buyer's personal information, the seller's personal information, payment time, etc. In addition, the payment details are the account address (or wallet address) in the blockchain network 1100 of the consumer who transmitted the currency token of the transaction system 1010 to the transaction counterparty and received the asset equity token corresponding to the transmitted currency token. , and the account address (or wallet address) in the blockchain network 1100 of the seller who transmitted the asset equity token for the cannabis drug to the transaction counterparty and received the currency token corresponding to the transmitted asset equity token. It may be possible.

또한, 일부 실시 예들에서, 상기 거래 이력은 단계(S9050)에서 소비자의 전자장치(400)로부터 수신한 VP(또는 처방 인증서), 단계(S9030)에서 소비자의 전자장치(400)에 전송한 VP(또는 판매권한 인증서) 중 하나 이상을 더 포함할 수도 있다. Additionally, in some embodiments, the transaction history may include a VP (or prescription certificate) received from the consumer's electronic device 400 in step S9050, and a VP (or prescription certificate) transmitted to the consumer's electronic device 400 in step S9030. or a sales authorization certificate) may be further included.

상기 제품유통관리시스템(200)은 거래이력 DB(227)에서 거래이력을 확인할 수 있다. The product distribution management system 200 can check transaction history in the transaction history DB 227.

또한, 일부 실시 예들에서, 상기 제품유통관리시스템(200)은 거래이력에 포함된 판매자의 상기 계좌주소 또는 소비자의 상기 계좌주소에 기초하여 거래 시스템(1010)의 통화 토큰 또는 자산 지분 토큰의 발행 이력을 확인할 수도 있다. Additionally, in some embodiments, the product distribution management system 200 records the issuance history of currency tokens or asset equity tokens of the transaction system 1010 based on the account address of the seller or the account address of the consumer included in the transaction history. You can also check .

또한, 상기 소비자의 전자장치(400)는 제품유통관리시스템(200)에 소비자 자신의 구매 이력 조회를 요청할 수도 있다. 상기 구매 이력의 조회는 거래 이력의 조회로 구현될 수도 있다. 상기 구매 이력 조회의 요청은 소비자와 관련된 정보를 포함할 수도 있다. 일부 실시 예들에서, 상기 구매 이력 조회의 요청은 소비자의 식별자 정보 또는 소비자의 디지털 서명을 포함할 수도 있다. 그러면, 제품유통관리시스템(200)은 식별자 정보와 같은 구매 이력 조회의 요청 내 소비자와 관련된 정보를 이용하여 해당 소비자의 구매 이력이 나타난 거래이력을 조회하고 조회 결과를 소비자의 전자장치(400)로 전송할 수도 있다. Additionally, the consumer's electronic device 400 may request the product distribution management system 200 to check the consumer's purchase history. The inquiry of the purchase history may also be implemented as a inquiry of the transaction history. The purchase history inquiry request may include information related to the consumer. In some embodiments, the purchase history inquiry request may include the consumer's identifier information or the consumer's digital signature. Then, the product distribution management system 200 searches the transaction history showing the purchase history of the consumer using information related to the consumer in the purchase history inquiry request, such as identifier information, and sends the search results to the consumer's electronic device 400. You can also send it.

또한, 상기 판매자의 전자장치(500)는 제품유통관리시스템(200)에 판매자 자신의 판매 이력 조회를 요청할 수도 있다. 상기 판매 이력의 조회는 거래 이력의 조회로 구현될 수도 있다. 상기 판매 이력 조회의 요청은 판매자와 관련된 정보를 포함할 수도 있다. 일부 실시 예들에서, 상기 판매 이력 조회의 요청은 판매자의 식별자 정보 또는 판매자의 디지털 서명을 포함할 수도 있다. 그러면, 제품유통관리시스템(200)은 식별자 정보와 같은 판매자 이력 조회의 요청 내 판매자와 관련된 정보를 이용하여 해당 판매자의 구매 이력을 조회하고 조회 결과를 판매자의 전자장치(500)로 전송할 수도 있다. Additionally, the seller's electronic device 500 may request the product distribution management system 200 to check the seller's own sales history. The search for the sales history may also be implemented as a search for the transaction history. The request to check the sales history may include information related to the seller. In some embodiments, the request to check the sales history may include the seller's identifier information or the seller's digital signature. Then, the product distribution management system 200 may search the purchase history of the seller using information related to the seller in the seller history inquiry request, such as identifier information, and transmit the search results to the seller's electronic device 500.

대안적인 실시 예들에서, 상기 단계(S9080)의 거래는 상기 거래 시스템(1010)에 제한되지 않는다. 상기 단계(S9080)는 다양한 결제 수단에 따른 제3자 거래 시스템에 의해 수행될 수도 있다. 즉, 상기 결제 수단은 전술한 블록체인 기반 암호화폐에 제한되지 않으며, 예를 들어 현금, 신용카드, 직불카드, 또는 기타 결제수단일 수도 있다. 여기서, 직불카드 또는 신용카드를 이용한 결제 금액의 지불은 카드 단말기(예컨대, IC 단말기)를 통해 구현되거나, 또는 해당 카드와 미리 연동된 NFC 기반 전자결제 수단(예컨대, 구글페이, 삼성페이, 애플페이 등)을 통해 구현되는 것을 포함한다. 또한, 현금을 이용한 결제 금액의 지불은 은행 계좌의 이체를 포함한다. In alternative embodiments, the transaction of step S9080 is not limited to the transaction system 1010. The step (S9080) may be performed by a third-party transaction system according to various payment methods. That is, the payment method is not limited to the aforementioned blockchain-based cryptocurrency, and may be, for example, cash, credit card, debit card, or other payment method. Here, payment of the amount using a debit or credit card is implemented through a card terminal (e.g., IC terminal), or an NFC-based electronic payment method previously linked to the card (e.g., Google Pay, Samsung Pay, Apple Pay). etc.) includes those implemented through. Additionally, payment of the payment amount using cash includes transfer from a bank account.

추가적으로, 상기 제품유통관리시스템(200)은 발행 요청에 따른 인증서 발행이 완료되기 이전에, 인증서 발행을 취소할 수도 있다. 예를 들어, 상기 제품유통관리시스템(200)은 소비자의 전자장치(400)에 대한 처방 인증서의 발행을 취소할 수도 있다. 또는, 상기 제품유통관리시스템(200)은 판매자의 전자장치(500)에 대한 판매권한 인증서의 발행을 취소할 수도 있다. 또는, 상기 제품유통관리시스템(200)은 의료기관 전자장치(300)에 대한 처방권한 인증서의 발행을 취소할 수도 있다. Additionally, the product distribution management system 200 may cancel the issuance of a certificate before the issuance of the certificate according to the issuance request is completed. For example, the product distribution management system 200 may cancel the issuance of a prescription certificate for the consumer's electronic device 400. Alternatively, the product distribution management system 200 may cancel the issuance of a sales authorization certificate for the seller's electronic device 500. Alternatively, the product distribution management system 200 may cancel the issuance of a prescription authority certificate for the electronic device 300 of a medical institution.

상기 제품유통관리시스템(200)은 취소 대상 인증서의 발행에 대한 취소 요청 트랜잭션을 발생시킬 수도 있다. 그러면, 상기 취소 요청 트랜잭션은 상기 제품유통관리시스템(200)에 의해 처리되어 블록체인 네트워크(600)에 처리 결과가 게재될 수도 있다. 상기 인증 시스템(10) 내 취소 대상 인증서의 발행 취소는 거래 시스템(1010)의 구매 주문 취소 및 판매 주문 취소 트랜잭션, 또는 출금 요청 취소 트랜잭션과 유사하므로, 자세한 설명은 생략한다. The product distribution management system 200 may generate a cancellation request transaction for the issuance of a certificate subject to cancellation. Then, the cancellation request transaction may be processed by the product distribution management system 200 and the processing result may be posted on the blockchain network 600. Since the cancellation of issuance of a certificate subject to cancellation in the authentication system 10 is similar to the purchase order cancellation and sales order cancellation transaction or withdrawal request cancellation transaction of the transaction system 1010, detailed descriptions are omitted.

이와 같이, 상기 구매 시스템(1)은 소비자의 신원 및 구매 이력을 투명하게 관리할 수 있다. 특히, 상기 구매 시스템(1)은 유효한 구매권한이 인증된 소비자에 한해 관리대상제품의 구매를 허용하고 거래 이력을 추적할 수 있어, 결국 소비자의 관리대상 제품의 구매를 엄격하게 관리할 수 있다. In this way, the purchasing system 1 can transparently manage the consumer's identity and purchase history. In particular, the purchasing system 1 allows the purchase of management target products only by consumers with certified valid purchasing authority and can track transaction history, ultimately making it possible to strictly manage consumers' purchases of management target products.

상기 시스템(1)이 본 명세서에 서술되지 않은 다른 구성요소를 포함할 수도 있다는 것이 통상의 기술자에게 명백할 것이다. 예를 들어, 데이터 입력장치, 디스플레이 및/또는 인쇄와 같은 출력장치, 네트워크, 네트워크 인터페이스 및 프로토콜 등을 더 포함할 수 있다.It will be apparent to those skilled in the art that the system 1 may include other components not described herein. For example, it may further include a data input device, an output device such as display and/or printing, a network, a network interface, and a protocol.

하드웨어를 이용하여 본 발명의 실시 예를 구현하는 경우에는, 본 출원의 실시 예들을 수행하도록 구성된 ASICs(application specific integrated circuits) 또는 DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays) 등이 본 출원의 구성요소에 구비될 수 있다. When implementing embodiments of the present invention using hardware, application specific integrated circuits (ASICs) or digital signal processors (DSPs), digital signal processing devices (DSPDs), and programmable PLDs (PLDs) configured to perform the embodiments of the present application. logic devices), field programmable gate arrays (FPGAs), etc. may be included in the components of the present application.

이상에서 설명한 본 출원의 실시 예들에 따른 블록체인 기술에 기반하여 관리대상제품을 구매하는 시스템 및 방법에 의한 동작은 적어도 부분적으로 컴퓨터 프로그램으로 구현되어, 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. 예를 들어, 프로그램 코드를 포함하는 컴퓨터-판독가능 매체로 구성되는 프로그램 제품과 함께 구현되고, 이는 기술된 임의의 또는 모든 단계, 동작, 또는 과정을 수행하기 위한 프로세서에 의해 실행될 수 있다. The operations of the system and method for purchasing management target products based on blockchain technology according to the embodiments of the present application described above may be at least partially implemented as a computer program and recorded on a computer-readable recording medium. . For example, implemented with a program product comprised of a computer-readable medium containing program code, which can be executed by a processor to perform any or all steps, operations, or processes described.

상기 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장 장치 등을 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수도 있다. 또한, 본 실시 예를 구현하기 위한 기능적인 프로그램, 코드 및 코드 세그먼트(segment)들은 본 실시 예가 속하는 기술 분야의 통상의 기술자에 의해 용이하게 이해될 수 있을 것이다.The computer-readable recording medium includes all types of recording devices that store data that can be read by a computer. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, and optical data storage devices. Additionally, computer-readable recording media may be distributed across computer systems connected to a network, and computer-readable codes may be stored and executed in a distributed manner. Additionally, functional programs, codes, and code segments for implementing this embodiment can be easily understood by those skilled in the art to which this embodiment belongs.

이상에서 살펴본 본 발명은 도면에 도시된 실시 예들을 참고로 하여 설명하였으나 이는 예시적인 것에 불과하며 당해 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 실시 예의 변형이 가능하다는 점을 이해할 것이다. 그러나, 이와 같은 변형은 본 발명의 기술적 보호범위 내에 있다고 보아야 한다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해서 정해져야 할 것이다.The present invention examined above has been described with reference to the embodiments shown in the drawings, but these are merely illustrative examples, and those skilled in the art will understand that various modifications and modifications of the embodiments are possible therefrom. However, such modifications should be considered within the technical protection scope of the present invention. Therefore, the true technical protection scope of the present invention should be determined by the technical spirit of the attached patent claims.

Claims (11)

시스템에 의해 수행되는, 소비자가 관리대상 제품을 구매하는 방법에 있어서,
상기 시스템은 분산 원장을 갖는 제1 블록체인 네트워크를 포함하는 블록체인 기반 구매 시스템에 의해 운영되는 것이고, 상기 시스템은 소비자의 전자장치, 판매자의 전자장치 및 의료기관 전자장치와 통신하고,
상기 제1 블록체인 네트워크는, 소비자의 식별자, 상기 시스템의 식별자 및 의료기관의 식별자를 저장하고,
상기 방법은,
상기 시스템에서 상기 소비자가 관리대상 제품의 구매권한이 있는 것을 나타낸 처방인증VC를 상기 소비자의 전자장치로 발행하는 단계;
상기 소비자의 전자장치에서 소비자의 관리대상 제품의 구매권한 여부에 대한 VP를 생성하고, 상기 판매자의 전자장치로 상기 관리대상 제품의 구매권한 여부에 대한 VP를 전송하는 단계 - 상기 관리대상 제품의 구매권한 여부에 대한 VP는 소비자의 신원인증VC 와 처방 인증VC 에 포함되는 정보들 중에서 일부 또는 전부를 포함함;
상기 판매자의 전자장치에서 상기 제1 블록체인 네트워크에 저장된 제품유통관리기관의 식별자와 상기 관리대상 제품의 구매권한 여부에 대한 VP에 포함된 제품유통관리기관의 디지털 서명을 기초로 정당한 제품유통관리기관에 의하여 발급된 처방인증VC인 것을 검증하는 단계; 및
상기 검증 결과에 기초하여 상기 처방인증VC 내 처방전 정보 중 적어도 일부를 획득하고, 관리대상 제품을 구매하기 위한 거래 프로세스를 수행하는 단계 - 상기 거래 프로세스는 관리대상 제품의 거래를 위한 상기 판매자의 전자장치와 소비자의 전자 장치 간의 미리 설정된 일련의 동작으로 이루어진 것;을 포함하는,
방법.
In the method performed by the system, a consumer purchases a product subject to management,
The system is operated by a blockchain-based purchasing system that includes a first blockchain network with a distributed ledger, and the system communicates with the consumer's electronic device, the seller's electronic device, and the medical institution's electronic device,
The first blockchain network stores the consumer's identifier, the system's identifier, and the medical institution's identifier,
The method is,
issuing, in the system, a prescription authentication VC indicating that the consumer has the right to purchase a product subject to management to the consumer's electronic device;
Creating a VP on whether the consumer has the right to purchase the management target product on the consumer's electronic device, and transmitting the VP on whether the consumer has the purchase authority for the management target product to the seller's electronic device - purchase of the management target product The VP for authorization includes some or all of the information included in the consumer's identity authentication VC and prescription authentication VC;
A legitimate product distribution management agency based on the identifier of the product distribution management agency stored in the first blockchain network on the seller's electronic device and the digital signature of the product distribution management agency included in the VP regarding whether or not the product is authorized to purchase the product subject to management. Verifying that it is a prescription certification VC issued by; and
Obtaining at least some of the prescription information in the prescription authentication VC based on the verification result, and performing a transaction process for purchasing a management target product - the transaction process includes the seller's electronic device for transaction of the management target product Consisting of a preset series of operations between the consumer's electronic device and the consumer's electronic device;
method.
청구항 제1항에 있어서,
상기 시스템에서 상기 소비자가 관리대상 제품의 구매권한이 있는 것을 나타낸 처방인증VC를 상기 소비자의 전자장치로 발행하는 단계는,
의료기관 전자장치에서 소비자에 대한 처방전 정보, 상기 소비자의 신원인증 VC 및 의료기관의 공인처방기관VC를 상기 의료기관 식별자로 디지털 서명하여 처방인증VC 발급을 요청하는 단계 - 상기 처방전 정보는 상기 소비자가 처방 대상이고 상기 관리대상 제품이 처방 제품인 처방 내용과 관련된 정보를 포함함;
상기 처방인증VC 발급의 요청에 반응하여, 상기 시스템에서 상기 공인처방기관 VC에 포함된 의료기관의 디지털 서명과 상기 제1 블록체인 네트워크에 저장된 의료기관의 식별자에 기초하여 처방인증VC의 발급 요청이 공인처방기관인 의료기관에 의한 디지털 서명인 것인지 검증하는 단계;
상기 처방인증VC의 발급 요청이 공인처방기관인 의료기관에 의한 디지털 서명인 것인지 검증된 경우 상기 시스템에서 상기 처방전 정보, 상기 소비자의 신원인증VC에 포함된 적어도 일부 데이터를 디지털 서명한 처방인증VC를 발행하는 단계를 포함하는 것을 특징으로 하는,
방법.
The method of claim 1,
In the system, the step of issuing a prescription authentication VC indicating that the consumer has the right to purchase a product subject to management to the consumer's electronic device is,
A step of requesting issuance of a prescription authentication VC by digitally signing the prescription information for the consumer, the consumer's identity authentication VC, and the medical institution's authorized prescribing agency VC from the medical institution's electronic device with the medical institution identifier - The prescription information is provided to the consumer and is the subject of the prescription. Contains information related to prescriptions where the controlled product is a prescription product;
In response to the request for issuance of the prescription authentication VC, the system requests the issuance of the prescription authentication VC based on the digital signature of the medical institution included in the VC of the certified prescription institution and the identifier of the medical institution stored in the first blockchain network. Verifying whether the digital signature is from a medical institution;
When it is verified that the request for issuance of the prescription authentication VC is a digital signature by a medical institution that is an authorized prescribing institution, the system issues a prescription authentication VC that digitally signs the prescription information and at least some data included in the consumer's identity authentication VC. Characterized by comprising the steps:
method.
청구항 제1항에 있어서, 상기 방법은,
상기 시스템에서 상기 판매자가 상기 관리대상 제품의 판매권한이 있는 것을 나타낸 공인판매자VC를 상기 판매자의 전자장치로 발행하는 단계;
상기 관리대상 제품에 대한 구매권한 여부에 대한 VP를 상기 판매자의 전자장치로 전송하기 이전에, 상기 판매자의 전자장치에서 상기 판매자의 판매권한 여부에 대한 VP를 생성하고, 상기 소비자의 전자장치로 상기 관리대상 제품에 대한 판매권한 여부에 대한 VP를 전송하는 단계 - 상기 관리대상 제품의 구매권한 여부에 대한 VP는 상기 판매자의 신원인증VC 와 처방인증VC 에 포함되는 정보들 중에서 일부 또는 전부를 포함함; 및
상기 소비자의 전자장치에서 상기 제1 블록체인 네트워크에 저장된 제품유통관리기관의 식별자와 상기 관리대상 제품의 판매권한 여부에 대한 VP에 포함된 제품유통관리기관의 디지털 서명을 기초로 정당한 제품유통관리기관에 의하여 발급된 공인판매자VC인 것을 검증하는 단계;를 더 포함하고,
상기 정당한 제품유통관리기관에 의하여 발급된 공인판매자VC인 것을 검증된 경우, 상기 소비자의 전자장치에서 소비자의 관리대상 제품의 구매권한 여부에 대한 VP를 생성하거나 또는 상기 판매자의 전자장치로 상기 관리대상 제품의 구매권한 여부에 대한 VP를 전송하는 것을 특징으로 하는,
방법
The method of claim 1, wherein the method comprises:
issuing, in the system, an authorized seller VC indicating that the seller has the authority to sell the management target product to the seller's electronic device;
Before transmitting the VP regarding the purchase authority for the management target product to the seller's electronic device, the seller's electronic device generates a VP regarding the seller's sales authority, and transmits the VP to the consumer's electronic device. A step of transmitting a VP regarding whether the product is authorized to be sold - The VP regarding whether the product is authorized to be purchased includes some or all of the information included in the seller's identity authentication VC and prescription authentication VC ; and
A legitimate product distribution management agency based on the identifier of the product distribution management agency stored in the first blockchain network on the consumer's electronic device and the digital signature of the product distribution management agency included in the VP regarding whether or not the product is authorized to sell the product subject to management. It further includes; verifying that it is an authorized seller VC issued by,
If it is verified that it is an authorized seller VC issued by the legitimate product distribution management agency, a VP on whether the consumer has the right to purchase the product subject to management is created on the consumer's electronic device, or the seller's electronic device is used to Characterized by transmitting a VP regarding whether the product is authorized to be purchased,
method
청구항 제3항에 있어서,
상기 시스템에서 상기 판매자가 상기 관리대상 제품의 판매권한이 있는 것을 나타낸 공인판매자VC를 상기 판매자의 전자장치로 발행하는 단계는,
판매자의 전자장치에서 상기 판매자의 신원인증 VC 를 상기 판매자의 식별자로 디지털 서명하여 공인판매자VC 발급을 요청하는 단계;
상기 공인판매자VC발급의 요청에 반응하여, 상기 시스템에서 상기 판매자의 신원인증VC에 포함된 상기 판매자의 디지털 서명과 상기 제1 블록체인 네트워크에 저장된 판매자의 식별자에 기초하여 상기 공인판매자VC의 발급 요청이 정당한 판매자로부터 전송된 것인지 검증하는 단계;
상기 정당한 판매자로부터 전송된 것인지 검증된 경우 상기 시스템에서 공인판매자 DB의 정보와 판매자인증VC의 정보를 비교하는 단계; 및
상기 공인판매자DB에 상기 판매자인증VC와 일치하는 정보가 있는 경우 상기 공인판매자VC의 발급을 요청한 판매자의 전자장치로 상기 공인판매자VC를 발행하는 단계를 포함하는 것을 특징으로 하는,
방법.
According to claim 3,
In the system, the step of issuing an authorized seller VC indicating that the seller has the authority to sell the product subject to management to the seller's electronic device is,
Requesting issuance of an authorized seller VC by digitally signing the seller's identity authentication VC with the seller's identifier on the seller's electronic device;
In response to the request for issuance of the authorized seller VC, the system requests issuance of the authorized seller VC based on the seller's digital signature included in the seller's identity authentication VC and the seller's identifier stored in the first blockchain network. Verifying whether the transmission is from a legitimate seller;
Comparing the information of the authorized seller DB and the information of the seller authentication VC in the system when it is verified that the transmission is from a legitimate seller; and
Characterized in that it includes the step of issuing the authorized seller VC to the electronic device of the seller who requested issuance of the authorized seller VC when there is information matching the seller authentication VC in the authorized seller DB.
method.
청구항 제1항에 있어서,
상기 검증 결과에 기초하여 상기 처방인증VC 내 처방전 정보 중 적어도 일부를 획득하고, 관리대상 제품을 구매하기 위한 거래 프로세스를 수행하는 단계는,
상기 소비자에 대한 관리대상 제품의 복용 기간, 일별 복용 회수, 1회당 복용량에 기초하여 구매 허용된 전체 복용량을 산출하는 단계; 및
상기 전체 복용량만큼의 관리대상 제품을 구매하기 위한 거래 프로세스를 수행하는 단계를 포함하는 것을 특징으로 하는,
방법.
The method of claim 1,
The step of obtaining at least some of the prescription information in the prescription authentication VC based on the verification result and performing a transaction process to purchase the product to be managed,
Calculating the total dosage permitted for purchase based on the period of administration, number of daily dosages, and dosage per time of the product subject to management for the consumer; and
Characterized in that it comprises the step of performing a transaction process to purchase the entire dose of the product to be administered,
method.
청구항 제5항에 있어서, 상기 전체 복용량만큼의 관리대상 제품을 구매하기 위한 거래 프로세스를 수행하는 단계는,
상기 거래 프로세스를 위한 소비자의 구매 주문을 생성하여 거래 시스템에 전송하는 단계 -상기 소비자의 구매 주문은 상기 소비자의 전자장치 또는 판매자의 전자장치에서 생성되는 것임;
상기 판매자의 전자장치에서 상기 거래 프로세스를 위한 상기 판매자의 판매 주문을 생성하여 상기 거래 시스템에 전송하는 단계; 및
상기 거래 시스템에서 상기 소비자의 구매 주문 및 판매자의 구매 주문에 기초하여 거래 트랜잭션을 처리하는 단계를 포함하고,
상기 거래 시스템은 자산 거래를 위한 복수의 트랜잭션을 처리하도록 구성된 것으로서,
복수의 컴퓨팅 장치를 포함한 제2 블록체인 네트워크 - 상기 제2 블록체인 네트워크는 상기 복수의 컴퓨팅 장치에 포함된 상기 소비자의 전자장치 및 판매자의 전자장치에 연결되고, 상기 소비자의 전자장치, 판매자의 전자장치에 블록체인이 저장됨;
상기 블록체인 네트워크와 통신하는 거래소 서버; 및
분산 저장소를 포함하고,
상기 방법은,
상기 판매자의 전자장치에서 판매할 관리대상 제품을 등록하는 것에 따라서 자산 지분 스마트컨트랙트를 통해 상기 관리대상 제품에 연관된 자산 지분 토큰을 발행하는 단계; 및
상기 소비자의 전자장치에서 법정화폐를 입금하는 것에 따라서 통화 토큰 스마트컨트랙트를 통해 상기 통화 토큰을 발행하는 단계를 더 포함하는 것을 특징으로 하는,
방법.
The method of claim 5, wherein the step of performing a transaction process to purchase the entire dose of the management target product includes,
Generating a consumer's purchase order for the transaction process and transmitting it to a transaction system - the consumer's purchase order is generated on the consumer's electronic device or the seller's electronic device;
generating the seller's sales order for the transaction process on the seller's electronic device and transmitting it to the transaction system; and
Processing, in the trading system, a trading transaction based on the consumer's purchase order and the seller's purchase order,
The trading system is configured to process multiple transactions for asset trading,
A second blockchain network including a plurality of computing devices - the second blockchain network is connected to the consumer's electronic device and the seller's electronic device included in the plurality of computing devices, and the consumer's electronic device and the seller's electronic device are connected to the consumer's electronic device and the seller's electronic device. Blockchain stored on device;
an exchange server that communicates with the blockchain network; and
Includes distributed storage,
The method is,
issuing an asset share token associated with the managed product through an asset share smart contract in accordance with registering the managed product to be sold on the seller's electronic device; and
Characterized in that it further comprises the step of issuing the currency token through a currency token smart contract in response to depositing fiat currency on the consumer's electronic device.
method.
청구항 제6항에 있어서,
상기 거래 프로세스를 위한 소비자의 구매 주문을 생성하는 단계는,
상기 판매자의 전자장치 또는 소비자의 전자장치에서 상기 관리대상 제품에 연관된 자산 지분 토큰을 결제 대상으로 지정하고 상기 관리대상 제품의 전체 복용량을 결제 수량으로 지정하여 상기 소비자의 구매 주문을 생성하는 것이고,
상기 거래 프로세스를 위한 상기 판매자의 판매 주문을 생성하는 단계는,
상기 판매자의 전자장치에서 상기 통화 토큰을 결제 수단으로 지정하고 상기 결제 대상 및 결제 수량에 대응한 통화 토큰의 개수를 결제 금액으로 지정하여 상기 판매자의 판매 주문을 생성하는 것을 특징으로 하는,
방법.
The method of claim 6,
The step of creating a consumer purchase order for the transaction process is,
Designating an asset equity token associated with the managed product on the seller's electronic device or the consumer's electronic device as the payment object and designating the entire dosage of the managed product as the payment quantity to create the consumer's purchase order,
The step of creating a sales order for the seller for the transaction process is:
Characterized in generating a sales order for the seller by designating the currency token as a payment method in the seller's electronic device and specifying the number of currency tokens corresponding to the payment object and payment quantity as the payment amount,
method.
청구항 제6항에 있어서, 상기 관리대상 제품에 연관된 자산 지분 토큰을 발행하는 단계는,
판매자의 전자장치에서 관리대상 제품을 거래 시스템의 자산으로 등록하여 자산 지분 토큰 입금 요청이 발생하면, 상기 자산 지분 토큰 입금 요청을 판매자의 개인 키로 암호화 서명하여 상기 자산 지분 스마트컨트랙트로 전송하는 단계;
상기 자산 지분 스마트컨트랙트에서 자산 지분 토큰 입금 트랙잭션에 응답하여 등록된 상기 관리대상 제품에 연관된 자산 지분 토큰을 거래 스마트컨트랙트로 이동시키는 단계; 및
상기 거래 스마트컨트랙트에서 상기 자산 지분 토큰의 입금 이벤트 로그를 생성하고, 상기 제2 블록체인 네트워크 내 블록체인에 저장하는 단계를 포함하는 것을 특징으로 하는,
방법.
The method of claim 6, wherein the step of issuing an asset equity token associated with the product to be managed comprises:
When a management target product is registered as an asset in the transaction system on the seller's electronic device and a request for asset equity token deposit occurs, cryptographically signing the asset equity token deposit request with the seller's private key and transmitting it to the asset equity smart contract;
moving an asset share token associated with the registered managed product to a transaction smart contract in response to an asset share token deposit transaction in the asset share smart contract; and
Characterized in that it includes the step of generating a deposit event log of the asset equity token in the transaction smart contract and storing it in a blockchain within the second blockchain network.
method.
청구항 제6항에 있어서, 상기 통화 토큰을 발행하는 단계는,
상기 소비자의 전자장치에서 법정화폐를 입금하여 통화 토큰 입금 요청이 발생하면, 상기 통화 토큰 입금 요청을 상기 소비자의 개인 키로 암호화 서명하여 상기 통화 토큰 컨트랙트로 전송하는 단계;
상기 통화 토큰 스마트컨트랙트에서 통화 토큰 입금 트랜잭션에 응답하여 상기 통화 토큰을 상기 거래 스마트컨트랙트로 이동하는 단계;
상기 거래 스마트컨트랙트에서 상기 통화 토큰의 입금 이벤트 로그를 생성하고, 상기 제2 블록체인 네트워크 내 블록체인에 저장하는 단계를 포함하는 것을 특징으로 하는,
방법.
The method of claim 6, wherein issuing the currency token comprises:
When a currency token deposit request occurs by depositing fiat currency on the consumer's electronic device, cryptographically signing the currency token deposit request with the consumer's private key and transmitting it to the currency token contract;
moving the currency token to the transaction smart contract in response to a currency token deposit transaction in the currency token smart contract;
Characterized in that it includes the step of generating a deposit event log of the currency token in the transaction smart contract and storing it in a blockchain within the second blockchain network.
method.
청구항 제7항에 있어서, 상기 거래 시스템에서 상기 소비자의 구매 주문 및 판매자의 구매 주문에 기초하여 거래 트랜잭션을 처리하는 단계는,
상기 판매자의 전자장치에서 판매자의 개인 키로 암호화 서명된 판매자의 판매 주문을 거래소 서버 및 분산 저장소로 송신하고 상기 소비자의 전자장치에서 소비자의 개인 키로 암호화 서명된 소비자의 구매 주문을 상기 거래소 서버 및 상기 분산 저장소로 송신하는 단계;
거래소 서버에서 소비자의 거래 요청인 구매 주문, 판매자의 거래 요청인 판매 주문에 대응되는 트랜잭션을 처리하고, 상기 분산 저장소에서 상기 거래 요청에 대응되는 암호화 서명된 트랜잭션을 저장하는 단계; 및
상기 소비자의 구매 주문 및 상기 판매자의 판매 주문을 매칭하여, 상기 결제 금액만큼의 상기 통화 토큰의 수량이 상기 소비자의 거래소 계좌에서 상기 판매자의 거래소 계좌로 전송되고 상기 판매자의 거래소 계좌에서 상기 결제 수량만큼의 상기 자산 지분 토큰의 수량이 상기 판매자의 거래소 계좌에서 상기 소비자의 거래소 계좌로 전송되도록 하는 상기 거래 트랜잭션을 생성하고, 상기 거래 트랜잭션을 상기 거래소 서버의 개인 키로 암호화 서명하여 상기 분산 저장소에 저장하는 단계를 포함하는 것을 특징으로 하는,
방법.
The method of claim 7, wherein processing a transaction based on the consumer's purchase order and the seller's purchase order in the transaction system comprises:
Transmit the seller's sales order, which is cryptographically signed with the seller's private key from the seller's electronic device, to the exchange server and distributed storage, and transmit the consumer's purchase order, which is cryptographically signed with the consumer's private key from the consumer's electronic device, to the exchange server and the distributed storage. sending to storage;
Processing transactions corresponding to a purchase order, which is a transaction request from a consumer, and a sell order, which is a transaction request from a seller, at an exchange server, and storing a cryptographically signed transaction corresponding to the transaction request in the distributed storage; and
By matching the consumer's purchase order and the seller's sell order, a quantity of the currency token equal to the payment amount is transferred from the consumer's exchange account to the seller's exchange account and from the seller's exchange account to the payment quantity. Creating the trading transaction that causes the quantity of the asset equity tokens to be transferred from the seller's exchange account to the consumer's exchange account, cryptographically signing the trading transaction with the private key of the exchange server and storing it in the distributed storage. Characterized in that it includes,
method.
청구항 제1항 내지 청구항 제10항 중 어느 하나의 청구항에 따른 소비자가 관리대상 제품을 구매하는 방법을 수행하기 위한 프로그램이 기록된, 컴퓨터 판독가능한 기록매체.


A computer-readable recording medium on which a program for performing a method for a consumer to purchase a management target product according to any one of claims 1 to 10 is recorded.


KR1020220130057A 2022-10-11 System and method for trading based on blockchain technologies KR20240050180A (en)

Publications (1)

Publication Number Publication Date
KR20240050180A true KR20240050180A (en) 2024-04-18

Family

ID=

Similar Documents

Publication Publication Date Title
US11651365B2 (en) Blockchain architecture, system, method and device for automated cybersecurity and data privacy law compliance with proprietary off-chain storage mechanism
CN111448565B (en) Data authorization based on decentralised identification
US11025419B2 (en) System for digital identity authentication and methods of use
US20210117962A1 (en) Methods and systems for digital reward processing
US20190156938A1 (en) System, method and data model for secure prescription management
US11715099B2 (en) Method and system for trust-based payments via blockchain
TW381241B (en) Electronic wallet based on distributed network
US6317729B1 (en) Method for certifying delivery of secure electronic transactions
CN109919604A (en) Method and system for the transaction for using the consumer of crypto token to initiate
US20160217437A1 (en) Method for generating intangible bit money managed as data and system for providing services relevant to same
CN109478282A (en) Digital asset distribution is carried out by the transaction device
US20190392432A1 (en) Capital inheritance system and method for facilitating transfer of digital cryptocurrency
US20220270725A1 (en) Blockchain architecture, system, method and device for facilitating electronic health record maintenance, sharing and monetization using a decentralized health information platform including a non-fungible token function and security protocols
US20200160352A1 (en) Method and system for identifying product genuineness
US11710122B2 (en) Using a nested random number-based security ecosystem for block chains for electronic cash tokens and other embodiments
Kurki Benefits and guidelines for utilizing blockchain technology in pharmaceutical supply chains: case Bayer Pharmaceuticals
KR20240050180A (en) System and method for trading based on blockchain technologies
Poongodi et al. Influence of blockchain technology in pharmaceutical industries
Cilli et al. " Safe Prescription": A Decentralized Blockchain Protocol to Manage Medical Prescriptions.
AU2005242991B2 (en) Improved ticketing scheme
Madir Blockchain in healthcare: a Panacea or Scourge
Chowdhury et al. Cryptographic ledger of blockchain technology in healthcare
US11861622B2 (en) Method and system of identifying and reducing scalping using distributed ledgers
Madir Blockchain opportunities in healthcare
US20210233671A1 (en) System for managing medical documentation