KR102302351B1 - 각각이 신원 원장과 디지털 통화 원장을 포함하는 뱅크 노드들을 포함하는 블록체인 시스템과 이의 작동 방법 - Google Patents

각각이 신원 원장과 디지털 통화 원장을 포함하는 뱅크 노드들을 포함하는 블록체인 시스템과 이의 작동 방법 Download PDF

Info

Publication number
KR102302351B1
KR102302351B1 KR1020200110742A KR20200110742A KR102302351B1 KR 102302351 B1 KR102302351 B1 KR 102302351B1 KR 1020200110742 A KR1020200110742 A KR 1020200110742A KR 20200110742 A KR20200110742 A KR 20200110742A KR 102302351 B1 KR102302351 B1 KR 102302351B1
Authority
KR
South Korea
Prior art keywords
digital currency
ledger
bank
nodes
chaincode
Prior art date
Application number
KR1020200110742A
Other languages
English (en)
Inventor
윤석구
Original Assignee
주식회사 소버린월렛
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 소버린월렛 filed Critical 주식회사 소버린월렛
Priority to KR1020200110742A priority Critical patent/KR102302351B1/ko
Priority to EP21188438.2A priority patent/EP3961977A1/en
Priority to CA3128669A priority patent/CA3128669A1/en
Priority to AU2021221485A priority patent/AU2021221485B2/en
Priority to JP2021137918A priority patent/JP2022041950A/ja
Priority to US17/459,318 priority patent/US20220067717A1/en
Priority to CN202111011941.1A priority patent/CN114119013A/zh
Application granted granted Critical
Publication of KR102302351B1 publication Critical patent/KR102302351B1/ko
Priority to JP2023164111A priority patent/JP2023169379A/ja

Links

Images

Classifications

    • 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/3236Cryptographic 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 using cryptographic hash functions
    • H04L9/3239Cryptographic 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 using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/389Keeping log of transactions for guaranteeing non-repudiation of a transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • G06Q20/102Bill distribution or payments
    • 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/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/322Aspects of commerce using mobile devices [M-devices]
    • G06Q20/3221Access to banking information through M-devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key 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/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4014Identity check for transactions
    • 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/02Banking, e.g. interest calculation or account maintenance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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
    • 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/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3678Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes e-cash details, e.g. blinded, divisible or detecting double spending
    • H04L2209/38
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Abstract

블록체인 시스템이 개시된다. 상기 블록체인 시스템은 뱅크 노드들과, 모바일 노드들을 포함하고, 상기 뱅크 노드들 각각은 상기 뱅크 노드들 각각의 공개키와 상기 뱅크 노드들 각각의 사용자의 신원을 식별하기 위한 디지털 ID, 및 상기 모바일 노드들 각각의 공개키와 상기 모바일 노드들 각각의 신원을 식별하기 위한 디지털 ID를 포함하는 신원 원장을 포함한다.

Description

