KR102273160B1 - Bft 확정 합의 방식의 dag-awtc 원장 시스템 - Google Patents

Bft 확정 합의 방식의 dag-awtc 원장 시스템 Download PDF

Info

Publication number
KR102273160B1
KR102273160B1 KR1020190093679A KR20190093679A KR102273160B1 KR 102273160 B1 KR102273160 B1 KR 102273160B1 KR 1020190093679 A KR1020190093679 A KR 1020190093679A KR 20190093679 A KR20190093679 A KR 20190093679A KR 102273160 B1 KR102273160 B1 KR 102273160B1
Authority
KR
South Korea
Prior art keywords
consensus
bft
dag
awtc
transaction
Prior art date
Application number
KR1020190093679A
Other languages
English (en)
Other versions
KR20210015196A (ko
Inventor
주영현
Original Assignee
주식회사 블룸테크놀로지
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to KR1020190093679A priority Critical patent/KR102273160B1/ko
Application filed by 주식회사 블룸테크놀로지 filed Critical 주식회사 블룸테크놀로지
Priority to JP2022503828A priority patent/JP7318104B2/ja
Priority to EP20847431.2A priority patent/EP4009191A4/en
Priority to US17/627,820 priority patent/US20220321575A1/en
Priority to PCT/KR2020/009586 priority patent/WO2021020792A1/ko
Priority to CA3146354A priority patent/CA3146354A1/en
Priority to CN202080053134.3A priority patent/CN114144994A/zh
Priority to AU2020319779A priority patent/AU2020319779A1/en
Publication of KR20210015196A publication Critical patent/KR20210015196A/ko
Application granted granted Critical
Publication of KR102273160B1 publication Critical patent/KR102273160B1/ko
Priority to AU2024200171A priority patent/AU2024200171A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1065Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT] 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • H04L2209/38
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks

Abstract

BFT(byzantine fault tolerance) 확정 합의 방식의 DAG(directed acyclic graph)-AWTC(account-wise transaction chain) 원장 시스템이 개시된다. DAG-AWTC 원장 시스템에 있어서, DAG(directed acyclic graph)-AWTC(account-wise transaction chain)의 트랜잭션(transaction)에 대하여 BFT(byzantine fault tolerance) 합의를 수행할 합의 대상 트랜잭션을 선택하여 실시간 설정하고, 실시간 설정된 합의 대상 트랜잭션을 BFT 합의 수행 모듈로 출력하는 합의 대상 트랜잭션 설정 모듈을 구성한다. 상술한 BFT 확정 합의 방식의 DAG-AWTC 원장 시스템에 의하면, 병렬형 구조의 DAG 원장 구조에서 확정적 합의 방식인 BFT 합의 방식을 적용하도록 구성됨으로써, 트랜잭션의 빠른 처리와 함께 신속한 검증과 정보의 무결성을 확보할 수 있는 효과가 있다. 좀 더 구체적으로는 BFT 확정 합의를 하기에 충분히 확산이 이루어졌다고 전제하는 시간적 설정을 두어 BFT 확정적 합의와 트랜잭션의 처리를 병렬적으로 각각 수행할 수 있게 하는 효과가 있다. 즉, 트랜잭션을 처리하는 것과 동시에 별도의 백그라운드 처리로서 BFT 확정적 합의를 수행하도록 구성됨으로써, DAG-AWTC 원장 구조가 갖는 트랜잭션의 빠른 처리 속도를 훼손하지 않으면서 BFT 확정적 합의를 가능하게 한다.

Description

