KR102460432B1 - System and method for managing rdbms-based distributed ledger - Google Patents

System and method for managing rdbms-based distributed ledger Download PDF

Info

Publication number
KR102460432B1
KR102460432B1 KR1020200079874A KR20200079874A KR102460432B1 KR 102460432 B1 KR102460432 B1 KR 102460432B1 KR 1020200079874 A KR1020200079874 A KR 1020200079874A KR 20200079874 A KR20200079874 A KR 20200079874A KR 102460432 B1 KR102460432 B1 KR 102460432B1
Authority
KR
South Korea
Prior art keywords
message
trusted
stamp
node
server
Prior art date
Application number
KR1020200079874A
Other languages
Korean (ko)
Other versions
KR20220001644A (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 KR1020200079874A priority Critical patent/KR102460432B1/en
Publication of KR20220001644A publication Critical patent/KR20220001644A/en
Priority to KR1020220138198A priority patent/KR20220151124A/en
Application granted granted Critical
Publication of KR102460432B1 publication Critical patent/KR102460432B1/en
Priority to KR1020240033680A priority patent/KR20240038669A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • 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/382Payment protocols; Details thereof insuring higher security of transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/122File system administration, e.g. details of archiving or snapshots using management policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명에서는 RDBMS 기반의 분산원장 관리 시스템 및 방법을 개시한다. 본 발명은, 사용자 단말, 복수의 분산 노드, 신뢰된 순서-스탬프 서버를 포함하는 RDBMS 기반의 분산원장 관리 시스템 중 어느 하나의 분산 노드에 의해 수행되는 RDBMS 기반의 분산원장 관리방법에 있어서, 메시지 구독자가 신뢰된 순서-스탬프 서버의 서버 메시지 큐에 접속하여 추가 거래 메시지를 요청하는 단계와, 서버 메시지 큐로부터 신뢰된 순서-스탬프가 포함된 추가 거래 메시지를 수신하는 단계와, 노드 메시지 큐가 추가 거래 메시지를 저장하는 단계와, 신뢰된 RDBMS가 추가 거래 메시지 중 신뢰된 순서-스탬프를 확인하여 신뢰 무결성 검사를 한 후 데이터를 저장하는 단계를 포함한다. 본 발명에 의하면, 거래의 추적이 용이하며, 운영이 용이한 분산원장 시스템을 제공할 수 있다.The present invention discloses an RDBMS-based distributed ledger management system and method. The present invention relates to an RDBMS-based distributed ledger management method performed by any one of a user terminal, a plurality of distributed nodes, and any one of the RDBMS-based distributed ledger management systems including a trusted order-stamp server, a message subscriber accessing the server message queue of the trusted order-stamp server to request an additional transaction message; receiving an additional transaction message including the trusted order-stamp from the server message queue; storing the message, and storing the data after the trusted RDBMS checks the trusted sequence-stamp among the additional transaction messages and performs a trust integrity check. According to the present invention, it is possible to provide a distributed ledger system that facilitates tracking of transactions and easy operation.

Description

RDBMS 기반의 분산원장 관리 시스템 및 방법{SYSTEM AND METHOD FOR MANAGING RDBMS-BASED DISTRIBUTED LEDGER}RDBMS-based distributed ledger management system and method

본 발명은 RDBMS 기반의 분산원장 관리 시스템 및 방법에 관한 것으로, 보다 상세하게는 여러 분산 노드로부터 수집된 거래 메시지를 단일 신뢰된 순서-스탬프 서버로 집계하고, 단일한 신뢰된 순서-스탬프 서버는 메시지에 신뢰할 수 있는 순서번호를 부여하며, 신뢰된 순서번호가 부여된 메시지를 거래에 사용함으로써 거래의 추적이 용이하고 거래의 순서를 공정하게 처리가 가능하며, RDBMS에서 최종적으로 메시지를 저장하도록 함으로써 기존 시스템과 상호 운용이 가능한 RDBMS 기반의 분산원장 관리 시스템 및 방법에 관한 것이다.The present invention relates to an RDBMS-based distributed ledger management system and method, and more particularly, aggregates transaction messages collected from multiple distributed nodes into a single trusted sequence-stamp server, and a single trusted sequence-stamp server provides a message By assigning a reliable sequence number to the transaction, and by using the message with the trusted sequence number for the transaction, it is easy to track the transaction and process the transaction order fairly. It relates to an RDBMS-based distributed ledger management system and method that is interoperable with the system.

분산원장은 여러 사이트나, 여러 국가 또는 여러 기관에서 공유할 수 있는 자산 데이터베이스로, 네트워크 내의 모든 참여자는 동일한 원장 사본을 가질 수 있으며, 원장에 대한 변경 사항은 모든 사본에 분(minute)또는 경우에 따라 초(second)단위로 반영된다. A distributed ledger is a database of assets that can be shared by multiple sites, multiple countries, or multiple institutions. All participants in the network can have the same copy of the ledger, and changes to the ledger can occur in minutes or in some cases. It is reflected in seconds.

분산원장은 자산 거래 시스템을 구축하는데 있어 신뢰 비용 (Cost of Trust)을 절감하고 신뢰 중앙기관의 의존도를 경감한다. 구체적으로 은행, 정부, 법조인, 공증인증 등에 대한 의존도가 완화되고 보안시스템 구축 비용을 절감하며, 프로세스 단순화를 통항 효율적인 업무를 기대할 수 있다. 이러한 신뢰는 크게 기록물 자체에 대한 신뢰와 시스템에 대한 신뢰로부터 형성된다. 기록물 자체에 대한 신뢰는 암호(Cryptography), 공유원장(Shared Leger)등의 기술이 사용되며 시스템의 신뢰는 P2P 컴퓨팅(Peer-to-Peer Computing)기술을 사용한다. Distributed ledger reduces the cost of trust in building an asset trading system and reduces the dependence on a trusted central authority. Specifically, it can be expected that the dependence on banks, governments, lawyers, and notarizations will be alleviated, the cost of building a security system will be reduced, and the simplification of the process will lead to efficient work. Such trust is largely formed from trust in the records themselves and trust in the system. For trust in the record itself, technologies such as Cryptography and Shared Ledger are used, and for system trust, Peer-to-Peer Computing technology is used.

분산원장 기술은 신뢰 비용(Cost of Trust)을 절감할 수 있는 유망한 기술로 평가되고 있지만, 기밀성, 확장성, 상호운용성 등의 측면에서 기존의 중앙집중형 시스템 대비 크게 부족한 성능을 보이는 것이 현실이다. 이러한 문제는 시스템 구축비용 및 운영비용의 증가를 발생시키기 때문에, 그 효과를 상쇄하는 문제가 발생한다.Distributed ledger technology is evaluated as a promising technology that can reduce the cost of trust, but the reality is that it shows significantly insufficient performance compared to the existing centralized system in terms of confidentiality, scalability, and interoperability. Since this problem causes an increase in system construction cost and operating cost, a problem of offsetting the effect occurs.

등록특허공보 제10-2081159호 “블록체인 시스템 및 블록체인 시스템에서 복수의 노드들이 메시지를 검증 및 전파하는 방법”에서는 복수의 신뢰 노드를 포함하는 적어도 하나의 논리 노드 및 적어도 하나의 공개 노드들의 분산 네트워크로 구성된 블록체인 시스템에서 복수의 노드들이 메시지를 검증 및 전파하는 방법을 개시한다. 논리 노드 내의 제1 신뢰 노드가 블록체인 네트워크 상에서 전파된 메시지를 수신하면, 메시지를 전송한 노드와의 신뢰 관계를 검증하고, 메시지를 전송한 노드가 공개 노드임이 확인되면, 제1 신뢰 노드는 제2 신뢰 노드에 의한 메시지의 유효성 검증이 확인되면 상기 블록체인 네트워크 상에 상기 메시지를 전파하는 블록체인 시스템에서 복수의 노드들이 메시지를 검증 및 전파하는 방법이 개시된다. 유효성이 검증된 후에 메시지를 전파하여 신속한 메시지 전파가 어렵다.In Korean Patent Publication No. 10-2081159 “Blockchain system and a method for a plurality of nodes to verify and propagate a message in a blockchain system,” at least one logical node including a plurality of trust nodes and at least one public node are distributed Disclosed is a method for a plurality of nodes to verify and propagate messages in a networked blockchain system. When the first trusted node in the logical node receives the propagated message on the blockchain network, it verifies the trust relationship with the node that sent the message, and when it is confirmed that the node that sent the message is a public node, the first trusted node 2 Disclosed is a method of verifying and propagating a message by a plurality of nodes in a blockchain system that propagates the message on the blockchain network when the validation of the message by the trusted node is confirmed. It is difficult to propagate the message promptly by propagating the message after validation is verified.

등록특허공보 제10-2097995호 “이중 지불 방지를 위한 전자 결제 시스템 및 그 결제 방법”에는, (a) 거래 검증 노드가 서버로부터 거래 메시지를 수신하는 단계; 및 (b) 상기 거래 검증 노드가 상기 (a) 단계에서 수신한 거래 메시지가 상기 서버에 의해 처리된 거래 메시지인 지를 확인하는 단계;를 포함하되, 상기 (a) 단계에서 상기 거래 검증 노드가 상기 서버로부터 수신한 거래 메시지는, 입금할 입금 주소; 출금할 출금 주소; 상기 입금 주소로 입금할 입금액; 상기 출금 주소의 소유자 서명; 거래 메시지에 순서를 부여하는 거래 순서 번호; 및 상기 서버의 서명;을 포함하는 전자결제 방법이 개시되어 있다. 그러나 사용자 단말은 단일의 서버를 통해서만 거래 메시지를 발생시키므로 불편한 점이 있다.Korean Patent Publication No. 10-2097995, “Electronic payment system for preventing double payment and payment method thereof,” includes the steps of: (a) receiving, by a transaction verification node, a transaction message from a server; and (b) confirming, by the transaction verification node, whether the transaction message received in step (a) is a transaction message processed by the server; The transaction message received from the server includes a deposit address to deposit; Withdrawal address from which to withdraw; Deposit amount to be deposited to the deposit address; the signature of the owner of the withdrawal address; a transaction sequence number that gives an order to the transaction message; and a signature of the server; is disclosed an electronic payment method comprising. However, since the user terminal generates a transaction message only through a single server, it is inconvenient.

등록특허공보 제10-2081159호 “블록체인 시스템 및 블록체인 시스템에서 복수의 노드들이 메시지를 검증 및 전파하는 방법” (2020년02월19일 등록)Registered Patent Publication No. 10-2081159 “Blockchain System and Method of Verification and Propagation of Messages by Multiple Nodes in Blockchain System” (Registered on February 19, 2020) 등록특허공보 제10-2097995호 “이중 지불 방지를 위한 전자 결제 시스템 및 그 결제 방법” (2020년04월01일 등록)Registered Patent Publication No. 10-2097995 “Electronic payment system and payment method for preventing double payment” (registered on April 01, 2020)

본 발명의 목적은, 거래의 추적이 용이한 RDBMS 기반의 분산원장 관리 시스템 및 방법을 제공하는 것이다. It is an object of the present invention to provide an RDBMS-based distributed ledger management system and method that facilitates transaction tracking.

본 발명의 다른 목적은, 선착순 거래의 우선순위를 공정하게 매길 수 있는 RDBMS 기반의 분산원장 관리 시스템 및 방법을 제공하는 것이다. Another object of the present invention is to provide an RDBMS-based distributed ledger management system and method that can fairly prioritize first-come-first-served transactions.

본 발명의 또다른 목적은, 통상의 RDBMS와 상호 운용이 가능하고, 교체비용이 적게 발생하는 RDBMS 기반의 분산원장 관리 시스템 및 방법을 제공하는 것이다. Another object of the present invention is to provide an RDBMS-based distributed ledger management system and method that is interoperable with a normal RDBMS and has a low replacement cost.

본 발명의 목적은 이상에서 언급된 목적으로 제한되지 않으며, 언급되지 않은 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.Objects of the present invention are not limited to the objects mentioned above, and other objects not mentioned will be clearly understood by those skilled in the art from the following description.

상기 목적을 이루기 위한 하나의 양태에 따르면, 사용자 단말(100), 복수의 분산 노드(200), 신뢰된 순서-스탬프 서버(400)를 포함하는 RDBMS 기반의 분산원장 관리 시스템 중 어느 하나의 분산 노드(200)에 의해 수행되는 RDBMS 기반의 분산원장 관리방법에 있어서, (a) 메시지 구독자(231)가 신뢰된 순서-스탬프 서버의 서버 메시지 큐(440) 또는 다른 분산 노드의 노드 메시지 큐(240)에 접속하여, 추가 거래 메시지를 요청하는 단계; (b) 메시지 구독자(231)가 신뢰된 순서-스탬프 서버의 서버 메시지 큐(440) 또는 다른 분산 노드의 노드 메시지 큐(240)로부터 신뢰된 순서-스탬프가 포함된 추가 거래 메시지를 수신하는 단계; (c) 메시지 구독자(231)가 수신된 신뢰된 순서-스탬프가 포함된 추가 거래 메시지를 노드 메시지 큐(241)로 전달하는 단계; (d) 노드 메시지 큐(241)가 신뢰된 순서-스탬프가 포함된 추가 거래 메시지를 저장하고, 저장된 추가 거래 메시지를 신뢰된 RDBMS(251)로 전달하는 단계; 및 (e) 신뢰된 RDBMS(251)가 추가 거래 메시지 중 신뢰된 순서-스탬프를 확인하여 신뢰 무결성 검사를 한 후, 데이터를 저장하는 단계;를 포함한다.According to one aspect for achieving the above object, any one distributed node of the RDBMS-based distributed ledger management system including the user terminal 100, a plurality of distributed nodes 200, and a trusted order-stamp server 400 In the RDBMS-based distributed ledger management method performed by (200), (a) a server message queue 440 of a sequence-stamp server trusted by a message subscriber 231 or a node message queue 240 of another distributed node accessing to request an additional transaction message; (b) receiving, by the message subscriber 231, an additional transaction message containing the trusted order-stamp from the server message queue 440 of the trusted order-stamp server or the node message queue 240 of another distributed node; (c) forwarding, by the message subscriber 231, an additional transaction message containing the received trusted order-stamp to the node message queue 241; (d) the node message queue 241 stores the additional transaction message including the trusted order-stamp, and delivers the stored additional transaction message to the trusted RDBMS 251; and (e) storing the data after the trusted RDBMS 251 checks the trusted order-stamp of the additional transaction message and performs a trust integrity check.

상기 (a) 단계에서, 메시지 구독자(231)는 신뢰된 순서-스탬프 서버의 서버 메시지 큐(440) 또는 다른 분산 노드의 노드 메시지 큐(240)로 서비스 ID와 노드 메시지 큐의 마지막 순서번호를 전달하며 추가 거래 메시지를 요청할 수 있다.In step (a), the message subscriber 231 delivers the service ID and the last sequence number of the node message queue to the server message queue 440 of the trusted sequence-stamp server or the node message queue 240 of another distributed node. and can request additional transaction messages.

상기 (b) 단계에서, 메시지 구독자(231)는 신뢰된 순서-스탬프 서버의 서버 메시지 큐(440) 또는 다른 분산 노드의 노드 메시지 큐(240)로부터 상기 서비스 ID에 해당하는 메시지 중 상기 마지막 순서번호보다 큰 순서번호를 가진 메시지만 추가 거래 메시지로 수신할 수 있다.In step (b), the message subscriber 231 receives the last sequence number of the message corresponding to the service ID from the server message queue 440 of the trusted sequence-stamp server or the node message queue 240 of another distributed node. Only messages with a larger sequence number can be received as additional transaction messages.

상기 (e) 단계는, (e-1) 신뢰된 RDBMS(251)가 추가 거래 메시지를 파싱하는 단계; (e-2) 입력하려는 데이터가 신뢰 테이블의 데이터인 경우, 신뢰된 RDBMS(251)가 신뢰 테이블의 테이블 스키마에 정의된 신뢰 제약조건에 따라 신뢰된 순서-스탬프를 확인하여 신뢰 무결성 검증을 실시하는 단계; (e-3) 신뢰된 RDBMS(251)가 데이터 무결성 검증을 실시하는 단계; 및 (e-4) 신뢰된 RDBMS(251)가 상기 신뢰 무결성 검증 단계와 데이터 무결성 검증 단계를 통과한 데이터만 신뢰 테이블에 저장하는 단계;를 포함한다.The step (e) includes: (e-1) parsing an additional transaction message by the trusted RDBMS 251; (e-2) If the data to be input is data from the trust table, the trusted RDBMS 251 performs trust integrity verification by checking the trusted order-stamp according to the trust constraint defined in the table schema of the trust table. step; (e-3) performing data integrity verification by the trusted RDBMS 251; and (e-4) storing, by the trusted RDBMS 251, only data that has passed the trust integrity verification step and the data integrity verification step in the trust table.

RDBMS 기반의 분산원장 관리방법은, (f) 메시지 수집자(220)가 사용자 단말(100)의 거래메시지 생성부(105)에서 생성된 서비스 ID와, 사용자 전자서명이 구비된 거래문장을 포함하는 신규 거래 메시지를 수신하는 단계; (g) 메시지 수집자(220)가 수신된 신규 거래 메시지로부터 서비스 ID를 확인하고, 노드 환경설정 저장부(210)를 참조하여 신뢰된 순서-스탬프 서버(400)를 결정하는 단계; 및 (h) 메시지 수집자(220)가 상기 신뢰된 순서-스탬프 서버에 접속하여 중앙 메시지 수집자(420)에게 신규 거래 메시지를 송신하는 단계;를 더 포함할 수 있다.In the RDBMS-based distributed ledger management method, (f) the message collector 220 includes a service ID generated by the transaction message generator 105 of the user terminal 100 and a transaction sentence equipped with a user electronic signature. receiving a new transaction message; (g) confirming the service ID from the received new transaction message by the message collector 220, and determining the trusted order-stamp server 400 with reference to the node configuration storage unit 210; and (h) sending, by the message aggregator 220, a new transaction message to the central message aggregator 420 by accessing the trusted order-stamp server.

상기 목적을 이루기 위한 다른 양태에 따르면, 사용자 단말(100), 복수의 분산 노드(200), 신뢰된 순서-스탬프 서버(400)를 포함하는 RDBMS 기반의 분산원장 관리 시스템 중 신뢰된 순서-스탬프 서버(400)에 의해 수행되는 RDBMS 기반의 분산원장 관리방법에 있어서, (i) 중앙 메시지 수집자(420)가 분산 노드의 메시지 수집자(220)로부터 신규 거래 메시지를 수신하는 단계; (j) 중앙 메시지 수집자(420)가 신규 거래 메시지에서 서비스 ID를 확인하는 단계; (k) 중앙 메시지 수집자(420)가 서버 메시지 큐(440)에 저장된 최종 순서번호에 1을 추가하여 신규 거래 메시지에 순서번호로 부여하고, 순서번호가 부여된 거래 메시지를 순서-스탬프 생성자(430)에게 전달하는 단계; (l) 순서-스탬프 생성자(430)가 상기 순서번호가 부여된 거래 메시지에서 순서번호와 거래 메시지의 내용에 대해 전자서명하고, 그 내용을 거래 메시지에 삽입한 신뢰된 순서-스탬프가 부여된 거래 메시지를 서버 메시지 큐(440)에 전달하는 단계; 및 (m) 서버 메시지 큐(440)가 신뢰된 순서-스탬프가 부여된 거래 메시지를 추가 거래 메시지로 저장하는 단계;를 포함한다.According to another aspect for achieving the above object, the user terminal 100, a plurality of distributed nodes 200, a trusted order-stamp server of the RDBMS-based distributed ledger management system including a trusted order-stamp server 400 In the RDBMS-based distributed ledger management method performed by (400), the method comprising: (i) receiving, by a central message collector (420), a new transaction message from the message collector (220) of a distributed node; (j) the central message aggregator 420 confirms the service ID in the new transaction message; (k) the central message collector 420 adds 1 to the final sequence number stored in the server message queue 440 and gives the new transaction message as a sequence number, and sends the sequence numbered transaction message to the sequence-stamp generator ( 430); (l) A trusted order-stamped transaction in which the order-stamp generator 430 digitally signs the order number and the contents of the transaction message in the transaction message to which the order number is assigned, and inserts the contents into the transaction message forwarding the message to a server message queue (440); and (m) the server message queue 440 storing the trusted order-stamped transaction message as an additional transaction message.

상기 (k) 단계는, (k-1) 중앙 메시지 수집자(420)가 상기 서비스 ID에 대해 서버 메시지 큐(440)에 저장된 최종 순서번호를 검색하는 단계; (k-2) 중앙 메시지 수집자(420)가 상기 최종 순서번호에 1을 추가한 값을 신규 거래 메시지에 순서번호로 부여하는 단계; (k-3) 중앙 메시지 수집자(420)가 신규 순서번호를 설정한 시간을 시간스탬프로 생성하는 단계; 및 (k-4) 중앙 메시지 수집자(420)가 상기 순서번호가 부여된 거래 메시지를 순서-스탬프 생성자(430)에게 전달하는 단계;를 포함할 수 있다.The step (k) includes: (k-1) the central message aggregator 420 searching for the last sequence number stored in the server message queue 440 for the service ID; (k-2) assigning, by the central message collector 420, a value obtained by adding 1 to the final sequence number as a sequence number to a new transaction message; (k-3) generating the time when the central message collector 420 sets a new sequence number as a timestamp; and (k-4) the central message aggregator 420 transmits the order number-given transaction message to the order-stamp generator 430 .

RDBMS 기반의 분산원장 관리방법은, (n) 서버 메시지 큐(440)가 분산 노드의 메시지 구독자(230)로부터 서비스 ID와 노드 메시지 큐(240)의 마지막 순서번호를 포함하는 추가 거래 메시지 요청을 수신하는 단계; (o) 서버 메시지 큐(440)가 상기 서비스 ID에 해당하는 저장된 메시지 중 상기 마지막 순서번호보다 큰 순서번호를 가진 거래 메시지를 검색하는 단계; 및 (p) 서버 메시지 큐(440)가 분산 노드의 메시지 구독자(230)에게 상기 검색된 거래 메시지를 포함하는 추가 거래 메시지 응답을 송신하는 단계;를 더 포함할 수 있다.In the RDBMS-based distributed ledger management method, (n) the server message queue 440 receives an additional transaction message request including the service ID and the last sequence number of the node message queue 240 from the message subscriber 230 of the distributed node. to do; (o) the server message queue 440 searching for a transaction message having a sequence number greater than the last sequence number among stored messages corresponding to the service ID; and (p) sending, by the server message queue 440, an additional transaction message response including the retrieved transaction message to the message subscribers 230 of the distributed node.

상기 목적을 이루기 위한 또 다른 양태에 따르면, 사용자 단말(100), 복수의 분산 노드(200), 신뢰된 순서-스탬프 서버(400)를 포함하는 RDBMS 기반의 분산원장 관리 시스템 중 RDBMS 기반의 분산원장을 관리하기 위한 어느 하나의 분산 노드(200)에 있어서, 신뢰된 순서-스탬프 서버의 서버 메시지 큐(440) 또는 다른 분산 노드의 노드 메시지 큐(240)로부터 신뢰된 순서-스탬프가 포함된 추가 거래 메시지를 수신하여 노드 메시지 큐(241)로 전달하는 메시지 구독자(231); 상기 메시지 구독자(231)로부터 전달된 신뢰된 순서-스탬프가 포함된 추가 거래 메시지를 저장하고, 신뢰된 RDBMS(251)로 신뢰된 순서-스탬프가 포함된 추가 거래 메시지를 전달하는 노드 메시지 큐(241); 및 추가 거래 메시지 중 신뢰된 순서-스탬프를 확인하여 신뢰 무결성 검사를 한 후, 데이터를 저장하는 신뢰된 RDBMS(251);를 포함한다.According to another aspect for achieving the above object, the RDBMS-based distributed ledger among the RDBMS-based distributed ledger management system including the user terminal 100, the plurality of distributed nodes 200, and the trusted order-stamp server 400 In any one distributed node 200 for managing a message subscriber 231 that receives the message and delivers it to the node message queue 241; A node message queue 241 that stores the additional transaction message including the trusted sequence-stamp delivered from the message subscriber 231 and delivers the additional transaction message including the trusted sequence-stamp to the trusted RDBMS 251 ); and a trusted RDBMS (251) for storing data after performing a trust integrity check by checking a trusted sequence-stamp among additional transaction messages.

