KR20230060461A - 심층 강화학습을 이용한 신뢰도 기반 위임 합의 블록체인 네트워크 관리 장치 및 방법 - Google Patents

심층 강화학습을 이용한 신뢰도 기반 위임 합의 블록체인 네트워크 관리 장치 및 방법 Download PDF

Info

Publication number
KR20230060461A
KR20230060461A KR1020220136205A KR20220136205A KR20230060461A KR 20230060461 A KR20230060461 A KR 20230060461A KR 1020220136205 A KR1020220136205 A KR 1020220136205A KR 20220136205 A KR20220136205 A KR 20220136205A KR 20230060461 A KR20230060461 A KR 20230060461A
Authority
KR
South Korea
Prior art keywords
delegation
node
nodes
agreement
blockchain network
Prior art date
Application number
KR1020220136205A
Other languages
English (en)
Inventor
정종문
고윤영
윤주식
Original Assignee
연세대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 연세대학교 산학협력단 filed Critical 연세대학교 산학협력단
Priority to CN202211329965.6A priority Critical patent/CN116032523A/zh
Publication of KR20230060461A publication Critical patent/KR20230060461A/ko

Links

Images

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
    • H04L67/1042Peer-to-peer [P2P] networks using topology management mechanisms
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • 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
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1093Some peer nodes performing special functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 위임될 노드의 비율과 위임될 노드를 신뢰도에 기반하여 선택하여 TPS를 향상시키면서도 보안성을 유지하거나 향상시킬 수 있으며, 동일한 노드가 과도하게 위임 노드로 선택되지 않도록 조절하여 탈중앙화 제약을 만족시킬 수 있도록 한다. 따라서 IIoT 네트워크와 같이 대규모 트랜잭션이 생성되고 제한된 서비스 시간 내에 처리되어야 하는 환경에서도 블록체인이 안정적으로 이용되도록 하는 위임 합의 블록체인 네트워크 관리 장치 및 방법을 제공한다.

Description