BFT 확정 합의 방식의 DAG-AWTC 원장 시스템{LEDGER SYSTEM OF DIRECTED ACYCLIC GRAPH - ACCOUNT-WISE TRANSACTION CHAIN WITH BYZANTINE FAULT TOLERANCE}
본 발명은 DAG-AWTC(directed acyclic graph - account-wise transaction chain with byzantine fault tolerance) 원장 시스템에 관한 것으로서, 구체적으로는 BFT(byzantine fault tolerance) 확정 합의 방식의 DAG-AWTC 원장 시스템에 관한 것이다.
분산 원장은 블록체인 방식과 DAG(directed acyclic graph) 방식으로 대별된다.
도 1은 블록체인과 DAG의 개념도이다.
도 1의 (A)는 블록체인(blockchain)의 생성 방식을 나타내며 도 1의 (B)는 DAG(directed acyclic graph)의 생성 방식을 나타낸다.
도 1의 (A)에서 보듯이 블록체인 원장은 일자형 체인의 원장 구조를 가지며 하나의 기록 포인트(writing point)를 가지고 있는 구조여서 블록의 생성 속도가 매우 느리다는 단점이 있다.
반면, 도 1의 (B)에 나타난 DAG 원장은 기록 포인트(writing point)가 동시에 여러 개가 존재하며, 병렬적인 구조의 체인으로 구성된다. 당연히 트랜잭션의 생성 속도가 빠르다는 장점이 있다. 그러나, DAG 원장은 토털 오더링(total ordering) 방식의 블록체인과 달리 파셜 오더링(partial ordering) 방식으로 이루어져 서로 연결된 트랜잭션(transaction)끼리만 그 쓰여진 순서를 정의할 수 있다.
즉, DAG는 빠른 속도를 갖는 반면, 확정 합의를 하기에는 비교적 적합하지 않은 원장 구조를 갖고 있다. 기존의 다양한 DAG 원장이 확정 합의 방식을 채택하지 못하는 주된 이유이기도 하다.
확정 합의를 위해서는 모두가 동일한 상태를 가지고 있어야 하는데, 그러기 위해서는 새로운 트랜잭션의 생성을 멈추고 현재의 상태가 모두 전파되기를 기다려야 한다. 이렇게 프로세스를 멈추게 되면, DAG를 채택하여 병렬의 기록 포인트에서 동시다발적으로 트랜잭션을 생성함으로 얻게 되는 빠른 속도라는 장점이 훼손되게 된다. 이에, 지금까지 DAG 원장 구조에서는 BFT 확정 합의 방식을 채택할 수 없었다.
등록특허공보 10-1962289 공개특허공보 10-2019-0002688
본 발명의 목적은 BFT 확정 합의 방식의 DAG-AWTC 원장 시스템을 제공하는 데 있다.
상술한 본 발명의 목적에 따른 BFT 확정 합의 방식의 DAG-AWTC 원장 시스템은, DAG-AWTC 원장 시스템에 있어서 DAG(directed acyclic graph)-AWTC(account-wise transaction chain)의 트랜잭션(transaction)에 대하여 BFT(byzantine fault tolerance) 합의를 수행할 합의 대상 트랜잭션을 선택하여 실시간 설정하고, 실시간 설정된 합의 대상 트랜잭션을 BFT 합의 수행 모듈로 출력하는 합의 대상 트랜잭션 설정 모듈을 포함하도록 구성될 수 있다.
여기서, 상기 합의 대상 트랜잭션 설정 모듈은, 실시간 생성되는 트랜잭션에 대해 과거의 소정 시점에서 그 이전까지의 아직 합의 되지 않은 트랜잭션들을 합의 대상 트랜잭션으로 실시간 설정하도록 구성될 수 있다.
구체적으로는 상기 합의 대상 트랜잭션 설정 모듈은, 현재로부터 30초 내지 1분 이전 중 어느 하나의 시점의 이전까지의 아직 합의 되지 않은 트랜잭션들을 합의 대상 트랜잭션으로 실시간 설정하도록 구성될 수 있다.
그리고 상기 합의 대상 트랜잭션 설정 모듈은, 전파가 이루어진 후 각 계정의 과거의 상태를 나타내는 데이터 구조를 생성하고, 상기 BFT 합의 수행 모듈이 상기 생성된 데이터 구조를 대비하여 BFT 합의를 수행하도록 실시간 설정할 수 있다.
여기서, BFT 확정 합의 방식의 DAG-AWTC 원장 시스템에서는 이 데이터 구조로서 머클 패트리샤 트리(merkle patricia trie)를 사용하고 있지만 이 데이터 구조는 구현에 따라 얼마든지 다른 것으로 치환될 수 있다.
상술한 BFT 확정 합의 방식의 DAG-AWTC 원장 시스템에 의하면, 병렬형 구조의 DAG 원장 구조에서 확정적 합의 방식인 BFT 합의 방식을 적용하도록 구성됨으로써, 트랜잭션의 빠른 처리와 함께 신속한 검증과 정보의 무결성을 확보할 수 있는 효과가 있다.
좀 더 구체적으로는 BFT 확정 합의를 하기에 충분히 확산이 이루어졌다고 전제하는 시간적 설정을 두어 BFT 확정적 합의와 트랜잭션의 처리를 병렬적으로 각각 수행할 수 있게 하는 효과가 있다.
즉, 트랜잭션을 처리하는 것과 동시에 별도의 백그라운드 처리로서 BFT 확정적 합의를 수행하도록 구성됨으로써, DAG-AWTC 원장 구조가 갖는 트랜잭션의 빠른 처리 속도를 훼손하지 않으면서 BFT 확정적 합의를 가능하게 한다.
도 1은 블록체인과 DAG의 개념도이다.
도 2는 DAG-AWTC의 개념도이다.
도 3은 본 발명의 일 실시예에 따른 BFT 확정 합의 방식의 DAG-AWTC 원장 시스템의 블록 구성도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 발명을 실시하기 위한 구체적인 내용에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 2는 DAG-AWTC의 개념도이다.
도 2는 계정별로 트랜잭션 체인이 형성되는 DAG 원장 구조 방식을 나타낸다.
즉, 계정 a, b, c, d마다 각각의 체인을 갖고 있으며, 각 계정 간에 이루어지는 트랜잭션이 병렬적으로 기록된다. DAG-AWTC 원장은 트랜잭션의 기록이 병렬적으로 이루어지므로, 그 속도가 매우 빠르고 이론적으로는 속도나 확장성에 특별한 제한이 없는 방식이다.
본 발명은 DAG-AWTC 원장에 확정적 합의 알고리즘인 BFT(byzantine fault tolerance) 알고리즘이 적용된다.
도 3은 본 발명의 일 실시예에 따른 BFT 확정 합의 방식의 DAG-AWTC 원장 시스템의 블록 구성도이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 BFT 확정 합의 방식의 DAG-AWTC 원장 시스템(100)은 합의 대상 트랜잭션 설정 모듈(110)을 포함하도록 구성될 수 있다.
BFT 확정 합의 방식의 DAG-AWTC 원장 시스템(100)은 DAG-AWTC 원장 구조에 BFT 확정 합의 알고리즘이 적용된다
병렬형 원장 구조인 DAG 원장의 높은 트랜잭션 처리 속도와 제한 없는 확장성의 장점을 보유하며, 계정별 트랜잭션 체인(AWTC) 방식을 접목함으로써 계정수가 많아져도 속도의 저하없이 빠르게 트랜잭션을 생성 할 수 있다. 블록체인과 달리 블록 생성을 기다릴 필요없이 트랜잭션은 바로 생성될 수 있다.
블록체인 원장의 경우 토털 오더링(total ordering) 방식에 의해 하나의 기록 포인트(writing point)에서 트랜잭션을 수집하고 블록을 생성하기 때문에 시간이 오래 걸리지만 그 생성 순서가 명확하다.
그러나, DAG 원장의 경우 파셜 오더링(partial ordering) 방식에 의해 여러 개의 기록 포인트(writing point)에서 트랜잭션을 기록하기 때문에 시간이 적게 걸린다. 그러나, 그 기록 순서는 연결된 트랜잭션끼리만 정의할 수 있다는 단점이 있다. 무엇보다도 각 노드마다 합의 시 전파 시간이 다르다는 점은 확정 합의 방식을 접목하기에 어려움을 갖게 한다.
그러나, BFT 확정 합의 방식의 DAG-AWTC 원장 시스템(100)은 확정 합의 방식의 하나인 BFT(byzantine fault tolerance)를 적용하도록 구성된다.
확정 합의 방식은 정해진 절차를 따라 한 번 확정되면 변경이 되지 않는다.
그러나, 비확정 합의 방식은 현시점에서 다수가 선택한 상태를 합의된 것으로 간주한다. 하지만 시간이 지남에 따라 다수가 선택한 상태가 바뀐다면 합의된 상태도 바뀌게 된다. 즉 변개되지 않는 합의라는 것이 존재하지 않는다. 예를 들어, 비트코인(bitcoin)이나 이더리움(ethereum)은 비확정 합의 방식을 적용하고 있다.
BFT 확정 합의 방식의 DAG-AWTC 원장 시스템(100)은 각 노드에서 각각 기록한 트랜잭션들에 대해 각 노드들이 합의에 의해 DAG 원장을 생성한다. 확정 합의 방식은 합의가 되고 나면 변경이 되지 않는다.
BFT 확정 합의 방식의 DAG-AWTC 원장 시스템(100)은 각 노드에서의 합의 절차에서 어느 정도의 트랜잭션의 전파 시간이 경과하면 확산이 거의 다 되었다는 전제 하에 합의를 하도록 구성된다.
즉, 확산이 충분히 이루어지면 합의할 준비가 된 것으로 볼 수 있다. 예를 들어, 확산이 90% 정도 이루어진 상태에서는 각 노드들이 동일한 정보를 가질 확률이 높기 때문에 합의가 이루어질 확률이 높아진다.
BFT 확정 합의 방식의 DAG-AWTC 원장 시스템(100)에서는 BFT 확정 합의 방식을 적용함에 있어서 30초 내지 1분 정도의 전파 시간의 경과에 의해 확산이 충분히 되었다고 보고 BFT 확정적 합의를 수행한다.
이러한 전제없이 BFT 확정 합의를 적용할 경우, 30초 내지 1분 정도의 전파 시간이 경과하기 전 즉, 확산이 충분히 되기 전에는 노드마다 매우 상이한 현재 상태를 가지고 있기 때문에 합의 자체가 제대로 이루어질 수 없다.
본 발명에서는 이러한 확산이 충분히 되었다고 가정하는 시점에 대한 시간적 간격을 두어 DAG-AWTC 원장 구조에서 BFT 확정 합의가 가능하게 하는 데 주안점이 있다. 좀 더 풀어서 설명하면 다음과 같다.
먼저 DAG-AWTC 원장 구조는 계정(account)의 소유자(owner)가 자신과 관련된 트랜잭션을 생성하기 때문에 기본적으로 충돌이 일어나지 않는 구조이며, 계정별 체인 구조에 의해 트랜잭션의 기록 위치가 계정마다 상이하여 충돌 발생 가능성이 낮은 구조이다. 이에, 위와 같이 시간적 간격을 두는 구성은 트랜잭션의 처리를 막지 않아도 백그라운드(background)에서 BFT 확정적 합의 수행을 가능하게 한다.
즉, BFT 확정적 합의가 진행되는 중에도 DAG-AWTC 구조에서 트랜잭션 처리를 블록(block)할 상황은 거의 발생하지 않게 되며, BFT 확정적 합의와 트랜잭션의 처리는 병렬적으로 각자 동시에 수행될 수 있다.
이하, 세부적인 구성에 대하여 설명한다.
합의 대상 트랜잭션 설정 모듈(110)은 트랜잭션들에 대해 BFT 합의를 수행할 트랜잭션을 선별하여 합의 대상 트랜잭션으로 실시간 설정하도록 구성될 수 있다.
합의 대상 트랜잭션 설정 모듈(110)은 실시간 생성되는 트랜잭션에 대해 과거의 소정 시점에서 그 이전까지의 아직 합의되지 않은 트랜잭션들을 합의 대상 트랜잭션으로 설정하도록 구성될 수 있다.
시뮬레이션을 한 결과 대략 30초 내지 1분 정도의 시간이 소요되면 합의하기에 충분히 확산이 이루어지는 것이 확인되었다.
그 정도의 확산 시간이 경과한 후 합의 절차를 수행하면, 최적의 시간 내에 합의 절차를 빠르게 수행하여 DAG-AWTC 원장을 확정할 수 있다.
한편, 위와 같은 시간적 간격은 어느 정도 유동적일 수 있다. 이러한 시간적 간격은 30초 내지 1분 정도의 시간으로 한정되지는 않으며, 합의하기에 충분히 확산이 이루어졌다고 볼 수 있는 시간이 될 수 있다.
그런데, 각 계정의 머클 패트리샤 트리(merkle patricia trie)를 다 대비하자면 그 크기 자체가 몇백 MB까지 되어 상당한 부하가 걸리게 된다.
이에, 합의 대상 트랜잭션 설정 모듈(110)은 전파가 이루어진 후의 각 계정의 과거의 트리 즉, 과거의 공통된 상태를 수 바이트(byte) 정도의 머클 패트리샤 트리(merkle patricia trie)의 루트(root)로 생성하도록 구성될 수 있다. 그리고 합의 대상 트랜잭션 설정 모듈(110)은 BFT 합의 수행 모듈(10)이 머클 패트리샤 트리의 루트(root) 간 대비를 통해 합의를 수행하도록 설정할 수 있다. 즉, 축약된 상태의 머클 루트(merkle root)만 대비하여 합의 절차를 간편하게 하고 이에 따른 합의 시간도 줄어들게 된다.
여기서, BFT 확정 합의 방식의 DAG-AWTC 원장 시스템(100)에서는 합의를 위한 데이터 구조로서 머클 패트리샤 트리(merkle patricia trie)를 사용하고 있지만 이 데이터 구조는 구현에 따라 얼마든지 다른 것으로 치환될 수 있다.
합의 대상 트랜잭션 설정 모듈(110)에서 실시간 설정되는 합의 대상 트랜잭션들은 BFT 합의 수행 모듈(10)에서 BFT 합의 수행 절차를 수행하도록 구성된다.
BFT 합의 수행 모듈(10)은 실시예에 따라 VRF(verifiable random function)-BFT 또는 PBFT(practical byzantine tolerance)를 수행할 수 있다.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
110: 합의 대상 트랜잭션 설정 모듈

