KR101975822B1 - 프라이빗 블록체인 네트워크 시스템 및 경량화된 고성능 블록체인 기반 합의 방법 - Google Patents

프라이빗 블록체인 네트워크 시스템 및 경량화된 고성능 블록체인 기반 합의 방법 Download PDF

Info

Publication number
KR101975822B1
KR101975822B1 KR1020180128986A KR20180128986A KR101975822B1 KR 101975822 B1 KR101975822 B1 KR 101975822B1 KR 1020180128986 A KR1020180128986 A KR 1020180128986A KR 20180128986 A KR20180128986 A KR 20180128986A KR 101975822 B1 KR101975822 B1 KR 101975822B1
Authority
KR
South Korea
Prior art keywords
block
node
nodes
trust
transaction
Prior art date
Application number
KR1020180128986A
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 KR1020180128986A priority Critical patent/KR101975822B1/ko
Application granted granted Critical
Publication of KR101975822B1 publication Critical patent/KR101975822B1/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/1044Group management mechanisms 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
    • 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/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • 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)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer And Data Communications (AREA)

Abstract

프라이빗 블록체인 네트워크 시스템 및 경량화된 고성능 블록체인 기반 합의 방법이 개시된다. 일 실시 예에 따른 프라이빗 블록체인 네트워크 시스템은, 네트워크에서 발생한 트랜잭션을 수신하여 블록 생성 노드에 전달하고 각 블록 검증 노드로부터 보팅 메시지를 수신하여 합의 성공 여부를 판단하는 트러스트 노드; 상기 트러스트 노드로부터 트랜잭션을 수신하여 최신 블록을 생성하고 상기 최신 블록을 자신을 제외한 네크워크 상의 다른 노드들에게 브로드캐스팅 하는 블록 생성 노드; 상기 블록 생성 노드로부터 수신된 최신 블록의 유효성을 검증하여 검증 결과를 상기 트러스트 노드에 각각 보팅하는 적어도 하나 이상의 블록 검증 노드; 및 상기 블록 생성 노드로부터 수신된 최신 블록을 자신의 블록체인에 연결하여 추가하는 적어도 하나 이상의 참여 노드;를 포함하고, 상기 트러스트 노드를 제외한 다른 노드들은, 상기 트러스트 노드로부터 상기 최신 블록에 대한 보팅 결과를 수신하기 전에 상기 최신 블록을 자신의 기존 블록체인에 먼저 선 연결하여 추가할 수 있다.

Description