심층 강화학습을 이용한 신뢰도 기반 위임 합의 블록체인 네트워크 관리 장치 및 방법{Apparatus and Method for Managing Trust-Based Delegation Consensus of Blockchain Network using Deep Reinforcement Learning}
본 발명은 블록체인 네트워크 관리 장치 및 방법에 관한 것으로, 신뢰도 기반 위임 합의 블록체인 네트워크 관리 장치 및 방법에 관한 것이다.
블록체인은 데이터 관리 시스템에 투명성과 보안성을 제공하며 다양한 산업 영역(예를 들면, 에너지 거래, 스마트 공장, 자원 관리)에서 활용될 수 있다. 그러나 다양한 애플리케이션을 기반으로 방대한 실시간 데이터를 생성하는 산업용 사물 인터넷(IIoT) 네트워크와 블록체인을 결합할 경우, 데이터베이스 스토리지 블록체인 시스템은 엄격한 서비스 품질(QoS) 요구 사항을 충족해야 한다. 특히 블록체인이 가능한 실시간 IIoT 네트워크에서는 합의 프로세스에서 발생하는 낮은 처리량 문제를 해결해야 한다.
대표적인 블록체인 시스템인 비트코인과 이더리움은 IIoT 네트워크의 데이터 생성 속도와 신용카드 처리량에 비해 처리 속도가 현저히 느린 3 ~ 4개와 14개의 초당 트랜잭션(Transaction Per Second: 이하 TPS)을 지원하도록 설정되었다. 이와 같은 낮은 TPS 문제를 해소하기 위해, 보다 발전된 확장 가능한 블록체인 기술이 요구되었다. 이러한 요구에 따라 확장성을 향상시키는 다양한 블록체인들이 제안되었다. 그러나 기존의 확장성을 향상시키는 기법들은 악의적 노드에 의한 영향력이 증가될 수 있어 보안성이 감소할 수 있다는 문제가 있다.
즉 블록체인 트릴레마(trilemma)에 따라 블록체인 시스템에서는 블록체인의 3가지 특징(탈중앙화, 보안성, 확장성)을 모두 개선할 수 없다는 한계가 있다. 따라서, 보안성을 유지하거나 향상시키면서도 TPS를 향상시켜 블록체인의 확장성을 개선할 수 있는 방안이 요구되고 있다.
한국 공개 특허 제10-2020-0106604호 (2020.09.15 공개)
본 발명의 목적은 보안성을 유지하거나 향상시키면서도 TPS를 향상시켜 블록체인의 확장성을 개선할 수 있는 신뢰도 기반의 위임 합의 블록체인 네트워크 관리 장치 및 방법을 제공하는데 있다.
본 발명의 다른 목적은 신뢰도에 기반하여 위임될 노드의 비율과 위임될 노드를 선출하면서 탈중앙화 제약을 만족시킬 수 있는 위임 합의 블록체인 네트워크 관리 장치 및 방법을 제공하는데 있다.
상기 목적을 달성하기 위한 본 실시예에 따른 위임 합의 블록체인 네트워크 관리 장치는 블록체인 네트워크의 현재 에포크에서 각 위임 노드의 신뢰도가 포함된 상태 정보를 획득하고, 상기 상태 정보에 대해 신경망 연산을 수행하여 위임율을 포함하는 액션을 결정하며, 결정된 상기 액션에 따라 각 위임 노드의 상호간 주관적 평가를 나타내는 로컬 신뢰 의견(이하: LTO) 행렬을 생성하고, 상기 LTO 행렬을 이용하여 계산된 신뢰도에 기반하여 N개의 노드 중 결정된 상기 위임율에 따른 K개의 위임 노드를 선택한다.
상기 위임 합의 블록체인 네트워크 관리 장치는 현재 에포크에서 선택된 위임 노드 각각이 실용적 비잔틴 장애 허용(이하 PBFT) 합의 프로세스 동안 다른 노드로부터 전파된 동의 또는 비동의에 대한 승인 메시지를 수집한 위임 합의 결과(이하 DCR) 레코드를 취합하여 상기 LTO 행렬을 생성할 수 있다.
상기 위임 합의 블록체인 네트워크 관리 장치는 상기 프로세서는 상기 LTO 행렬을 기반으로 각 위임 노드에 대한 평균 주관적 신뢰치와 신뢰 유사도를 계산하여 상기 위임 노드의 신뢰도를 계산할 수 있다.
상기 위임 합의 블록체인 네트워크 관리 장치는 각 위임 노드의 신뢰도 이외에 위임 노드간 데이터 전송률과 각 위임 노드의 연산 자원, 위임 노드가 위임 합의에 참여한 횟수, 상기 계산된 신뢰도가 기지정된 신뢰도 문턱값 이하인 악의적 노드가 위임 노드로 선택될 확률을 나타내는 악의적 위임 노드 확률을 상기 상태 정보로서 더 획득할 수 있다.
상기 위임 합의 블록체인 네트워크 관리 장치는 트랜잭션이 상기 블록체인 네트워크에 인가된 후 합의 과정을 거쳐 비가역적인 상태가 될 때까지의 시간을 나타내는 레이턴시를 계산하고, u개의 연속되는 블록 간격에 따른 레이턴시 조건을 판별하고,
PBFT 조건에 따라 합의에 참여하는 위임 노드 중 악의적 노드의 비율이 기지정된 비율 미만이 되도록 하는 위임율의 범위를 나타내는 안전성 조건을 판별하며, N개의 노드 사이에 위임 노드로 선택되는 횟수의 불균형 정도를 나타내는 지니 계수를 계산하고, 지니 계수가 기지정된 탈중앙화 문턱값을 초과하지 않도록 하는 지니 계수 조건을 판별하고, 결정된 상기 액션이 상기 레이턴시 조건과 상기 안전성 조건 및 상기 지니 계수 조건을 만족하면, 보상을 계산할 수 있다.
상기 위임 합의 블록체인 네트워크 관리 장치는 상기 프로세서는 상기 레이턴시 조건과 상기 안전성 조건 및 상기 지니 계수 조건을 만족하면서, TPS(Transaction Per Second)를 최대로 하는 블록 크기(B), 블록 간격(TI) 및 위임율(φ)을 판별하여 상기 액션(At)을 결정할 수 있다.
상기 목적을 달성하기 위한 일 실시예에 따른 위임 합의 블록체인 네트워크 관리 방법은 블록체인 네트워크의 현재 에포크에서 각 위임 노드의 신뢰도가 포함된 상태 정보를 획득하는 단계; 상기 상태 정보에 대해 신경망 연산을 수행하여 위임율을 포함하는 액션을 결정하는 단계; 결정된 상기 액션에 따라 각 위임 노드의 상호간 주관적 평가를 나타내는 로컬 신뢰 의견(이하: LTO) 행렬을 생성하는 단계; 및
상기 LTO 행렬을 이용하여 계산된 신뢰도에 기반하여 N개의 노드 중 결정된 상기 위임율에 따른 K개의 위임 노드를 선택하는 단계를 포함한다.
따라서, 본 발명의 실시예에 따른 위임 합의 블록체인 네트워크 관리 장치 및 방법은 위임될 노드의 비율과 위임될 노드를 신뢰도에 기반하여 선택하여 TPS를 향상시키면서도 보안성을 유지하거나 향상시킬 수 있으며, 동일한 노드가 과도하게 위임 노드로 선택되지 않도록 조절하여 탈중앙화 제약을 만족시킬 수 있도록 한다. 따라서 IIoT 네트워크와 같이 대규모 트랜잭션이 생성되고 제한된 서비스 시간 내에 처리되어야 하는 환경에서도 블록체인이 안정적으로 이용되도록 할 수 있다.
도 1은 IIoT 네트워크 환경에서의 위임 합의 기반 블록체인 네트워크의 개략적 구조를 나타낸다.
도 2는 PBFT 합의 알고리즘을 통한 합의 프로세스의 일 예를 나타낸다.
도 3은 본 발명의 일 실시예에 따른 위임 합의 블록체인 네트워크에서 다수의 노드의 개략적 구조를 나타낸다.
도 4는 본 발명의 일 실시예에 따른 네트워크 관리 장치의 개략적 구조를 나타낸다.
도 5는 도 4의 환경 분석 모듈의 상세 구성의 일 예를 나타낸다.
도 6은 도 5의 신뢰도 계산 모듈이 위임 합의 결과에 기초하여 신뢰도를 계산하는 방법을 설명하기 위한 도면이다.
도 7은 일 실시예에 따른 위임 합의 블록체인 네트워크 관리 방법을 나타낸다.
도 8은 일 실시예에 따른 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 설명하기 위한 도면이다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 그러나, 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 설명하는 실시예에 한정되는 것이 아니다. 그리고, 본 발명을 명확하게 설명하기 위하여 설명과 관계없는 부분은 생략되며, 도면의 동일한 참조부호는 동일한 부재임을 나타낸다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "...부", "...기", "모듈", "블록" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 1은 IIoT 네트워크 환경에서의 위임 합의 기반 블록체인 네트워크의 개략적 구조를 나타낸다.
도 1을 참조하면, 스마트 팩토리, 스마트 홈, 로봇, 운송 수단 및 감시 장치 등 다양한 IIoT 기기가 배치된 IIoT 네트워크(10)에서 각 기기는 지정된 동작을 수행하고, 상호 통신함으로써 데이터 저장 및 데이터 공유와 같은 다양한 트랜잭션을 생성한다. 그리고 생성된 대량의 트랜잭션들은 블록체인 네트워크(20)로 전송된다.
블록체인 네트워크(20)는 IIoT 네트워크(10)로부터 트랜잭션을 받아 분산원장의 역할을 하는 블록에 기록해 신뢰성 있는 데이터 관리를 한다. 기존의 블록체인 네트워크에서는 상기한 바와 같이 채굴자(miner) 또는 검증자(validator)라 하는 블록체인 네트워크의 모든 노드가 합의 프로세스에 참여하여 전송된 트랜잭션을 검증한다. 이 경우, IIoT 네트워크(10)로부터 대량의 트랜잭션이 인가되고, 많은 수의 노드가 합의 프로세스에 참여함에 따라 합의에 도달하기까지의 시간이 길어져 트랜잭션을 요구되는 서비스 시간 내에 처리할 수 없다.
이에 본 실시예의 위임 합의 블록체인 네트워크(20)는 IIoT 네트워크(10)로부터 인가되는 트랜잭션을 모든 노드가 아닌 일부 노드만이 위임 노드(21)로서 합의 프로세스에 참여하도록 함으로써, 트랜잭션 처리 속도(Transactions Per Second: 이 TPS)를 대폭 향상시킨다.
본 실시예에서 네트워크 관리 장치는 위임 합의 블록체인 네트워크(20)의 상태에 따라 위임 합의 블록체인 네트워크(20)의 TPS를 향상시킬 수 있으며, TPS가 향상됨에도 블록체인 네트워크의 보안성이 유지되거나 더욱 향상될 수 있도록 관리한다. 즉 블록체인 네트워크를 최적화하여 블록체인 네트워크의 확장성이 개선되도록 할 수 있다. 특히 본 실시예에 따른 네트워크 관리 장치는 심층강화학습 방식(Deep Reinforcement Learning: 이하 DRL)으로 학습되어 블록체인 네트워크의 상태에 따라 적응적으로 블록체인 네트워크를 최적화하여 관리할 수 있다.
여기서는 위임 합의 블록체인 네트워크(20)에는 N(N은 자연수)개의 노드가 포함되는 것으로 가정한다. 그리고 N개의 노드 중 위임율(φ, 여기서 0 < φ ≤ 1)에 따라 K 개(여기서
Figure pat00001
이고,
Figure pat00002
는 최대 정수 함수이다.)의 노드가 위임 노드(21)로 합의 프로세스에 참여한다. K개의 위임 노드(21)는 위임 노드 집합(ND, 여기서 ND ⊂ N)의 원소가 된다. 이때 위임율(φ)과 다수의 노드 중 위임 노드(21)로 선택되는 노드들은 심층 강화학습에 따라 네트워크 관리 장치에 의해 결정되며, 이에 대한 상세한 설명은 후술한다.
그리고 본 실시예에서 위임 합의 블록체인 네트워크(20)는 합의 알고리즘으로 실용적 비잔틴 장애 허용(Practical Byzantine Fault Tolerance: 이하 PBFT) 합의 알고리즘을 이용한다. PBFT 합의 알고리즘은 낮은 연산 자원을 이용하고 합의 속도가 빠르기 때문에 확장성 있는 IIOT 네트워크(10)에 적용하기에 적합하다.
상기에서는 설명의 편의를 위하여 IIoT 네트워크(10)와 블록체인 네트워크(20)를 구분하였으나, IIoT 네트워크(10)의 다수의 IIoT 기기들은 블록체인 네트워크(20)의 노드로 동작할 수 있다. 그리고 네트워크 관리 장치는 다수의 노드 중 적어도 하나의 노드에 포함되어 구현될 수 있다.
도 2는 PBFT 합의 알고리즘을 통한 합의 프로세스의 일 예를 나타낸다.
도 2를 참조하면, PBFT 합의 알고리즘은 선 준비 단계(Pre-prepare), 준비 단계(Prepare), 승인 단계(Commit) 및 응신 단계(Reply)로 구성될 수 있다.
도2 에서는 일 예로 N개의 노드를 포함하는 위임 합의 블록체인 네트워크(20)에서 선택된 K개의 위임 노드(21)가 합의 프로세스를 수행하는 알고리즘을 나타낸다. K개의 위임 노드(21) 중 하나는 프라이머리 노드(Primary node)로서 트랜잭션 요청에 따른 블록을 생성하는 블록 생성자이며, 나머지 노드는 레플리카 노드(Replica node)로서 블록 생성자에서 생성된 블록에 대해 합의 검증하는 검증자다. 블록 생성자는 K개의 위임 노드 중 하나의 위임 노드가 랜덤하게 선택될 수 있다.
PBFT 합의 알고리즘에서 블록 생성자는 IIOT 네트워크에서 생성된 트랜잭션을 수집하고, 블록체인 파라미터에 따라 블록을 생성한다. 블록 생성자는 기지정된 배치 크기(Batch size)의 M개의 요청에 따라 M 크기의 블록을 생성한다. 선 준비 단계에서 블록 생성자는 생성된 블록을 검증자들로 전송하고 검증을 요청한다. 이때 블록 생성자는 K-1개의 검증자들에 대응하는 메시지 인증 코드(Message Authentication Code: 이하 MAC)를 생성하여 검증자들로 전송하여 검증을 요청한다.
준비 단계에서 검증자들 각각은 블록 생성자로부터 블록이 전송되면, MAC에 대한 연산을 수행하여 다른 검증자로 확인 메시지(confirmation message)를 전파한다. 이후 승인 단계에서 검증자들 각각은 전송된 블록의 유효성을 검증하여 승인 메시지(commit message)를 전파한다. 여기서 유효한 블록은 헤어 내용과 트랜잭션 리스트가 위조되지 않고 해시 값(hash value) 또한 수정되지 않은 블록을 의미한다. 검증자들 각각은 승인 단계에서 블록 생성에 대한 검증 결과로서 동의("Yea") 또는 비동의("Nay")에 대한 의사 메시지를 다른 검증자들로 전송한다. 응신 단계에서 다수의 검증자 각각은 자신을 포함한 모든 검증자들 중 2/3 이상의 검증자로부터 동의("Yea")에 대한 승인 메시지가 수신되면 해당 블록은 유효한 블록인 것으로 판단하여 생산된 블록의 체인에 연결하고, 블록체인 합의 결과를 블록 생성자로 응신한다. 그리고 위임 합의 블록체인 네트워크(20)의 모든 노드는 위임 합의된 결과를 확인할 수 있다.
상기한 바와 같이 본 실시예에서는 N개의 노드 중 K개의 위임 노드(21)가 PBFT 합의 알고리즘에 따라 합의 프로세스를 수행한다.
이하에서는 위임 합의 블록체인 네트워크(20)의 다수의 노드에 대한 구성을 설명한다.
도 3은 본 발명의 일 실시예에 따른 위임 합의 블록체인 네트워크에서 다수의 노드의 개략적 구조를 나타낸다.
도 3을 참조하면, 블록체인 네트워크(20)의 다수의 노드 각각은 통신 모듈(110), 제어 모듈(120), 블록 생성 모듈(130), 블록 검증 모듈(140), 위임 합의 모듈(150) 및 블록 저장 모듈(160)을 포함할 수 있다.
통신 모듈(110)은 네트워크 관리 장치가 위임 합의 블록체인 네트워크(20) 상의 다른 노드들과 통신을 수행할 수 있도록 한다. 그리고 제어 모듈(120)은 노드의 각 구성 요소를 제어하여 내부에서 각 구성 요소 사이의 데이터를 전달할 뿐만 아니라 통신 모듈(110)을 제어하여 다른 노드와 데이터를 송수신한다.
블록 생성 모듈(130)은 해당 노드가 블록 생성자로 선택되면, IIOT 네트워크(10)로부터 처리되어야 할 트랜잭션을 수집하여 블록을 생성한다. 여기서 블록 생성자는 상기한 바와 같이, 블록체인 네트워크 관리 장치에 의해 랜덤하게 선택될 수 있다. 그리고 생성된 블록을 통신 모듈(110)을 통해 블록체인 네트워크의 다른 위임 노드인 검증자들로 전파한다. 생성된 블록은 도 2에서와 같이 위임 합의 블록체인 네트워크(20)의 다수의 위임 노드에 의한 TD-PBFT(Trust based Delegated PBFT) 합의 프로세스를 거쳐 2/3 이상의 동의를 받게 되면 최종 블록으로 선언되어 각 노드에 이전 저장된 블록체인에 연결된다.
블록 검증 모듈(140)은 블록 생성자로 선택된 위임 노드에서 블록이 생성되어 전파되면 통신 모듈(110)을 통해 블록체인 네트워크의 다른 위임 노드로 확인 메시지를 전송한다. 그리고 전송된 블록의 유효성을 검증하여 검증 결과로서 동의("Yea") 또는 비동의("Nay")에 대한 승인 메시지를 생성하고, 생성된 승인 메시지를 다른 검증자로 전파한다.
위임 합의 모듈(150)은 검증 결과로서의 자신의 승인 메시지와 다른 검증자로부터 전파된 승인 메시지를 취합하여 위임 합의 결과(Delegated Consensus Result: DCR)를 도출한다. 여기서 도 6의 (a)에 도시된 바와 같이, 취합된 승인 메시지를 DCR 레코드라고 할 수 있다. 위임 합의 모듈(150)은 자신의 승인 메시지와 다른 검증자로부터 전파된 승인 메시지를 취합하여 DCR 레코드를 획득하고, 획득된 DCR 레코드에서 2/3 이상의 검증자가 동의("Yea")에 대한 승인 메시지를 전송한 경우, 위임 합의 결과로서 생성된 블록이 유효한 블록인 것으로 판단한다.
블록 저장 모듈(160)은 위임 합의 모듈(150)에서 유효한 것으로 판별된 블록을 인가받아 저장한다. 이때 블록 저장 모듈(160)은 이전 저장된 블록체인에 인가된 블록을 연결하여 저장한다. 그리고 저장된 블록체인을 블록체인 네트워크의 다른 노드들로 전파할 수 있다.
한편 본 실시예의 위임 합의 블록체인 네트워크(20)에서는 블록체인 네트워크의 TPS를 향상시키기 위한 네트워크 관리 장치가 더 포함될 수 있다. 네트워크 관리 장치는 블록체인 네트워크의 트릴레마 중 보안성 및 탈중앙화를 만족시키면서 TPS를 최대로 하여 확장성이 개선되도록 다수의 노드 중 위임 노드의 비율인 위임율(φ)을 설정하고, 설정된 위임율(φ)에 따라 위임 노드(21)를 선택한다.
도 4는 본 발명의 일 실시예에 따른 네트워크 관리 장치의 개략적 구조를 나타내고 도 5는 도 4의 환경 분석 모듈의 상세 구성의 일 예를 나타내며, 도 6은 도 5의 신뢰도 계산 모듈이 위임 합의 결과에 기초하여 신뢰도를 계산하는 방법을 설명하기 위한 도면이다.
네트워크 관리 장치는 위임 합의 블록체인 네트워크(20)의 다수의 노드와 별도의 독립된 장치로 구성될 수도 있으나, 다수의 노드 중 적어도 하나의 노드가 네트워크 관리 장치로 기능할 수도 있다. 그리고 위임 합의 블록체인 네트워크(20)의 노드가 네트워크 관리 장치로 동작하는 경우, 해당 노드는 도 3에 도시된 바와 같이, 위임 설정 모듈(170)을 더 포함할 수 있다.
본 실시예에서 네트워크 관리 장치(또는 위임 설정 모듈(170))은 심층강화학습(deep reinforcement learning: DRL) 방식으로 미리 학습되는 인공 신경망을 포함하여 구현될 수 있다. 일 예로 본 실시예에서 네트워크 관리 장치는 인공 신경망 중에서 DRL 방식으로 학습되는 레인보우 DQN(Rainbow Deep Q Network)에 기반하여 구성될 수 있다.
도 4를 참조하면, 네트워크 관리 장치(또는 위임 설정 모듈(170))은 메모리 모듈(210), 에이전트 모듈(220) 및 환경 분석 모듈(230)을 포함할 수 있다.
메모리 모듈(210)은 신뢰도 기반 위임 합의 블록체인 네트워크(20)의 환경으로서 각 에포크(t)에 대응하는 상태 정보(St)와 상태 정보(St)에 대응하는 액션(At)을 매칭시켜 저장한다. 에이전트 모듈(220)은 상태 정보(St)에 따른 액션(At)을 결정한다. 환경 분석 모듈(230)은 상태 정보(St)와 상태 정보(St)에 따라 결정된 액션(At)을 기반으로 다음 상태 정보(St+1)와 다음 상태 정보(St+1)에 대응하는 보상(Rt)을 계산한다.
우선 환경 분석 모듈(230)은 다음 상태 정보(St+1)와 보상(Rt)을 계산하기 위해, 도 5에 도시된 바와 같이, 신뢰도 평가 모듈(310), 레이턴시 계산 모듈(320), 안전성 분석 모듈(330), 지니 계수 계산 모듈(340) 및 보상 계산 모듈(350)을 포함할 수 있다.
여기서 신뢰도 평가 모듈(310)은 다수의 노드 각각에 대한 신뢰도를 계산하고, 레이턴시 계산 모듈(320), 안전성 분석 모듈(330), 지니 계수 계산 모듈(340)은 각각 블록체인 네트워크의 트릴레마인 확장성, 보안성 및 탈중앙화를 고려하기 위해 레이턴시와 안전성 및 지니 계수를 계산한다. 그리고 보상 계산 모듈(350)은 결정된 액션(At)을 기반으로 다음 상태 정보(St+1)가 레이턴시와 안전성 및 지니 계수 각각에 대한 조건을 만족하는지 여부에 따라 보상(Rt)을 계산한다.
신뢰도 평가 모듈(310)은 다수의 위임 노드에서 도출된 DCR 레코드를 취합하고, 취합된 DCR 레코드를 기반으로 다수의 위임 노드 상호간 주관적 평가를 나타내는 로컬 신뢰 의견(Local Trust Opinion Matrix: 이하 LTO) 행렬을 생성하며, 생성된 LTO 행렬 기반으로 다수의 노드 각각에 대한 신뢰도를 평가한다.
신뢰도 평가 모듈(310)은 LTO 생성 모듈(311), 신뢰도 계산 모듈(312), 악의적 위임 확률 계산 모듈(313)을 포함할 수 있다.
LTO 생성 모듈(311)은 다수의 위임 노드에서 획득된 DCR 레코드를 취합하여 LTO 행렬을 생성한다. LTO 행렬에서 각 행은 위임 노드에 대한 주관적 평가를 수행하는 위임 노드로서 DCR 레코드를 생성한 위임 노드를 나타내고, 각 열은 평가되는 위임 노드로서 DCR 레코드에 포함되는 승인 메시지를 전송한 위임 노드를 나타낸다. 즉 LTO 행렬에서 각 원소(Li,j)는 위임 노드(i)의 위임 노드(j)에 대한 주관적 신뢰도를 나타낸다. 여기서 i, j는 각각 위임 노드 식별자이며, LTO 행렬의 위치 좌표로서 (i, j ∈ [1, 2, …, K])이다. LTO 행렬의 각 원소(Li,j)는 수학식 1에 따라 계산될 수 있다.
Figure pat00003
여기서 Σi(Yea) 및 Σi(Nay)는 각각 위임 노드(i)의 DCR에서 동의("Yea")와 비동의("Nay")의 개수이다. 일 예로 위임 노드(i)가 위임 노드(j)로부터 동의("Yea")의 승인 메시지를 수신하고, 위임 노드(i)의 DCR에서 동의("Yea")의 비율이 75% 인 경우, LTO 행렬의 원소(Li,j)는 0.75로 계산된다.
LTO 행렬이 생성되면, 신뢰도 계산 모듈(312)은 생성된 LTO 행렬을 기반으로 다수의 위임 노드 각각에 대한 신뢰도를 계산한다. 이때 위임 설정 모듈(170)은 LTO 행렬로부터 각 위임 노드에 대한 평균 주관적 신뢰치(average subjective trust value)(μ)와 신뢰 유사도(trust similarity)(ν)를 계산할 수 있다.
여기서 평균 주관적 신뢰치는 다수의 위임 노드가 특정 위임 노드(i)에 대해 평가한 주관적 신뢰도의 평균값을 의미하고, 신뢰 유사도(ν)는 각 위임 노드들이 다수의 위임 노드에 대해 평가한 주관적 평가들 사이의 유사도를 나타낸다.
신뢰도 계산 모듈(312)은 위임 노드(i)에 대한 평균 주관적 신뢰치(μi)를 수학식 2에 따라 계산할 수 있다.
Figure pat00004
(여기서 Lj,i 는 상기 LTO 행렬의 (j, i) 원소를 나타낸다.)
수학식 2에 따른 평균 주관적 신뢰치(μi)는 블록 검증 시에 위임 노드(i)가 정확한 승인 메시지를 제출했음을 나타낸다. 만일 유효한 블록이 생성된 경우, 정상 위임 노드는 동의("Yea")의 승인 메시지를 전송한다. 그러나 악의적인 위임 노드는 비동의("Nay")의 승인 메시지를 전송한다. 이와 같이 악의적인 위임 노드가 비동의("Nay")의 승인 메시지를 전송하는 경우, 동의("Yea")에 비해 비동의("Nay")의 비율이 작기 때문에, 해당 악의적인 노드에 대한 평균 주관적 신뢰치(μi)는 낮아지게 된다.
한편, 위임 노드(i)에 대한 신뢰 유사도(νi)는 수학식 3과 같이 LTO 행렬에서 행 벡터의 코사인 유사도에 대한 평균으로 계산될 수 있다.
Figure pat00005
여기서 ∥·∥는 절대값 함수이고, Li 및 Lj는 각각 LTO 행렬의 i번째 및 j번째 행 벡터를 나타낸다. 신뢰 유사도(ν)는 DCR 레코드를 위조하는 위임 노드(21)에 패널티를 부가하기 위해 이용될 수 있다. 악의적 노드가 승인 메시지를 위조하여 DCR 레코드를 생성하여 정상 노드의 신뢰 수준을 저하시키는 경우, 수학식 3의 신뢰 유사도(νi)가 낮아지게 된다.
그리고 신뢰도 계산 모듈(312)은 수학식 2 및 수학식 3에 따라 계산된 평균 주관적 신뢰치(μi)와 신뢰 유사도(νi)로부터 각 위임 노드의 신뢰도(τ)를 수학식 4와 같이 계산한다.
Figure pat00006
즉 신뢰도 계산 모듈(312)은 LTO 행렬을 이용하여 악의적 위임 노드가 블록에 대해 검증한 결과인 승인 메시지를 위조하는 경우에 평균 주관적 신뢰치(μ)를 저하시키고, 승인 메시지를 수집하여 획득된 DCR 레코드를 위조하는 경우에 신뢰 유사도(ν)를 저하시켜, 악의적 위임 노드에 대한 신뢰도(τ)가 낮아지도록 하고, 정상적인 승인 메시지와 DCR 레코드를 전송하는 정상 위임 노드의 경우 신뢰도(τ)가 높아지도록 한다.
본 실시예에서 네트워크 관리 장치(또는 위임 설정 모듈(170))은 다수의 노드 각각의 신뢰도(τ)에 따라 서로 다른 확률로 위임 노드를 선택할 수 있다. 즉 높은 신뢰도(τ)를 갖는 노드가 위임 노드로 선택될 확률을 높이고, 낮은 신뢰도(τ)를 갖는 노드가 위임 노드로 선택될 확률을 낮추어 악의적 노드가 위임 노드로 선택될 가능성을 줄일 수 있다.
여기서 다수의 노드의 초기 신뢰도(τ)는 0.5로 설정(τ = 0.5)될 수 있다.
한편, 악의적 위임 확률 계산 모듈(313)은 악의적 노드가 위임 노드 집합(ND)에 포함될 확률을 추정할 수 있다. 여기서는 신뢰도(τ)가 기지정된 신뢰도 문턱값(ψ) 이하인 노드를 악의적 노드라 한다. 각 노드의 초기 신뢰도(τ)가 0.5로 설정되는 것으로 가정하였으며, 상기한 바와 같이 신뢰도 계산 시에 정상 노드의 신뢰도(τ)는 높아지는 반면, 악의적 노드의 신뢰도(τ)는 낮아지므로, 신뢰도(τ)가 0.5 미만인 노드를 악의적 노드라고 할 수 있다.
그리고 악의적 노드가 위임 노드 집합(ND)에 포함될 악의적 노드 위임 확률(
Figure pat00007
)은 수학식 5와 같이 계산될 수 있다.
Figure pat00008
여기서 n(·)은 (·)의 조건을 만족하는 개수를 카운트하는 카운트 함수이다.
즉 악의적 노드 위임 확률(
Figure pat00009
)은 위임률(φ)에 따른 위임 노드 개수(K)에 대한, 위임 노드 집합(ND)에 포함된 노드 중 신뢰도(τi)가 문턱값(ψ) 이하(τi ≤ ψ)인 노드 개수의 비를 나타낸다.
한편 본 실시예에 따른 위임 합의 블록체인 네트워크(20)는 노드 수가 증가함에도 요구되는 TPS 성능을 달성할 수 있도록 확장성을 가져야 한다. 그리고 확장성을 보증하기 위한 TPS 성능 분석 시에는 위임 노드간 메시지 교환 및 블록에 대한 유효성 검사 동안 발생하는 지연 시간이 함께 고려되어야 한다. 또한 블록체인 네트워크(20)에서 확장성과 트릴레마 관계로서 당연하게 요구되는 탈중앙화 및 보안성도 함께 고려되어야 한다.
이에 우선 확장성을 위한 TPS에 대한 조건을 고려해야 하며, TPS에 대한 조건을 고려하기 위해서, 레이턴시 계산 모듈(320)은 트랜잭션이 블록체인 네트워크(20)에 인가된 후 합의과정을 거쳐 비가역적인 상태가 될 때까지의 시간을 나타내는 레이턴시(Tlatency)를 계산한다.
블록체인 네트워크(20)에서 블록 생성자가 H 바이트의 블록 헤더를 포함하는 B 바이트 블록을 생성한다고 가정하면, 최대 TPS는 수학식 6과 같이 계산될 수 있다.
Figure pat00010
여기서 TI 의 블록 생성 간격으로 b는 평균 트랜잭션 크기를 나타낸다.
레이턴시(Tlatency)는 트랜잭션이 블록체인 네트워크에 인가되어 블록체인에 연결되는 데까지 소요되는 시간으로서, 블록 생성 간격(TI)과 합의 시간(Tconsensus)의 합이다. 합의 시간(Tconsensus)은 다시 유효성 검사 시간(Tv) 및 메시지 전송 시간(Tp)의 합으로 표현될 수 있으므로, 레이턴시 계산 모듈(320)은 레이턴시(Tlatency)를 수학식 7로 계산할 수 있다.
Figure pat00011
상기한 TP-PBFT 위임 합의 프로세스에서 K개의 위임 노드 중 하나는 블록 생성자고, 나머지 K-1개의 위임 노드는 검증자로 동작하므로, 수학식 7에서 유효성 검사 시간(Tv)은 블록 생성자와 검증자로 구분되어 계산될 수 있다.
블록 생성자는 M개 크기의 블록을 생성하여 검증자에게 전파하므로, 합의 과정에서 블록 생성자는 총 M개의 서명(signature) 검증과 2M + 4(K - 1)개의 메시지 인증 코드(MAC) 생성 또는 검증 작업을 수행해야 한다. 그리고 검증자는 M개의 서명 검증과 M + 4(K - 1)개의 메시지 인증 코드(MAC) 검증 작업을 수행해야 한다.
따라서 블록 생성자와 검증자 각각의 유효성 검사 시간(Tv_bp, Tv_val)은 수학식 8과 9로 계산될 수 있다.
Figure pat00012
Figure pat00013
여기서 θ는 서명 검증을 위해 요구되는 CPU 사이클을 나타내고, α는 메시지 인증 코드 생성 또는 검증을 위해 요구되는 CPU 사이클을 나타내며, cbp와 ci는 각각 블록 생성자와 i번째 검증자의 연산 자원으로 연산 속도를 나타낸다.
그리고 블록 생성자와 검증자는 독립적으로 유효성 검사를 수행할 수 있으므로, 유효성 검사 시간(Tv)은 블록 생성자와 검증자 각각의 유효성 검사 시간(Tv_bp, Tv_val) 중 최대값으로 수학식 10과 같이 계산될 수 있다.
Figure pat00014
한편, 메시지 전송 시간(Tp)은 도 2에 도시된 합의 과정의 각 단계(Pre-prepare, Prepare, Commit, Reply)에 따라 메시지가 도달하는데 소요되는 시간(TPre-prepare, TPrepare, TCommit, TReply)의 합(Tp = TPre-prepare + TPrepare + TCommit + TReply)을 나타낸다. 이때 각 단계에서 응답하지 않는 노드, 즉 메시지를 전송하지 않는 노드에 의해 합의 과정이 과도하게 지연되는 것을 방지하기 위해, 단계별 제한 시간(ζ)이 설정될 수 있다.
이에 메시지 전송 시간(Tp)은 수학식 11에 따라 계산될 수 있다.
Figure pat00015
여기서 아래 첨자 bp는 블록 생성자를 나타내고, client는 위임되지 않은 노드를 나타낸다. 그리고 Ri,j 는 i 위임 노드와 j 위임 노드 사이의 메시지 교환 과정에서의 데이터 전송률로서, r개의 레벨로 양자화(R = {R1, R2, …, Rr})되어 표현될 수 있으며, 유한 상태 마르코프 채널 모델(finite-state Markov channel model)이 적용되는 것으로 가정하며, 상태 전이 확률 행렬(state transition probability matrix)([pR(t)]r×r)은 pR(t) = Pr[Ri,j(t+1) = Rb | Ri,j(t) = Ra] 로 계산될 수 있다. Pr[]은 조건부 확률 함수이고, Ra, Rb ∈ R 이다.
다만 블록체인의 특성에 따라 u개의 연속적인 블록 간격(uTI) 이내에 트랜잭션 합의 프로세스가 완료되어야 하므로, 레이턴시 계산 모듈(320)에서 수학식 7로 계산되는 레이턴시(Tlatency)는 수학식 12를 만족해야 한다.
Figure pat00016
한편, 안전성 분석 모듈(330)은 보안성 측면에서 PBFT를 기반으로 하는 합의 알고리즘에서는 알려진 바와 같이, 합의에 참여하는 N개의 노드 중 f개의 악의적 노드가 있을 때, (3f + 1) ≤ N 의 안전성 조건을 만족하면 정상적으로 합의가 수행될 수 있다.
그러나 본 실시예의 위임 합의 블록체인 네트워크에서는 N개의 노드 중 K개의 노드가 위임 노드로 합의 과정에 참여하므로, 위임율(φ)은 PBFT의 안전성 조건을 만족하는 수준에서 결정되어야 한다.
안전성을 보장하기 위한 위임율(φ)을 살펴보면, 각 노드가 악의적 노드일 확률이 p라고 하는 경우, 최악의 경우는 모든 악의적 노드가 위임 노드로 선택되는 경우를 고려할 수 있다. 이러한 최악의 경우에도 안전성 조건을 만족하기 위해서는 위임율(φ)에 따라 선택되는 위임 노드의 수(
Figure pat00017
)가 전체 노드(N)에서 확률(p)에 따른 악의적 노드의 개수(Np)의 3배를 초과해야 한다. 그리고 위임율의 최대값은 1이므로, 위임율(φ)의 범위는 수학식 13을 만족하도록 설정되어야 한다.
Figure pat00018
다만 상기한 바와 같이, 수학식 13에 따른 위임율(φ)의 범위는 모든 악의적 노드가 위임 노드 집합(ND)에 포함되는 최악의 경우를 가정하여 계산한 결과이다. 그러나 본 실시예의 신뢰도 기반 위임 합의 블록체인 네트워크(20)에서는 다수의 노드 각각의 신뢰도에 기반하여 위임 노드를 선택하므로, 악의적 노드는 위임 노드 집합(ND)에 포함되지 않을 가능성이 높다.
따라서 전체 노드가 아닌 위임 노드 집합(ND)에 포함되는 위임 노드가 악의적 노드일 확률(pd)을 고려하여 수학식 13을 수정할 필요가 있다. 이에 노드 집합(ND)에 포함되는 악의적 노드의 수는 위임 노드의 개수(
Figure pat00019
)에 악의적 노드일 확률(pd)을 가중하여
Figure pat00020
로 계산될 수 있으며, 이에 신뢰도 기반 위임 합의 블록체인 네트워크(20)에서 안전성 조건에 따른 위임율(φ)의 범위는 수학식 14를 만족하도록 결정되어야 한다.
Figure pat00021
블록체인 네트워크의 트릴레마 중 확장성을 위한 TPS에 대한 조건과 보안성을 위한 위임율(φ)에 대한 조건이 확인되면, 탈중앙화를 위한 조건을 확인할 필요가 있다.
블록체인 네트워크(20)의 탈중앙화를 측정하는 방법은 이미 다양하게 제시된 바 있으나, 여기서는 기존과 달리 여러 분야에서 불평등 수준을 평가하는 지표로 이용되는 지니 계수(Gini coefficient)를 이용한다. 신뢰도 기반 위임 합의 블록체인 네트워크(20)에서는 노드의 신뢰도에 기반하여 위임 노드가 선택될 수 있으므로, 특정 노드가 반복적으로 위임 노드로 선택될 가능성이 높으며, 이는 탈중앙화를 저해하는 요소가 된다.
이에 본 실시예에서 지니 계수 계산 모듈(340)은 N개의 노드 사이에 위임 노드로 선택되는 횟수의 불균형 정도, 즉 불평등성을 나타내는 지니 계수(G(δ))를 계산한다. 즉 각 노드가 다른 노드들에 비해 위임 합의에 참여하는 횟수(δ)의 비율의 편차를 나타내는 지니 계수(G(δ))를 수학식 15에 따라 계산한다.
Figure pat00022
지니 계수(G(δ))는 0과 1사이의 값을 가지며, 1에 가까울수록 불평등하여 특정 노드(i)가 다른 노드에 비해 위임 합의에 참여하는 횟수(δi)가 많아, 탈중앙화가 저해되었다는 것을 나타낸다. 따라서 탈중앙화 문턱값(η)을 설정하여 지니 계수(G(δ))가 수학식 16과 같이 탈중앙화 문턱값(η)을 초과하지 못하도록 하면, 탈중앙화에 대한 제약을 만족시킬 수 있다.
Figure pat00023
이때, 지니 계수(G(δ))가 탈중앙화 문턱값(η)을 초과하지 못하도록 제한하는 방법으로는 특정 노드(i)가 반복하여 선택되지 않도록 제한하는 방법과 위임율(φ)을 높여 더 많은 노드가 위임 합의에 참여하도록 하는 방법이 있다.
여기서는 일 예로 탈중앙화를 위해 위임율(φ)을 높여 더 많은 노드가 위임 합의에 참여하도록 하는 방법을 이용하는 것으로 가정하지만 이에 제한되지는 않는다.
보상 계산 모듈(350)은 에이전트 모듈(220)에서 결정된 액션(At)을 기반으로 획득된 다음 상태 정보(St+1)에 대응하는 보상(Rt)을 계산한다. 이때 보상 계산 모듈(350)은 결정된 액션(At)이 블록체인 네트워크의 트릴레마인 확장성에 대한 수학식 12의 레이턴시(Tlatency) 조건과 보안성을 위한 수학식 14의 안전성 조건 및 탈중앙화를 위한 수학식 16의 지니 계수(G(δ)) 조건을 만족하는지 여부에 따라 보상(Rt)을 제공할 수 있다. 여기서 보상(Rt)은 수학식 6에 따른 최대 TPS로 계산될 수 있다.
다시 도 4를 참조하면, 메모리 모듈(210)은 신뢰도 기반 위임 합의 블록체인 네트워크(20)의 환경으로, 각 에포크(t)에서 위임 노드간 데이터 전송률(R = {Ri,j})과 각 위임 노드의 연산 자원(c = {ci}), 위임 노드가 위임 합의에 참여한 횟수(δ = {δi}), 각 위임 노드의 신뢰도(τ = {τi}) 및 악의적 위임 노드 확률(
Figure pat00024
)을 포함하는 다수의 상태 정보(St = [R, c, δ, τ,
Figure pat00025
]t)를 저장할 수 있다.
그리고 메모리 모듈(210)은 다수의 상태 정보(St) 각각에 대응하여 에이전트 모듈(220)에서 결정되는 블록 크기(B ∈ {1, 2, …,
Figure pat00026
}), 블록 간격(TI ∈ {0.5, 1, …,
Figure pat00027
}) 및 위임율(φ ∈ {0.1, 0.2, …, 1})을 포함하는 액션(At = [B, TI, φ]t])을 함께 매칭시켜 저장할 수 있다.
뿐만 아니라 메모리 모듈(210)은 특정 에포크(t)에서의 상태 정보(St)와 이에 대응하여 결정되는 액션(At)에 의해 환경 분석 모듈(230)에서 판별되는 다음 에포크(t+1)에서의 상태 정보(St+1 = [R, c, δ, τ,
Figure pat00028
]t+1) 및 다음 상태 정보(St+1)에 대응하는 보상(Rt)이 함께 저장될 수 있다.
즉 메모리 모듈(210)은 각 에포크 간격으로 블록체인 네트워크(20)의 상태 정보(St)와 이에 대응하는 액션(At) 및 액션(At)에 따른 다음 상태 정보(St+1) 및 보상(Rt)을 매칭하여 함께 저장할 수 있다. 여기서 메모리 모듈(210)에 매칭되어 함께 저장되는 상태 정보(St)와 액션(At), 다음 상태 정보(St+1) 및 보상(Rt)은 전이 집합(Transition set)이라 한다.
에이전트 모듈(220)은 강화학습 방식으로 학습되는 인공 신경망으로 구현되어 메모리 모듈(210)에서 인가되는 특정 에포크(t)에서의 상태 정보(St)에 대응하는 액션(At)을 결정한다. 에이전트 모듈(220)은 상태 정보(St)에 포함된 노드간 데이터 전송률(R)과 각 노드의 연산 자원(c), 위임 합의 참여 횟수(δ), 노드의 신뢰도(τ) 및 악의적 위임 노드 확률(
Figure pat00029
)에 대해 학습된 방식에 따른 신경망 연산을 수행하여 최적의 블록 크기(B), 블록 간격(TI) 및 위임율(φ)을 추정하여 출력한다.
에이전트 모듈(220)은 각각 블록 크기(B), 블록 간격(TI) 및 위임율(φ)을 포함하는 적어도 하나의 액션(A)을 추정하여 출력할 수 있다.
그리고 에이전트 모듈(220)은 수학식 17과 같이 추정된 적어도 하나의 액션(A) 중 블록체인 네트워크의 트릴레마인 확장성에 대한 수학식 12의 레이턴시(Tlatency) 조건과 보안성을 위한 수학식 14의 안전성 조건 및 탈중앙화를 위한 수학식 16의 지니 계수(G(δ)) 조건을 만족하는 하나의 액션(At)을 선택할 수 있다.
Figure pat00030
여기서 Q(S,A)는 에이전트 모듈(220)이 수행하는 동작을 나타내는 액션 가치 함수(action-value function)로서, 상태 정보(S)에 응답하여 에이전트 모듈(220)에서 결정될 수 있는 다수의 액션(A) 각각의 가치를 출력하는 함수이며, 수학식 18로 계산된다.
Figure pat00031
여기서 V(S)와 A(S,A)는 각각 레인보우 DQN 에 따른 가치 함수(value function)와 이득 함수(advantage function)이고, a'은 선택 가능한 액션 후보를 나타낸다.
에이전트 모듈(220)은 또한 액션으로 결정되는 위임율(φ)에 대응하는 K 개(
Figure pat00032
)의 노드를 각 노드의 신뢰도(τ)에 기반한 서로 다른 확률로 선택하여 위임 노드로 설정한다.
이에 환경 분석 모듈(230)의 보상 계산 모듈(350)은 수학식 17의 모든 제약 조건이 충족되면, 수학식 6에 따라 보상(Rt)으로서 최대 TPS를 수학식 19와 같이 계산할 수 있다.
Figure pat00033
즉 본 실시예의 네트워크 관리 장치는 블록체인 네트워크(20)의 TPS를 최대로 하여 블록체인 네트워크(20)의 확장성을 향상시키면서도, 보안성과 탈중앙화를 유지할 수 있다.
도시된 실시예에서, 각 구성들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술되지 것 이외에도 추가적인 구성을 포함할 수 있다. 또한, 일 실시예에서, 각 구성은 물리적으로 구분된 하나 이상의 장치를 이용하여 구현되거나, 하나 이상의 프로세서 또는 하나 이상의 프로세서 및 소프트웨어의 결합에 의해 구현될 수 있으며, 도시된 예와 달리 구체적 동작에 있어 명확히 구분되지 않을 수 있다.
그리고 도 3 내지 도 5에 도시된 블록체인 네트워크의 노드와 네트워크 관리 장치는 하드웨어, 펌웨어, 소프트웨어 또는 이들의 조합에 의해 로직회로 내에서 구현될 수 있고, 범용 또는 특정 목적 컴퓨터를 이용하여 구현될 수도 있다. 장치는 고정배선형(Hardwired) 기기, 필드 프로그램 가능한 게이트 어레이(Field Programmable Gate Array, FPGA), 주문형 반도체(Application Specific Integrated Circuit, ASIC) 등을 이용하여 구현될 수 있다. 또한, 장치는 하나 이상의 프로세서 및 컨트롤러를 포함한 시스템온칩(System on Chip, SoC)으로 구현될 수 있다.
뿐만 아니라 블록체인 네트워크의 노드와 네트워크 관리 장치는 하드웨어적 요소가 마련된 컴퓨팅 장치 또는 서버에 소프트웨어, 하드웨어, 또는 이들의 조합하는 형태로 탑재될 수 있다. 컴퓨팅 장치 또는 서버는 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신장치, 프로그램을 실행하기 위한 데이터를 저장하는 메모리, 프로그램을 실행하여 연산 및 명령하기 위한 마이크로프로세서 등을 전부 또는 일부 포함한 다양한 장치를 의미할 수 있다.
도 7은 일 실시예에 따른 위임 합의 블록체인 네트워크 관리 방법을 나타낸다.
도 1 내지 도 6을 참조하여, 실시예에 따른 위임 합의 블록체인 네트워크 관리 방법을 설명하면, 우선 현재 에포크(t)에서의 상태 정보(St)를 획득한다(410). 여기서 상태 정보에는 위임 노드간 데이터 전송률(R)과 각 위임 노드의 연산 자원(c), 위임 노드가 위임 합의에 참여한 횟수(δ), 각 위임 노드의 신뢰도(τ) 및 악의적 위임 노드 확률(
Figure pat00034
)이 포함될 수 있다.
상태 정보(St)가 획득되면, 획득된 상태 정보(St)에 대해 강화 학습 방식으로 학습된 인공 신경망으로 신경망 연산을 수행하여, 상태 정보(St)에 대응하는 적어도 하나의 액션(A)을 추정한다(420). 여기서 추정되는 적어도 하나의 액션(A) 각각에는 블록 크기(B), 블록 간격(TI) 및 위임율(φ)이 포함될 수 있다.
그리고 블록 크기(B), 블록 간격(TI) 및 위임율(φ)이 서로 상이한 적어도 하나의 액션(A)이 추정되면, 추정된 적어도 하나의 액션(A) 중 지정된 제약 조건을 만족하는 하나의 액션을 선택하여 현재 에포크에 대한 액션(At)으로 결정한다(430). 이때 추정된 적어도 하나의 액션(A) 중에서 블록체인 네트워크의 트릴레마인 확장성에 대한 수학식 12의 레이턴시(Tlatency) 조건과 보안성을 위한 수학식 14의 안전성 조건 및 탈중앙화를 위한 수학식 16의 지니 계수(G(δ)) 조건을 모두 만족하는 하나의 액션(At)이 선택될 수 있다.
따라서 상태 정보(St)에 포함된 위임 노드간 데이터 전송률(R)과 각 위임 노드의 연산 자원(c), 위임 노드가 위임 합의에 참여한 횟수(δ), 각 위임 노드의 신뢰도(τ) 및 악의적 위임 노드 확률(
Figure pat00035
)을 기반으로 액션(At)에 포함되는 블록 크기(B), 블록 간격(TI) 및 위임율(φ)이 결정된다. 그리고 결정된 액션(At)은 상태 정보(St)에 매칭되어 메모리 모듈(210)에 저장될 수 있다.
액션(At)이 선택되어 위임율(φ)이 결정되면, 다수의 위임 노드에서 도출된 DCR 레코드를 취합하고, 취합된 DCR 레코드를 기반으로 다수의 위임 노드 상호간 주관적 평가를 나타내는 LTO 행렬을 수학식 1에 따라 생성한다(450).
이때, 생성된 LTO 행렬의 각 행은 위임 노드에 대한 주관적 평가를 수행하는 위임 노드로서 DCR 레코드를 생성한 위임 노드를 나타내고, 각 열은 평가되는 위임 노드로서 DCR 레코드에 포함되는 승인 메시지를 전송한 위임 노드를 나타낸다.
LTO 행렬이 생성되면, 생성된 LTO 행렬을 기반으로 다수의 위임 노드 각각에 대한 신뢰도를 계산한다(460). 각 위임 노드에 대한 신뢰도는 LTO 행렬로부터 각 위임 노드에 대한 신뢰도(τ)는 평균 주관적 신뢰치(μ)와 신뢰 유사도(ν)로부터 수학식 4에 따라 계산되며, 평균 주관적 신뢰치(μ)와 신뢰 유사도(ν)는 각각 수학식 2 및 수학식 3에 따라 계산될 수 있다.
각 위임 노드에 대한 신뢰도(τ)가 계산되면, 결정된 위침율(φ)에 따라 N개의 노드 중 합의에 참여하는 K(
Figure pat00036
)개의 위임 노드를 신뢰도(τ)에 기반한 서로 다른 확률로 선택한다(470).
현재 에포크(t)에서의 상태 정보(St)에 따른 액션(At)이 결정되어 다수의 노드 각각의 신뢰도(τ)에 따라 서로 다른 확률로 위임 노드가 선택되면, 선택된 위임 노드간 데이터 전송률(R)과 각 위임 노드의 연산 자원(c), 위임 노드가 위임 합의에 참여한 횟수(δ), 각 위임 노드의 신뢰도(τ) 및 악의적 위임 노드 확률(
Figure pat00037
)을 분석하여 다음 에포크(t+1)에 대한 상태 정보(St+1)를 확인하고, 이와 함께 보상(Rt)을 계산하여 획득한다(480). 실시예의 네트워크 관리 방법은 블록체인 네트워크(20)의 TPS를 최대로 하여 블록체인 네트워크(20)의 확장성을 향상시키면서도, 보안성과 탈중앙화를 유지하는 것을 목적으로 하므로, 여기서 보상(Rt)은 최대 TPS로 계산될 수 있다.
도 7에서는 각각의 과정을 순차적으로 실행하는 것으로 기재하고 있으나 이는 예시적으로 설명한 것에 불과하고, 이 분야의 기술자라면 본 발명의 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 도 7에 기재된 순서를 변경하여 실행하거나 또는 하나 이상의 과정을 병렬적으로 실행하거나 다른 과정을 추가하는 것으로 다양하게 수정 및 변형하여 적용 가능하다.
도 8은 일 실시예에 따른 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 설명하기 위한 도면이다.
도시된 실시예에서, 각 구성 요소들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술되지 않은 것 이외에도 추가적인 구성 요소를 포함할 수 있다. 도시된 컴퓨팅 환경(600)은 컴퓨팅 장치(610)를 포함하여, 도 7에 도시된 네트워크 관리 방법을 수행할 수 있다. 일 실시예에서, 컴퓨팅 장치(610)는 도 3 내지 도 5에 도시된 블록체인 네트워크의 노드와 네트워크 관리 장치에 포함된 하나 이상의 구성 요소일 수 있다.
컴퓨팅 장치(610)는 적어도 하나의 프로세서(620), 컴퓨터 판독 가능 저장매체(630) 및 통신 버스(650)를 포함한다. 프로세서(620)는 컴퓨팅 장치(610)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(620)는 컴퓨터 판독 가능 저장매체(630)에 저장된 하나 이상의 프로그램들(640)을 실행할 수 있다. 상기 하나 이상의 프로그램들(640)은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(620)에 의해 실행되는 경우 컴퓨팅 장치(610)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다. 그리고 저장매체(630)는 메모리로 구성될 수 있다.
통신 버스(650)는 프로세서(620), 컴퓨터 판독 가능 저장매체(630)를 포함하여 컴퓨팅 장치(610)의 다른 다양한 구성 요소들을 상호 연결한다.
컴퓨팅 장치(610)는 또한 하나 이상의 입출력 장치(680)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(660) 및 하나 이상의 통신 인터페이스(670)를 포함할 수 있다. 입출력 인터페이스(660) 및 통신 인터페이스(670)는 통신 버스(650)에 연결된다. 입출력 장치(680)는 입출력 인터페이스(660)를 통해 컴퓨팅 장치(610)의 다른 구성 요소들에 연결될 수 있다. 예시적인 입출력 장치(680)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(680)는 컴퓨팅 장치(610)를 구성하는 일 구성 요소로서 컴퓨팅 장치(610)의 내부에 포함될 수도 있고, 컴퓨팅 장치(610)와는 구별되는 별개의 장치로 컴퓨팅 장치(610)와 연결될 수도 있다.
이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 청구범위의 기술적 사상에 의해 정해져야 할 것이다.
10: IIOT 네트워크 20: 블록체인 네트워크
110: 통신 모듈 120: 제어 모듈
130: 블록 생성 모듈 140: 블록 검증 모듈
150: 위임 합의 모듈 160: 블록 저장 모듈
170: 위임 설정 모듈 210: 메모리 모듈
220: 에이전트부 230: 환경 분석 모듈
310: 신뢰도 평가부 311: LTO 생성 모듈
312: 신뢰도 계산 모듈 313: 악의적 위임 확률 계산 모듈
320: 레이턴시 계산 모듈 330: 안전성 분석 모듈
340: 지니 계수 계산 모듈 350: 보상 계산 모듈

