KR102654541B1 - 블록체인 네트워크의 트랜잭션 합의 방법 및 블록체인 노드 - Google Patents

블록체인 네트워크의 트랜잭션 합의 방법 및 블록체인 노드 Download PDF

Info

Publication number
KR102654541B1
KR102654541B1 KR1020220019761A KR20220019761A KR102654541B1 KR 102654541 B1 KR102654541 B1 KR 102654541B1 KR 1020220019761 A KR1020220019761 A KR 1020220019761A KR 20220019761 A KR20220019761 A KR 20220019761A KR 102654541 B1 KR102654541 B1 KR 102654541B1
Authority
KR
South Korea
Prior art keywords
node
nodes
blockchain
cluster
stake
Prior art date
Application number
KR1020220019761A
Other languages
English (en)
Other versions
KR20230122918A (ko
Inventor
주성호
임용훈
박민하
배병일
Original Assignee
한국전력공사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전력공사 filed Critical 한국전력공사
Priority to KR1020220019761A priority Critical patent/KR102654541B1/ko
Publication of KR20230122918A publication Critical patent/KR20230122918A/ko
Application granted granted Critical
Publication of KR102654541B1 publication Critical patent/KR102654541B1/ko

Links

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명의 블록체인 네트워크의 트랜잭션 합의 방법은, 블록체인 네트워크에 참여를 원하는 노드를 위한 클러스터를 결정하는 단계; 결정된 상기 클러스터의 중개 노드를 선정하는 단계; 결정된 상기 클러스터의 대표 노드를 선정하는 단계; 선정된 상기 대표 노드가 상기 중개 노드를 통한 이웃 클러스터의 대표 노드와 지분에 따라 경쟁을 시도하는 단계; 상기 경쟁에서 승리하면 상기 이웃 클러스터의 지분을 양수하는 단계; 및 블록 생성을 위한 지분 조건을 충족하면, 블록을 생성하여 체인에 등록하는 단계를 포함할 수 있다.

Description

블록체인 네트워크의 트랜잭션 합의 방법 및 블록체인 노드{TRANSACTION CONSENSUS METHOD IN BLOCKCHAIN NETWORK AND BLOCKCHAIN NODE}
본 발명은 확률론에 기반한 인터넷망 트랜잭션 고속 합의 기법 및 이를 수행하는 블록체인 네트워크를 구성하는 장치에 관한 것이다.
암호화폐를 통해 등장한 블록체인 기술은 화폐 개념을 넘어 다양한 산업에 전파되어 널리 활용되기 시작했다. 최근 보도된 백신여권, 모바일신분증, 여권 등의 신분 보장에 활용되기도 하고 의료, 물류 등에서도 기록의 신뢰성 보장을 위해 블록체인이 많이 활용되고 있다. 하지만, 블록체인이 더 많은 분야에 활용되기 위해선 확장성과 보안성, 그리고 성능(특히 속도)을 반드시 보장해주어야 한다.
블록체인 서비스 신뢰성 보장을 위해서는 가능한 많은 노드가 서비스에 참여해야 하나, 이럴 경우 속도 등 성능에 영향을 주게 된다. 즉, 확장성에 제약이 따를 수밖에 없다. 따라서 참여 노드수를 제한하게 되는데, 이는 서비스의 확장에도 영향을 미치게 된다.
블록체인의 대표 서비스인 비트코인은 흔히 말하는 51% 공격 가능성을 내포하고 있다. 즉, 과반수 노드(혹은 계산 능력)는 기록을 위변조할 수 있다는 의미이며, 따라서 소수의 채굴업자에 의해 무결성 훼손 가능성이 존재한다. 하지만 비트코인은 공식적으로(공개적으로) 이를 보장하지는 않고 있다.
마지막으로 블록체인의 중요한 요인 중 하나인 블록생성의 속도 문제 해결 방법 중에서 가장 일반적인 방식은 블록생성 주체를 빠르고 공정하게 결정하는 데 있다. 즉, 블록을 생성할 권리를 누가 가져가느냐를 최대한 빨리 결정하는 것이 중요한데 현재 나와 있는 대표적인 방법에는 PoS 등이 있다.
상기 언급한 블록체인 결정요소들에 대해 현재까지 제시된 몇 가지 방안들 중 대표적인 방법과 관련 기술을 소개하면 다음과 같다.
첫째, ‘확장형 블록체인 시스템 및 블록체인 확장방법’에서는 블록체인 확장성 보장을 위해 블록체인을 서브블록체인으로 나누고 상호 연계를 통해 블록 검증 지연 문제 해결 및 블록 용량 확장 방안을 제시한다.
둘째, ‘블록체인의 확장을 가능하게 하는 트랜잭션 처리 시스템 및 방법’는 루트체인과 리프체인이라는 개념을 도입한 뒤, 루트체인을 기본으로 리프체인을 추가하여 상호 연계시킴으로써 확장성을 보장하는 방안을 제시하고 있다.
셋째, ‘계층화되고 확률적인 대표자 선출에 의한 노드증명방식의 합의과정과 대가 배분과정을 가지는 블록체인 생성 방법’에서는 모든 참여 노드에 대해 확률론에 기반하여 공정한 방식으로 합의 노드를 선정하는 방안을 제시하고 있으나 단순히 비율을 동일하게 하거나 영역의 일정 비율 제안을 통해 공정성을 보장하는 가장 기본적인 방안을 제안하고 있다.
넷째, ‘확률적 트랜잭션의 처리방법’는 트랜잭션을 세분화하여 확률적으로 선택한 후, 선택된 트랜잭션을 처리하는 기법을 제안하고 있다.
상기 특허들은 블록체인에서 확장성을 보장하기 위해 체인을 서브체인 개념으로 나누어 운영하거나 단순히 동일한 비율로 노드 혹은 트랜잭션을 선택하는 등의 기본적인 방식에 국한된다고 볼 수 있다.
종래의 블록체인 기술은 PoS, PoW, PoA 등 다양한 합의 알고리즘에 따라 블록을 생성할 노드를 결정하고 해당 노드의 트랜잭션 처리 결과를 다른 노드들이 검증한 후 체인에 등록하는 절차에 따른다.
퍼블릭과 프라이빗 블록체인이 서로 다른 대상과 절차에 따라 운영되는데, 공통적으로는 신규 노드로 블록체인 네트워크에 참여한 후 요청받은 트랜잭션들을 모아 블록을 생성하고 이를 경쟁적으로 혹은 정해진 순서나 위임 선택에 따라 생성 권한을 부여받고 이를 다른 노드들에게 검증받아 체인을 형성한다. 이때, 네트워크에 참여하는 노드가 많아질수록 블록 생성 권한 부여 절차가 복잡하거나 지연될 수도 있고, 노드간 형평성이나 예측 가능한 범위 내에서 보안성에 문제가 발생하기도 한다.
네트워크 참여 노드가 많을 경우, 네트워크에서 공유되는 정보들도 기하급수적으로 많아질 수 있다. 일부 발명에서는 중간에 별도 노드를 두어 네트워크 트래픽을 줄이는 기법을 사용하기도 하지만 네트워크 규모가 일정 수준 이상으로 커지게 되면 이 또한 효율성이 떨어질 수밖에 없다.
상술한 종래의 기술이 내재하고 있는, 본 발명에서 해결하고자 하는 문제점은 다음과 같다.
첫째, 블록체인 서비스 확대 보급을 위해서는 확장성이 무엇보다 중요하다. 블록체인에 참여하는 노드가 많아질수록 네트워크 지연이나 거리상 통신 장애, 블록생성 노드의 선정 및 합의 과정 등에 따른 속도 저하가 불가피하여 일정 규모 이상 네트워크가 늘어날 수 없는 제약사항이 존재한다. 만약 네트워크를 하나로 운영할 경우 노드간 통신 및 네트워크 지연 현상 등이 발생할 텐데, 일례로 ‘n’개의 노드가 상호 통신할 경우 단방향 통신만 하더라도 nC2, 즉 O(n2)의 복잡도를 가지게 될 것이다. 이를 해결하고자 일부 발명에서는 체인을 다수의 하위체인으로 나누고 상호 연계하고자 하였으나 별도의 하위체인 관리나 연계 프로세스 도입 등으로 확장성과 속도 문제를 해결하는 데 한계가 존재한다.
둘째, 기존에는 충분한 합의를 통한 체인 형성이 이루어졌는데, 여기서 말하는 충분한 합의라는 의미가 명확하지 않은 경우가 대부분이다. 가령, 비트코인에서는 분기가 발생할 경우 ‘Longest Chain’을 선택하는 것으로 다수의 지지를 받았음을 간접적으로 증명하지만, 실제로 노드들의 상태나 네트워크 구성, 트랜잭션의 성격 등 여러 변수를 고려할 경우 직접적인 합의 수준을 정하는 것이 보안상 안전할 수 있다. 일례로 과반수의 합의가 필요하다는 정책이 주어지면 네트워크 참여 노드 中 50% 초과 노드로부터 합의를 얻었음을 검증받을 수 있다면 보안상 더 안전하다고 볼 수 있다.
셋째, 블록을 생성할 노드를 선정하는 과정이 복잡한 계산량을 요구하거나 특정 소수(지분이 많은) 노드에 유리한 것과 같이 공정성이나 보안성(차기 블록 생성 노드 예측 가능)에 문제점을 가지고 있다. 이상적인 상황에서는 다음 블록을 생성할 노드는 공정하고 랜덤하게 선정되는 것이 바람직하다.
따라서, 블록체인 기술이 더 많은 서비스에 적용되고 확대되기 위해서는 다음과 같은 요구조건을 만족시킬 수 있어야 한다.
- 블록체인 네트워크 참여 노드 수 및 증가수준과 무관하게 확장성을 보장할 수 있어야 한다.
- 블록생성 권한은 모든 참여 노드에게 공정하게 부여되어야 한다. 단, 노드들 간에 차별화될 요소가 있을 경우 이를 고려하여 권한 부여 정책을 운영해야 한다.
- 충분하고도 명확한 수준 이상의 합의에 도달했음을 확인한 후에 체인을 형성해야 한다.
- 블록생성 권한 부여를 위해 노드간 경쟁시 가장 간단하고 빠른 방법으로 진행되어야 한다.
- 노드별 역할 부여, 선정 기준, 네트워크 운영 방법 등은 유동성과 유연성을 가져야 한다.
대한민국 공개공보 10-2019-0009958호 : 확장형 블록체인 시스템 및 블록체인 확장방법
본 발명은 불특정 다수의 노드가 완전 경쟁 체계에서 블록체인 네트워크를 형성하는 경우 블록을 생성하는 주체인 대표자를 완전 랜덤하고 공정한 방법으로 선정할 수 있는 네트워크 트랜잭션 합의 방법을 제공하고자 한다.
본 발명은 노드간 경쟁, 대표자 선정을 위한 정보공유 및 결정 방식 등은 상기 블록체인 요구조건을 충족시키기에 충분하며, 블록체인이 다양한 서비스를 지원할 수 있는 인프라로 성장할 수 있는 기능을 제공하는 네트워크 트랜잭션 합의 방법을 제공하고자 한다.
본 발명의 일 측면에 따른 블록체인 네트워크의 트랜잭션 합의 방법은, 블록체인 네트워크에 참여를 원하는 노드를 위한 클러스터를 결정하는 단계; 결정된 상기 클러스터의 중개 노드를 선정하는 단계; 결정된 상기 클러스터의 대표 노드를 선정하는 단계; 선정된 상기 대표 노드가 상기 중개 노드를 통한 이웃 클러스터의 대표 노드와 지분에 따라 경쟁을 시도하는 단계; 상기 경쟁에서 승리하면 상기 이웃 클러스터의 지분을 양수하는 단계; 및 블록 생성을 위한 지분 조건을 충족하면, 블록을 생성하여 체인에 등록하는 단계를 포함할 수 있다.
여기서, 상기 이웃 클러스터와 경쟁에서 패배하면, 상기 대표 노드가 상기 클러스터의 지분을 상기 이웃 클러스터에 양도하는 단계를 더 포함할 수 있다.
여기서, 상기 블록 생성을 위한 지분 조건을 충족하지 못하면, 다른 이웃 클러스터와 경쟁을 시도하는 단계를 더 포함할 수 있다.
여기서, 상기 지분은, 실제 노드와 더불어 가상 노드를 반영한 지분으로서, 상기 대표 노드들 간 경쟁 결과의 누적 합산값으로 적용될 수 있다.
여기서, 상기 지분은, 최초 블록체인에 참여하는 노드들이 초기 투입하거나 부여받은 지분을 기저 지분으로 설정하고, 이후 전체 블록체인의 대표 노드로 선정되어 블록을 생성함으로써 얻는 인센티브 또는 상기 선정된 대표 노드가 속한 클러스터의 중개 노드로 활동하여 인센티브를 추가 지분으로 설정하여 운영될 수 있다.
여기서, 중개해 주는 클러스터의 대표 노드가 최종적으로 전체 블록체인의 블록을 생성함으로써 얻게 되는 인센티브 지분의 일부를 중개 노드에 지급할 수 있다.
여기서, 상기 클러스터의 대표 노드를 선정하는 단계는, 경쟁 대상인 어느 한쪽 노드가 랜덤값, ‘+’ 또는 ‘-’ 중 하나의 선택값 및 챌린지값을 임의로 선택하여 이를 일회용 암호키로 암호화하여 상대 노드에 전송하고, 상대 노드 또한 자신의 랜덤값, ‘+’ 또는 ‘-’ 중 하나의 선택값 및 챌린지값을 임의로 선택하여 이에 대한 서명을 더한 정보를 송신한 뒤, 상호 랜덤값의 평균에 챌린지값을 더하거나 빼서 목표값을 결정하고 상기 목표값에 가까운 랜덤값을 제시한 노드가 경쟁에서 승리하는 방식으로 수행될 수 있다.
여기서, 상기 챌린지값은 노드간 지분 비율을 고려하여 공정성을 보장하기 위해 지분 비율이 더 큰 노드가 하나 더 많은 챌린지값을 생성할 수 있다.
여기서, 상기 랜덤값의 평균에 챌린지값을 더하거나 빼서 목표값을 결정할 때, 목표값이 최소 또는 최대 한계값을 넘어서는 경우, 이에 최대 또는 최소 한계값을 더함으로써 목표값이 항상 지정된 범위 내에 존재하도록 보정할 수 있다.
본 발명의 다른 측면에 따른 블록체인 노드는, 블록체인 네트워크를 형성하는 노드들 중 일부 노드들로 이루어진 2개 이상의 클러스터들을 포함하되, 각 클러스터에는, 상기 블록체인 네트워크의 블록을 생성하여 체인에 등록하는 대표 노드; 및 다른 클러스터와 연계를 수행하는 중개 노드가 구비되고,
각 클러스터 내에서 대표 노드가 되기 위한 노드간 경쟁에 있어 노드가 가진 지분을 기준으로 경쟁 프로세스가 적용되고, 블록 생성을 위한 클러스터들의 각 대표 노드들간 경쟁에 있어 상기 지분을 기준으로 경쟁 프로세스가 적용되며, 클러스터 대표 노드간 경쟁 결과에 대해 확률론적 평가 방식을 기준으로 삼아 일정 기준 이상의 경쟁이 완료되면 이를 최종 합의로 판정할 수 있다.
여기서, 상기 각 노드는, 블록체인의 현황 파악 및 분석을 위한 운영자 UI 정보를 제공하는 블록체인관리부; 체인의 생성, 운영, 오류를 포함하는 체인의 현황 정보를 수집하여 상기 블록체인관리부로 전달하는 모니터링부; 지분을 관리하고 보유 지분을 주위 노드 및 상기 다른 클러스터로 알려주는 지분관리부; 외부 노드와 정보를 공유하는 네트워크통신부; 상기 각 노드의 블록체인에서의 역할 관리와 활동에 관한 처리를 담당하는 노드활동관리부; 및 다른 노드와 경쟁 프로세스를 처리하고 합의를 이끌어내는 과정에서 필요한 정보를 수집하고 및 계산하는 확률기반합의부를 포함할 수 있다.
여기서, 상기 지분은, 실제 노드와 더불어 가상 노드를 반영한 지분으로서, 상기 대표 노드들 간 경쟁 결과의 누적 합산값으로 적용될 수 있다.
여기서, 상기 지분은, 최초 블록체인에 참여하는 노드들이 초기 투입하거나 부여받은 지분을 기저 지분으로 설정하고, 이후 전체 블록체인의 대표 노드로 선정되어 블록을 생성함으로써 얻는 인센티브 또는 상기 선정된 대표 노드가 속한 클러스터의 중개 노드로 활동하여 인센티브를 추가 지분으로 설정하여 운영될 수 있다.
여기서, 상기 블록체인 시스템은, 상기 클러스터 대표 노드들의 악의성 또는 오류나 오동작에 대한 위험을 고려하고자 각 노드의 악의성이나 오류, 오동작 가능성을 베르누이 사건으로 보고, 이항확률에 따른 밀도함수를 기준으로 하여 상기 대표 노드간 경쟁 결과의 누적 합산값을 산정할 수 있다.
여기서, 상기 블록체인 시스템은, 초기 노드 참여시 투자하는 지분과 이후 부여받는 지분을 더한 값을 상기 노드의 단위 지분으로 정하고, 상기 클러스터의 지분은 상기 클러스터 내에 참여하는 모든 노드의 단위 지분들의 합으로 정한 뒤, 이를 기본 지분이라는 정해진 일정 값으로 나누어 내림 또는 올림 또는 반올림한 값을 상기 클러스터의 가상 참여 노드 개수로 결정하고, 상기 대표 노드의 노드간 합의의 보안성 보장을 위해, 상기 누적 합산값을 보안관제시스템 또는 외부 전문기관의 정보로부터 도출된 임의의 보안 임계값과 비교하여, 상기 누적 합산값이 더 커지도록 하는 상기 가상 참여 노드 개수를 결정하고 이를 최종 합의 기준으로 삼을 수 있다.
여기서, 상기 블록체인 시스템은, 시스템상 오류 또는 오동작에 따라 대표 노드 혹은 중개 노드 선정에 문제가 있을 경우, 가장 최근에 정상적인 역할을 수행한 대표 노드 및 중개 노드로 하여금 단기간 대리 역할을 수행토록 할 수 있다.
여기서, 상기 블록체인 시스템은, 시스템상 오류 또는 오동작에 따라 대표 노드 혹은 중개 노드 선정에 문제가 있을 경우나 가장 최근에 정상적인 역할을 수행한 대표 노드 및 중개 노드가 대리 역할을 수행할 수 없을 경우, 어떤 노드도 대표 노드 또는 중개 노드로 역할을 수행할 수 있도록 할 수 있다.
여기서, 상기 중개 노드는, 블록체인 토폴로지 정보, 각 클러스터에 속한 참여노드명 및 개수, 각 노드 및 해당 클러스터의 지분을 클러스터간 공유토록 할 수 있다.
여기서, 상기 중개 노드가 얻는 인센티브는, 상기 클러스터의 대표 노드가 지정하는 방식에 따라 결정하되, 이의 적절성은 중개할 노드가 직접 판단함으로써 중개 여부를 결정할 수 있다.
여기서, 상기 중개 노드의 선정은, 블록생성 후보 노드의 자격으로 일정 기준의 중개 노드 역할을 필수로 하고, 이에 더해 중개해주는 클러스터의 대표 노드가 최종적으로 전체 블록체인의 블록을 생성함으로써 얻게 되는 인센티브의 일부를 지분 개념으로 중개 노드에 지급함으로써 블록체인에 참여하는 노드들은 필수적으로 혹은 자발적으로 일정 기간 중개 노드로 역할하게 하는 방식으로 수행될 수 있다.
여기서, 상기 중개 노드의 선정은, 단일 노드가 후보면 그 노드를 중개 노드로 선정하되, 복수의 노드가 경쟁할 경우에는 대표 노드 선정과 동일한 방식으로 중개 노드를 선정하는 방식으로 수행될 수 있다.
여기서, 상기 대표 노드간 합의 보안성 보장은, 이항확률밀도합수의 합산값을 보안관제시스템 또는 외부 전문기관의 정보로부터 도출된 임의의 보안 임계값과 비교하여 상기 합산값이 더 커지도록 하는 가상 참여 노드 개수를 결정하고 이를 최종 합의 기준으로 삼을 수 있다.
여기서, 상기 노드간 합의 보안성 보장을 위한 기준으로서, 내부 시스템 또는 네트워크 상황이나 외부 공격 등에 따라 상기 보안 임계값을 달리 정할 수 있다.
여기서, 상기 블록체인 시스템은, 악의적 행동 또는 오동작 노드에 대한 제재는, 정해진 기준에 따르거나 혹은 행위 수준에 따라 그 기준을 달리하여 상기 노드가 보유한 지분의 일부 또는 전부를 회수함으로써 향후 대표 노드로 선정될 가능성을 현저히 낮추는 방식으로 수행할 수 있다.
여기서, 상기 대표 노드간 경쟁 결과의 누적 합산값은, 내부 시스템 또는 네트워크 상황이나 외부 공격 등에 따라 각 노드의 악의성 또는 오동작할 확률값을 보정하여 적용될 수 있다.
여기서, 상기 대표 노드간 경쟁 결과의 누적 합산값은, 상기 노드 구성 환경이 일정 영역 안에 있어 동일 클러스터 안에 참여하고 있는 노드들은 동일한 또는 유사한 보안 환경에 놓임으로써 악의성이나 오류, 오동작 가능성이 상호 종속성을 가지고 있는 경우, 이항확률이 아닌 조건부 확률에 따르는 밀도함수가 적용될 수 있다.
상술한 구성의 본 발명의 사상에 따른 네트워크 트랜잭션 합의 방법을 실시하면, 불특정 다수의 노드가 완전 경쟁 체계에서 블록체인 네트워크를 형성하는 경우에서 블록을 생성하는 주체인 대표자를 완전 랜덤하고 공정한 방법으로 선정하는 이점이 있다.
구체적으로, 본 발명의 네트워크 트랜잭션 합의 방법은, 블록체인이 다양한 서비스로 확대되고 있는 상황에서 대규모 네트워크 구성이 가능토록 확장성을 지원하고 안전한 체인 구성을 위해 보안성을 확보하는 이점이 있다.
본 발명의 네트워크 트랜잭션 합의 방법은, 네트워크 상황이나 보안상황 등에 따라 가변적으로 운영이 가능하도록 현황 파악을 수행하고, 운용 방식에 이를 반영할 수 있는 이점이 있다.
도 1은 블록체인 네트워크에 참여한 노드들이 각자 위치정보에 따라 세부 클러스터를 생성 혹은 참여하고 각 클러스터별로 중개 노드를 두어 클러스터간 연계 방식을 도식화한 개념도.
도 2는 최초 노드가 블록체인 네트워크에 참여하는 시점부터 최종 블록을 생성하여 체인에 연결하기까지의 본 발명의 사상에 따른 네트워크 트랜잭션 합의 방법을 도시한 흐름도.
도 3은 블록체인 노드간 경쟁하는 방법을 나타내는 도식.
도 4는 ‘유리한 조건’에 대한 보다 구체적인 사례를 보여주는 개념도.
도 5에서는 한 개의 노드(노드 A)가 동시에 다수의 노드와 경쟁하기 위해 랜덤값, ‘+/-’ 값 및 추가값(챌린지값)을 전송하는 것을 나타내는 도식.
도 6은 악의적인 노드 혹은 노드의 오류(오동작)의 존재 가능성을 고려한 현실적인 상황에서 노드간 또는 클러스터간 경쟁을 통한 합의 도달에 대한 확률분포도.
도 7은 본 발명에 따른 트랜잭션 합의 방법을 수행하는 블록체인 네트워크를 구성하는 블록체인 노드의 일 실시예를 도시한 블록도.
본 발명을 설명함에 있어서 제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되지 않을 수 있다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 연결되어 있다거나 접속되어 있다고 언급되는 경우는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해될 수 있다.
본 명세서에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다.
본 명세서에서, 포함하다 또는 구비하다 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것으로서, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해될 수 있다.
또한, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
앞서 기술한 5 가지 요구조건을 만족시키기 위하여 본 발명에서는 확률론에 기반하여 공정 랜덤성 대표자 선정 방식과 효율적인 블록생성 프로세스를 제시한다. 또한 대규모 네트워크를 그룹화시켜 하위 클러스터를 형성하고 2단계 방식의 대표자 선정 및 중개자 선정 방식으로 네트워크 확장성을 보장하고자 한다. 이는 확장성을 내포한 중·소규모 네트워크에도 적용할 수 있으며, 2단계를 초과하는 다단계로도 구현될 수 있음은 물론이다.
합의 수준은 그 기준을 명확히 한 뒤, 정의된 기준을 통과하는 경우 보안성이 확보되었음을 인지하고 체인을 형성하는 안전한 방식도 제시하고자 한다. 상술한 내용들은 환경 변화에 맞춰 업데이트됨으로써 끊임없이 변화하는 인터넷망 환경에 적응할 수 있도록 고안된 사항들이다.
그뿐만 아니라, 본 발명에서는 선정된 대표자가 악의적 행위 또는 오동작 등으로 정상 수행이 불가능할 경우를 대비하여 사전에 후보 대표자를 지정하되, 별도 프로세스가 아닌 현재 대표 선발 프로세스상에서 동시에 선정함으로써 즉각적이고 효율적인 대응이 가능토록 한다.
이와 같은 기술 과제를 해결하기 위하여 첨부의 도면을 참조로 본 발명을 보다 상세하게 설명하면 다음과 같다.
도 1은 블록체인 네트워크에 참여한 노드들이 각자 위치정보에 따라 세부 클러스터를 생성 혹은 참여하고 각 클러스터별로 중개 노드를 두어 클러스터간 연계 방식을 도식화한 개념도이다.
모든 노드는 일정 수준 이상의 지분을 투자함과 동시에 블록체인 네트워크에 노드로서 활동할 수 있으며, 주변 노드 및 클러스터 상황에 따라 신규 클러스터를 형성하거나 기존 클러스터에 참여하게 된다. 클러스터는 최소 2개 노드가 모일 경우 정상적인 동작이 가능하며, 이 중 하나는 블록생성 노드, 다른 하나는 他 클러스터와 연계를 담당하는 중개 노드로 동작하게 된다.
본 발명에서는 실제 노드와 더불어 가상 노드를 반영한 지분을 이용할 것을 제안하며, 설명의 편의를 위해 상기 '실제 노드와 더불어 가상 노드를 반영한 지분'은 '지분'이라고 약칭하기도 한다.
중개 노드로서 역할은 블록생성 후보 노드가 되기 위한 필수요건이며 중개노드는 클러스터간 정보 교환 역무를 수행하는데, 클러스터 內 노드 수와 지분 합, 자신이 속한 혹은 他 클러스터에서 생성된 블록 정보, 클러스터간 블록 생성 경쟁 정보 등을 클러스터간 연계(공유)시켜주는 역할이다.
중개 노드는 자신이 지원할 수도 있고(복수 노드 지원시 경쟁), 순번에 따라 정해질 수도 있다. 일정 기간(체인에 등록되는 블록의 일정 수)만큼 중개 노드 역할을 수행하고 나면 다시 일반 참여 노드로서 블록생성 후보 노드가 된다.
도 1에서 붉은색 노드는 해당 클러스터 內 블록생성 후보 노드를, 초록색 노드는 클러스터 중개노드를 나타내며 각 클러스터는 최소 1개 이상의 他 클러스터와 연계되어야 한다. 이렇게 다수 클러스터로 구성된 블록체인 네트워크에서 블록은 각 클러스터별로 내부 경쟁에 따라 후보 블록을 생성한 후 클러스터간 외부 경쟁을 통해 최종 등록된 블록을 결정하게 된다. 외부 경쟁은 정해진 기준(경쟁을 통해 흡수한 노드들의 지분)만큼 합의에 도달할 때까지 계속된다.
도 2는 최초 노드가 블록체인 네트워크에 참여하는 시점부터 최종 블록을 생성하여 체인에 연결하기까지의 본 발명의 사상에 따른 네트워크 트랜잭션 합의 방법을 도시한 흐름도이다.
도시한 블록체인 네트워크의 트랜잭션 합의 방법은, 블록체인 네트워크에 참여를 원하는 노드를 위한 클러스터를 결정하는 단계(S122 ~ S126); 결정된 상기 클러스터의 중개 노드를 선정하는 단계(S132, S136); 결정된 상기 클러스터의 대표 노드를 선정하는 단계(S142, S146); 선정된 상기 대표 노드가 상기 중개 노드를 통한 이웃 클러스터의 대표 노드와 지분에 따라 경쟁을 시도하는 단계(S150); 상기 경쟁에서 승리하면(S162) 상기 이웃 클러스터의 지분을 양수하는 단계; 및 블록 생성을 위한 지분 조건을 충족하면(S166), 블록을 생성하여 체인에 등록하는 단계(S170)를 포함할 수 있다.
도시한 S162 단계에서 상기 이웃 클러스터와 경쟁에서 패배하면, 상기 대표 노드가 상기 클러스터의 지분을 상기 이웃 클러스터에 양도하는 단계(S164)를 더 포함할 수 있다.
도시한 S166 단계에서 상기 블록 생성을 위한 지분 조건을 충족하지 못하면, 다른 이웃 클러스터와 경쟁을 시도하는 단계(S150 단계로 복귀)를 더 포함할 수 있다.
도시한 흐름도에 따른 트랜잭션 합의 방법을 수행함에 있어서, 본 발명의 사상에 따라 제안되는 상기 지분은, 실제 노드와 더불어 가상 노드를 반영한 지분으로서, 상기 대표 노드들 간 경쟁 결과의 누적 합산값으로 적용될 수 있다.
추가적으로 상기 지분은, 최초 블록체인에 참여하는 노드들이 초기 투입하거나 부여받은 지분을 기저 지분으로 설정하고, 이후 전체 블록체인의 대표 노드로 선정되어 블록을 생성함으로써 얻는 인센티브 또는 상기 선정된 대표 노드가 속한 클러스터의 중개 노드로 활동하여 인센티브를 추가 지분으로 설정하여 운영될 수 있으며, 또는, 중개해 주는 클러스터의 대표 노드가 최종적으로 전체 블록체인의 블록을 생성함으로써 얻게 되는 인센티브 지분의 일부를 중개 노드에 지급되도록 운영될 수 있다.
블록체인 네트워크에 대한 상기 클러스터에 의한 모듈화 구성은 운영의 효율 및 본 발명의 사상에 따른 지분 경쟁의 효율을 위해 제안된 것으로서, 특히, 모바일 노드들로 이루어진 블록체인 네트워크에 유용하며, 클러스터들을 구분하기 위해 무선 센서 네트워크 등에 이용되는 기술을 적용할 수 있다. 그러나, 본 발명의 기술적 사상은 유선 노드들에 구비된 블록체인 네트워크나, 나아가 유선 노드들만으로 이루어진 블록체인 네트워크에도 적용될 수 있는 바, 이 또한 본 발명의 권리범위에 속함은 물론이다.
상기 클러스터를 결정하는 단계(S122 ~ S126)에서는 클러스터를 신규로 생성하거나(S126), 기존 클러스터에 참여할 수 있다(S124). 기존 클러스터에 참여(S124)한 이후, 기존 클러스터에서 결정된 중개 노드와 대표 노드를 그대로 수용하거나, 도시한 것과 유사한 방식으로 중개 노드 및/또는 대표 노드를 변경할 수 있다.
상기 클러스터의 대표 노드를 선정하는 단계(S146)는, 경쟁 대상인 어느 한쪽 노드가 랜덤값, ‘+’ 또는 ‘-’ 중 하나의 선택값 및 챌린지값을 임의로 선택하여 이를 일회용 암호키로 암호화하여 상대 노드에 전송하고, 상대 노드 또한 자신의 랜덤값, ‘+’ 또는 ‘-’ 중 하나의 선택값 및 챌린지값을 임의로 선택하여 이에 대한 서명을 더한 정보를 송신한 뒤, 상호 랜덤값의 평균에 챌린지값을 더하거나 빼서 목표값을 결정하고 상기 목표값에 가까운 랜덤값을 제시한 노드가 경쟁에서 승리하는 방식으로 수행될 수 있다.
이때, 상기 챌린지값은 노드간 지분 비율을 고려하여 공정성을 보장하기 위해 지분 비율이 더 큰 노드가 하나 더 많은 챌린지값을 생성하도록 운영될 수 있다.
또한, 상기 랜덤값의 평균에 챌린지값을 더하거나 빼서 목표값을 결정할 때, 목표값이 최소 또는 최대 한계값을 넘어서는 경우, 이에 최대 또는 최소 한계값을 더함으로써 목표값이 항상 지정된 범위 내에 존재하도록 보정할 수 있다.
다음, 도 2의 흐름도에 따른 세부 과정들을 구체적인 수학식들을 제시하며 예시하겠다.
네트워크에 참여를 원하는 노드가 발생하면 주위에 참여할 클러스터 유무를 확인한 후, 기존 클러스터에 참여 혹은 신규 클러스터를 스스로 생성하게 된다(단, 초기 1개 노드로 생성된 클러스터는 정상 동작하지 않는다). 이후 주위 클러스터에 연계될 수 있는 중개노드가 존재하거나 신규 생성된 클러스터에 추가 노드가 참여할 경우 공식적으로 클러스터 및 노드로의 역할을 수행할 수 있다. 이때, 초기 노드와 추가 노드는 지원 또는 경쟁에 의해 해당 클러스터의 중개 노드 역할을 수행하다. 다음으로, 상기 클러스터 내에서 경쟁에 의해 블록생성 후보 노드(클러스터 대표 노드)를 선정하게 되고 중개 노드를 통해 他 클러스터와 경쟁을 시도한다. 경쟁에서 승리할 경우 상기 클러스터는 대표 클러스터로, 상기 클러스터 대표 노드는 상대 클러스터의 지분을 흡수하는데, 정해진 지분 조건을 충족할 때까지 다른 클러스터와 경쟁을 시도한다. 최종적으로 지분 조건을 충족하게 되면 상기 클러스터 대표 노드가 생성한 블록을 체인에 등록한다.
상기 지분은 각 노드가 최초 블록체인에 참여할 때 정해지는 값과 운영중에 블록생성 또는 중개노드로 활동하면서 얻는 인센티브를 더한 값이며, 각 노드별로 다른 지분값을 가지게 된다. 상기 지분은 가상 노드수와도 직결된다. 가령 클러스터 ‘A’에는 노드 3개가 지분 총합 100을 가지고 있고, 클러스터 ‘B’에는 노드 10개가 지분 총합 50을 가지고 있다고 가정하면 물리적인 노드 개수에서는 클러스터 ‘B’가 앞서지만 지분을 기준으로 판단한다면 클러스터 ‘A’가 클러스터 ‘B’에 비해 2배로 많다. 만약 기준 지분을 10으로 설정(지분 10을 가상 노드 1개로 정의)한다면 클러스터 ‘A’에는 가상 노드 10개가 존재하는 반면, 클러스터 ‘B’에는 가상 노드 5개가 존재한다. 이렇게 지분과 가상 노드 개념을 도입한 이유는 다음과 같다.
임의의 클러스터를 악의적으로 장악하기 위해 최대한 많은 노드를 투입할 경우, 이에 대응할 방안이 필요하다. 즉, 가능한 많은 지분을 초기에 투입하도록 하고 오랜 활동으로 지분을 쌓은 경우에 경쟁에서 승리하고, 클러스터 대표로 선정될 가능성이 높도록 해야 한다. 바꿔 말하면, 악의적 행동 및 결과를 얻기 위해서는 그 이상의 (시간적, 비용적) 대가가 수반되도록 해야만 투자 대비 효과(악의적 이익)가 적게 되고 악의적 장악을 회피할 수 있다.
악의적이지 않더라도 모든 노드가 공정한 조건이 아닌 공평한 조건을 받아서는 안된다. 즉, 초기에 투입한 지분과 활동 기간 및 활동한 결과(블록생성 회수) 등에 따라 공정한 차별적 대우를 받는 것이 바람직하다. 이는 기존 합의 알고리즘의 PoS와 유사한 개념으로, 참여한지 얼마되지 않은 노드와 오랜 기간 활동한 노드에게 경쟁에서 승리할 기회를 차별적으로 부여하는 것이 오히려 공정한 환경이기 때문이다.
상기 가상 노드 개념에 따라, 클러스터 內 노드간 또는 클러스터간(정확히는 클러스터 대표 노드간) 경쟁시 지분(가상 노드수)이 많은 쪽은 경쟁에서 더 유리한 조건(후술하는 도 5에서 챌린지값을 2개 선택하여 그 중에서 유리한 값을 선택할 수 있는 조건)을 얻을 수 있도록 한다.
도 3은 블록체인 노드간 경쟁하는 방법을 나타내는 도식화한 것이다. 도시한 바와 같이 노드 A와 B가 경쟁한다고 가정하면, 우선 노드 A는 랜덤값 ‘RA’와 ‘+ 또는 - 中 임의 선택값’ 및 챌린지값 ‘CA’를 생성하여 자신의 일회용 비밀키인 EA로 암호화한 후 이를 노드 B에게 전송한다. 이를 수신한 노드 B도 랜덤값 ‘RB’와 ‘+ 또는 - 中 임의 선택값’ 및 챌린지값 ‘CB’를 생성하여 이를 자신의 개인키 SB로 서명한 값과 함께 노드 A에게 전송한다. 노드 A는 노드 B의 공개키를 이용하여 서명을 확인하고, 하기 수학식 1과 같은 계산값을 구하여 승리 여부를 확인한다.
상기 2개 식을 상호 비교하여 더 적은 쪽이 승리하게 된다. 만약 소수점까지 동일할 경우에는 먼저 경쟁을 시도한 노드 A가 승리한 것으로 간주하거나 또 다른 방식으로 승리 노드를 결정할 수 있다. 상기 방식에서는 ‘+/-’ 값 및 추가값(챌린지값)을 도입함으로써 2개 이상의 노드가 동시에 경쟁하는 경우에 적용할 수 있다. 참고로 상기 수학식 1에서 챌린지값을 도입한 이유는 경쟁 대상이 2개인 경우에도 승리 여부를 판정할 수 있도록 함에 있다.
도 4는 상기 ‘유리한 조건’에 대한 보다 구체적인 사례를 보여준다. 클러스터 ‘A’에는 지분이 각각 35, 20, 20, 15, 10인 노드 5개가 존재하고 클러스터 ‘B’에는 지분이 각각 25, 15, 10인 노드 3개가 존재한다. 클러스터 ‘A’에서는 지분 35인 노드(‘a’)가 대표 노드로 선정되었고, 클러스터 ‘B’에서는 지분 25인 노드(‘b’)가 대표 노드로 선정되었다고 가정한다. 대표 노드 ‘a’와 ‘b’가 블록생성 경쟁을 할 경우, 동일한 조건에서 경쟁한다면 대표 노드 ‘a’ 입장에서는 불공정한 조건으로 판단할 것이다. 이는 노드 ‘a’가 노드 ‘b’보다 더 치열한 경쟁을 통해 해당 클러스터의 대표 노드로 선정되었기 때문이며, 자신이 속한 클러스터가 더 많은 지분을 가지고 있어 보다 쉽게 합의 확정에 이를 수 있기 때문(일정 지분 이상 경쟁에서 승리하여 합의를 이끌어낸 경우 블록생성 권한을 확보할 수 있기 때문)이다. 따라서, 도 4의 경쟁을 식으로 나타내면 하기 수학식 2와 같다.
노드 ‘a’는 식 (2)에서 중 자신이 승리할 수 있는 값(물론, 두 개 값 중 어떤 값을 선택하더라도 지는 경우도 있을 수 있음)을 반드시 선택할 것이며, 노드 ‘b’ 또한 이를 알고 있으므로 노드 ‘a’와 동일한 선택을 할 수밖에 없다. 이러한 방식으로 지분(가상 노드 개수)의 우위를 보상해 줄 수 있다.
그리고, 도 4에서 노드 ‘a’ 또는 노드 ‘b’가 승리할 경우, 이번 경쟁을 통해 확보되는 지분은 총 150으로 가상 노드 개수로는 15개이므로 가상 노드 15개가 합의를 본 것으로 갈음한다.
도 5에서는 한 개의 노드(노드 A)가 동시에 다수의 노드와 경쟁하기 위해 랜덤값, ‘+/-’ 값 및 추가값(챌린지값)을 전송하고 있다. 상기 수학식 1 또는 수학식 2를 이용하여 네트워크 토폴로지에 따라 도 5에 표기되어 있는 공유 정보를 일괄 포워딩하고 절차를 진행하면 클러스터 內 또는 외부 경쟁 절차상 대표 노드 선정상 모호성을 해결할 수 있을 뿐만 아니라 빠르고 간소하게 처리할 수 있다.
도 6은 악의적인 노드 혹은 노드의 오류(오동작)의 존재 가능성을 고려한 현실적인 상황에서 노드간 또는 클러스터간 경쟁을 통한 합의 도달에 대한 확률분포를 보여준다. 우선 각 노드가 악의를 가지거나 오동작을 일으킬 확률을 ‘P’라 정의한다. 그리고 각 노드는 상호 독립적인 활동(상태)을 예상할 수 있으므로 각 노드의 비정상 여부는 베르누이 사건으로, 합의에 도달하기 위해 필요한 노드 수를 산정하는 것은 이항확률로 정의될 수 있으므로, 최종 합의에 도달하기 위해 요구되는 합의 노드(가상 노드) 비율은 하기 수학식 3과 같이 정의될 수 있다.
즉, 상기 수학식 3은 얼마나 많은 가상 노드와의 경쟁에서 승리하여 블록생성 권한을 확보할 것인지에 대한 계산식으로 이를 비트코인의 51% 공격 가능성에 비유한다면 하기 수학식 4가 도출된다.
상기 수학식 3과 4에서 ‘n’은 고정된 값(전체 클러스터에 속한 지분 총합 또는 가상 노드 전체 개수)이며, ‘P’는 어떤 노드가 악의 또는 오동작일 가능성을 나타내는 확률값으로 관제서버 또는 사외 전문기관으로부터 입수한 보안 관련 현황 정보를 이용해서 계산 가능한 고정된 값이다. 따라서 식 (4)를 이용할 경우 51% 공격을 무력화시키기 위해 필요로 하는 최소한의 가상 노드 개수 ‘k’ 값을 계산할 수 있다. 도 6의 왼쪽 그림은 P 확률값이 0.5일 때 보여주는 대칭형 분포(정규분포와 유사한 형태의 분포)를 나타내며, 오른쪽 그림은 P 확률값이 0.5보다 작을 때의 확률분포를 보여준다. P값은 일반적으로 아주 작은 값(최소 0.001 이하)을 가질 것으로 예상되므로 현실적으로 도 6의 오른쪽 그림에서도 완전히 오른쪽에 치우친 그림의 분포를 보일 것으로 예상된다. 결국, 도 2의 ‘他 클러스터와 경쟁 시도’를 통해 경쟁 승리 後 상대 클러스터의 지분에 해당하는 가상 노드수를 합의 투표수에 산입하게 되는데, 이를 누적해서 계산하는 것이 도 6의 확률분포에 따른 확률질량함수 누적값이 된다.
다음, 상술한 본 발명의 사상에 따른 트랜잭션 합의 방법을 수행하는 블록체인 시스템에 대하여 살펴보겠다.
본 발명의 사상에 따른 블록체인 시스템은, 블록체인 네트워크를 형성하는 노드들 중 일부 노드들로 이루어진 2개 이상의 클러스터들을 포함하되, 상기 각 클러스터에는, 상기 블록체인 네트워크의 블록을 생성하여 체인에 등록하는 대표 노드; 및 다른 클러스터와 연계를 수행하는 중개 노드가 구비된다.
여기서, 본 발명의 사상에 따라 각 클러스터 내에서 대표 노드가 되기 위한 노드간 경쟁에 있어 노드가 가진 지분을 기준으로 경쟁 프로세스가 적용되고, 블록 생성을 위한 클러스터들의 각 대표 노드들간 경쟁에 있어 상기 지분을 기준으로 경쟁 프로세스가 적용되며, 클러스터 대표 노드간 경쟁 결과에 대해 확률론적 평가 방식을 기준으로 삼아 일정 기준 이상의 경쟁이 완료되면 이를 최종 합의로 판정한다.
본 발명의 사상에 따라 상기 지분은, 실제 노드와 더불어 가상 노드를 반영한 지분으로서, 상기 대표 노드들 간 경쟁 결과의 누적 합산값으로 적용되며, 최초 블록체인에 참여하는 노드들이 초기 투입하거나 부여받은 지분을 기저 지분으로 설정하고, 이후 전체 블록체인의 대표 노드로 선정되어 블록을 생성함으로써 얻는 인센티브 또는 상기 선정된 대표 노드가 속한 클러스터의 중개 노드로 활동하여 인센티브를 추가 지분으로 설정하여 운영될 수 있다.
본 발명의 사상에 따른 기능들을 살펴보면, 상기 블록체인 시스템은, 상기 클러스터 대표 노드들의 악의성 또는 오류나 오동작에 대한 위험을 고려하고자 각 노드의 악의성이나 오류, 오동작 가능성을 베르누이 사건으로 보고, 이항확률에 따른 밀도함수를 기준으로 하여 상기 대표 노드간 경쟁 결과의 누적 합산값을 산정할 수 있다.
또한, 상기 블록체인 시스템은, 초기 노드 참여시 투자하는 지분과 이후 부여받는 지분을 더한 값을 상기 노드의 단위 지분으로 정하고, 상기 클러스터의 지분은 상기 클러스터 내에 참여하는 모든 노드의 단위 지분들의 합으로 정한 뒤, 이를 기본 지분이라는 정해진 일정 값으로 나누어 내림 또는 올림 또는 반올림한 값을 상기 클러스터의 가상 참여 노드 개수로 결정하고, 상기 대표 노드의 노드간 합의의 보안성 보장을 위해, 상기 누적 합산값을 보안관제시스템 또는 외부 전문기관의 정보로부터 도출된 임의의 보안 임계값과 비교하여, 상기 누적 합산값이 더 커지도록 하는 상기 가상 참여 노드 개수를 결정하고 이를 최종 합의 기준으로 삼을 수 있다.
또한, 상기 블록체인 시스템은, 시스템상 오류 또는 오동작에 따라 대표 노드 혹은 중개 노드 선정에 문제가 있을 경우, 가장 최근에 정상적인 역할을 수행한 대표 노드 및 중개 노드로 하여금 단기간 대리 역할을 수행시킬 수 있다.
또한, 상기 블록체인 시스템은, 시스템상 오류 또는 오동작에 따라 대표 노드 혹은 중개 노드 선정에 문제가 있을 경우나 가장 최근에 정상적인 역할을 수행한 대표 노드 및 중개 노드가 대리 역할을 수행할 수 없을 경우, 어떤 노드도 대표 노드 또는 중개 노드로 역할을 수행시킬 수 있다.
또한, 상기 블록체인 시스템은, 상기 악의적 행동 또는 오동작 노드에 대한 제재는, 정해진 기준에 따르거나 혹은 행위 수준에 따라 그 기준을 달리하여 상기 노드가 보유한 지분의 일부 또는 전부를 회수함으로써 향후 대표 노드로 선정될 가능성을 현저히 낮추는 방식으로 수행할 수 있다.
한편, 상기 상기 블록체인 시스템의 중개 노드는, 블록체인 토폴로지 정보, 각 클러스터에 속한 참여노드명 및 개수, 각 노드 및 해당 클러스터의 지분을 클러스터간 공유토록 통신 채널을 지원할 수 있다. 이때, 상기 중개 노드가 얻는 인센티브는, 상기 클러스터의 대표 노드가 지정하는 방식에 따라 결정하되, 이의 적절성은 중개할 노드가 직접 판단함으로써 중개 여부를 결정하도록 구현하는 것이 바람직하다.
상기 중개 노드의 선정은, 블록생성 후보 노드의 자격으로 일정 기준의 중개 노드 역할을 필수로 하고, 이에 더해 중개해주는 클러스터의 대표 노드가 최종적으로 전체 블록체인의 블록을 생성함으로써 얻게 되는 인센티브의 일부를 지분 개념으로 중개 노드에 지급함으로써 블록체인에 참여하는 노드들은 필수적으로 혹은 자발적으로 일정 기간 중개 노드로 역할하게 하는 방식으로 수행될 수 있다.
또한, 상기 중개 노드의 선정은, 단일 노드가 후보면 그 노드를 중개 노드로 선정하되, 복수의 노드가 경쟁할 경우에는 대표 노드 선정과 동일한 방식으로 중개 노드를 선정하는 방식으로 수행될 수 있다.
한편, 상기 상기 블록체인 시스템의 2개 이상의 클러스터의 대표 노드들간 합의 보안성 보장은, 이항확률밀도합수의 합산값을 보안관제시스템 또는 외부 전문기관의 정보로부터 도출된 임의의 보안 임계값과 비교하여 상기 합산값이 더 커지도록 하는 가상 참여 노드 개수를 결정하고 이를 최종 합의 기준으로 삼는 방식으로 이루어질 수 있다. 이때, 상기 노드간 합의 보안성 보장을 위한 기준으로서, 내부 시스템 또는 네트워크 상황이나 외부 공격 등에 따라 상기 보안 임계값을 달리 정할 수 있다.
또한, 상기 대표 노드간 경쟁 결과의 누적 합산값은, 내부 시스템 또는 네트워크 상황이나 외부 공격 등에 따라 각 노드의 악의성 또는 오동작할 확률값(수학식 4의 P)을 보정하여 적용되거나, 상기 노드 구성 환경이 일정 영역 안에 있어 동일 클러스터 안에 참여하고 있는 노드들은 동일한 또는 유사한 보안 환경에 놓임으로써 악의성이나 오류, 오동작 가능성이 상호 종속성을 가지고 있는 경우, 이항확률이 아닌 조건부 확률에 따르는 밀도함수가 적용될 수 있다.
도 7은 본 발명에 따른 트랜잭션 합의 방법을 수행하는 블록체인 네트워크를 구성하는 블록체인 노드의 일 실시예를 도시한 블록도이다.
도시한 블록체인 노드(100)는, 블록체인의 현황 파악 및 분석을 위한 운영자 UI 정보를 제공하는 블록체인관리부(110); 체인의 생성, 운영, 오류를 포함하는 체인의 현황 정보를 수집하여 상기 블록체인관리부로 전달하는 모니터링부(160); 지분을 관리하고 보유 지분을 주위 노드 및 상기 다른 클러스터로 알려주는 지분관리부(170); 외부 노드와 정보를 공유하는 네트워크통신부(180); 상기 각 노드의 블록체인에서의 역할 관리와 활동에 관한 처리를 담당하는 노드활동관리부(120); 및 다른 노드와 경쟁 프로세스를 처리하고 합의를 이끌어내는 과정에서 필요한 정보를 수집하고 및 계산하는 확률기반합의부(140)를 포함할 수 있다.
도 7에 도시한 블록체인 노드(100)는 크게 블록체인관리부(110), 모니터링부(160), 지분관리부(170), 네트워크통신부(180), 노드활동관리부(120) 및 확률기반합의부(140)로 구성되며 각 기능부의 역할은 다음과 같다.
블록체인관리부(110)는 블록체인의 현황 파악 및 분석, 통계처리 등 전반적인 관리 및 운영자 UI 정보를 제공해주기 위한 전체 정보 처리 모듈이다.
모니터링부(160)는 체인의 생성, 운영, 오류 등 체인의 현황 정보를 수집하여 이를 블록체인관리부(110)로 전달하는 역할을 수행한다.
지분관리부(170)는 자신의 초기 투입 지분과 더불어 클러스터 중개노드 혹은 대표노드로 활동하면서 얻은 추가 지분을 관리하고 이를 주위 노드 및 他클러스터로 알려주는 역할을 수행한다.
네트워크통신부(180)는 해당 노드가 외부 노드와 정보를 공유하는 역할을 수행한다.
노드활동관리부(120)는 노드(100)의 전반적인 역할관리와 활동에 관한 처리를 담당하는 기능부이며, 클러스터연계부, 경쟁처리부, 블록생성부 및 긴급관리부로 세분화된다. 우선 클러스터연계부는 해당 노드가 중개노드로서 역할을 수행할 때 동작하는 기능부이며 자신의 클러스터와 他 클러스터간 정보를 공유하는 노드로 동작하게 도와준다. 구체적인 공유 정보로는 각 클러스터 內 물리적인 노드 개수와 가상 노드 개수, 총 지분합, 생성된 후보 블록 및 경쟁시 공유되는 랜덤값, +/-값, 챌린지값 등이 있다. 경쟁처리부는 도 3의 프로세스를 수행하면서 他 노드와 블록생성 권한 확보를 위한 지분 경쟁을 담당하는데, 상황에 따라 도 4와 5를 수행하게 된다. 블록생성부는 자신이 접수한 트랜잭션을 모아 블록을 생성하고 이를 체인에 등록하는 기능을 담당하는데, 정책에 따라 경쟁 전에 생성하거나 경쟁이 종료된 이후에 생성할 수 있다. 긴급관리부는 대표노드나 중개노드 선정 과정상 또는 블록생성이나 체인 형성 등의 과정상 오류가 발생함으로써 운영 정상화 전까지 비상 상황을 대처하기 위해 동작하는 기능부로서, 가장 최근에 정상적으로 이루어진 절차와 과정, 노드 역할 등을 저장하고 있다가 이를 복구하여 단기간 정상적인 운영이 유지되도록 긴급한 절차를 진행하는 역할을 수행한다.
확률기반합의부(140)는 노드간 경쟁 절차를 처리하고 합의를 이끌어내는 과정에서 필요한 정보를 수집 및 계산하는 역할을 수행한다. 첫째, 관제연계부는 보안관제시스템과 연계하여 악의적 행위나 오류, 오동작 의심이 드는 노드나 기타 자원의 현황 파악 및 예측 등에 대한 정보를 수집하는 기능을 수행한다. 둘째, 사외연동부는 자체 보안시스템 연계를 보완하기 위한 목적으로 사외 전문기관으로부터 블록체인 안전성이나 공격가능성 등의 정보를 수집하는 역할을 수행하며, 일례로 최초 비트코인의 51% 공격 가능성이나 업그레이드된 23% 공격 가능성 연구 결과 등을 수집하여 상기 수학식 4를 계산하는데 필요한 정보로 활용할 수 있다. 셋째, P값계산부는 관제연계부로부터 수집된 정보를 분석하여 상기 수학식 3과 4에 적용하기 위한 보정된 P값을 계산하는 역할을 수행한다. 마지막으로 확률계산부는 P값계산부로부터 P값을 업데이트받고 상기 수학식 3과 4를 계산하는 것과 지분관리부와 연계하여 블록생성 권한 여부 확정 업무를 수행한다.
본 발명이 속하는 기술 분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있으므로, 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100 : 블록체인 노드
120 : 노드활동관리부
140 : 확률기반합의부
110 : 블록체인관리부
160 : 모니터링부
170 : 지분관리부
180 : 네트워크통신부

Claims (26)

  1. 블록체인 네트워크에 참여를 원하는 노드를 위한 클러스터를 결정하는 단계;
    결정된 상기 클러스터의 중개 노드를 선정하는 단계;
    결정된 상기 클러스터의 대표 노드를 선정하는 단계;
    선정된 상기 대표 노드가 상기 중개 노드를 통한 이웃 클러스터의 대표 노드와 지분에 따라 경쟁을 시도하는 단계;
    상기 경쟁에서 승리하면 상기 이웃 클러스터의 지분을 양수하는 단계; 및
    블록 생성을 위한 지분 조건을 충족하면, 블록을 생성하여 체인에 등록하는 단계를 포함하는 블록체인 네트워크의 트랜잭션 합의 방법.
  2. 제1항에 있어서,
    상기 이웃 클러스터와 경쟁에서 패배하면, 상기 대표 노드가 상기 클러스터의 지분을 상기 이웃 클러스터에 양도하는 단계
    를 더 포함하는 블록체인 네트워크의 트랜잭션 합의 방법.
  3. 제1항에 있어서,
    상기 블록 생성을 위한 지분 조건을 충족하지 못하면, 다른 이웃 클러스터와 경쟁을 시도하는 단계
    를 더 포함하는 블록체인 네트워크의 트랜잭션 합의 방법.
  4. 제1항에 있어서,
    상기 지분은,
    실제 노드와 더불어 가상 노드를 반영한 지분으로서, 상기 대표 노드들 간 경쟁 결과의 누적 합산값으로 적용되는 블록체인 네트워크의 트랜잭션 합의 방법.
  5. 제4항에 있어서,
    상기 지분은,
    최초 블록체인에 참여하는 노드들이 초기 투입하거나 부여받은 지분을 기저 지분으로 설정하고, 이후 전체 블록체인의 대표 노드로 선정되어 블록을 생성함으로써 얻는 인센티브 또는 상기 선정된 대표 노드가 속한 클러스터의 중개 노드로 활동하여 인센티브를 추가 지분으로 설정하여 운영되는 블록체인 네트워크의 트랜잭션 합의 방법.
  6. 제5항에 있어서,
    중개해 주는 클러스터의 대표 노드가 최종적으로 전체 블록체인의 블록을 생성함으로써 얻게 되는 인센티브 지분의 일부를 중개 노드에 지급하는 블록체인 네트워크의 트랜잭션 합의 방법.
  7. 제1항에 있어서,
    상기 클러스터의 대표 노드를 선정하는 단계는,
    경쟁 대상인 어느 한쪽 노드가 랜덤값, ‘+’ 또는 ‘-’ 중 하나의 선택값 및 챌린지값을 임의로 선택하여 이를 일회용 암호키로 암호화하여 상대 노드에 전송하고,
    상대 노드 또한 자신의 랜덤값, ‘+’ 또는 ‘-’ 중 하나의 선택값 및 챌린지값을 임의로 선택하여 이에 대한 서명을 더한 정보를 송신한 뒤,
    상호 랜덤값의 평균에 챌린지값을 더하거나 빼서 목표값을 결정하고 상기 목표값에 가까운 랜덤값을 제시한 노드가 경쟁에서 승리하는 방식으로 수행되는 블록체인 네트워크의 트랜잭션 합의 방법.
  8. 제7항에 있어서,
    상기 챌린지값은 노드간 지분 비율을 고려하여 공정성을 보장하기 위해 지분 비율이 더 큰 노드가 하나 더 많은 챌린지값을 생성하는 블록체인 네트워크의 트랜잭션 합의 방법.
  9. 제7항에 있어서,
    상기 랜덤값의 평균에 챌린지값을 더하거나 빼서 목표값을 결정할 때, 목표값이 최소 또는 최대 한계값을 넘어서는 경우, 이에 최대 또는 최소 한계값을 더함으로써 목표값이 항상 지정된 범위 내에 존재하도록 보정하는 블록체인 네트워크의 트랜잭션 합의 방법.
  10. 블록체인 네트워크를 형성하는 노드들 중 일부 노드들로 이루어진 2개 이상의 클러스터들을 포함하되,
    각 클러스터에는,
    상기 블록체인 네트워크의 블록을 생성하여 체인에 등록하는 대표 노드; 및
    다른 클러스터와 연계를 수행하는 중개 노드가 구비되고,
    각 클러스터 내에서 대표 노드가 되기 위한 노드간 경쟁에 있어 노드가 가진 지분을 기준으로 경쟁 프로세스가 적용되고,
    블록 생성을 위한 클러스터들의 각 대표 노드들간 경쟁에 있어 상기 지분을 기준으로 경쟁 프로세스가 적용되며,
    클러스터 대표 노드간 경쟁 결과에 대해 확률론적 평가 방식을 기준으로 삼아 일정 기준 이상의 경쟁이 완료되면 이를 최종 합의로 판정하는 블록체인 시스템.
  11. 제10항에 있어서,
    상기 각 노드는,
    블록체인의 현황 파악 및 분석을 위한 운영자 UI 정보를 제공하는 블록체인관리부;
    체인의 생성, 운영, 오류를 포함하는 체인의 현황 정보를 수집하여 상기 블록체인관리부로 전달하는 모니터링부;
    지분을 관리하고 보유 지분을 주위 노드 및 상기 다른 클러스터로 알려주는 지분관리부;
    외부 노드와 정보를 공유하는 네트워크통신부;
    상기 각 노드의 블록체인에서의 역할 관리와 활동에 관한 처리를 담당하는 노드활동관리부; 및
    다른 노드와 경쟁 프로세스를 처리하고 합의를 이끌어내는 과정에서 필요한 정보를 수집하고 및 계산하는 확률기반합의부
    를 포함하는 블록체인 시스템.
  12. 제10항에 있어서,
    상기 지분은,
    실제 노드와 더불어 가상 노드를 반영한 지분으로서, 상기 대표 노드들 간 경쟁 결과의 누적 합산값으로 적용되는 블록체인 시스템.
  13. 제12항에 있어서,
    상기 지분은,
    최초 블록체인에 참여하는 노드들이 초기 투입하거나 부여받은 지분을 기저 지분으로 설정하고, 이후 전체 블록체인의 대표 노드로 선정되어 블록을 생성함으로써 얻는 인센티브 또는 상기 선정된 대표 노드가 속한 클러스터의 중개 노드로 활동하여 인센티브를 추가 지분으로 설정하여 운영되는 블록체인 시스템.
  14. 제12항에 있어서,
    상기 클러스터 대표 노드들의 악의성 또는 오류나 오동작에 대한 위험을 고려하고자 각 노드의 악의성이나 오류, 오동작 가능성을 베르누이 사건으로 보고, 이항확률에 따른 밀도함수를 기준으로 하여 상기 대표 노드간 경쟁 결과의 누적 합산값을 산정하는 블록체인 시스템.
  15. 제12항에 있어서,
    초기 노드 참여시 투자하는 지분과 이후 부여받는 지분을 더한 값을 상기 노드의 단위 지분으로 정하고,
    상기 클러스터의 지분은 상기 클러스터 내에 참여하는 모든 노드의 단위 지분들의 합으로 정한 뒤, 이를 기본 지분이라는 정해진 일정 값으로 나누어 내림 또는 올림 또는 반올림한 값을 상기 클러스터의 가상 참여 노드 개수로 결정하고,
    상기 대표 노드의 노드간 합의의 보안성 보장을 위해, 상기 누적 합산값을 보안관제시스템 또는 외부 전문기관의 정보로부터 도출된 임의의 보안 임계값과 비교하여, 상기 누적 합산값이 더 커지도록 하는 상기 가상 참여 노드 개수를 결정하고 이를 최종 합의 기준으로 삼는 블록체인 시스템.
  16. 제10항에 있어서,
    시스템상 오류 또는 오동작에 따라 대표 노드 혹은 중개 노드 선정에 문제가 있을 경우, 가장 최근에 정상적인 역할을 수행한 대표 노드 및 중개 노드로 하여금 단기간 대리 역할을 수행토록 하는 블록체인 시스템.
  17. 제16항에 있어서,
    시스템상 오류 또는 오동작에 따라 대표 노드 혹은 중개 노드 선정에 문제가 있을 경우나 가장 최근에 정상적인 역할을 수행한 대표 노드 및 중개 노드가 대리 역할을 수행할 수 없을 경우, 어떤 노드도 대표 노드 또는 중개 노드로 역할을 수행할 수 있도록 하는 블록체인 시스템.
  18. 제10항에 있어서,
    상기 중개 노드는,
    블록체인 토폴로지 정보, 각 클러스터에 속한 참여노드명 및 개수, 각 노드 및 해당 클러스터의 지분을 클러스터간 공유토록 하는 블록체인 시스템.
  19. 제13항에 있어서,
    상기 중개 노드가 얻는 인센티브는,
    상기 클러스터의 대표 노드가 지정하는 방식에 따라 결정하되, 이의 적절성은 중개할 노드가 직접 판단함으로써 중개 여부를 결정하는 블록체인 시스템.
  20. 제13항에 있어서,
    상기 중개 노드의 선정은,
    블록생성 후보 노드의 자격으로 일정 기준의 중개 노드 역할을 필수로 하고, 이에 더해 중개해주는 클러스터의 대표 노드가 최종적으로 전체 블록체인의 블록을 생성함으로써 얻게 되는 인센티브의 일부를 지분 개념으로 중개 노드에 지급함으로써 블록체인에 참여하는 노드들은 필수적으로 혹은 자발적으로 일정 기간 중개 노드로 역할하게 하는 방식으로 수행되는 블록체인 시스템.
  21. 제10항에 있어서,
    상기 중개 노드의 선정은,
    단일 노드가 후보면 그 노드를 중개 노드로 선정하되, 복수의 노드가 경쟁할 경우에는 대표 노드 선정과 동일한 방식으로 중개 노드를 선정하는 방식으로 수행되는 블록체인 시스템.
  22. 제14항에 있어서,
    상기 대표 노드간 합의 보안성 보장은,
    이항확률밀도합수의 합산값을 보안관제시스템 또는 외부 전문기관의 정보로부터 도출된 임의의 보안 임계값과 비교하여 상기 합산값이 더 커지도록 하는 가상 참여 노드 개수를 결정하고 이를 최종 합의 기준으로 삼는 블록체인 시스템.
  23. 제22항에 있어서,
    상기 노드간 합의 보안성 보장을 위한 기준으로서,
    내부 시스템 또는 네트워크 상황이나 외부 공격 등에 따라 상기 보안 임계값을 달리 정할 수 있는 블록체인 시스템.
  24. 제10항에 있어서,
    악의적 행동 또는 오동작 노드에 대한 제재는, 정해진 기준에 따르거나 혹은 행위 수준에 따라 그 기준을 달리하여 상기 노드가 보유한 지분의 일부 또는 전부를 회수함으로써 향후 대표 노드로 선정될 가능성을 현저히 낮추는 방식으로 수행되는 블록체인 시스템.
  25. 제14항에 있어서,
    상기 대표 노드간 경쟁 결과의 누적 합산값은,
    내부 시스템 또는 네트워크 상황이나 외부 공격 등에 따라 각 노드의 악의성 또는 오동작할 확률값을 보정하여 적용되는 블록체인 시스템.
  26. 제14항에 있어서,
    상기 대표 노드간 경쟁 결과의 누적 합산값은,
    상기 노드 구성 환경이 일정 영역 안에 있어 동일 클러스터 안에 참여하고 있는 노드들은 동일한 또는 유사한 보안 환경에 놓임으로써 악의성이나 오류, 오동작 가능성이 상호 종속성을 가지고 있는 경우, 이항확률이 아닌 조건부 확률에 따르는 밀도함수가 적용되는 블록체인 시스템.

KR1020220019761A 2022-02-15 2022-02-15 블록체인 네트워크의 트랜잭션 합의 방법 및 블록체인 노드 KR102654541B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220019761A KR102654541B1 (ko) 2022-02-15 2022-02-15 블록체인 네트워크의 트랜잭션 합의 방법 및 블록체인 노드

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220019761A KR102654541B1 (ko) 2022-02-15 2022-02-15 블록체인 네트워크의 트랜잭션 합의 방법 및 블록체인 노드

Publications (2)

Publication Number Publication Date
KR20230122918A KR20230122918A (ko) 2023-08-22
KR102654541B1 true KR102654541B1 (ko) 2024-04-05

Family

ID=87799523

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220019761A KR102654541B1 (ko) 2022-02-15 2022-02-15 블록체인 네트워크의 트랜잭션 합의 방법 및 블록체인 노드

Country Status (1)

Country Link
KR (1) KR102654541B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102106590B1 (ko) 2019-07-17 2020-05-04 (주)가민정보시스템 이종의 블록체인 플랫폼 간의 연동이 가능한 블록체인 네트워크 시스템 및 이에 따른 블록 체이닝 방법
KR102178673B1 (ko) 2020-05-20 2020-11-13 (주)가민정보시스템 이종의 블록체인 플랫폼의 채널 관리 시스템 및 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190009958A (ko) 2017-07-20 2019-01-30 주식회사 더블체인 확장형 블록체인 시스템 및 블록체인 확장방법
GB201720389D0 (en) * 2017-12-07 2018-01-24 Nchain Holdings Ltd Computer-implemented system and method
KR102050087B1 (ko) * 2018-04-13 2019-11-28 주식회사 골든블로코 하드웨어 및 지분증명 합의 알고리즘을 포함하는 블록 체인 시스템과 그 블록 체인 시스템에서의 블록 생성 방법
KR20210150810A (ko) * 2020-06-04 2021-12-13 (주)가민정보시스템 이종의 블록체인 플랫폼에서 거래 무결성 및 비밀성을 제공하는 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102106590B1 (ko) 2019-07-17 2020-05-04 (주)가민정보시스템 이종의 블록체인 플랫폼 간의 연동이 가능한 블록체인 네트워크 시스템 및 이에 따른 블록 체이닝 방법
KR102178673B1 (ko) 2020-05-20 2020-11-13 (주)가민정보시스템 이종의 블록체인 플랫폼의 채널 관리 시스템 및 방법

Also Published As

Publication number Publication date
KR20230122918A (ko) 2023-08-22

Similar Documents

Publication Publication Date Title
Zhu et al. zkCrowd: a hybrid blockchain-based crowdsourcing platform
Jesus et al. A survey of how to use blockchain to secure internet of things and the stalker attack
EP3837627B1 (en) Transaction system and method of operation thereof
US10965446B2 (en) Blockchain-based automated user matching
JP7408619B2 (ja) ブロックチェーンネットワークにおいて大規模分散メモリプールを管理するためのコンピュータ実装されたシステム及び方法
Makhdoom et al. Blockchain's adoption in IoT: The challenges, and a way forward
US20220239470A1 (en) Cross-blockchain data processing method and apparatus, device, and computer storage medium
Iqbal et al. Exploring sybil and double-spending risks in blockchain systems
JP2020048195A (ja) ブロックチェーンネットワークのノード間の合意をなす方法及び複数のノードの分散ネットワークで構成されたブロックチェーンシステム及びブロックチェーンシステムのプロセッサにより実行される複数のノード間の合意をなすための方法
Wen et al. Attacks and countermeasures on blockchains: A survey from layering perspective
CN110602217B (zh) 基于区块链的联盟管理方法、装置、设备及存储介质
Jani Smart contracts: Building blocks for digital transformation
US11875188B2 (en) Data processing system using directed acyclic graph and method of use thereof
CN111159297A (zh) 一种区块链记账方法、装置、节点及存储介质
Pupyshev et al. Gravity: a blockchain-agnostic cross-chain communication and data oracles protocol
CN110933088B (zh) 一种基于区块链的去中心化可验证隐匿代表方法及系统
Rathore et al. TangleCV: A distributed ledger technique for secure message sharing in connected vehicles
Judmayer et al. Pay to win: Cheap, crowdfundable, cross-chain algorithmic incentive manipulation attacks on pow cryptocurrencies
Wüst Security of blockchain technologies
KR102654541B1 (ko) 블록체인 네트워크의 트랜잭션 합의 방법 및 블록체인 노드
Drakatos et al. Adrestus: Secure, scalable blockchain technology in a decentralized ledger via zones
Gojka et al. Security in distributed ledger technology: An analysis of vulnerabilities and attack vectors
CN116415955A (zh) 一种基于哈希锁定与公证人相结合的跨链交易方法及系统
Charalampidis et al. When distributed ledger technology meets internet of things--benefits and challenges
Lei et al. BFastPay: A routing-free protocol for fast payment in bitcoin network

Legal Events

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