각각이 신원 원장과 디지털 통화 원장을 포함하는 뱅크 노드들을 포함하는 블록체인 시스템과 이의 작동 방법{BLOCKCHAIN SYSTEM THAT INCLUDES BANK NODES EACH HAVING SEPARATE LEDGERS FOR IDENTITY, DIGITAL CURRENCY AND OTHER FUNCTIONS, AND OPERATION METHOD THEREOF}
본 발명은 블록 체인 시스템에 관한 것으로, 특히 각각이 신원 원장 (identity ledger), 디지털 통화 원장(digital currency ledger), 및/또는 다른 기능 원장을 포함하는 뱅크 노드들을 포함하는 블록체인 시스템과 이의 작동 방법에 관한 것이다.
종래의 암호 화폐나 암호 자산을 위한 블록 체인 시스템은 사용자가 임의로 생성한 공개키 또는 상기 공개키로부터 유도된 임의의 해시값을 주소(address)로 정의하고, 주소들을 이용한 거래 내역을 상기 블록 체인 시스템에 기록한다.
이러한 블록 체인 시스템은 송금자의 신원 정보가 상기 송금자의 주소와 연결되어 있지 않고 수금자의 신원 정보가 상기 수금자의 주소와 연결되어 있지 않으므로, 상기 송금자의 신원과 상기 수금자의 신원을 확인할 수 없다. 이에 따라 사용자의 신원 인증이 불가능하고, 자금 세탁을 방지할 수 없다.
공개특허공보: 공개번호 10-2019-0128309 (2019.11.18 공개) 공개특허공보: 공개번호 10-2018-0113084 (2018.10.15 공개) 등록특허공보: 등록번호 10-1974452 (2019.05.03 공고)
본 발명이 이루고자 하는 기술적인 과제는, 불법적인 자금 세탁을 방지하기 위해 각각이 거래 당사자들 각각의 신원을 식별할 수 있는 신원 정보에 연결된 디지털 ID를 저장하는 신원 원장을 포함하는 뱅크 노드들을 포함하는 블록체인 시스템과 그의 작동 방법을 제공하는 것이다.
본 발명이 이루고자 하는 기술적인 과제는, 탈중앙화를 위해 각각이 노드들의 공개키들을 저장하는 신원 원장을 포함하는 뱅크 노드들을 포함하는 블록체인 시스템을 제공하는 것이다.
본 발명이 이루고자 하는 기술적인 과제는 각각이 해당 디지털 통화 원장을 다이나믹하게 생성할 수 있는 뱅크 노드들을 포함하는 블록체인 시스템을 제공하는 것이다.
본 발명이 이루고자 하는 기술적인 과제는 블록체인 노드를 모바일 어플리케이션(mobile applicatin) 형태로 작동시킬 수 있도록 디지털 통화 원장의 거래 내역에서 추출된 신원별(또는 디지털 ID별) 디지털 통화의 계좌 잔고를 기록하여 데이터 사이즈를 획기적으로 줄일 수 있는 블록체인 시스템을 제공하는 것이다.
본 발명의 실시 예에 따른 블록체인 시스템은 뱅크 노드들과, 모바일 노드들을 포함하고, 상기 뱅크 노드들 각각은 상기 뱅크 노드들 각각의 공개키와 상기 뱅크 노드들 각각의 사용자의 신원을 식별하기 위한 디지털 ID, 및 상기 모바일 노드들 각각의 공개키와 상기 모바일 노드들 각각의 신원을 식별하기 위한 디지털 ID를 포함하는 신원 원장을 포함한다. 실시 예들에 따라 상기 뱅크 노드들 각각은 상기 뱅크 노드들에 의해 생성된 체인코드들이 상기 뱅크 노드들과 상기 모바일 노드들의 합의에 따라 등록된 체인코드 등록 원장을 더 포함하고, 상기 체인코드들은 디지털 통화를 발행하기 위한 디지털 통화 발행용 체인코드와, 상기 모바일 노드들 중에서 상기 디지털 통화를 이용하여 거래를 원하는 적어도 하나의 모바일 노드로 다운로드 되는 디지털 통화 거래용 체인코드를 포함한다.
본 발명의 실시 예에 따른 뱅크 노드들과 모바일 노드들을 포함하는 블록체인 네트워크를 포함하는 블록체인 시스템의 작동 방법은 상기 뱅크 노드들 각각이 상기 뱅크 노드들 각각의 공개키와 상기 뱅크 노드들 각각의 신원을 식별하기 위한 디지털 ID를 상기 블록체인 네트워크에 퍼블리시하는 단계와, 상기 모바일 노드들 각각이 상기 모바일 노드들 각각의 공개키와 상기 모바일 노드들 각각의 신원을 식별하기 위한 디지털 ID를 상기 블록체인 네트워크에 퍼블리시하는 단계와, 상기 뱅크 노드들 각각이 상기 뱅크 노드들 각각의 공개키와 상기 뱅크 노드들 각각의 신원을 식별하기 위한 디지털 ID, 및 상기 모바일 노드들 각각의 공개키와 상기 모바일 노드들 각각의 신원을 식별하기 위한 디지털 ID를 수신하여 상기 뱅크 노드들 각각에 포함된 신원 원장에 등록하는 단계를 포함한다.
본 발명의 실시 예에 따른 블록체인 시스템의 작동 방법은 제1디지털 통화 원장을 포함하는 제1뱅크 노드가 제1디지털 통화를 발행하는 단계와, 상기 제1디지털 통화 원장과 동일한 제2디지털 통화 원장을 포함하는 제2뱅크 노드가 제2디지털 통화를 발행하는 단계와, 모바일 노드들이 상기 제1디지털 통화를 이용하여 거래하는 단계와, 상기 제1뱅크 노드가 상기 제1디지털 통화를 이용하여 상기 모바일 노드들 사이에서 이루어진 거래 내역을 상기 제1디지털 통화 원장에 등록하는 단계와, 상기 제2뱅크 노드가 상기 거래 내역을 상기 제2디지털 통화 원장에 등록하는 단계를 포함한다. 상기 블록체인 시스템의 작동 방법은 상기 제1디지털 통화 원장은 제1이벤트 소스 원장과 제1요약 원장을 포함하고, 상기 제1디지털 통화 원장에 등록하는 단계는 상기 제1뱅크 노드가 상기 거래 내역의 전부를 블록체인 형태로 상기 제1이벤트 소스 원장에 등록하는 단계와, 상기 제1뱅크 노드가 상기 제1이벤트 소스 원장에 등록된 상기 거래 내역의 전부로부터 일부를 추출하고, 추출된 일부 거래 내역을 상기 제1요약 원장에 등록하는 단계를 포함한다.
본 발명의 실시 예에 따른 제1뱅크 노드, 제2뱅크 노드, 및 모바일 노드들을 포함하는 블록체인 네트워크를 포함하는 블록체인 시스템의 작동 방법은 제1체인코드 등록 원장을 포함하는 상기 제1뱅크 노드가 제1디지털 통화를 발행할 수 있는 제1체인코드를 생성하는 단계와, 상기 제1체인코드 등록 원장과 동일한 제2체인코드 등록 원장을 포함하는 제2뱅크 노드가 제2디지털 통화를 발행할 수 있는 제2체인코드를 생성하는 단계와, 상기 제1뱅크 노드가 상기 제1체인코드를 상기 블록체인 네트워크로 퍼블리시하는 단계와, 상기 제1뱅크 노드와 상기 제2뱅크 노드 각각이, 상기 블록체인 네트워크에 포함된 모든 노드들로부터 전송된 상기 제1체인코드에 대한 제1합의에 기초하여, 상기 제1체인코드를 상기 제1체인코드 등록 원장과 상기 제2체인코드 등록 원장 각각에 등록하는 단계를 포함한다.
본 발명의 실시 예에 따른 블록체인 시스템에 포함된 뱅크 노드들 각각은 거래 당사자들 각각의 신원을 식별할 수 있는 신원 정보에 연결된 디지털 ID를 저장하는 신원 원장을 포함하므로, 상기 거래 당사자들 각각의 신원이 식별될 수 있는 효과가 있다. 이에 따라 상기 블록체인 시스템은 불법적인 자금 세탁을 방지할 수 있는 효과가 있다.
본 발명의 실시 예에 따라, 금융 거래 서비스를 제공하는 블록체인 시스템에 포함된 뱅크 노드들 각각은 블록체인 네트워크에 포함된 모든 노드들의 공개키들을 저장하는 신원 원장을 포함하므로, 상기 뱅크 노드들 중에서 어느 하나가 고장나더라도 상기 금융 거래 서비스를 이용하는 사용자들 각각은 나머지 뱅크 노드들 중에서 적어도 하나에 저장된 상기 공개키들 각각을 이용하여 상기 금융 거래 서비스를 이용할 수 있다. 따라서, 상기 블록체인 시스템에 의해 제공되는 상기 금융 거래 서비스는 중단되지 않는 효과가 있다.
본 발명의 실시 예에 따른 블록체인 시스템에 포함된 뱅크 노드들 각각은 해당하는 디지털 통화들 각각을 다이나믹하게 생성할 수 있는 효과가 있다.
본 발명의 실시 예에 따라, 각각이 디지털 통화를 다이나믹하게 생성할 수 있고 거래 원장을 관리하는 뱅크 노드들은 상기 거래 원장에서 추출된 신원별(또는 디지털 ID별) 디지털 통화의 계좌 잔고를 기록한 요약 원장을 생성하여, 모바일 노드들이 상기 요약 원장을 통하여 디지털 통화에 대한 금융 거래를 수행할 수 있게 하는 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 실시 예에 따른 뱅크 노드들과 모바일 노드들을 포함하는 블록 체인 시스템의 개략도이다.
도 2는 각 뱅크 노드에 포함된 원장들과, 모바일 노드로 다운로드되는 정보를 나타낸다.
도 3은 각 뱅크 노드에 포함된 신원 원장을 나타낸다.
도 4는 각 뱅크 노드에 포함된 체인코드 등록 원장을 나타낸다.
도 5는 각 뱅크 노드에 포함된 체인코드 실행 원장을 나타낸다.
도 6은 각 뱅크 노드에 포함된 체인코드 실행 원장의 실시 예들을 나타낸다.
도 7은 각 뱅크 노드에 포함된 디지털 통화 등록 원장을 나타낸다.
도 8은 각 뱅크 노드에 포함된 담보 자산 등록 원장을 나타낸다.
도 9는 각 뱅크 노드에 포함된 이벤트 소스 원장을 나타낸다.
도 10은 각 뱅크 노드와 특정 모바일 노드에 포함된 요약 원장을 나타낸다.
도 11은 도 1에 도시된 블록 체인 시스템의 작동을 설명하기 위한 플로우차트이다.
도 1은 본 발명에 실시 예에 따른 뱅크 노드들과 모바일 노드들을 포함하는 블록 체인 시스템의 개략도이다. 도 1을 참조하면, 블록 체인 시스템(100)은 뱅크 노드들(200-1~200-4)과 모바일 노드들(300-1과 300-2)을 포함하는 블록체인 네트워크(110)를 포함한다. 예를 들면, 블록 체인 시스템(100)은 법적 정당성을 갖는 중앙 은행의 디지털 통화를 위한 금융 거래 전용 블록체인 시스템일 수 있다.
디지털 통화 발행 노드라고도 불리는 뱅크 노드(bank node)는 디지털 통화 (digital currency)를 발행(이를 '생성'이라고도 한다.)할 수 있는 하드웨어 컴포넌트 또는 상기 하드웨어 컴포넌트와 결합된 소프트웨어 컴포턴트를 의미하고, 컴퓨터 프로그램(또는 체인코드)을 이용하여 새로운 블록체인을 실시간으로 다이나믹 (dynamic)으로 생성하는 기능을 갖는다. 예를 들면, 뱅크 노드는 온라인상의 서버일 수 있으나, 이에 한정되는 것은 아니다. 적어도 하나의 뱅크 노드는 모바일 노드들 사이에서 수행되는 금융 거래(예를 들면, 전자 금융 거래)를 중계할 수 있다.
디지털 통화는 디지털 머니(digital money), 전자 통화(electronic currency), 또는 전자 머니(electronic money)라고도 불리며, 인터넷 상의 분산 데이터베이스, 전자 컴퓨터 데이터베이스, 디지털 파일 또는 저장-가치 카드 (stored-value card)에 저장된 잔액(balance) 또는 기록(record)을 의미한다. 디지털 통화의 예들은 암호 화폐(cryptocurrencies), 가상 통화(virtual currencies), 중앙 은행 디지털 통화(central bank digital currencies(CBDC)), e-캐시(e-cash), 상품권, 마일리지 카드, 및/또는 각국 통화를 포함한다.
디지털 통화 거래 노드라고도 불리는 모바일 노드(mobile node)는 상기 모바일 노드의 사용자가 사용을 원하는 디지털 통화의 계좌 잔고만을 기록한 거래 원장 (예를 들면, 요약 원장)만을 갖는 하드웨어 컴포넌트 또는 상기 하드웨어 컴포넌트와 결합된 소프트웨어 컴포턴트를 의미한다. 예를 들면, 모바일 노드는 모바일 장치이거나 상기 모바일 장치에서 실행되는 어플리케이션(application)일 수 있다. 예를 들면, 모바일 장치는 뱅크노드의 데이터 저장 용량보다 상당히 작은 데이터 저장 용량을 갖고 휴대 가능한 컴퓨팅 장치, 예를 들면 PDA(personal digital assistant), MID(mobile Internet device), 셀룰러폰(cellular phone), 또는 스마트폰(smart phone)일 수 있다.
모바일 노드는 전자 지갑을 포함하고, 상기 전자 지갑을 이용하여 거래 당사자(예를 들면, 적어도 하나의 뱅크 노드 및/또는 적어도 하나의 상대방 모바일 노드)와 디지털 통화를 이용한 금융 거래할 수 있다.
디지털 지갑(digital wallet), 스마트 지갑(smart wallet), 암호 지갑 (crypto wallet), 또는 블록체인 지갑(blockchain wallet) 등으로 알려진 전자 지갑(electronic wallet 또는 e-wallet)은 사용자들(예를 들면, 뱅크 노드들 및/또는 모바일 노드들)로 하여금 전자 거래들(electronic transactions)을 할 수 있도록 허용된 전자 장치, 온라인 서비스, 또는 소프트웨어(또는 프로그램)를 의미한다.
뱅크 노드와 모바일 노드는 당해 디지털 통화를 발행할 수 있는 당해 체인코드의 등록, 업데이트, 등록 취소, 업데이트 취소, 및/또는 상기 각 체인코드의 파기에 관련된 합의(consensus)에 참여한다.
비록, 도 1에는 4개의 뱅크 노드들(200-1~200-4)과 2개의 모바일 노드들 (300-1과 300-2)을 포함하는 블록체인 네트워크(110)이 도시되어 있으나, 4개의 뱅크 노드들(200-1~200-4)과 2개의 모바일 노드들(300-1과 300-2)은 블록체인 네트워크(110)에 포함된 모든 노드들을 집합적으로 또는 총칭하여 나타낸다.
도 2는 각 뱅크 노드에 포함된 원장들과, 모바일 노드로 다운로드 되는 정보를 나타낸다.
도 1과 도 2를 참조하면, 각 뱅크 노드(200-1~200-4, 총칭하여 '200')는 각각이 기능별로 분리된 원장들(210, 220, 230, 240, 250, 261, 263, …, 265)을 포함한다. 실시 예들에 따라, 각 뱅크 노드(200)는 담보 자산 등록 원장(250)을 포함하지 않을 수도 있다.
각 원장(210, 220, 230, 240, 250, 261, 263, …, 265)은 블록체인일 수 있다. 여기서, 블록체인은 관리 대상 데이터를 블록(block)이라고 하는 소규모 데이터를 연속적으로 추가하는 방법으로 저장하면서 바로 다음 블록이 이전 블록에 대한 해쉬 값을 저장하는 체인 형태의 연결 고리 기반 분산 데이터 저장 환경에 저장하여, 누구라도 임의로 상기 관리 대상 데이터를 수정할 수 없고 누구나 상기 관리 대상 데이터에 대한 변경의 결과를 열람할 수 있는 분산 컴퓨팅 기술 기반의 원장 관리 기술이다.
블록체인 합의 알고리즘을 의미하는 블록체인 합의에 의한 블록체인 방식은 모든 블록체인 시스템 또는 모든 블록체인 네트워크의 핵심적인 요소로서, 분산화된 시스템의 무결성과 보안을 유지시키는 역할을 한다. 합의 알고리즘은 블록체인 네트워크에서 합의를 달성하는 매커니즘(mechanism)이라고 정의할 수 있다.
종래의 블록체인 시스템에서는 모든 거래 데이터가 서로 해시값(hash value)으로 엮이는 블록체인 방식으로 하나의 통합 원장에 기록되기 때문에, 금융 거래가 증가할수록 상기 통합 원장에 기록되는 거래 데이터의 양도 증가한다.
종래의 블록체인 시스템에서 블록체인 방식으로 통합 원장에 기록된 거래 데이터를 삭제하는 것이 불가능하고, 상기 거래 데이터를 삭제할 수 있다고 하더라도 상기 거래 데이터를 삭제하면 블록체인이 끊어지므로 상기 블록체인에 대한 증명이 불가능해질 수 있다.
종래의 통합 원장에 기록되는 거래 데이터의 양이 너무 크기 때문에, 제한된 저장 용량(또는 제한된 메모리 용량)을 갖는 모바일 노드(예를 들면, 스마트폰)는 상기 통합 원장을 그대로 저장하기 어렵다.
이러한 문제들을 해결하기 위해 안출된 본 발명에 따른 블록체인 시스템 (100)에 포함된 각 뱅크 노드(200)는 종래의 통합 원장과 같은 하나의 원장이 아니라 각각이 기능별로 분리된 원장들(210, 220, 230, 240, 250, 261, 263, …, 265)를 등록(이를 '기록' 또는 '저장'이라고도 한다.)한다.
예를 들면, 각 원장(210, 220, 230, 240, 250, 261, 263, …, 265)에 블록체인 형태로 등록되는 데이터의 양은 종래의 통합 원장에 블록체인 형태로 저장되는 데이터의 양보다 상당히 적다. 또한, 불필요한 원장(예를 들면, 더 이상 사용되지 않는 디지털 화폐의 원장)은 삭제 가능하므로, 상기 불필요한 원장의 삭제에 따라 데이터의 양을 더 줄일 수 있는 효과가 있다.
각 모바일 노드(300-1과 300-2, 총칭하여 '300')는 종래의 통합 원장과 같은 하나의 원장 그 자체를 뱅크 노드(200)로부터 다운로드 받아 저장하는 것이 아니라, 금융 거래에 필요한 디지털 통화의 계좌 잔고만을 기록한 요약 원장만을 뱅크 노드(200)로부터 다운로드 받아 저장하거나 업데이트된 계좌 잔고만을 수신하여 기존의 요약 원장을 업데이트할 수 있으므로, 각 모바일 노드(300)의 요약 원장에 저장되는 거래 데이터의 양은 종래의 통합 원장에 저장되는 거래 데이터의 양보다 상당히 감소한다.
요약 원장만을 처리하거나 계좌 잔고만을 업데이트하는 각 모바일 노드(300)의 컴퓨팅 파워(computing power)는 종래의 통합 원장을 처리할 때 필요한 컴퓨팅 파워보다 상당히 많이 감소하고, 요약 원장 또는 계좌 잔고를 처리하기 위해 각 뱅크 노드(200)와 각 모바일 노드(300) 사이에서 주고받는 통신 데이터의 양은 종래의 통합 원장을 처리할 때의 데이터 양보다 상당히 많이 감소한다.
각 모바일 노드(300)가, 종래의 통합 원장과 같은 하나의 원장을 가지고 있지 않고 요약 원장만을 가지고 있더라도, 상대방 뱅크 노드 및/또는 상대방 모바일 노드로부터의 데이터 요청(또는 계좌 잔고 요청)에 대한 답변은 가능한다.
뱅크 노드들(200-1~200-4) 각각이 블록체인 합의에 의한 블록체인 방식으로 등록된 동일한 원장들(210, 220, 230, 240, 250, 261, 263, …, 265)을 가지고 있으므로, 뱅크 노드들(200-1~200-4) 모두가 고장나지 않는 한(또는 사용이 불가능하지 않는 한) 원장들(210, 220, 230, 240, 250, 261, 263, …, 265)은 안전하게 보관 또는 유지될 수 있다.
도 3은 각 뱅크 노드에 포함된 신원 원장을 나타낸다. 도 1 내지 도 3을 참조하면, 신원 원장(identity ledger; 210)은 블록체인 네트워크(110)에 포함된 모든 노드들(200-1~200-4, 300-1, 및 300-2) 각각의 디지털 ID(DID1~DID4, DIDm1, 및 DIDm2)와 공개키(PuK1~PuK4, PuKm1, 및 PuKm2)를 등록한다.
여기서, 노드(node)는 다르게 표현하지 않는 한 노드 그 자체 및/또는 상기 노드의 사용자를 의미할 수 있다.
공개키와 개인키가 하나의 쌍으로 만들어지고, 상기 개인키로 암호화한 데이터를 상기 공개키로 복호화할 수 있는 공개키 암호화 알고리즘의 수학적 원리에 따라, 당해 노드(예를 들면, 300-1)에 의해 생성된 메시지의 서명은 신원 원장(210)에 등록된 당해 공개키(예를 들면, PuKm1)를 이용하여 검증될 수 있다. 예를 들면, 데이터를 개인키로 전자 서명하면 암호화된 데이터가 생성되고, 검증을 위해 암호화된 데이터를 공개키를 이용하여 복호화하면 복호화된 데이터(즉, 원래의 데이터)가 생성된다.
당사자들 사이에서 신원 원장(210)에 등록된 디지털 ID를 이용하여 디지털 통화의 금융 거래가 수행된다. 블록체인 네트워크(110)에서 디지털 통화를 이용한 모든 금융 거래는 각 노드(200-1~200-4, 300-1, 및 300-2)의 디지털 ID를 이용하여 실행되므로, 각 노드(200-1~200-4, 300-1, 및 300-2)가 자기 개인키를 분실하더라도 각 노드(200-1~200-4, 300-1, 및 300-2)는 신원 원장(210)에 새로운 공개키를 다시 등록하여 디지털 통화 원장에 등록된 디지털 통화에 대한 금융 거래를 실행할 수 있다.
신원 원장(210)은 탈중앙화 방식의 PKI(public Key Infrastructure)의 역할을 수행할 수 있다.
각 디지털 ID(identification, DID1~DID4, DIDm1, 및 DIDm2)는 각 노드(200-1~200-4, 300-1, 및 300-2) 또는 각 노드(200-1~200-4, 300-1, 및 300-2)의 사용자의 신원을 유일무이(unique)하게 식별할 수 있는 신원 정보(identify information)를 의미한다.
신원 정보는 개인 정보와 상기 개인 정보에 연결된 유일무이한 정보를 총칭한다. 개인 정보는 개인에 대한 정보 가운데 상기 개인을 직·간접적으로 식별할 수 있는 정보를 의미한다. 예를 들면, 개인 정보는 개인에 관한 정보로서, 성명, 주민등록번호 등에 의하여 상기 개인을 식별할 수 있는 부호, 문자, 음성, 음향, 영상, 및 생체 특성 등에 관한 정보(당해 정보만으로는 특정 개인을 알아볼 수 없는 경우에도 다른 정보와 용이하게 결합하여 상기 특정 개인을 식별할 수 있는 것을 포함한다)를 말한다.
사용자의 신원을 식별하기 위한 신원 정보의 예들은 이름(또는 명칭), 주민등록번호(또는 사업자 등록번호), 스마트폰의 전화번호, 지문 정보, 홍체 정보, 안면 인식 정보, 및 목소리 정보 중에서 적어도 하나를 포함하나 이에 한정되는 것은 아니다.
이때, 각 디지털 ID(DID1~DID4, DIDm1, 및 DIDm2)는 각 노드(200-1~200-4, 300-1, 및 300-2)의 사용자가 임의로 생성한 공개키(또는 상기 공개키로부터 유도된 임의의 해시값)로 정의된 주소(address)와는 다른 정보이다.
종래의 블록체인 시스템에서 사용되는 각 주소는 각 노드(200-1~200-4, 300-1, 및 300-2)의 신원 정보에 직간접적으로 연결되어 있지 않으므로, 상기 종래의 블록체인 시스템은 상기 각 주소를 이용하여 각 노드(200-1~200-4, 300-1, 및 300-2)의 사용자의 신원을 식별(또는 확인)할 수 없다. 이에 따라, 주소들을 이용하는 종래의 블록체인 시스템은 불법적인 자금 세탁을 방지하기 어렵다.
각 노드(200-1~200-4, 300-1, 및 300-2)는, 각 공개키(PuK1~PuK4, PuKm1, 및 PuKm2)를 이용하여, 각 노드(200-1~200-4, 300-1, 및 300-2)의 사용자가 전자 서명한 정보(또는 인증서)의 진위를 검증할 수 있다.
각 노드(200-1~200-4, 300-1, 및 300-2)는 공개키(public key)와 개인키 (private key)의 쌍, 및 디지털 ID(DID1~DID4, DIDm1, 및 DIDm2)를 생성하고, 디지털 ID(DID1~DID4, DIDm1, 및 DIDm2)와 공개키(PuK1~PuK4, PuKm1, 및 PuKm2)를 블록체인 네트워크(110)에 퍼블리시(publish, 또는 전송)한다. 따라서, 블록체인 네트워크(110)에 포함된 각 뱅크 노드(200-1~200-4)는 디지털 ID(DID1~DID4, DIDm1, 및 DIDm2)와 공개키(PuK1~PuK4, PuKm1, 및 PuKm2)를 수신하여 신원 원장(210)에 블록체인 합의에 의한 블록체인 방식으로 등록한다.
각 노드(200-1~200-4, 300-1, 및 300-2)는 자기 개인키를 저장(또는 전자 지갑에 저장)하고, 상기 개인키를 이용하여 금융 거래를 위한 트랜잭션(transaction)에 전자 서명하고, 전자 서명된 트랜잭션을 생성하고, 상기 전자 서명된 트랜잭션을 블록체인 네트워크(110)에 퍼블리시(또는 전송)한다.
도 4는 각 뱅크 노드에 포함된 체인코드 등록 원장을 나타낸다. 도 1, 도 2, 및 도 4를 참조하면, 제1뱅크 노드(200-1)는 제1체인코드들(CC1~CC10)을 체인코드 등록 원장(220)에 등록하기 위한 절차를 수행하고, 제2뱅크 노드(200-2)는 제2체인코드들(CC21~CC20)을 체인코드 등록 원장(220)에 등록하기 위한 절차를 수행하고, 제3뱅크 노드(200-3)는 제3체인코드들(CC21~CC30)을 체인코드 등록 원장(220)에 등록하기 위한 절차를 수행하고, 제4뱅크 노드(200-4)는 체인코드들(CC31~CC40)을 체인코드 등록 원장(220)에 등록하기 위한 절차를 수행한다.
본 명세서에 기재된 체인코드(이를 '스마트 컨트랙트(smart contract)'라고도 한다.)는 블록체인 상에서 작동하는 어플리케이션을 의미하며, 프로그래머블 머니(programmable money), 예를 들면 디지털 통화를 발행하거나 상기 디지털 통화를 이용한 금융 거래의 핵심 기능을 제공한다.
체인코드들(CC1~CC40)은 디지털 통화를 발행하기 위한 디지털 통화 발행용 체인코드와 상기 디지털 통화를 이용하여 금융 거래를 하기 위한 디지털 통화 거래용 체인코드를 포함한다. 여기서, 금융 거래(financial transactions)는 송금 (remittance), 지불(payment), 교환, 조회, 및/또는 계좌 잔고(account balance)의 확인 등을 포함하나 이에 한정되는 것은 아니다.
새로운 디지털 통화를 발행할 때 본 발명에 따른 뱅크노드(200)는 별도의 블록체인을 생성할 필요 없이 디지털 통화 발행용 체인코드를 실행시키는 것만으로 프로그램적으로 상기 새로운 디지털 통화를 발행할 수 있다. 뱅크 노드(200)가 디지털 통화 발행용 체인코드를 실행하면, 도 7에 도시된 바와 같이 발행량과 거래 조건(241)과 디지털 통화 ID(DCID1)를 포함하는 디지털 통화 발행 정보(RI)가 디지털 통화 등록 원장(240)에 등록된다. 각 뱅크 노드(200-1 내지 200-4)는 발행된 디지털 통화에 대한 금융 거래를 처리할 수 있다.
뱅크 노드(200)는 디지털 통화 발행용 체인코드를 실행시켜 디지털 통화를 발행하고, 모바일 노드(300)는 뱅크 노드(200)로부터 상기 디지털 통화 발행용 체인코드에 관련된 디지털 통화 거래용 체인코드를 다운로드 받아 상대방 뱅크 노드 및/또는 상대방 모바일 노드와 상기 디지털 통화를 이용하여 금융 거래를 할 수 있다.
체인코드를 체인코드 등록 원장에 등록하기 위한 절차라 함은, 블록체인 네트워크(110)에 포함된 모든 노드들의 합의 요건(예를 들면, 상기 모든 노드들 중에서 과반수 이상의 합의(이를 '동의' 또는 '동의 서명'이라고도 한다.))에 따라 상기 체인코드를 상기 체인코드 등록 원장에 정식으로 등록하는 절차를 의미한다.
체인코드를 업데이트할 때도, 블록체인 네트워크(110)에 포함된 모든 노드들의 합의 요건에 따라 상기 체인코드는 상기 체인코드 등록 원장에서 업데이트된다.
그러나, 체인코드에 대해 블록체인 네트워크(110)에 포함된 모든 노드들의 합의 요건(예를 들면, 상기 모든 노드들 중에서 과반수 이상의 반대 합의(이를 '반대' 또는 '반대 서명'이라고도 한다.))이 만족되면, 상기 체인코드의 등록 또는 업데이트는 취소되고, 상기 체인코드는 파기된다.
예를 들면, 제1뱅크 노드(200-1)가 제1체인코드 ID(CID1)에 해당하는 제1체인코드(CC1)를 블록체인 네트워크(110)에 퍼블리시하면, 블록체인 네트워크(110)에 포함된 다른 노드들(200-2~200-4, 300-1, 및 300-2) 각각은 제1체인코드(CC1)를 수신한다.
다른 노드들(200-2~200-4, 300-1, 및 300-2) 각각이 제1체인코드(CC1)에 대한 동의 여부(예를 들면, 동의 또는 반대)를 나타내는 동의서를 작성하고 상기 동의서를 제1뱅크 노드(200-1)로 전송하면, 제1뱅크 노드(200-1)는 다른 노드들(200-2~200-4, 300-1, 및 300-2)로부터 전송된 동의서들 중에서 동의를 포함하는 제1동의서들의 개수를 카운트하여 카운트 값을 생성하고, 상기 카운트 값이 총 동의서들의 개수(또는 모든 노드들의 개수)의 과반수 이상일 때 제1체인코드(CC1)를 체인코드 등록 원장(220)에 등록하고 제1체인코드(CC1)가 체인코드 등록 원장(220)에 등록되었음을 블록체인 네트워크(110)에 퍼블리시한다.
도 4에서 Credentials_CC1은 제1체인코드(CC1)를 체인코드 등록 원장(220)에 등록할지를 결정하기 위해 모든 노드들(200-1~200-4, 300-1, 및 300-2)로부터 전송된 동의서들을 포함한다. 각 노드(200-1~200-4, 300-1, 및 300-2)로부터 전송된 동의서는 각 노드(200-1~200-4, 300-1, 및 300-2)의 개인키로 전자 서명된 동의서이다.
도 1과 도 4에 도시된 각 체인코드(CC2~CC40)는, 앞에서 설명된 제1체인코드 (CC1)를 체인코드 등록 원장(220)에 등록하기 위한 절차(예를 들면, 상기 절차는 '블록체인 합의에 의한 블록체인 방식'이라고도 한다.)와 동일한(또는 유사한) 절차에 따라, 각 뱅크 노드(200-1~200-4)의 체인코드 등록 원장(220)에 블록체인 합의에 의한 블록체인 방식으로 등록된다.
도 5는 각 뱅크 노드에 포함된 체인코드 실행 원장을 나타낸다.
도 1, 도 2, 도 4, 및 도 5를 참조하면, 체인코드 실행 원장(230)에는 디지털 통화 발행용 체인코드의 실행에 따라서 생성된 체인코드 실행 정보(EI1과 EI2)가 등록된다. 예를 들면, 서로 다른 각 체인코드 ID(CID1과 CID11)에 해당하는 서로 다른 각 체인코드(CC1과 CC11)는 서로 다른 각 디지털 통화 발행용 체인코드라고 가정한다.
종래의 블록체인 시스템에서는 어플리케이션의 각 인스트럭션(instruction) 단위의 모든 실행 내역(또는 모든 거래 데이터)이 블록체인 방식으로 통합 원장에 모두 기록되므로, 상당히 많은 실행 내역이 상기 통합 원장에 기록된다.
따라서 본 발명에 따른 블록체인 시스템(100)은, 종래의 통합 원장에 해당하는 블록체인에 기록되는 거래 데이터의 양을 줄이기 위해, 각 체인코드(CC1~CC40)를 노드들(200-1 내지 200-4, 300-1, 및 300-2)의 과반수 이상의 합의에 따라 각 뱅크 노드(200)의 체인코드 등록 원장(220)에 등록하고, 뱅크 노드들(200) 중에서 어느 하나의 뱅크 노드에 의해 체인코드들(CC1~CC40) 중에서 어느 하나가 실행되면 실행의 결과에 해당하는 체인코드 실행 정보(EI1 또는 EI2)만을 각 뱅크 노드(200)의 체인코드 실행 원장(230)에 등록한다. 이때, 체인코드 등록 원장(220)과 체인코드 실행 원장(230)은 별개로 존재한다.
예를 들면, 제1뱅크 노드(200-1)가 제1디지털 통화를 발행하기 위해 제1체인코드 ID(CID1)에 해당하는 제1체인코드(CC1)를 실행하면, 제1체인코드 실행 정보 (EI1)가 체인코드 실행 원장(230)에 등록된다. 제1체인코드 실행 정보(EI1)는 제1체인코드(CC1)를 식별하기 위한 제1체인코드 ID(CID1), 입력값(231), 실행 결과 (233), 및 상기 제1디지털 통화를 발행한 제1뱅크 노드(200-1)의 전자 서명 (Sign_CID1_BN; 235)을 포함한다.
제1뱅크 노드(200-1)가 제1체인코드 실행 정보(EI1)를 블록체인 네트워크 (110)에 퍼블리시함에 따라, 체인코드 실행 원장(230)은 블록체인 합의에 의한 블록체인 방식에 따라 각 뱅크 노드(200-1~200-4)에 등록된다.
제1디지털 통화의 발행 조건들을 나타내는 입력값(231)은 제1체인코드(CC1)에 입력되고, 입력값(231)은 제1체인코드(CC1)에 의해 발행된(또는 발행될) 제1디지털 통화의 총 발행량(DCT), 상기 제1디지털 통화가 금융 거래될 때 거래 단위 (DCU, 예를 들면, 소수점 몇째자리, USD 120.36와 같이 소수점 두째짜리 까지), 상기 제1디지털 통화와 다른 디지털 통화와의 거래 비율(또는 환률, DCR), 및 상기 제1디지털 통화를 이용하여 금융 거래하는데 필요한 디지털 통화 거래용 체인코드의 ID(TID, 예를 들면, 거래 당사자들 사이에서 금융 거래에 필요한 체인코드의 ID) 등을 포함한다.
실시 예에 따라, 입력값(231)은, 제1체인코드(CC1)를 이용하여 제1디지털 통화가 발행될 때, 상기 제1디지털 통화의 발행을 담보하기 위한 담보 자산의 ID (AID, 예를 들면, 담보 자산 등록 원장(250)에 등록된 담보 자산의 ID)를 더 포함할 수 있다.
제1디지털 통화의 발행 여부를 나타내는 실행 결과(233)는 제1디지털 통화의 발행의 성공(233A) 또는 실패(233B)를 나타낼 수 있다.
성공(233A)은 발행 성공을 나타내는 정보, 제1디지털 통화의 발행 시간(IT), 및 발행된 제1디지털 통화를 식별할 수 있는 디지털 통화 ID(IDID, IDID는 도 7의 DCID1과 동일할 수 있다.)를 포함할 수 있다.
실패(233B)는 발행 실패를 나타내는 정보를 포함한다.
예를 들면, 제2뱅크 노드(200-2)가 제2디지털 통화를 발행하기 위해 제11체인코드 ID(CID11)에 해당하는 제11체인코드(CC11)를 실행하면, 제2체인코드 실행 정보(EI2)가 체인코드 실행 원장(230)에 등록된다. 제2체인코드 실행 정보(EI2)는 제11체인코드(CC11)를 식별하기 위한 제11체인코드 ID(CID11), 상기 제2디지털 통화의 발행 조건들을 나타내는 입력값(Input Value11), 상기 제2디지털 통화의 발행 여부를 나타내는 실행 결과(Result11), 및 상기 제2디지털 통화를 발행한 제2뱅크 노드(200-2)의 전자 서명(Sign_CID11_BN)을 포함한다. 제2디지털 통화를 발행하기 위해 입력값(Input Value11)은 제11체인코드(CC11)에 입력된다.
제2뱅크 노드(200-2)가 제2체인코드 실행 정보(EI2)를 블록체인 네트워크 (110)에 퍼블리시함에 따라, 체인코드 실행 원장(230)은 블록체인 합의에 의한 블록체인 방식에 따라 각 뱅크 노드(200-1~200-4)에 등록된다.
도 6은 각 뱅크 노드에 포함된 체인코드 실행 원장의 실시 예들을 나타낸다.
도 1, 도 2, 도 4, 및 도 6의 (a)를 참조하면, 기본 소득에 관련된 체인코드 실행 원장은 기본 소득 발행용 체인코드를 식별하기 위한 체인코드 ID(CIDB), 상기 기본 소득 발행용 체인코드에 의해 발행된 기본 소득 디지털 통화를 식별하기 위한 디지털 통화 ID(DCIDB), 상기 기본 소득 디지털 통화를 발행(또는 처리)하기 위해 상기 기본 소득 발행용 체인코드에 입력된 입력값(BI), 및 상기 기본 소득 디지털 통화를 발행한 뱅크 노드의 전자 서명 (Sign_BI_BN)을 포함한다.
예를 들면, 발행 조건들에 해당하는 입력값(BI)은 기본 소득 디지털 통화의 총 발행량, 상기 기본 소득 디지털 통화를 누구에게 언제 얼마씩 지불해야 할지를 나타내는 정보, 및/또는 상기 기본 소득 디지털 통화를 처리할 수 있는 기본 소득 거래용 체인코드에 대한 정보 등을 포함할 수 있다.
도 1, 도 2, 도 4, 및 도 6의 (b)를 참조하면, 화폐 개혁에 관련된 체인코드 실행 원장은 화폐 개혁용 체인코드를 식별하기 위한 체인코드 ID(CIDR), 상기 화폐 개혁용 체인코드에 의해 발행된 화폐 개혁 디지털 통화를 식별하기 위한 디지털 통화 ID(DCIDR), 상기 화폐 개혁 디지털 통화를 발행(또는 처리)하기 위해 상기 화폐 개혁용 체인코드에 입력된 입력값(RD), 및 상기 화폐 개혁 디지털 통화를 발행한 뱅크 노드의 전자 서명(Sign_RD_BN)을 포함한다.
예를 들면, 발행 조건들에 해당하는 입력값(RD)은 화폐 개혁 디지털 통화의 총 발행량, 상기 화폐 개혁 디지털 통화의 종류, 상기 화폐 개혁 디지털 통화와 교환될 기존 디지털 통화와의 교환 비율, 상기 화폐 개혁 디지털 통화의 사용 시점, 및/또는 상기 화폐 개혁 디지털 통화를 처리할 수 있는 화폐 개혁 처리용 체인코드에 대한 정보 등을 포함할 수 있다.
도 1, 도 2, 도 4, 및 도 6의 (c)를 참조하면, 유산 상속에 관련된 체인코드 실행 원장은 유산 상속용 체인코드를 식별하기 위한 체인코드 ID(CIDI), 상기 유산 상속용 체인코드에 의해 발행된 디지털 통화를 식별하기 위한 디지털 통화 ID (DCIDI), 상기 디지털 통화를 처리하기 위해 상기 유산 상속용 체인코드에 입력된 입력값(IH), 및 상기 디지털 통화를 발행한 뱅크 노드의 전자 서명(Sign_IH_BN)을 포함한다.
예를 들면, 발행 조건들에 해당하는 입력값(IH)은 상속인에 대한 정보, 피상속인에 대한 정보, 상속될 디지털 통화의 양, 및/또는 상기 디지털 통화를 처리할 수 있는 상속 처리용 체인코드에 대한 정보 등을 포함할 수 있다.
예를 들면, 유산 상속의 경우처럼 법원의 판결문이 필요한 경우, 입력값(IH)은 신원 원장(210)에 등록된 법원에 의해 발행된 유산 상속 인증서를 더 포함할 수 있다. 여기서, 법원에 해당하는 노드의 디지털 ID와 공개키가 신원 원장(210)에 등록되어 있다면, 유산 상속 인증서를 발행한 상기 법원의 전자 서명은 신원 원장 (210)에 등록된 상기 법원에 해당하는 노드의 상기 공개키를 이용하여 증명된다.
예를 들면, 신뢰할 수 있는 기관(예를 들면, 관공서 또는 은행)의 디지털 ID와 공개키가 신원 원장(210)에 등록되어 있다면, 당해 인증서를 발행한 상기 기관의 전자 서명은 신원 원장(210)에 등록된 상기 기관의 공개키를 이용하여 증명된다.
도 6의 (a) 내지 도 6의 (c) 각각에 도시된 체인코드 실행 원장은 블록체인 합의에 의한 블록체인 방식에 따라 각 뱅크 노드(200-1~200-4)의 체인코드 실행 원장(230)에 등록될 수 있다.
도 7은 각 뱅크 노드에 포함된 디지털 통화 등록 원장을 나타낸다.
도 1, 도 2, 도 4, 및 도 7을 참조하면, 디지털 통화 등록 원장(240)에는 새로 발행된 디지털 통화에 대한 디지털 통화 발행 정보(RI, 이를 '디지털 통화 등록 정보'라고도 한다)가 등록된다. 각 뱅크 노드(200-1 내지 200-4)는 새로운 디지털 통화들 각각을 발행할 수 있는 발행권을 갖는 주체이다. 예를 들면, 디지털 통화들 각각은 서로 다른 통화 기호(예를 들면, \, $, £, ¥, €, BTC(or XBT), ETH, 등)로 표현될 수 있다.
디지털 통화 등록 원장(240)은 디지털 통화 발행 정보(RI)를 포함하고, 디지털 통화 발행 정보(RI)는 체인코드를 실행하여 발행된 디지털 통화를 식별하기 위한 디지털 통화 ID, 상기 디지털 통화의 발행량과 거래 조건을 포함하는 디지털 통화 정보, 및 상기 디지털 통화를 발행한 뱅크 노드의 전자 서명을 포함한다.
예를 들면, 제1뱅크 노드(200-1)가 체인코드 등록 원장(220)에 등록된 제1체인코드 ID(CID1)에 해당하는 제1체인코드(CC1)를 실행하여 제1디지털 통화 ID (DCID1)에 해당하는 제1디지털 통화를 발행한다고 가정한다. 제1디지털 통화를 발행하기 위한 체인코드 실행 정보(EI1)는 앞에서 설명한 각 뱅크 노드(200)의 체인코드 실행 원장(230)에 등록된다.
디지털 통화 등록 원장(240)에는 제1체인코드(CC1)가 실행됨에 따라 발행된 제1디지털 통화를 식별하기 위한 디지털 통화 ID(DCID1), 상기 제1디지털 통화의 발행량과 거래 조건을 포함하는 디지털 통화 정보(241), 및 상기 제1디지털 통화를 발행한 제1뱅크 노드(200-1)의 전자 서명(Sign_DCID1_BN)을 포함한다.
예를 들면, 발행량과 거래 조건을 포함하는 디지털 통화 정보(241)는 제1체인코드(CC1)에 의해 발행된(또는 발행될) 제1디지털 통화의 총 발행량(DCT), 상기 제1디지털 통화가 금융 거래될 때 거래 단위(DCU, 예를 들면, 소수점 몇째자리), 상기 제1디지털 통화와 다른 디지털 통화와의 거래 비율(또는 환률, DCR), 및 상기 제1디지털 통화를 이용하여 금융 거래하는데 필요한 디지털 통화 거래용 체인코드의 ID(TID, 예를 들면, 거래 당사자들 사이에서 금융 거래에 필요한 체인코드의 ID) 등을 포함한다.
실시 예에 따라, 발행량과 거래 조건을 포함하는 디지털 통화 정보(241)는, 제1체인코드(CC1)를 이용하여 제1디지털 통화가 발행될 때, 상기 제1디지털 통화의 발행을 담보하기 위한 담보 자산의 ID(AID, 예를 들면, 담보 자산 등록 원장(250)에 저장된 담보 자산 ID)를 더 포함할 수 있다.
실시 예들에 따라, 도 5의 입력값(231)과 디지털 통화 정보(241)는 서로 동일할 수도 있고 서로 다를 수도 있다.
도 8은 각 뱅크 노드에 포함된 담보 자산 등록 원장을 나타낸다.
담보 자산 등록 원장(250)은 각각의 담보 자산 등록 정보(ARI1과 ARI2)를 포함하고, 각각의 담보 자산 등록 정보(ARI1과 ARI2)는 담보 자산을 식별할 수 있는 담보 자산 ID, 담보 자산 정보, 및 서명 정보를 포함한다.
예를 들면, 제1뱅크 노드(200-1)에 의해 제1디지털 통화가 발행될 때, 담보자산 등록 원장(250)은 제1디지털 통화의 발행을 담보하기 위한 담보 자산을 식별할 수 있는 제1담보 자산 ID(AID1), 제1담보 자산 정보(A1I), 및 제1서명 정보 (Sign_AID1_BN)을 포함할 수 있다.
제1담보 자산 정보(A1I)는, 제1뱅크 노드(200-1)가 제1체인코드(CC1)를 이용하여 제1디지털 통화를 발행할 때, 제1뱅크 노드(200-1)에 의해 제공된 담보 자산의 종류(CAT), 상기 담보 자산의 양(CAA), 및 상기 담보 자산이 예치(이를 '보관'라고도 한다.)된 담보 자산 보관 은행 정보(CAB)를 포함한다.
제1담보 자산 정보(A1I)는, 담보 자산의 종류(CAT)가 금(gold)일 때, 몇 Kg의 금(CAA)이 어느 은행(CAB)에 보관되어 있는지를 나타낸다. 제1서명 정보 (Sign_AID1_BN)는 제1디지털 통화의 발행을 담보하기 위한 담보 자산을 등록한 제1뱅크 노드(200-1)의 전자 서명이다.
예를 들면, 제2뱅크 노드(200-2)에 의해 제2디지털 통화가 발행될 때, 담보자산 등록 원장(250)은 제2디지털 통화의 발행을 담보하기 위한 담보 자산을 식별할 수 있는 제2담보 자산 ID(AID2), 제2담보 자산 정보(A2I), 및 제2서명 정보 (Sign_AID2_BN)을 포함할 수 있다.
제2담보 자산 정보(A2I)는, 제2뱅크 노드(200-1)가 제11체인코드(CC11)를 이용하여 제2디지털 통화를 발행할 때, 제2뱅크 노드(200-2)에 의해 제공된 담보 자산의 종류, 상기 담보 자산의 양, 및 상기 담보 자산이 보관된 담보 자산 보관 은행 정보를 포함한다.
제2담보 자산 정보(A2I)는, 담보 자산의 종류가 US 달러일 때, 얼마만큼의 US 달러가 어느 은행에 보관되어 있는지를 나타낸다. 제2서명 정보(Sign_AID2_BN)는 제2디지털 통화의 발행을 담보하기 위한 담보 자산을 등록한 제2뱅크 노드(200-2)의 전자 서명이다.
도 9는 각 뱅크 노드에 포함된 이벤트 소스 원장을 나타낸다. 도 1, 도 2, 및 도 9를 참조하면, 각 디지털 통화 원장(261, 263, …, 및 265)은 각 디지털 통화를 이용한 금융 거래 내역을 등록하고, 각 이벤트 소스 원장(261a, 263a, …, 및 265a)와 각 요약 원장(261b, 263b, …, 및 265b)을 포함한다.
예를 들면, 디지털 통화 원장과 요약 원장은 블록체인 합의에 의해 생성되는 것이 아니고 체인코드의 실행으로 생성된다. 요약 원장은 데이터베이스에 저장되는 데이터이고, 뱅크 노드가 만들기 때문에 블록체인 합의도 필요 없고, 블록체인 형태도 아니다. 디지털 통화 원장에 거래 내역이 기록될 때 상기 거래 내역은 블록체인 합의에 의한 블록체인 방식으로 기록 또는 등록된다.
당해 이벤트 소스 원장(261a, 263a, …, 또는 265a)은 당해 디지털 통화를 이용한 당사자들 사이의 모든 거래 내역을 블록체인 형태로 저장하는 거래 원장이고, 각 요약 원장 (261b, 263b, …, 또는 265b)은 당해 이벤트 소스 원장(261a, 263a, …, 또는 265a)에 저장된 상기 당사자들 사이의 모든 거래 내역 중에서 일부 거래 내역(예를 들면, 계좌 잔고)만을 포함하는 거래 원장이다.
뱅크 노드들(200-1 내지 200-4) 중에서 어느 하나의 뱅크 노드가 그 안에 저장된 체인코드 등록 원장(220)에 등록된 체인코드들(CC1~CC40) 중에서 어느 하나의 디지털 통화 발행용 체인코드를 실행시켜 디지털 통화를 발행하면, 상기 디지털 통화 발행용 체인코드가 실행됨에 따라 생성된 체인코드 실행 정보(EI1 또는 EI2)는 블록체인 합의에 의한 블록체인 방식으로 각 뱅크 노드(200-1 내지 200-4)의 체인코드 실행 원장(230)에 등록되고, 발행된 디지털 통화에 대한 디지털 통화 발행 정보(RI)는 블록체인 합의에 의한 블록체인 방식으로 각 뱅크 노드(200-1 내지 200-4)의 디지털 통화 등록 원장(240)에 등록되고, 상기 디지털 통화의 발행을 담보하기 위한 담보 자산 등록 정보(ARI1 또는 ARI2)는 블록체인 합의에 의한 블록체인 방식으로 각 뱅크 노드(200-1 내지 200-4)의 담보 자산 등록 원장(250)에 등록된다.
발행된 디지털 통화에 대한 디지털 통화 발행 정보(RI)가 블록체인 합의에 의한 블록체인 방식으로 각 뱅크 노드(200-1 내지 200-4)의 디지털 통화 등록 원장(240)에 등록되면, 상기 디지털 통화의 거래 원장에 해당하는 디지털 통화 원장 (261, 263, …, 또는 265)이 블록체인 방식(예를 들면, 블록체인 합의가 불필요)으로 각 뱅크 노드(200-1 내지 200-4)에 새롭게 생성되고 등록된다.
앞에서 설명한 바와 같이, 각 디지털 통화 발행용 체인코드의 실행에 따라 각 디지털 통화가 발행되면, 상기 각 디지털 통화의 각 거래 원장에 해당하는 각 디지털 통화 원장은 블록체인 방식으로 각 뱅크 노드(200-1 내지 200-4)에 등록된다.
예를 들면, 제1뱅크 노드(200-1)가 제1체인코드(CC1)를 실행시켜 제1디지털 통화를 발행하면, 상기 제1디지털 통화의 거래 원장에 해당하는 제1디지털 통화 원장(261)은 블록체인 방식으로 각 뱅크 노드(200-1 내지 200-4)에 등록된다.
제1디지털 통화 원장(261)은 제1이벤트 소스 원장(261a)과 제1요약 원장 (261b)을 포함한다. 제1이벤트 소스 원장(261a)은 제1디지털 통화를 이용한 금융 거래에 참여하는 노드들(또는 당사자들) 사이에서 이루어진 모든 거래 내역을 블록체인 형태로 기록한 거래 원장이고, 제1요약 원장(261b)은 제1이벤트 소스 원장(261a)에 기록된 모든 거래 내역에 기초하여 디지털 ID별로 추출된 현재의 계좌 잔고를 포함하는 거래 원장이다.
예를 들면, 제2뱅크 노드(200-2)가 제11체인코드(CC11)를 실행시켜 제2디지털 통화를 발행하면, 상기 제2디지털 통화의 거래 원장에 해당하는 제2디지털 통화 원장(263)은 블록체인 방식으로 각 뱅크 노드(200-1 내지 200-4)에 등록된다.
제2디지털 통화 원장(263)은 제2이벤트 소스 원장(263a)과 제2요약 원장 (263b)을 포함한다. 제2이벤트 소스 원장(263a)은 제2디지털 통화를 이용한 금융 거래에 참여하는 노드들 사이에서 이루어진 모든 거래 내역을 블록체인 형태로 기록한 거래 원장이고, 제2요약 원장(263b)은 제2이벤트 소스 원장(263a)에 기록된 모든 거래 내역에 기초하여 디지털 ID별로 추출된 현재의 계좌 잔고를 포함하는 거래 원장이다.
예를 들면, 제3뱅크 노드(200-3)가 제21체인코드(CC21)를 실행시켜 제3디지털 통화를 발행하면, 상기 제3디지털 통화의 거래 원장에 해당하는 제3디지털 통화 원장(265)이 블록체인 방식으로 각 뱅크 노드(200-1 내지 200-4)에 등록된다.
제3디지털 통화 원장(265)은 제3이벤트 소스 원장(265a)과 제3요약 원장 (265b)을 포함한다. 제3이벤트 소스 원장(265a)은 제3디지털 통화를 이용한 금융 거래에 참여하는 노드들 사이에서 이루어진 모든 거래 내역을 블록체인 형태로 기록한 거래 원장이고, 제3요약 원장(265b)은 제3이벤트 소스 원장(265a)에 기록된 모든 거래 내역에 기초하여 디지털 ID별로 추출된 현재의 계좌 잔고를 포함하는 거래 원장이다.
도 9를 참조하면, 이벤트 소스 원장(ESL, 예컨대, 이벤트 소스 원장들(261a, 263a, …, 및 265a) 중 어느 하나)은 특정한 디지털 통화를 식별하기 위한 디지털 통화 ID, 송금인 디지털 ID, 수령인 디지털 ID, 송금할 토큰, 및 송금인 전자 서명을 포함한다.
제1뱅크 노드(200-1)에 의해 발행된 제1디지털 통화를 이용하여 제1모바일 노드(300-1, 이를 송금 노드 또는 송금인이라 한다.)가 제2모바일 노드(300-2, 이를 수령 노드 또는 수령인이라 한다.)에게 상기 제1디지털 통화로 표시된 일정한 양의 토큰(token)을 송금한다고 가정한다.
토큰은 전자 화폐(electronic money), 디지털 화폐(digital currency), 암호 화폐(cryptocurrency), 가상 화폐, 또는 디지털 자산(digital asset)를 의미하나 이에 한정되는 것은 아니다.
제1디지털 통화 원장(261)에 포함된 제1이벤트 소스 원장(ESL, 즉 261a)은 제1체인코드(CC1)의 실행에 의해 발행된 제1디지털 통화를 식별하기 위한 디지털 통화 ID(DCID1), 제1모바일 노드(300-1)의 디지털 ID(S_DIDa), 제2모바일 노드 (300-2)의 디지털 ID(R_DIDa), 송금 토큰(T_AMTa), 및 제1모바일 노드(300-1)의 사용자의 전자 서명(Sign_S_DIDa)을 포함한다.
도 1, 도 2, 및 도 9를 참조하면, 송금인에 해당하는 제1모바일 노드(300-1)가 수령인에 해당하는 제2모바일 노드(300-2)로 제1디지털 통화로 표시된 토큰을 송금하기 위한 과정들은 아래와 같다.
각 모바일 노드(300-1과 300-2)는 제1뱅크 노드(200 또는 200-1)의 체인코드 등록 원장(220)으로부터 제1디지털 통화를 이용한 금융 거래를 위한 제2체인코드 (Chaincode_X=CC2), 제1뱅크 노드(200 또는 200-1)의 디지털 통화 등록 원장(240)으로부터 상기 제1디지털 통화의 디지털 통화 발행 정보(RI), 및 제1뱅크 노드(200 또는 200-1)의 제1디지털 통화 원장(261)에 포함된 제1요약 원장(261b)을 다운로드 받는다고 가정한다.
도 10은 각 뱅크 노드와 특정 모바일 노드에 포함된 요약 원장을 나타낸다. 도 10을 참조하면, 요약 원장(261b, 263b, …, 또는 265b, 총칭하여 SL)은 신원 원장(210)에 등록된 디지털 ID(예를 들면, DIDm1)에 해당하는 제1사용자(USER1)의 계좌 잔고(BLA1)와 계좌 잔고(BLA1)를 증명한(또는 요약 원장(SL, 261b, 263b, …, 또는 265b)을 생성한) 뱅크 노드의 전자 서명(Sign_BAL1_BN)를 포함하고, 신원 원장(210)에 등록된 디지털 ID(예를 들면, DIDm2)에 해당하는 제2사용자(USER2)의 계좌 잔고(BLA2)와 계좌 잔고(BLA2)를 증명한(또는 요약 원장(SL, 261b, 263b, …, 또는 265b)을 생성한) 뱅크 노드의 전자 서명(Sign_BAL2_BN)를 포함한다.
제1모바일 노드(300-1)는 제1요약 원장(SL, 또는 261b)으로부터 제1모바일 노드(300-1)의 계좌 잔고(BAL1)와 제2모바일 노드(300-2)의 계좌 잔고(BAL2)를 확인한다.
제1사용자(USER1)에 해당하는 제1모바일 노드(300-1)가 제2사용자(USER)에 해당하는 제2모바일 노드(300-2)로 제1디지털 통화로 표현되는 토큰(T_AMTa)을 전송하기 위한 트랜잭션(transaction)을 생성하고, 상기 트랜잭션에 전자 서명 후, 전자 서명된 트랜잭션을 블록체인 네트워크(110)로 퍼블리시 한다. 상기 트랜잭션은 제1모바일 노드(300-1)의 디지털 ID(S_DIDa=USER1), 제2모바일 노드(300-2)의 디지털 ID(R_DIDa=USER2), 및 토큰(T_AMTa)을 포함하는 거래 내역을 포함한다.
블록체인 네트워크(110)에서 블록 생성자 선택 프로토콜에 의해 새로운 블록을 생성할 노드로 선택된 제1뱅크 노드(220-1)는 거래 내역(transactional information)을 포함하는 다음 블록 정보를 생성하고, 상기 다음 블록 정보를 포함하는 블록 제안을 블록체인 네트워크(110)에 포함된 모든 노드들(200-1~200-4, 300-1, 및 300-2)로 전송한다.
블록 제안을 수신한 각 노드(200-1~200-4, 300-1, 및 300-2)는 상기 블록 제안의 내용을 검토하고, 상기 블록 제안의 내용에 이상이 없으면(또는 상기 블록 제안의 내용에 동의하면) 상기 블록 제안에 대한 동의서를 작성하고(또는 자기 개인키를 이용하여 상기 블록 제안에 전자 서명하고), 상기 동의서를 포함하는 상기 블록 제안(또는 전자 서명된 블록 제안)을 제1뱅크 노드(220-1)로 전송한다.
제1뱅크 노드(220-1)는, 각 노드(200-1~200-4, 300-1, 및 300-2)로부터 전달된 동의서에 기초하여, 블록체인의 다음 블록(next block)을 생성하고, 업데이트 내역에 따라 제1이벤트 소스 원장(261a)과 제1요약 원장(261b)을 업데이트하고, 제1이벤트 소스 원장(261a)과 제1요약 원장(261b)을 블록체인 네트워크(110)에 퍼블리시한다.
예를 들면, 업데이트 내역(즉, 송금 토큰(T_AMTa))에 따라 제1뱅크 노드 (220-1)는 제1사용자(USER1)에 해당하는 제1모바일 노드(300-1)의 계좌 잔고(BAL1)를 송금 토큰(T_AMTa)만큼 감소시키고, 제2사용자(USER)에 해당하는 제2모바일 노드(300-2)의 계좌 잔고(BAL2)를 송금 토큰(T_AMTa)만큼 증가시킨다.
제1뱅크 노드(220-1)는 업데이트된 계좌 잔고(BAL1과 BAL2)에 전자 서명 (Sign_BAL1_BN와 Sign_BAL2_BN)을 하고, 전자 서명(Sign_BAL1_BN와 Sign_BAL2_BN)을 포함하는 업데이트된 계좌 잔고(BAL1과 BAL2)를 각 모바일 노드(300-1과 300-2)로 전송한다. 각 전자 서명(Sign_BAL1_BN와 Sign_BAL2_BN)은 동일한 전자 서명일 수 있다.
각 모바일 노드(300-1과 300-2)는, 업데이트된 계좌 잔고(BAL1과 BAL2)에 따라, 자기가 가지고 있는 제1요약 원장(261b)을 업데이트한다.
다른 실시 예에 따라, 제1뱅크 노드(200-1)는 체크 포인트(check point)를 생성하고, 상기 체크 포인트의 수용 여부에 대한 제안(proposal)을 뱅크 노드들 (200-1~200-4)로 퍼블리시한다.
뱅크 노드들(200-1~200-4) 각각은 체크 포인트의 수용 여부에 대한 제안을 수신한 후, 상기 제안에 대한 동의 여부를 퍼블리시한다. 뱅크 노드들(200-1~200-4)의 과반수 이상의 동의를 얻은 제안이 채택되면, 채택된 체크 포인트는 디지털 통화 원장(261, 263, …, 또는 265)의 제네시스 블록(genesis block)에 저장(또는 이전 체크 포인트를 채택된 체크 포인트로 업데이트)한다. 이때, 제네시스 블록에는 디지털 ID별 계좌 잔고가 기록된다. 이후, 각 뱅크 노드(200-1~200-4)는 체크 포인트 이전의 블록체인의 데이터를 삭제하고, 제네시스 블록의 다음 블록 포인터는 체크 포인트를 가리키게 된다.
도 10을 참조하여 설명한 바와 같이, 제1요약 원장(SL 또는 261b)은 사용자(USER1과 USER2)별 현재의 계좌 잔고(BAL1과 BAL2)를 포함한다.
도 11은 도 1에 도시된 블록 체인 시스템의 작동을 설명하기 위한 플로우차트이다. 도 1 내지 도 11을 참조하면, 각 뱅크 노드(200-1~200-4)는 블록체인 네트워크(110)에 포함된 모든 노드들(200-1~200-4, 300-1, 및 300-2) 각각의 디지털 ID (DID1~DID4, DIDm1, 및 DIDm2)와 공개키(PuK1~PuK4, PuKm1, 및 PuKm2)를 스스로가 가지고 있는 신원 원장(210)에 블록체인 합의에 의한 블록체인 방식으로 등록한다(S110).
앞에서 설명한 바와 같이, 각 노드(200-1~200-4, 300-1, 및 300-2)의 디지털 ID(DID1~DID4, DIDm1, 및 DIDm2)는 각 노드(200-1~200-4, 300-1, 및 300-2)를 유일무이하게 식별할 수 있는 신원 정보를 의미하므로, 디지털 통화를 처리(예를 들면, 송금, 금융 거래, 또는 지불)할 때, 당사자들(예를 들면, 송금자, 수령인, 및 중개 뱅크) 각각의 신원은 확인될 수 있다.
각 뱅크 노드(200-1~200-4)는 각 체인코드(CC1~CC40)에 대한 합의를 통해 각 체인코드(CC1~CC40)를 각 뱅크 노드(200-1~200-4)의 체인코드 등록 원장(220)에 블록체인 합의에 의한 블록체인 방식으로 등록한다(S120). 각 체인코드(CC1~CC40)는 디지털 통화를 발행하는 디지털 통화 발행용 체인코드 또는 디지털 통화를 처리하는 디지털 통화 처리용 체인코드일 수 있다.
뱅크 노드들(200-1~200-4) 중에서 어느 하나의 뱅크 노드(예컨대, 200-1)가 체인코드 등록 원장(220)에 등록된 체인코드들(CC1~CC4) 중에서 어느 하나(예컨대, 제1체인코드(CC1))를 실행하여 특정한 디지털 통화(예컨대, 제1디지털 통화)를 발행하고자 할 때, 뱅크 노드(200-1)는 상기 제1디지털 통화의 발행을 담보하기 위한 담보 자산을 제공할 수도 있다.
뱅크 노드(200-1)에 의해 담보 자산이 제공되면, 상기 담보 자산에 대한 담보 자산 등록 정보(ARI1 또는 ARI2)는 각 뱅크 노드(200-1~200-4)의 담보 자산 등록 원장(250)에 블록체인 합의에 의한 블록체인 방식으로 등록된다(S130). 실시 예들에 따라, 담보 자산을 제공하는 단계(S130)은 실행될 수도 있고 실행되지 않을 수도 있다.
뱅크 노드(200-1)가 제1체인코드(CC1)를 실행시켜 제1디지털 통화를 발행하면, 상기 제1디지털 통화의 발행에 관련된 디지털 통화 발행 정보(RI)는 각 뱅크 노드(200-1~200-4)의 디지털 통화 등록 원장(240)에 블록체인 합의에 의한 블록체인 방식으로 등록된다(S140).
뱅크 노드(200-1)에 의해 실행된 제1체인코드(CC1)에 의해 제1디지털 통화가 발행되면, 제1체인코드(CC1)의 실행 결과에 따라 생성된 체인코드 실행 정보(EI1 또는 EI2)는 각 뱅크 노드(200-1~200-4)의 체인코드 실행 원장(230)에 블록체인 합의에 의한 블록체인 방식으로 등록된다(S150).
실시 예들에 따라, 단계들(S140과 S150)은 병렬적으로 수행될 수도 있고, 체인코드 실행 원장(230)에 등록하는 단계(S150)은 디지털 통화 등록 원장(240)에 등록하는 단계(S140)보다 먼저 수행될 수도 있다.
모바일 모드들(300-1과 300-2) 각각은 체인코드 등록 원장(220)으로부터 제1디지털 통화를 처리하기 위한 디지털 통화 처리용 체인코드(예컨대, 제2체인코드 (CC2)), 디지털 통화 등록 원장(240)으로부터 상기 제1디지털 통화에 관련된 디지털 통화 발행 정보(RI, 또는 디지털 통화 정보(241)), 및 현재의 계좌 잔액을 포함하는 제1요약 원장(261b)을 다운로드 했다고 가정한다.
뱅크 노드(200-1)와 모바일 모드들(300-1과 300-2) 사이에서 제1디지털 통화를 처리할 수 있는 제2체인코드(CC2), 즉 제1디지털 통화 처리용 체인코드를 이용한 디지털 통화 처리 작동이 수행될 때마다, 모든 거래 내역(또는 모든 거래 데이터)은 각 뱅크 노드(200-1~200-4)의 제1이벤트 소스 원장(261a)에 블록체인 합의에 의한 블록체인 방식으로 기록(또는 업데이트)되고(S160), 상기 모든 거래 내역 중에서 특정한 거래 내역 (예를 들면, 현재의 계좌 잔고)는 제1요약 원장(261b)에 기록(또는 업데이트)된다(S160).
앞에서 설명한 바와 같이 뱅크 노드(200-1)는 업데이트된 계좌 잔고 또는 업데이트된 요약 원장을 모바일 노드들(300-1과 300-2)로 전송한다(S170). 따라서, 모바일 노드들(300-1과 300-2) 각각은 제1요약 원장(261b)의 내용을 업데이트된 계좌 잔고에 따라 업데이트하거나, 이전의 제1요약 원장(261b)을 업데이트된 요약 원장으로 업데이트한다.
본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
100: 블록체인 시스템
110: 블록체인 네트워크
200, 200-1, 200-2, 200-3, 200-4: 뱅크 노드
210: 신원 원장
220: 체인코드 등록 원장
230: 체인코드 실행 원장
240: 디지털 통화 등록 원장
250: 담보 자산 등록 원장
261, 263, 265: 디지털 통화 원장
261a, 263a, 265a: 이벤트 소스 원장
261b, 263b, 265b: 요약 원장
300, 300-1, 300-2: 모바일 노드