Claims (20)

  1. 하나 이상의 프로세서; 및 상기 하나 이상의 프로세서에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 장치로서,
    상기 프로세서는
    블록체인 네트워크의 현재 에포크에서 각 위임 노드의 신뢰도가 포함된 상태 정보를 획득하고,
    상기 상태 정보에 대해 신경망 연산을 수행하여 위임율을 포함하는 액션을 결정하며,
    결정된 상기 액션에 따라 각 위임 노드의 상호간 주관적 평가를 나타내는 로컬 신뢰 의견(이하: LTO) 행렬을 생성하고,
    상기 LTO 행렬을 이용하여 계산된 신뢰도에 기반하여 N개의 노드 중 결정된 상기 위임율에 따른 K개의 위임 노드를 선택하는 위임 합의 블록체인 네트워크 관리 장치.
  2. 제1항에 있어서, 상기 프로세서는
    현재 에포크에서 선택된 위임 노드 각각이 실용적 비잔틴 장애 허용(이하 PBFT) 합의 프로세스 동안 다른 노드로부터 전파된 동의 또는 비동의에 대한 승인 메시지를 수집한 위임 합의 결과(이하 DCR) 레코드를 취합하여 상기 LTO 행렬을 생성하는 위임 합의 블록체인 네트워크 관리 장치.
  3. 제1항에 있어서, 상기 프로세서는
    상기 위임 노드 각각이 다수의 위임 노드로부터 수집한 동의("Yea") 또는 비동의("Nay")로 전송된 의사 메시지를 수집하여 획득한 상기 DCR 레코드를 취합하고, 취합된 상기 DCR 레코드로부터 상기 LTO 행렬의 원소(Li,j)를
    수학식
    Figure pat00038

    (여기서 i, j는 각각 위임 노드 식별자로서 (i, j ∈ [1, 2, …, K])이고, Σi(Yea) 및 Σi(Nay)는 각 위임 노드(i)의 DCR에서 동의("Yea")와 비동의("Nay")의 개수이다.)
    에 따라 계산하여 상기 LTO 행렬을 생성하는 위임 합의 블록체인 네트워크 관리 장치.
  4. 제1항에 있어서, 상기 프로세서는
    상기 LTO 행렬을 기반으로 각 위임 노드에 대한 평균 주관적 신뢰치와 신뢰 유사도를 계산하여 상기 위임 노드의 신뢰도를 계산하는 위임 합의 블록체인 네트워크 관리 장치.
  5. 제4항에 있어서, 상기 프로세서는
    상기 위임 노드(i) 각각에 대한 평균 주관적 신뢰치(μi)를 수학식
    Figure pat00039

    (여기서 Lj,i 는 상기 LTO 행렬의 (j, i) 원소를 나타낸다.)
    에 따라 계산하고,
    상기 위임 노드(i)에 대한 신뢰 유사도(νi)를 수학식
    Figure pat00040

    (여기서 ∥·∥는 절대값 함수이고, Li 및 Lj는 각각 LTO 행렬의 i번째 및 j번째 행 벡터를 나타낸다.)
    에 따라 계산하며,
    각 위임 노드의 신뢰도(τi)를 수학식
    Figure pat00041

    에 따라 계산하는 위임 합의 블록체인 네트워크 관리 장치.
  6. 제1항에 있어서, 상기 프로세서는
    각 위임 노드의 신뢰도 이외에 위임 노드간 데이터 전송률과 각 위임 노드의 연산 자원, 위임 노드가 위임 합의에 참여한 횟수, 상기 계산된 신뢰도가 기지정된 신뢰도 문턱값 이하인 악의적 노드가 위임 노드로 선택될 확률을 나타내는 악의적 위임 노드 확률을 상기 상태 정보로서 더 획득하는 위임 합의 블록체인 네트워크 관리 장치.
  7. 제6항에 있어서, 상기 프로세서는
    상기 악의적 노드 위임 확률(
    Figure pat00042
    )을 수학식
    Figure pat00043

    (여기서 ND 는 위임 노드 집합(ND ⊂ N), τi 는 위임 노드의 신뢰도, n(·)은 (·)의 조건을 만족하는 개수를 카운트하는 카운트 함수)
    에 따라 계산하여 획득하는 위임 합의 블록체인 네트워크 관리 장치.
  8. 제7항에 있어서, 상기 프로세서는
    트랜잭션이 상기 블록체인 네트워크에 인가된 후 합의 과정을 거쳐 비가역적인 상태가 될 때까지의 시간을 나타내는 레이턴시를 계산하고, u개의 연속되는 블록 간격에 따른 레이턴시 조건을 판별하고,
    PBFT 조건에 따라 합의에 참여하는 위임 노드 중 악의적 노드의 비율이 기지정된 비율 미만이 되도록 하는 위임율의 범위를 나타내는 안전성 조건을 판별하며,
    N개의 노드 사이에 위임 노드로 선택되는 횟수의 불균형 정도를 나타내는 지니 계수를 계산하고, 지니 계수가 기지정된 탈중앙화 문턱값을 초과하지 않도록 하는 지니 계수 조건을 판별하고,
    결정된 상기 액션이 상기 레이턴시 조건과 상기 안전성 조건 및 상기 지니 계수 조건을 만족하면, 보상을 계산하는 위임 합의 블록체인 네트워크 관리 장치.
  9. 제8항에 있어서, 상기 프로세서는
    상기 레이턴시(Tlatency)를 다수의 위임 노드 중 블록을 생성하는 블록 생성자가 블록을 생성하는 간격을 나타내는 블록 생성 간격(TI)과 다수의 위임 노드가 생성된 블록의 유효성을 검사하는 유효성 검사 시간(Tv) 및 유효성 검사 결과인 메시지를 전송하는 메시지 전송 시간(Tp)의 합으로 계산하고, 계산된 레이턴시(Tlatency)가 연속되는 블록 간격(uTI) 이하가 되도록 상기 레이턴시 조건을 설정하고,
    위임율(φ)에 따라 선택된 위임 노드가 악의적 노드일 확률(pd)을 기반으로 위임 노드의 수(
    Figure pat00044
    )가 위임 노드 내의 악의적 노드의 개수(
    Figure pat00045
    )의 3배를 초과하도록 수학식
    Figure pat00046

    에 따라 상기 안전성 조건을 설정하며,
    N개의 노드 각각이 위임 노드로 선택되어 위임 합의에 참여하는 횟수(δ)를 기반으로 수학식
    Figure pat00047

    으로 계산되는 지니 계수가 상기 탈중앙화 문턱값(η) 이하가 되도록
    Figure pat00048
    로 상기 지니 계수 조건을 설정하는 위임 합의 블록체인 네트워크 관리 장치.
  10. 제8항에 있어서, 상기 프로세서는
    상기 레이턴시 조건과 상기 안전성 조건 및 상기 지니 계수 조건을 만족하면서, TPS(Transaction Per Second)를 최대로 하는 블록 크기(B), 블록 간격(TI) 및 위임율(φ)을 판별하여 상기 액션(At)을 결정하는 위임 합의 블록체인 네트워크 관리 장치.
  11. 제10항에 있어서, 상기 프로세서는
    상기 보상(Rt)으로서 상기 위임 합의 블록 체인 네트워크의 최대 TPS를 수학식
    Figure pat00049

    (여기서 TI 의 블록 생성 간격이고, B는 블록 크기, H는 블록 헤더 크기, b는 평균 트랜잭션 크기를 나타낸다.)
    에 따라 계산하는 위임 합의 블록체인 네트워크 관리 장치.
  12. 하나 이상의 프로세서 및 상기 하나 이상의 프로세서에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에 의해 수행되는 방법으로서,
    블록체인 네트워크의 현재 에포크에서 각 위임 노드의 신뢰도가 포함된 상태 정보를 획득하는 단계;
    상기 상태 정보에 대해 신경망 연산을 수행하여 위임율을 포함하는 액션을 결정하는 단계;
    결정된 상기 액션에 따라 각 위임 노드의 상호간 주관적 평가를 나타내는 로컬 신뢰 의견(이하: LTO) 행렬을 생성하는 단계; 및
    상기 LTO 행렬을 이용하여 계산된 신뢰도에 기반하여 N개의 노드 중 결정된 상기 위임율에 따른 K개의 위임 노드를 선택하는 단계를 포함하는 위임 합의 블록체인 네트워크 관리 방법.
  13. 제12항에 있어서, 상기 LTO 행렬을 생성하는 단계는
    현재 에포크에서 선택된 위임 노드 각각이 실용적 비잔틴 장애 허용(이하 PBFT) 합의 프로세스 동안 다른 노드로부터 전파된 동의 또는 비동의에 대한 승인 메시지를 수집한 위임 합의 결과(이하 DCR) 레코드를 취합하여 상기 LTO 행렬을 생성하는 위임 합의 블록체인 네트워크 관리 장치.
  14. 제12항에 있어서, 상기 LTO 행렬을 생성하는 단계는
    상기 위임 노드 각각이 다수의 위임 노드로부터 수집한 동의("Yea") 또는 비동의("Nay")로 전송된 의사 메시지를 수집하여 획득한 상기 DCR 레코드를 취합하고, 취합된 상기 DCR 레코드로부터 상기 LTO 행렬의 원소(Li,j)를
    수학식
    Figure pat00050

    (여기서 i, j는 각각 위임 노드 식별자로서 (i, j ∈ [1, 2, …, K])이고, Σi(Yea) 및 Σi(Nay)는 각 위임 노드(i)의 DCR에서 동의("Yea")와 비동의("Nay")의 개수이다.)
    에 따라 계산하여 상기 LTO 행렬을 생성하는 위임 합의 블록체인 네트워크 관리 방법.
  15. 제12항에 있어서, 상기 위임 노드를 선택하는 단계는
    상기 LTO 행렬을 기반으로 각 위임 노드에 대한 평균 주관적 신뢰치와 신뢰 유사도를 계산하여 상기 위임 노드의 신뢰도를 계산하는 위임 합의 블록체인 네트워크 관리 방법.
  16. 제15항에 있어서, 상기 위임 노드를 선택하는 단계는
    상기 위임 노드(i) 각각에 대한 평균 주관적 신뢰치(μi)를 수학식
    Figure pat00051

    (여기서 Lj,i 는 상기 LTO 행렬의 (j, i) 원소를 나타낸다.)
    에 따라 계산하고,
    상기 위임 노드(i)에 대한 신뢰 유사도(νi)를 수학식
    Figure pat00052

    (여기서 ∥·∥는 절대값 함수이고, Li 및 Lj는 각각 LTO 행렬의 i번째 및 j번째 행 벡터를 나타낸다.)
    에 따라 계산하며,
    각 위임 노드의 신뢰도(τi)를 수학식
    Figure pat00053

    에 따라 계산하는 위임 합의 블록체인 네트워크 관리 방법.
  17. 제12항에 있어서, 상기 상태 정보를 획득하는 단계는
    각 위임 노드의 신뢰도 이외에 위임 노드간 데이터 전송률과 각 위임 노드의 연산 자원, 위임 노드가 위임 합의에 참여한 횟수, 상기 계산된 신뢰도가 기지정된 신뢰도 문턱값 이하인 악의적 노드가 위임 노드로 선택될 확률을 나타내는 악의적 위임 노드 확률을 상기 상태 정보로서 더 획득하는 위임 합의 블록체인 네트워크 관리 방법.
  18. 제17항에 있어서, 상기 위임 합의 블록체인 네트워크 관리 방법은
    결정된 상기 액션에 따라 다음 상태 정보 및 보상을 획득하는 단계를 더 포함하고,
    상기 다음 상태 정보 및 보상을 획득하는 단계는
    상기 악의적 노드 위임 확률(
    Figure pat00054
    )을 수학식
    Figure pat00055

    (여기서 ND 는 위임 노드 집합(ND ⊂ N), τi 는 위임 노드의 신뢰도, n(·)은 (·)의 조건을 만족하는 개수를 카운트하는 카운트 함수)
    에 따라 계산하는 위임 합의 블록체인 네트워크 관리 방법.
  19. 제18항에 있어서, 상기 다음 상태 정보 및 보상을 획득하는 단계는
    트랜잭션이 상기 블록체인 네트워크에 인가된 후 합의 과정을 거쳐 비가역적인 상태가 될 때까지의 시간을 나타내는 레이턴시를 계산하고, u개의 연속되는 블록 간격에 따른 레이턴시 조건을 판별하고,
    PBFT 조건에 따라 합의에 참여하는 위임 노드 중 악의적 노드의 비율이 기지정된 비율 미만이 되도록 하는 위임율의 범위를 나타내는 안전성 조건을 판별하며,
    N개의 노드 사이에 위임 노드로 선택되는 횟수의 불균형 정도를 나타내는 지니 계수를 계산하고, 지니 계수가 기지정된 탈중앙화 문턱값을 초과하지 않도록 하는 지니 계수 조건을 판별하고,
    결정된 상기 액션이 상기 레이턴시 조건과 상기 안전성 조건 및 상기 지니 계수 조건을 만족하면, 보상을 계산하는 위임 합의 블록체인 네트워크 관리 방법.
  20. 제19항에 있어서, 상기 다음 상태 정보 및 보상을 획득하는 단계는
    상기 레이턴시(Tlatency)를 다수의 위임 노드 중 블록을 생성하는 블록 생성자가 블록을 생성하는 간격을 나타내는 블록 생성 간격(TI)과 다수의 위임 노드가 생성된 블록의 유효성을 검사하는 유효성 검사 시간(Tv) 및 유효성 검사 결과인 메시지를 전송하는 메시지 전송 시간(Tp)의 합으로 계산하고, 계산된 레이턴시(Tlatency)가 연속되는 블록 간격(uTI) 이하가 되도록 상기 레이턴시 조건을 설정하고,
    위임율(φ)에 따라 선택된 위임 노드가 악의적 노드일 확률(pd)을 기반으로 위임 노드의 수(
    Figure pat00056
    )가 위임 노드 내의 악의적 노드의 개수(
    Figure pat00057
    )의 3배를 초과하도록 수학식
    Figure pat00058

    에 따라 상기 안전성 조건을 설정하며,
    N개의 노드 각각이 위임 노드로 선택되어 위임 합의에 참여하는 횟수(δ)를 기반으로 수학식
    Figure pat00059

    으로 계산되는 지니 계수가 상기 탈중앙화 문턱값(η) 이하가 되도록
    Figure pat00060
    로 상기 지니 계수 조건을 설정하는 위임 합의 블록체인 네트워크 관리 방법.