프라이빗 블록체인 네트워크 시스템 및 경량화된 고성능 블록체인 기반 합의 방법 {Private blockchain network system and method for consensus based on blockchain}
본 발명은 블록체인 기술에 관한 것이다.
블록체인(Blockchain) 기술은 비트코인과 같은 암호화폐의 바탕이 되며, 공공, 물류, 의료 등 신뢰를 필요로 하는 다양한 산업분야에 적용이 가능한 인터넷 트러스트 인프라 기술이다.
블록체인의 예로, 퍼블릭 블록체인(Public Blockchain)과 프라이빗 블록체인(Private Blockchain)이 있다. 퍼블릭 블록체인은 비트코인, 이더리움과 같은 누구나 네트워크에 참여할 수 있는 블록체인이다. 이에 비해, 프라이빗 블록체인은 하나의 기관에서 독자적으로 사용하는 블록체인이다.
퍼블릭 블록체인은 참여가 자유롭다. 즉 인증 안 된 참여자도, 악의적인 목적을 가진 해커도 퍼블릭 블록체인에 접근할 수 있다. 이 상황에서 악의적인 네트워크 참여자의 공격에 방어하면서 세계 각지에 있는 모든 노드들이 같은 데이터를 공유해야 한다. 따라서, 퍼블릭 블록체인은 이런 요구사항을 만족시켜야 하기 때문에 성능 면에서 불리하다. 또한, 퍼블릭 블록체인에서 사용하는 알고리즘들은 나중에 블록 생성 후 블록이 확정되기 때문에 허용되는 시간 안에 네트워크 분기가 생길 수 있다.
대한민국 공개특허공보 10-2018-0022507호(공개일 2018년3월6일)
일 실시 예에 따라, 프라이빗 블록체인에 기반하여 통신속도 저하 문제를 개선하고 처리속도를 향상시키며 보안성을 높이고 GUI 기반 통합 관리가 가능한 프라이빗 블록체인 네트워크 시스템 및 경량화된 고성능 블록체인 기반 합의 방법을 제안한다.
본 발명의 실시예에 따른 프라이빗 블록체인 네트워크 시스템은, 네트워크에서 발생한 트랜잭션을 수신하여 블록 생성 노드에 전달하고 각 블록 검증 노드로부터 보팅 메시지를 수신하여 합의 성공 여부를 판단하는 트러스트 노드; 상기 트러스트 노드로부터 트랜잭션을 수신하여 최신 블록을 생성하고 상기 최신 블록을 자신을 제외한 네크워크 상의 다른 노드들에게 브로드캐스팅 하는 블록 생성 노드; 상기 블록 생성 노드로부터 수신된 최신 블록의 유효성을 검증하여 검증 결과를 상기 트러스트 노드에 각각 보팅하는 적어도 하나 이상의 블록 검증 노드; 및 상기 블록 생성 노드로부터 수신된 최신 블록을 자신의 블록체인에 연결하여 추가하는 적어도 하나 이상의 참여 노드;를 포함하고, 상기 트러스트 노드를 제외한 다른 노드들은, 상기 트러스트 노드로부터 상기 최신 블록에 대한 보팅 결과를 수신하기 전에 상기 최신 블록을 자신의 기존 블록체인에 먼저 선 연결하여 추가할 수 있다.
또한, 상기 트러스트 노드는, 각 블록 검증 노드로부터 정족수 이상의 보팅 메시지를 수신하면 합의 성공으로 판단하여 다른 절차 진행 없이 그대로 합의를 종료할 수 있다.
또한, 상기 트러스트 노드는, 각 블록 검증 노드로부터 정족수 미만의 보팅 메시지를 수신하면 합의 실패로 판단하여 자신을 제외한 다른 노드들의 기존 블록 체인에 연결된 최신 블록을 동기화하여 롤백시키고, 자신이 직접 최신블록을 다시 생성하여 네트워크 상의 자신을 제외한 다른 노드들에 전송하여 기존 블록체인에 추가할 수 있다.
또한, 상기 트러스트 노드는, 블록체인의 내부 또는 외부와 데이터를 송수신하기 위한 인터페이스를 제공하는 통신부; 분산 원장이 저장되는 저장부; 저장부에 저장된 분산 원장인 블록체인의 블록에 저장되어 있는 트랜잭션에 대한 전체 풀(pool) 관리, P2P 관리 및 블록 동기화 관리를 통합 수행하는 처리부; 및 사용자 관리, 노드 관리, 블록 데이터 관리, 스마트 계약 관리, 암호화폐 관리, 통계관리 및 모니터링 관리 중 적어도 하나 이상을 통합 관리하는 관리부;를 포함할 수 있다.
또한, 상기 처리부는, 블록체인 네트워크를 구성하는 노드들의 트랜잭션에 대한 전체 풀을 관리하는 트랜잭션 매니저; 스마트 계약을 블록체인 네트워크를 구성하는 노드들에 배포하고 트랜잭션이 발행되면 발행된 트랜잭션에 상응하는 스마트 계약을 실행하게 하는 스마트 계약 매니저; 및 트랜잭션을 수집하여 블록을 생성하는 블록 매니저; 를 포함할 수 있다.
또한, 상기 스마트 계약 매니저는, GUI 환경에 기반하여 스마트 계약을 각 노드에 일괄 배포할 수 있다.
또한, 상기 처리부는, 노드 간 전송되는 데이터를 암복호화하기 위한 보안 모듈;을 포함할 수 있다.
또한, 상기 보안 모듈은, 처리속도 또는 보안성을 기초로 하여 대칭 키 암복호화 방식과, 비대칭 키 암복호화 방식과, 대칭 키 암복호화 방식 및 비대칭 키 암복호화 방식이 혼합된 하이브리드 암복호화 방식, 및 암복호화하지 않는 방식 중 어느 하나를 선택할 수 있다.
또한, 상기 트러스트 노드는, 스피닝 기법을 통해 임의로 상기 블록 생성 노드를 선정할 수 있다.
또한, 상기 블록 생성 노드는, 스피닝 기법을 통해 임의로 각각의 블록 검증 노드를 선정할 수 있다.
또한, 상기 블록 생성 노드는, 트랜잭션을 수신하여 최신 블록을 생성하는 블록생성부; 블록체인 내부 또는 외부와 데이터를 송수신하기 위한 인터페이스를 제공하는 통신부; 상기 통신부를 통해 노드 간 송수신되는 데이터를 암복호화하기 위한 보안 모듈; 및 기존의 블록체인에 해당하는 분산 원장이 저장되는 저장부;를 포함할 수 있다.
상기 블록 검증 노드는, 상기 블록 생성 노드에서 생성한 최신 블록을 수신하여 유효성을 검증하는 합의 매니저; 블록체인 내부 또는 외부와 데이터를 송수신하기 위한 인터페이스를 제공하는 통신부; 상기 통신부를 통해 노드 간 송수신되는 데이터를 암복호화하기 위한 보안 모듈; 및 기존의 블록체인에 해당하는 분산 원장이 저장되는 저장부;를 포함할 수 있다.
상기 보안 모듈은, 처리속도 또는 보안성을 기초로 하여 대칭 키 암복호화 방식과, 비대칭 키 암복호화 방식과, 대칭 키 암복호화 방식 및 비대칭 키 암복호화 방식이 혼합된 하이브리드 암복호화 방식, 및 암복호화하지 않는 방식 중 어느 하나를 선택할 수 있다.
본 발명의 실시예에 따른 블록체인 기반 합의 방법은, 트러스트 노드가 블록체인 네트워크상에서 발생한 트랜잭션을 모든 노드로부터 수신하는 단계; 상기 트러스트 노드에서 블록체인 네트워크 상의 모든 노드로부터 수신한 트랜잭션을 취합하여 블록 생성 노드에 전달하는 단계; 상기 블록 생성 노드가 상기 트러스트 노드로부터 전달받은 트랜잭션을 이용하여 최신 블록을 생성하고 생성된 최신 블록을 자신을 제외한 다른 노드들에 브로드캐스팅 하는 단계; 다수의 블록 검증 노드가 상기 블록 생성 노드로부터 수신된 최신 블록의 유효성을 검증하여 검증 결과를 트러스트 노드에 각각 보팅하는 단계; 및 상기 트러스트 노드를 제외한 다른 노드들이 상기 트러스트 노드로부터 보팅 결과를 수신하기 전에 상기 최신 블록을 자신의 기존 블록체인에 먼저 선 연결하여 추가하는 단계;를 구비할 수 있다.
또한, 블록체인 기반 합의 방법은, 트러스트 노드가 블록 검증 노드들로부터 보팅 메시지를 수신하는 단계; 및 트러스트 노드가 정족수 이상의 보팅 메시지를 수신하면 합의 성공으로 판단하여 다른 절차 진행 없이 그대로 합의를 종료하는 단계;를 더 포함할 수 있다.
또한, 블록체인 기반 합의 방법은, 트러스트 노드가 블록 검증 노드들로부터 보팅 메시지를 수신하는 단계; 트러스트 노드가 블록 검증 노드들로부터 정족수 미만의 보팅 메시지를 수신하면 합의 실패로 판단하여 자신을 제외한 네트워크 상의 다른 노드들에게 블록 검증 결과를 전송하는 단계; 및 자신을 제외한 다른 노드들의 블록체인에 연결된 최신 블록을 동기화하여 롤백시키고 직접 최신 블록을 생성하여 자신을 제외한 다른 노드들에 전송하여 추가하는 단계;를 더 포함할 수 있다.
또한, 블록체인 기반 합의 방법은, 상기 트러스트 노드가 블록 생성 노드를 스피닝 기법을 통해 임의로 선정하는 단계; 및 상기 블록 생성 노드가 하나 이상의 블록 검증 노드를 스피닝 기법을 통해 임의로 선정하는 단계;를 더 포함할 수 있다.
또한, 상기 블록체인 기반 합의 방법은, 노드 간에 전송되는 메시지를 암호화 및 복호화 처리하는 단계; 를 더 포함할 수 있다.
또한, 상기 블록체인 기반 합의 방법은, 트러스트 노드가 GUI 환경에 기반하여 스마트 계약을 배포하는 단계; 일반 노드가 트러스트 노드로부터 배포된 스마트 계약을 저장하는 단계; 트러스트 노드가 일반 노드에 트랜잭션을 전송하는 단계; 및 일반 노드가 트랜잭션을 수신하면 수신된 트랜잭션에 상응하는 스마트 계약을 조회하고 조회된 스마트 계약을 실행하는 단계;를 더 포함할 수 있다.
본 발명은, 프라이빗 블록체인 네트워크 상에서 검증노드를 통한 컨센서스가 확보되기 전에 트러스트 노드를 제외한 모든 노드에 브로드 캐스팅된 최신 블럭을 기존 블록체인에 먼저 선 연결하여 추가함으로써 프라이빗 블록체인을 기반으로 하는 합의 알고리즘을 수행하는 경우에 처리속도를 단축할 수 있는 효과가 있다.
또한, 본 발명은, 프라이빗 블록체인 네트워크 시스템의 통합 관리 역할을 수행하는 트러스트 노드를 통해 블록 동기화, P2P 통신 및 트랜잭션 풀(transaction pool) 관리를 통합 수행함에 따라 네트워크 전체 관리의 효율성을 높일 수 있다.
또한, 본 발명은, 블록체인 네트워크 시스템을 구성하는 노드 사이에서 데이터 메시지 송수신 시에 암복호화 과정을 수행함에 따라 보안성을 높일 수 있을 뿐만 아니라, 나아가, 암복호화 방식을 다양하게 선택할 수 있음에 따라 보안성뿐만 아니라 처리속도까지 고려할 수 있다.
또한, 본 발명은, 블록체인 네트워크 시스템 상에서, 스마트 계약 배포 시에 GUI 환경에 기반하여 배포할 수 있어, 종래에는 각 노드 별로 일일이 수작업으로 코딩 작업하여 이를 배포한 것에 비해, GUI 환경에 기반하여 일괄 작업한 후 한꺼번에 각 노드에 배포할 수 있다는 점에서 효율성을 높일 수 있다.
또한, 본 발명은, 관리자 화면을 통해 사용자 관리(User Management), 노드 관리(Node Management), 블록 데이터 관리(Block Data Management), 스마트 계약 관리(Smart Contract Management), 암호통화 관리(Crypto Currency Management), 통계 관리(Statistics Management), 모니터링 관리(Monitoring Management) 등을 수행할 수 있다.
도 1은 본 발명의 일 실시 예에 따른 블록체인 네트워크 시스템의 네트워크 구성을 도시한 도면,
도 2는 본 발명의 일 실시 예에 따른 블록체인 네트워크 시스템의 계층 구조를 도시한 도면,
도 3은 본 발명의 일 실시 예에 따른 블록체인 네트워크 시스템의 P2P 네트워크 구조를 도시한 도면,
도 4는 본 발명의 일 실시 예에 따른 블록체인 네트워크 시스템을 구성하는 노드의 소프트웨어 구성을 도시한 도면,
도 5는 본 발명의 일 실시 예에 따른 블록체인 네트워크에서의 P2P 접속 프로세스를 도시한 도면,
도 6은 본 발명의 일 실시 예에 따른 합의 알고리즘을 도시한 도면,
도 7은 본 발명의 일 실시 예에 합의를 위한 P2P 네트워크 구조를 도시한 도면,
도 8은 본 발명의 일 실시 예에 따른 블록 합의 프로세스를 구체화한 도면,
도 9는 본 발명의 일 실시 예에 따른 암복호화 프로세스를 도시한 도면,
도 10은 본 발명의 일 실시 예에 따른 스마트 계약 처리 프로세스를 도시한 도면,
도 11은 본 발명의 일 실시 예에 따른 API를 통한 통신 프로세스를 도시한 도면,
도 12는 본 발명의 일 실시 예에 따른 스마트 계약 배포 화면을 도시한 도면,
도 13 내지 도 15는 본 발명의 다양한 실시 예에 따른 관리 화면을 도시한 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
본 발명의 실시 예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이며, 후술되는 용어들은 본 발명의 실시 예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
첨부된 도면의 각 구성과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램인스트럭션들(실행 엔진)에 의해 수행될 수도 있으며, 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장치의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장치의 프로세서를 통해 수행되는 그 인스트럭션들이 도면의 각 구성 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다.
이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장치를 지향할 수 있는 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 도면의 각 구성 또는 흐름도의 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다.
그리고 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장치 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장치 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장치를 수행하는 인스트럭션들은 도면의 각 구성 및 흐름도의 각 단계에서 설명되는 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 구성 또는 각 단계는 특정된 논리적 기능들을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있으며, 몇 가지 대체 실시 예들에서는 구성들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 구성들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하며, 또한 그 구성들 또는 단계들이 필요에 따라 해당하는 기능의 역순으로 수행되는 것도 가능하다.
이하, 첨부 도면을 참조하여 본 발명의 실시 예를 상세하게 설명한다. 그러나 다음에 예시하는 본 발명의 실시 예는 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 다음에 상술하는 실시 예에 한정되는 것은 아니다. 본 발명의 실시 예는 이 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공된다.
도 1은 본 발명의 일 실시 예에 따른 블록체인 네트워크 시스템의 네트워크 구성을 도시한 도면이다.
도 1을 참조하면, 블록체인 네트워크 시스템(1)은 트러스트 노드(2)와 하나 이상의 일반 노드(3)로 이루어진 다수의 노드로 구성되며, 상기 노드들(2,3)은 통신부(10), 처리부(12) 및 저장부(14)를 포함하고, 상기 트러스트 노드(2)는 관리부(16)를 더 포함할 수 있다.
본 발명의 일 실시 예에 따른 블록체인 네트워크 시스템(1)은 프라이빗 블록체인(private blockchain)을 기반으로 운용된다.
종래기술에 따른 일반적인 프라이빗 블록체인은 허가된 멤버들만 참여해서 블록체인에 접근할 수 있으며, 컨센서스(consensus; 합의)를 확보하여 블록 추가가 가능하다.
그러나, 본 발명에 따른 블록체인 네트워크 시스템의 핵심 아이디어들 중 하나는 일반적인 프라이빗 블록체인처럼 컨센서스를 확보한 다음 기존 블록체인에 블록을 추가하는 것이 아니라, 트러스트 노드를 제외한 일반 노드들의 블록체인에 최신 블럭을 먼저 연결하여 추가하고 이후에 검증 과정을 거침으로써 프라이빗 블록체인 네트워크 상에서의 트랜잭션에 대한 최신 블록을 생성하고 연결하는 처리 속도를 향상시킬 수 있다.
또한, 본 발명의 실시예에서, 블록체인 네트워크 시스템(1)을 구성하는 노드 별로 권한을 상이하게 가져갈 수 있다.
여기서, 노드는 블록체인 네트워크에 연결된 모든 컴퓨팅 장치를 의미한다. 이러한 노드는 트랜잭션, 스마트 계약 및 블록 등을 저장할 수 도 있으며, 블록 생성 기능, P2P 네트워크 배포 기능, 블록 검증 기능, 보팅(voting) 기능, 합의(consensus) 기능 등을 포함할 수 있다. 각 노드들의 예시는 도 2를 참조로 하여 후술한다.
일 실시 예에 따른 블록체인 네트워크 시스템(1)은 블록체인의 분산 원장을 저장하고 있는 다수의 노드로 구성된 P2P 분산 네트워크이다. 이러한 분산 네트워크는 적어도 일부의 노드가 동일한 처리를 할 수 있도록 구성되기 때문에 일부의 노드가 장애가 발생하거나 변조되더라도 시스템 전체에는 영향을 주지 않는 특징을 가진다. 블록체인은 최초의 블록(Genesis Block)부터 시작해서 바로 앞의 블록에 대한 참조값(해시값)을 이용해 링크를 가지는 링크드 리스트(linked list)이다. 블록체인은 여러 노드에 걸쳐 분산되어 저장 및 관리되며, 블록에는 트랜잭션 정보(거래정보)가 포함되어 있으므로, 블록의 집합체인 블록체인은 모든 트랜잭션 정보를 포함하는 거대한 분산 장부라고 할 수 있다. 즉 블록은 블록체인의 원소로서 개념적으로는 다수의 트랜잭션 정보의 묶음을 의미한다. 블록은 블록 헤더와 거래정보, 기타 정보로 구성된다.
이하, 각 노드를 구성하는 구성요소에 대해 설명한다.
도면에 도시된 통신부(10)는 블록체인의 내부 또는 외부와 데이터를 송수신하기 위한 인터페이스를 제공한다. 저장부(14)에는 분산 원장이 저장된다. 예를 들어, 블록, 스마트 계약, 계좌, 트랜잭션 등이 저장된다.
또한, 처리부(12)는 저장부(14)에 저장된 분산 원장인 블록체인의 블록에 저장되어 있는 트랜잭션의 내용을 처리한다. 처리부(12)의 구성은 해당 노드의 기능에 따라 달라질 수 있다.
즉, 본 발명의 실시예에서, 노드별로 기능을 구분하면, 통합 관리, 블록 생성, 블록 검증 등일 수 있다.
예를 들어, 트러스트 노드의 처리부(12)는 전체 풀(pool) 관리 기능, P2P 관리 기능 및 블록 동기화 관리 기능을 통합 수행하고, 블록 생성 노드의 처리부(12)는 블록 생성을 수행하며, 블록 검증 노드의 처리부(12)는 블록 검증 및 합의를 수행한다.
또한, 트러스트 노드의 관리부(16)는 사용자 관리, 노드 관리, 블록 데이터 관리, 스마트 계약 관리, 암호화폐 관리, 통계관리 및 모니터링 관리 등을 수행한다. 관리부(16)의 실시 예는 도 13 내지 도 15를 참조로 하여 후술한다.
도 2는 본 발명의 일 실시 예에 따른 블록체인 네트워크 시스템의 계층 구조를 도시한 도면이고, 도 3은 본 발명의 일 실시 예에 따른 블록체인 네트워크 시스템의 P2P 네트워크 구조를 도시한 도면이다.
도 2 및 도 3을 참조하면, 블록체인 네트워크 시스템(1)은 노드들이 상하 관계의 계층 구조로 구성된다. 이때, 노드들은 크게 트러스트 노드(trust node)(2)와 일반 노드(generic node)(3)로 분류할 수 있다. 일반 노드(3)는 블록 생성 노드(4), 블록 검증 노드(5) 및 참여 노드(6)를 포함한다. 블록 검증 노드(5) 및 참여 노드(6)는 각각 다수 개일 수 있다. 트랜잭션마다 다른 기능의 노드들은 스피닝 기법을 통해 임의로 선정되기 때문에 변경될 수 있지만, 트러스트 노드(2)는 변경되지 않는다는 점에서 큰 차이가 있다.
트러스트 노드(2)는 관리 노드로서, 블록체인 네트워크 전체를 관리한다. 이때, 트러스트 노드(2)는 블록 동기화, P2P 통신 및 트랜잭션 풀(transaction pool) 관리를 통합 수행한다. 트러스트 노드(2)에서는 트랜잭션 풀 관리를 통해 모든 트랜잭션을 관리하므로 트랜잭션의 유실 염려가 없다. P2P를 트러스트 노드(2) 한 곳에서 관리함에 따라 네트워크가 안정화된다. 또한, 모든 블록에 대해 신뢰할 수 있는 블록을 저장 및 관리함에 따라 일종의 마스터 원장 역할을 수행하게 된다. 트러스트 노드(2)는 블록 동기화 기능도 수행할 수 있다. 종래에는 블록 동기화 기능, P2P 통신 기능 및 트랜잭션 풀 관리 기능을 통합 관리하는 노드가 존재하지 않았다. 블록 동기화를 위한 노드, 예를 들어 풀 노드는 있었지만, P2P 통신 기능 및 트랜잭션 풀 관리 기능을 함께 수행하지는 않았다. 일 실시 예에 따른 트러스트 노드(2)는 블록 동기화, P2P 통신 및 트랜잭션 풀(transaction pool) 관리를 통합 수행함에 따라 네트워크 전체 관리의 효율성을 높일 수 있다.
블록체인은 분산 기술을 사용하는 바, P2P(Peer to Peer) 기술을 이용해 거래에 참여하는 다수의 노드에 보관된다. 이들 노드 간에 체인처럼 연결된 상태로 블록을 공유하고 있으므로, 거래를 위조하려면 노드들의 상당수를 해킹해야만 한다. 또한, 트랜잭션 정보가 일정 이상 쌓이면, 노드들은 서로 간의 합의(consensus)라는 과정을 거쳐서 거래 내용들이 서로 동일하게 축적하게 된다. 예를 들어, 트러스트 노드(2)가 트랜잭션을 네트워크 상의 모든 노드로부터 수신하여 이를 블록 생성 노드(4)에 전달하면, 블록 생성 노드(4)가 전달된 트랜잭션을 하나의 최신블록으로 생성한다.
이렇게 생성된 최신 블록을 블록 생성 노드(4)가 블록 검증 노드(5)에 블록 합의를 요청하면 블록 검증 노드(5)가 블록을 검증하고 검증 결과를 트러스트 노드(2)에 보팅(voting) 하게 된다. 트러스트 노드(2)는 블록 검증 노드(5)로부터 보팅 메시지를 수신하여 합의 성공 여부를 판단할 수 있다.
한편, 블록체인 기반 합의 과정에서, 일 실시 예에 따른 블록체인 네트워크 시스템(1)은 각 노드가 검증노드를 통한 블록 검증 이후에 최신 블록을 기존의 블록체인에 연결하는 것이 아니라, 검증 이전에 블록 생성 노드(4)에서 생성된 최신 블록을 먼저 기존의 블록체인에 연결하여 추가할 수 있다. 즉, 블록 생성 노드(4)는 블록 검증 노드(5)의 블록 검증 이전에, 최신 블록을 생성하면 이를 자신을 제외한 다른 노드(2, 5, 6)에 브로드캐스팅 하고, 트러스트 노드(2)를 제외한 노드들이 자신들의 블록체인에 최신 블럭을 연결하여 추가할 수 있게 할 수 있다. 또한, 블록 생성 노드(4)에 의한 최신 블록 생성 이후, 블록 검증 노드(5)가 블록의 유효성을 검증(verify)한 후, 검증 결과가 반영된 보팅 메시지를 트러스트 노드(2)에 전송한다(voting). 이때, 트러스트 노드(2)는 보팅 메시지가 정족수를 충족하는지에 따라 합의 성공 여부를 판단한다. 정족수는 2/3 이상일 수 있으며, 이때, 2/3 검증은 참여 노드 수가 아니라 검증을 위해 네트워크에 잠금 지분의 2/3 이상이 보팅되었는지를 확인하는 것이다.
일 실시 예에 따른 트러스트 노드(2)는 정족수 이상의 보팅 메시지를 수신하면 합의 성공으로 판단하여 합의를 종료한다. 종래의 블록 합의 알고리즘은 블록 검증 이후 최신 블록을 기존의 블록체인에 연결 하여 추가 하는데, 본 발명의 실시예에 따른 트러스트 노드(2)는 합의 성공으로 판단하였다면 자신을 제외한 다른 노드들(4, 5, 6)에 추가적인 작업을 요청하거나 다른 절차의 진행없이 그대로 합의를 종료할 수 있다.
이것은, 일 실시 예에 따른 합의 프로세스 상에서, 트러스트 노드(2)를 제외한 각 노드의 최신 블록 연결이 검증 이전에 이미 이루어져 있으므로, 기존의 블록체인에 최신 블록을 연결하기 위한 추가적인 절차가 불필요하게 된다. 이에 따라, 합의 절차가 간단해지며 합의를 위한 처리속도를 높일 수 있다.
또한, 다른 실시예에 따르면, 트러스트 노드(2)는 블록 검증 노드(5)로부터 정족수 미만의 보팅 메시지를 수신하면 합의 실패로 판단한다. 이 경우에는 이미 생성된 최신 블록이 유효하지 않은 것이므로 트러스트 노드(2)는 자신을 제외한 다른 노드들(4,5,6)의 최신 블록을 동기화하여 롤백시키고, 직접 최신 블록을 생성하여 자신을 제외한 다른 노드들(4,5,6)에 전송한다. 다른 노드들(4,5,6)은 트러스트 노드(2)로부터 새롭게 수신된 블록을 자신의 블록체인에 연결하여 추가한다. 이와 같이, 트러스트 노드에 의한 블록 동기화는 잘못 생성된 최신 블록을 기존의 블록체인에서 제거하는 의미를 갖는 롤백 기능에 해당한다.
도 4는 본 발명의 일 실시 예에 따른 블록체인 네트워크 시스템을 구성하는 노드의 소프트웨어 구성을 도시한 도면이다.
도 3 및 도 4를 참조하면, 노드는 API 계층(API layer)(21), 엔진 계층(engine layer)(22), 저장 계층(storage layer)(23) 및 관리 계층(admin layer)(24)으로 구성된다. 도 1의 시스템 구성과 비교했을 때, API 계층(21)은 통신부(10)와 대응되고, 엔진 계층(22)은 처리부(12)와 대응되고, 저장 계층(23)은 저장부(14)와 대응되며, 관리 계층(24)은 관리부(16)와 대응될 수 있다.
API 계층(21)은 인터페이스 API(interface API)(210), 공통 API(common API)(212)를 포함한다. 인터페이스 API(210)는 오프 체인(off-chain)의 레거시 장치(legacy)와의 데이터 송수신을 위한 인터페이스이고, 공통 API(212)는 온-체인(on-chain) 내에서의 노드 간 데이터 송수신을 위한 인터페이스이다. 인터페이스 API(210)는 REST API를 제공한다. 예를 들어, 애플리케이션(Application #1)의 요청에 따라 REST API를 애플리케이션(Application #1)에 제공한다. 공통 API(212)는 블록 데이터 검색(block data search)을 수행하며, 노드 간 트랜잭션 송수신을 위한 트랜잭션 API를 제공한다.
엔진 계층(22)은 네트워크 모듈(network module)(220)과 블록체인(Block Chain)(222)을 포함한다. 일 실시 예에 따른 네트워크 모듈(220)은 보안 모듈(Security module)(2200), P2P 모듈(P2P module)(2202) 및 런처(Launcher)(2204)를 포함한다.
보안 모듈(2200)은 노드 간 전송되는 데이터를 암복호화한다. 데이터는 트랜잭션(transaction), 블록(block), 보팅(voting), 암호화폐(cryptocurrency) 등일 수 있다. 암복호화 방식은 대칭 키 암복호화 방식과, 비대칭 키 암복호화 방식과, 대칭 키 암복호화 방식 및 비대칭 키 암복호화 방식이 혼합된 하이브리드 암복호화 방식과, 암복호화하지 않는 방식 중 어느 하나가 선택될 수 있다. 암복호화 방식은 보안 모듈(2200)에서 프라이빗 블록체인을 처음 구성할 때 선택될 수 있다. 기존에는 블록체인을 구성하는 노드들 간에 데이터를 주고받을 때 대부분 별도의 암복호화 과정을 수행하지 않았으나, 일 실시 예에 따른 보안 모듈(2200)은 데이터 암복호화 과정을 수행함에 따라 보안성을 높일 수 있다. 나아가, 암복호화 방식을 다양하게 선택할 수 있음에 따라 보안성뿐만 아니라 처리속도까지 고려할 수 있다.
기존처럼 암복호화하지 않는 방식은 처리속도가 가장 빠르다. 대칭 키 암복호화 방식과 비대칭 키 암복호화 방식은 보안보다 처리속도가 중요하다. 대칭 키 암복호화 방식 및 비대칭 키 암복호화 방식이 혼합된 하이브리드 암복호화 방식은 처리속도보다 보안이 중요하다. API 계층(21)을 통한 통신 시에 네트워크 상에서 해킹되지 않게 메시지를 암호화하는 것이 보안 모듈(2200)의 기능이며, 전술한 4가지의 암복호화 방식 중에서 처리속도, 보안 등을 고려하여 선택할 수 있다는 점에서 특징이 있다.
P2P 모듈(2202)은 피어 매니저(Peer Manager)(2202-1)와 피어 커넥터(Peer connector)(2202-2)를 포함한다. 런처(2204)는 트러스트 노드(2)를 기동시키는 트러스트 노드용 런처(Launcher for Trust Peer)(2204-1)와, 일반 노드(3)를 기동시키는 일반 노드용 런처(Launcher for Generic Peer)(2204-2)를 포함한다. 각 런처(2204-1, 2204-2)가 구동되면, 피어 매니저(2202-1)가 트러스트 노드(2)와 일반 노드(3)를 제어하고, 피어 커넥터(2202-2)가 각 노드들을 연결 시킨다.
블록체인(222)은 트랜잭션 매니저(Transaction Manager)(2220), 스마트 계약 매니저(Smart Contract Manager)(2222), 블록 매니저(Block manager)(2224) 및 합의 매니저(Consensus Manager)(2226)를 포함한다.
트랜잭션 매니저(2220)는 블록체인의 블록에 저장되어 있는 트랜잭션의 내용을 처리하면서, 블록체인 네트워크를 구성하는 노드들의 트랜잭션에 대한 전체 풀을 관리한다. 스마트 계약 매니저(2222)는 스마트 계약을 블록체인 네트워크를 구성하는 노드들에 배포하고 트랜잭션이 발행되면 발행된 트랜잭션에 상응하는 스마트 계약을 실행한다.
일 실시 예에 따른 블록 매니저(2224)는 제네시스 블록 매니저(Genesis Block manager)(2224-1) 및 블록 생성부(2224-2)를 포함한다. 제네시스 블록 매니저(2224-1)는 최초 원본 데이터 블록을 생성한다. 블록 생성부(2224-2)는 트랜잭션을 수집하여 블록을 생성한다.
합의 매니저(2226)는 블록을 검증하고 검증 결과를 보팅하며, 다른 노드들과 합의한다. 일 실시 예에 따른 합의 매니저(2226)는 블록 검증부(Block Verifier)(2226-1), 합의 모듈(Consensus module)(2226-2) 및 보팅 매니저(2226-3)를 포함한다. 합의 매니저(2226)는 블록 검증 노드에서 수행될 수 있다.
일 실시 예에 따른 경량화된 고성능 합의 알고리즘과 관련된 주요 구성을 위주로 설명하자면, 트러스트 노드(2)의 트랜잭션 매니저(2220)는 발생한 트랜잭션을 전달한다. 블록 생성 노드(4)의 블록 매니저(2224)는 트랜잭션을 수신하면 최신 블록을 생성한다. 블록 검증 노드(5)의 합의 매니저(2226)는 최신 블록을 검증하고, 검증 결과를 트러스트 노드(2)에 보팅한다.
트러스트 노드(2)의 블록 매니저(2224)는 블록 검증 노드(5)의 합의 매니저(2226)로부터 정족수 이상의 보팅 메시지를 수신하면 합의 성공으로 판단하여 다른 절차 진행 없이 그대로 합의를 종료한다. 이에 비해, 트러스트 노드(2)의 블록 매니저(2224)는 합의 매니저(2226)로부터 정족수 미만의 보팅 메시지를 수신하면 합의 실패로 판단하여 자신을 제외한 다른 노드들의 최신 블록을 동기화하여 롤백시키고 직접 최신 블록을 생성하여 자신을 제외한 다른 노드들에 전송한다.
관리 계층(24)은 관리 모듈(240)을 포함한다. 일 실시 예에 따른 관리 모듈(240)은 사용자 관리(User Management), 노드 관리(Node Management), 블록 데이터 관리(Block Data Management), 스마트 계약 관리(Smart Contract Management), 암호통화 관리(Crypto Currency Management), 통계 관리(Statistics Management), 모니터링 관리(Monitoring Management) 등을 수행한다.
블록체인에 있어서, 트랜잭션 매니저(2220), 스마트 컨트랙트 매니저(2222) 및 제네시스 블록 매니저(2224-1)는 트러스트 노드(2)에만 존재한다. 네트워크 모듈(220)에 있어서, 피어 매니저(2202-1)와 트러스트 노드용 런처(2204-1)가 트러스트 노드(2)에만 존재한다. 또한, 관리 계층(24)은 트러스트 노드(2)에만 존재한다.
도 5는 본 발명의 일 실시 예에 따른 블록체인 네트워크에서의 P2P 접속 프로세스를 도시한 도면이다.
도 4 및 도 5를 참조로 하여 트러스트 노드(2)와 일반 노드(3) 간 P2P 접속 프로세스를 설명하면, 트러스트 노드(2)가 트러스트 노드용 런처(2204-1)를 실행(500)하고 일반 노드(3)가 일반 노드용 런처(2204-2)를 실행(510)하면, 일반 노드(3)는 키(일반 키, 공개 키, 개인 키)를 생성(511)하고 트러스트 노드(2)에 노드 정보 조회를 요청한다(512). 트러스트 노드(2)는 일반 노드(3)의 요청에 따라 노드 계정 정보를 조회(501)하여 노드 계정 정보를 일반 노드(3)에 제공한다(502). 일반 노드(3)는 노드 계정 정보를 가지고 트러스트 노드(2)에 접속을 요청한다(513). 트러스트 노드(2)는 P2P 접속 정보를 체크(503) 하고 P2P 접속 리스트 정보를 일반 노드(3)에 제공한다(504). 일반 노드(3)가 트러스트 노드(2)에 접속하면, 동기화 메시지, 블록, 스마트 계약 등을 수신할 수 있다(514).
도 6은 본 발명의 일 실시 예에 따른 합의 알고리즘을 도시한 도면이고, 도 7은 본 발명의 일 실시 예에 합의를 위한 P2P 네트워크 구조를 도시한 도면이다.
도 6의 각 수평선은 블록체인 네트워크에 참여하는 노드를 나타내며 화살표는 한 노드가 다른 노드에 보내는 메시지를 의미한다. 네트워크 이벤트의 순서는 왼쪽에서 오른쪽으로서 왼쪽에서 일어난 이벤트가 오른쪽에서 일어난 이벤트보다 먼저 일어난 이벤트이다.
도 6 및 도 7을 참조하면, 일 실시 예에 따른 합의 방법은, PBFT 합의를 개량하여 분기가 없는 프라이빗 블록체인에 최적화된 빠르고 효과적인 합의 프로세스를 제공한다. 전통적인 PBFT 합의는 많은 통신량으로 인해 성능 저하가 일어날 수 있다. 이에 비해, 일 실시 예에 따른 합의 방법은 PBFT 합의의 많은 통신량 문제를 개선하였고 처리속도를 향상시킨 경량화된 고성능 합의 알고리즘이다.
구체적으로, 합의가 시작되면, 트러스트 노드(2)는 블록 생성 노드(4)에 모든 노드로부터 수신하여 취합한 트랜잭션을 전송한다. 블록 생성 노드(4)는 트러스트 노드(2)로부터 전달받은 트랜잭션을 이용하여 최신 블록을 생성하고 자신의 서명과 함께 다른 모든 노드들에 브로드캐스팅 한다(Broadcast Block).
각 검증 노드들(5)은 블록을 수신하면 블록의 유효성을 검사(Verify Block)하고, 검증 결과를 트러스트 노드(2)에 보팅한다(Voting). 유효성 검사는 블록 생성 노드(4)가 최신 블록을 생성했는지 확인하고, 블록의 높이와 이전 블록 참조값(해시값)이 올바른지 확인하며, 블록의 데이터가 올바른지 확인하는 방법 등이 있다.
트러스트 노드(2)는 정족수 이상의 보팅 메시지를 수신하면 합의 성공으로 판단하여 최신 블럭을 연결하고 합의를 종료한다. 이때, 기존 블록체인에 최신 블록을 연결하는 과정은 앞서 상술한 바와 같이, 검증 이전에 이미 이루어짐에 따라, 자신을 제외한 다른 노드들에 합의 성공 및 최신 블록을 기존 블록체인에 연결하여 추가하라는 메시지 전송이 불필요하게 된다. 이 경우, 종래에 필수적으로 수행되었던 단계가 생략됨에 따라 합의 처리속도가 크게 개선된다.
반면, 트러스트 노드(2)는 블록 검증 노드들(5)로부터 정족수 미만의 보팅 메시지를 수신하면 합의 실패로 판단한다. 이 경우, 각 노드들(4, 5, 6)에는 유효하지 않은 최신 블록이 이미 기존의 블록체인에 추가 되어 있으므로, 트러스트 노드(2)는 자신을 제외한 다른 노드들(4, 5, 6)의 최신 블록을 동기화하여 롤백시키고 직접 최신 블록을 생성하여 자신을 제외한 다른 노드들(4, 5, 6)에 전송한다. 다른 노드들(4, 5, 6)은 트러스트 노드로부터 수신된 최신 블록을 자신의 블록체인에 추가하게 된다.
도 8은 본 발명의 일 실시 예에 따른 블록 합의 프로세스를 구체화한 도면이다.
도 8을 참조하면, 트랜잭션이 발생(①)하면, 트러스트 노드(2)는 트랜잭션을 수신(②)하고, 트랜잭션 풀(③)에 트랜잭션 시간과 트랜잭션 파일을 추가한다(④). 그리고 트랜잭션을 블록 생성 노드(Now)(4)에 전달한다(⑤). 이때, 블록 생성 노드(Now)(4)를 트러스트 노드(2)가 스피닝 기법을 통해 임의로(random) 선정할 수 있다(⑤). 스피닝 기법은 블록 생성이나 블록 검증 노드를 알지 못하게 하기 위한 방식이다.
블록 생성 노드(4)는 트러스트 노드(2)로부터 트랜잭션을 수신(⑥)하면, 최신 블록을 생성하고 생성된 최신 블록을 전파한다(⑦). 이때의 최신 블록 생성은 블록 검증 이전에 이루어진다. 블록 전파 시에, 블록 생성 노드(4)는 블록 검증 노드(5)를 스피닝 기법을 통해 임의로 선정할 수 있다(⑥).
트러스트 노드(2), 블록 검증 노드(5) 및 참여 노드(6)는 블록 생성 노드(4)에서 배포된 최신 블록을 수신한다(⑦). 블록 검증 노드(5)는 수신된 최신 블록을 검증(⑧)하고, 블록 검증 결과를 트러스트 노드(2)에 보팅(⑨)한 후, 자신의 블록체인에 최신 블록을 추가한다(⑪). 참여 노드(6)는 블록 생성 노드(4)에서 배포된 최신 블록을 수신(⑦)하면 자신의 블록체인에 검증결과 수신이전에 먼저 최신 블록을 추가한다(⑪).
한편, 트러스트 노드(2)는 블록 생성 노드(4)에서 배포된 최신 블록을 수신(⑦)하고, 블록 검증 노드(5)로부터 블록검증 결과를 수신(⑨)하면, 블록검증 결과가 정족수 이상인지를 판단하여 정족수 이상이면 자신의 블록체인에 최신 블록을 추가(⑩)하고, 블록 데이터 인덱싱 정보를 생성(⑩)하여 이를 저장한다. 또한, 트랜잭션 파일을 삭제(⑪)하고 다음(Next) 블록 생성 노드(4)를 선정한다(⑪).
트러스트 노드(2)가 블록 검증 노드(5)로부터 블록검증 결과를 수신(⑨)했을 때, 블록검증 결과가 정족수 미만이면, 모든 노드에 블록 검증 결과를 송신(⑫)하고 모든 노드의 최신 블록을 동기화하여 롤백(⑬)시키며 최신 블록을 직접 생성(⑬)한 후 모든 노드에 생성된 최신 블록을 전송한다(⑭). 블록검증 결과가 정족수 미만일 때, 블록 생성 노드(4), 블록 검증 노드(5) 및 참여 노드(6)는 트러스트 노드(2)로부터 블록 검증 결과를 수신(⑫)하고 트러스트 노드(2)에 의해 최신 블록을 롤백기능으로 동기화(⑬)하며, 트러스트 노드(2)로부터 생성된 최신 블록을 수신하여 자신의 블록체인에 추가한다(⑭).
도 9는 본 발명의 일 실시 예에 따른 암복호화 프로세스를 도시한 도면이다.
도 9를 참조하면, 송신 노드에서 수신 노드에 전송되는 데이터를 암호화한 후 전송하고, 수신 노드는 암호화된 데이터를 복호화한다. 이때, 송수신되는 데이터는 트랜잭션(transaction), 블록(block), 보팅(voting), 암호화폐(cryptocurrency) 등일 수 있다. 암복호화 방식은 대칭 키 암복호화 방식과, 비대칭 키 암복호화 방식과, 대칭 키 암복호화 방식 및 비대칭 키 암복호화 방식이 혼합된 하이브리드 암복호화 방식과, 암복호화하지 않는 방식 중 어느 하나가 선택될 수 있다. 암복호화 방식은 프라이빗 블록체인을 처음 구성할 때 선택될 수 있다. 대칭 키 암복호화 방식의 예로는 AES(CBS) 방식이 있고, 비대칭 키 암복호화 방식의 예로는 RSA 방식이 있다.
기존에는 블록체인을 구성하는 노드들 간에 데이터를 주고받을 때 대부분 별도의 암복호화 과정을 수행하지 않았으나, 일 실시 예에 따르면, 데이터 암복호화 과정을 수행함에 따라 보안성을 높일 수 있다. 나아가, 암복호화 방식을 다양하게 선택할 수 있음에 따라 보안성뿐만 아니라 처리속도까지 고려할 수 있다.
기존처럼 암복호화하지 않는 방식은 처리속도가 가장 빠르다. 대칭 키 암복호화 방식과 비대칭 키 암복호화 방식은 보안보다 처리속도가 중요하다. 대칭 키 암복호화 방식 및 비대칭 키 암복호화 방식이 혼합된 하이브리드 암복호화 방식은 처리속도보다 보안이 중요하다. 전술한 4가지의 암복호화 방식 중에서 처리속도, 보안 등을 고려하여 선택할 수 있다는 점에서 특징이 있다.
도 10은 본 발명의 일 실시 예에 따른 스마트 계약 처리 프로세스를 도시한 도면이다.
도 10을 참조하면, 스마트 계약 매니저(Smart Contract Manager)(2222)가 GUI 환경에 기반하여 스마트 계약을 배포한다(Smart Contract Deploy)(①). 종래에는 각 노드 별로 일일이 수작업으로 코딩 작업하여 이를 배포한 것에 비해, 일 실시 예에 따른 스마트 계약 매니저(2222)는 GUI 환경에 기반하여 일괄 작업한 후 한꺼번에 각 노드에 배포할 수 있다는 점에서 특징이 있다.
저장 모듈(Storage Module)(230)에는 배포된 스마트 계약을 저장하여 등록한다(②). 트랜잭션 매니저(Transaction Manage)(2220))는 트랜잭션을 전송하고, 스마트 계약 매니저(2222)는 트랜잭션에 상응하는 스마트 계약을 조회(③)한 후 조회된 스마트 계약을 실행한다(④). 단계 ①은 트러스트 노드에서 수행되고, 단계 ②, ③, ④는 일반 노드에서 수행될 수 있다.
도 11은 본 발명의 일 실시 예에 따른 API를 통한 통신 프로세스를 도시한 도면이다.
도 11을 참조하면, 참여 노드(6)의 인터페이스 API(210)는 레거시 장치의 요청을 수신(①)하고 이를 트러스트 노드(2)의 인터페이스 API(210)에 전달한다(②). 트러스트 노드(2)의 인터페이스 API(210)는 요청을 트랜잭션 풀에 전달(③)하고, 트랜잭션 풀은 트랜잭션을 생성하여 블록 생성 노드에 전송한다(④). 트랜잭션을 수신한 블록 생성 노드(4)는 트랜잭션에 상응하는 스마트 계약을 실행(⑤)하고 스마트 계약을 공통 API(212)에 전달한다(⑥). 공통 API(212)는 스마트 계약을 참여 노드(6)에 전송(⑦)하고, 참여 노드(6)는 인터페이스 API(210)를 통해 스마트 계약을 수신하여 이를 레거시 장치에 전송한다(⑧). 그 반대 과정(단계 9 ~ 단계 16)은 역으로 진행되며, 동작 방식은 유사하다.
도 12는 본 발명의 일 실시 예에 따른 스마트 계약 배포 화면을 도시한 도면이다.
도 12를 참조하면, 트러스트 노드에서 스마트 계약을 배포할 때, GUI 환경에 기반하여 배포한다. 즉, 각 노드 별로 일일이 수작업으로 코딩 작업하여 이를 배포하는 것이 아니라, GUI 환경에 기반하여 일괄 작업한 후 한꺼번에 각 노드에 배포한다. 도 12의 화면은 실제 GUI 화면을 나타낸다.
도 13 내지 도 15는 본 발명의 다양한 실시 예에 따른 관리 화면을 도시한 도면이다.
도 4 및 도 13 내지 도 15를 참조하면, 관리 계층(24)의 관리 모듈(240)은 사용자 관리(User Management), 노드 관리(Node Management), 블록 데이터 관리(Block Data Management), 스마트 계약 관리(Smart Contract Management), 암호통화 관리(Crypto Currency Management), 통계 관리(Statistics Management), 모니터링 관리(Monitoring Management) 등을 수행한다. 관리 화면은 관리자 페이지를 통해 제공될 수 있다. 노드 관리는 트러스트 노드 및 일반 노드 모두를 관리하는 것이고, 블록 데이터 관리는 블록 데이터 검색을 지원한다. 스마트 계약 관리는 스마트 계약에 대한 유지 보수 및 테스트를 지원한다. 통계 관리를 통해 통계 정보를 제공하며, 모니터링 관리를 통해 블록체인 노드 상태, 네트워크 상태 등을 실시간으로 체크할 수 있다. 종래 블록체인은 이러한 모니터링을 포함한 관리 기능이 없지만, 일 실시 예에 따른 관리를 통해 이를 달성할 수 있다.
이제까지 본 발명에 대하여 그 실시 예들을 중심으로 살펴보았다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
1 : 블록체인 네트워크 시스템
2 : 트러스트 노드
3 : 일반노드
4 : 블록 생성 노드
5 : 블록 검증 노드
6 : 참여 노드
10 : 통신부
12 : 처리부
14 : 저장부
16 : 관리부