상기 메시지 구독자(231)는, 신뢰된 순서-스탬프 서버의 서버 메시지 큐(440) 또는 다른 분산 노드의 노드 메시지 큐(240)에 접속하여 추가 거래 메시지를 요청하는 추가 메시지 요청부; 상기 신뢰된 순서-스탬프 서버의 서버 메시지 큐(440) 또는 다른 분산 노드의 노드 메시지 큐(240)로부터 신뢰된 순서-스탬프가 포함된 추가 거래 메시지를 수신하는 추가 메시지 수신부; 및 수신된 신뢰된 순서-스탬프가 포함된 추가 거래 메시지를 노드 메시지 큐(241)로 전달하는 추가 메시지 전달부;를 포함한다.The message subscriber 231 may include: an additional message request unit for requesting an additional transaction message by accessing the server message queue 440 of the trusted order-stamp server or the node message queue 240 of another distributed node; an additional message receiving unit for receiving an additional transaction message including a trusted order-stamp from a server message queue 440 of the trusted order-stamp server or a node message queue 240 of another distributed node; and an additional message forwarding unit that forwards the additional transaction message including the received trusted order-stamp to the node message queue 241 .

상기 메시지 구독자(231)는, 신뢰된 순서-스탬프 서버의 서버 메시지 큐(440) 또는 다른 분산 노드의 노드 메시지 큐(240)로 서비스 ID와 노드 메시지 큐의 마지막 순서번호를 전달하며 추가 거래 메시지를 요청하고, 신뢰된 순서-스탬프 서버의 서버 메시지 큐(440) 또는 다른 분산 노드의 노드 메시지 큐(240)로부터 상기 서비스 ID에 해당하는 메시지 중 상기 마지막 순서번호보다 큰 순서번호를 가진 메시지만 추가 거래 메시지로 수신할 수 있다.The message subscriber 231 transmits the service ID and the last sequence number of the node message queue to the server message queue 440 of the trusted sequence-stamp server or the node message queue 240 of another distributed node and sends an additional transaction message. Request, add only a message with a sequence number greater than the last sequence number among messages corresponding to the service ID from the server message queue 440 of the trusted sequence-stamp server or the node message queue 240 of another distributed node You can receive it as a message.

상기 신뢰된 RDBMS(251)는, 추가 거래 메시지를 파싱하는 메시지 파싱부; 입력하려는 데이터가 신뢰 테이블의 데이터인 경우, 신뢰된 RDBMS(251)가 신뢰 테이블의 테이블 스키마에 정의된 신뢰 제약조건에 따라 신뢰된 순서-스탬프를 확인하여 신뢰 무결성 검증을 실시하는 신뢰 검증부; 데이터 무결성을 검증하는 데이터 검증부; 상기 신뢰 무결성 검증과 데이터 무결성 검증을 통과한 데이터만 신뢰 테이블에 저장하는 신뢰 테이블 저장부;를 포함할 수 있다.The trusted RDBMS 251 includes: a message parsing unit for parsing an additional transaction message; When the data to be input is data of a trust table, the trusted RDBMS 251 checks a trusted order-stamp according to a trust constraint defined in the table schema of the trust table, and performs trust integrity verification; a data verification unit that verifies data integrity; and a trust table storage unit that stores only data that has passed the trust integrity verification and data integrity verification in the trust table.

상기 분산 노드는, 사용자 단말(100)의 신규 거래 메시지를 전달받아 신뢰된 순서-스탬프 서버(400)로 전달하는 메시지 수집자(220)를 더 포함하며, 상기 메시지 수집자(220)는, 사용자 단말(100)의 거래메시지 생성부(105)에서 생성된 서비스 ID와 사용자 전자서명이 구비된 거래문장을 포함하는 신규 거래 메시지를 수신하는 거래 메시지 수신부; 수신된 신규 거래 메시지로부터 서비스 ID를 확인하여 노드 환경설정 저장부(210)를 참조하여 신뢰된 순서-스탬프 서버(400)를 결정하는 스탬프서버 결정부; 및 상기 신뢰된 순서-스탬프 서버에 접속하여 중앙 메시지 수집자(420)에게 신규 거래 메시지를 송신하는 거래 메시지 송신부;를 포함할 수 있다.The distributed node further includes a message collector 220 that receives the new transaction message from the user terminal 100 and delivers it to the trusted order-stamp server 400, the message collector 220, the user a transaction message receiver for receiving a new transaction message including a transaction sentence with a service ID and a user digital signature generated by the transaction message generator 105 of the terminal 100; Checking the service ID from the received new transaction message and referring to the node configuration storage unit 210, a trusted order-stamp server determining unit to determine the stamp server (400); and a transaction message transmission unit that accesses the trusted order-stamp server and transmits a new transaction message to the central message collector 420 .

상기 목적을 이루기 위한 또 다른 양태에 따르면, 사용자 단말(100), 복수의 분산 노드(200), 신뢰된 순서-스탬프 서버(400)를 포함하는 RDBMS 기반의 분산원장 관리 시스템 중 RDBMS 기반의 분산원장 관리를 위한 신뢰된 순서-스탬프 서버(400)에 있어서, 분산 노드의 메시지 수집자(220)로부터 신규 거래 메시지를 수신하고, 신규 거래 메시지에서 서비스 ID를 확인하여, 서버 메시지 큐(440)에 저장된 최종 순서번호에 1을 추가하여 신규 거래 메시지의 순서번호로 부여하고, 순서번호가 부여된 거래 메시지를 순서-스탬프 생성자(430)에게 전달하는 중앙 메시지 수집자(420); 상기 순서번호가 부여된 거래 메시지에서 순서번호와 거래 메시지의 내용에 대해 전자서명하고, 그 내용을 거래 메시지에 삽입한 신뢰된 순서-스탬프가 부여된 거래 메시지를 서버 메시지 큐(440)에 전달하는 순서-스탬프 생성자(430); 및 신뢰된 순서-스탬프가 부여된 거래 메시지를 저장하는 서버 메시지 큐(440);를 포함한다.According to another aspect for achieving the above object, the RDBMS-based distributed ledger among the RDBMS-based distributed ledger management system including the user terminal 100, the plurality of distributed nodes 200, and the trusted order-stamp server 400 In the trusted order-stamp server 400 for management, a new transaction message is received from the message aggregator 220 of the distributed node, the service ID is checked in the new transaction message, and stored in the server message queue 440 a central message collector 420 that adds 1 to the final sequence number and gives it as a sequence number of a new transaction message, and delivers the sequence numbered transaction message to the sequence-stamp generator 430; In the transaction message to which the order number is assigned, the order number and the contents of the transaction message are digitally signed, and the trusted order-stamped transaction message inserted into the transaction message is delivered to the server message queue 440 order-stamp constructor (430); and a server message queue 440 that stores trusted order-stamped transaction messages.

