KR20210005678A - 대표 노드 디바이스를 선출하기 위한 방법 및 장치, 및 컴퓨터 디바이스 및 저장 매체 - Google Patents

대표 노드 디바이스를 선출하기 위한 방법 및 장치, 및 컴퓨터 디바이스 및 저장 매체 Download PDF

Info

Publication number
KR20210005678A
KR20210005678A KR1020207033830A KR20207033830A KR20210005678A KR 20210005678 A KR20210005678 A KR 20210005678A KR 1020207033830 A KR1020207033830 A KR 1020207033830A KR 20207033830 A KR20207033830 A KR 20207033830A KR 20210005678 A KR20210005678 A KR 20210005678A
Authority
KR
South Korea
Prior art keywords
node device
representative
representative node
address information
address
Prior art date
Application number
KR1020207033830A
Other languages
English (en)
Other versions
KR102339194B1 (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 텐센트 테크놀로지(센젠) 컴퍼니 리미티드
Publication of KR20210005678A publication Critical patent/KR20210005678A/ko
Application granted granted Critical
Publication of KR102339194B1 publication Critical patent/KR102339194B1/ko

Links

Images

Classifications

    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • H04L63/205Network architectures or network communication protocols for network security for managing network security; network security policies in general involving negotiation or determination of the one or more network security mechanisms to be used, e.g. by negotiation between the client and the server or between peers or by selection according to the capabilities of the entities involved
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • 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 
    • H04L67/1051Group master selection mechanisms
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • H04L2209/38
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem
    • H04L2209/463Electronic voting

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

대표 노드 디바이스를 선출하기 위한 방법으로서, 블록체인 시스템 내의 적어도 하나의 노드 디바이스의 네트워크 프로토콜 주소 정보를 수신하는 단계 - 노드 디바이스는 제1 노드 디바이스를 포함하고, 제1 노드 디바이스는 대표 노드 디바이스가 될 후보인 노드 디바이스임 - ; 제1 노드 디바이스의 네트워크 프로토콜 주소 취득 요청을 수신하는 단계 - 네트워크 프로토콜 주소 취득 요청은 제1 노드 디바이스의 네트워크 프로토콜 주소 정보를 요청하기 위해 사용됨 - ; 제1 노드 디바이스가 선출 프로세스에서 선출된 대표 노드 디바이스라고 결정될 때, 네트워크 프로토콜 주소 목록을 제1 노드 디바이스에 보내는 단계 - 네트워크 프로토콜 주소 목록은 선출 프로세스에서 선출된 대표 노드 디바이스의 네트워크 프로토콜 주소 정보를 포함함 - ; 및 제1 노드 디바이스가 선출 프로세스에서 선출된 대표 노드 디바이스가 아니라고 결정될 때, 네트워크 프로토콜 주소 취득 요청에 대한 응답을 방지하는 단계를 포함한다.

Description

대표 노드 디바이스를 선출하기 위한 방법 및 장치, 및 컴퓨터 디바이스 및 저장 매체
관련 출원에 대한 상호 참조
본 출원은 2018년 9월 7일자로 중국 특허청에 출원된 "대표 노드 디바이스를 선출하기 위한 방법 및 장치, 및 컴퓨터 디바이스 및 저장 매체(METHOD AND APPARATUS FOR ELECTING REPRESENTATIVE NODE DEVICE, COMPUTER DEVICE, AND STORAGE MEDIUM)"라는 발명의 명칭의 중국 특허 출원 제201811046269.8호의 우선권을 주장하며, 그것의 전체 내용은 참조에 의해 본 명세서에 통합된다.
기술 분야
본 출원은 블록체인 기술 분야에 관한 것으로, 특히 대표 노드 디바이스를 선출하기 위한 방법 및 장치, 및 컴퓨터 디바이스 및 저장 매체에 관한 것이다.
최근, 네트워크 기술들의 개발로, 블록체인 시스템들이 생활에 널리 적용되고 있다. 블록체인 시스템은 복수의 노드 디바이스에 의해 형성될 수 있다. 각각의 노드 디바이스는 블록들을 사용하여 트랜잭션 데이터를 저장하고, 블록들을 시간 순서대로 순차적으로 결합하여 체인 데이터 구조를 형성하여, 블록체인 시스템에서 분산 원장(distributed ledger)을 형성할 수 있다.
현재, 노드 디바이스들은 이하의 프로세스를 사용하여 블록들을 생성할 수 있다. 임의의 노드 디바이스에서 트랜잭션이 발생할 때, 노드 디바이스는 트랜잭션 데이터를 기록할 수 있고, 블록체인 시스템에서 트랜잭션 데이터를 브로드캐스트할 수 있으며, 그에 의해 블록체인 시스템 내의 노드 디바이스는 트랜잭션 데이터를 수신할 수 있게 된다. 트랜잭션 데이터를 수신한 후, 블록체인 시스템 내의 노드 디바이스는 트랜잭션 데이터를 패키징하고 새로운 블록을 생성할 수 있고, 합의 메커니즘(consensus mechanism)을 사용하여 새로운 블록을 검증할 수 있다. 새로운 블록이 검증된 후, 노드 디바이스들은 노드 디바이스 상에 구성된 블록체인에 새로운 블록을 추가할 수 있다.
노드 디바이스들에 의해 블록들을 생성하는 상기 프로세스에서, 블록체인 시스템의 작업 효율을 향상시키기 위해, 모든 노드 디바이스들을 대신하여 블록들을 생성하기 위한 대표 노드 디바이스가 선출될 수 있다. 다음으로, 블록들을 생성하는 프로세스에서, 대표 노드 디바이스는 피어 투 피어(peer to peer)(P2P) 브로드캐스트를 이용하여 블록체인 시스템에서 트랜잭션 데이터를 브로드캐스트할 수 있다. 대안적으로, 통신 효율을 향상시키기 위해, 대표 노드 디바이스들은 데이터 교환을 위해 직접 통신을 수행할 수 있다. 즉, 대표 노드 디바이스들은 서로의 인터넷 프로토콜(internet protocol)(IP) 주소들을 이용하여 트랜잭션 데이터를 직접 송신 또는 수신할 수 있다. 그러나, 대표 노드 디바이스가 직접 통신을 사용하여 트랜잭션 데이터를 전송하는 경우, 대표 노드 디바이스와 통신하는 모든 노드 디바이스들은 대표 노드 디바이스의 IP 주소를 알아야 한다. 대표 노드 디바이스의 IP 주소가 노출되고 나면, 대표 노드 디바이스는 공격에 극도로 취약하여, 블록체인 시스템의 정상 동작에 영향을 미친다. 이 경우, 대표 노드 디바이스의 보안성을 보장할 수 있는, 대표 노드 디바이스를 선출하기 위한 방법이 시급하게 필요하다.
본 출원의 실시예들은 대표 노드 디바이스를 선출하기 위한 방법 및 장치, 및 컴퓨터 디바이스 및 저장 매체를 제공한다.
대표 노드 디바이스를 선출하기 위한 방법은 타겟 서버에 의해 수행되고, 방법은:
블록체인 시스템 내의 적어도 하나의 노드 디바이스의 IP 주소 정보를 수신하는 단계 - 노드 디바이스는 제1 노드 디바이스를 포함하고, 제1 노드 디바이스는 대표 노드 디바이스를 위한 후보인 노드 디바이스임 - ;
제1 노드 디바이스로부터 IP 주소 획득 요청을 수신하는 단계 - IP 주소 획득 요청은 대표 노드 디바이스의 IP 주소 정보를 요청하기 위해 사용됨 - ;
제1 노드 디바이스가 현재 선출 프로세스에서 선출된 대표 노드 디바이스인 경우, IP 주소 목록을 제1 노드 디바이스에 송신하는 단계 - IP 주소 목록은 현재 선출 프로세스에서 선출된 대표 노드 디바이스들의 IP 주소 정보를 포함함 - ; 및
제1 노드 디바이스가 현재 선출 프로세스에서 선출된 대표 노드 디바이스가 아닌 경우, IP 주소 획득 요청을 무시하는 단계
를 포함한다.
대표 노드 디바이스를 선출하기 위한 방법은 블록체인 시스템 내의 임의의 노드 디바이스에 의해 수행되고, 방법은:
노드 디바이스가 후보 상태에 있는 경우, 노드 디바이스의 IP 주소 정보를 타겟 서버에 송신하는 단계;
현재 선출 프로세스에서 노드 디바이스가 대표 노드 디바이스로서 선출되는 경우, IP 주소 획득 요청을 타겟 서버에 송신하는 단계 - IP 주소 획득 요청은 노드 디바이스의 공개 키를 운반함 - ;
타겟 서버에 의해 반환되고, 공개 키에 따라 수신된 IP 주소 정보로부터 선택된 IP 주소 목록을 수신하는 단계 - IP 주소 목록은 현재 선출 프로세스에서 선출된 대표 노드 디바이스들의 IP 주소 정보를 포함함 - ; 및
노드 디바이스를 동작을 위한 대표 상태로 전환하는 단계
를 포함한다.
대표 노드 디바이스를 선출하기 위한 방법은 블록체인 시스템 내의 임의의 노드 디바이스에 의해 수행되고, 방법은:
노드 디바이스가 현재 선출 프로세스에서 대표 노드 디바이스로서 선출되는 경우, 노드 디바이스의 IP 주소 정보를 미리 설정된 수량의 IP 주소 정보로 복제하는 단계;
미리 설정된 수량의 IP 주소 정보를 현재 선출 프로세스에서 선출된 대표 노드 디바이스들의 공개 키들을 사용하여 각각 암호화하여 미리 설정된 수량의 암호문을 획득하는 단계;
미리 설정된 수량의 암호문을 브로드캐스트하는 단계; 및
미리 설정된 지속시간 후에, 노드 디바이스를 동작을 위한 대표 상태로 전환하는 단계
를 포함한다.
대표 노드 디바이스를 선출하기 위한 장치는:
블록체인 시스템 내의 적어도 하나의 노드 디바이스의 IP 주소 정보를 수신하도록 구성되는 제1 수신 모듈 - 노드 디바이스는 제1 노드 디바이스를 포함하고, 제1 노드 디바이스는 대표 노드 디바이스를 위한 후보인 노드 디바이스임 - ;
제1 노드 디바이스로부터 IP 주소 획득 요청을 수신하도록 구성되는 제2 수신 모듈 - IP 주소 획득 요청은 대표 노드 디바이스의 IP 주소 정보를 요청하기 위해 사용됨 - ; 및
제1 노드 디바이스가 현재 선출 프로세스에서 선출된 대표 노드 디바이스인 경우, IP 주소 목록을 제1 노드 디바이스에 송신하고 - IP 주소 목록은 현재 선출 프로세스에서 선출된 대표 노드 디바이스들의 IP 주소 정보를 포함함 - , 제1 노드 디바이스가 현재 선출 프로세스에서 선출된 대표 노드 디바이스가 아닌 경우, IP 주소 획득 요청을 무시하도록 구성되는 송신 모듈
을 포함한다.
대표 노드 디바이스를 선출하기 위한 장치로서,
노드 디바이스가 후보 상태에 있는 경우, 노드 디바이스의 IP 주소 정보를 타겟 서버에 송신하도록 구성되는 제1 송신 모듈;
현재 선출 프로세스에서 노드 디바이스가 대표 노드 디바이스로서 선출되는 경우, IP 주소 획득 요청을 타겟 서버에 송신하도록 구성되는 제2 송신 모듈 - IP 주소 획득 요청은 노드 디바이스의 공개 키를 운반함 - ;
타겟 서버에 의해 반환되고, 공개 키에 따라 수신된 IP 주소 정보로부터 선택된 IP 주소 목록을 수신하도록 구성되는 수신 모듈 - IP 주소 목록은 현재 선출 프로세스에서 선출된 대표 노드 디바이스들의 IP 주소 정보를 포함함 - ; 및
노드 디바이스를 동작을 위한 대표 상태로 전환하도록 구성되는 전환 모듈
을 포함한다.
대표 노드 디바이스를 선출하기 위한 장치로서,
현재 선출 프로세스에서 노드 디바이스가 대표 노드 디바이스로서 선출되는 경우, 노드 디바이스의 IP 주소 정보를 미리 설정된 수량의 IP 주소 정보로 복제하도록 구성되는 복제 모듈;
현재 선출 프로세스에서 선출된 대표 노드 디바이스들의 공개 키들을 사용하여 미리 설정된 수량의 IP 주소 정보를 각각 암호화하여 미리 설정된 수량의 암호문을 획득하도록 구성되는 암호화 모듈;
미리 설정된 수량의 암호문을 브로드캐스트하도록 구성되는 브로드캐스트 모듈; 및
미리 설정된 지속시간 후에, 노드 디바이스를 동작을 위한 대표 상태로 전환하도록 구성되는 전환 모듈
을 포함한다.
컴퓨터 디바이스는 프로세서 및 메모리를 포함하고, 메모리는 컴퓨터 판독가능한 명령어를 저장하고, 컴퓨터 판독가능한 명령어는 프로세서에 의해 실행될 때, 프로세서로 하여금 대표 노드 디바이스를 선출하기 위한 방법의 단계들을 수행하게 한다.
비휘발성 컴퓨터 판독가능한 저장 매체는 컴퓨터 판독가능한 명령어를 저장하고, 컴퓨터 판독가능한 명령어는 하나 이상의 프로세서에 의해 실행될 때, 하나 이상의 프로세서로 하여금 대표 노드 디바이스를 선출하기 위한 방법의 단계들을 수행하게 한다.
본 출원의 하나 이상의 실시예의 세부사항들은 이하의 첨부도면들 및 설명들에서 제공된다. 본 출원의 다른 특징, 목적 및 이점은 명세서, 첨부 도면 및 청구 범위를 참조하면 더 명확해진다.
본 출원의 실시예들의 기술적 해법들을 더 명확하게 설명하기 위해, 이하에서는 실시예들을 설명하는 데 필요한 첨부도면들을 간략하게 설명한다. 분명히, 이하의 설명의 첨부도면들은 단지 본 출원의 일부 실시예들만을 나타내고, 본 기술분야의 통상의 기술자는 창의적인 노력 없이 이러한 첨부도면들로부터 다른 도면들을 여전히 도출할 수 있다.
도 1은 본 출원의 실시예에 따른 블록체인 시스템의 개략적인 구조도이다.
도 2는 본 출원의 실시예에 따른 대표 노드 디바이스를 선출하기 위한 방법의 플로우차트이다.
도 3은 본 출원의 실시예에 따른 대표 노드 디바이스를 선출하기 위한 방법의 플로우차트이다.
도 4는 본 출원의 실시예에 따른 대표 노드 디바이스를 선출하기 위한 장치의 개략적인 구조도이다.
도 5는 본 출원의 실시예에 따른 대표 노드 디바이스를 선출하기 위한 장치의 개략적인 구조도이다.
도 6은 본 출원의 실시예에 따른 서버의 개략적인 구조도이다.
본 출원의 목적, 기술적 해법, 및 이점을 더 명확하게 하기 위해, 이하에서는 첨부도면들을 참조하여 본 출원의 구현들을 상세히 더 설명한다.
도 1은 본 출원의 실시예에 따른 블록체인 시스템의 개략적인 구조도이다. 도 1을 참조하면, 시스템은 복수의 서버를 포함하고, 타겟 서버를 더 포함한다. 가능한 구현에서, 타겟 서버는 대안적으로 블록체인 시스템 외부에 구성되고 블록체인 시스템에 연관된 타겟 서버일 수 있다. 본 출원의 실시예들에서 언급된 용어 "복수의"는 "하나보다 많은"을 의미한다.
하나의 동일한 블록체인이 복수의 서버에 대해 구성될 수 있다. 즉, 복수의 서버가 블록체인 시스템을 형성할 수 있고, 서버들은 블록체인 시스템 내의 노드 디바이스들이다. 복수의 서버는 동일한 조직에 속하는 복수의 서버, 상이한 조직들에 속하는 복수의 서버, 또는 일반 사용자들에 속하는 복수의 서버일 수 있다.
복수의 서버 모두는 블록체인 시스템의 노드 디바이스들로서 트랜잭션 데이터를 수신할 수 있다. 그러나, 블록체인 시스템이 트랜잭션 데이터를 기록할 때, 노드 디바이스들은 상이한 용도들에 따라 대표 노드 디바이스와 비-대표 노드 디바이스로 범주화될 수 있다. 대표 노드 디바이스는 블록 및 합의 블록(consensus block)을 생성하도록 구성된다. 비-대표 노드 디바이스는 대표 노드 디바이스에 의해 생성되고 합의에 도달된 블록을 수신하고, 검증된 블록을 타겟 블록체인에 저장하도록 구성된다. 대표 노드 디바이스의 후보 상태에서, 비-대표 노드 디바이스는 선거에 의해 대표 노드 디바이스로서 선출될 수 있다.
타겟 서버는 블록체인 시스템 내의 후보 상태에 있는 노드 디바이스의 IP 주소 정보를 저장하고, 블록체인 시스템 내의 새로 선출된 대표 노드 디바이스들의 목록을 질의하고, 모든 새로 선출된 대표 노드 디바이스의 IP 주소 정보를 새로 선출된 대표 노드 디바이스들에 송신하도록 구성될 수 있다.
블록체인 시스템에 의해 트랜잭션 데이터를 기록하는 프로세스에 대해, 이하의 프로세스가 예로서 사용된다.
블록체인 시스템 내의 임의의 노드 디바이스가 트랜잭션 데이터를 수신할 때, 노드 디바이스는 다른 노드 디바이스가 트랜잭션 데이터를 수신하도록, 블록체인 시스템에서 수신된 트랜잭션 데이터를 브로드캐스트할 필요가 있다. 블록체인 시스템 내의 대표 노드 디바이스가 트랜잭션 데이터를 수신한 후, 대표 노드 디바이스는 트랜잭션 데이터에 기초하여 블록을 생성하여, 대표 노드 디바이스들이 블록에 대한 합의를 수행할 수 있게 한다. 대표 노드 디바이스들이 블록에 대한 합의에 도달한 후, 대표 노드 디바이스는 블록체인 시스템에서 블록을 브로드캐스트한다. 대표 노드 디바이스에 의해 브로드캐스트된 블록을 수신한 후, 비-대표 노드 디바이스는 블록을 검증하고, 검증된 블록을 비-대표 노드에 의해 구성된 타겟 블록체인에 저장한다.
본 출원의 실시예들에서 언급된 합의는 블록체인 시스템 내의 복수의 노드 디바이스가 데이터를 각각 검증하는 것이다. 데이터가 임의의 노드 디바이스에 의해 검증될 때, 노드 디바이스는 블록체인 시스템에서 검증 성공 메시지를 브로드캐스트한다. 임의의 노드 디바이스에 의해 수신된 검증 성공 메시지가 미리 설정된 합의 전략에 부합할 때, 데이터에 대한 합의에 도달한 것으로 결정된다.
블록체인 시스템 내의 대표 노드 디바이스들에 의해 합의가 수행되는 예를 참조하여 설명된다. 합의는 작업 증명(proof of work)(POW) 메커니즘을 사용하여 달성될 수 있다. 프로세스는 다음과 같이 설명된다. 블록체인 시스템 내의 대표 노드 디바이스는 블록을 생성한다. 대표 노드 디바이스는 생성된 블록의 블록 헤더의 해시 값을 계산하여, 해시 값이 현재 타겟 값보다 작은지를 결정한다. 해시 값이 타겟 값보다 큰 경우, 대표 노드 디바이스는 생성된 블록에서 난수를 수정하고 해시 값을 재계산한다. 대표 노드 디바이스에 의해 계산된 해시 값이 타겟 값보다 작은 경우, 대표 노드 디바이스는 다른 대표 노드의 IP 주소들에 따라 다른 대표 노드 디바이스들에 블록을 송신한다. 블록을 수신한 후, 다른 대표 노드 디바이스들이 블록을 검증한다. 대부분의 다른 대표 노드 디바이스가 블록의 유효성에 동의하면, 합의에 도달한다.
대표 노드 디바이스들이 서로의 IP 주소들을 사용하여 블록들을 서로에게 송신하는 프로세스는 직접 통신이다.
본 출원의 실시예들에서 제공된 시스템에 의하면, 블록체인 시스템 내의 모든 노드 디바이스가 블록들을 생성할 필요가 없으며, 블록체인 시스템 내의 대부분의 노드 디바이스는 생성된 블록에 대한 합의에 도달한 다음 트랜잭션 데이터가 저장될 수 있는지를 검증할 필요가 없다. 트랜잭션 데이터는 대표 노드가 블록 및 합의 블록을 생성하고 비-대표 노드 디바이스가 검증을 완료한 후에만 블록체인 시스템에 기록될 수 있다. 따라서, 블록체인 시스템의 작업 효율이 향상되고, 블록체인 시스템 내의 대표 노드 디바이스들은 직접 통신을 사용하여 블록에 대한 합의에 도달하여, 대표 노드의 작업 효율을 더 향상시키고, 그에 의해 블록체인 시스템의 작업 효율을 더 향상시킬 수 있다.
다음으로, 블록체인 시스템 내의 대표 노드 디바이스에 의해 IP 주소 획득 요청을 생성하는 프로세스는 구체적인 실시예를 참조하여 이하에 설명된다.
도 2는 본 출원의 본 실시예에 따라 대표 노드 디바이스를 선출하기 위한 방법의 플로우차트이다. 도 2를 참조하면, 본 출원의 본 실시예에서 제공되는 방법의 흐름은 이하의 단계들을 포함한다.
S201. 제1 노드 디바이스는 제1 노드 디바이스의 IP 주소 정보를 타겟 서버에 송신한다.
블록체인 시스템 내의 제1 노드 디바이스는 블록체인 시스템 내의 임의의 노드 디바이스이다. IP 주소 정보는 IP 주소 및 공개 키를 포함할 수 있다. 타겟 서버는 공개 키를 사용하여, 대표 노드 디바이스의 IP 주소를 선택할 수 있다.
본 출원의 실시예에서, 예를 들어, 제1 노드 디바이스는 후보 상태에 있는 노드 디바이스이다. 후보 상태에 있는 노드 디바이스는 대표 노드 디바이스를 위한 후보인 노드 디바이스이다. 후보 상태에 있는 노드 디바이스는 특정 자격을 갖는 노드 디바이스일 수 있다. 예를 들어, 자격은 성능이 미리 설정된 성능 요건을 충족하는 것 또는 크레딧이 미리 설정된 크레딧 요건을 충족하는 것이다.
블록체인 시스템 내의 제1 선출 프로세스에서의 대응하는 대표 노드 디바이스들은 초기화 동안 블록체인 시스템에 의해 설정된 초기 대표 노드 디바이스들이다. 각각의 후속 선출 프로세스에서의 대응하는 대표 노드 디바이스들은 마지막으로 선출된 대표 노드 디바이스들이다.
S202. 타겟 서버는 적어도 하나의 노드 디바이스에 의해 송신된 IP 주소 정보를 수신한다.
이 실시예에서, 적어도 하나의 노드 디바이스는 후보 상태에 있는 적어도 하나의 노드 디바이스일 수 있다. 타겟 서버는 복수의 IP 주소 정보를 수신하고, 그에 의해 타겟 서버는 복수의 IP 주소 정보에 기초하여 대표 노드 디바이스들의 IP 주소들을 선택할 수 있게 된다.
확실히, 적어도 하나의 노드 디바이스는 후보 상태에 있지 않은 노드 디바이스를 더 포함할 수 있으며, 이는 본 출원의 본 실시예에서 제한되지 않는다.
S203. 제1 노드 디바이스는 사용자들의 투표 트랜잭션 데이터를 수신한다.
본 실시예에서, 투표 트랜잭션 데이터는 사용자들이 블록체인 시스템에서 후보 상태에 있는 적어도 하나의 노드 디바이스에 대해 투표하기 위해 사용자 장비를 사용하는 데이터이다.
S204. 제1 노드 디바이스는 블록체인 시스템에서 투표 트랜잭션 데이터를 브로드캐스트한다.
브로드캐스트에 의해, 블록체인 시스템 내의 모든 노드 디바이스는 투표 트랜잭션 데이터를 수신할 수 있다. 본 출원의 본 실시예에서, 제1 노드 디바이스는 투표를 위해 제1 노드 디바이스에 로그인하는 사용자에 의해 생성된 투표 트랜잭션 데이터를 직접 수신할 수 있는 반면, 일부 실시예들에서 제1 노드 디바이스는 사용자가 투표하기 위해 다른 노드 디바이스에 로그인한 후 다른 노드 디바이스에 의해 브로드캐스트되는 투표 트랜잭션 데이터를 직접 수신할 수 있으며, 이는 본 출원의 본 실시예에서 특별히 제한되지 않는다.
S205. 제2 노드 디바이스들은 투표 트랜잭션 데이터를 수신한다.
제2 노드 디바이스는 블록체인 시스템 내의 제1 노드 디바이스가 아닌 노드 디바이스이다. 본 출원의 실시예에서 언급된 "제1", "제2" 및 다른 속성들은 노드 디바이스들의 기능을 구별하기 위해 사용되는 것이 아니라 상이한 노드 디바이스들을 구별하기 위해서만 사용된다는 점에 유의해야 한다.
S206. 블록체인 시스템 내의 복수의 노드 디바이스가 투표 트랜잭션 데이터에 대한 합의에 도달하면, 블록체인 시스템 내의 복수의 노드 디바이스는 블록체인 시스템의 타겟 블록체인에 투표 트랜잭션 데이터를 저장한다.
본 출원의 실시예에서, 복수의 노드 디바이스가 투표 트랜잭션 데이터에 대한 합의에 도달하면, 블록체인 시스템 내의 복수의 대표 노드 디바이스가 투표 트랜잭션 데이터에 대한 합의에 도달할 수 있다. 처음으로 선거를 개최하는 블록체인 시스템에 대해, 상술한 초기 대표 노드 디바이스는 합의 프로세스에 참여하는 노드로서 사용될 수 있다. 후속하여, 복수의 대표 노드 디바이스가 선출된 후, 복수의 선출된 대표 노드 디바이스는 전체 블록체인 시스템의 합의 및 블록 생성 프로세스에 참여하기 위해 대표 노드 디바이스의 동작 상태로 전환될 수 있는 한편, 대표 노드 디바이스로서 선출되지 않은 노드 디바이스는 비-대표 노드 디바이스의 상태로 동작하고 전체 블록체인 시스템의 합의 및 블록 생성 프로세스에 참여하지 않는다.
S207. 생성된 블록들의 수량이 미리 설정된 수량에 도달할 때, 제1 노드 디바이스는 타겟 블록체인의 블록들로부터 복수의 제1 블록을 결정한다. 복수의 제1 블록은 노드 디바이스들의 투표 트랜잭션 데이터를 저장하도록 구성된다.
단계(S207)에서, 제1 노드 디바이스는 투표 트랜잭션 유형에 기초하여 타겟 블록체인의 블록들을 질의하여, 투표 트랜잭션 유형을 저장한 블록을 제1 블록으로서 획득할 수 있다.
본 출원의 실시예에서, 대표 노드 디바이스에서의 장애 발생으로 인해 야기되는 시스템 동작 문제들을 피하기 위해 전체 블록체인 시스템의 동작 동안 복수의 선거가 개최되어, 예를 들어, 시스템 동작 문제가 대표 노드 디바이스가 비정상적으로 실행되거나 크레딧 문제들을 갖는 것인 경우에서, 대표 노드 디바이스에 기초하는 블록체인 시스템의 안정적인 동작을 보장할 수 있다.
생성된 블록은 마지막 선거 이후에 생성된 블록이다. 생성된 블록이 제1의 미리 설정된 수량에 도달할 때에만 선거가 개최되어, 대표 노드 디바이스들의 전환 시간, 즉 대표 노드 디바이스들이 얼마나 자주 전환되는지를 보장하고, 그에 의해 전체 블록체인 시스템의 정상적인 동작을 대표 노드 디바이스들의 빈번한 전환의 영향으로부터 보호한다.
생성된 블록들은 투표 트랜잭션 데이터에 기초하여 생성된 블록들뿐만 아니라 다른 트랜잭션 데이터에 기초하여 생성된 블록들도 포함한다는 것이 이해될 수 있다. 확실히, 블록들은 투표 트랜잭션 데이터 및 다른 트랜잭션 데이터에 기초하여 생성된 블록들을 더 포함할 수 있으며, 이는 여기에서 본 출원의 본 실시예에서 상세하게 설명되지 않는다.
블록체인 시스템 내의 모든 노드 디바이스가 단계(S207)의 프로세스를 수행 할 수 있으며, 이는 본 출원의 본 실시예에서 여기에 상세히 설명되지 않는다는 점에 유의해야 한다.
S208. 제1 노드 디바이스는 복수의 제1 블록에 저장된 투표 트랜잭션 데이터에 따라 블록체인 시스템 내의 노드 디바이스들에 대한 득표 수를 결정한다.
투표 트랜잭션 데이터는 트랜잭션 유형, 득표를 하는 노드 디바이스들의 목록, 및 투표 사용자의 개인 키 서명을 포함한다. 따라서, 노드 디바이스가 득표하는 득표 수는 각각의 제1 블록에 저장된 투표 트랜잭션 데이터에 대해 계수될 수 있다.
본 출원의 실시예에서, 블록체인 시스템의 투표 패턴은 증분 투표 패턴일 수 있다. 증분 투표 패턴에서, 득표를 하는 노드 디바이스가 투표 트랜잭션에 표시되고, 이력 투표 결과들이 유지된다. 예를 들어, 사용자가 노드 디바이스들 A, B 및 C에 투표했고, 현재 투표 프로세스의 객체가 노드 디바이스 D인 경우, 사용자는 현재 투표 프로세스에서 노드 디바이스 D에 직접 투표할 수 있다. 노드 디바이스 D의 투표 트랜잭션 데이터에서 득표하는 노드 디바이스들의 목록은 노드 디바이스 D의 디바이스 공개 키를 운반해야 한다. 즉, 사용자는 복수 회의 투표를 통해 4개의 노드 디바이스 A, B, C 및 D에 대해 투표했다.
상술한 증분 투표 패턴에 기초하여, 득표를 한 노드 디바이스에 대한 투표들이 철회될 수 있다. 예를 들어, 사용자가 노드 디바이스 A, B, C에 투표했고 노드 디바이스 C에 대한 투표를 철회하고자 하는 경우, 사용자는 다음 투표의 투표 트랜잭션 데이터에서 노드 디바이스 C에 대한 투표 철회를 직접 나타낼 수 있다.
투표 및 득표 계수 프로세스에서 다른 패턴들이 사용될 수 있으며, 이는 본 출원에서 특별히 제한되지 않는다는 점에 유의해야 한다.
상술한 단계들(S207 및 S208)은 실제로 후보 상태에 있는 노드 디바이스들에 대응하는 투표 트랜잭션 데이터를 획득하는 방법의 예이며, 다른 방법들이 프로세스에서 사용될 수 있고, 이는 본 출원에서 특별히 제한되지 않는다.
S209. 제1 노드 디바이스는 득표 수의 내림차순으로 선출 결과를 결정한다. 선출 결과는 현재 선출 프로세스에서 블록체인 시스템에 의해 선출된 제2의 미리 설정된 수량의 대표 노드 디바이스들의 공개 키들, 및 대표 노드 디바이스들에 대한 득표 수들을 포함한다.
제2의 미리 설정된 수량은 현재 작동 중인 대표 노드 디바이스들의 수량과 일치할 수 있다. 즉, 제2의 미리 설정된 수량을 설정함으로써, 현재 작동 중인 대표 노드 디바이스들 전부가 선출된 대표 노드 디바이스들로 대체될 수 있음이 보장될 수 있다. 확실히, 제2의 미리 설정된 수량은 변경될 수 있다. 예를 들어, 제2의 미리 설정된 수량은 블록체인 시스템 내의 노드 디바이스들의 수량의 변경에 따라 변경될 수 있다. 노드 디바이스들의 수량이 증가하면, 제2의 미리 설정된 수량이 증가될 수 있다.
제1 노드 디바이스는 제1 노드 디바이스 자신에 의해 결정된 선출 결과에 따라, 제1 노드 디바이스 자신이 이번에 선출된, 새로 선출된 대표 노드 디바이스인지를 결정할 수 있음에 유의해야 한다. 즉, 블록체인 시스템 내의 임의의 노드 디바이스는 노드 디바이스 자신에 의해 계수된 선출 결과에 따라, 노드 디바이스 자체가 이번에 선출된 새로 선출된 대표 노드 디바이스인지 여부, 및 이번에 선출된 다른 새로 선출된 대표 노드 디바이스들의 신원들을 결정할 수 있다.
상술한 단계들(S207 내지 S209)은, 제1 노드 디바이스가 복수의 노드 디바이스에 대한 득표 수에 따라 블록체인 시스템 내의 복수의 대표 노드 디바이스를 결정하는 프로세스, 즉 복수의 제1 블록에 저장된 투표 트랜잭션 데이터에 따라, 블록체인 시스템 내의 제2의 미리 설정된 수량의 대표 노드 디바이스들을 결정하는 프로세스의 구현예이다.
상술한 선출 프로세스는 단지 예일 뿐이라는 점에 유의해야 한다. 일부 실시예들에서, 블록체인 시스템 내의 대표 노드 디바이스들을 선출하기 위해 다른 선출 방법들이 사용될 수 있으며, 이는 본 출원의 본 실시예에서 제한되지 않는다.
S210. 새로 선출된 대표 노드 디바이스는 IP 주소 획득 요청을 타겟 서버에 송신한다.
IP 주소 획득 요청은 노드 디바이스의 공개 키를 운반하고, 그에 의해 타겟 서버는 IP 주소 획득 요청을 송신하는 노드 디바이스가 이번에 선출된 새로 선출된 대표 노드 디바이스인지를 결정할 수 있다.
새로 선출된 대표 노드 디바이스가 IP 주소 획득 요청을 타겟 서버에 송신하기 전에, 노드 디바이스는 노드 디바이스에 의해 결정된 선출 결과에 따라 노드 디바이스 자신이 새로 선출된 대표 노드 디바이스인지를 결정할 필요가 있음에 유의해야 한다. 그런 경우, 새로 선출된 대표 노드 디바이스는 IP 주소 획득 요청을 타겟 서버에 송신한다.
S211. 현재 선출 프로세스가 종료되면, 타겟 서버는 블록체인 시스템에 질의 요청을 송신하고, 질의 요청은 현재 선출 프로세스의 선출 결과를 질의하기 위해 사용된다.
블록체인 시스템에 질의 요청을 송신할 때, 타겟 서버는 블록체인 시스템 내의 임의의 노드 디바이스에 질의 요청을 송신하거나, 블록체인 시스템 내의 특정 노드 디바이스에 질의 요청을 송신하거나, 질의 요청을 블록체인 시스템에 직접 송신할 수 있고, 이는 본 출원에서 특별히 제한되지 않는다.
S212. 블록체인 시스템 내의 임의의 노드 디바이스가 질의 요청을 수신할 때, 현재 선출 프로세스의 선출 결과를 타겟 서버에 송신한다.
S213. 선출 결과를 수신하고, 제1 노드 디바이스가 현재 선출 프로세스에서 선출된 대표 노드 디바이스라고 결정될 때, 타겟 서버는 IP 주소 목록을 제1 노드 디바이스에 송신한다. IP 주소 목록은 현재 선출 프로세스에서 선출된 대표 노드 디바이스들의 IP 주소 정보를 포함한다.
선출 결과는 복수의 대표 노드 디바이스의 공개 키들을 포함한다. 따라서, 선출 결과를 수신할 때, 타겟 서버는 복수의 대표 노드 디바이스의 공개 키들과 제1 노드 디바이스의 공개 키에 따라, 제1 노드 디바이스가 현재 선출 프로세스에서 선출된 대표 노드 디바이스인지를 결정할 수 있다. 그런 경우, 복수의 대표 노드 디바이스의 공개 키들에 따라, 수신된 IP 주소 목록으로부터 대표 노드 디바이스의 IP 주소 정보가 선택되고, 대표 노드 디바이스들의 IP 주소 정보에 기초하여 IP 주소 목록이 생성된다. 제1 노드 디바이스가 이번에 선출된 새로 선출된 노드 디바이스라고 결정될 때에만 타겟 서버가 IP 주소 목록을 제1 노드 디바이스에 송신한다는 점에 유의해야 한다. 타겟 서버가 제1 노드 디바이스가 이번에 선출된 새로 선출된 노드 디바이스가 아니라고 결정하는 경우, 타겟 서버는 제1 노드 디바이스에 의해 송신된 IP 주소 획득 요청을 무시한다.
확실히, 상술한 프로세스는 노드 디바이스가 대표 노드 디바이스라고 결정된 후에 IP 주소를 선택하는 프로세스가 구현되는 예를 이용하여 설명된다. 일부 실시예들에서, 타겟 서버는 선출 결과를 수신한 후, 제1 노드 디바이스의 결정 및 IP 주소의 선택을 동시에 수행할 수 있고, 다음으로, 결정 결과에 기초하여, 생성된 IP 주소 목록을 제1 노드 디바이스에 송신할지를 결정할 수 있다.
상술한 프로세스는 타겟 서버가 IP 주소 획득 요청을 수신할 때 대표 노드 디바이스들을 질의하는 예를 사용하여 설명되었다는 점에 유의해야 한다. 일부 실시예들에서, 질의 프로세스는 IP 주소 획득 요청에 의해 트리거될 필요가 없으며, 오히려 타겟 서버는 블록체인 시스템의 선출이 종료되는 경우 자동으로 질의를 수행할 수 있고, 질의 결과에 기초하여 IP 주소 목록을 생성하여, 실시간 질의 및 실시간 생성의 시간 소비를 감소시킨다. 질의의 특정 시간은 본 출원의 본 실시예에서 제한되지 않는다.
일부 실시예들에서, 새로 선출된 대표 노드 디바이스는 타겟 서버에 IP 주소 획득 요청을 송신하지 않고서, 타겟 서버가 선출 결과를 수신한 후에 새로 선출된 대표 노드 디바이스들에 IP 주소 목록을 능동적으로 송신하여, 시그널링 상호작용을 감소시킬 수 있다.
S214. IP 주소 목록을 수신한 후, 새로 선출된 대표 노드 디바이스를 동작을 위한 대표 상태로 전환한다.
본 출원의 본 실시예에서 제공되는 방법에서, 타겟 서버는 모든 후보 노드 디바이스의 IP 주소를 관리할 수 있다. 선거에 성공하면, 새로 선출된 모든 대표 노드 디바이스의 IP 주소들을 포함하는 IP 주소 목록은 새로 선출된 대표 노드 디바이스들에만 송신되고, 이에 의해 이러한 대표 노드 디바이스들의 IP 주소들은 이번에 선출된 새로 선출된 대표 노드 디바이스들만 알 수 있고, 그에 의해 대표 노드 디바이스들의 IP 주소들의 노출의 확률을 감소시키고 대표 노드 디바이스들의 보안을 보장한다.
더욱이, 선출 프로세스에서, 보다 유연한 선거 방법들을 제공하도록 블록체인 시스템을 위한 대표 노드 디바이스들을 선출하기 위해, 상이한 투표 계수 방법들이 선택될 수 있다. 일정 간격 후에 제1의 미리 설정된 수량의 블록이 생성되면, 블록체인 시스템 내의 노드 디바이스들에 대한 득표 수가 계수되고 내림차순으로 정렬되며, 다음으로 대표 노드 디바이스들이 선출된다. 이 방법을 이용하면, 대표 노드 디바이스들의 전환 시간은 대표 노드 디바이스들의 빈번한 전환으로 인한 블록체인 시스템의 비정상적인 동작을 피하도록 더 제어될 수 있다. 블록체인 시스템에서 복수의 선거가 개최되고, 이는 정상적으로 작동하지 못하는 일부 대표 노드 디바이스들이 교체되는 것을 방지하여, 블록체인 시스템의 정상적인 동작을 유지할 수 있다. 합의를 구현하는 프로세스에서, 블록체인 시스템 내의 대표 노드 디바이스들은 서로의 IP 주소들을 사용하여 서로 직접 통신하고, 그에 의해 블록체인 시스템의 작업 효율을 더욱 향상시킨다.
상술한 실시예들에서, 대표 노드 디바이스들의 IP 주소들의 노출 확률을 감소시키는, 대표 노드 디바이스를 선출하기 위한 방법이 제공되고, 구체적인 실시예를 참조하여 이하에 설명되는 대표 노드 디바이스를 선출하기 위한 다른 방법을 사용하여, 대표 노드 디바이스들의 IP 주소들의 노출의 확률이 감소될 수 있다.
도 3은 본 출원의 실시예에 따른 대표 노드 디바이스를 선출하기 위한 방법의 플로우차트이다. 도 3을 참조하면, 본 출원의 본 실시예에서 제공되는 방법의 흐름은 이하의 단계들을 포함한다.
S301. 제1 노드 디바이스는 사용자들의 투표 트랜잭션 데이터를 수신한다.
본 출원의 실시예에서, 예를 들어, 사용자들은 사용자 장비를 사용하여 제1 노드 디바이스에 대한 투표 트랜잭션을 시작한다. 블록체인 시스템은 초기화를 수행하고 초기 대표 노드 디바이스들을 결정한다. 초기 대표 노드 디바이스들은 선거가 개최되기 전에 블록체인 시스템에서 블록 생성 및 블록 합의를 수행하도록 구성되는 노드 디바이스들이다. 초기화 스테이지에서, 초기 대표 노드 디바이스들의 공개 키들은 블록체인의 제네시스 블록에 저장될 수 있고, 그에 의해 블록체인 시스템 내의 각각의 노드 디바이스는 초기 대표 노드 디바이스들의 공개 키들을 알게 된다.
추가로, 각각의 초기 대표 노드 디바이스는 모든 초기 대표 노드 디바이스의 IP 주소 정보를 알고 있는 한편, 블록체인 시스템 내의 초기 대표 노드 디바이스가 아닌 임의의 노드 디바이스는 초기 대표 노드 디바이스들의 IP 주소 정보를 알지 못하도록 구성된다.
S302. 제1 노드 디바이스는 블록체인 시스템에서 투표 트랜잭션 데이터를 브로드캐스트한다.
투표 트랜잭션 데이터는 사용자들이 블록체인 시스템의 적어도 하나의 제1 노드 디바이스에 대해 투표하는 데이터이다.
S303. 제2 노드 디바이스들은 투표 트랜잭션 데이터를 수신한다.
S304. 블록체인 시스템 내의 복수의 노드 디바이스가 투표 트랜잭션 데이터에 대한 합의에 도달하면, 블록체인 시스템 내의 복수의 노드 디바이스는 블록체인 시스템의 타겟 블록체인에 투표 트랜잭션 데이터를 저장한다.
본 출원의 실시예에서, 복수의 노드 디바이스가 투표 트랜잭션 데이터에 대한 합의에 도달하면, 블록체인 시스템 내의 복수의 대표 노드 디바이스는 투표 트랜잭션 데이터에 대한 합의에 도달할 수 있다. 처음으로 선거를 개최하는 블록체인 시스템에 대해, 상술한 초기 대표 노드 디바이스가 합의 프로세스에 참여하는 노드로서 사용될 수 있다. 후속하여, 복수의 대표 노드 디바이스가 선출된 후, 복수의 선출된 대표 노드 디바이스는 전체 블록체인 시스템의 합의 및 블록 생성 프로세스에 참여하기 위해 대표 노드 디바이스의 동작 상태로 전환될 수 있는 한편, 대표 노드 디바이스로서 선출되지 않은 노드 디바이스는 비-대표 노드 디바이스 상태로 동작하며 전체 블록체인 시스템의 합의 및 블록 생성 프로세스에 참여하지 않는다.
S305. 생성된 블록들의 수량이 제1의 미리 설정된 수량에 도달하면, 제1 노드 디바이스는 타겟 블록체인의 블록들로부터 복수의 제1 블록을 결정한다. 복수의 제1 블록은 노드 디바이스들의 투표 트랜잭션 데이터를 저장하도록 구성된다.
블록체인 시스템 내의 모든 노드 디바이스는 단계(S305)의 프로세스를 수행한다는 점에 유의해야 한다.
S306. 제1 노드 디바이스는 복수의 제1 블록에 저장된 투표 트랜잭션 데이터에 따라 블록체인 시스템 내의 노드 디바이스들에 대한 득표 수들을 결정한다.
블록체인 시스템 내의 투표 패턴은 전체 투표 패턴일 수 있다. 전체 투표 패턴에서, 득표를 하는 노드 디바이스들이 각각의 트랜잭션에 표시될 필요가 있고, 마지막 투표는 유효하지 않다. 예를 들어, 사용자는 노드 디바이스 A와 B에 투표했다. 다음 투표 프로세스의 객체들은 노드 디바이스 C와 D이다. 사용자에 의한 다음 투표에서, 사용자가 노드 디바이스 C와 D에 투표함을 표시할 필요가 있고, 마지막 투표에서 노드 디바이스 A 및 B에 대한 투표들이 직접 오버라이드될 필요가 있다.
투표 프로세스, 및 투표를 계수하는 프로세스에서 다른 패턴들이 사용될 수 있으며, 이는 본 출원에서 특별히 제한되지 않는다는 점에 유의해야 한다.
상술한 단계들(S305 및 S306)은 실제로 후보 상태에 있는 노드 디바이스들에 대응하는 투표 트랜잭션 데이터를 획득하는 방법의 예이며, 다른 방법들이 프로세스에서 사용될 수 있으며, 이는 본 출원에서 특별히 제한되지 않는다.
S307. 제1 노드 디바이스는 득표 수의 내림차순으로 선출 결과를 결정한다. 선출 결과는 블록체인 시스템 내의 제2의 미리 설정된 수량의 대표 노드 디바이스의 공개 키들과 대표 노드 디바이스들에 대한 득표 수들을 포함한다.
제2의 미리 설정된 수량은 현재 작동 중인 대표 노드 디바이스의 수량과 일치할 수 있다. 즉, 제2의 미리 설정된 수량을 설정함으로써 현재 작동 중인 대표 노드 디바이스들 모두가 선출된 대표 노드 디바이스들에 의해 교체될 수 있음이 보장될 수 있다. 확실히, 제2의 미리 설정된 수량은 변경될 수 있다. 예를 들어, 블록체인 시스템 내의 노드 디바이스 수량의 변경에 따라 제2의 미리 설정된 수량이 변경될 수 있다. 노드 디바이스들의 수량이 증가하면 제2의 미리 설정된 수량이 증가될 수 있다.
제1 노드 디바이스는 제1 노드 디바이스 자신에 의해 결정된 선출 결과에 따라, 제1 노드 디바이스 자신이 이번에 선출된 새로 선출된 대표 노드 디바이스인지를 결정할 수 있음에 유의해야 한다. 즉, 블록체인 시스템 내의 임의의 노드 디바이스는 노드 디바이스 자신에 의해 결정된 선출 결과에 따라, 노드 디바이스 자신이 이번에 선출된 새로 선출된 대표 노드 디바이스인지 여부, 및 새로 선출된 다른 대표 노드 디바이스들의 신원들을 결정할 수 있다.
따라서, 단계(S307)에서 선출 결과를 결정하는 프로세스는 제1 노드 디바이스의 신원과 현재 선출 프로세스에서 선출된 대표 노드 디바이스들의 신원들을 결정하는 프로세스이다.
상술한 단계들(S305 내지 S307)은, 제1 노드 디바이스가 복수의 노드 디바이스에 대한 득표 수에 따라, 블록체인 시스템 내의 복수의 대표 노드 디바이스를 결정하는 프로세스, 즉 복수의 제1 블록에 저장된 투표 트랜잭션 데이터에 따라, 블록체인 시스템 내의 제2의 미리 설정된 수량의 대표 노드 디바이스를 결정하는 프로세스의 구현예이다.
S308. 새로 선출된 대표 노드 디바이스는 블록체인 시스템에서 제3의 미리 설정된 수량의 암호문을 브로드캐스트한다.
따라서, 현재 선출 프로세스에서, 새로 선출된 다른 대표 노드 디바이스들 모두는 암호문을 수신하고 암호문을 복호화할 수 있다.
제3의 미리 설정된 수량은, 현재 선출 프로세스에서 새로 선출된 다른 대표 노드 디바이스들 모두가 대표 노드 디바이스가 복호화할 수 있는 암호문들을 수신할 수 있도록 설정된다. 제3의 미리 설정된 수량은 블록체인 시스템에서 현재 작동 중인 대표 노드들의 수량보다 하나 적을 수 있다.
제3의 미리 설정된 수량의 암호문을 생성하는 프로세스는 다음과 같다. 먼저, 새로 선출된 대표 노드 디바이스의 IP 주소 정보가 제3의 미리 설정된 수량의 IP 주소 정보에 복제된다. 다음으로, 현재 선출 프로세스에서 선출된 대표 노드 디바이스들의 공개 키들이 사용되어, 제3의 미리 설정된 수량의 IP 주소 정보를 각각 암호화한다. 마지막으로, 제3의 미리 설정된 수량의 암호문이 획득된다. 실시예에서, 새로 선출된 대표 노드 디바이스들의 IP 주소 정보를 획득하기 위해, 새로 선출된 대표 노드 디바이스들의 원본 IP 주소 정보를 암호화하기 위해 새로 선출된 대표 노드 디바이스들의 개인 키들이 사용된다.
새로 선출된 대표 노드 디바이스에 의해 블록체인 시스템에서 암호문이 브로드캐스트될 때, 새로 선출된 대표 노드 디바이스만이 암호문을 복호화할 수 있는 것이 보장될 수 있으며, 이에 의해 대표 디바이스들의 IP 주소 정보의 노출의 확률을 감소시키고, 블록체인 시스템 내의 대표 노드 디바이스들의 보안을 보장한다.
블록체인 시스템 내의 노드 디바이스들은 P2P 네트워크를 형성할 수 있으며, 노드 디바이스들은 브로드캐스트 형태로 서로 통신한다는 점에 유의해야 한다. 대표 노드 디바이스들 간의 통신 효율을 향상시키기 위해, 대표 노드 디바이스들은 서로의 IP 주소들을 사용하여 서로 더 통신할 수 있다. 본 출원의 본 실시예에서, 새로 선출된 대표 노드 디바이스들은 현재 서로의 IP 주소들을 알지 못한다. 새로 선출된 대표 노드 디바이스는 P2P 네트워크에서 암호문을 브로드캐스트할 수 있고, 그에 의해 새로 선출된 다른 대표 노드 디바이스들은 암호문을 수신하고, 복호화를 통해 새로 선출된 대표 노드 디바이스들의 IP 주소들을 획득할 수 있다. 이러한 방식으로, 작동 동안, 새로 선출된 대표 노드 디바이스들은 서로의 IP 주소들을 사용하여 서로 직접 통신하여 대표 노드 디바이스들의 작업 효율을 향상시키는 한편, IP 주소들이 대표 노드 디바이스들이 아닌 디바이스들로부터 숨겨지는 것이 보장될 수 있다.
S309. 새로 선출된 다른 대표 노드 디바이스는 암호문을 수신하고 복호화한다.
복호화에서, 새로 선출된 대표 노드 디바이스는 대표 노드 디바이스 자신의 개인 키에 기초하여, 대표 노드 디바이스 자신의 공개 키를 사용하여 암호화된 암호문을 복호화할 수 있다.
S310. 미리 설정된 지속시간 후에, 새로 선출된 대표 노드 디바이스를 동작을 위한 대표 상태로 전환한다.
미리 설정된 지속시간은 현재 선출 프로세스에서 선출된 모든 대표 노드 디바이스가 새로 선출된 다른 대표 노드 디바이스들에 의해 송신된 암호문을 수신하고 암호문들을 복호화하기에 충분한 시간을 보장하도록 설정된다. 이러한 방식으로, 새로 선출된 대표 노드 디바이스들 모두가 다른 새로운 대표 노드 디바이스들의 IP 주소 정보를 획득할 수 있음이 보장될 수 있다.
본 출원의 본 실시예에서 제공되는 방법에서, 새로 선출된 대표 노드 디바이스들은 블록체인 시스템에서 암호화된 IP 주소들을 브로드캐스트할 수 있다. IP 주소들에 대한 암호화는 현재 선출 프로세스에서 선출된 대표 노드 디바이스들의 공개 키들을 사용하여 수행될 수 있으며, 그에 의해 암호화된 IP 주소들은 새로 선출된 대표 노드 디바이스들에 의해서만 복호화될 수 있다. 즉, 현재 선출 프로세스에서 선출된 대표 노드 디바이스들만이 IP 주소들을 알 수 있고, 그에 의해 대표 노드 디바이스들의 IP 주소들의 노출의 확률을 감소시키고 대표 노드 디바이스들의 보안을 확보할 수 있다.
또한, 선출된 대표 노드 디바이스들은 블록체인 시스템 내의 모든 노드 디바이스를 대신하여 블록을 생성하고, 새로운 블록에 대한 합의를 더 완료하며, 그에 의해 블록체인 시스템의 작업 효율을 향상시킬 수 있다. 추가로, 합의를 수행하는 프로세스에서, 블록체인 시스템 내의 대표 노드 디바이스들은 서로의 IP 주소들을 사용하여 서로 직접 통신하며, 그에 의해 블록체인 시스템의 작업 효율을 더욱 향상시킨다.
도 4는 본 출원의 실시예에 따른 대표 노드를 선출하기 위한 장치의 개략적인 구조도이고, 이는 도 4에 보여진 바와 같이, 제1 수신 모듈(401), 제2 수신 모듈(402), 및 송신 모듈(403)을 포함한다.
제1 수신 모듈(401)은 제2 수신 모듈(402)에 연결되고, 블록체인 시스템 내의 적어도 하나의 노드 디바이스의 IP 주소 정보를 수신하도록 구성된다.
제2 수신 모듈(402)은 송신 모듈(403)에 연결되고, 제1 노드 디바이스로부터 IP 주소 획득 요청을 수신하도록 구성되며, IP 주소 획득 요청은 대표 노드 디바이스의 IP 주소 정보를 요청하기 위해 사용된다.
송신 모듈(403)은 제1 노드 디바이스가 현재 선출 프로세스에서 선출된 대표 노드 디바이스인 경우, IP 주소 목록을 제1 노드 디바이스에 송신하고 - IP 주소 목록은 현재 선출 프로세스에서 선출된 대표 노드 디바이스들의 IP 주소 정보를 포함함 - , 제1 노드 디바이스가 현재 선출 프로세스에서 선출된 대표 노드 디바이스가 아닌 경우, IP 주소 획득 요청을 무시하도록 구성된다.
실시예에서, 장치는:
현재 선출 프로세스가 종료된 후, 질의 요청을 블록체인 시스템에 송신하도록 구성되는 질의 모듈 - 질의 요청은 현재 선출 프로세스에서 선출된 대표 노드 디바이스들에 대해 질의하기 위해 사용됨 - ; 및
대표 노드 디바이스들의 공개 키들을 수신하도록 구성되는 제3 수신 모듈
을 더 포함한다.
실시예에서, 장치는: 대표 노드 디바이스들의 공개 키들에 따라, 수신된 IP 주소 정보로부터 대표 노드 디바이스들의 IP 주소 정보를 선출하고, 대표 노드 디바이스들의 IP 주소 정보에 기초하여 IP 주소 목록을 생성하도록 구성되는 생성 모듈
을 더 포함한다.
본 출원의 본 실시예에서 제공되는 장치는 블록체인 시스템 내의 노드 디바이스들의 IP 주소들을 저장할 수 있고, 블록 시스템 내의 제1 노드 디바이스의 IP 주소 획득 요청에 기초하여, 블록체인 시스템 내의 현재 선출 프로세스에서 선출된 대표 노드 디바이스들에 대해 질의할 수 있다. 제1 노드 디바이스가 새로운 대표 노드 디바이스인 경우, 새로 선출된 대표 노드 디바이스들 모두의 IP 주소 정보는 제1 노드 디바이스에 송신되고, 그렇지 않으면 장치는 응답하지 않는다. 새로 선출된 대표 노드 디바이스들의 IP 주소들이 새로 선출된 모든 대표 노드 디바이스에만 노출되고, 그에 의해 블록체인 시스템에서 대표 노드 디바이스의 노출의 확률을 감소시키고, 새로운 대표 노드 디바이스들의 보안을 보장하고, 블록체인 시스템의 정상적인 동작을 유지하는 것을 알 수 있다.
도 5는 본 출원의 실시예에 따른 대표 노드를 선출하기 위한 장치의 개략적인 구조도이고, 이는 도 5에 도시된 바와 같이 제1 송신 모듈(501), 제2 송신 모듈(502), 수신 모듈(503) 및 전환 모듈(504)을 포함한다.
제1 송신 모듈(501)은 제2 송신 모듈(502)에 연결되고, 노드 디바이스가 후보 상태에 있는 경우, 노드 디바이스의 IP 주소 정보를 타겟 서버에 송신하도록 구성된다.
제2 송신 모듈(502)은 수신 모듈(503)에 연결되고, 현재 선출 프로세스에서 노드 디바이스가 대표 노드 디바이스로서 선출되는 경우, IP 주소 획득 요청을 타겟 서버에 송신하도록 구성되며, IP 주소 획득 요청은 노드 디바이스의 공개 키를 운반한다.
수신 모듈(503)은 전환 모듈(504)에 연결되고, 타겟 서버에 의해 반환된 IP 주소 목록을 수신하도록 구성되며, IP 주소 목록은 현재 선출 프로세스에서 선출된 대표 노드 디바이스들의 IP 주소 정보를 포함한다.
전환 모듈(504)은 노드 디바이스를 동작을 위한 대표 상태로 전환하도록 구성된다.
본 실시예에서 제공되는 장치는 블록체인 시스템 내의 대표 노드 디바이스를 위한 후보 노드 디바이스로서 고려될 수 있다. 노드 디바이스의 IP 주소는 타겟 서버에 미리 저장될 수 있다. 대표 노드 디바이스로서 선출되고 나면, 노드 디바이스는 IP 주소 획득 요청을 타겟 서버에 송신한 다음, 현재 선출 프로세스에서 선출된 대표 노드 디바이스들의 IP 주소 정보를 수신할 수 있다. 따라서, 새로 선출된 대표 노드 디바이스들은 현재 선출 프로세스에서 선출된 대표 노드 디바이스들의 IP 주소 정보를 획득할 수 있음이 보장되고, 그에 의해 새로 선출된 대표 노드 디바이스들은 새로 선출된 대표 노드 디바이스들의 IP 주소 정보를 알 수 있게 된다. 합의 동안, 블록체인 시스템 내의 대표 노드 디바이스들은 서로의 IP 주소들에 기초하여 서로 직접 통신할 수 있고, 그에 의해 대표 노드 디바이스들의 작업 효율을 향상시키고 블록체인 시스템의 작업 효율을 더 향상시킬 수 있다.
본 출원의 실시예는 대표 노드를 선출하기 위한 장치를 제공한다. 장치는 복제 모듈, 암호화 모듈, 브로드캐스트 모듈, 및 전환 모듈을 포함한다. 복제 모듈은 현재 선출 프로세스에서 노드 디바이스가 대표 노드 디바이스로서 선출되는 경우, 노드 디바이스의 IP 주소 정보를 미리 설정된 수량의 IP 주소 정보로 복제하도록 구성된다. 암호화 모듈은 현재 선출 프로세스에서 선출된 대표 노드 디바이스들의 공개 키들을 사용하여 미리 설정된 수량의 IP 주소 정보를 각각 암호화하여 미리 설정된 수량의 암호문을 획득하도록 구성된다. 브로드캐스트 모듈은 미리 설정된 수량의 암호문을 브로드캐스트하도록 구성된다. 전환 모듈은 미리 설정된 지속시간 후에, 노드 디바이스를 동작을 위한 대표 상태로 전환하도록 구성된다.
암호화 모듈은, 복제 모듈이 노드 디바이스의 IP 주소 정보를 미리 설정된 수량의 IP 주소 정보로 복제하기 전에, 노드 디바이스의 개인 키를 사용하여 노드 디바이스의 원본 IP 주소 정보를 암호화하여 노드 디바이스의 IP 주소 정보를 획득하도록 더 구성된다.
본 출원의 본 실시예에서 제공되는 대표 노드를 선출하기 위한 장치는 투표 모듈을 더 포함한다. 투표 모듈은 노드 디바이스가 현재 선출 프로세스에서 선출된 대표 노드 디바이스이기 전에, 블록체인 시스템 내의 적어도 하나의 노드 디바이스에 대해 투표를 하도록 구성되고, 투표는 블록체인 시스템 내의 대표 노드를 선출하기 위해 실시되는 투표이다.
본 출원의 본 실시예에서 제공되는 대표 노드를 선출하기 위한 장치는 결정 모듈을 더 포함한다. 결정 모듈은 블록체인 시스템 내의 적어도 하나의 노드 디바이스에 대해 투표가 취해진 후, 적어도 하나의 노드 디바이스에 대한 득표 수에 따라, 블록체인 시스템 내의 미리 설정된 수량의 대표 노드 디바이스를 결정하도록 구성된다.
본 출원의 임의적 실시예는 상술한 모든 임의적 기술 해법들의 임의의 조합을 사용하여 형성될 수 있으며, 세부사항은 여기서 설명하지 않는다.
상술한 실시예들에서 제공된 대표 노드 디바이스를 선출하기 위한 장치에 대해, 상술한 기능 모듈들의 분할은 단지 설명을 위한 예임에 유의해야 한다. 실제 응용에서, 상술한 기능들은 필요에 따라 상이한 모듈에 할당되고 상이한 모듈들에 의해 완료될 수 있고, 즉, 장치의 내부 구조는 위에서 설명된 기능들의 전부 또는 일부를 구현하기 위해 상이한 기능 모듈들로 분할된다. 추가로, 상술한 실시예들에서 제공된 대표 노드 디바이스를 선출하기 위한 방법은 방법 실시예들과 동일한 개념을 갖는다. 장치의 특정 구현 프로세스에 대해, 방법 실시예들이 참조될 수 있으며, 세부사항들은 여기서 다시 설명되지 않는다.
도 6은 본 출원의 실시예에 따른 컴퓨터 디바이스의 개략적인 구조도이다. 컴퓨터 디바이스는 서버(600)일 수 있다. 서버(600)는 상이한 구성 또는 성능으로 인해 크게 달라질 수 있고, 하나 이상의 중앙 처리 유닛(CPU) 또는 프로세서(601) 및 하나 이상의 메모리(602)를 포함할 수 있다. 메모리(602)는 상기 실시예들에서 제공된 방법을 구현하기 위해 프로세서(601)에 의해 로딩되고 실행되는 컴퓨터 판독가능한 명령어들을 저장한다. 확실히, 서버는 입력 및 출력을 위해 유선 또는 무선 네트워크 인터페이스, 키보드, 및 입력/출력(I/O) 인터페이스와 같은 컴포넌트들을 더 포함할 수 있다. 서버는 디바이스 기능을 구현하도록 구성된 다른 컴포넌트를 더 포함할 수 있으며, 이는 여기에 상세히 설명하지 않는다.
예시적인 실시예에서, 컴퓨터 저장 매체, 예를 들어 명령어들을 포함하는 메모리가 더 제공된다. 명령어들은 상기 실시예들에서 대표 노드 디바이스를 선출하기 위한 방법을 구현하기 위해 단말의 프로세서에 의해 실행될 수 있다. 예를 들어, 컴퓨터 저장 매체는 판독 전용 메모리(ROM), 랜덤 액세스 메모리(RAM), 컴팩트 디스크 ROM(CD-ROM), 자기 테이프, 플로피 디스크, 광학 데이터 저장 디바이스, 또는 그와 유사한 것일 수 있다.
본 기술분야의 통상의 기술자는 상기 실시예들의 단계들의 전부 또는 일부가 관련 하드웨어에 지시하는 프로그램에 의해 구현될 수 있음을 이해할 수 있다. 프로그램은 컴퓨터 저장 매체에 저장될 수 있다. 위에서 언급된 저장 매체는 ROM, 자기 디스크, 광 디스크 등일 수 있다.
상술한 설명은 단지 본 출원의 바람직한 실시예일 뿐이고, 본 출원을 제한하도록 의도되지 않는다. 본 출원의 사상 및 원리 내에서 이루어진 임의의 수정, 동등한 대체 또는 개선은 본 출원의 보호 범위에 속한다.

Claims (20)

  1. 타겟 서버에 의해 수행되는, 대표 노드 디바이스를 선출하기 위한 방법으로서,
    블록체인 시스템 내의 적어도 하나의 노드 디바이스의 인터넷 프로토콜(IP) 주소 정보를 수신하는 단계 - 상기 노드 디바이스는 제1 노드 디바이스를 포함하고, 상기 제1 노드 디바이스는 대표 노드 디바이스를 위한 후보인 노드 디바이스임 - ;
    상기 제1 노드 디바이스로부터 IP 주소 획득 요청을 수신하는 단계 - 상기 IP 주소 획득 요청은 대표 노드 디바이스의 IP 주소 정보를 요청하기 위해 사용됨 - ;
    상기 제1 노드 디바이스가 현재 선출 프로세스에서 선출된 대표 노드 디바이스인 경우, IP 주소 목록을 상기 제1 노드 디바이스에 송신하는 단계 - 상기 IP 주소 목록은 상기 현재 선출 프로세스에서 선출된 대표 노드 디바이스들의 IP 주소 정보를 포함함 - ; 및
    상기 제1 노드 디바이스가 상기 현재 선출 프로세스에서 선출된 대표 노드 디바이스가 아닌 경우, 상기 IP 주소 획득 요청을 무시하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 제1 노드 디바이스로부터 IP 주소 획득 요청을 수신 한 후 또는 수신하기 전에, 상기 방법은
    상기 현재 선출 프로세스가 종료된 경우, 질의 요청을 상기 블록체인 시스템에 송신하는 단계 - 상기 질의 요청은 상기 현재 선출 프로세스에서 선출된 대표 노드 디바이스들에 대해 질의하기 위해 사용됨 - ; 및
    상기 대표 노드 디바이스들의 공개 키들을 수신하는 단계
    를 더 포함하는, 방법.
  3. 제2항에 있어서,
    상기 대표 노드 디바이스들의 상기 공개 키들에 따라, 수신된 IP 주소 정보로부터 상기 대표 노드 디바이스들의 IP 주소 정보를 선택하고, 상기 대표 노드 디바이스들의 상기 IP 주소 정보에 기초하여 상기 IP 주소 목록을 생성하는 단계
    를 더 포함하는 방법.
  4. 블록체인 시스템 내의 임의의 노드 디바이스에 의해 수행되는 대표 노드 디바이스를 선출하기 위한 방법으로서,
    상기 노드 디바이스가 후보 상태에 있는 경우, 상기 노드 디바이스의 인터넷 프로토콜(IP) 주소 정보를 타겟 서버에 송신하는 단계;
    현재 선출 프로세스에서 상기 노드 디바이스가 대표 노드 디바이스로서 선출되는 경우, IP 주소 획득 요청을 상기 타겟 서버에 송신하는 단계 - 상기 IP 주소 획득 요청은 상기 노드 디바이스의 공개 키를 운반함 - ;
    상기 타겟 서버에 의해 반환되고, 상기 공개 키에 따라 수신된 IP 주소 정보로부터 선택된 IP 주소 목록을 수신하는 단계 - 상기 IP 주소 목록은 상기 현재 선출 프로세스에서 선출된 대표 노드 디바이스들의 IP 주소 정보를 포함함 - ; 및
    상기 노드 디바이스를 동작을 위한 대표 상태로 전환하는 단계
    를 포함하는 방법.
  5. 블록체인 시스템 내의 임의의 노드 디바이스에 의해 수행되는 대표 노드 디바이스를 선출하기 위한 방법으로서,
    현재 선출 프로세스에서 상기 노드 디바이스가 대표 노드 디바이스로서 선출되는 경우, 상기 노드 디바이스의 인터넷 프로토콜(IP) 주소 정보를 미리 설정된 수량의 IP 주소 정보로 복제하는 단계;
    상기 미리 설정된 수량의 IP 주소 정보를 상기 현재 선출 프로세스에서 선출된 대표 노드 디바이스들의 공개 키들을 사용하여 각각 암호화하여 미리 설정된 수량의 암호문을 획득하는 단계;
    상기 미리 설정된 수량의 암호문을 브로드캐스트하는 단계; 및
    미리 설정된 지속시간 후에, 상기 노드 디바이스를 동작을 위한 대표 상태로 전환하는 단계
    를 포함하는 방법.
  6. 제5항에 있어서, 상기 노드 디바이스의 IP 주소 정보를 미리 설정된 수량의 IP 주소 정보로 복제하기 전에, 상기 방법은
    상기 노드 디바이스의 개인 키를 사용하여 상기 노드 디바이스의 원본 IP 주소 정보를 암호화하여 상기 노드 디바이스의 상기 IP 주소 정보를 획득하는 단계
    를 더 포함하는 방법.
  7. 제5항에 있어서, 상기 제1 노드 디바이스가 현재 선출 프로세스에서 선출된 대표 노드 디바이스인 경우, IP 주소 목록을 상기 제1 노드 디바이스에 송신하기 전에 - 상기 IP 주소 목록은 상기 현재 선출 프로세스에서 선출된 대표 노드 디바이스들의 IP 주소 정보를 포함함 - , 상기 방법은:
    블록체인 시스템 내의 적어도 하나의 노드 디바이스에 대해 투표를 하는 단계 - 상기 투표는 상기 블록체인 시스템 내의 대표 노드를 선출하기 위해 실시되는 투표임 - ; 및
    상기 투표에 의해 결정된 상기 적어도 하나의 노드 디바이스에 대한 득표 수에 따라, 상기 블록체인 시스템 내의 미리 설정된 수량의 대표 노드 디바이스를 결정하는 단계
    를 더 포함하는 방법.
  8. 대표 노드 디바이스를 선출하기 위한 장치로서,
    블록체인 시스템 내의 적어도 하나의 노드 디바이스의 인터넷 프로토콜(IP) 주소 정보를 수신하도록 구성되는 제1 수신 모듈 - 상기 노드 디바이스는 제1 노드 디바이스를 포함하고, 상기 제1 노드 디바이스는 대표 노드 디바이스를 위한 후보인 노드 디바이스임 - ;
    상기 제1 노드 디바이스로부터 IP 주소 획득 요청을 수신하도록 구성되는 제2 수신 모듈 - 상기 IP 주소 획득 요청은 대표 노드 디바이스의 IP 주소 정보를 요청하기 위해 사용됨 - ; 및
    상기 제1 노드 디바이스가 현재 선출 프로세스에서 선출된 대표 노드 디바이스인 경우, IP 주소 목록을 상기 제1 노드 디바이스에 송신하고 - 상기 IP 주소 목록은 상기 현재 선출 프로세스에서 선출된 대표 노드 디바이스들의 IP 주소 정보를 포함함 - , 상기 제1 노드 디바이스가 상기 현재 선출 프로세스에서 선출된 대표 노드 디바이스가 아닌 경우, 상기 IP 주소 획득 요청을 무시하도록 구성되는 송신 모듈
    을 포함하는 장치.
  9. 제8항에 있어서,
    상기 현재 선출 프로세스가 종료된 경우, 질의 요청을 상기 블록체인 시스템에 송신하도록 구성되는 질의 모듈 - 상기 질의 요청은 상기 현재 선출 프로세스에서 선출된 대표 노드 디바이스들에 대해 질의하기 위해 사용됨 - ; 및
    상기 대표 노드 디바이스들의 공개 키들을 수신하도록 구성되는 제3 수신 모듈
    을 더 포함하는 장치.
  10. 제9항에 있어서,
    상기 대표 노드 디바이스들의 상기 공개 키들에 따라, 수신된 IP 주소 정보로부터 상기 대표 노드 디바이스들의 IP 주소 정보를 선택하고, 상기 대표 노드 디바이스들의 상기 IP 주소 정보에 기초하여 상기 IP 주소 목록을 생성하도록 구성되는 생성 모듈
    을 더 포함하는 장치.
  11. 대표 노드 디바이스를 선출하기 위한 장치로서,
    노드 디바이스가 후보 상태에 있는 경우, 상기 노드 디바이스의 인터넷 프로토콜(IP) 주소 정보를 타겟 서버에 송신하도록 구성되는 제1 송신 모듈;
    현재 선출 프로세스에서 상기 노드 디바이스가 대표 노드 디바이스로서 선출되는 경우, IP 주소 획득 요청을 상기 타겟 서버에 송신하도록 구성되는 제2 송신 모듈 - 상기 IP 주소 획득 요청은 상기 노드 디바이스의 공개 키를 운반함 - ;
    상기 타겟 서버에 의해 반환되고, 상기 공개 키에 따라 수신된 IP 주소 정보로부터 선택된 IP 주소 목록을 수신하도록 구성되는 수신 모듈 - 상기 IP 주소 목록은 상기 현재 선출 프로세스에서 선출된 대표 노드 디바이스들의 IP 주소 정보를 포함함 - ; 및
    상기 노드 디바이스를 동작을 위한 대표 상태로 전환하도록 구성되는 전환 모듈
    을 포함하는 장치.
  12. 대표 노드 디바이스를 선출하기 위한 장치로서,
    현재 선출 프로세스에서 노드 디바이스가 대표 노드 디바이스로서 선출되는 경우, 상기 노드 디바이스의 인터넷 프로토콜(IP) 주소 정보를 미리 설정된 수량의 IP 주소 정보로 복제하도록 구성되는 복제 모듈;
    상기 미리 설정된 수량의 IP 주소 정보를 상기 현재 선출 프로세스에서 선출된 대표 노드 디바이스들의 공개 키들을 사용하여 각각 암호화하여 미리 설정된 수량의 암호문을 획득하도록 구성되는 암호화 모듈;
    상기 미리 설정된 수량의 암호문을 브로드캐스트하도록 구성되는 브로드캐스트 모듈; 및
    미리 설정된 지속시간 후에, 상기 노드 디바이스를 동작을 위한 대표 상태로 전환하도록 구성되는 전환 모듈
    을 포함하는 장치.
  13. 제12항에 있어서, 상기 암호화 모듈은 상기 노드 디바이스의 개인 키를 사용하여 상기 노드 디바이스의 원본 IP 주소 정보를 암호화하여 상기 노드 디바이스의 상기 IP 주소 정보를 획득하도록 더 구성되는, 장치.
  14. 제12항에 있어서,
    블록체인 시스템 내의 적어도 하나의 노드 디바이스에 대해 투표를 하도록 구성되는 투표 모듈 - 상기 투표는 상기 블록체인 시스템 내의 대표 노드를 선출하기 위해 실시되는 투표임 - ; 및
    상기 투표에 의해 결정된 상기 적어도 하나의 노드 디바이스에 대한 득표 수에 따라, 상기 블록체인 시스템 내의 미리 설정된 수량의 대표 노드 디바이스를 결정하도록 구성되는 결정 모듈
    을 더 포함하는 장치.
  15. 컴퓨터 디바이스로서,
    프로세서 및 메모리를 포함하고, 상기 메모리는 컴퓨터 판독가능한 명령어를 저장하고, 상기 컴퓨터 판독가능한 명령어는 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금 제1항 내지 제3항 중 어느 한 항에 따른 방법의 단계들을 수행하게 하는, 컴퓨터 디바이스.
  16. 컴퓨터 디바이스로서,
    프로세서 및 메모리를 포함하고, 상기 메모리는 컴퓨터 판독가능한 명령어를 저장하고, 상기 컴퓨터 판독가능한 명령어는 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금 제4항에 따른 방법의 단계들을 수행하게 하는, 컴퓨터 디바이스.
  17. 컴퓨터 디바이스로서,
    프로세서 및 메모리를 포함하고, 상기 메모리는 컴퓨터 판독가능한 명령어를 저장하고, 상기 컴퓨터 판독가능한 명령어는 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금 제5항 내지 제7항 중 어느 한 항에 따른 방법의 단계들을 수행하게 하는, 컴퓨터 디바이스.
  18. 컴퓨터 판독가능한 명령어를 저장하는 비휘발성 컴퓨터 판독가능한 저장 매체로서,
    상기 컴퓨터 판독가능한 명령어는 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금 제1항 내지 제3항 중 어느 한 항에 따른 방법의 단계들을 수행하게 하는, 비휘발성 컴퓨터 판독가능한 저장 매체.
  19. 컴퓨터 판독가능한 명령어를 저장하는 비휘발성 컴퓨터 판독가능한 저장 매체로서,
    상기 컴퓨터 판독가능한 명령어는 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금 제4항에 따른 방법의 단계들을 수행하게 하는, 비휘발성 컴퓨터 판독가능한 저장 매체.
  20. 컴퓨터 판독가능한 명령어를 저장하는 비휘발성 컴퓨터 판독가능한 저장 매체로서,
    상기 컴퓨터 판독가능한 명령어는 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금 제5항 내지 제7항 중 어느 한 항에 따른 방법의 단계들을 수행하게 하는, 비휘발성 컴퓨터 판독가능한 저장 매체.
KR1020207033830A 2018-09-07 2019-09-02 대표 노드 디바이스를 선출하기 위한 방법 및 장치, 및 컴퓨터 디바이스 및 저장 매체 KR102339194B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201811046269.8 2018-09-07
CN201811046269.8A CN109167660B (zh) 2018-09-07 2018-09-07 选举代表节点设备方法、装置、计算机设备及存储介质
PCT/CN2019/104057 WO2020048427A1 (zh) 2018-09-07 2019-09-02 选举代表节点设备方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
KR20210005678A true KR20210005678A (ko) 2021-01-14
KR102339194B1 KR102339194B1 (ko) 2021-12-14

Family

ID=64894384

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207033830A KR102339194B1 (ko) 2018-09-07 2019-09-02 대표 노드 디바이스를 선출하기 위한 방법 및 장치, 및 컴퓨터 디바이스 및 저장 매체

Country Status (6)

Country Link
US (1) US20210021412A1 (ko)
JP (1) JP7112518B2 (ko)
KR (1) KR102339194B1 (ko)
CN (1) CN109167660B (ko)
SG (1) SG11202010954TA (ko)
WO (1) WO2020048427A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109167660B (zh) * 2018-09-07 2021-05-14 腾讯科技(深圳)有限公司 选举代表节点设备方法、装置、计算机设备及存储介质
KR102373593B1 (ko) * 2019-07-19 2022-03-14 (주)유미테크 블록체인기반 신뢰네트워크 노드 관리방법
CN112243047B (zh) * 2019-07-19 2022-04-01 傲为有限公司 基于公链的区块链网络寻址方法
CN111131184B (zh) * 2019-12-06 2022-07-29 长沙理工大学 一种区块链共识机制的自主调节方法
CN113472561A (zh) * 2020-03-31 2021-10-01 华为技术有限公司 一种区块链数据处理方法及其设备
CN113596174B (zh) * 2021-08-06 2022-02-18 环球数科集团有限公司 一种区块链节点部署与选举的装置
CN115002143B (zh) * 2022-08-01 2023-01-20 北京奥星贝斯科技有限公司 一种节点选举的方法、装置、存储介质及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106878071A (zh) * 2017-01-25 2017-06-20 上海钜真金融信息服务有限公司 一种基于Raft算法的区块链共识机制
CN107070874A (zh) * 2017-01-23 2017-08-18 济南浪潮高新科技投资发展有限公司 广播通信的系统、加密方法及装置、解密方法及装置
CN108156203A (zh) * 2016-12-06 2018-06-12 杭州海康威视数字技术股份有限公司 一种存储系统及存储节点管理方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100555730B1 (ko) * 2003-11-04 2006-03-03 삼성전자주식회사 애드혹 네트워크의 리더 선출방법
US8582777B2 (en) * 2006-05-03 2013-11-12 Samsung Electronics Co., Ltd. Method and system for lightweight key distribution in a wireless network
JP5092803B2 (ja) 2008-03-04 2012-12-05 凸版印刷株式会社 プリンタ監視システムおよびプリンタ監視方法
US9875510B1 (en) * 2015-02-03 2018-01-23 Lance Kasper Consensus system for tracking peer-to-peer digital records
US10679152B2 (en) * 2016-12-06 2020-06-09 Mastercard International Incorporated Method and system for travel itinerary bidding via blockchain
US10686590B2 (en) * 2016-12-23 2020-06-16 Joseph Santilli Methods and systems for crowdsourcing an outcome to an issue
US9992022B1 (en) * 2017-02-06 2018-06-05 Northern Trust Corporation Systems and methods for digital identity management and permission controls within distributed network nodes
US10826681B1 (en) * 2017-03-24 2020-11-03 Open Invention Network Llc Blockchain node initialization
US10742393B2 (en) * 2017-04-25 2020-08-11 Microsoft Technology Licensing, Llc Confidentiality in a consortium blockchain network
US11030331B2 (en) * 2017-06-01 2021-06-08 Schvey, Inc. Distributed privately subspaced blockchain data structures with secure access restriction management
CN107395403B (zh) * 2017-07-07 2020-01-14 北京区块链云科技有限公司 一种适用于大规模电子商务的基于信用的区块链共识方法
CN107423124A (zh) * 2017-07-27 2017-12-01 中链科技有限公司 一种用于对交易数据进行并行处理的方法
US11251975B1 (en) * 2017-09-27 2022-02-15 Seagate Technology Llc Block chain based trusted security infrastructure
US11310234B2 (en) * 2017-11-16 2022-04-19 International Business Machines Corporation Securing permissioned blockchain network from pseudospoofing network attacks
CN108182635A (zh) * 2017-12-18 2018-06-19 深圳前海微众银行股份有限公司 区块链共识方法、系统和计算机可读存储介质
CN108305056B (zh) * 2018-03-27 2023-11-10 北京蓝亚盒子科技有限公司 基于区块链的数据处理方法、装置及区块链节点网络
CN108847925B (zh) * 2018-06-20 2020-09-15 深圳大学 一种基于树状结构的分片区块链生成方法
WO2020000011A1 (en) * 2018-06-25 2020-01-02 Commonwealth Scientific And Industrial Research Organisation Blockchain system and method
US11194680B2 (en) * 2018-07-20 2021-12-07 Nutanix, Inc. Two node clusters recovery on a failure
US10848375B2 (en) * 2018-08-13 2020-11-24 At&T Intellectual Property I, L.P. Network-assisted raft consensus protocol
CN109167660B (zh) * 2018-09-07 2021-05-14 腾讯科技(深圳)有限公司 选举代表节点设备方法、装置、计算机设备及存储介质
CN109615515B (zh) * 2018-12-05 2021-08-24 腾讯科技(深圳)有限公司 债权凭证转移方法、装置、电子设备及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108156203A (zh) * 2016-12-06 2018-06-12 杭州海康威视数字技术股份有限公司 一种存储系统及存储节点管理方法
CN107070874A (zh) * 2017-01-23 2017-08-18 济南浪潮高新科技投资发展有限公司 广播通信的系统、加密方法及装置、解密方法及装置
CN106878071A (zh) * 2017-01-25 2017-06-20 上海钜真金融信息服务有限公司 一种基于Raft算法的区块链共识机制

Also Published As

Publication number Publication date
SG11202010954TA (en) 2020-12-30
US20210021412A1 (en) 2021-01-21
JP7112518B2 (ja) 2022-08-03
CN109167660B (zh) 2021-05-14
CN109167660A (zh) 2019-01-08
JP2021526676A (ja) 2021-10-07
WO2020048427A1 (zh) 2020-03-12
KR102339194B1 (ko) 2021-12-14

Similar Documents

Publication Publication Date Title
KR102339194B1 (ko) 대표 노드 디바이스를 선출하기 위한 방법 및 장치, 및 컴퓨터 디바이스 및 저장 매체
US11431484B2 (en) Blockchain transaction privacy enhancement through broadcast encryption
JP6547079B1 (ja) 登録・認可方法、装置及びシステム
CN109496414B (zh) 识别数据将被复制到的网络节点
CN101322349B (zh) 用于替换加密密钥的认证与分割系统和方法
US20230316273A1 (en) Data processing method and apparatus, computer device, and storage medium
JP6326173B1 (ja) データ送受信システム及びデータ送受信方法
CN102546176A (zh) 在多主体环境中支持dns安全
CN113922971B (zh) 跨链交互方法及装置
US11588631B2 (en) Systems and methods for blockchain-based automatic key generation
CN110096894A (zh) 一种基于区块链的数据匿名共享系统及方法
CN111953490A (zh) 基于区块链技术的数字签名方法及系统
CN115499249B (zh) 一种基于区块链分布式加密的文件存储方法及系统
CN114679274A (zh) 跨子网交互的权限控制方法及装置、电子设备、存储介质
US11252138B2 (en) Redundant device locking key management system
JP3215882U (ja) クラウドストレージベースのファイルアクセス制御システム
CN113824713B (zh) 一种密钥生成方法、系统及存储介质
Tabassum et al. Securely Transfer Information with RSA and Digital Signature by using the concept of Fog Computing and Blockchain
Marandi et al. Network coding-based data storage and retrieval for kademlia
Zouridaki et al. Distributed CA-based PKI for mobile ad hoc networks using elliptic curve cryptography
Koç et al. PACISSO: P2P access control incorporating scalability and self-organization for storage systems
CN113824555B (zh) 一种密钥处理方法及装置
Kharjana et al. Blockchain-based key management system in named data networking: A survey
CN116561820B (zh) 可信数据处理方法及相关装置
US20230199066A1 (en) Distributed network nodes defining a database access gateway

Legal Events

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