Claims (4)

  1. DAG-AWTC 원장 시스템에 있어서,
    DAG(directed acyclic graph)-AWTC(account-wise transaction chain)의 복수의 트랜잭션(transaction)들 중에서 현재 시점에서 30초 이전에 전파된, 합의되지 않은 복수의 트랜잭션들을 선택하며, 상기 선택된 트랙잭션들을 BFT(byzantine fault tolerance) 합의를 수행할 합의 대상 트랜잭션으로 실시간 설정하고, 상기 실시간 설정된 합의 대상 트랜잭션을 BFT 합의 수행 모듈로 출력하는 합의 대상 트랜잭션 설정 모듈; 및
    상기 출력된 합의 대상 트랙잭션을 이용하여 상기 BFT 합의를 수행하는 상기 BFT 합의 수행 모듈을 포함하는 BFT 합의 방식의 DAG-AWTC 원장 시스템.
  2. 삭제
  3. 제1항에 있어서,
    상기 합의 대상 트랜잭션 설정 모듈은,
    상기 DAG-AWTC의 복수의 트랜잭션들 중에서 상기 현재 시점에서 1분 이전에 전파된, 합의되지 않은 트랜잭션들을 상기 합의 대상 트랜잭션으로 실시간 설정하는 것을 특징으로 하는 BFT 합의 방식의 DAG-AWTC 원장 시스템.
  4. 제1항에 있어서,
    상기 합의 대상 트랜잭션 설정 모듈은,
    상기 전파가 이루어진 후, 계정 별로 과거의 공통 상태를 머클 패트리샤 트리(merkle patricia tree)의 루트(root)로 생성하고, 상기 BFT 합의 수행 모듈이 상기 머클 패트리샤 트리의 상기 루트 간의 대비를 통해 상기 BFT 합의를 수행하도록 실시간 설정하는 것을 특징으로 하는 BFT 합의 방식의 DAG-AWTC 원장 시스템.