상기 중앙 메시지 수집자(420)는, 상기 서비스 ID에 대해 서버 메시지 큐(440)에 저장된 최종 순서번호를 검색하는 순서번호 검색부; 상기 최종 순서번호에 1을 추가한 값을 신규 거래 메시지의 순서번호로 부여하는 순서번호 부여부; 신규 거래 메시지에 순서번호를 설정한 시간을 시간스탬프로 생성하는 시간 스탬프 생성부; 및 상기 순서번호가 부여된 거래 메시지를 순서-스탬프 생성자(430)에게 전달하는 순서 메시지 전달부;를 포함할 수 있다.The central message aggregator 420 includes: a sequence number search unit that searches for the last sequence number stored in the server message queue 440 for the service ID; a sequence number assigning unit for assigning a value obtained by adding 1 to the final sequence number as a sequence number of a new transaction message; a time stamp generation unit generating a time stamp for setting a sequence number in a new transaction message; and an order message transfer unit for transmitting the order-numbered transaction message to the order-stamp generator 430 .

상기 서버 메시지 큐(440)는, 분산 노드의 메시지 구독자(230)로부터 서비스 ID와 노드 메시지 큐(240)의 마지막 순서번호를 포함하는 추가 거래 메시지 요청을 수신하는 메시지 요청 수신부; 상기 서비스 ID에 해당하는 서버 메시지 큐(440)에 저장된 메시지 중 상기 마지막 순서번호보다 큰 순서번호를 가진 거래 메시지를 검색하는 거래 메시지 검색부; 및 분산 노드의 메시지 구독자(230)에게 상기 검색된 거래 메시지를 포함하는 추가 거래 메시지 응답을 송신하는 메시지 요청 응답부;를 포함할 수 있다.The server message queue 440 may include: a message request receiving unit for receiving an additional transaction message request including a service ID and a last sequence number of the node message queue 240 from the message subscribers 230 of the distributed node; a transaction message search unit that searches for a transaction message having a sequence number greater than the last sequence number among messages stored in the server message queue 440 corresponding to the service ID; and a message request response unit for transmitting an additional transaction message response including the searched transaction message to the message subscribers 230 of the distributed node.

본 발명에 따른 RDBMS 기반의 분산원장 관리 시스템 및 방법은, 여러 분산 노드로부터 수집된 거래 메시지를 단일 신뢰 순서-스탬프 서버에서 집계하고 거래 순서번호가 부여된 거래메시지를 이용하여 거래의 추적이 용이하다 The RDBMS-based distributed ledger management system and method according to the present invention aggregates transaction messages collected from multiple distributed nodes in a single trust sequence-stamp server and facilitates tracking of transactions using transaction messages assigned with transaction sequence numbers.

본 발명에 따른 RDBMS 기반의 분산원장 관리 시스템 및 방법은, 신뢰 순서-스탬프 서버에서 순서 스탬프를 부여함으로써 선착순 거래의 우선순위를 공정하게 매길 수 있다.The RDBMS-based distributed ledger management system and method according to the present invention can fairly prioritize first-come-first-served transactions by giving an order stamp in a trusted order-stamp server.

본 발명에 따른 RDBMS 기반의 분산원장 관리 시스템 및 방법은, 신뢰 테이블을 RDBMS에 저장하여, 기존 시스템과 상호 운용이 가능하고, 교체 비용이 적게 발생한다.The RDBMS-based distributed ledger management system and method according to the present invention store the trust table in the RDBMS, so that it can interoperate with the existing system, and the replacement cost is low.

도 1은 본 발명의 일 실시예에 따른 RDBMS 기반의 분산원장 관리 시스템의 개략적인 구성을 나타내는 개념도이다.
도 2는 본 발명의 일 실시예에 따른 RDBMS 기반의 분산원장 관리 시스템에서 분산원장을 관리하는 방법을 나타내는 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 RDBMS 기반의 분산원장 관리 시스템의 구체적인 구성을 나타내는 구성도이다.
도 4는 본 발명의 일 실시예에 따른 RDBMS 기반의 분산원장 관리 시스템에서 사용하는 거래 메시지와 순서-스탬프가 부여된 거래 메시지를 나타내는 개념도이다.
도 5는 본 발명의 일 실시예에 따른 RDBMS 기반의 분산원장 관리 시스템 중 분산 노드의 노드 환경설정 저장부에 기록되는 서비스 ID와 신뢰된 순서-스탬프 서버를 나타내는 개념도이다.
도 6은 본 발명의 일 실시예에 따른 RDBMS 기반의 분산원장 관리 시스템 중 분산 노드의 새로 발생한 거래 메시지를 관리하는 방법을 나타내는 순서도이다.
도 7은 본 발명의 일 실시예에 따른 RDBMS 기반의 분산원장 관리 시스템 중 분산 노드의 순서-스탬프가 부여된 메시지를 관리하는 방법을 나타내는 순서도이다.
도 8은 본 발명의 일 실시예에 따른 RDBMS 기반의 분산원장 관리 시스템 중 분산 노드의 메시지 구독자와 신뢰된 순서-스탬프 서버의 서버 메시지 큐 사이의 프로토콜을 나타내는 흐름도이다.
도 9는 본 발명의 일 실시예에 따른 RDBMS 기반의 분산원장 관리 시스템 중 신뢰된 순서-스탬프 서버의 관리방법을 나타내는 순서도이다.
도 10은 본 발명의 일 실시예에 따른 RDBMS 기반의 분산원장 관리 시스템 중 분산 노드의 신뢰된 RDBMS에서 사용하는 신뢰할 수 있는 테이블 스키마의 구성을 나타내는 개념도이다.
도 11은 본 발명의 일 실시예에 따른 RDBMS 기반의 분산원장 관리 시스템 중 분산 노드의 신뢰된 RDBMS에서 사용하는 신뢰할 수 있는 테이블을 선언하는 방법을 나타내는 개념도이다.
도 12는 본 발명의 일 실시예에 따른 RDBMS 기반의 분산원장 관리 시스템 중 분산 노드의 신뢰된 RDBMS에서 사용하는 신뢰할 수 있는 테이블 스키마 중 신뢰 무결성 제약조건 정의부의 구성을 나타내는 개념도이다.
도 13은 본 발명의 일 실시예에 따른 RDBMS 기반의 분산원장 관리 시스템 중 분산 노드의 신뢰된 RDBMS에서 사용하는 신뢰할 수 있는 테이블 스키마 중 신뢰관련 옵션부의 구성을 나타내는 개념도이다.
도 14는 본 발명의 일 실시예에 따른 RDBMS 기반의 분산원장 관리 시스템 중 분산 노드의 신뢰된 RDBMS에서 거래 메시지를 처리하는 방법을 나타내는 순서도이다.
1 is a conceptual diagram illustrating a schematic configuration of an RDBMS-based distributed ledger management system according to an embodiment of the present invention.
2 is a flowchart illustrating a method of managing a distributed ledger in an RDBMS-based distributed ledger management system according to an embodiment of the present invention.
3 is a configuration diagram illustrating a detailed configuration of an RDBMS-based distributed ledger management system according to an embodiment of the present invention.
4 is a conceptual diagram illustrating a transaction message and an order-stamped transaction message used in an RDBMS-based distributed ledger management system according to an embodiment of the present invention.
5 is a conceptual diagram illustrating a service ID and a trusted sequence-stamp server recorded in a node environment setting storage unit of a distributed node in an RDBMS-based distributed ledger management system according to an embodiment of the present invention.
6 is a flowchart illustrating a method of managing a newly generated transaction message of a distributed node in an RDBMS-based distributed ledger management system according to an embodiment of the present invention.
7 is a flowchart illustrating a method of managing an order-stamped message of a distributed node in an RDBMS-based distributed ledger management system according to an embodiment of the present invention.
8 is a flowchart illustrating a protocol between a message subscriber of a distributed node and a server message queue of a trusted order-stamp server in an RDBMS-based distributed ledger management system according to an embodiment of the present invention.
9 is a flowchart illustrating a method of managing a trusted order-stamp server in an RDBMS-based distributed ledger management system according to an embodiment of the present invention.
10 is a conceptual diagram illustrating a configuration of a trusted table schema used in a trusted RDBMS of a distributed node among an RDBMS-based distributed ledger management system according to an embodiment of the present invention.
11 is a conceptual diagram illustrating a method of declaring a trusted table used in a trusted RDBMS of a distributed node in an RDBMS-based distributed ledger management system according to an embodiment of the present invention.
12 is a conceptual diagram illustrating the configuration of a trust integrity constraint definition unit among a trusted table schema used in a trusted RDBMS of a distributed node in an RDBMS-based distributed ledger management system according to an embodiment of the present invention.
13 is a conceptual diagram illustrating the configuration of a trust-related option part of a trusted table schema used in a trusted RDBMS of a distributed node in an RDBMS-based distributed ledger management system according to an embodiment of the present invention.
14 is a flowchart illustrating a method of processing a transaction message in a trusted RDBMS of a distributed node in an RDBMS-based distributed ledger management system according to an embodiment of the present invention.

이하, 첨부한 도면들 및 후술되어 있는 내용을 참조하여 본 발명의 바람직한 실시 예들을 상세히 설명한다. 그러나, 본 발명은 여기서 설명되어지는 실시 예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 오히려, 여기서 소개되는 실시예들은 개시된 내용이 철저하고 완전해질 수 있도록 그리고 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 제공되어지는 것이다. 명세서 전체에 걸쳐서 동일한 참조번호들은 동일한 구성요소들을 나타낸다. 한편, 본 명세서에서 사용된 용어는 실시 예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급되지 않는 한 복수형도 포함된다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자가 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings and the content to be described later. However, the present invention is not limited to the embodiments described herein and may be embodied in other forms. Rather, the embodiments introduced herein are provided so that the disclosed subject matter may be thorough and complete, and that the spirit of the present invention may be sufficiently conveyed to those skilled in the art. Like reference numerals refer to like elements throughout. Meanwhile, the terms used herein are for the purpose of describing the embodiments and are not intended to limit the present invention. In this specification, the singular form also includes the plural form unless specifically stated in the phrase. As used herein, “comprises” and/or “comprising” means that the stated component, step, operation and/or element is the presence of one or more other components, steps, operations and/or elements. or addition is not excluded.

이하, 도면을 참조하여, 본 발명의 일 실시예에 따른 RDBMS 기반의 분산원장 관리 시스템 및 방법에 대하여 상세히 설명하기로 한다. Hereinafter, an RDBMS-based distributed ledger management system and method according to an embodiment of the present invention will be described in detail with reference to the drawings.

도 1은 본 발명의 일 실시예에 따른 RDBMS 기반의 분산원장 관리 시스템의 개략적인 구성을 나타내는 개념도이다.1 is a conceptual diagram illustrating a schematic configuration of an RDBMS-based distributed ledger management system according to an embodiment of the present invention.

본 발명의 일 실시예에 따른 RDBMS 기반의 분산원장 관리 시스템은 사용자 단말(100), 복수의 분산 노드(200)를 구비하는 분산 노드 그룹(300), 신뢰된 순서-스탬프 서버(400)를 포함할 수 있다.RDBMS-based distributed ledger management system according to an embodiment of the present invention includes a user terminal 100, a distributed node group 300 having a plurality of distributed nodes 200, and a trusted sequence-stamp server 400 can do.

사용자 단말(100)은 분산 노드 그룹에 속하는 분산 노드 중 임의의 분산 노드(200)에 접속하여 통신할 수 있으나, 신뢰된 순서-스탬프 서버(400)에 직접 접속할 수는 없다. 사용자 단말(100)에서 발생한 신규 거래 정보는 서비스 ID를 포함하는 거래 메시지의 형태로 접속한 분산 노드로 전달된다. The user terminal 100 can communicate by connecting to any distributed node 200 among the distributed nodes belonging to the distributed node group, but cannot directly access the trusted sequence-stamp server 400 . The new transaction information generated in the user terminal 100 is transmitted to the connected distributed node in the form of a transaction message including a service ID.

사용자 단말로부터 신규 거래 메시지를 수신한 분산 노드(200)는 서비스 ID에 따라 정해진 신뢰된 순서-스탬프 서버로 신규 거래 메시지를 전달한다. 하나의 서비스 ID에는 하나의 신뢰된 순서-스탬프 서버(400)만 지정되나, 복수의 서비스 ID를 위해 신뢰된 순서-스탬프 서버(400)를 복수로 구성할 수 있다. The distributed node 200 receiving the new transaction message from the user terminal transmits the new transaction message to the trusted order-stamp server determined according to the service ID. Only one trusted order-stamp server 400 is designated for one service ID, but a plurality of trusted order-stamp servers 400 can be configured for a plurality of service IDs.

신규 거래 메시지를 수신한 신뢰된 순서-스탬프 서버(400)는 거래 메시지의 추적을 위해 거래 메시지에 순서번호를 부여하고, 신뢰 검증에 사용하기 위해 거래 메시지의 내용을 이용하여 전자서명한 결과를 거래 메시지에 부여하여, 순서-스탬프가 부여된 거래 메시지로 만든다. 순서-스탬프가 부여된 거래 메시지는 신뢰된 순서-스탬프 서버(400)에 저장된다. 각 서비스 ID에 대해 하나씩 지정된 신뢰된 순서-스탬프 서버(400)가 메시지에 신뢰할 수 있는 순서번호를 부여하고, 신뢰된 순서번호가 부여된 메시지를 거래에 사용함으로써 거래의 추적이 용이하고 거래의 순서를 공정하게 처리가 가능하다.The trusted order-stamp server 400 that has received the new transaction message assigns a sequence number to the transaction message for tracking the transaction message, and uses the contents of the transaction message for trust verification to trade the digitally signed result. Add to the message, making it an order-stamped transactional message. The order-stamped transaction message is stored in the trusted order-stamp server 400 . The trusted sequence-stamp server 400 designated one for each service ID assigns a trusted sequence number to the message, and uses the message given the trusted sequence number for the transaction, thereby facilitating the tracking of the transaction and the order of the transaction. can be treated fairly.

신뢰된 순서-스탬프 서버(400)에 저장된 순서-스탬프가 부여된 거래 메시지는 임의의 분산 노드(200)가 요청하는 경우 요청한 분산 노드로 전달된다. 분산 노드(200)는 거래 메시지 요청시 자신이 이미 가지고 있는 거래 메시지의 최종 순서번호를 함께 전달한다. 신뢰된 순서-스탬프 서버(400)는 최종 순서번호 이후에 추가된 거래 메시지만 전달하여 중복을 방지한다. The order-stamped transaction message stored in the trusted order-stamp server 400 is delivered to the requested distribution node when any distribution node 200 requests it. The distributed node 200 transmits the final sequence number of the transaction message it already has when requesting the transaction message. The trusted sequence-stamp server 400 prevents duplication by delivering only the transaction message added after the final sequence number.