Claims (19)

  1. 네트워크에서 발생한 트랜잭션을 수신하여 블록 생성 노드에 전달하고 각 블록 검증 노드로부터 보팅 메시지를 수신하여 합의 성공 여부를 판단하는 트러스트 노드;
    상기 트러스트 노드로부터 트랜잭션을 수신하여 최신 블록을 생성하고 상기 최신 블록을 자신을 제외한 네크워크 상의 다른 노드들에게 브로드캐스팅 하는 블록 생성 노드;
    상기 블록 생성 노드로부터 수신된 최신 블록의 유효성을 검증하여 검증 결과를 상기 트러스트 노드에 각각 보팅하는 적어도 하나 이상의 블록 검증 노드; 및
    상기 블록 생성 노드로부터 수신된 최신 블록을 자신의 블록체인에 연결하여 추가하는 적어도 하나 이상의 참여 노드;를 포함하고,
    상기 트러스트 노드를 제외한 다른 노드들은,
    상기 트러스트 노드로부터 상기 최신 블록에 대한 보팅 결과를 수신하기 전에 상기 최신 블록을 자신의 기존 블록체인에 먼저 선 연결하여 추가하고,
    상기 트러스트 노드는,
    각 블록 검증 노드로부터 정족수 이상의 보팅 메시지를 수신하면 합의 성공으로 판단하여 다른 절차 진행 없이 그대로 합의를 종료하며,
    각 블록 검증 노드로부터 정족수 미만의 보팅 메시지를 수신하면 합의 실패로 판단하여 자신을 제외한 다른 노드들의 기존 블록 체인에 연결된 최신 블록을 동기화하여 롤백시키고,
    자신이 직접 최신블록을 다시 생성하여 네트워크 상의 자신을 제외한 다른 노드들에 전송하여 기존 블록체인에 추가하는 것을 특징으로 하는 블록체인 네트워크 시스템.
  2. 삭제
  3. 삭제
  4. 제 1 항에 있어서, 상기 트러스트 노드는,
    블록체인의 내부 또는 외부와 데이터를 송수신하기 위한 인터페이스를 제공하는 통신부;
    분산 원장이 저장되는 저장부;
    저장부에 저장된 분산 원장인 블록체인의 블록에 저장되어 있는 트랜잭션에 대한 전체 풀(pool) 관리, P2P 관리 및 블록 동기화 관리를 통합 수행하는 처리부; 및
    사용자 관리, 노드 관리, 블록 데이터 관리, 스마트 계약 관리, 암호화폐 관리, 통계관리 및 모니터링 관리 중 적어도 하나 이상을 통합 관리하는 관리부;
    를 포함하는 것을 특징으로 하는 블록체인 네트워크 시스템.
  5. 제 4 항에 있어서, 상기 처리부는,
    블록체인 네트워크를 구성하는 노드들의 트랜잭션에 대한 전체 풀을 관리하는 트랜잭션 매니저;
    스마트 계약을 블록체인 네트워크를 구성하는 노드들에 배포하고 트랜잭션이 발행되면 발행된 트랜잭션에 상응하는 스마트 계약을 실행하게 하는 스마트 계약 매니저; 및
    트랜잭션을 수집하여 블록을 생성하는 블록 매니저;
    를 포함하는 것을 특징으로 하는 블록체인 네트워크 시스템.
  6. 제 5 항에 있어서, 상기 스마트 계약 매니저는,
    GUI 환경에 기반하여 스마트 계약을 각 노드에 일괄 배포하는 것을 특징으로 하는 블록체인 네트워크 시스템.
  7. 제 4 항에 있어서, 상기 처리부는,
    노드 간 전송되는 데이터를 암복호화하기 위한 보안 모듈;
    을 포함하는 것을 특징으로 하는 블록체인 네트워크 시스템.
  8. 제 7 항에 있어서, 상기 보안 모듈은,
    처리속도 또는 보안성을 기초로 하여 대칭 키 암복호화 방식과, 비대칭 키 암복호화 방식과, 대칭 키 암복호화 방식 및 비대칭 키 암복호화 방식이 혼합된 하이브리드 암복호화 방식, 및 암복호화하지 않는 방식 중 어느 하나를 선택하는 것을 특징으로 하는 블록체인 네트워크 시스템.
  9. 제 1 항에 있어서, 상기 트러스트 노드는,
    스피닝 기법을 통해 임의로 상기 블록 생성 노드를 선정하는 것을 특징으로 하는 블록체인 네트워크 시스템.
  10. 제 9 항에 있어서, 상기 블록 생성 노드는,
    스피닝 기법을 통해 임의로 각각의 블록 검증 노드를 선정하는 것을 특징으로 하는 블록체인 네트워크 시스템.
  11. 제 10 항에 있어서, 상기 블록 생성 노드는,
    트랜잭션을 수신하여 최신 블록을 생성하는 블록생성부;
    블록체인 내부 또는 외부와 데이터를 송수신하기 위한 인터페이스를 제공하는 통신부;
    상기 통신부를 통해 노드 간 송수신되는 데이터를 암복호화하기 위한 보안 모듈; 및
    기존의 블록체인에 해당하는 분산 원장이 저장되는 저장부;를 포함하는 것을 특징으로 하는 블록체인 네트워크 시스템.
  12. 제 11 항에 있어서, 상기 블록 검증 노드는,
    상기 블록 생성 노드에서 생성한 최신 블록을 수신하여 유효성을 검증하는 합의 매니저;
    블록체인 내부 또는 외부와 데이터를 송수신하기 위한 인터페이스를 제공하는 통신부;
    상기 통신부를 통해 노드 간 송수신되는 데이터를 암복호화하기 위한 보안 모듈; 및
    기존의 블록체인에 해당하는 분산 원장이 저장되는 저장부;를 포함하는 것을 특징으로 하는 블록체인 네트워크 시스템.
  13. 제 11 항 또는 제 12 항에 있어서, 상기 보안 모듈은,
    처리속도 또는 보안성을 기초로 하여 대칭 키 암복호화 방식과, 비대칭 키 암복호화 방식과, 대칭 키 암복호화 방식 및 비대칭 키 암복호화 방식이 혼합된 하이브리드 암복호화 방식, 및 암복호화하지 않는 방식 중 어느 하나를 선택하는 것을 특징으로 하는 블록체인 네트워크 시스템.
  14. 트러스트 노드가 블록체인 네트워크상에서 발생한 트랜잭션을 모든 노드로부터 수신하는 단계;
    상기 트러스트 노드에서 블록체인 네트워크 상의 모든 노드로부터 수신한 트랜잭션을 취합하여 블록 생성 노드에 전달하는 단계;
    상기 블록 생성 노드가 상기 트러스트 노드로부터 전달받은 트랜잭션을 이용하여 최신 블록을 생성하고 생성된 최신 블록을 자신을 제외한 다른 노드들에 브로드캐스팅 하는 단계;
    다수의 블록 검증 노드가 상기 블록 생성 노드로부터 수신된 최신 블록의 유효성을 검증하여 검증 결과를 트러스트 노드에 각각 보팅하는 단계; 및
    상기 트러스트 노드를 제외한 다른 노드들이 상기 트러스트 노드로부터 보팅 결과를 수신하기 전에 상기 최신 블록을 자신의 기존 블록체인에 먼저 선 연결하여 추가하는 단계;
    트러스트 노드가 블록 검증 노드들로부터 보팅 메시지를 수신하는 단계;
    트러스트 노드가 정족수 이상의 보팅 메시지를 수신하면 합의 성공으로 판단하여 다른 절차 진행 없이 그대로 합의를 종료하는 단계;
    트러스트 노드가 블록 검증 노드들로부터 정족수 미만의 보팅 메시지를 수신하면 합의 실패로 판단하여 자신을 제외한 네트워크 상의 다른 노드들에게 블록 검증 결과를 전송하는 단계; 및
    자신을 제외한 다른 노드들의 블록체인에 연결된 최신 블록을 동기화하여 롤백시키고 직접 최신 블록을 생성하여 자신을 제외한 다른 노드들에 전송하여 추가하는 단계;
    를 포함하는 것을 특징으로 하는 블록체인 기반 합의 방법.
  15. 삭제
  16. 삭제
  17. 제 14 항에 있어서,
    상기 트러스트 노드가 블록 생성 노드를 스피닝 기법을 통해 임의로 선정하는 단계; 및
    상기 블록 생성 노드가 하나 이상의 블록 검증 노드를 스피닝 기법을 통해 임의로 선정하는 단계;를
    더 포함하는 것을 특징으로 하는 블록체인 기반 합의 방법.
  18. 제 14 항에 있어서, 상기 블록체인 기반 합의 방법은
    노드 간에 전송되는 메시지를 암호화 및 복호화 처리하는 단계;
    를 더 포함하는 것을 특징으로 하는 블록체인 기반 합의 방법.
  19. 제 14 항에 있어서, 상기 블록체인 기반 합의 방법은
    트러스트 노드가 GUI 환경에 기반하여 스마트 계약을 배포하는 단계;
    일반 노드가 트러스트 노드로부터 배포된 스마트 계약을 저장하는 단계;
    트러스트 노드가 일반 노드에 트랜잭션을 전송하는 단계; 및
    일반 노드가 트랜잭션을 수신하면 수신된 트랜잭션에 상응하는 스마트 계약을 조회하고 조회된 스마트 계약을 실행하는 단계;
    를 더 포함하는 것을 특징으로 하는 블록체인 기반 합의 방법.