KR1020190093679A 2019-08-01 2019-08-01 Bft 확정 합의 방식의 dag-awtc 원장 시스템 KR102273160B1 (ko)

Priority Applications (9)

Application Number Priority Date Filing Date Title
KR1020190093679A KR102273160B1 (ko) 2019-08-01 2019-08-01 Bft 확정 합의 방식의 dag-awtc 원장 시스템
EP20847431.2A EP4009191A4 (en) 2019-08-01 2020-07-21 DAG-AWTC REGISTER SYSTEM USING A BFT VERIFICATION CONSENSUS MECHANISM
US17/627,820 US20220321575A1 (en) 2019-08-01 2020-07-21 Dag-awtc ledger system using bft verification consensus mechanism
PCT/KR2020/009586 WO2021020792A1 (ko) 2019-08-01 2020-07-21 Bft 확정 합의 방식의 dag-awtc 원장 시스템
JP2022503828A JP7318104B2 (ja) 2019-08-01 2020-07-21 Bft確定合意方式のdag‐awtc元帳システム
CA3146354A CA3146354A1 (en) 2019-08-01 2020-07-21 Dag-awtc ledger system using bft verification consensus mechanism
CN202080053134.3A CN114144994A (zh) 2019-08-01 2020-07-21 拜占庭容错确定性共识方式的有向无环图-账户智慧交易链总账系统
AU2020319779A AU2020319779A1 (en) 2019-08-01 2020-07-21 DAG-AWTC ledger system using BFT verification consensus mechanism
AU2024200171A AU2024200171A1 (en) 2019-08-01 2024-01-11 Dag-awtc ledger system using bft verification consensus mechanism

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190093679A KR102273160B1 (ko) 2019-08-01 2019-08-01 Bft 확정 합의 방식의 dag-awtc 원장 시스템