추가된 거래 메시지를 수신한 분산 노드(200)는 기존의 거래 메시지에 추가로 수신한 거래 메시지를 추가하여 저장한다. 분산 노드(200)는 순서-스탬프가 부여된 거래 메시지의 신뢰 정보를 검증하여 이상이 없는 경우, 거래 메시지의 데이터를 저장한다.The distributed node 200 receiving the added transaction message adds and stores the additionally received transaction message to the existing transaction message. The distributed node 200 verifies the trust information of the order-stamped transaction message and, if there is no abnormality, stores the transaction message data.

분산 노드(200)는 신뢰된 순서_스탬프 서버(400)와 동일한 거래 메시지를 저장하고 있으므로, 신뢰된 순서-스탬프 서버(400)에 접속하지 않고, 분산 노드(200)와 동일한 분산 노드 그룹에 속하는 다른 분산 노드(201)는 분산 노드(200)에 접속하여 추가된 거래 메시지를 전달받을 수 있다.Since the distributed node 200 stores the same transaction message as the trusted sequence_stamp server 400, it does not connect to the trusted sequence-stamp server 400 and belongs to the same distributed node group as the distributed node 200. Another distributed node 201 may access the distributed node 200 and receive the added transaction message.

사용자 단말(100), 분산 노드(200), 신뢰된 순서-스탬프 서버는 모두 컴퓨터 장치, 마이컴, 하드웨어 모듈, 소프트웨어 모듈 등으로 구현할 수 있으며, 각각의 장치는 서로 유선 또는 무선 통신망을 통해 접속할 수 있다.The user terminal 100, the distributed node 200, and the trusted order-stamp server can all be implemented with a computer device, a microcomputer, a hardware module, a software module, etc., and each device can be connected to each other through a wired or wireless communication network. .

도 2는 본 발명의 일 실시예에 따른 RDBMS 기반의 분산원장 관리 시스템에서 분산원장을 관리하는 방법을 나타내는 흐름도이다.2 is a flowchart illustrating a method of managing a distributed ledger in an RDBMS-based distributed ledger management system according to an embodiment of the present invention.

사용자 단말(100)에서 거래 메시지를 생성하고(S210), 임의의 분산 노드에 접속한다(S215). 사용자 단말(100)은 접속한 분산 노드(200)에 신규 거래 메시지를 전달한다(S220).The user terminal 100 generates a transaction message (S210) and accesses an arbitrary distributed node (S215). The user terminal 100 transmits a new transaction message to the connected distributed node 200 (S220).

신규 거래 메시지를 전달받은 분산 노드(200)는 거래 메시지에서 서비스 ID를 확인하고(S230), 서비스 ID에 대응하는 신뢰된 순서-스탬프 서버를 결정한다(S235). 분산 노드(200)는 신규 거래 메시지를 결정된 신뢰된 순서-스탬프 서버로 전달한다(S240)The distributed node 200 receiving the new transaction message checks the service ID in the transaction message (S230), and determines a trusted order-stamp server corresponding to the service ID (S235). The distributed node 200 transmits the new transaction message to the determined trusted order-stamp server (S240)

신뢰된 순서-스탬프 서버(400)는 전달된 신규 거래 메시지의 순서번호를 기존에 저장된 최종 번호보다 1 증가시켜 순서번호를 부여한다(S2245). 순서번호와 거래 메시지의 내용에 대해 전자서명하여 순서-스탬프가 부여된 거래 메시지로 만든다(S250). 순서-스탬프가 부여된 거래 메시지를 서버 메시지 큐에 저장한다(S2255).The trusted sequence-stamp server 400 gives a sequence number by increasing the sequence number of the delivered new transaction message by 1 compared to the last stored last number (S2245). The order number and the contents of the transaction message are digitally signed to make the order-stamped transaction message (S250). The order-stamped transaction message is stored in the server message queue (S2255).

분산 노드(200)가 신뢰된 순서-스탬프 서버에 접속해서(S260), 추가된 순서-스탬프가 부여된 거래 메시지를 요청하면(S265), 신뢰된 순서-스탬프 서버가 추가된 거래 메시지를 전달한다(S270).When the distributed node 200 accesses the trusted order-stamp server (S260) and requests a transaction message to which the added order-stamp is given (S265), the trusted order-stamp server delivers the added transaction message (S270).

추가 거래 메시지를 전달받은 분산 노드(200)는 노드 메시지 큐에 거래 메시지를 저장한다(S275). 분산 노드의 RDBMS가 신뢰 무결성 검사하여(S280) 이상이 없는 경우 거래 정보를 저장한다(S285). RDBMS에서 최종적으로 메시지를 저장하도록 함으로써 기존 시스템과 상호 운용이 가능하다.The distributed node 200 receiving the additional transaction message stores the transaction message in the node message queue (S275). The RDBMS of the distributed node checks the trust integrity (S280), and if there is no abnormality, the transaction information is stored (S285). Interoperability with existing systems is possible by allowing RDBMS to finally store messages.

사용자 단말(100)에서 거래 조회 요청을 하는 경우(S290), 분산 노드(200)에서 사용자 단말(100)로 조회 결과를 전달한다(S295).When the user terminal 100 makes a transaction inquiry request (S290), the distributed node 200 transmits the inquiry result to the user terminal 100 (S295).

도 3은 본 발명의 일 실시예에 따른 RDBMS 기반의 분산원장 관리 시스템의 구체적인 구성을 나타내는 구성도이다.3 is a configuration diagram illustrating a detailed configuration of an RDBMS-based distributed ledger management system according to an embodiment of the present invention.

사용자 단말(100)은 거래 메시지 생성부(105)와 거래 조회부(195)를 포함한다. 사용자로부터 입력을 받는 입력부(160), 사용자에게 결과를 표시하는 출력부(170), 분산 노드와 통신하는 통신부(180), 및 제어부(190)를 추가로 포함할 수 있다.The user terminal 100 includes a transaction message generating unit 105 and a transaction inquiry unit 195 . It may further include an input unit 160 that receives an input from a user, an output unit 170 that displays a result to the user, a communication unit 180 that communicates with the distributed node, and a control unit 190 .

거래 메시지 생성부(105)는 거래 정보를 서비스 ID와 거래문장을 포함하는 거래 메시지 형태로 생성하여, 분산 노드(200)의 메시지 수집자(220)로 전달한다.The transaction message generating unit 105 generates transaction information in the form of a transaction message including a service ID and a transaction sentence, and delivers it to the message collector 220 of the distributed node 200 .

도 4(a)를 참조하면, 거래 메시지(110)는 서비스 ID(111)와 거래문장(112)으로 구성된다. 서비스 ID(111)는 DBMS 계정, DATABASE 이름, TABLE 이름을 이용하여 작성할 수 있다. 예를 들어, DBMS 계정이 “www.travel.com”이고, DATABASE 이름이 “asia”이고, TABLE 이름이 “reservation”인 경우, 서비스 ID(111)는 “www.travel.com/asia/reservation”으로 설정할 수 있다.Referring to FIG. 4A , the transaction message 110 includes a service ID 111 and a transaction sentence 112 . The service ID 111 can be created using the DBMS account, DATABASE name, and TABLE name. For example, if the DBMS account is “www.travel.com”, the DATABASE name is “asia”, and the TABLE name is “reservation”, the service ID (111) is “www.travel.com/asia/reservation” can be set to

거래문장(112)은 SQL문으로 작성할 수 있다. 도 4(a)의 거래문장은 테이블 이름이 TABLE_NAM인 테이블의 COL1 값을 V1으로, COL2 값을 V2로 삽입하는 SQL 명령문이다. 거래문장(112)에는 순서번호(115)와 전자서명(117)을 삽입할 수 있도록 준비한다.The transaction sentence 112 may be written as an SQL statement. The transaction statement of FIG. 4(a) is an SQL statement that inserts the COL1 value of the table whose table name is TABLE_NAM into V1 and the COL2 value as V2. The transaction sentence 112 is prepared so that the sequence number 115 and the electronic signature 117 can be inserted.

신규 거래 메시지(110)는 분산 노드를 통해서 신뢰된 순서-스탬프 서버(400)로 전달되고, 신뢰된 순서-스탬프 서버에서 거래문장(112)에 순서번호(115)와 전자서명(117)을 추가하여 순서-스탬프를 부여한 거래 메시지를 만들고, 순서-스탬프를 부여한 거래 메시지는 신뢰된 순서-스탬프 서버의 서버 메시지 큐(440)에 저장한다.The new transaction message 110 is transmitted to the trusted order-stamp server 400 through the distributed node, and the order number 115 and the digital signature 117 are added to the transaction sentence 112 in the trusted order-stamp server. to create an order-stamped transaction message, and the order-stamped transaction message is stored in the server message queue 440 of the trusted order-stamp server.

서버 메시지 큐(440)에 저장된 순서-스탬프가 부여된 거래 메시지는 분산 노드의 메시지 구독자(230)를 통해서 노드 메시지 큐(240)에 저장된다. 순서-스탬프가 부여된 거래 메시지는 신뢰 무결성 검사후 이상이 없으면 신뢰된 RDBMS에 의해 수행되고, 그 결과 거래 정보가 저장된다.The order-stamped transaction messages stored in the server message queue 440 are stored in the node message queue 240 through the message subscribers 230 of the distributed node. The order-stamped transaction message is executed by the trusted RDBMS if there is no abnormality after the trust integrity check, and as a result, the transaction information is stored.

각 분산 노드는 서버 메시지 큐(440)에 의해 동일한 거래 메시지를 수신할 수 있으므로, 각 분산 노드의 신뢰된 RDBMS(251)에는 동일한 거래 정보가 저장된다.Since each distributed node can receive the same transaction message by the server message queue 440, the same transaction information is stored in the trusted RDBMS 251 of each distributed node.

사용자 단말(100)의 거래 조회부(195)는 임의의 분산 노드(201)에 접속하여, 신뢰된 RDBMS로부터 저장되어 있는 거래 정보들을 조회할 수 있다. 각 분산 노드의 신뢰된 RDBMS에 동일한 거래 정보가 저장되어 있으므로, 도 3에 나타낸 것처럼 신규 거래 메시지는 분산 노드(200)로 전송하고, 거래 조회는 다른 분산 노드(201)에 접속하여 거래 정보를 읽어올 수 있다.The transaction inquiry unit 195 of the user terminal 100 may access an arbitrary distributed node 201 to inquire transaction information stored from the trusted RDBMS. Since the same transaction information is stored in the trusted RDBMS of each distributed node, a new transaction message is transmitted to the distributed node 200 as shown in FIG. 3, and transaction inquiry accesses another distributed node 201 to read the transaction information. can come

거래 메시지 생성부(105) 및 거래 조회부(195)는 입력부(160), 출력부(170), 통신부(180) 및 제어부(190)의 기능을 포함하여 구성할 수 있다.The transaction message generating unit 105 and the transaction inquiry unit 195 may include functions of the input unit 160 , the output unit 170 , the communication unit 180 , and the control unit 190 .

분산 노드 그룹(300)은 복수의 분산 노드를 포함한다. 도 1과 도 3에는 임의의 분산 노드(200)와 다른 분산 노드(201)가 표시되어 있다. The distributed node group 300 includes a plurality of distributed nodes. 1 and 3, an arbitrary distributed node 200 and a different distributed node 201 are shown.

분산 노드(200)는 노드 환경설정 저장부(210), 메시지 수집자(220), 메시지 구독자(230), 노드 메시지 큐(240), 신뢰된 RDBMS(250)를 포함한다. The distributed node 200 includes a node configuration storage unit 210 , a message collector 220 , a message subscriber 230 , a node message queue 240 , and a trusted RDBMS 250 .

노드 환경설정 저장부(210)에는 서비스 ID(111)에 대응하는 신뢰된 순서-스탬프 서버에 대한 정보를 저장할 수 있다. 도 5를 참조하면, 서비스 ID가 “www.travel.com/asia/reservation”(510)인 경우, 신뢰된 순서-스탬프 서버는 “192.xxx.0.0.1:20001”(530)와 같이 설정할 수 있다. 동일한 분산 노드 그룹(300) 내의 모든 분산 노드(200)에 대해 동일한 환경설정을 함으로써, 분산 노드별로 수집되는 거래 메시지가 서비스 ID에 따라 단일한 신뢰된 순서-스탬프 서버(400)로 집계할 수 있다.The node configuration storage unit 210 may store information about a trusted order-stamp server corresponding to the service ID 111 . 5, if the service ID is “www.travel.com/asia/reservation” (510), the trusted order-stamp server is set as “192.xxx.0.0.1:20001” (530). can By setting the same environment settings for all distributed nodes 200 in the same distributed node group 300, transaction messages collected for each distributed node can be aggregated into a single trusted order-stamp server 400 according to the service ID. .

메시지 수집자(220)는 사용자 단말(100)의 신규 거래 메시지를 전달받아 신뢰된 순서-스탬프 서버(400)로 전달한다. 메시지 수집자(220)는 거래 메시지 수신부, 스탬프서버 결정부, 거래 메시지 송신부를 포함할 수 있다.The message collector 220 receives the new transaction message of the user terminal 100 and delivers it to the trusted order-stamp server 400 . The message collector 220 may include a transaction message receiver, a stamp server determiner, and a transaction message transmitter.

거래 메시시 수신부는 사용자 단말(100)의 거래메시지 생성부(105)에서 생성된 신규 거래 메시지를 수신한다. 신규 거래 메시지(110)는 서비스 ID(111)와 사용자 전자서명이 구비된 거래문장(112)을 포함한다. 스탬프서버 결정부는 수신된 신규 거래 메시지로부터 서비스 ID를 확인하여, 노드 환경설정 저장부(210)를 참조하여 신뢰된 순서-스탬프 서버(400)를 결정한다. 거래 메시지 송신부는 신뢰된 순서-스탬프 서버에 접속하여 중앙 메시지 수집자(420)에게 신규 거래 메시지를 전달한다.The transaction message receiving unit receives a new transaction message generated by the transaction message generating unit 105 of the user terminal 100 . The new transaction message 110 includes a service ID 111 and a transaction sentence 112 equipped with a user electronic signature. The stamp server determination unit confirms the service ID from the received new transaction message, and determines the trusted order-stamp server 400 with reference to the node configuration storage unit 210 . The transaction message transmitter connects to the trusted order-stamp server and delivers a new transaction message to the central message collector 420 .

메시지 구독자(230)는 신뢰된 순서-스탬프 서버의 서버 메시지 큐(440)로부터 신뢰된 순서-스탬프가 포함된 추가 거래 메시지를 수신한다. 한편, 도 3의 점선으로 도시한 것과 같이, 분산 노드(201)의 메시지 구독자(231)는 신뢰된 순서-스탬프 서버의 서버 메시지 큐(440) 뿐만 아니라, 다른 분산 노드의 노드 메시지 큐(240)로부터도 순서-스탬프가 부여된 거래 메시지를 수신할 수 있다. 수신된 뢰된 순서-스탬프가 포함된 추가 거래 메시지는 노드 메시지 큐(241)로 전달한다.The message subscriber 230 receives an additional transaction message containing the trusted order-stamp from the server message queue 440 of the trusted order-stamp server. On the other hand, as shown by the dotted line in Fig. 3, the message subscriber 231 of the distributed node 201 is not only the server message queue 440 of the trusted order-stamp server, but also the node message queue 240 of the other distributed nodes. You can also receive order-stamped transaction messages from Additional transaction messages containing the received order-stamps are forwarded to the node message queue 241 .