KR1020180128986A 2018-10-26 2018-10-26 프라이빗 블록체인 네트워크 시스템 및 경량화된 고성능 블록체인 기반 합의 방법 KR101975822B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180128986A KR101975822B1 (ko) 2018-10-26 2018-10-26 프라이빗 블록체인 네트워크 시스템 및 경량화된 고성능 블록체인 기반 합의 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180128986A KR101975822B1 (ko) 2018-10-26 2018-10-26 프라이빗 블록체인 네트워크 시스템 및 경량화된 고성능 블록체인 기반 합의 방법

Publications (1)

Publication Number Publication Date
KR101975822B1 true KR101975822B1 (ko) 2019-05-08

Family

ID=66580246

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180128986A KR101975822B1 (ko) 2018-10-26 2018-10-26 프라이빗 블록체인 네트워크 시스템 및 경량화된 고성능 블록체인 기반 합의 방법

Country Status (1)

Country Link
KR (1) KR101975822B1 (ko)

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110061874A (zh) * 2019-04-18 2019-07-26 李莉莉 一种联盟区块链可视化通道管理的方法
CN110298670A (zh) * 2019-07-05 2019-10-01 北京艾摩瑞策科技有限公司 涉及pbft的共识方法及其装置
CN110677485A (zh) * 2019-09-30 2020-01-10 大连理工大学 一种基于信用的动态分层拜占庭容错共识方法
CN110750595A (zh) * 2019-10-16 2020-02-04 西安交通大学 一种基于信用度-区块链的双层物联网架构
KR102090723B1 (ko) * 2019-12-12 2020-03-18 주식회사 립페이 블록체인 기반 양자난수를 이용한 양원제 합의 서비스 제공 방법
CN111047330A (zh) * 2020-03-18 2020-04-21 杭州智块网络科技有限公司 区块的验证分红奖励方法和装置
CN111427957A (zh) * 2020-03-26 2020-07-17 财付通支付科技有限公司 区块链投票信息校验方法、装置、设备以及存储介质
KR102151939B1 (ko) * 2019-11-18 2020-09-04 주식회사 아이콘루프 패치 트랜잭션을 이용한 블록체인 생성 방법
CN111801904A (zh) * 2020-03-06 2020-10-20 支付宝(杭州)信息技术有限公司 验证和广播事件的方法和设备
KR20200132546A (ko) * 2019-05-17 2020-11-25 군산대학교산학협력단 클라우드 컴퓨팅 및 블록체인 기반의 스마트 홈 시스템
CN112541763A (zh) * 2020-12-11 2021-03-23 军工保密资格审查认证中心 一种区块链管理器的区块共识审批的方法及装置
KR20210048307A (ko) * 2019-10-23 2021-05-03 (주)헥슬란트 암호 화폐 검증 노드, 발행 노드 및 결제 시스템
WO2021108978A1 (zh) * 2019-12-03 2021-06-10 深圳市网心科技有限公司 验证人节点选择方法、电子设备、***及介质
CN113032478A (zh) * 2019-12-24 2021-06-25 航天信息股份有限公司 区块链***及数据上链方法、装置、设备和介质
KR20210080818A (ko) 2019-12-23 2021-07-01 서강대학교산학협력단 에이전트 기반의 블록체인 네트워크 및 상기 네트워크의 전처리 방법
KR20210082890A (ko) 2019-12-26 2021-07-06 서강대학교산학협력단 블록체인 네트워크에서의 처리 성능 향상 방법
CN113141542A (zh) * 2020-01-20 2021-07-20 亦非云互联网技术(上海)有限公司 基于区块链的视频流安全播放***、方法、介质及服务端
CN113179286A (zh) * 2021-06-30 2021-07-27 发明之家(北京)科技有限公司 一种区块链的数据监管方法和***
CN113811910A (zh) * 2019-05-31 2021-12-17 Mts株式会社 基于区块链的行为信息证明方法
KR20220057823A (ko) 2020-10-30 2022-05-09 서강대학교산학협력단 블록체인 네트워크에서의 블록 사이즈 조절 방법 및 이를 이용한 블록체인 네트워크
KR20220084877A (ko) 2020-12-14 2022-06-21 서강대학교산학협력단 하이퍼레저 기반 IoT 블록체인에서의 제한된 성능 보완 방법
WO2022134783A1 (zh) * 2020-12-22 2022-06-30 深圳壹账通智能科技有限公司 一种区块链网络的构建方法及增加节点方法、介质及设备
CN115687527A (zh) * 2022-11-09 2023-02-03 呼和浩特市大旗网络有限公司 一种基于区块链大数据的存储***
KR102532319B1 (ko) * 2022-11-24 2023-05-17 주식회사 글로벌에이치알코리아 블록체인을 이용한 클라우드 가상머신 기반 다중 채널 노드 운용 방법 및 시스템
KR20230108817A (ko) 2022-01-12 2023-07-19 주식회사 카르마랩 블록체인 하드웨어 가속기를 이용한 초고속 블록체인 플랫폼 시스템
KR20240008006A (ko) 2022-07-11 2024-01-18 아주대학교산학협력단 가변적 트랜잭션 처리 시스템 및 가변적 트랜잭션 처리 방법
WO2024071582A1 (ko) * 2022-09-29 2024-04-04 삼성전자 주식회사 블록체인 기반 데이터 전송 방법 및 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101701131B1 (ko) * 2016-04-28 2017-02-13 주식회사 라피 이종간 블록체인 연결을 이용한 데이터 기록/검증 방법 및 시스템
JP2017188883A (ja) * 2017-03-23 2017-10-12 株式会社bitFlyer プライベートノード、プライベートノードにおける処理方法、及びそのためのプログラム
KR20180022507A (ko) 2016-08-24 2018-03-06 김보석 블록체인을 기반으로 하는 문서전달 서비스 제공 방법
KR20180113140A (ko) * 2017-04-05 2018-10-15 삼성에스디에스 주식회사 블록체인 기반의 데이터 처리 시스템 및 그 동작 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101701131B1 (ko) * 2016-04-28 2017-02-13 주식회사 라피 이종간 블록체인 연결을 이용한 데이터 기록/검증 방법 및 시스템
KR20180022507A (ko) 2016-08-24 2018-03-06 김보석 블록체인을 기반으로 하는 문서전달 서비스 제공 방법
JP2017188883A (ja) * 2017-03-23 2017-10-12 株式会社bitFlyer プライベートノード、プライベートノードにおける処理方法、及びそのためのプログラム
KR20180113140A (ko) * 2017-04-05 2018-10-15 삼성에스디에스 주식회사 블록체인 기반의 데이터 처리 시스템 및 그 동작 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
논문, Spin One’s Wheels? Byzantine Fault Tolerance with a Spinning Primary, 2009 28th IEEE International Symposium on Reliable Distributed Systems, September. 2009.* *