Publications (2)

Publication Number Publication Date
KR20210015196A KR20210015196A (ko) 2021-02-10
KR102273160B1 true KR102273160B1 (ko) 2021-07-05

Family

ID=74228653

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190093679A KR102273160B1 (ko) 2019-08-01 2019-08-01 Bft 확정 합의 방식의 dag-awtc 원장 시스템

Country Status (8)

Country Link
US (1) US20220321575A1 (ko)
EP (1) EP4009191A4 (ko)
JP (1) JP7318104B2 (ko)
KR (1) KR102273160B1 (ko)
CN (1) CN114144994A (ko)
AU (2) AU2020319779A1 (ko)
CA (1) CA3146354A1 (ko)
WO (1) WO2021020792A1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019072294A2 (en) * 2018-12-13 2019-04-18 Alibaba Group Holding Limited PROVIDING CONSENSUS BETWEEN NETWORK NODES IN A DISTRIBUTED SYSTEM

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10747753B2 (en) * 2015-08-28 2020-08-18 Swirlds, Inc. Methods and apparatus for a distributed database within a network
CN105790954B (zh) * 2016-03-02 2019-04-09 布比(北京)网络技术有限公司 一种构建电子证据的方法和系统
EP3295350B1 (en) 2016-05-13 2018-07-11 Nchain Holdings Limited A method and system for verifying ownership of a digital asset using a distributed hash table and a peer-to-peer distributed ledger
CN107995120B (zh) * 2016-11-22 2019-08-09 南京银链信息科技有限公司 构造多区块链的方法及多区块链系统
CN108090750A (zh) * 2016-11-22 2018-05-29 深圳银链科技有限公司 区块链清结算系统及方法
CN107451175B (zh) * 2017-05-23 2020-01-31 创新先进技术有限公司 一种基于区块链的数据处理方法及设备
KR101827373B1 (ko) * 2017-08-29 2018-02-08 주식회사 더블체인 채굴 제한을 위한 합의 알고리즘을 포함하는 블록윈도우 모듈 및 관리 서버 그리고 가상화폐 거래 시스템 및 방법
US11568505B2 (en) * 2017-10-18 2023-01-31 Docusign, Inc. System and method for a computing environment for verifiable execution of data-driven contracts
CN109246194B (zh) * 2018-08-13 2021-06-08 佛山市顺德区中山大学研究院 基于多领导节点的实用拜占庭容错区块链共识方法及系统
CN109214795A (zh) 2018-09-18 2019-01-15 北京物链互联科技有限公司 一种基于dag算法的区块链混合共识方法
CN109756558A (zh) * 2018-12-04 2019-05-14 广州通链计算机智能技术有限责任公司 一种基于异步分组交换的拜占庭容错共识算法
KR101962289B1 (ko) 2018-12-31 2019-03-26 주식회사 미탭스플러스 블록체인 기반의 공유경제를 위해 비대칭키 방식으로 이용자를 식별하는 분산 원장 장치
CN109886681B (zh) 2019-01-31 2021-06-18 北京瑞卓喜投科技发展有限公司 区块链共识方法及共识系统
CN109961364B (zh) * 2019-02-19 2021-04-06 众安信息技术服务有限公司 一种基于有向无环图的交易方法及系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019072294A2 (en) * 2018-12-13 2019-04-18 Alibaba Group Holding Limited PROVIDING CONSENSUS BETWEEN NETWORK NODES IN A DISTRIBUTED SYSTEM

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LOCUS CHAIN Vision White Paper Version 0.2 (Korean), 2018.05.16. [2020년 10월22일 검색]. 인터넷: <URL: https://www.locuschain.com/uploads/whitepaper/PAPER_FULL_KO_5_22_2018_19_15_17.pdf> 1부.*
유승언 외 3인, 블록체인에 기반한 합의 알고리즘, 한국컴퓨터정보학회 동계학술대회 논문집 제26권 제1호. 2018.01. 17-18페이지. 1부.*