메시지 구독자(231)는 추가 메시지 요청부, 추가 메시지 수신부, 추가 메시지 전달부를 포함할 수 있다. 추가 메시지 요청부는 신뢰된 순서-스탬프 서버의 서버 메시지 큐(440) 또는 다른 분산 노드의 노드 메시지 큐(240)에 접속하여 추가 거래 메시지를 요청한다. 추가 메시지 수신부는 신뢰된 순서-스탬프 서버의 서버 메시지 큐(440) 또는 다른 분산 노드의 노드 메시지 큐(240)로부터 신뢰된 순서-스탬프가 포함된 추가 거래 메시지를 수신한다. 추가 메시지 전달부 수신된 신뢰된 순서-스탬프가 포함된 추가 거래 메시지를 노드 메시지 큐(241)로 전달한다.The message subscriber 231 may include an additional message requesting unit, an additional message receiving unit, and an additional message transmitting unit. The additional message request unit requests an additional transaction message by accessing the server message queue 440 of the trusted sequence-stamp server or the node message queue 240 of another distributed node. The additional message receiving unit receives the additional transaction message including the trusted order-stamp from the server message queue 440 of the trusted order-stamp server or the node message queue 240 of another distributed node. The additional message forwarding unit forwards the additional transaction message including the received trusted order-stamp to the node message queue 241 .

메시지 구독자(231)는 신뢰된 순서-스탬프 서버의 서버 메시지 큐(440) 또는 다른 분산 노드의 노드 메시지 큐(240)로 추가 거래 메시지를 요청하는 경우, 서비스 ID와 노드 메시지 큐의 마지막 순서번호를 전달하며 추가 거래 메시지를 요청할 수 있다. 서버 메시지 큐(440) 또는 노드 메시지 큐(240)는 서비스 ID에 해당하는 거래 메시지에서 마지막 순서번호 보다 큰 순서번호를 가진 거래 메시지를 검색해서 메시지 구독자(231)에게 전달할 수 있다. 즉, 메시지 구독자(231)는 신뢰된 순서-스탬프 서버의 서버 메시지 큐(440) 또는 다른 분산 노드의 노드 메시지 큐(240)로부터 서비스 ID에 해당하는 메시지 중 마지막 순서번호보다 큰 순서번호를 가진 메시지만 추가 거래 메시지로 수신하여, 중복을 방지할 수 있다.When the message subscriber 231 requests an additional transaction message to the server message queue 440 of the trusted sequence-stamp server or the node message queue 240 of another distributed node, the service ID and the last sequence number of the node message queue and can request additional transaction messages. The server message queue 440 or the node message queue 240 may retrieve a transaction message having a sequence number greater than the last sequence number from the transaction message corresponding to the service ID and deliver it to the message subscriber 231 . That is, the message subscriber 231 has a sequence number greater than the last sequence number among the messages corresponding to the service ID from the server message queue 440 of the trusted sequence-stamp server or the node message queue 240 of another distributed node. Only by receiving it as an additional transaction message, duplication can be avoided.

노드 메시지 큐(240)는 메시지 구독자(231)로부터 전달된 신뢰된 순서-스탬프가 포함된 추가 거래 메시지를 저장하고, 신뢰된 RDBMS(251)로 신뢰된 순서-스탬프가 포함된 추가 거래 메시지를 전달한다.The node message queue 240 stores the additional transaction message with the trusted order-stamp delivered from the message subscriber 231, and delivers the additional transaction message with the trusted order-stamp to the trusted RDBMS 251. do.

신뢰된 RDBMS(250)는 추가 거래 메시지 중 신뢰된 순서-스탬프를 확인하여 신뢰 무결성 검사를 한 후, 데이터를 저장할 수 있다. 신뢰된 RDBMS(251)는 메시지 파싱부, 신뢰 검증부, 데이터 검증부, 신뢰 테이블 저장부를 포함한다. The trusted RDBMS 250 may store the data after verifying the trusted order-stamp of the additional transaction message and performing a trust integrity check. The trusted RDBMS 251 includes a message parsing unit, a trust verification unit, a data verification unit, and a trust table storage unit.

메시지 파싱부는 추가 거래 메시지를 파싱한다. 신뢰 검증부는 입력하려는 데이터가 신뢰 테이블의 데이터인 경우, 신뢰된 RDBMS(251)가 신뢰 테이블의 테이블 스키마에 정의된 신뢰 제약조건에 따라 신뢰된 순서-스탬프를 확인하여 신뢰 무결성 검증을 실시한다. 데이터 검증부는 데이터 무결성을 검증한다. 신뢰 테이블 저장부는 상기 신뢰 무결성 검증과 데이터 무결성 검증을 통과한 데이터만 신뢰 테이블에 저장한다.The message parsing unit parses the additional transaction message. When the data to be input is data of the trust table, the trust verification unit verifies trust integrity by checking the order-stamp trusted by the trusted RDBMS 251 according to the trust constraint defined in the table schema of the trust table. The data verification unit verifies data integrity. The trust table storage unit stores only data that has passed the trust integrity verification and data integrity verification in the trust table.

신뢰된 순서-스탬프 서버(400)는 서버 환경설정 저장부(410), 중앙 메시지 수집자(420), 순서-스탬프 생성자(430), 서버 메시지 큐(440)를 포함한다.The trusted order-stamp server 400 includes a server preference storage 410 , a central message aggregator 420 , an order-stamp generator 430 , and a server message queue 440 .

서버 환경설정 저장부(410)는 서버가 처리해야할 서비스 ID의 리스트를 지정하는 데 사용할 수 있다.The server environment setting storage unit 410 may be used to designate a list of service IDs to be processed by the server.

중앙 메시지 수집자(420)는 분산 노드의 메시지 수집자(220)로부터 신규 거래 메시지를 수신하고, 신규 거래 메시지에서 서비스 ID를 확인하여, 서버 메시지 큐(440)에 저장된 최종 순서번호에 1을 추가하여 신규 거래 메시지의 순서번호로 부여하고, 순서번호가 부여된 거래 메시지를 순서-스탬프 생성자(430)에게 전달한다.The central message collector 420 receives a new transaction message from the message collector 220 of the distributed node, checks the service ID in the new transaction message, and adds 1 to the final sequence number stored in the server message queue 440 to give the order number of the new transaction message, and transfer the transaction message to which the order number is assigned to the order-stamp generator 430 .

중앙 메시지 수집자(420)는 순서번호 검색부, 순서번호 부여부, 시간 스탬프 생성부, 순서 메시지 전달부를 포함할 수 있다. 순서번호 검색부는 서비스 ID에 대해 서버 메시지 큐(440)에 저장된 최종 순서번호를 검색한다. 순서번호 부여부는 최종 순서번호에 1을 추가한 값을 신규 거래 메시지의 순서번호로 부여한다. 시간 스탬프 생성부는 신규 거래 메시지에 순서번호를 설정한 시간을 시간스탬프로 생성한다. 순서 메시지 전달부는 순서번호가 부여된 거래 메시지를 순서-스탬프 생성자(430)에게 전달한다.The central message collector 420 may include a sequence number search unit, a sequence number granter, a time stamp generator, and an order message delivery unit. The sequence number search unit searches the last sequence number stored in the server message queue 440 for the service ID. The sequence number assigning unit assigns a value obtained by adding 1 to the final sequence number as the sequence number of the new transaction message. The time stamp generating unit generates the time at which the sequence number is set in the new transaction message as a timestamp. The order message transfer unit transmits the transaction message to which the order number is assigned to the order-stamp generator 430 .

순서-스탬프 생성자(430)는 순서번호가 부여된 거래 메시지에서 순서번호와 거래 메시지의 내용에 대해 신뢰된 순서-스탬프 서버의 개인키로 전자서명한다. 전자서명한 결과를 거래 메시지에 삽입하여 신뢰된 순서-스탬프가 부여된 거래 메시지를 만든다. 신뢰된 순서-스탬프가 부여된 거래 메시지를 서버 메시지 큐(440)에 전달한다.The sequence-stamp generator 430 digitally signs the sequence number and the content of the transaction message in the sequence numbered transaction message with the trusted sequence-stamp server's private key. The digitally signed result is inserted into the transaction message to create a trusted order-stamped transaction message. Forwards the trusted order-stamped transaction message to the server message queue 440 .

서버 메시지 큐(440)는 신뢰된 순서-스탬프가 부여된 거래 메시지를 저장한다. 서버 메시지 큐(440)는 메시지 요청 수신부, 거래 메시지 검색부, 메시지 요청 응답부를 포함할 수 있다.Server message queue 440 stores trusted order-stamped transaction messages. The server message queue 440 may include a message request receiving unit, a transaction message searching unit, and a message request responding unit.

메시지 요청 수신부는 분산 노드의 메시지 구독자(230)로부터 서비스 ID와 노드 메시지 큐(240)의 마지막 순서번호를 포함하는 추가 거래 메시지 요청을 수신한다. 거래 메시지 검색부는 상기 서비스 ID에 해당하는 서버 메시지 큐(440)에 저장된 메시지 중 상기 마지막 순서번호보다 큰 순서번호를 가진 거래 메시지를 검색한다. 메시지 요청 응답부는 상기 검색된 거래 메시지를 포함하는 추가 거래 메시지 응답을 분산 노드의 메시지 구독자(230)에게 송신한다.The message request receiving unit receives an additional transaction message request including the service ID and the last sequence number of the node message queue 240 from the message subscriber 230 of the distributed node. The transaction message search unit searches for a transaction message having a sequence number greater than the last sequence number among messages stored in the server message queue 440 corresponding to the service ID. The message request response unit transmits an additional transaction message response including the searched transaction message to the message subscriber 230 of the distributed node.

도 4는 본 발명의 일 실시예에 따른 RDBMS 기반의 분산원장 관리 시스템에서 사용하는 거래 메시지와 순서-스탬프가 부여된 거래 메시지를 나타내는 개념도이다.4 is a conceptual diagram illustrating a transaction message and an order-stamped transaction message used in an RDBMS-based distributed ledger management system according to an embodiment of the present invention.

도 4(a)는 사용자 단말에서 생성된 거래 메시지(110)를 나타낸다. 거래 메시지(110)는 서비스 ID(111)와 거래문장(112)으로 구성된다. 서비스 ID(111)는 DBMS 계정, DATABASE 이름, TABLE 이름을 이용하여 작성할 수 있다. 예를 들어, DBMS 계정이 www.travel.com이고, DATABASE 이름이 asia이고, TABLE 이름이 reservation인 경우, 서비스 ID(111)는 www.travel.com/asia/reservation으로 설정할 수 있다.Figure 4 (a) shows a transaction message 110 generated in the user terminal. The transaction message 110 is composed of a service ID 111 and a transaction sentence 112 . The service ID 111 can be created using the DBMS account, DATABASE name, and TABLE name. For example, if the DBMS account is www.travel.com, the DATABASE name is asia, and the TABLE name is reservation, the service ID 111 may be set to www.travel.com/asia/reservation.

거래문장(112)은 SQL문으로 작성할 수 있다. 도 4(a)의 거래문장은 테이블 이름이 TABLE_NAM인 테이블의 COL1 값을 V1으로, COL2 값을 V2로 삽입하는 SQL 명령문이다. 거래문장(112)에는 순서번호(115)를 삽입할 수 있는 “@TOS_ID” 필드와 전자서명(117)을 삽입할 수 있는 “@TOS_SIGN” 필드를 준비한다.The transaction sentence 112 may be written as an SQL statement. The transaction statement of FIG. 4(a) is an SQL statement that inserts the COL1 value of the table whose table name is TABLE_NAM into V1 and the COL2 value as V2. A "@TOS_ID" field into which the sequence number 115 can be inserted and a "@TOS_SIGN" field into which a digital signature 117 can be inserted are prepared in the transaction sentence 112 .

도 4(b)는 중앙 메시지 수집자(420)가 만든 순서가 부여된 거래 메시지를 나타낸다. 중앙 메시지 수집자(420)는 서버 메시지 큐(440)에 저장된 최종 순서번호에 1을 추가하여 신규 거래 메시지의 순서번호(425)로 부여한다. 순서번호(115) 필드 값으로 “123”(425)이 부여되어 있다.Figure 4 (b) shows the transaction message given the order created by the central message aggregator 420. The central message aggregator 420 adds 1 to the final sequence number stored in the server message queue 440 and gives it as the sequence number 425 of the new transaction message. “123” (425) is assigned as a value of the sequence number 115 field.

도 4(c)는 순서-스탬프 생성자(430)가 만든 순서-스탬프가 부여된 거래 메시지를 나타낸다. 중앙 메시지 수집자는 순서번호와 거래 메시지의 내용에 대해 신뢰된 순서-스탬프 서버의 개인키로 전자서명하고, 그 결과를 거래 메시지에 삽입하여 신뢰된 순서-스탬프가 부여된 거래 메시지 또는 순서-스탬프가 포함된 거래 메시지를 만든다. 순서번호(115)의 필드값으로 “123”(425)이 부여되어 있고, 추가로 전자서명(117) 필드 값으로 “30450221008...”(437)가 부여되어 있다. 신뢰된 순서-스탬프가 부여된 거래 메시지는 서버 메시지 큐(440)에 전달된다.Figure 4 (c) shows the order-stamped transaction message created by the order-stamp generator 430. The central message collector digitally signs the sequence number and the content of the transaction message with the trusted sequence-stamp server's private key, and inserts the result into the transaction message to include a trusted sequence-stamped transaction message or sequence-stamp. Create a transaction message. “123” (425) is assigned as a field value of the sequence number 115, and “30450221008...” 437 is additionally assigned as a field value of the digital signature 117. The trusted order-stamped transaction message is delivered to the server message queue 440 .

도 5는 본 발명의 일 실시예에 따른 RDBMS 기반의 분산원장 관리 시스템 중 분산 노드의 노드 환경설정 저장부에 기록되는 서비스 ID와 신뢰된 순서-스탬프 서버를 나타내는 개념도이다.5 is a conceptual diagram illustrating a service ID and a trusted sequence-stamp server recorded in a node environment setting storage unit of a distributed node in an RDBMS-based distributed ledger management system according to an embodiment of the present invention.

노드 환경설정 저장부(210)에는 서비스 ID(111)에 대응하는 신뢰된 순서-스탬프 서버에 대한 정보를 저장할 수 있다. 서비스 ID가 “www.travel.com/asia/reservation”(510)인 경우, 신뢰된 순서-스탬프 서버는 “192.xxx.0.0.1:20001”(530)와 같이 설정할 수 있다. 동일한 분산 노드 그룹(300) 내의 모든 분산 노드(200)에 대해 동일한 환경설정을 함으로써, 분산 노드별로 수집되는 거래 메시지가 서비스 ID에 따라 단일한 신뢰된 순서-스탬프 서버(400)로 집계할 수 있다.The node configuration storage unit 210 may store information about a trusted order-stamp server corresponding to the service ID 111 . If the service ID is “www.travel.com/asia/reservation” (510), the trusted order-stamp server may be set as “192.xxx.0.0.1:20001” (530). By setting the same environment settings for all distributed nodes 200 in the same distributed node group 300, transaction messages collected for each distributed node can be aggregated into a single trusted order-stamp server 400 according to the service ID. .