KR1020220136205A 2021-10-27 2022-10-21 심층 강화학습을 이용한 신뢰도 기반 위임 합의 블록체인 네트워크 관리 장치 및 방법 KR20230060461A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211329965.6A CN116032523A (zh) 2021-10-27 2022-10-27 基于信任度的委托共识区块链网络管理装置及方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20210144312 2021-10-27
KR1020210144312 2021-10-27

Publications (1)

Publication Number Publication Date
KR20230060461A true KR20230060461A (ko) 2023-05-04

Family

ID=86146028

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220136205A KR20230060461A (ko) 2021-10-27 2022-10-21 심층 강화학습을 이용한 신뢰도 기반 위임 합의 블록체인 네트워크 관리 장치 및 방법

Country Status (2)

Country Link
US (1) US20230139892A1 (ko)
KR (1) KR20230060461A (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116506444B (zh) * 2023-06-28 2023-10-17 北京科技大学 一种基于深度强化学习与信誉机制的区块链稳定分片方法
CN117155947B (zh) * 2023-08-30 2024-04-09 国网山东省电力公司德州供电公司 一种数据资源高可靠实时共享方法及系统
CN116913541A (zh) * 2023-09-12 2023-10-20 万链指数(青岛)信息科技有限公司 基于物联网的健康数据共享方法及系统
CN116996521B (zh) * 2023-09-28 2023-12-15 江西农业大学 基于信任评估模型的中继委员会跨链交互系统及方法
CN117010918B (zh) * 2023-10-07 2024-03-12 深圳点筹农业供应链有限公司 一种基于区块链的农产品全程溯源系统
CN117354050B (zh) * 2023-12-04 2024-02-23 江西农业大学 一种融合知识图谱的智能合约恶意节点共谋行为检测方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200106604A (ko) 2019-03-05 2020-09-15 정상국 블록체인 기반의 합의 알고리즘에서 대표자 선정방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200106604A (ko) 2019-03-05 2020-09-15 정상국 블록체인 기반의 합의 알고리즘에서 대표자 선정방법

Also Published As

Publication number Publication date
US20230139892A1 (en) 2023-05-04

Similar Documents

Publication Publication Date Title
KR20230060461A (ko) 심층 강화학습을 이용한 신뢰도 기반 위임 합의 블록체인 네트워크 관리 장치 및 방법
Yun et al. DQN-based optimization framework for secure sharded blockchain systems
US20200021439A1 (en) Trust management system and trust management method
US11694110B2 (en) Aggregated machine learning verification for database
CN111026578B (zh) 一种基于预言机的智能合约安全检测方法
US20190386834A1 (en) Blockchain management apparatus, blockchain management method, and program
CN109947740B (zh) 区块链系统的性能优化方法及装置
Eliyahu et al. Verifying learning-augmented systems
US20200394471A1 (en) Efficient database maching learning verification
KR20200080263A (ko) 중재자 컴퓨터 시스템을 이용하여 컴퓨터 프로그램의 정확한 실행을 보장하기 위한 시스템 및 방법
US20220067063A1 (en) Apparatus and method for adaptively managing sharded blockchain network based on deep q network
Li et al. Multi-agent system based distributed pattern search algorithm for non-convex economic load dispatch in smart grid
Amir et al. Towards scalable verification of deep reinforcement learning
JP2021523476A (ja) 準安定ビザンチン合意
CN114372581B (zh) 基于区块链的联邦学习方法、装置和计算机设备
Gräbe et al. Do not be fooled: Toward a holistic comparison of distributed ledger technology designs
CN112799708A (zh) 联合更新业务模型的方法及系统
Boudagdigue et al. A distributed advanced analytical trust model for IoT
Xie et al. Primary node election based on probabilistic linguistic term set with confidence interval in the PBFT consensus mechanism for blockchain
Asheralieva et al. Throughput-efficient lagrange coded private blockchain for secured IoT systems
CN113872828A (zh) 区块链预言机状态监控方法
Wu et al. Ddlpf: A practical decentralized deep learning paradigm for internet-of-things applications
Xi et al. CrowdLBM: A lightweight blockchain-based model for mobile crowdsensing in the Internet of Things
CN115829731A (zh) 一种交易信息处理方法及装置
Gui et al. Combining model checking and testing with an application to reliability prediction and distribution

Legal Events

Date Code Title Description
E902 Notification of reason for refusal