Also Published As

Publication number Publication date
AU2020319779A1 (en) 2022-03-03
JP7318104B2 (ja) 2023-07-31
AU2024200171A1 (en) 2024-02-01
EP4009191A1 (en) 2022-06-08
WO2021020792A1 (ko) 2021-02-04
US20220321575A1 (en) 2022-10-06
CN114144994A (zh) 2022-03-04
CA3146354A1 (en) 2021-02-04
KR20210015196A (ko) 2021-02-10
EP4009191A4 (en) 2023-08-09
JP2022541581A (ja) 2022-09-26

Similar Documents

Publication Publication Date Title
EP3678346B1 (en) Blockchain smart contract verification method and apparatus, and storage medium
JP6955026B2 (ja) 並列処理ブロックチェーントランザクションのためのシステムおよび方法
KR101827373B1 (ko) 채굴 제한을 위한 합의 알고리즘을 포함하는 블록윈도우 모듈 및 관리 서버 그리고 가상화폐 거래 시스템 및 방법
TW201901482A (zh) 區塊鏈系統及區塊鏈生成方法
RU2019123413A (ru) Изоляция данных в сети блокчейн
CN110022315B (zh) 一种块链式账本中的权重管理方法、装置及设备
US20210073796A1 (en) Method of selective authentication of a blockchain user with a smart contract
CN105487987B (zh) 一种处理并发顺序读io的方法及装置
WO2020199713A1 (zh) 数据验证方法、系统、装置及设备
CN110704438B (zh) 一种区块链中布隆过滤器的生成方法及装置
CN112862490A (zh) 一种异步网络下的输出共识方法
KR20200077830A (ko) 블록체인 기반 테스트 데이터 관리 방법 및 블록체인 노드 장치
CN110490742B (zh) 一种区块链中的交易执行方法及装置
KR102273160B1 (ko) Bft 확정 합의 방식의 dag-awtc 원장 시스템
CN113362068A (zh) 一种轻节点验证区块链状态转移的方法
CN116977067A (zh) 基于区块链的数据处理方法、装置、设备及可读存储介质
CN113411191B (zh) 数据审计方法及装置
CN109410049A (zh) 区块链记账方法、装置、计算机设备和存储介质
CN112732803B (zh) 一种共识区块链交易查询验证方法及系统
WO2021232508A1 (zh) 一种区块链扩展方法、区块链节点及区块链系统
RU2809645C2 (ru) Система dag-awtc-реестров с использованием консенсусного механизма bft-верификации
KR102191803B1 (ko) 블록체인에 의한 행위정보 증명 방법
CN112380573B (zh) 一种块链式账本中的数字签名方法、装置及设备
CN111444193B (zh) 一种块链式账本中的权重分配方法、装置及设备
KR101379848B1 (ko) 일정 수 이상의 파일 쉐어로 복구 가능한 파일 분산 관리 장치 및 그 방법

Legal Events

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