도 6은 본 발명의 일 실시예에 따른 RDBMS 기반의 분산원장 관리 시스템 중 분산 노드의 새로 발생한 거래 메시지를 관리하는 방법을 나타내는 순서도이다.6 is a flowchart illustrating a method of managing a newly generated transaction message of a distributed node in an RDBMS-based distributed ledger management system according to an embodiment of the present invention.

분산 노드(200)의 메시지 수집자(220)가 사용자 단말(100)의 거래메시지 생성부(105)에서 생성된 개래 메시지를 수신한다(S620). 거래 메시지(110)는 서비스 ID(111)와, 사용자 전자서명이 구비된 거래문장(112)을 포함한다.The message collector 220 of the distributed node 200 receives the open message generated by the transaction message generator 105 of the user terminal 100 (S620). The transaction message 110 includes a service ID 111 and a transaction sentence 112 with a user digital signature.

메시지 수집자(220)는 수신된 신규 거래 메시지로부터 서비스 ID를 확인하고(S630), 노드 환경설정 저장부(210)를 참조하여 신뢰된 순서-스탬프 서버(400)를 결정한다(S632). 메시지 수집자(220)가 신뢰된 순서-스탬프 서버(400)에 접속하여 중앙 메시지 수집자(420)에게 사용자 단말로부터 수신받은 신규 거래 메시지를 송신한다(S640).The message collector 220 checks the service ID from the received new transaction message (S630), and determines the trusted order-stamp server 400 with reference to the node configuration storage unit 210 (S632). The message collector 220 transmits a new transaction message received from the user terminal to the central message collector 420 by accessing the trusted order-stamp server 400 (S640).

도 7은 본 발명의 일 실시예에 따른 RDBMS 기반의 분산원장 관리 시스템 중 분산 노드의 순서-스탬프가 부여된 메시지를 관리하는 방법을 나타내는 순서도이다.7 is a flowchart illustrating a method of managing an order-stamped message of a distributed node in an RDBMS-based distributed ledger management system according to an embodiment of the present invention.

분산 노드(200)의 메시지 구독자(231)가 신뢰된 순서-스탬프 서버의 서버 메시지 큐(440) 또는 다른 분산 노드의 노드 메시지 큐(240)에 접속하여(S760), 추가 거래 메시지를 요청한다(S765).The message subscriber 231 of the distributed node 200 accesses the server message queue 440 of the trusted order-stamp server or the node message queue 240 of another distributed node (S760), and requests an additional transaction message ( S765).

메시지 구독자(231)가 신뢰된 순서-스탬프 서버의 서버 메시지 큐(440) 또는 다른 분산 노드의 노드 메시지 큐(240)로부터 신뢰된 순서-스탬프가 포함된 추가 거래 메시지를 수신한다(S770). 메시지 구독자(231)가 수신된 신뢰된 순서-스탬프가 포함된 추가 거래 메시지를 노드 메시지 큐(241)로 전달한다. The message subscriber 231 receives an additional transaction message including the trusted order-stamp from the server message queue 440 of the trusted order-stamp server or the node message queue 240 of another distributed node (S770). The message subscriber 231 forwards the additional transaction message containing the received trusted order-stamp to the node message queue 241 .

노드 메시지 큐(241)가 신뢰된 순서-스탬프가 포함된 추가 거래 메시지를 저장하고(S775), 저장된 추가 거래 메시지를 신뢰된 RDBMS(251)로 전달한다.The node message queue 241 stores the additional transaction message including the trusted order-stamp (S775), and delivers the stored additional transaction message to the trusted RDBMS 251.

신뢰된 RDBMS(251)가 추가 거래 메시지 중 신뢰된 순서-스탬프를 확인하여 신뢰 무결성 검사를 한(S780) 후, 데이터를 저장한다(S785).The trusted RDBMS 251 checks the trusted sequence-stamp of the additional transaction message, performs a trust integrity check (S780), and then stores the data (S785).

도 8은 본 발명의 일 실시예에 따른 RDBMS 기반의 분산원장 관리 시스템 중 분산 노드의 메시지 구독자와 신뢰된 순서-스탬프 서버의 서버 메시지 큐 사이의 프로토콜을 나타내는 흐름도이다.8 is a flowchart illustrating a protocol between a message subscriber of a distributed node and a server message queue of a trusted order-stamp server in an RDBMS-based distributed ledger management system according to an embodiment of the present invention.

분산 노드(201)의 메시지 구독자(231)는 신뢰된 순서-스탬프 서버의 서버 메시지 큐(440)로 접속한다(S860). 분산 노드(201)의 메시지 구독자(231)는 신뢰된 순서-스탬프 서버의 서버 메시지 큐(440) 뿐만 아니라 다른 분산 노드(200)의 노드 메시지 큐(240)로 접속할 수 있다(S860). 이후, 추가 거래 메시지를 요청한다(S865). 이 때, 추가 거래 메세지 요청과 함께 요청PARAMETER1로 서비스 ID를, 요청PARAMETER2로 노드 메시지 큐(241)에 있는 메세지의 마지막 순서번호를 전달한다.The message subscriber 231 of the distributed node 201 connects to the server message queue 440 of the trusted order-stamp server (S860). The message subscriber 231 of the distributed node 201 may connect to the node message queue 240 of the other distributed node 200 as well as the server message queue 440 of the trusted order-stamp server (S860). Thereafter, an additional transaction message is requested (S865). At this time, the service ID is transmitted to the request PARAMETER1 and the last sequence number of the message in the node message queue 241 to the request PARAMETER2 together with the additional transaction message request.

그 결과, 서버 메시지 큐(440)는 분산 노드의 메시지 구독자(230)로부터 서비스 ID와 노드 메시지 큐(240)의 마지막 순서번호를 포함하는 추가 거래 메시지 요청을 수신하게 된다(S865). 서버 메시지 큐(440)는 요청PARAMETER1의 서비스 ID에 해당하는 거래 메시지를 확인하고(S867), 저장된 메시지 중 요청PARAMETER2의 마지막 순서번호 보다 큰 순서번호를 가진 거래 메시지를 검색한다(S868). 서버 메시지 큐(440)가 분산 노드의 메시지 구독자(230)에게 검색된 거래 메시지를 포함하는 추가 거래 메시지 응답을 송신한다(S870).As a result, the server message queue 440 receives an additional transaction message request including the service ID and the last sequence number of the node message queue 240 from the message subscribers 230 of the distributed node (S865). The server message queue 440 checks the transaction message corresponding to the service ID of the request PARAMETER1 (S867), and searches for a transaction message having a sequence number greater than the last sequence number of the request PARAMETER2 among the stored messages (S868). The server message queue 440 transmits an additional transaction message response including the searched transaction message to the message subscribers 230 of the distributed node (S870).

그 결과, 메시지 구독자(231)는 신뢰된 순서-스탬프 서버의 서버 메시지 큐(440) 또는 다른 분산 노드의 노드 메시지 큐(240)로부터 상기 서비스 ID에 해당하는 메시지 중 상기 마지막 순서번호보다 큰 순서번호를 가진 메시지만 추가 거래 메시지로 수신하여 중복을 방지할 수 있다.As a result, the message subscriber 231 receives a sequence number greater than the last sequence number among the messages corresponding to the service ID from the server message queue 440 of the trusted sequence-stamp server or the node message queue 240 of another distributed node. Only messages with

도 9는 본 발명의 일 실시예에 따른 RDBMS 기반의 분산원장 관리 시스템 중 신뢰된 순서-스탬프 서버의 관리방법을 나타내는 순서도이다.9 is a flowchart illustrating a method of managing a trusted order-stamp server in an RDBMS-based distributed ledger management system according to an embodiment of the present invention.

신뢰된 순서-스탬프 서버(400)의 중앙 메시지 수집자(420)가 분산 노드의 메시지 수집자(220)로부터 신규 거래 메시지를 수신한다(S940). 중앙 메시지 수집자(420)가 신규 거래 메시지에서 서비스 ID를 확인한다(S943). The trusted order-stamp server 400 receives a new transaction message from the central message collector 420 of the distributed node message collector 220 (S940). The central message collector 420 checks the service ID in the new transaction message (S943).

중앙 메시지 수집자(420)가 서비스 ID에 대해 서버 메시지 큐(440)에 저장된 최종 순서번호를 검색한다. 최종 순서번호에 1을 추가한 값을 신규 거래 메시지에 순서번호로 부여한다(S945). The central message aggregator 420 retrieves the last sequence number stored in the server message queue 440 for the service ID. A value obtained by adding 1 to the final sequence number is assigned to the new transaction message as a sequence number (S945).

중앙 메시지 수집자(420)는 신규 순서번호를 설정한 시간을 시간스탬프로 생성할 수 있다. 순서번호가 부여된 거래 메시지를 순서-스탬프 생성자(430)에게 전달한다.The central message aggregator 420 may generate a time when a new sequence number is set as a timestamp. A transaction message to which the sequence number is assigned is transmitted to the sequence-stamp generator 430 .

순서-스탬프 생성자(430)가 상기 순서번호가 부여된 거래 메시지에서 순서번호와 거래 메시지의 내용에 대해 전자서명하고, 그 내용을 거래 메시지에 삽입하여 신뢰된 순서-스탬프가 부여된 거래 메시지를 생성한다(S950). 신뢰된 순서-스탬프가 추가된 거래 메시지를 서버 메시지 큐(440)에 전달한다.The order-stamp generator 430 digitally signs the order number and the contents of the transaction message in the transaction message to which the order number is assigned, and inserts the contents into the transaction message to generate a trusted order-stamped transaction message do (S950). The trusted order-stamped transaction message is delivered to the server message queue 440 .

서버 메시지 큐(440)가 신뢰된 순서-스탬프가 부여된 거래 메시지를 추가 거래 메시지로 저장한다(S955).The server message queue 440 stores the trusted order-stamped transaction message as an additional transaction message (S955).

도 10은 본 발명의 일 실시예에 따른 RDBMS 기반의 분산원장 관리 시스템 중 분산 노드의 신뢰된 RDBMS에서 사용하는 신뢰할 수 있는 테이블 스키마의 구성을 나타내는 개념도이다.10 is a conceptual diagram illustrating a configuration of a trusted table schema used in a trusted RDBMS of a distributed node among an RDBMS-based distributed ledger management system according to an embodiment of the present invention.

신뢰된 RDBMS(250)는 종래의 RDBMS가 수행하는 데이터의 논리적 무결성 정의 및 강제, 검증 기능 뿐만 아니라, 데이터 위변조 등에 대한 신뢰 무결성의 정의 및 강제, 검증 기능까지 지원되는 RDBMS로 동작하는 특징이 있다. 신뢰된 RDBMS(250)는 구체적으로 다음의 3원칙을 데이터 무결성 관리에 적용함으로써 데이터 자체에 대한 신뢰를 검증할 수 있다.The trusted RDBMS 250 has a characteristic of operating as an RDBMS that supports not only the logical integrity definition, enforcement, and verification functions of data performed by the conventional RDBMS, but also the definition, enforcement, and verification functions of trust integrity for data forgery and falsification. The trusted RDBMS 250 can verify trust in data itself by specifically applying the following three principles to data integrity management.

[제1조건 레코드 신뢰 무결성] [1st condition record trust integrity]

“거래 레코드의 속성에는 반드시 이 레코드의 신뢰 무결성을 검증하기 위한 전자서명 값을 갖는 속성을 반드시 포함해야 하며, 포함된 전자서명의 값이 해당 테이블의 스키마에서 지정한 전자서명 방법에 따라 검증되는 경우에만 신뢰할 수 있다”“The attribute of a transaction record must include an attribute having a digital signature value to verify the trust integrity of this record, and only when the included digital signature value is verified according to the digital signature method specified in the schema of the table. can be trusted”

[제2조건 참조 신뢰 무결성] [Second Condition See Trust Integrity]

“제1규칙이 적용된 테이블이 참조하는 테이블 또한 제1규칙이 적용되어야 한다.”“The table referenced by the table to which the first rule is applied must also be subject to the first rule.”

[제3조건 갱신 불가] [No renewal of condition 3]

“생성된 거래메시지는 삭제되거나 갱신 될 수 없다”“The created transaction message cannot be deleted or updated”

이상의 세 가지 조건은 스키마로 정의 할 수 있으며, 세 가지 신뢰 무결성 제약조건의 정의를 포함한 스키마는 신뢰할 수 있는 스키마(1000)이다. The above three conditions can be defined as a schema, and the schema including the definition of the three trust integrity constraints is the trusted schema 1000 .

도 10은 신뢰할 수 있는 테이블 스키마(1000)의 구성을 나타낸다. 신뢰할 수 있는 테이블 스키마(1000)는 테이블의 이름 타입, 생성조건 등을 정의하는 선언부(1100), 테이블의 구조와 컬럼의 속성 그리고 컬럼별 제약조건을 정의하는 몸통부(1200), 기타 테이블의 옵션을 정의하는 테이블 옵션부(1300)를 포함한다.10 shows the configuration of the trusted table schema 1000 . The reliable table schema 1000 includes a declaration unit 1100 that defines the table name type, creation condition, etc., a body unit 1200 that defines the table structure and column attributes and constraints for each column, and other tables. It includes a table option unit 1300 for defining options.

도 11은 본 발명의 일 실시예에 따른 RDBMS 기반의 분산원장 관리 시스템 중 분산 노드의 신뢰된 RDBMS에서 사용하는 신뢰할 수 있는 테이블을 선언하는 방법을 나타내는 개념도이다.11 is a conceptual diagram illustrating a method of declaring a trusted table used in a trusted RDBMS of a distributed node in an RDBMS-based distributed ledger management system according to an embodiment of the present invention.

도 11(a)는 신뢰 무결성 제약조건을 받지 않는 테이블의 선언을 나타낸다.11(a) shows the declaration of a table that is not subject to the trust integrity constraint.

도 11(b)는 신뢰 무결성 제약조건을 따르는 테이블의 선언을 나타낸다. CREATE 명령어 뒤에 TRUSTED 키워드(1105)를 사용하여 신뢰 테이블임을 선언한다. 신뢰 무결성 제약조건을 받는 경우 별도의 키워드를 사용하여, 기존 시스템의 신뢰 무결성 제약조건을 받지 않는 테이블과 상호 운용이 가능하다.11(b) shows the declaration of a table conforming to the trust integrity constraint. After the CREATE command, use the TRUSTED keyword (1105) to declare that it is a trusted table. When receiving the trust integrity constraint, a separate keyword can be used to interoperate with tables that are not subject to the trust integrity constraint of the existing system.

도 12는 본 발명의 일 실시예에 따른 RDBMS 기반의 분산원장 관리 시스템 중 분산 노드의 신뢰된 RDBMS에서 사용하는 신뢰할 수 있는 테이블 스키마 중 신뢰 무결성 제약조건 정의부의 구성을 나타내는 개념도이다.12 is a conceptual diagram illustrating the configuration of a trust integrity constraint definition unit among a trusted table schema used in a trusted RDBMS of a distributed node in an RDBMS-based distributed ledger management system according to an embodiment of the present invention.