Cited By (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110061874A (zh) * 2019-04-18 2019-07-26 李莉莉 一种联盟区块链可视化通道管理的方法
KR102229438B1 (ko) * 2019-05-17 2021-03-18 군산대학교산학협력단 클라우드 컴퓨팅 및 블록체인 기반의 스마트 홈 시스템
KR20200132546A (ko) * 2019-05-17 2020-11-25 군산대학교산학협력단 클라우드 컴퓨팅 및 블록체인 기반의 스마트 홈 시스템
CN113811910A (zh) * 2019-05-31 2021-12-17 Mts株式会社 基于区块链的行为信息证明方法
CN110298670B (zh) * 2019-07-05 2021-01-15 北京瑞策科技有限公司 涉及pbft的共识方法及其装置
CN110298670A (zh) * 2019-07-05 2019-10-01 北京艾摩瑞策科技有限公司 涉及pbft的共识方法及其装置
CN110677485A (zh) * 2019-09-30 2020-01-10 大连理工大学 一种基于信用的动态分层拜占庭容错共识方法
CN110750595A (zh) * 2019-10-16 2020-02-04 西安交通大学 一种基于信用度-区块链的双层物联网架构
KR102363804B1 (ko) * 2019-10-23 2022-02-16 (주)헥슬란트 암호 화폐 검증 노드, 발행 노드 및 결제 시스템
KR20210048307A (ko) * 2019-10-23 2021-05-03 (주)헥슬란트 암호 화폐 검증 노드, 발행 노드 및 결제 시스템
WO2021101040A1 (ko) * 2019-11-18 2021-05-27 주식회사 아이콘루프 패치 트랜잭션을 이용한 블록체인 생성 방법
KR102151939B1 (ko) * 2019-11-18 2020-09-04 주식회사 아이콘루프 패치 트랜잭션을 이용한 블록체인 생성 방법
WO2021108978A1 (zh) * 2019-12-03 2021-06-10 深圳市网心科技有限公司 验证人节点选择方法、电子设备、***及介质
KR102090723B1 (ko) * 2019-12-12 2020-03-18 주식회사 립페이 블록체인 기반 양자난수를 이용한 양원제 합의 서비스 제공 방법
KR20210080818A (ko) 2019-12-23 2021-07-01 서강대학교산학협력단 에이전트 기반의 블록체인 네트워크 및 상기 네트워크의 전처리 방법
CN113032478B (zh) * 2019-12-24 2023-10-31 航天信息股份有限公司 区块链***及数据上链方法、装置、设备和介质
CN113032478A (zh) * 2019-12-24 2021-06-25 航天信息股份有限公司 区块链***及数据上链方法、装置、设备和介质
KR20210082890A (ko) 2019-12-26 2021-07-06 서강대학교산학협력단 블록체인 네트워크에서의 처리 성능 향상 방법
US11625260B2 (en) 2019-12-26 2023-04-11 Sogang University Research & Business Development Foundation Method for enhancing throughput in blockchain network
CN113141542B (zh) * 2020-01-20 2023-07-07 亦非云互联网技术(上海)有限公司 基于区块链的视频流安全播放***、方法、介质及服务端
CN113141542A (zh) * 2020-01-20 2021-07-20 亦非云互联网技术(上海)有限公司 基于区块链的视频流安全播放***、方法、介质及服务端
CN111801904A (zh) * 2020-03-06 2020-10-20 支付宝(杭州)信息技术有限公司 验证和广播事件的方法和设备
CN111047330A (zh) * 2020-03-18 2020-04-21 杭州智块网络科技有限公司 区块的验证分红奖励方法和装置
CN111427957B (zh) * 2020-03-26 2021-05-11 财付通支付科技有限公司 区块链投票信息校验方法、装置、设备以及存储介质
CN111427957A (zh) * 2020-03-26 2020-07-17 财付通支付科技有限公司 区块链投票信息校验方法、装置、设备以及存储介质
KR20220057823A (ko) 2020-10-30 2022-05-09 서강대학교산학협력단 블록체인 네트워크에서의 블록 사이즈 조절 방법 및 이를 이용한 블록체인 네트워크
CN112541763A (zh) * 2020-12-11 2021-03-23 军工保密资格审查认证中心 一种区块链管理器的区块共识审批的方法及装置
CN112541763B (zh) * 2020-12-11 2024-04-30 军工保密资格审查认证中心 一种区块链管理器的区块共识审批的方法及装置
KR20220084877A (ko) 2020-12-14 2022-06-21 서강대학교산학협력단 하이퍼레저 기반 IoT 블록체인에서의 제한된 성능 보완 방법
WO2022134783A1 (zh) * 2020-12-22 2022-06-30 深圳壹账通智能科技有限公司 一种区块链网络的构建方法及增加节点方法、介质及设备
CN113179286A (zh) * 2021-06-30 2021-07-27 发明之家(北京)科技有限公司 一种区块链的数据监管方法和***
KR20230108817A (ko) 2022-01-12 2023-07-19 주식회사 카르마랩 블록체인 하드웨어 가속기를 이용한 초고속 블록체인 플랫폼 시스템
KR20240008006A (ko) 2022-07-11 2024-01-18 아주대학교산학협력단 가변적 트랜잭션 처리 시스템 및 가변적 트랜잭션 처리 방법
WO2024071582A1 (ko) * 2022-09-29 2024-04-04 삼성전자 주식회사 블록체인 기반 데이터 전송 방법 및 장치
CN115687527A (zh) * 2022-11-09 2023-02-03 呼和浩特市大旗网络有限公司 一种基于区块链大数据的存储***
CN115687527B (zh) * 2022-11-09 2023-10-10 北京北纬三十度网络科技有限公司 一种基于区块链大数据的存储***
KR102532319B1 (ko) * 2022-11-24 2023-05-17 주식회사 글로벌에이치알코리아 블록체인을 이용한 클라우드 가상머신 기반 다중 채널 노드 운용 방법 및 시스템

Similar Documents

Publication Publication Date Title
KR101975822B1 (ko) 프라이빗 블록체인 네트워크 시스템 및 경량화된 고성능 블록체인 기반 합의 방법
CN110351133B (zh) 用于区块链***中的主节点切换处理的方法及装置
CN108429759B (zh) 去中心化存储安全实现方法
Miller et al. The honey badger of BFT protocols
US10848315B2 (en) Contract agreement method, agreement verification method, contract agreement system, agreement verification device, contract agreement device, contract agreement program and agreement verification program
Ruffing et al. P2P mixing and unlinkable bitcoin transactions
KR101930825B1 (ko) 블록체인 네트워크를 이용해서 사용자를 인증하고 블록을 동기화하는 시스템 및 방법
US8189789B2 (en) Intrusion-tolerant group management for mobile ad-hoc networks
CN111242617B (zh) 用于执行交易正确性验证的方法及装置
CN110581854B (zh) 基于区块链的智能终端安全通信方法
CN101981889B (zh) 计算机集群***中的安全通信
JP2020507098A (ja) ブロックチェーンを用いた個人情報の分離後の組み合わせを通じた認証システム
CN110875821A (zh) 密码学区块链互操作
CN101090316B (zh) 离线状态下存储卡与终端设备之间的身份认证方法
CN112994892A (zh) 跨链交互方法、装置、***和电子设备
JP2022509933A (ja) 鍵管理を伴う高性能分散型記録システム
CN110601830B (zh) 基于区块链的密钥管理方法、装置、设备及存储介质
CN104735087A (zh) 一种基于公钥算法和SSL协议的多集群Hadoop***安全优化方法
CN111163109B (zh) 区块链去中心式节点防仿冒方法
CN111241593A (zh) 用于区块链节点的数据同步方法及装置
Blanchet et al. Computationally sound mechanized proofs for basic and public-key Kerberos
CN111865917B (zh) 基于区块链的物联网设备安全交付方法、***及介质
CN110737915A (zh) 基于联盟链和隐式证书的抗量子计算匿名身份识别方法及***
KR20230093432A (ko) 서비스 거부 공격들의 식별
CN111768189B (zh) 基于区块链的充电桩运营方法、装置及***

Legal Events

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