Claims (32)

  1. 삭제
  2. 뱅크 노드들; 및
    모바일 노드들을 포함하고,
    상기 뱅크 노드들 각각은,
    상기 뱅크 노드들 각각의 공개키와 상기 뱅크 노드들 각각의 사용자의 신원을 식별하기 위한 디지털 ID, 및 상기 모바일 노드들 각각의 공개키와 상기 모바일 노드들 각각의 신원을 식별하기 위한 디지털 ID를 포함하는 신원 원장; 및
    상기 뱅크 노드들에 의해 생성된 체인코드들이 상기 뱅크 노드들과 상기 모바일 노드들의 합의에 따라 등록된 체인코드 등록 원장을 포함하고,
    상기 체인코드들은,
    디지털 통화를 발행하기 위한 디지털 통화 발행용 체인코드; 및
    상기 모바일 노드들 중에서 상기 디지털 통화를 이용하여 거래를 원하는 적어도 하나의 모바일 노드로 다운로드 되는 디지털 통화 거래용 체인코드를 포함하는 블록체인 시스템.
  3. 제2항에 있어서,
    상기 뱅크 노드들 각각은 체인코드 실행 원장을 더 포함하고,
    상기 뱅크 노드들 중에서 어느 하나의 뱅크 노드가 상기 체인코드 등록 원장에 등록된 상기 디지털 통화 발행용 체인코드를 실행하면,
    상기 뱅크 노드들 각각은 제1디지털 통화의 발행 조건들과 발행 여부를 포함하는 체인코드 실행 정보를 블록체인 합의에 의한 블록체인 방식으로 상기 뱅크 노드들 각각에 포함된 상기 체인코드 실행 원장에 등록하는 블록체인 시스템.
  4. 제3항에 있어서,
    상기 체인코드 실행 정보는 상기 디지털 통화의 총 발행량, 상기 디지털 통화의 거래 단위, 및 상기 디지털 통화 거래용 체인코드의 ID를 포함하는 블록체인 시스템.
  5. 제2항에 있어서,
    상기 뱅크 노드들 각각은 담보 자산 등록 원장을 더 포함하고,
    상기 뱅크 노드들 중에서 어느 하나의 뱅크 노드가 상기 체인코드 등록 원장에 등록된 상기 디지털 통화 발행용 체인코드를 실행하여 상기 디지털 통화를 발행할 때,
    상기 어느 하나의 뱅크 노드가 상기 디지털 통화의 발행을 담보하기 위한 담보 자산에 대한 담보 자산 등록 정보를 생성하면, 상기 뱅크 노드들 각각은 상기 담보 자산 등록 정보를 블록체인 합의에 의한 블록체인 방식으로 상기 뱅크 노드들 각각에 포함된 상기 담보 자산 등록 원장에 등록하는 블록체인 시스템.
  6. 제5항에 있어서,
    상기 담보 자산 등록 정보는 상기 담보 자산의 종류, 상기 담보 자산의 양, 및 상기 담보 자산이 보관된 담보 자산 보관 은행 정보를 포함하는 블록체인 시스템.
  7. 제2항에 있어서,
    상기 뱅크 노드들 각각은 디지털 통화 등록 원장을 더 포함하고,
    상기 뱅크 노드들 중에서 어느 하나의 뱅크 노드가 상기 체인코드 등록 원장에 등록된 상기 디지털 통화 발행용 체인코드를 실행하여 상기 디지털 통화를 발행하고, 발행된 디지털 통화의 발행량과 거래 조건을 포함하는 디지털 통화 발행 정보를 생성하고,
    상기 뱅크 노드들 각각은 상기 디지털 통화 발행 정보를 블록체인 합의에 의한 블록체인 방식으로 상기 뱅크 노드들 각각에 포함된 상기 디지털 통화 등록 원장에 등록하는 블록체인 시스템.
  8. 제7항에 있어서,
    상기 디지털 통화 발행 정보는 상기 디지털 통화의 ID, 상기 디지털 통화의 총 발행량, 상기 디지털 통화의 거래 단위, 및 상기 디지털 통화 거래용 체인코드의 ID를 포함하는 블록체인 시스템.
  9. 제7항에 있어서,
    상기 디지털 통화 발행 정보는 상기 적어도 하나의 모바일 노드로 다운로드 되는 블록체인 시스템.
  10. 뱅크 노드들; 및
    모바일 노드들을 포함하고,
    상기 뱅크 노드들 각각은,
    상기 뱅크 노드들 각각의 공개키와 상기 뱅크 노드들 각각의 사용자의 신원을 식별하기 위한 디지털 ID, 및 상기 모바일 노드들 각각의 공개키와 상기 모바일 노드들 각각의 신원을 식별하기 위한 디지털 ID를 포함하는 신원 원장; 및
    디지털 통화 원장들을 포함하고,
    상기 디지털 통화 원장들 중에서 제1디지털 통화 원장은 서로 다른 디지털 통화들 중에서 제1디지털 통화를 이용하여 거래 당사자들 사이에서 이루어진 거래 내역을 저장하고,
    상기 뱅크 노드들 각각은 상기 거래 내역을 블록체인 합의에 의한 블록체인 방식으로 상기 뱅크 노드들 각각에 포함된 상기 제1디지털 통화 원장에 등록하고,
    상기 거래 당사자들은 상기 뱅크 노드들 중에서 적어도 하나의 뱅크 노드와 상기 모바일 노드들 중에서 적어도 하나의 모바일 노드를 포함하는 블록체인 시스템.
  11. 제10항에 있어서, 상기 제1디지털 통화 원장은,
    상기 거래 당사자들 사이에서 이루어진 상기 거래 내역의 전부를 블록체인 형태로 저장하는 이벤트 소스 원장; 및
    상기 거래 당사자들 사이에서 이루어진 상기 거래 내역의 전부 중에서 일부의 거래 내역을 저장하는 요약 원장을 포함하는 블록체인 시스템.
  12. 제11항에 있어서,
    상기 일부의 거래 내역 또는 상기 요약 원장은 상기 적어도 하나의 모바일 노드로 다운로드 되는 블록체인 시스템.
  13. 삭제
  14. 뱅크 노드들과 모바일 노드들을 포함하는 블록체인 네트워크를 포함하는 블록체인 시스템의 작동 방법에 있어서,
    상기 뱅크 노드들 각각이 상기 뱅크 노드들 각각의 공개키와 상기 뱅크 노드들 각각의 신원을 식별하기 위한 디지털 ID를 상기 블록체인 네트워크에 퍼블리시하는 단계;
    상기 모바일 노드들 각각이 상기 모바일 노드들 각각의 공개키와 상기 모바일 노드들 각각의 신원을 식별하기 위한 디지털 ID를 상기 블록체인 네트워크에 퍼블리시하는 단계;
    상기 뱅크 노드들 각각이 상기 뱅크 노드들 각각의 공개키와 상기 뱅크 노드들 각각의 신원을 식별하기 위한 디지털 ID, 및 상기 모바일 노드들 각각의 공개키와 상기 모바일 노드들 각각의 신원을 식별하기 위한 디지털 ID를 수신하여 상기 뱅크 노드들 각각에 포함된 신원 원장에 등록하는 단계;
    각 뱅크 노드가 체인코드들을 생성하여 상기 블록체인 네트워크에 퍼블리시하는 단계; 및
    상기 각 뱅크 노드가 상기 각 뱅크 노드에 의해 퍼블리시된 체인코드들을 상기 뱅크 노드들과 상기 모바일 노드들의 합의에 따라 상기 각 뱅크 노드에 포함된 체인코드 등록 원장에 등록하는 단계를 포함하고,
    상기 체인코드들은,
    디지털 통화를 발행하기 위한 디지털 통화 발행용 체인코드; 및
    상기 모바일 노드들 중에서 상기 디지털 통화를 이용하여 거래를 원하는 적어도 하나의 모바일 노드로 다운로드 되는 디지털 통화 거래용 체인코드를 포함하는 블록체인 시스템의 작동 방법.
  15. 모바일 노드들과 각각이 디지털 통화 원장들을 포함하는 뱅크 노드들을 포함하는 블록체인 네트워크를 포함하는 블록체인 시스템의 작동 방법에 있어서,
    상기 뱅크 노드들 각각이 상기 뱅크 노드들 각각의 공개키와 상기 뱅크 노드들 각각의 신원을 식별하기 위한 디지털 ID를 상기 블록체인 네트워크에 퍼블리시하는 단계;
    상기 모바일 노드들 각각이 상기 모바일 노드들 각각의 공개키와 상기 모바일 노드들 각각의 신원을 식별하기 위한 디지털 ID를 상기 블록체인 네트워크에 퍼블리시하는 단계;
    상기 뱅크 노드들 각각이 상기 뱅크 노드들 각각의 공개키와 상기 뱅크 노드들 각각의 신원을 식별하기 위한 디지털 ID, 및 상기 모바일 노드들 각각의 공개키와 상기 모바일 노드들 각각의 신원을 식별하기 위한 디지털 ID를 수신하여 상기 뱅크 노드들 각각에 포함된 신원 원장에 등록하는 단계; 및
    상기 뱅크 노드들 각각이 디지털 통화들 중에서 제1디지털 통화를 이용하여 거래 당사자들 사이에서 이루어진 거래 내역을 상기 디지털 통화 원장들 중에서 제1디지털 통화 원장에 저장하는 단계를 포함하고,
    상기 거래 당사자들은 상기 뱅크 노드들 중에서 적어도 하나의 뱅크 노드와 상기 모바일 노드들 중에서 적어도 하나의 모바일 노드를 포함하는 블록체인 시스템의 작동 방법.
  16. 제15항에 있어서,
    상기 제1디지털 통화 원장은 이벤트 소스 원장과 요약 원장을 포함하고,
    상기 제1디지털 통화 원장에 저장하는 단계는,
    상기 뱅크 노드들 각각이 상기 거래 당사자들 사이에서 이루어진 상기 거래 내역의 전부를 블록체인 형태로 상기 이벤트 소스 원장에 저장하는 단계; 및
    상기 거래 당사자들 사이에서 이루어진 상기 거래 내역의 전부 중에서 일부의 거래 내역을 추출하여 추출된 거래 내역을 상기 요약 원장에 저장하는 단계를 포함하는 블록체인 시스템의 작동 방법.
  17. 제1디지털 통화 원장을 포함하는 제1뱅크 노드가 제1디지털 통화를 발행하는 단계;
    상기 제1디지털 통화 원장과 동일한 제2디지털 통화 원장을 포함하는 제2뱅크 노드가 제2디지털 통화를 발행하는 단계;
    모바일 노드들이 상기 제1디지털 통화를 이용하여 거래하는 단계;
    상기 제1뱅크 노드가 상기 제1디지털 통화를 이용하여 상기 모바일 노드들 사이에서 이루어진 거래 내역을 상기 제1디지털 통화 원장에 등록하는 단계; 및
    상기 제2뱅크 노드가 상기 거래 내역을 상기 제2디지털 통화 원장에 등록하는 단계를 포함하는 블록체인 시스템의 작동 방법.
  18. 제17항에 있어서,
    상기 제1디지털 통화 원장은 제1이벤트 소스 원장과 제1요약 원장을 포함하고,
    상기 제1디지털 통화 원장에 등록하는 단계는,
    상기 제1뱅크 노드가 상기 거래 내역의 전부를 블록체인 형태로 상기 제1이벤트 소스 원장에 등록하는 단계; 및
    상기 제1뱅크 노드가 상기 제1이벤트 소스 원장에 등록된 상기 거래 내역의 전부로부터 일부를 추출하고, 추출된 일부 거래 내역을 상기 제1요약 원장에 등록하는 단계를 포함하는 블록체인 시스템의 작동 방법.
  19. 제18항에 있어서,
    상기 제1뱅크 노드가 상기 추출된 일부 거래 내역 또는 상기 제1요약 원장을 상기 모바일 노드들 중에서 적어도 하나로 전송하는 단계를 더 포함하는 블록체인 시스템의 작동 방법.
  20. 제17항에 있어서,
    상기 제1뱅크 노드는 제1체인코드 등록 원장을 더 포함하고,
    상기 제2뱅크 노드는 상기 제1체인코드 등록 원장와 동일한 제2체인코드 등록 원장을 더 포함하고,
    상기 제1뱅크 노드가 상기 제1디지털 통화를 발행할 수 있는 제1체인코드를 상기 제1뱅크 노드, 상기 제2뱅크 노드, 및 상기 모바일 노드를 포함하는 블록체인 네트워크에 퍼블리시하는 단계; 및
    상기 제1뱅크 노드와 상기 제2뱅크 노드 각각이, 상기 블록체인 네트워크에 포함된 모든 노드들로부터 전송된 상기 제1체인코드에 대한 합의에 기초하여, 상기 제1체인코드를 상기 제1체인코드 등록 원장과 상기 제2체인코드 등록 원장 각각에 등록하는 단계를 더 포함하는 블록체인 시스템의 작동 방법.
  21. 제17항에 있어서, 상기 제1디지털 통화를 이용하여 거래하는 단계는,
    상기 모바일 노드들 각각이 상기 제1뱅크 노드와 상기 제2뱅크 노드 중에서 어느 하나로부터 상기 제1디지털 통화를 이용한 거래에 사용되는 디지털 통화 거래용 체인코드를 다운로드 받는 단계; 및
    상기 모바일 노드들이 다운로드된 상기 디지털 통화 거래용 체인코드를 이용하여 상기 거래를 수행하는 단계를 포함하는 블록체인 시스템의 작동 방법.
  22. 제17항에 있어서,
    상기 제1뱅크 노드는 제1체인코드 실행 원장을 더 포함하고,
    상기 제2뱅크 노드는 상기 제1체인코드 실행 원장와 동일한 제2체인코드 실행 원장을 더 포함하고,
    상기 제1뱅크 노드가 상기 제1디지털 통화를 발행할 수 있는 제1체인코드를 실행하여 상기 실행의 결과에 해당하는 체인코드 실행 정보를 생성하는 단계; 및
    상기 제1뱅크 노드와 상기 제1뱅크 노드 각각이 블록체인 합의에 의한 블록체인 방식으로 상기 체인코드 실행 정보를 상기 제1체인코드 실행 원장과 상기 제2체인코드 실행 원장 각각에 등록하는 단계를 더 포함하고,
    상기 체인코드 실행 정보는 상기 제1디지털 통화의 발행 조건들과 발행 여부를 포함하는 블록체인 시스템의 작동 방법.
  23. 제17항에 있어서,
    상기 제1뱅크 노드는 제1담보 자산 등록 원장을 더 포함하고,
    상기 제2뱅크 노드는 상기 제1담보 자산 등록 원장과 동일한 제2담보 자산 등록 원장을 더 포함하고,
    상기 제1뱅크 노드가 상기 제1디지털 통화의 발행을 담보하는 담보 자산에 대한 담보 자산 등록 정보를 생성하는 단계; 및
    상기 제1뱅크 노드와 상기 제2뱅크 노드 각각이 블록체인 합의에 의한 블록체인 방식으로 상기 담보 자산 등록 정보를 상기 제1담보 자산 등록 원장과 상기 제2담보 자산 등록 원장 각각에 저장하는 단계를 더 포함하는 블록체인 시스템의 작동 방법.
  24. 제17항에 있어서,
    상기 제1뱅크 노드는 제1디지털 통화 등록 원장을 더 포함하고,
    상기 제2뱅크 노드는 상기 제1디지털 통화 등록 원장와 동일한 제2디지털 통화 등록 원장을 더 포함하고,
    상기 제1뱅크 노드가 상기 제1디지털 통화를 발행할 수 있는 제1체인코드를 실행하여 발행된 디지털 통화에 대한 디지털 통화 발행 정보를 생성하는 단계; 및
    상기 제1뱅크 노드와 상기 제2뱅크 노드 각각이 블록체인 합의에 의한 블록체인 방식으로 상기 디지털 통화 발행 정보를 상기 제1디지털 통화 등록 원장과 상기 제2디지털 통화 등록 원장 각각에 저장하는 단계를 더 포함하고,
    상기 디지털 통화 발행 정보는 발행된 제1디지털 통화의 발행량과 거래 조건을 포함하는 블록체인 시스템의 작동 방법.
  25. 제1뱅크 노드, 제2뱅크 노드, 및 모바일 노드들을 포함하는 블록체인 네트워크를 포함하는 블록체인 시스템의 작동 방법에 있어서,
    제1체인코드 등록 원장을 포함하는 상기 제1뱅크 노드가 제1디지털 통화를 발행할 수 있는 제1체인코드를 생성하는 단계;
    상기 제1체인코드 등록 원장과 동일한 제2체인코드 등록 원장을 포함하는 제2뱅크 노드가 제2디지털 통화를 발행할 수 있는 제2체인코드를 생성하는 단계;
    상기 제1뱅크 노드가 상기 제1체인코드를 상기 블록체인 네트워크로 퍼블리시하는 단계; 및
    상기 제1뱅크 노드와 상기 제2뱅크 노드 각각이, 상기 블록체인 네트워크에 포함된 모든 노드들로부터 전송된 상기 제1체인코드에 대한 제1합의에 기초하여, 상기 제1체인코드를 상기 제1체인코드 등록 원장과 상기 제2체인코드 등록 원장 각각에 등록하는 단계를 포함하는 블록체인 시스템의 작동 방법.
  26. 제25항에 있어서,
    상기 제2뱅크 노드가 상기 제2체인코드를 상기 블록체인 네트워크로 퍼블리시하는 단계; 및
    상기 제1뱅크 노드와 상기 제2뱅크 노드 각각이, 상기 모든 노드들로부터 전송된 상기 제2체인코드에 대한 제2합의에 기초하여, 상기 제2체인코드를 상기 제1체인코드 등록 원장과 상기 제2체인코드 등록 원장 각각에 등록하는 단계를 더 포함하는 블록체인 시스템의 작동 방법.
  27. 제25항에 있어서,
    상기 제1뱅크 노드는 제1체인코드 실행 원장을 더 포함하고,
    상기 제2뱅크 노드는 상기 제1체인코드 실행 원장와 동일한 제2체인코드 실행 원장을 더 포함하고,
    상기 제1뱅크 노드가 상기 제1체인코드 등록 원장에 등록된 상기 제1체인코드를 실행하여 제1체인코드 실행 정보를 생성하는 단계; 및
    상기 제1뱅크 노드와 상기 제1뱅크 노드 각각이 블록체인 합의에 의한 블록체인 방식으로 상기 제1체인코드 실행 정보를 상기 제1체인코드 실행 원장과 상기 제2체인코드 실행 원장 각각에 등록하는 단계를 더 포함하고,
    상기 제1체인코드 실행 정보는 상기 제1디지털 통화의 발행 조건들과 발행 여부를 포함하는 블록체인 시스템의 작동 방법.
  28. 제25항에 있어서,
    상기 제1뱅크 노드는 제1디지털 통화 등록 원장을 더 포함하고,
    상기 제2뱅크 노드는 상기 제1디지털 통화 등록 원장과 동일한 제2디지털 통화 등록 원장을 더 포함하고,
    상기 제1뱅크 노드가 상기 제1체인코드 등록 원장에 등록된 상기 제1체인코드를 실행하여 상기 제1디지털 통화가 발행되면, 발행된 제1디지털 통화에 대한 제1디지털 통화 발행 정보를 생성하는 단계; 및
    상기 제1뱅크 노드와 상기 제2뱅크 노드 각각이 블록체인 합의에 의한 블록체인 방식으로 상기 제1디지털 통화 발행 정보를 상기 제1디지털 통화 등록 원장과 상기 제2디지털 통화 등록 원장 각각에 저장하는 단계를 더 포함하고,
    상기 제1디지털 통화 발행 정보는 발행된 제1디지털 통화의 발행량과 거래 조건을 포함하는 블록체인 시스템의 작동 방법.
  29. 제25항에 있어서,
    상기 제1뱅크 노드는 제1디지털 통화 원장을 더 포함하고,
    상기 제2뱅크 노드는 상기 제1디지털 통화 원장과 동일한 제2디지털 통화 원장을 더 포함하고,
    상기 모바일 노드들이 상기 제1뱅크 노드에 의해 발행된 상기 제1디지털 통화를 이용하여 거래하는 단계;
    상기 제1뱅크 노드가 상기 제1디지털 통화를 이용하여 상기 모바일 노드들 사이에서 이루어진 거래 내역을 상기 제1디지털 통화 원장에 등록하는 단계; 및
    상기 제2뱅크 노드가 상기 거래 내역을 상기 제2디지털 통화 원장에 등록하는 단계를 포함하는 블록체인 시스템의 작동 방법.
  30. 제29항에 있어서,
    상기 제1디지털 통화 원장은 제1이벤트 소스 원장과 제1요약 원장을 포함하고,
    상기 제1디지털 통화 원장에 등록하는 단계는,
    상기 제1뱅크 노드가 상기 거래 내역의 전부를 블록체인 형태로 상기 제1이벤트 소스 원장에 등록하는 단계; 및
    상기 제1뱅크 노드가 상기 제1이벤트 소스 원장에 등록된 상기 거래 내역의 전부로부터 일부를 추출하고, 추출된 일부 거래 내역을 상기 제1요약 원장에 등록하는 단계를 포함하는 블록체인 시스템의 작동 방법.
  31. 각각이 디지털 통화 발행용 체인코드와 디지털 통화 거래용 체인코드를 포함하는 뱅크 노드들 중에서 어느 하나의 뱅크 노드가 상기 디지털 통화 발행용 체인코드를 실행시켜 디지털 통화를 발행하는 단계;
    제1모바일 노드와 제2모바일 노드 각각은 상기 어느 하나의 뱅크 노드로부터 상기 디지털 통화 거래용 체인코드를 다운로드 받는 단계; 및
    상기 제1모바일 노드와 상기 제2모바일 노드가, 다운로드 받은 상기 디지털 통화 거래용 체인코드를 이용하여, 상기 디지털 통화로 거래하는 단계를 포함하는 블록체인 시스템의 작동 방법.
  32. 제31항에 있어서,
    상기 어느 하나의 뱅크 노드가 상기 디지털 통화 발행용 체인코드와 상기 디지털 통화 거래용 체인코드를 생성하는 단계;
    상기 어느 하나의 뱅크 노드가 상기 디지털 통화 발행용 체인코드와 상기 디지털 통화 거래용 체인코드를 상기 뱅크 노드들, 상기 제1모바일 노드, 및 상기 제2모바일 노드를 포함하는 블록체인 네트워크로 퍼블리시하는 단계; 및
    상기 뱅크 노드들 각각이, 상기 블록체인 네트워크에 포함된 모든 노드들로부터 전송된 상기 디지털 통화 발행용 체인코드에 대한 제1합의와 상기 디지털 통화 거래용 체인코드에 대한 제2합의에 기초하여, 상기 디지털 통화 발행용 체인코드와 상기 디지털 통화 거래용 체인코드를 상기 뱅크 노드들 각각에 포함된 체인코드 등록 원장에 등록하는 단계를 더 포함하는 블록체인 시스템의 작동 방법.
KR1020200110742A 2020-09-01 2020-09-01 각각이 신원 원장과 디지털 통화 원장을 포함하는 뱅크 노드들을 포함하는 블록체인 시스템과 이의 작동 방법 KR102302351B1 (ko)

Priority Applications (8)

Application Number Priority Date Filing Date Title
KR1020200110742A KR102302351B1 (ko) 2020-09-01 2020-09-01 각각이 신원 원장과 디지털 통화 원장을 포함하는 뱅크 노드들을 포함하는 블록체인 시스템과 이의 작동 방법
EP21188438.2A EP3961977A1 (en) 2020-09-01 2021-07-29 Blockchain system that includes bank nodes each having separate ledgers for identity, digital currency and other functions, and operation method thereof
CA3128669A CA3128669A1 (en) 2020-09-01 2021-08-20 Blockchain system that includes bank nodes each having separate ledgers for identity, digital currency and other functions, and operation method thereof
AU2021221485A AU2021221485B2 (en) 2020-09-01 2021-08-24 Blockchain system that includes bank nodes each having separate ledgers for identity, digital currency and other functions, and operation method thereof
JP2021137918A JP2022041950A (ja) 2020-09-01 2021-08-26 それぞれが身元元帳とデジタル通貨元帳とを含む複数のバンクノードを含むブロックチェーンシステムとその作動方法
US17/459,318 US20220067717A1 (en) 2020-09-01 2021-08-27 Blockchain system that includes bank nodes each having separate ledgers for identity, digital currency and other functions, and operation method thereof
CN202111011941.1A CN114119013A (zh) 2020-09-01 2021-08-31 区块链系统及其操作方法
JP2023164111A JP2023169379A (ja) 2020-09-01 2023-09-27 それぞれが身元元帳を含む複数のバンクノードを含むブロックチェーンシステムとその作動方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200110742A KR102302351B1 (ko) 2020-09-01 2020-09-01 각각이 신원 원장과 디지털 통화 원장을 포함하는 뱅크 노드들을 포함하는 블록체인 시스템과 이의 작동 방법

Publications (1)

Publication Number Publication Date
KR102302351B1 true KR102302351B1 (ko) 2021-09-15

Family

ID=77126628

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200110742A KR102302351B1 (ko) 2020-09-01 2020-09-01 각각이 신원 원장과 디지털 통화 원장을 포함하는 뱅크 노드들을 포함하는 블록체인 시스템과 이의 작동 방법

Country Status (7)

Country Link
US (1) US20220067717A1 (ko)
EP (1) EP3961977A1 (ko)
JP (2) JP2022041950A (ko)
KR (1) KR102302351B1 (ko)
CN (1) CN114119013A (ko)
AU (1) AU2021221485B2 (ko)
CA (1) CA3128669A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220005003A1 (en) * 2018-05-08 2022-01-06 Xspero U.S. Systems and methods for e-certificate exchange and validation
KR102552295B1 (ko) 2022-04-11 2023-07-06 세종대학교산학협력단 민감정보를 포함하는 개방형 클라우드 플랫폼에서의 허가형 블록체인 기반 사용자 인증 방법 및 시스템

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220109562A1 (en) * 2020-10-01 2022-04-07 Privacychain, Llc Peer-to-peer (p2p) distributed data management system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180113084A (ko) 2017-04-05 2018-10-15 삼성에스디에스 주식회사 블록체인 기반 디지털 아이덴티티 관리 방법
KR101974452B1 (ko) 2017-05-24 2019-05-03 라온시큐어(주) 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자정보 관리 방법 및 시스템
KR20190128309A (ko) 2018-05-08 2019-11-18 라온시큐어(주) 블록체인 기반 디지털 신분증 및 이의 발급과 신원확인 방법 및 시스템

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113011896B (zh) * 2013-08-15 2024-04-09 维萨国际服务协会 使用安全元件的安全远程支付交易处理
US20180357162A1 (en) * 2017-06-12 2018-12-13 Wipro Limited Method and system for providing real-time unified viewing access to users for monitoring collateral allocation
US20180365691A1 (en) * 2017-06-15 2018-12-20 KoopaCoin LLC Identity ledger in crypto currency transactions
WO2020022599A1 (ko) * 2018-07-27 2020-01-30 박기업 블록체인 네트워크 상에서 그룹키 기반의 이중 서명 트랜잭션 구조를 구성하는 노드 그룹 관리 장치 및 컴퓨팅 장치
EP3627789A1 (en) * 2018-09-19 2020-03-25 Vocalink Limited Information processing devices and methods
JP7062571B2 (ja) * 2018-10-05 2022-05-06 株式会社日立製作所 組織管理支援システム、組織管理支援方法、および、組織管理支援装置
JP7216881B2 (ja) * 2018-10-19 2023-02-02 日本電信電話株式会社 コンテンツ契約システム、コンテンツ契約方法、権利者端末、譲受人端末、制御端末、コンテンツ蓄積サーバ、権利者プログラム、譲受人プログラム、制御プログラムおよびコンテンツ蓄積プログラム
US11507929B2 (en) * 2018-11-09 2022-11-22 Visa International Service Association Digital fiat currency
US11177964B2 (en) * 2019-01-25 2021-11-16 International Business Machines Corporation Blockchain based authentication

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180113084A (ko) 2017-04-05 2018-10-15 삼성에스디에스 주식회사 블록체인 기반 디지털 아이덴티티 관리 방법
KR101974452B1 (ko) 2017-05-24 2019-05-03 라온시큐어(주) 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자정보 관리 방법 및 시스템
KR20190128309A (ko) 2018-05-08 2019-11-18 라온시큐어(주) 블록체인 기반 디지털 신분증 및 이의 발급과 신원확인 방법 및 시스템

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220005003A1 (en) * 2018-05-08 2022-01-06 Xspero U.S. Systems and methods for e-certificate exchange and validation
US11636448B2 (en) * 2018-05-08 2023-04-25 Xspero U.S. Systems and methods for e-certificate exchange and validation
US20230153768A1 (en) * 2018-05-08 2023-05-18 Xspero U.S. Systems and methods for e-certificate exchange and validation
KR102552295B1 (ko) 2022-04-11 2023-07-06 세종대학교산학협력단 민감정보를 포함하는 개방형 클라우드 플랫폼에서의 허가형 블록체인 기반 사용자 인증 방법 및 시스템

Also Published As

Publication number Publication date
CN114119013A (zh) 2022-03-01
CA3128669A1 (en) 2022-03-01
AU2021221485B2 (en) 2023-08-24
EP3961977A1 (en) 2022-03-02
US20220067717A1 (en) 2022-03-03
JP2023169379A (ja) 2023-11-29
JP2022041950A (ja) 2022-03-11
AU2021221485A1 (en) 2022-03-17

Similar Documents

Publication Publication Date Title
CN109691008B (zh) 网络拓扑
CN109313685B (zh) 区块链系统的加密应用
CN111034114B (zh) 具有记录安全性的区块链架构
US10742398B2 (en) Bespoke programmable crypto token
EP3509006B1 (en) Information sharing system
Baird et al. Hedera: A governing council & public hashgraph network
CA3011600C (en) Information transaction infrastructure
KR102302351B1 (ko) 각각이 신원 원장과 디지털 통화 원장을 포함하는 뱅크 노드들을 포함하는 블록체인 시스템과 이의 작동 방법
US20160224977A1 (en) Token check offline
KR20180104767A (ko) 신뢰되는 디지털 자산 전달을 생성하기 위해 디지털 서명을 사용하는 방법 및 시스템
US20230344649A1 (en) Offline interaction system and method
Lazarovich Invisible Ink: blockchain for data privacy
Christodorescu et al. Towards a two-tier hierarchical infrastructure: an offline payment system for central bank digital currencies
CN115705571A (zh) 保护可审计的帐户的隐私
CN112074861A (zh) 针对时间敏感事件的基于区块链的消息服务
US20210272106A1 (en) Universal Payment Messaging Using Public Blockchains and Identity Platform
CN112074862A (zh) 基于消息反馈的存储管理
CN113841206A (zh) 分布式计算系统中的事件管理
KR20220041692A (ko) 중앙은행 디지털 화폐를 위한 결제 방법 및 시스템
KR20210117731A (ko) 블록체인 기반의 거래내역 확인 시스템
RU2796046C1 (ru) Управление учетными данными в распределенной вычислительной системе
US20230289779A1 (en) System and method for automatically validating users to access blockchain based applications
US20230306412A1 (en) Docket credential insertion in non-fungible tokens
EP4099246A1 (en) A system and method for trading cryptocurrencies, tokenized assets and/or fiat currencies on a single distributed ledger system with multiple issuing institutions
KR20240013298A (ko) Did와 생체정보 기반의 개인키 복원 시스템

Legal Events

Date Code Title Description
GRNT Written decision to grant