도 10에서 테이블 몸통부(1200)는 컬럼정의부(1210), 논리적 무결성 제약조건 정의부(1220), 신뢰 무결성 제약조건 정의부(1230)를 포함한다.In FIG. 10 , the table body 1200 includes a column definition unit 1210 , a logical integrity constraint definition unit 1220 , and a trust integrity constraint definition unit 1230 .

컬럼정의부(1210)는 테이블을 구성하는 컬럼과 컬럼의 데이터 타입을 정의한다. 논리적 무결성 제약조건 정의부(1220)는 PRIMARY KEY, UNIQUE, FOREIGN KEY 등과 같은 논리적 무결성 제약조건을 정의한다. 신뢰 무결성 제약조건 정의부(1230)는 전자서명 검증에 관련된 신뢰 무결성 제약조건을 정의한다.The column definition unit 1210 defines the columns constituting the table and the data types of the columns. The logical integrity constraint definition unit 1220 defines logical integrity constraints such as PRIMARY KEY, UNIQUE, FOREIGN KEY, and the like. The trust integrity constraint definition unit 1230 defines a trust integrity constraint related to digital signature verification.

도 12(a)는 신뢰 무결성 제약조건 정의부의 구성을 나타내며, 도 12(b)는 도 12(a)에 대응하는 제약조건을 굵게 표시한 것이다. Fig. 12(a) shows the configuration of the trust integrity constraint definition unit, and Fig. 12(b) shows the constraint conditions corresponding to Fig. 12(a) in bold.

레코드 신뢰성 제약조건(1331)과 순서-스탬프 제약조건(1232) 등을 정의하여 신뢰 무결성에 위배되는 레코드가 생성되지 않도록 데이터베이스를 강제한다.By defining the record reliability constraint 1331 and the order-stamp constraint 1232 , the database is forced so that records that violate trust integrity are not generated.

도 12(a)에서, 레코드 신뢰성 제약조건(1231)은 “CONSTRAINT SIGNATURE(COL4) INPUT(COL2) VERIFY KEY(COL3)” 부분을 나타내고, 신뢰된 순서-스탬프 제약조건(1232)은 “CONSTRAINT TOS_NO(COL1) SIGNATURE(COL5)” 부분을 나타낸다.In Fig. 12(a), the record reliability constraint 1231 represents the "CONSTRAINT SIGNATURE(COL4) INPUT(COL2) VERIFY KEY(COL3)" part, and the trusted order-stamp constraint 1232 is "CONSTRAINT TOS_NO( COL1) SIGNATURE(COL5)”.

도 13은 본 발명의 일 실시예에 따른 RDBMS 기반의 분산원장 관리 시스템 중 분산 노드의 신뢰된 RDBMS에서 사용하는 신뢰할 수 있는 테이블 스키마 중 신뢰관련 옵션부의 구성을 나타내는 개념도이다.13 is a conceptual diagram illustrating the configuration of a trust-related option part of a trusted table schema used in a trusted RDBMS of a distributed node in an RDBMS-based distributed ledger management system according to an embodiment of the present invention.

도 10에서 테이블 옵션부(1300)는, 테이블에 입력데이터의 국가별 언어 인코딩규칙을 정의하는 인코딩 옵션부(1310), 데이터베이스 엔진을 선택하는 DB엔진 옵션부(1320), 기타 성능이나 최대 레코드 개 수등 다양한 옵션을 설정하는 기타 테이블 옵션부(1330), 및 신뢰 관련한 다양한 옵션을 선택할 수 있는 신뢰 관련 옵션부(1340)를 포함한다. In FIG. 10, the table option unit 1300 includes an encoding option unit 1310 that defines a language encoding rule for each country of input data in a table, a DB engine option unit 1320 that selects a database engine, and other performance or maximum number of records. It includes an other table option unit 1330 for setting various options, such as the number, and a trust-related option unit 1340 for selecting various options related to trust.

도 13(a)에서, 테이블 옵선부(1300) 중 신뢰 관련 옵션부(1340)는, 암호화 기법에서 필요한 설정값을 정의하기 위한 전자서명 옵션(1341), 테이블 발행자를 확인하고 스키마 정보의 무결성을 검증하기 위하여 사용되는 테이블 발행자 공개키(1342), 자식(Child)관계를 갖는 테이블을 지정하기 위한 테이블 참조 공개키(1343), 순서-스탬프의 전자서명을 검증하기 위한 키를 지정하기 위한 신뢰된 순서-스탬프 서버 공개키(1344), 및 테이블 시크마의 무결성 검증을 위한 테이블 스키마 전자서명(1345)을 포함한다.In Fig. 13(a), the trust-related option unit 1340 of the table option unit 1300 checks the electronic signature option 1341 for defining the setting values required in the encryption technique, the table issuer, and checks the integrity of the schema information. The table issuer public key 1342 used for verification, the table reference public key 1343 for specifying a table having a child relationship, and a trusted key for specifying a key for verifying the digital signature of the order-stamp It includes an order-stamp server public key 1344, and a table schema digital signature 1345 for verifying the integrity of the table schema.

도 13(b)에서, 전자서명 옵션(1341)은 “SECP256K1”, 테이블 발행자 공개키(1342)는 “010203 ...”, 테이블 참조 공개키(1343)는 “020304 ...”, 신뢰된 순서-스탬프 서버 공개키(1344)는 “030405 ...”, 테이블 스키마 전자서명(1345)은 “040506 ...”로 설정된 것을 나타낸다.In Fig. 13(b), the digital signature option 1341 is “SECP256K1”, the table issuer public key 1342 is “010203 ...”, the table reference public key 1343 is “020304 ...”, and the trusted The order-stamp server public key 1344 indicates that it is set to “030405 ...”, and the table schema digital signature 1345 is set to “040506 ...”.

도 14는 본 발명의 일 실시예에 따른 RDBMS 기반의 분산원장 관리 시스템 중 분산 노드의 신뢰된 RDBMS에서 거래 메시지를 처리하는 방법을 나타내는 순서도이다.14 is a flowchart illustrating a method of processing a transaction message in a trusted RDBMS of a distributed node in an RDBMS-based distributed ledger management system according to an embodiment of the present invention.

신뢰된 RDBMS(251)가 추가 거래 메시지의 SQL문을 파싱한다(S1410).The trusted RDBMS 251 parses the SQL statement of the additional transaction message (S1410).

신뢰된 RDBMS(251)는 파싱된 SQL명령어에 대응한 작업을 수행한다.The trusted RDBMS 251 performs a task corresponding to the parsed SQL command.

파싱된 SQL명령이 CREATE인 경우(S1420), TABLE 스키마 정보를 저장한다(S1425). TABLE 스키마 정보로는 TABLE 구조, 속성의 타입, 제약조건, 신뢰 제약조건 등이 있다. 정상적으로 테이블이 생성된 경우 처리결과를 반환한다(S1480).When the parsed SQL command is CREATE (S1420), the TABLE schema information is stored (S1425). TABLE schema information includes TABLE structure, attribute type, constraint, and trust constraint. If the table is normally created, the processing result is returned (S1480).

파싱된 SQL명령인 INSERT인 경우(S1430), TABLE 스키마 정보를 조회한다(S1435). TABLE 스키마 정보로는 TABLE 구조, 속성의 타입, 제약조건, 신뢰 제약조건 등이 있다. In the case of INSERT, which is a parsed SQL command (S1430), query the TABLE schema information (S1435). TABLE schema information includes TABLE structure, attribute type, constraint, and trust constraint.

입력하려는 데이터가 신뢰 테이블의 데이터인 경우(S1440), 신뢰된 RDBMS(251)가 신뢰 테이블의 테이블 스키마에 정의된 신뢰 제약조건에 따라 신뢰된 순서-스탬프를 확인하여 신뢰 무결성 검증을 실시한다(S1445).When the data to be input is data of the trust table (S1440), the trusted RDBMS 251 performs trust integrity verification by checking the trusted order-stamp according to the trust constraint defined in the table schema of the trust table (S1445). ).

신뢰 테이블이 아니거나, 신뢰 무결성 검증을 통과한 경우, 신뢰된 RDBMS(251)가 데이터 무결성 검증을 실시한다(S1450). 신뢰 테이블이 아닌 경우 신뢰 무결성 검증 없이, 신뢰 테이블인 경우 신뢰 무결성 검증을 추가하여 RDBMS를 운영할 수 있으므로, 신뢰 테이블이 없는 기존 시스템과 상호 운용이 가능하다.If it is not a trust table or the trust integrity verification is passed, the trusted RDBMS 251 performs data integrity verification (S1450). If it is not a trust table, it is possible to operate the RDBMS without trust integrity verification, and if it is a trust table, it is possible to operate the RDBMS by adding trust integrity verification, so interoperability with existing systems without a trust table is possible.

데이터 무결성 검증을 통과한 경우, 신뢰된 RDBMS(251)가 데이터를 저장하고(S1460), 처리결과를 반환한다(S1480).If the data integrity verification is passed, the trusted RDBMS 251 stores the data (S1460) and returns the processing result (S1480).

신뢰 테이블에 저장하기 위해서는 신뢰 무결성 검증과와 데이터 무결성 검증을 모두 통과해야 하므로, 신뢰된 RDBMS(251)는 두 검증을 모두 통과한 데이터만 신뢰 테이블에 저장한다.In order to be stored in the trust table, since both the trust integrity verification and data integrity verification must pass, the trusted RDBMS 251 stores only data that has passed both verifications in the trust table.

신뢰 무결성 검증 및 데이터 무결성 검증에서 오류가 발생한 경우, 오류를 반환한다(S1470). If an error occurs in the trust integrity verification and the data integrity verification, an error is returned (S1470).

100 : 사용자 단말(100)
200 : 분산 노드(200)
210 : 노드 환경설정 저장부(210)
220 : 메시지 수집자(220)
230 : 메시지 구독자(230)
240 : 노드 메시지 큐(240)
250 : 신뢰된 RDBMS(250)
300 : 분산 노드 그룹(300)
400 : 신뢰된 순서-스탬프 서버(400)
410 : 서버 환경설정 저장부(410)
420 : 중앙 메시지 수집자(420)
430 : 순서 스탬프 생성자(430)
440 : 서버 메시지 큐(440)
100: user terminal 100
200: distributed node 200
210: node environment setting storage unit (210)
220: message collector (220)
230: message subscriber (230)
240: node message queue 240
250: Trusted RDBMS (250)
300: distributed node group (300)
400: trusted order-stamp server (400)
410: server environment setting storage unit (410)
420: central message collector (420)
430: order stamp constructor (430)
440 : server message queue (440)

Claims (14)

사용자 단말(100), 복수의 분산 노드(200), 신뢰된 순서-스탬프 서버(400)를 포함하는 RDBMS 기반의 분산원장 관리 시스템 중 어느 하나의 분산 노드(200)에 의해 수행되는 RDBMS 기반의 분산원장 관리방법에 있어서,
(a) 메시지 구독자 모듈(231)이 신뢰된 순서-스탬프 서버의 서버 메시지 큐 모듈(440) 또는 다른 분산 노드의 노드 메시지 큐 모듈(240)에 접속하여, 추가 거래 메시지를 요청하는 단계;
(b) 메시지 구독자 모듈(231)이 신뢰된 순서-스탬프 서버의 서버 메시지 큐 모듈(440) 또는 다른 분산 노드의 노드 메시지 큐 모듈(240)로부터 신뢰된 순서-스탬프가 포함된 추가 거래 메시지를 수신하는 단계;
(c) 메시지 구독자 모듈(231)이 수신된 신뢰된 순서-스탬프가 포함된 추가 거래 메시지를 노드 메시지 큐 모듈(241)로 전달하는 단계;
(d) 노드 메시지 큐 모듈(241)이 신뢰된 순서-스탬프가 포함된 추가 거래 메시지를 저장하고, 저장된 추가 거래 메시지를 신뢰된 RDBMS(251)로 전달하는 단계; 및
(e) 신뢰된 RDBMS(251)가 추가 거래 메시지 중 신뢰된 순서-스탬프를 확인하여 신뢰 무결성 검사를 한 후, 데이터를 저장하는 단계;를 포함하며,
상기 (e) 단계는,
(e-1) 신뢰된 RDBMS(251)가 추가 거래 메시지를 파싱하는 단계;
(e-2a) 입력하려는 테이블의 스키마 정보를 조회하여, 입력하려는 데이터가 신뢰 테이블의 데이터인지 확인하는 단계;
(e-2b) 입력하려는 데이터가 신뢰 테이블의 데이터인 경우, 신뢰된 RDBMS(251)가 신뢰 테이블의 테이블 스키마에 정의된 신뢰 무결성 제약조건에 따라 신뢰된 순서-스탬프를 확인하여 신뢰 무결성 검증을 실시하는 신뢰 무결성 검증 단계;
(e-3) 신뢰된 RDBMS(251)가 데이터 무결성 검증을 실시하는 데이터 무결성 검증 단계; 및
(e-4) 신뢰된 RDBMS(251)가 상기 신뢰 무결성 검증 단계와 데이터 무결성 검증 단계를 통과한 데이터만 신뢰 테이블에 저장하는 단계;를 포함하며,
상기 신뢰 무결성 제약조건은 전자서명 검증을 위한 레코드 신뢰성 제약조건과 신뢰된 순서-스탬프 제약조건을 포함하는 것을 특징으로 하는 RDBMS 기반의 분산원장 관리방법.
RDBMS-based distribution performed by any one of the user terminal 100, a plurality of distributed nodes 200, and any one distributed node 200 of the RDBMS-based distributed ledger management system including the trusted order-stamp server 400 In the ledger management method,
(a) the message subscriber module 231 accessing the server message queue module 440 of the trusted order-stamp server or the node message queue module 240 of other distributed nodes to request additional transaction messages;
(b) the message subscriber module 231 receives an additional transaction message containing the trusted order-stamp from the server message queue module 440 of the trusted order-stamp server or the node message queue module 240 of other distributed nodes to do;
(c) forwarding, by the message subscriber module 231, the additional transaction message containing the received trusted order-stamp to the node message queue module 241;
(d) the node message queue module 241 stores the additional transaction message including the trusted order-stamp, and delivers the stored additional transaction message to the trusted RDBMS 251; and
(e) the trusted RDBMS 251 checks the trusted sequence-stamp of the additional transaction message, performs a trust integrity check, and then stores the data;
Step (e) is,
(e-1) parsing the additional transaction message by the trusted RDBMS 251;
(e-2a) checking schema information of a table to be input, and checking whether the data to be input is data of a trust table;
(e-2b) If the data to be input is data from the trust table, the trusted RDBMS 251 checks the trusted order-stamp according to the trust integrity constraint defined in the table schema of the trust table and performs trust integrity verification trust integrity verification step;
(e-3) a data integrity verification step in which the trusted RDBMS 251 performs data integrity verification; and
(e-4) the trusted RDBMS 251 storing only the data that has passed the trust integrity verification step and the data integrity verification step in a trust table;
The RDBMS-based distributed ledger management method, characterized in that the trust integrity constraint includes a record reliability constraint for digital signature verification and a trusted order-stamp constraint.
제1항에 있어서,
상기 (a) 단계에서, 메시지 구독자 모듈(231)은 신뢰된 순서-스탬프 서버의 서버 메시지 큐 모듈(440) 또는 다른 분산 노드의 노드 메시지 큐 모듈(240)로 서비스 ID와 노드 메시지 큐 모듈의 마지막 순서번호를 전달하며 추가 거래 메시지를 요청하고,
상기 (b) 단계에서, 메시지 구독자 모듈(231)은 신뢰된 순서-스탬프 서버의 서버 메시지 큐 모듈(440) 또는 다른 분산 노드의 노드 메시지 큐 모듈(240)로부터 상기 서비스 ID에 해당하는 메시지 중 상기 마지막 순서번호보다 큰 순서번호를 가진 메시지만 추가 거래 메시지로 수신하는 것을 특징으로 하는 RDBMS 기반의 분산원장 관리방법.
According to claim 1,
In step (a), the message subscriber module 231 sends the service ID and the last node message queue module to the server message queue module 440 of the trusted order-stamp server or the node message queue module 240 of another distributed node. pass the sequence number and request additional transaction messages;
In step (b), the message subscriber module 231 receives the message corresponding to the service ID from the server message queue module 440 of the trusted order-stamp server or the node message queue module 240 of another distributed node. An RDBMS-based distributed ledger management method, characterized in that only messages with a sequence number greater than the last sequence number are received as additional transaction messages.
삭제delete 제1항에 있어서,
(f) 메시지 수집자 모듈(220)이 사용자 단말(100)의 거래메시지 생성부(105)에서 생성된 서비스 ID와, 사용자 전자서명이 구비된 거래문장을 포함하는 신규 거래 메시지를 수신하는 단계;
(g) 메시지 수집자 모듈(220)이 수신된 신규 거래 메시지로부터 서비스 ID를 확인하고, 노드 환경설정 저장부(210)를 참조하여 신뢰된 순서-스탬프 서버(400)를 결정하는 단계; 및
(h) 메시지 수집자 모듈(220)이 상기 신뢰된 순서-스탬프 서버에 접속하여 중앙 메시지 수집자 모듈(420)로 신규 거래 메시지를 송신하는 단계;를 더 포함하는 것을 특징으로 하는 RDBMS 기반의 분산원장 관리방법.
According to claim 1,
(f) receiving, by the message collector module 220, a new transaction message including the service ID generated by the transaction message generating unit 105 of the user terminal 100 and a transaction sentence with the user's digital signature;
(g) determining, by the message aggregator module 220, the service ID from the received new transaction message, and determining the trusted order-stamp server 400 with reference to the node configuration storage unit 210; and
(h) sending, by the message aggregator module 220, a new transaction message to the central message aggregator module 420 by accessing the trusted sequence-stamp server; Ledger management method.
삭제delete 삭제delete 삭제delete 사용자 단말(100), 복수의 분산 노드(200), 신뢰된 순서-스탬프 서버(400)를 포함하는 RDBMS 기반의 분산원장 관리 시스템 중 RDBMS 기반의 분산원장을 관리하기 위한 어느 하나의 분산 노드(200)에 있어서,
신뢰된 순서-스탬프 서버의 서버 메시지 큐 모듈(440) 또는 다른 분산 노드의 노드 메시지 큐 모듈(240)로부터 신뢰된 순서-스탬프가 포함된 추가 거래 메시지를 수신하여 노드 메시지 큐 모듈(241)로 전달하는 메시지 구독자 모듈(231);
상기 메시지 구독자 모듈(231)로부터 전달된 신뢰된 순서-스탬프가 포함된 추가 거래 메시지를 저장하고, 신뢰된 RDBMS(251)로 신뢰된 순서-스탬프가 포함된 추가 거래 메시지를 전달하는 노드 메시지 큐 모듈(241); 및
추가 거래 메시지 중 신뢰된 순서-스탬프를 확인하여 신뢰 무결성 검사를 한 후, 데이터를 저장하는 신뢰된 RDBMS(251);를 포함하며,
상기 메시지 구독자 모듈(231)은,
신뢰된 순서-스탬프 서버의 서버 메시지 큐 모듈(440) 또는 다른 분산 노드의 노드 메시지 큐 모듈(240)에 접속하여 추가 거래 메시지를 요청하는 추가 메시지 요청부;
상기 신뢰된 순서-스탬프 서버의 서버 메시지 큐 모듈(440) 또는 다른 분산 노드의 노드 메시지 큐 모듈(240)로부터 신뢰된 순서-스탬프가 포함된 추가 거래 메시지를 수신하는 추가 메시지 수신부; 및
수신된 신뢰된 순서-스탬프가 포함된 추가 거래 메시지를 노드 메시지 큐 모듈(241)로 전달하는 추가 메시지 전달부;를 포함하며,
상기 신뢰된 RDBMS(251)는,
추가 거래 메시지를 파싱하는 메시지 파싱부;
입력하려는 테이블의 스키마 정보를 조회하여 입력하려는 데이터가 신뢰 테이블의 데이터인지 확인하고, 입력하려는 데이터가 신뢰 테이블의 데이터인 경우 신뢰된 RDBMS(251)가 신뢰 테이블의 테이블 스키마에 정의된 신뢰 무결성 제약조건에 따라 신뢰된 순서-스탬프를 확인하여 신뢰 무결성 검증을 실시하는 신뢰 검증부;
데이터 무결성을 검증하는 데이터 검증부;
상기 신뢰 무결성 검증과 데이터 무결성 검증을 통과한 데이터만 신뢰 테이블에 저장하는 신뢰 테이블 저장부;를 포함하며,
상기 신뢰 무결성 제약조건은 전자서명 검증을 위한 레코드 신뢰성 제약조건과 신뢰된 순서-스탬프 제약조건을 포함하는 것을 특징으로 하는 RDBMS 기반의 분산노드.
Any one distributed node 200 for managing the RDBMS-based distributed ledger among the RDBMS-based distributed ledger management system including the user terminal 100, a plurality of distributed nodes 200, and a trusted order-stamp server 400 ) in
Receives an additional transaction message with a trusted order-stamp from the server message queue module 440 of the trusted order-stamp server or the node message queue module 240 of another distributed node and delivers it to the node message queue module 241 message subscriber module 231;
A node message queue module that stores the additional transaction message including the trusted sequence-stamp delivered from the message subscriber module 231 and delivers the additional transaction message including the trusted sequence-stamp to the trusted RDBMS 251 (241); and
A trusted RDBMS (251) for storing data after checking the trusted sequence-stamp of the additional transaction message and checking the trust integrity;
The message subscriber module 231,
an additional message requesting unit for requesting additional transaction messages by accessing the server message queue module 440 of the trusted order-stamp server or the node message queue module 240 of other distributed nodes;
an additional message receiving unit for receiving an additional transaction message including a trusted order-stamp from the server message queue module 440 of the trusted order-stamp server or the node message queue module 240 of another distributed node; and
and an additional message forwarding unit that forwards the received additional transaction message including the received trusted sequence-stamp to the node message queue module 241;
The trusted RDBMS 251 is,
a message parsing unit that parses an additional transaction message;
Inquires the schema information of the table you want to enter, checks whether the data you want to input is data from the trust table, and if the data you want to input is data from the trust table, the trusted RDBMS 251 uses the trust integrity constraint defined in the table schema of the trust table. a trust verification unit that performs trust integrity verification by verifying a trusted sequence-stamp according to the .
a data verification unit that verifies data integrity;
and a trust table storage unit that stores only data that has passed the trust integrity verification and data integrity verification in a trust table;
The trust integrity constraint is an RDBMS-based distributed node, characterized in that it includes a record reliability constraint and a trusted order-stamp constraint for digital signature verification.
제8항에 있어서,
상기 메시지 구독자 모듈(231)은,
신뢰된 순서-스탬프 서버의 서버 메시지 큐 모듈(440) 또는 다른 분산 노드의 노드 메시지 큐 모듈(240)로 서비스 ID와 노드 메시지 큐 모듈의 마지막 순서번호를 전달하며 추가 거래 메시지를 요청하고,
신뢰된 순서-스탬프 서버의 서버 메시지 큐 모듈(440) 또는 다른 분산 노드의 노드 메시지 큐 모듈(240)로부터 상기 서비스 ID에 해당하는 메시지 중 상기 마지막 순서번호보다 큰 순서번호를 가진 메시지만 추가 거래 메시지로 수신하는 것을 특징으로 하는 RDBMS 기반의 분산노드.
9. The method of claim 8,
The message subscriber module 231,
Sends the service ID and the last sequence number of the node message queue module to the server message queue module 440 of the trusted sequence-stamp server or the node message queue module 240 of another distributed node and requests an additional transaction message,
From the server message queue module 440 of the trusted sequence-stamp server or the node message queue module 240 of other distributed nodes, only messages with a sequence number greater than the last sequence number among the messages corresponding to the service ID are added transaction messages RDBMS-based distributed node, characterized in that it is received as
삭제delete 제8항에 있어서,
사용자 단말(100)의 신규 거래 메시지를 전달받아 신뢰된 순서-스탬프 서버(400)로 전달하는 메시지 수집자 모듈(220)을 더 포함하며,
상기 메시지 수집자 모듈(220)은,
사용자 단말(100)의 거래메시지 생성부(105)에서 생성된 서비스 ID와 사용자 전자서명이 구비된 거래문장을 포함하는 신규 거래 메시지를 수신하는 거래 메시지 수신부;
수신된 신규 거래 메시지로부터 서비스 ID를 확인하여 노드 환경설정 저장부(210)를 참조하여 신뢰된 순서-스탬프 서버(400)를 결정하는 스탬프서버 결정부; 및
상기 신뢰된 순서-스탬프 서버에 접속하여 중앙 메시지 수집자 모듈(420)로 신규 거래 메시지를 송신하는 거래 메시지 송신부;를 포함하는 것을 특징으로 하는 RDBMS 기반의 분산노드.
9. The method of claim 8,
It further includes a message collector module 220 for receiving the new transaction message of the user terminal 100 and delivering it to the trusted order-stamp server 400,
The message aggregator module 220,
a transaction message receiving unit for receiving a new transaction message including a transaction sentence having a service ID and a user electronic signature generated by the transaction message generating unit 105 of the user terminal 100;
Checking the service ID from the received new transaction message and referring to the node configuration storage unit 210, a trusted order-stamp server determining unit to determine the stamp server (400); and
The RDBMS-based distributed node comprising a; a transaction message transmitter that accesses the trusted sequence-stamp server and transmits a new transaction message to the central message collector module (420).
삭제delete 삭제delete 삭제delete
KR1020200079874A 2020-06-30 2020-06-30 System and method for managing rdbms-based distributed ledger KR102460432B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020200079874A KR102460432B1 (en) 2020-06-30 2020-06-30 System and method for managing rdbms-based distributed ledger
KR1020220138198A KR20220151124A (en) 2020-06-30 2022-10-25 System and method for managing rdbms-based distributed ledger
KR1020240033680A KR20240038669A (en) 2020-06-30 2024-03-11 System and method for managing rdbms-based distributed ledger

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200079874A KR102460432B1 (en) 2020-06-30 2020-06-30 System and method for managing rdbms-based distributed ledger

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020220138198A Division KR20220151124A (en) 2020-06-30 2022-10-25 System and method for managing rdbms-based distributed ledger

Publications (2)

Publication Number Publication Date
KR20220001644A KR20220001644A (en) 2022-01-06
KR102460432B1 true KR102460432B1 (en) 2022-10-27

Family

ID=79347897

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020200079874A KR102460432B1 (en) 2020-06-30 2020-06-30 System and method for managing rdbms-based distributed ledger
KR1020220138198A KR20220151124A (en) 2020-06-30 2022-10-25 System and method for managing rdbms-based distributed ledger
KR1020240033680A KR20240038669A (en) 2020-06-30 2024-03-11 System and method for managing rdbms-based distributed ledger

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020220138198A KR20220151124A (en) 2020-06-30 2022-10-25 System and method for managing rdbms-based distributed ledger
KR1020240033680A KR20240038669A (en) 2020-06-30 2024-03-11 System and method for managing rdbms-based distributed ledger

Country Status (1)

Country Link
KR (3) KR102460432B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102511570B1 (en) 2022-10-12 2023-03-16 박정훈 Method, device, system and computer readable storage medium for processes in blockchain network

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110785966A (en) 2019-03-18 2020-02-11 阿里巴巴集团控股有限公司 System and method for ending a view change protocol
CN110827008A (en) * 2018-08-08 2020-02-21 华为技术有限公司 Block chain link point and transaction method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190079324A (en) * 2017-12-27 2019-07-05 에이치닥테크놀로지 주식회사 한국영업소 Method and system for enhancing integrity of batabase based on the block chain system
KR102097995B1 (en) * 2018-08-17 2020-04-07 주식회사 트러스트디비 Electronic payment system for protection of double spending and payment method therefor
KR102081159B1 (en) 2018-11-08 2020-02-25 엔에이치엔 주식회사 A Blockchain system and a method for a plurality of nodes in the Blockchain system to verify and propagate messages

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110827008A (en) * 2018-08-08 2020-02-21 华为技术有限公司 Block chain link point and transaction method
CN110785966A (en) 2019-03-18 2020-02-11 阿里巴巴集团控股有限公司 System and method for ending a view change protocol

Also Published As

Publication number Publication date
KR20220001644A (en) 2022-01-06
KR20240038669A (en) 2024-03-25
KR20220151124A (en) 2022-11-14

Similar Documents

Publication Publication Date Title
CN109791591B (en) Method and system for identity and credential protection and verification via blockchain
US20210232555A1 (en) A method for registering of data as a digital file in a blockchain database
US10754848B2 (en) Method for registration of data in a blockchain database and a method for verifying data
CN106503574B (en) Block chain safe storage method
CN102833346B (en) Based on cloud sensitive data safety system and the method for storing metadata
US7191192B2 (en) Metadirectory agents having extensible functions
CN102713865B (en) Authorization data cache management
US20080005086A1 (en) Certificate-based search
US20080005024A1 (en) Document authentication system
JP2022504348A (en) Blockchain notification board to store blockchain resources
KR20240038669A (en) System and method for managing rdbms-based distributed ledger
US11983711B1 (en) Hierarchy-based blockchain
CN113065961A (en) Power block chain data management system
US10951510B2 (en) Communication device and communication method
US20230069247A1 (en) Data sharing solution
CN109886675A (en) The distribution of resource access token based on block chain and resource use monitoring method
US20190228132A1 (en) Data isolation in distributed hash chains
US9824227B2 (en) Simulated control of a third-party database
US20050086213A1 (en) Server apparatus, information providing method and program product therefor
CN109918451A (en) Data base management method and system based on block chain
Härer et al. Decentralized attestation and distribution of information using blockchains and multi-protocol storage
EP4254247A1 (en) Atomic multi-unit transfer of single-instance data units in sharded blockchain
KR20160050930A (en) Apparatus for Processing Transaction with Modification of Data in Large-Scale Distributed File System and Computer-Readable Recording Medium with Program
US11645650B1 (en) Systems and methods for blockchain-based transaction break prevention
KR102273960B1 (en) System for managing data for documents based on blockchain system

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant