KR20200103775A - 시스템 아키텍처 및 시스템 아키텍처에서 데이터를 처리하는 방법 - Google Patents

시스템 아키텍처 및 시스템 아키텍처에서 데이터를 처리하는 방법 Download PDF

Info

Publication number
KR20200103775A
KR20200103775A KR1020207021683A KR20207021683A KR20200103775A KR 20200103775 A KR20200103775 A KR 20200103775A KR 1020207021683 A KR1020207021683 A KR 1020207021683A KR 20207021683 A KR20207021683 A KR 20207021683A KR 20200103775 A KR20200103775 A KR 20200103775A
Authority
KR
South Korea
Prior art keywords
protocol
group
verification
message
block
Prior art date
Application number
KR1020207021683A
Other languages
English (en)
Other versions
KR102601973B1 (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 KR20200103775A publication Critical patent/KR20200103775A/ko
Application granted granted Critical
Publication of KR102601973B1 publication Critical patent/KR102601973B1/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/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/085Secret sharing or secret splitting, e.g. threshold schemes
    • 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • 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
    • 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
    • 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
    • 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/3247Cryptographic 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 involving digital signatures
    • H04L9/3255Cryptographic 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 involving digital signatures using group based signatures, e.g. ring or threshold signatures
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

비일시적인 컴퓨터 판독 가능 매체 상에 인코딩된 소프트웨어 아키텍처로서, 소프트웨어 아키텍처는 생성 프로토콜(creation protocol)을 포함하고, 생성 프로토콜은 복수의 거래(dealing) 메시지를 생성하도록 구성된다. 소프트웨어 아키텍처는 부가적으로 판독 프로토콜(reading protocol)을 포함하고, 판독 프로토콜은 선택된 그룹의 수신기 노드에 대한 거래 메시지를 판독하도록 구성되며, 수신기 노드는 상응하는 거래 메시지에 정보가 포함된 딜러 노드와 상이하다. 또한, 소프트웨어 아키텍처는 검증 프로토콜(verification protocol)을 포함하고, 검증 프로토콜은 상응하는 거래 메시지의 진실성(veracity)을 검증하도록 구성되며, 검증 프로토콜은 수신기 노드에 의해 실행되도록 구성된다. 또한, 소프트웨어 아키텍처는 불평 프로토콜(complaint protocol)을 포함하고, 불평 프로토콜은 불평 메시지를 생성하도록 구성되며, 불평 메시지는 수신기 노드에 의해 서명된다.

Description

시스템 아키텍처 및 시스템 아키텍처에서 데이터를 처리하는 방법
[관련 출원에 대한 상호 참조]
본 미국 특허 출원은, 이로써 그 내용이 전부 본 개시물에 참조로 포함되는, 2018년 1월 26일자로 출원된 미국 가특허 출원 제62/622,169호와 관련되며 그 우선권의 이익을 주장한다.
이 단락은 본 개시물의 더 양호한 이해를 용이하게 하는 것을 도울 수 있는 양태를 소개한다. 따라서, 이 진술은 이러한 관점에서 읽혀져야 하며 종래 기술이든 아니든 간에 그에 대한 인정으로서 이해되지 않아야 한다.
특히, 블록체인 동작에 대한 종래의 시스템 아키텍처는 계산 및 동작 속도, 아키텍처 보안, 참여 확장성, 및 그 밖의 많은 것들과 관련된 문제가 있다. 본 개시물의 다양한 실시형태들은 이러한 문제를 다룬다.
본원의 일 양태는 비일시적인 컴퓨터 판독 가능 매체 상에 인코딩된 소프트웨어 아키텍처에 관한 것으로, 소프트웨어 아키텍처는 생성 프로토콜(creation protocol)을 포함하고, 생성 프로토콜은 복수의 거래(dealing) 메시지를 생성하도록 구성된다. 소프트웨어 아키텍처는 부가적으로 판독 프로토콜(reading protocol)을 포함하고, 판독 프로토콜은 선택된 그룹의 수신기 노드에 대한 거래 메시지를 판독하도록 구성되며, 수신기 노드는 상응하는 거래 메시지에 정보가 포함된 딜러 노드와 상이하다. 또한, 소프트웨어 아키텍처는 검증 프로토콜(verification protocol)을 포함하고, 검증 프로토콜은 상응하는 거래 메시지의 진실성(veracity)을 검증하도록 구성되며, 검증 프로토콜은 수신기 노드에 의해 실행되도록 구성된다. 또한, 소프트웨어 아키텍처는 불평 프로토콜(complaint protocol)을 포함하고, 불평 프로토콜은 불평 메시지를 생성하도록 구성되며, 불평 메시지는 수신기 노드에 의해 서명된다.
본원의 다른 양태는 비일시적인 컴퓨터 판독 가능 매체 상에 인코딩된 소프트웨어 아키텍처에 관한 것으로, 소프트웨어 아키텍처는 생성 프로토콜을 포함하고, 생성 프로토콜은 복수의 거래 메시지를 생성하도록 구성되며, 복수의 거래 메시지 각각은 복수의 그룹 중 선택된 그룹에서의 각각의 딜러 노드로부터의 정보를 포함한다. 부가적으로, 소프트웨어 아키텍처는 제5 프로토콜(fifth protocol)을 포함하고, 제5 프로토콜은 복수의 블록을 네트워크에 브로드캐스팅하도록 구성되며, 복수의 블록 각각은 복수의 거래 메시지 중 하나의 거래 메시지를 포함한다. 또한, 소프트웨어 아키텍처는 판독 프로토콜을 포함하고, 판독 프로토콜은 선택된 그룹의 수신기 노드에 대한 거래 메시지를 판독하도록 구성되며, 수신기 노드는 상응하는 거래 메시지에 정보가 포함된 딜러 노드와 상이하다. 또한, 소프트웨어 아키텍처는 검증 프로토콜을 포함하고, 검증 프로토콜은 상응하는 거래 메시지의 진실성을 검증하도록 구성되며, 검증 프로토콜은 수신기 노드에 의해 실행되도록 구성된다. 또한, 소프트웨어 아키텍처는 불평 프로토콜을 포함하고, 불평 프로토콜은 불평 메시지를 생성하도록 구성되며, 불평 메시지는 수신기 노드에 의해 서명되고, 불평 프로토콜은 수신기 노드에 의해 실행되도록 구성된다. 소프트웨어 아키텍처는 정당화 프로토콜(justification protocol)을 포함하고, 정당화 프로토콜은 정당화 메시지를 생성하도록 구성되며, 정당화 메시지는 불평 메시지에 대한 정당화를 포함하고, 딜러 노드는 정당화 프로토콜을 실행하여 정당화 메시지를 생성하도록 구성된다. 소프트웨어 아키텍처는 등록 프로토콜(registration protocol)을 더 포함하고, 등록 프로토콜은 선택된 그룹의 복수의 거래 메시지를 결합하도록 구성되며, 등록 프로토콜은 각각의 수신기 노드에 의해 실행된다.
본원의 또 다른 양태는 비일시적인 컴퓨터 판독 가능 매체 상에 인코딩된 소프트웨어 아키텍처에 관한 것으로, 소프트웨어 아키텍처는 제1 프로토콜(first protocol)을 포함하고, 제1 프로토콜은 복수의 그룹을 형성하도록 구성되며, 복수의 그룹 각각은 네트워크로부터 무작위로 선택된 노드들의 세트를 포함한다. 소프트웨어 아키텍처는 또한 생성 프로토콜을 포함하고, 생성 프로토콜은 복수의 거래 메시지를 생성하도록 구성되며, 복수의 거래 메시지 각각은 복수의 그룹 중 선택된 그룹에서의 각각의 딜러 노드로부터의 정보를 포함한다. 부가적으로, 소프트웨어 아키텍처는 제5 프로토콜을 포함하고, 제5 프로토콜은 복수의 블록을 네트워크에 브로드캐스팅하도록 구성되며, 복수의 블록 각각은 복수의 거래 메시지 중 하나의 거래 메시지를 포함한다. 또한, 소프트웨어 아키텍처는 판독 프로토콜을 포함하고, 판독 프로토콜은 선택된 그룹의 수신기 노드에 대한 거래 메시지를 판독하도록 구성되며, 수신기 노드는 상응하는 거래 메시지에 정보가 포함된 딜러 노드와 상이하다. 또한, 소프트웨어 아키텍처는 검증 프로토콜을 포함하고, 검증 프로토콜은 상응하는 거래 메시지의 진실성을 검증하도록 구성되며, 검증 프로토콜은 수신기 노드에 의해 실행되도록 구성된다. 또한, 소프트웨어 아키텍처는 불평 프로토콜을 포함하고, 불평 프로토콜은 불평 메시지를 생성하도록 구성되며, 불평 메시지는 수신기 노드에 의해 서명되고, 불평 프로토콜은 수신기 노드에 의해 실행되도록 구성된다. 소프트웨어 아키텍처는 정당화 프로토콜을 포함하고, 정당화 프로토콜은 정당화 메시지를 생성하도록 구성되며, 정당화 메시지는 불평 메시지에 대한 정당화를 포함하고, 딜러 노드는 정당화 프로토콜을 실행하여 정당화 메시지를 생성하도록 구성된다. 소프트웨어 아키텍처는 등록 프로토콜을 더 포함하고, 등록 프로토콜은 복수의 정당한 공개 키의 확인을 결합하도록 구성되며, 복수의 정당한 공개 키 각각은 각각의 거래 메시지에 대응하고, 검증 프로토콜은 복수의 정당한 공개 키 각각의 진실성을 인정한다.
하나 이상의 실시형태는, 명세서 전반에서 동일한 참조 번호로 지정된 요소들이 유사한 요소들을 나타내는 첨부 도면의 도면들에서, 제한이 아닌 예로서 예시된다. 산업계의 표준 관행에 따라, 다양한 특징들이 실척으로 도시되지 않을 수 있으며 예시의 목적으로만 사용된다는 점을 강조한다. 실제로, 도면에서의 다양한 특징들의 치수는 설명의 명확화를 위해 임의로 증가 또는 감소될 수 있다.
도 1은 하나 이상의 실시형태들에 따른 임계치 중계 체인(threshold relay chain)의 시스템 아키텍처를 예시한다.
도 1a는 블록체인을 통한 분산 키 생성(distributed key generation) 절차(100a)를 실행하기 위한 시스템 아키텍처를 예시한다.
도 1b는 하나 이상의 실시형태들에 따른 분산 키 생성 절차에 대한 시스템 아키텍처에서 데이터를 처리하는 방법(100b)을 예시하는 흐름도이다.
도 2는 하나 이상의 실시형태들에 따른 블록체인을 동작시키도록 구성된 임계치 중계 체인의 복수의 프로토콜의 시스템 아키텍처를 예시한다.
도 3은 하나 이상의 실시형태들에 따른 복수의 블록 중 하나의 블록을 유효성 검증(validate) 및 타임스탬핑(timestamp)하도록 구성된 임계치 중계 체인의 복수의 프로토콜의 시스템 아키텍처를 예시한다.
도 4는 하나 이상의 실시형태들에 따른 계통적인 무작위성(systematic randomness)-기반의 블록 유효성 검증을 유지하도록 구성된 임계치 중계 체인의 복수의 프로토콜의 시스템 아키텍처를 예시한다.
도 5는 하나 이상의 실시형태들에 따른 임계치 중계 체인의 순위화(ranking) 시스템의 시스템 아키텍처를 예시한다.
도 6은 하나 이상의 실시형태들에 따른 시스템 아키텍처에서 데이터를 처리하는 방법을 예시하는 흐름도이다.
도 7은 하나 이상의 실시형태들에 따른 임계치 중계 체인의 시스템 아키텍처를 예시한다.
도 8은 하나 이상의 실시형태들에 따른 블록체인을 동작시키도록 구성된 임계치 중계 체인의 복수의 프로토콜의 시스템 아키텍처를 예시한다.
도 9는 하나 이상의 실시형태들에 따른 복수의 블록 중 하나의 블록을 유효성 검증 및 타임스탬핑하도록 구성된 임계치 중계 체인의 복수의 프로토콜의 시스템 아키텍처를 예시한다.
도 10은 하나 이상의 실시형태들에 따른 계통적인 무작위성-기반의 블록 유효성 검증을 유지하도록 구성된 임계치 중계 체인의 복수의 프로토콜의 시스템 아키텍처를 예시한다.
도 11은 하나 이상의 실시형태들에 따른 임계치 중계 체인의 순위화 시스템의 시스템 아키텍처를 예시한다.
도 12는 하나 이상의 실시형태들에 따른 시스템 아키텍처에서 데이터를 처리하는 방법을 예시하는 흐름도이다.
도 13은 하나 이상의 실시형태들에 따른 임계치 중계 체인의 시스템 아키텍처를 예시한다.
도 14는 하나 이상의 실시형태들에 따른 임계치 중계 체인의 시스템 아키텍처를 예시한다.
도 15는 블록체인에서 노드를 동작시키기 위한 컴퓨팅 또는 프로세싱 노드의 일 실시예를 예시한다.
하기의 개시 내용은 본원의 여러 특징들을 구현하기 위한 많은 상이한 실시형태들 또는 실시예들을 제공한다. 본 개시물을 간략화하기 위해 컴포넌트들 및 배치구조들의 구체적인 실시예들이 후술된다. 이들은 실시예이며 제한하려는 것이 아니다. 예시적인 실시형태들의 구성 및 사용에 대해서는 아래에서 더 상세하게 설명한다. 그러나, 본 개시물은 광범위한 특정 맥락들에서 구체화될 수 있는 많은 적용 가능한 개념을 제공한다는 점을 이해해야 한다. 적어도 일부 실시형태들에 있어서, 본 명세서에서 상세히 설명되는 하나 이상의 실시형태(들) 및/또는 그 변형들은 본 명세서에서의 하나 이상의 실시형태(들) 및/또는 그 변형들과 결합될 수 있다.
본 개시물의 다양한 실시형태들은 개방 또는 허가된 임의의 참여 모델에 배치될 수 있는 안전하며 성능 기준에 맞는 컨센서스(consensus) 메커니즘을 사용하는 시스템 아키텍처와 관련된다. 다양한 실시형태들에 따르면, 시스템 아키텍처는 시간에 따른 출력 스트림을 생성하는 검증 가능한 랜덤 함수로서 작용하는 탈-중앙집중형(decentralized) 무작위성 비콘을 포함한다. 임계치 서명 스킴을 포함하는 탈-중앙집중형 무작위성 비콘을 사용하면, 블록 메이커(block maker; 블록 제작자) 선택에 있어서 편차가 낮아져서, 결국 블록 생성에 관한 한 계산 속도가 증가된다. 부가적으로, 탈-중앙집중형 무작위성 비콘은 예측 불가능하고, 멈출 수 없으며, 검증 가능한 랜덤 시퀀스를 생성하도록 구성되고, 그에 따라 연관된 시스템의 보안의 증가와 함께 고결함이 보존된다.
임계치 중계 메커니즘과 함께 탈-중앙집중형 무작위성 비콘을 사용하면, 결국 아키텍처가 참여자를 매우 많은 수로 확장시킬 수 있게 되어, 아키텍처의 능력이 강화된다. 아키텍처의 다양한 실시형태들은 랜덤 비콘 출력 당 단일의 비-상호적 메시징만을 필요로 하기 때문에, 이러한 아키텍처의 계산 속도는 아무런 방해를 받지 않고 유지된다. 또한, 임계치 중계 메커니즘은, 하나 이상의 실시형태들에 따라, 등록된 블록 메이커들 중에서만 선택한다. 이러한 생태계는, 부정행위를 하는 블록 메이커들이 자신의 지명권을 잃게 될 수 있을 뿐만 아니라, 자격을 상실하고 지명권과 연관된 금전적 가치도 잃게 될 수 있기 때문에, 이러한 부정행위를 하는 블록 메이커들에게 무한한 페널티를 부여한다. 이는 부정행위자를 단념하게 할 뿐만 아니라, 연관된 시스템의 보안을 더욱 증가시키게 된다.
부가적으로, 생태계의 아키텍처 보안을 더욱 증가시키기 위해, 본 개시물의 다양한 실시형태들은 정직한 노드들만이 이러한 생태계에 참여하는 것을 확인하기 위해 분산 키 생성 절차 프로토콜(후술됨)을 실행하기 위한 시스템 아키텍처에 관한 것이다. 다양한 실시형태들에 있어서, 분산 키 생성 절차 프로토콜은 딜러 노드 세트와 수신기 노드 세트 사이의 전략적 거래 메시지에 기초하여 동작한다. 딜러 노드는 거래 메시지를 적어도 하나의 수신기에 송신한다. 거래 메시지는 딜러 노드로부터의 암호화된 키 공유(key share)를 포함한다. 딜러 노드는, 모든 수신기 노드가 별도의 암호화된 키를 수신하도록, 각각의 수신기 노드에 대하여 별도의 암호화된 키 공유를 생성한다. 이로 인해, 모든 수신기 노드가 딜러 노드로부터 수신한 암호화된 키 공유를 딜러 노드의 검증 벡터에 대하여 개별적으로 검증할 수 있게 된다. 수신기 노드가 검증할 수 없을 경우, 딜러 노드로부터의 복호된 키 공유가 네트워크에 브로드캐스팅되는 것을 보장하기 위해 다양한 프로토콜이 마련된다. 키 공유가 검증 벡터에 대하여 검증된 딜러 노드들만이 정직한 노드로 간주되고, 그에 따라 상기와 같은 생태계에 참여할 수 있게 된다. 상기 절차는 암호화된 키 공유를 검증 벡터에 대하여 개별적으로 검증함으로써 딜러 노드의 커미트먼트(commitment)를 점검하는 것을 돕고, 그에 따라 정직한 (딜러) 노드만이 상기와 같은 생태계에 참여한다는 것이 확인된다. 본원의 다양한 실시형태들은 전술한 내용을 달성하는 것과 관련되며, 그에 따라 네트워크의 보안이 유지되는 것을 보장한다.
다양한 실시형태들에 있어서, 임계치 중계 메커니즘은 또한, 종래의 방법론과 비교하여 보이지 않는 적대적인 분기(fork)의 가중치에 대하여 더 엄격한 경계치/추정치를 제공하는 순위화 메커니즘을 적합하게 하고, 그에 따라 다수의 분기들과의 거래시에 더 빠르고 정확한 체인 선택이 유발된다. 부가적으로, 임계치 중계 메커니즘은 새로운 블록들에 대한 거의 즉각적인 최종결과를 초래하는 공증을 통해 블록들의 최종결과를 제공한다.
도 1은 하나 이상의 실시형태들에 따른 임계치 중계 체인(100)의 시스템 아키텍처를 예시한다. 임계치 중계 체인(100)은 범용 네트워크(105)와 통신하도록 구성된다. 범용 네트워크(105)는 다수의 노드(110)를 포함하고, 다수의 노드(110)의 각각의 노드는 통신 채널을 통해 서로 상호작용하도록 구성된다. 통신 채널은 피어-투-피어 네트워크, 브로드캐스트 네트워크, 또는 가십(gossip) 네트워크 중 적어도 하나를 포함한다. 네트워크(115)는 2개 이상의 노드(110)를 포함한다. 제6 프로토콜(165)은 범용 네트워크(105)로부터 복수의 노드(1701)를 지명하도록 구성된다. 제1 프로토콜(120)은 복수의 그룹(125)을 형성하도록 구성되고, 복수의 그룹(125)의 각각의 그룹(125; G1, G2, ..., GN)은 네트워크(115)로부터 무작위로 선택된 노드들의 세트를 포함한다. 다양한 실시형태에 있어서, 복수의 그룹(125)의 각각의 그룹(125; G1, G2, ..., GN)은 복수의 노드(1701)의 일부이다. 적어도 하나의 실시형태에 있어서, 네트워크(115)는 범용 네트워크(105)이다. 적어도 하나의 실시형태에 있어서, 분산 키 생성 절차 프로토콜(후술됨)을 실행하기 위한 시스템 아키텍처는 정직한 노드들만이 상기와 같은 생태계에 참여한다는 것을 확인하기 위해 실행된다.
제2 프로토콜(130)은 제1 그룹(135, γ1)을 무작위로 선택하도록 구성된다. 제3 프로토콜(140)은 제1 그룹(135, γ1)을 지정하여 제1 그룹 서명을 생성함으로써 제1 메시지(145, M1)에 서명하도록 구성된다. 해시 함수(150)는 제1 그룹 서명으로부터 해시 값(155, H1)을 생성하도록 구성된다. 제1 그룹(135, γ1)의 크기는 시스템 파라미터이다. 적어도 하나의 실시형태에 있어서, 해시 값(155, H1)은 제2 프로토콜(130)을 사용해서 제2 그룹(135, γ2)을 선택하도록 구성되고, 여기서 제3 프로토콜(140)은 제2 그룹(135, γ2)을 지정하여 제2 메시지(145, M2)에 서명하도록 구성된다.
다양한 실시형태들에 있어서, 제1 그룹 서명은 제1 그룹(135, γ1)의 임계치 세트에 의해 생성되도록 구성된다. 일부 실시형태들에 있어서, 임계치 세트는 제1 그룹(135, γ1)의 크기보다 작다. 일부 실시형태들에 있어서는, 임계치 세트가 제1 그룹(135, γ1)의 크기와 동일하다. 적어도 하나의 실시형태에 있어서, 제1 그룹(135, γ1)의 임계치 세트는 시스템 파라미터이다.
다양한 실시형태들에 있어서, 제1 메시지(145, M1)는 난수와 결부된다. 일부 실시형태들에 있어서, 난수는 시드(seed)(160)로부터 도출되는 값이다. 일부 실시형태들에 있어서, 시드(160)는 선행 그룹 서명으로부터 도출된다. 적어도 하나의 실시형태에 있어서, 선행 그룹 서명으로부터 시드(160)의 도출은 해시 함수(150)에 의한 것이다. 적어도 하나의 실시형태에 있어서, 제1 메시지는 시스템 파라미터이다.
전술한 바와 같이, 제2 프로토콜(130)은 제1 그룹(135, γ1)을 무작위로 선택하도록 구성된다. 다양한 실시형태들에 있어서, 이러한 선택은 난수에 기초한다. 일부 실시형태들에 있어서, 난수는 시드(seed)(160)로부터 도출되는 값이다. 일부 실시형태들에 있어서, 시드(160)는 선행 그룹 서명으로부터 도출된다. 적어도 하나의 실시형태에 있어서, 선행 그룹 서명으로부터 시드(160)의 도출은 해시 함수(150)에 의한 것이다.
임계치 중계 체인(100)은 셋업 프로토콜(180)을 더 포함하고, 셋업 프로토콜(180)은 제1 프로토콜(120)에 의해 형성되는 복수의 그룹(125) 중 해당 그룹에 대한 그룹 공개 키를 설정하도록 구성되며, 제1 그룹 서명은 그룹 공개 키에 의해 유효성 검증되도록 구성된다. 적어도 하나의 실시형태에 있어서, 제1 그룹 서명은 제1 그룹(135, γ1)의 임계치 세트의 특이성(idiosyncrasy)과 무관하게, 그룹 공개 키 및 제1 메시지(145, M1)에 대하여 고유하게 구성된다. 일부 실시형태들에 있어서, 제1 그룹 서명은 이중선형 페어링(bilinear pairing), 타원 곡선 상의 이중선형 페어링, 임계치 스킴, GDH(Gap Diffie-Hellman group) 또는 BLS(Boneh-Lynn-Shacham) 서명 스킴 중 적어도 하나에 기초한다.
하나 이상의 실시형태들에 있어서, 셋업 프로토콜(180)은 복수의 그룹(125)의 각각의 그룹(125; G1, G2, ..., GN)의 각각의 노드에 대한 개별적인 개인 키 공유를 설정하도록 구성된다. 적어도 하나의 실시형태에 따르면, 제1 그룹(135, γ1)의 임계치 세트의 노드들 각각의 개별적인 개인 키 공유는 제1 그룹 서명을 생성하는 데 사용되도록 구성된다. 일부 실시형태들에 있어서, 임계치 세트는 제1 그룹(135, γ1)의 크기보다 작다. 일부 실시형태들에 있어서는, 임계치 세트가 제1 그룹(135, γ1)의 크기와 동일하다. 적어도 하나의 실시형태에 있어서, 제1 그룹(135, γ1)의 임계치 세트는 시스템 파라미터이다.
전술한 바와 같이, 임계치 중계 체인(100)은 제6 프로토콜(165)을 포함하고, 제6 프로토콜(165)은 범용 네트워크(105)로부터 복수의 노드(1701)를 지명하도록 구성된다. 하나 이상의 실시형태들에 있어서, 무작위로 선택된 노드들의 세트는 복수의 노드(1701)의 일부이다. 일부 실시형태들에 있어서, 제6 프로토콜(165)은 복수의 노드(1701)를 지명하는 방법론을 적합하게 하도록 구성되고, 해당 방법론은 작업 증명(proof-of-work) 퍼즐, 외부 제3자 보증(endorsement), 또는 계산 리소스의 유효성 검증 중 적어도 하나를 포함한다. 일부 실시형태들에 있어서, 제6 프로토콜(165)은 복수의 노드(1701)의 각각의 노드와 연관되는 금전적 가치 및/또는 의결권에 액세스하도록 구성된다.
임계치 중계 체인(100)은 제7 프로토콜(175)을 더 포함하고, 제7 프로토콜(175)은 무작위로 선택된 노드들의 세트 및/또는 복수의 노드의 선택 노드의 부정행위자를 검출하도록 구성된다. 일부 실시형태들에 있어서, 제7 프로토콜(175)은 선택 노드에 페널티를 부여하도록 구성된다. 일부 실시형태들에 있어서, 제7 프로토콜(175)은 선택 노드의 지명을 철회하도록 구성된다.
도 1에 예시된 바와 같이, 임계치 중계 체인(100)의 다양한 프로토콜 및 함수는 데이터 관리 및 처리의 다중 사이클(즉, C1, C2, ..., CN)에 동시에 응하도록 구성된다. 제2 프로토콜(130)은 해시 값(155, H1)과 함께 제2 그룹(135, γ2)을 선택하도록 구성되고, 제3 프로토콜(140)은 제2 그룹(135, γ2)을 지정하여 제2 메시지(145, M2)에 서명하도록 구성된다. 일부 실시형태들에 있어서, 제2 메시지(145, M2)는 제1 그룹 서명의 해시 값(155, H1)을 포함한다. 일부 실시형태들에 있어서, 제2 메시지(145, M2)는 제1 그룹 서명의 해시 값(155, H1)이 결여된다.
하나 이상의 실시형태들에 따르면, 제2 프로토콜(130)은 해시 값(155, HN)과 함께 제(N+1) 그룹(135, γN+1)을 선택하도록 구성되고, 제3 프로토콜(140)은 제(N+1) 그룹(135, γN+1)을 지정하여 제(N+1) 메시지(145, MN+1)에 서명하도록 구성된다. 해시 함수(150)는 제(N+1) 그룹 서명으로부터 해시 값(155, HN+1)을 생성하도록 구성된다. 일부 실시형태들에 있어서, 제(N+1) 메시지(145, MN+1)는 제N 그룹 서명의 해시 값(155, HN)을 포함한다. 일부 실시형태들에 있어서, 제(N+1) 메시지(145, MN+1)는 제N 그룹 서명의 해시 값(155, HN)이 결여된다.
본 개시물의 다양한 실시형태들은 제2 프로토콜(130)이 제1 프로토콜(120)에 의해 형성된 복수의 그룹으로부터 제1 그룹을 무작위로 선택하기 전에 방법론을 실행하기 위한 시스템 아키텍처에 관한 것이다. 제2 프로토콜(130)이 제1 그룹을 무작위로 선택하기 위해서는, 상기 제1 그룹이 블록체인을 통한 분산 키 생성 절치의 합치성을 만족시켜야만 한다. 도 1a는 블록체인을 통한 분산 키 생성 절차(100a)를 실행하기 위한 시스템 아키텍처를 예시한다. 분산 키 생성 절차(100a)에 대한 시스템 아키텍처는 제1 그룹 내의 허위 정보를 브로드캐스팅할 수 있는 악의적인 노드들을 무효화하도록 구성된다. 일부 실시형태들에 있어서, 분산 키 생성 절차(100a)는 제1 프로토콜(120)이 복수의 그룹을 형성한 후에 실행된다.
전술한 바와 같이, 복수의 그룹 각각은 네트워크로부터 무작위로 선택된 노드들의 세트를 포함한다. 분산 키 생성 절차(100a)에 대한 시스템 아키텍처는 생성 프로토콜(105a)을 포함하고, 생성 프로토콜(105a)은 복수의 거래 메시지를 생성하도록 구성된다. 생성 프로토콜(105a)은 적어도 하나의 딜러 노드에 의해 실행된다. 분산 키 생성 절차(100a)에 대한 시스템 아키텍처는 해시 함수(110a)를 더 포함하고, 해시 함수(110a)는 복수의 거래 메시지의 각각의 거래 메시지로부터 해시 값을 생성하도록 구성된다. 부가적으로, 분산 키 생성 절차(100a)에 대한 시스템 아키텍처는 제5 프로토콜(115a)을 포함하고, 제5 프로토콜(115a)은 복수의 블록을 블록체인의 네트워크에 브로드캐스팅하도록 구성된다. 또한, 분산 키 생성 절차(100a)에 대한 시스템 아키텍처는 제4 프로토콜(120a)을 포함하고, 제4 프로토콜(120a)은 복수의 블록 각각을 공증하도록 구성된다. 또한, 분산 키 생성 절차(100a)에 대한 시스템 아키텍처는 판독 프로토콜(125a)을 포함하고, 판독 프로토콜(125a)은 선택된 그룹의 수신기 노드에 대한 거래 메시지를 판독하도록 구성된다.
하나 이상의 실시형태들에 있어서, 복수의 거래 메시지 각각은 복수의 그룹 중 선택된 그룹에서의 각각의 딜러 노드로부터의 정보를 포함한다. 일부 실시형태들에 있어서, 복수의 블록 각각은 복수의 거래 메시지 중 하나의 거래 메시지를 포함한다. 일부 실시형태들에 있어서, 복수의 블록 각각은 복수의 거래 메시지 중 적어도 2개의 거래 메시지를 포함한다. 적어도 하나의 실시형태에 있어서, 수신기 노드는 상응하는 거래 메시지에 정보가 포함된 딜러 노드와 상이하다. 일부 실시형태들에 있어서, 해시 값은 복수의 거래 메시지의 머클 트리(Merkle tree)의 루트(root)이다. 적어도 하나의 실시형태에 있어서, 해시 값은 복수의 블록 중 하나의 블록에 통합된다.
분산 키 생성 절차(100a)에 대한 시스템 아키텍처는 또한, 제2 프로토콜(130)(도 1)을 포함하고, 제2 프로토콜(130)은 이후 복수의 그룹으로부터 공증인 그룹을 무작위로 선택하도록 구성되며, 공증인 그룹은 제4 프로토콜(120a)을 사용하도록 구성된다. 공증인 그룹은 복수의 그룹으로부터 제2 공증인 그룹을 무작위로 선택하도록 제2 프로토콜(130)에 의해 후속하여 사용되는 출력을 생성한다.
일부 실시형태들에 있어서, 생성 프로토콜은 선택된 그룹의 각각의 딜러 노드에 의해 실행되도록 구성된다. 일부 실시형태들에 있어서, 판독 프로토콜은 선택된 그룹의 각각의 수신기 노드에 의해 실행되도록 구성된다.
단일의 거래 메시지는 단일의 딜러 노드에 관한 정보를 포함한다. 이러한 정보는 단일의 딜러 노드로부터의 키 공유를 포함한다. 생성 프로토콜이 실행될 경우, 단일의 딜러 노드에 속하는 비밀 키의 키 공유가 수신기 노드에 대하여 생성된다. 비밀 키의 상이한 키 공유가 각각의 수신기 노드에 대하여 생성된다. 다음으로, 각각의 상이한 키 공유는 그 수신기 노드에 대응하는 공개 키로 암호화되고(각각의 수신기 노드는 상이한 공개 키와 연관됨), 그에 따라 결국 모든 수신기 노드들에 대하여 상이한 암호화된 키 공유가 야기된다.
다양한 실시형태들에 있어서, 분산 키 생성 절차(100a)에 대한 시스템 아키텍처는 검증 프로토콜(135a)을 포함하고, 검증 프로토콜(135a)은 상응하는 거래 메시지의 진실성을 검증하도록 구성되며, 검증 프로토콜(135a)은 수신기 노드에 의해 실행되도록 구성된다. 수신기는 딜러로부터의 암호화된 키 공유를 복호한다. 검증 프로토콜(135a)은 딜러 노드로부터의 복호된 키 공유를 검증 벡터에 대하여 검증하도록 구성되고, 상응하는 거래 메시지에서의 정보는 딜러 노드로부터의 암호화된 키 공유 및 검증 벡터를 포함한다. 검증 벡터는 딜러 노드에 속한다.
분산 키 생성 절차(100a)에 대한 시스템 아키텍처는 불평 프로토콜(140a)을 부가적으로 포함하고, 불평 프로토콜(140a)은 불평 메시지를 생성하도록 구성되며, 불평 메시지는 수신기 노드에 의해 서명되고, 불평 프로토콜(140a)은 수신기 노드에 의해 실행되도록 구성된다. 일부 실시형태들에 있어서, 불평 메시지는 검증 벡터에 대한 암호화된 키 공유의 검증의 결여에 관한 데이터를 포함한다. 일부 실시형태들에 있어서, 이 데이터는 검증 벡터에 대한 암호화된 키 공유의 검증의 결여에 관한 증명이다.
적어도 하나의 실시형태에 있어서, 제5 프로토콜(115a)은 이후 불평 메시지를 네트워크에 브로드캐스팅하도록 구성된다. 분산 키 생성 절차(100a)에 대한 소프트웨어 아키텍처는 정당화 프로토콜(145a)을 더 포함하고, 정당화 프로토콜(145a)은 정당화 메시지를 생성하도록 구성되며, 정당화 메시지는 불평 메시지에 대한 정당화를 포함하고, 딜러 노드는 정당화 프로토콜을 실행하여 정당화 메시지를 생성하도록 구성된다. 적어도 하나의 실시형태에 있어서, 제5 프로토콜(115a)은 이후 정당화 메시지를 네트워크에 브로드캐스팅하도록 구성된다. 하나 이상의 실시형태들에 있어서, 검증 프로토콜(135a)은 정당화 메시지의 진실성을 검증 벡터에 대하여 검증하도록 구성되고, 검증 프로토콜(135a)은 검증 노드에 의해 실행되도록 구성된다. 일부 실시형태들에 있어서, 검증 프로토콜(135a)은 정당화 메시지의 진실성을 부정한다. 일부 실시형태들에 있어서, 검증 프로토콜(135a)은 정당화 메시지의 진실성을 인정한다.
다양한 실시형태들에 있어서, 생성 프로토콜은 복수의 제2 거래 메시지를 생성하도록 구성되고, 복수의 제2 거래 메시지의 각각의 제2 거래 메시지는 복수의 그룹 중 제2 선택된 그룹에서의 각각의 딜러 노드에 관한 정보를 포함한다.
더욱이, 분산 키 생성 절차(100a)에 대한 시스템 아키텍처는 등록 프로토콜(150a)을 포함하고, 등록 프로토콜(150a)은 선택된 그룹의 복수의 거래 메시지를 결합하도록 구성되며, 등록 프로토콜(150a)은 각각의 수신기 노드에 의해 실행된다. 하나 이상의 실시형태들에 있어서, 등록 프로토콜은 복수의 정당한 공개 키의 확인을 결합하도록 구성되고, 복수의 정당한 공개 키 각각은 각각의 거래 메시지에 대응한다. 일부 실시형태들에 있어서, 검증 프로토콜은 복수의 정당한 공개 키의 각각의 정당한 공개 키의 진실성을 인정한다.
하나 이상의 실시형태들에 있어서, 등록 프로토콜(150a)은 각각의 검증 노드에 의해 실행된다. 하나 이상의 실시형태들에 있어서, 등록 프로토콜은 복수의 거래 메시지의 확인을 결합하도록 구성된다. 일부 실시형태들에 있어서, 검증 프로토콜은 각각의 거래 메시지의 진실성을 인정한다. 일부 실시형태들에 있어서, 검증 프로토콜은 각각의 거래 메시지와 연관된 각각의 정당화 메시지의 진실성을 인정한다. 일부 실시형태에 있어서, 복수의 거래 메시지 각각은 어떠한 불평과도 연관되지 않는다.
등록 프로토콜이 복수의 거래 메시지의 확인을 결합한 후에, 각각의 검증 노드는 복수의 공개 키를 집계하고, 각각의 공개 키는 결합된(또는 확인된) 복수의 거래 메시지 중 하나의 거래 메시지로부터 추출된다. 등록 프로토콜이 복수의 거래 메시지의 확인을 결합한 후에, 각각의 수신기 노드는 복수의 키 공유를 집계하고, 각각의 키 공유는 결합된(또는 확인된) 거래 메시지에 대응한다.
일부 실시형태들에 있어서, 그후 제2 프로토콜(130)이 시작되고, 제2 프로토콜(130)은 제1 프로토콜에 의해 형성된 복수의 그룹으로부터 제1 그룹을 무작위로 선택하도록 구성된다. 적어도 하나의 실시형태에 있어서, 제1 그룹은 선택된 그룹을 포함한다.
실시예 1: 딜러 노드에 관한 거래 메시지 정보. 이러한 정보는 딜러 노드로부터의 키 공유를 포함한다. 거래 메시지가 수신기 노드에 분산될 경우, 딜러 노드는 수신기 노드의 공개 키로 키 공유를 암호화한다. 암호화된 키 공유를 포함하는 거래 메시지는 수신기 노드에 의해 수신된다. 이후, 수신기 노드는 딜러 노드로부터의 암호화된 키 공유를 딜러 노드의 검증 벡터에 대하여 검증한다. 다수의 딜러 노드가 있을 경우, 수신기 노드는 다수의 거래 메시지를 결합한다. 일부 실시형태들에 있어서, 수신기 노드는 복수의 정당한 공개 키의 확인을 결합하고, 각각의 거래 메시지는 정당한 공개 키에 대응한다. 이후, 딜러 노드(들)는 정직한 것으로 간주된다.
실시예 2: 딜러 노드에 관한 거래 메시지 정보. 이러한 정보는 딜러 노드로부터의 키 공유를 포함한다. 거래 메시지가 수신기 노드에 분산될 경우, 딜러 노드는 수신기 노드의 공개 키로 키 공유를 암호화한다. 암호화된 키 공유를 포함하는 거래 메시지는 수신기 노드에 의해 수신된다. 수신기는 딜러로부터의 암호화된 키 공유를 복호한다. 이후, 수신기 노드는 딜러 노드로부터의 복호된 키 공유를 딜러 노드의 검증 벡터에 대하여 검증한다. 이후, 수신기 노드는 불평 메시지를 네트워크에 브로드캐스팅함으로써 불평한다. 불평 메시지는 검증 벡터에 대한 암호화된 키 공유의 검증의 결여에 관한 데이터를 포함한다. 일부 실시형태들에 있어서, 이 데이터는 검증 벡터에 대한 암호화된 키 공유의 검증의 결여에 관한 증명이다. 이후, 딜러 노드는 정당화 메시지를 네트워크에 브로드캐스팅한다. 딜러 노드는 정당화 메시지(키 공유를 포함)를 네트워크에 공개한다. 이후, 검증 노드는 정당화 메시지(즉, 키 공유)의 진실성을 검증 벡터에 대하여 검증한다. 검증 노드가 정당화 메시지의 진실성을 부정하는 경우, 프로토콜은 부정된 정당화 메시지에 대응하는 딜러 노드가 부정직하다고 이해하고 등록을 진행한다. 검증 노드가 진실성을 인정하는 경우, 프로토콜은 정당한 메시지를 갖는 딜러 노드가 정직하다고 이해하고 등록을 진행한다.
도 1b는 하나 이상의 실시형태들에 따른 분산 키 생성 절차에 대한 시스템 아키텍처에서 데이터를 처리하는 방법(100b)을 예시하는 흐름도이다. 프로세서에 의한 실행시에, 컴퓨터-판독 가능 프로그램으로 인코딩된 비일시적인 컴퓨터-판독 가능 매체가 컴퓨터로 하여금 방법(100b)을 실행하게 할 것이다. 하나 이상의 실시형태들에 있어서, 방법(100b)은 제1 프로토콜(120)(도 1)이 복수의 그룹을 형성한 후에 실행된다.
전술한 바와 같이, 복수의 그룹 각각은 네트워크로부터 무작위로 선택된 노드들의 세트를 포함한다. 방법(100b)은 생성 프로토콜이 복수의 거래 메시지를 생성하는 단계(105b)로 시작한다. 이후, 방법(100b)은 해시 함수가 복수의 거래 메시지의 각각의 거래 메시지로부터 해시 값을 생성하는 단계(110b)로 계속된다. 이후, 방법(100b)은 제5 프로토콜이 복수의 블록을 네트워크에 브로드캐스팅하는 단계(115b)를 포함한다.
또한, 방법(100b)은 제4 프로토콜이 복수의 블록 각각을 공증하는 단계(120b)를 포함한다. 다양한 실시형태들에 있어서, 공증인 그룹이 각각의 블록을 공증한다. 적어도 하나의 실시형태에 있어서, 제2 프로토콜은 복수의 그룹으로부터 공증인 그룹을 무작위로 선택한다. 방법(100b)은 판독 프로토콜이 선택된 그룹의 수신기 노드에 대한 거래 메시지를 판독하는 단계(125b)를 부가적으로 포함한다.
하나 이상의 실시형태들에 있어서, 복수의 거래 메시지 각각은 복수의 그룹 중 선택된 그룹에서의 각각의 딜러 노드로부터의 정보를 포함한다. 일부 실시형태들에 있어서, 복수의 블록 각각은 복수의 거래 메시지 중 하나의 거래 메시지를 포함한다. 일부 실시형태들에 있어서, 복수의 블록 각각은 복수의 거래 메시지 중 적어도 2개의 거래 메시지를 포함한다. 적어도 하나의 실시형태에 있어서, 수신기 노드는 상응하는 거래 메시지에 정보가 포함된 딜러 노드와 상이하다. 일부 실시형태들에 있어서, 해시 값은 복수의 거래 메시지의 머클 트리(Merkle tree)의 루트(root)이다. 적어도 하나의 실시형태에 있어서, 해시 값은 복수의 블록 중 하나의 블록에 통합된다. 다양한 실시형태들에 있어서, 단일의 거래 메시지는 단일의 노드에 관한 정보를 포함한다. 다양한 실시형태들에 있어서, 복수의 거래 메시지 각각은 딜러 노드로부터의 암호화된 키 공유를 포함한다.
또한, 방법(100b)은 검증 프로토콜이 상응하는 거래 메시지의 진실성을 검증하는 단계(130b)를 포함한다. 수신기 노드가 검증 프로토콜을 실행한다. 검증 프로토콜은 딜러 노드로부터의 암호화된 키 공유를 딜러 노드의 검증 벡터에 대하여 검증한다. 상응하는 거래 메시지에서의 정보는 딜러 노드로부터의 암호화된 키 및 검증 벡터를 포함한다.
방법(100b)은 불평 프로토콜이 불평 메시지를 생성하는 단계(135b)로 계속된다. 불평 메시지는 수신기 노드에 의해 실행되고, 불평 메시지는 수신기 노드에 의해 서명된다. 하나 이상의 실시형태들에 있어서, 불평 메시지는 검증 벡터에 대한 암호화된 키 공유의 검증의 결여에 관한 데이터를 포함한다.
방법(100b)은 제5 프로토콜이 불평 메시지를 네트워크에 브로드캐스팅하는 단계(140b)로 계속된다. 방법(100b)은 정당화 프로토콜이 정당화 메시지를 생성하는 단계(145b)를 더 포함한다. 딜러 노드는 정당화 프로토콜을 실행하여 정당화 메시지를 생성하고, 정당화 메시지는 불평 메시지에 대한 정당화를 포함한다.
방법(100b)은 제5 프로토콜이 정당화 메시지를 네트워크에 브로드캐스팅하는 단계(150b)를 부가적으로 포함한다. 더욱이, 방법(100b)은 검증 노드가 검증 프로토콜을 실행하여 정당화 메시지의 진실성을 검증 벡터에 대하여 검증하는 단계(155b)를 포함한다. 일부 실시형태들에 있어서, 검증 프로토콜은 정당화 메시지의 진실성을 부정한다. 일부 실시형태들에 있어서, 검증 프로토콜은 정당화 메시지의 진실성을 인정한다.
검증 프로토콜이 정당화 메시지의 진실성을 부정하는 경우, 생성 프로토콜은 복수의 제2 거래 메시지를 생성한다. 일부 실시형태들에 있어서, 생성 프로토콜이 복수의 제2 거래 메시지를 생성하기 위해서는 검증 프로토콜이 특정 비율의 정당화 메시지를 부정할 필요가 있을 것이다. 복수의 제2 거래 메시지의 각각의 제2 거래 메시지는 복수의 그룹의 제2 선택된 그룹에서의 각각의 노드에 관한 정보를 포함한다.
검증 프로토콜이 정당화 메시지의 진실성을 인정하는 경우, 방법(100b)은 등록 프로토콜이 선택된 그룹의 복수의 거래 메시지를 결합하는 단계(160b)로 계속된다. 일부 실시형태들에 있어서, 등록 프로토콜은 각각의 수신기 노드에 의해 실행된다. 일부 실시형태들에 있어서, 등록 프로토콜은 검증 노드에 의해 실행된다. 적어도 하나의 실시형태에 있어서, 등록 프로토콜은 복수의 정당한 공개 키의 확인을 결합한다. 복수의 정당한 공개 키 각각은 각각의 거래 메시지에 대응한다. 일부 실시형태들에 있어서, 검증 프로토콜은 복수의 정당한 공개 키의 각각의 정당한 공개 키의 진실성을 인정한다. 일부 실시형태들에 있어서, 방법(100b)은 단계(130b) 직후에 단계(160b)로 계속된다. 또한, 방법(100b)은 제5 프로토콜이 결합된 확인을 네트워크에 브로드캐스팅하도록 구성되는 단계(165b)를 포함한다.
방법(100b)은 제2 프로토콜이 제1 프로토콜에 의해 형성된 복수의 그룹으로부터 제1 그룹을 선택하는 단계(170b)로 계속된다. 일부 실시형태들에 있어서, 제1 그룹은 무작위로 선택된다. 적어도 하나의 실시형태에 있어서, 제1 그룹은 선택된 그룹을 포함한다.
당업자라면, 하나 이상의 실시형태들에서, 동작들이 방법(100b)에 대하여 추가 또는 제거된다는 것을 인식할 것이다. 당업자라면, 다양한 대안적인 실시형태들에서, 방법(100b)의 동작들의 순서가 달라진다는 것을 또한 인식할 것이다.
도 2는 하나 이상의 실시형태들에 따른 블록체인을 동작시키도록 구성된 임계치 중계 체인(100)의 복수의 프로토콜의 시스템 아키텍처를 예시한다. 도 1을 다시 참조하면, 각각의 해시 값((160, H0); (155, H1); (155, H2), ..., (155, HN))은 도 2에 예시된 복수의 블록 메이커를 선택하도록 구성된다. 제12 프로토콜(205)은 순위화 시스템에 기초하여 복수의 블록 메이커의 각각의 블록 메이커를 우선순위를 정하도록 구성된다. 각각의 해시 값으로부터 유발된 각각의 블록 메이커의 우선순위의 계층구조가 도 2에 예시된다. 도 5는 순위화 시스템에 대한 추가적인 자료를 예시한다.
예를 들어: 해시 값(160, H0)으로부터 유발되는 최고 우선순위의 블록 메이커는 "PBM1(H0)"으로 표시된다. 번호가 높아짐에 따라, 해시 값(160, H0)으로부터 유발되는 상응하는 블록 메이커의 우선순위 레벨은 낮아진다. 따라서, "PBM2(H0)"으로 표시되는 블록 메이커는 "PBM1(H0)"의 우선순위 레벨보다 낮은 우선순위 레벨을 갖게 된다. 부가적으로, "PBMM(H0)"으로 표시되는 블록 메이커는 "PBM1(H0)" 및 "PBM2(H0)"의 우선순위 레벨보다 낮은 우선순위 레벨을 갖게 되고, 여기서 M은 2보다 큰 정수이다.
다른 양태에 있어서, 해시 값(155, H1)으로부터 유발되는 최고 우선순위의 블록 메이커는 "PBM1(H1)"로 표시된다. 번호가 높아짐에 따라, 해시 값(155, H1)으로부터 유발되는 상응하는 블록 메이커의 우선순위 레벨은 낮아진다. 따라서, "PBM2(H1)"로 표시되는 블록 메이커는 "PBM1(H1)"의 우선순위 레벨보다 낮은 우선순위 레벨을 갖게 된다. 부가적으로, "PBMM(H1)"로 표시되는 블록 메이커는 "PBM1(H1)" 및 "PBM2(H1)"의 우선순위 레벨보다 낮은 우선순위 레벨을 갖게 되고, 여기서 M은 2보다 큰 정수이다.
또 다른 양태에 있어서, 해시 값(155, H2)으로부터 유발되는 최고 우선순위의 블록 메이커는 "PBM1(H2)"로 표시된다. 번호가 높아짐에 따라, 해시 값(155, H2)으로부터 유발되는 상응하는 블록 메이커의 우선순위 레벨은 낮아진다. 따라서, "PBM2(H2)"로 표시되는 블록 메이커는 "PBM1(H2)"의 우선순위 레벨보다 낮은 우선순위 레벨을 갖게 된다. 부가적으로, "PBMM(H2)"로 표시되는 블록 메이커는 "PBM1(H2)" 및 "PBM2(H2)"의 우선순위 레벨보다 낮은 우선순위 레벨을 갖게 되고, 여기서 M은 2보다 큰 정수이다.
더욱이, 해시 값(155, HN)으로부터 유발되는 최고 우선순위의 블록 메이커는 "PBM1(HN)"으로 표시된다. 번호가 높아짐에 따라, 해시 값(155, HN)으로부터 유발되는 상응하는 블록 메이커의 우선순위 레벨은 낮아진다. 따라서, "PBM2(HN)"으로 표시되는 블록 메이커는 "PBM1(HN)"의 우선순위 레벨보다 낮은 우선순위 레벨을 갖게 된다. 부가적으로, "PBMM(HN)"으로 표시되는 블록 메이커는 "PBM1(HN)" 및 "PBM2(HN)"의 우선순위 레벨보다 낮은 우선순위 레벨을 갖게 되고, 여기서 M은 2보다 큰 정수이며; N은 2보다 큰 정수이다.
도 2를 다시 참조하면, 복수의 블록 메이커의 각각의 블록 메이커는 블록을 생성하도록 구성된다. 블록은 복수의 블록 메이커 중 하나의 블록 메이커에 의해 수집되는 트랜잭션(transaction)들을 포함한다. 도 3에 대한 아래에서의 논의 이후에 도 2에 관한 논의를 계속한다.
도 3은 하나 이상의 실시형태들에 따른 복수의 블록 중 하나의 블록을 유효성 검증 및 타임스탬핑하도록 구성된 임계치 중계 체인(100)의 복수의 프로토콜의 시스템 아키텍처를 예시한다. 적어도 하나의 실시형태에 있어서, 제4 프로토콜(315)은 제N 그룹(135, γN)을 지정하여 제N 이차 그룹 서명을 생성함으로써 제N 그룹(135, γN)의 선행 사이클 내의 복수의 블록 중 하나의 블록을 유효성 검증하도록 구성된다. 제N 이차 그룹 서명은 해당 블록을 인증한다. 적어도 하나의 실시형태에 있어서, 제4 프로토콜(315)은 상기 기능들을 동시에 수행하도록 구성된다. 다양한 실시형태들에 있어서, 임의의 블록의 유효성 검증은 서명 점검, 참조 점검, 해시 검증, 트랜잭션 검증, 크기 점검, 실행 시간 점검, 또는 이중-소비 점검 중 적어도 하나를 포함한다. 적어도 하나의 실시형태에 있어서, 제4 프로토콜(315)은 블록들을 유효성 검증하도록 구성되고, 그에 따라 상기 유효성 검증된 블록들이 공증된다.
도 3을 계속 참조하면, 제4 프로토콜(315)은 제1 그룹(135, γ1)을 지정하여 제1 이차 그룹 서명을 생성함으로써 복수의 블록 중 하나의 블록을 유효성 검증 및 타임스탬핑하도록 구성되고, 복수의 블록은 선행 사이클(예를 들어: C0) 내에 있다. 제1 이차 그룹 서명은 해당 블록을 인증한다. 부가적으로, 제4 프로토콜(315)은 제2 그룹(135, γ2)을 지정하여 제2 이차 그룹 서명을 생성함으로써 복수의 블록 중 하나의 블록을 타임스탬핑하도록 구성되고, 복수의 블록은 선행 사이클(예를 들어: C1) 내에 있다. 제2 이차 그룹 서명은 해당 블록을 인증한다. 더욱이, 제4 프로토콜(315)은 제N 그룹(135, γN)을 지정하여 제N 이차 그룹 서명을 생성함으로써 복수의 블록 중 하나의 블록을 타임스탬핑하도록 구성되고, 복수의 블록은 선행 사이클(예를 들어: CN-1) 내에 있다. 제N 이차 그룹 서명은 해당 블록을 인증한다. 적어도 하나의 실시형태에 있어서, 제4 프로토콜(315)은 상기 기능들을 동시에 수행하도록 구성된다. 다양한 실시형태들에 있어서, 타임스탬핑은 서명 스킴에 기초하고, 서명 스킴은 이중선형 페어링, 타원 곡선 상의 이중선형 페어링, 임계치 스킴, GDH(Gap Diffie-Hellman group) 또는 BLS(Boneh-Lynn-Shacham) 스킴 중 적어도 하나를 포함한다. 하나 이상의 실시형태들에 있어서, 제4 프로토콜(315)은 유효성 검증된 블록들을 타임스탬핑하도록 구성된다. 하나 이상의 실시형태들에 있어서, 제4 프로토콜(315)은 유효성 검증된 블록들만을 타임스탬핑하도록 구성되고, 그에 따라 상기 타임스탬핑되고 유효성 검증된 블록들이 공증된다. 다양한 실시형태들에 있어서, 타임스탬프는 특정 시간대에만 발행된다.
일부 실시형태들에 있어서, 공증된 블록은 제1 그룹(135, γ1)의 임계치 세트에 의해 생성되도록 구성되고, 임계치 세트의 크기는 제1 그룹(135, γ1)의 크기보다 작거나 같다. 일부 실시형태들에 있어서, 공증된 블록은 제2 그룹(135, γ2)의 임계치 세트에 의해 생성되도록 구성되고, 임계치 세트의 크기는 제2 그룹(135, γ2)의 크기보다 작거나 같다. 일부 실시형태들에 있어서, 공증된 블록은 제N 그룹(135, γN)의 임계치 세트에 의해 생성되도록 구성되고, 임계치 세트의 크기는 제N 그룹(135, γN)의 크기보다 작거나 같다.
제1 그룹 서명은 제1 그룹(135, γ1)의 임계치 세트에 의해 생성되도록 구성되고, 임계치 세트의 크기는 제1 그룹의 크기보다 작거나 같다. 적어도 하나의 실시형태에 있어서, 제1 그룹(135, γ1)의 임계치 세트의 크기는 시스템 파라미터이다. 제2 그룹 서명은 제1 그룹(135, γ2)의 임계치 세트에 의해 생성되도록 구성되고, 임계치 세트의 크기는 제2 그룹의 크기보다 작거나 같다. 적어도 하나의 실시형태에 있어서, 제2 그룹(135, γ2)의 임계치 세트는 시스템 파라미터이다. 제N 그룹 서명은 제N 그룹(135, γN)의 임계치 세트에 의해 생성되도록 구성되고, 임계치 세트의 크기는 제N 그룹의 크기보다 작거나 같다. 적어도 하나의 실시형태에 있어서, 제N 그룹(135, γN)의 임계치 세트는 시스템 파라미터이다.
복수의 블록 중 해당 블록을 유효성 검증 및 타임스탬핑하도록 구성된 임계치 중계 체인(100)의 복수의 프로토콜의 시스템 아키텍처는 제5 프로토콜(320)을 더 포함하고, 제5 프로토콜(320)은 제1 이차 그룹 서명 또는 사이클(C0) 내의 타임스탬핑된 블록 중 적어도 하나를 네트워크에 브로드캐스팅하도록 구성된다. 제1 이차 그룹 서명은 각각의 블록을 타임스탬핑하도록 구성된다. 부가적으로, 제5 프로토콜(320)은 제2 이차 그룹 서명 또는 사이클(C1) 내의 타임스탬핑된 블록 중 적어도 하나를 네트워크에 브로드캐스팅하도록 구성된다. 제2 이차 그룹 서명은 각각의 블록을 타임스탬핑하도록 구성된다. 더욱이, 제5 프로토콜(320)은 제N 이차 그룹 서명 또는 사이클(CN-1) 내의 타임스탬핑된 블록 중 적어도 하나를 네트워크에 브로드캐스팅하도록 구성된다. 제N 이차 그룹 서명은 각각의 블록을 타임스탬핑하도록 구성된다. 적어도 하나의 실시형태에 있어서, 제5 프로토콜(320)은 상기 기능들을 동시에 수행하도록 구성된다. 브로드캐스팅된 임의의 타임스탬핑된 블록은 상이한 사이클의 다른 타임스탬핑된 블록을 참조한다.
브로드캐스팅된 그 각각의 사이클 내의 임의의 공증된 블록은 상이한 사이클의 다른 블록을 참조한다. 적어도 하나의 실시형태에 있어서, 다른 블록이 공증된다.
도 2를 다시 참조하면, 블록체인을 동작시키도록 구성된 임계치 중계 체인(100)의 복수의 프로토콜의 시스템 아키텍처는 제13 프로토콜(210)을 더 포함하고, 제13 프로토콜(210)은 타임스탬핑에 이용 가능한 복수의 블록 사이에서 각각의 블록을 우선순위를 정하도록 구성된다. 부가적으로, 제13 프로토콜(210)은 복수의 블록 메이커의 순위화 시스템에 기초하여 복수의 블록 사이에서 각각의 블록을 우선순위를 정하도록 구성된다.
하나 이상의 실시형태들에 있어서, 제13 프로토콜(210)은 각각의 사이클 내의 해시 값을 사용해서 복수의 블록 사이에서 각각의 블록을 우선순위를 정하도록 구성된다. 예를 들어: 제13 프로토콜(210)은 해시 값(160, H0)을 사용함으로써 C0 내의 복수의 블록 사이에서 각각의 블록을 우선순위를 정하도록 구성된다. 일부 실시형태들에 있어서, 제13 프로토콜(210)은 해시 값(155, H1)을 사용함으로써 C1 내의 복수의 블록 사이에서 각각의 블록을 우선순위를 정하도록 구성된다. 일부 실시형태들에 있어서, 제13 프로토콜(210)은 해시 값(155, H2)을 사용함으로써 C2 내의 복수의 블록 사이에서 각각의 블록을 우선순위를 정하도록 구성된다. 일부 실시형태들에 있어서, 제13 프로토콜(210)은 해시 값(155, HN)을 사용함으로써 CN 내의 복수의 블록 사이에서 각각의 블록을 우선순위를 정하도록 구성된다. 각각의 해시 값으로부터 유발된 각각의 블록의 우선순위의 계층구조가 또한 도 2에 예시된다.
예를 들어: 해시 값(160, H0)으로부터 유발되는 최고 우선순위의 블록은 "PB1(H0)"으로 표시된다. 번호가 높아짐에 따라, 해시 값(160, H0)으로부터 유발되는 상응하는 블록의 우선순위 레벨은 낮아진다. 따라서, "PB2(H0)"으로 표시되는 블록은 "PB1(H0)"의 우선순위 레벨보다 낮은 우선순위 레벨을 갖게 된다. 부가적으로, "PBM(H0)"으로 표시되는 블록은 "PB1(H0)" 및 "PB2(H0)"의 우선순위 레벨보다 낮은 우선순위 레벨을 갖게 되고, 여기서 M은 2보다 큰 정수이다.
다른 양태에 있어서, 해시 값(155, H1)으로부터 유발되는 최고 우선순위의 블록은 "PB1(H1)"로 표시된다. 번호가 높아짐에 따라, 해시 값(155, H1)으로부터 유발되는 상응하는 블록의 우선순위 레벨은 낮아진다. 따라서, "PB2(H1)"로 표시되는 블록은 "PB1(H1)"의 우선순위 레벨보다 낮은 우선순위 레벨을 갖게 된다. 부가적으로, "PBM(H1)"로 표시되는 블록은 "PB1(H1)" 및 "PB2(H1)"의 우선순위 레벨보다 낮은 우선순위 레벨을 갖게 되고, 여기서 M은 2보다 큰 정수이다.
또 다른 양태에 있어서, 해시 값(155, H2)으로부터 유발되는 최고 우선순위의 블록은 "PB1(H2)"로 표시된다. 번호가 높아짐에 따라, 해시 값(155, H2)으로부터 유발되는 상응하는 블록의 우선순위 레벨은 낮아진다. 따라서, "PB2(H2)"로 표시되는 블록은 "PB1(H2)"의 우선순위 레벨보다 낮은 우선순위 레벨을 갖게 된다. 부가적으로, "PBM(H2)"로 표시되는 블록은 "PB1(H2)" 및 "PB2(H2)"의 우선순위 레벨보다 낮은 우선순위 레벨을 갖게 되고, 여기서 M은 2보다 큰 정수이다.
더욱이, 해시 값(155, HN)으로부터 유발되는 최고 우선순위의 블록은 "PB1(HN)"으로 표시된다. 번호가 높아짐에 따라, 해시 값(155, HN)으로부터 유발되는 상응하는 블록의 우선순위 레벨은 낮아진다. 따라서, "PB2(HN)"으로 표시되는 블록은 "PB1(HN)"의 우선순위 레벨보다 낮은 우선순위 레벨을 갖게 된다. 부가적으로, "PBM(HN)"으로 표시되는 블록은 "PB1(HN)" 및 "PB2(HN)"의 우선순위 레벨보다 낮은 우선순위 레벨을 갖게 되고, 여기서 M은 2보다 큰 정수이며; N은 2보다 큰 정수이다.
블록체인을 동작시키도록 구성된 임계치 중계 체인(100)의 복수의 프로토콜의 시스템 아키텍처는 제4 프로토콜(215)을 더 포함하고, 제4 프로토콜(215)은 적어도 하나의 실시형태에 따라, 제1 그룹(135, γ1)을 지정하여 제1 이차 그룹 서명을 생성함으로써 제1 그룹(135, γ1)의 선행 사이클(예를 들어: C0) 내의 복수의 블록 중 하나의 블록을 유효성 검증하도록 구성된다. 제1 이차 그룹 서명은 해당 블록을 인증한다. 부가적으로, 제4 프로토콜(215)은 적어도 하나의 실시형태에 따라, 제2 그룹(135, γ2)을 지정하여 제2 이차 그룹 서명을 생성함으로써 제2 그룹(135, γ2)의 선행 사이클(예를 들어: C1) 내의 복수의 블록 중 하나의 블록을 유효성 검증하도록 구성된다. 제2 이차 그룹 서명은 해당 블록을 인증한다. 더욱이, 제4 프로토콜(215)은 적어도 하나의 실시형태에 따라, 제N 그룹(135, γN)을 지정하여 제N 이차 그룹 서명을 생성함으로써 제N 그룹(135, γN)의 선행 사이클(예를 들어: CN-1) 내의 복수의 블록 중 하나의 블록을 유효성 검증하도록 구성된다. 제N 이차 그룹 서명은 해당 블록을 인증한다. 적어도 하나의 실시형태에 있어서, 제4 프로토콜(215)은 상기 기능들을 동시에 수행하도록 구성된다. 다양한 실시형태들에 있어서, 임의의 블록의 유효성 검증은 서명 점검, 참조 점검, 해시 검증, 트랜잭션 검증, 크기 점검, 실행 시간 점검, 또는 이중-소비 점검 중 적어도 하나를 포함한다. 적어도 하나의 실시형태에 있어서, 제4 프로토콜(215)은 블록들을 유효성 검증하도록 구성되고, 그에 따라 상기 유효성 검증된 블록들이 공증된다.
도 2를 계속 참조하면, 블록체인을 동작시키도록 구성된 임계치 중계 체인(100)의 복수의 프로토콜의 시스템 아키텍처는 제4 프로토콜(215)을 포함하고, 제4 프로토콜(215)은 제1 그룹(135, γ1)을 지정하여 제1 이차 그룹 서명을 생성함으로써 복수의 블록 중 제1 우선순위의 블록을 타임스탬핑하도록 구성되고, 복수의 블록은 선행 사이클(예를 들어: C0) 내에 있다. 제1 이차 그룹 서명은 제1 우선순위의 블록을 인증한다. 부가적으로, 제4 프로토콜(215)은 제2 그룹(135, γ2)을 지정하여 제2 이차 그룹 서명을 생성함으로써 복수의 블록 중 제2 우선순위의 블록을 타임스탬핑하도록 구성되고, 복수의 블록은 선행 사이클(예를 들어: C1) 내에 있다. 제2 이차 그룹 서명은 제2 우선순위의 블록을 인증한다. 더욱이, 제4 프로토콜(215)은 제N 그룹(135, γN)을 지정하여 제N 이차 그룹 서명을 생성함으로써 복수의 블록 중 제(N-1) 우선순위의 블록을 타임스탬핑하도록 구성되고, 복수의 블록은 선행 사이클(예를 들어: CN-1) 내에 있다. 제N 이차 그룹 서명은 제(N-1) 우선순위의 블록을 인증한다. 적어도 하나의 실시형태에 있어서, 제4 프로토콜(215)은 상기 기능들을 동시에 수행하도록 구성된다. 다양한 실시형태들에 있어서, 타임스탬핑은 서명 스킴에 기초하고, 서명 스킴은 이중선형 페어링, 타원 곡선 상의 이중선형 페어링, 임계치 스킴, GDH(Gap Diffie-Hellman group) 또는 BLS(Boneh-Lynn-Shacham) 스킴 중 적어도 하나를 포함한다. 하나 이상의 실시형태들에 있어서, 제4 프로토콜(215)은 유효성 검증된 블록들만을 타임스탬핑하도록 구성되고, 그에 따라 상기 타임스탬핑되고 유효성 검증된 블록들이 공증된다. 다양한 실시형태들에 있어서, 타임스탬프는 특정 시간대에만 발행된다.
일부 실시형태들에 있어서, 공증된 블록은 제1 그룹(135, γ1)의 임계치 세트에 의해 생성되도록 구성되고, 임계치 세트의 크기는 제1 그룹(135, γ1)의 크기보다 작거나 같다. 일부 실시형태들에 있어서, 공증된 블록은 제2 그룹(135, γ2)의 임계치 세트에 의해 생성되도록 구성되고, 임계치 세트의 크기는 제2 그룹(135, γ2)의 크기보다 작거나 같다. 일부 실시형태들에 있어서, 공증된 블록은 제N 그룹(135, γN)의 임계치 세트에 의해 생성되도록 구성되고, 임계치 세트의 크기는 제N 그룹(135, γN)의 크기보다 작거나 같다.
블록체인을 동작시키도록 구성된 임계치 중계 체인(100)의 복수의 프로토콜의 시스템 아키텍처는 제5 프로토콜(220)을 더 포함하고, 제5 프로토콜(220)은 제1 이차 그룹 서명 또는 공증된 제1 블록을 브로드캐스팅하도록 구성된다. 제1 이차 그룹 서명은 제1 블록을 공증하도록 구성된다. 부가적으로, 제5 프로토콜(220)은 제2 이차 그룹 서명 또는 공증된 제2 블록을 브로드캐스팅하도록 구성된다. 제2 이차 그룹 서명은 제2 블록을 공증하도록 구성된다. 더욱이, 제5 프로토콜(220)은 제N 이차 그룹 서명 또는 공증된 제N 블록을 브로드캐스팅하도록 구성된다. 제N 이차 그룹 서명은 제N 블록을 공증하도록 구성된다. 적어도 하나의 실시형태에 있어서, 제5 프로토콜(220)은 상기 기능들을 동시에 수행하도록 구성된다.
브로드캐스팅된 그 각각의 사이클 내의 임의의 공증된 블록은 상이한 사이클의 다른 블록을 참조한다. 적어도 하나의 실시형태에 있어서, 다른 블록이 공증된다.
도 4는 하나 이상의 실시형태들에 따른 계통적인 무작위성-기반의 블록 유효성 검증을 유지하도록 구성된 임계치 중계 체인(100)의 복수의 프로토콜의 시스템 아키텍처를 예시한다. 전술한 바와 같이, 각각의 해시 값((160, H0); (155, H1); (155, H2); ...; (155, HN))은 복수의 블록 메이커를 선택하도록 구성된다. 제2 프로토콜(130)은 해시 값(160, H0)과 함께 제1 그룹(135, γ1)을 선택하도록 구성된다. 하나 이상의 실시형태들에 있어서, 제4 프로토콜(215)은 제1 그룹(135, γ1)을 지정하여 복수의 블록 중 하나의 블록을 타임스탬핑하도록 구성되고, 복수의 블록은 선행 사이클(예를 들어: C0) 내에 있다. 제4 프로토콜(215)이 타임스탬프를 유효성 검증한 후에만, 제1 그룹(135, γ1)이 제1 그룹 서명을 사용하여 제1 메시지(145, M1)에 서명하고, 그에 따라 도 1에 예시된 바와 같이 임계치 중계 체인(100)이 동작을 계속한다.
제2 프로토콜(130)은 해시 값(155, H1)과 함께 제2 그룹(135, γ2)을 선택하도록 구성된다. 하나 이상의 실시형태들에 있어서, 제4 프로토콜(215)은 제2 그룹(135, γ2)을 지정하여 복수의 블록 중 하나의 블록을 타임스탬핑하도록 구성되고, 복수의 블록은 선행 사이클(예를 들어: C1) 내에 있다. 제4 프로토콜(215)이 타임스탬프를 유효성 검증한 후에만, 제2 그룹(135, γ2)이 제2 그룹 서명을 사용하여 제2 메시지(145, M2)에 서명하고, 그에 따라 도 1에 예시된 바와 같이 임계치 중계 체인(100)이 동작을 계속한다.
제2 프로토콜(130)은 해시 값(155, HN-1)과 함께 제N 그룹(135, γN)을 선택하도록 구성된다. 하나 이상의 실시형태들에 있어서, 제4 프로토콜(215)은 제N 그룹(135, γN)을 지정하여 복수의 블록 중 하나의 블록을 타임스탬핑하도록 구성되고, 복수의 블록은 선행 사이클(예를 들어: CN-1) 내에 있다. 제4 프로토콜(215)이 상응하는 타임스탬프를 유효성 검증한 후에만, 제N 그룹(135, γN)이 제N 그룹 서명을 사용하여 제N 메시지(145, MN)에 서명하고, 그에 따라 도 1에 예시된 바와 같이 임계치 중계 체인(100)이 동작을 계속한다.
도 5는 하나 이상의 실시형태들에 따른 임계치 중계 체인(100)의 순위화 시스템(500)의 시스템 아키텍처를 예시한다. 다양한 실시형태들에 있어서, 임계치 중계 체인(100)의 순위화 시스템의 시스템 아키텍처는 제8 프로토콜(525)을 포함하고, 제8 프로토콜(525)은 복수의 블록 메이커의 각각의 블록 메이커에 대한 순위를 도출하도록 구성된다. 일부 실시형태들에 있어서, 순위는 선행 사이클(예를 들어: C0)에 대한 제1 그룹 서명으로부터 도출된다. 일부 실시형태들에 있어서, 순위는 선행 사이클(예를 들어: C1)에 대한 제2 그룹 서명으로부터 도출된다. 일부 실시형태들에 있어서, 순위는 선행 사이클(예를 들어: CN-1)에 대한 제N 그룹 서명으로부터 도출된다.
임계치 중계 체인(100)의 순위화 시스템의 시스템 아키텍처는 제9 프로토콜(530)을 더 포함하고, 제9 프로토콜(530)은 복수의 제1 가중치를 복수의 블록 메이커의 각각의 블록 메이커와 연관되는 각각의 블록에 할당하도록 구성된다. 일부 실시형태들에 있어서, 단일의 제1 가중치가 각각의 블록에 할당된다. 적어도 하나의 실시형태에 있어서, 각각의 블록의 복수의 제1 가중치의 각각의 제1 가중치는 복수의 블록 메이커의 각각의 블록 메이커의 순위에 기초한다.
임계치 중계 체인(100)의 순위화 시스템의 시스템 아키텍처는 제10 프로토콜(535)을 더 포함하고, 제10 프로토콜(535)은 제2 가중치를 블록들의 적어도 하나의 체인에 할당하도록 구성된다. 적어도 하나의 실시형태에 있어서, 블록들의 적어도 하나의 체인의 제2 가중치는 블록들의 적어도 하나의 체인에서의 각각의 블록의 각각의 제1 가중치에 기초하고, 블록들의 적어도 하나의 체인의 하나의 블록은 블록들의 적어도 하나의 체인의 다른 블록을 참조한다.
임계치 중계 체인(100)의 순위화 시스템의 시스템 아키텍처는 제11 프로토콜(540)을 더 포함하고, 제11 프로토콜(540)은 블록들의 적어도 하나의 체인의 일련의 블록들의 선행 블록을 팩터(factor)에 기초하여 선택하도록 구성된다. 적어도 하나의 실시형태에 있어서, 팩터는 일련의 블록들의 선행 블록의 제1 가중치 또는 일련의 블록들의 제2 가중치를 포함한다.
도 6은 하나 이상의 실시형태들에 따른 시스템 아키텍처에서 데이터를 처리하는 방법(600)을 예시하는 흐름도이다. 프로세서에 의한 실행시에, 컴퓨터-판독 가능 프로그램으로 인코딩된 비일시적인 컴퓨터-판독 가능 매체가 컴퓨터로 하여금 방법(600)을 실행하게 할 것이다. 방법(600)은 복수의 노드가 제6 프로토콜에 의해 지명되는 단계(605)로 시작한다. 방법(600)은 복수의 그룹이 제1 프로토콜에 의해 형성되는 단계(610)로 계속된다. 적어도 하나의 실시형태에 있어서, 복수의 그룹 각각은 네트워크로부터 무작위로 선택된 노드들의 세트를 포함한다. 일부 실시형태들에 있어서, 무작위로 선택된 노드들의 세트는 복수의 노드의 일부이다.
방법(600)은 무작위로 선택된 노드들의 세트 및/또는 복수의 노드의 선택 노드의 임의의 잠재적인 부정행위자가 제7 프로토콜에 의해 검출되는 단계(615)로 계속된다. 하나 이상의 실시형태들에 있어서, 선택 노드는 페널티를 받거나 및/또는 지명이 철회된다. 방법(600)은 제1 그룹이 제2 프로토콜에 의해 복수의 그룹으로부터 무작위로 선택되는 단계(620)로 계속된다. 일부 실시형태에 있어서, 제1 그룹은 시드에 기초하여 제2 프로토콜에 의해 무작위로 선택된다. 일부 실시형태들에 있어서, 제1 그룹은 선행 그룹 서명에 기초한 시드에 기초하여 제2 프로토콜에 의해 무작위로 선택된다.
방법(600)은 제1 그룹에 대한 그룹 공개 키가 셋업 프로토콜에 의해 설정되는 단계(625)로 더 계속된다. 단계(630)에서, 제1 그룹은 제1 그룹 서명을 생성함으로써 제1 메시지에 서명한다. 하나 이상의 실시형태들에 있어서, 제3 프로토콜은 제1 그룹을 지정하여 제1 메시지에 서명하도록 구성된다. 또한, 방법(600)은 해시 값이 제1 그룹 서명으로부터 생성되는 단계(635)로 계속된다. 하나 이상의 실시형태들에 있어서, 해시 함수는 제1 그룹 서명으로부터 해시 값을 생성하도록 구성된다.
방법(600)은 해시 값이 제2 프로토콜과 함께 후속 사이클에 대한 제2 그룹을 선택하도록 구성되는 단계(640)로 계속된다. 하나 이상의 실시형태들에 있어서, 후속 사이클의 제2 그룹은, 후술되는 선행 사이클의 단계(670)에 지시된 바와 같이, 복수의 블록 중 하나의 블록이 제4 프로토콜에 의해 유효성 검증 또는 타임스탬핑 중 적어도 하나가 이루어진 후에만, 단계(625)와 유사한 단계들로 계속되고 방법(600)을 계속 이어 나간다.
선행 사이클을 다시 참조하면, 방법(600)은 복수의 블록 메이커가 해시 값에 의해 선택되는 단계(645)로 계속된다. 부가적으로, 방법(600)은 복수의 블록 메이커의 각각의 블록 메이커가 제12 프로토콜에 의해 우선순위가 정해지는 단계(650)를 포함한다. 적어도 하나의 실시형태에 있어서, 제12 프로토콜은 순위화 시스템에 기초하여 복수의 블록 메이커의 각각의 블록 메이커를 우선순위를 정하도록 구성된다. 일부 실시형태들에 있어서, 순위화 시스템은 도 5에 예시된 바와 같은 순위화 시스템(500)을 포함한다. 방법(600)은 선행 사이클 내의 복수의 블록의 각각의 블록이 제13 프로토콜에 의해 우선순위가 정해지는 단계(655)로 계속된다. 방법(600)은 부가적으로 복수의 블록 중 하나의 블록이 제4 프로토콜에 의해 타임스탬핑되는 단계(660)로 계속된다. 적어도 하나의 실시형태에 있어서, 제4 프로토콜은 제2 그룹을 지정하여 선행 사이클에서 복수의 블록 중 해당 블록을 타임스탬핑하도록 구성된다. 일부 실시형태들에 있어서, 제4 프로토콜은 우선순위가 정해진 블록들만을 타임스탬핑한다. 일부 실시형태들에 있어서, 제4 프로토콜은 블록들이 우선순위가 정해졌는지의 여부와 관계없이 블록들을 타임스탬핑한다. 일부 실시형태들에 있어서, 타임스탬프는 이차 그룹 서명을 사용해서 생성된다.
더욱이, 방법(600)은 복수의 블록 중 하나의 블록이 제4 프로토콜에 의해 유효성 검증되는 단계(665)로 계속된다. 적어도 하나의 실시형태에 있어서, 제4 프로토콜은 제2 그룹을 지정하여 이차 그룹 서명을 사용해서 복수의 블록 중 해당 블록을 유효성 검증하도록 구성된다. 일부 실시형태들에 있어서, 우선순위가 정해진 블록만이 유효성 검증된다. 일부 실시형태들에 있어서, 복수의 블록이 그들의 우선순위와 관계없이 유효성 검증된다. 일부 실시형태들에 있어서, 유효성 검증된 블록만이 타임스탬핑된다. 일부 실시형태들에 있어서, 타임스탬핑된 블록만이 유효성 검증된다.
방법(600)은 이차 그룹 서명 또는 선행 사이클 내의 타임스탬핑된 블록 중 적어도 하나가 제5 프로토콜에 의해 브로드캐스팅되는 단계(670)로 더 계속된다.
당업자라면, 하나 이상의 실시형태들에서, 동작들이 방법(600)에 대하여 추가 또는 제거된다는 것을 인식할 것이다. 당업자라면, 다양한 대안적인 실시형태들에서, 방법(600)의 동작들의 순서가 달라진다는 것을 또한 인식할 것이다.
도 7은 하나 이상의 실시형태들에 따른 임계치 중계 체인(700)의 시스템 아키텍처를 예시한다. 임계치 중계 체인(700)(도 7)의 시스템 아키텍처는 임계치 중계 체인(100)(도 1)과 유사하다. 임계치 중계 체인(700)(도 7)에서의 유사한 요소들은 도 1에서와 동일한 참조 번호를 갖는다. 도 1과 비교하여, 도 7은 해시 값(160, H0)을 포함하고, 도 7의 해시 값(160, H0)은 복수의 블록 메이커를 선택하지 않는다.
전술한 바와 같이, 임계치 중계 체인(700)(도 7)의 시스템 아키텍처의 나머지 특징은 임계치 중계 체인(100)(도 1)의 시스템 아키텍처와 유사하다.
도 8은 하나 이상의 실시형태들에 따른 블록체인을 동작시키도록 구성된 임계치 중계 체인(700)의 복수의 프로토콜의 시스템 아키텍처를 예시한다. 임계치 중계 체인(700)(도 8)의 복수의 프로토콜의 시스템 아키텍처는 임계치 중계 체인(100)(도 2)의 복수의 프로토콜의 시스템 아키텍처와 유사하다. 임계치 중계 체인(700)(도 8)의 복수의 프로토콜의 시스템 아키텍처에서의 유사한 요소들은 도 2에서와 동일한 참조 번호를 갖는다. 도 2와 비교하여, 도 8은 해시 값(160, H0)을 포함하고, 도 8의 해시 값(160, H0)은 복수의 블록 메이커를 선택하지 않는다.
도 2와 비교하여, 블록체인을 동작시키도록 구성된 임계치 중계 체인(700)(도 8)의 복수의 프로토콜의 시스템 아키텍처는 제4 프로토콜(215)을 포함하고, 도 8의 제4 프로토콜(215)은 적어도 하나의 실시형태에 따라, 제1 그룹(135, γ1)을 지정하여 제1 이차 그룹 서명을 생성함으로써 각각의 사이클(예를 들어: C1) 내의 복수의 블록 중 하나의 블록을 유효성 검증하도록 구성된다. 제1 이차 그룹 서명은 해당 블록을 인증한다. 부가적으로, 도 8의 제4 프로토콜(215)은 적어도 하나의 실시형태에 따라, 제2 그룹(135, γ2)을 지정하여 제2 이차 그룹 서명을 생성함으로써 각각의 사이클(예를 들어: C2) 내의 복수의 블록 중 하나의 블록을 유효성 검증하도록 구성된다. 제2 이차 그룹 서명은 해당 블록을 인증한다. 더욱이, 도 8의 제4 프로토콜(215)은 적어도 하나의 실시형태에 따라, 제N 그룹(135, γN)을 지정하여 제N 이차 그룹 서명을 생성함으로써 각각의 사이클(예를 들어: CN) 내의 복수의 블록 중 하나의 블록을 유효성 검증하도록 구성된다. 제N 이차 그룹 서명은 해당 블록을 인증한다. 적어도 하나의 실시형태에 있어서, 도 8의 제4 프로토콜(215)은 상기 기능들을 동시에 수행하도록 구성된다. 다양한 실시형태들에 있어서, 임의의 블록의 유효성 검증은 서명 점검, 참조 점검, 해시 검증, 트랜잭션 검증, 크기 점검, 실행 시간 점검, 또는 이중-소비 점검 중 적어도 하나를 포함한다. 적어도 하나의 실시형태에 있어서, 도 8의 제4 프로토콜(215)은 블록들을 유효성 검증하도록 구성되고, 그에 따라 상기 유효성 검증된 블록들이 공증된다.
도 2와 비교하여, 블록체인을 동작시키도록 구성된 임계치 중계 체인(700)(도 8)의 복수의 프로토콜의 시스템 아키텍처는 제4 프로토콜(215)을 포함하고, 도 8의 제4 프로토콜(215)은 제1 그룹(135, γ1)을 지정하여 제1 이차 그룹 서명을 생성함으로써 복수의 블록 중 제1 우선순위의 블록을 타임스탬핑하도록 구성되고, 복수의 블록은 각각의 사이클(예를 들어: C1) 내에 있다. 제1 이차 그룹 서명은 제1 우선순위의 블록을 인증한다. 부가적으로, 도 8의 제4 프로토콜(215)은 제2 그룹(135, γ2)을 지정하여 제2 이차 그룹 서명을 생성함으로써 복수의 블록 중 제2 우선순위의 블록을 타임스탬핑하도록 구성되고, 복수의 블록은 각각의 사이클(예를 들어: C2) 내에 있다. 제2 이차 그룹 서명은 제2 우선순위의 블록을 인증한다. 더욱이, 도 8의 제4 프로토콜(215)은 제N 그룹(135, γN)을 지정하여 제N 이차 그룹 서명을 생성함으로써 복수의 블록 중 제N 우선순위의 블록을 타임스탬핑하도록 구성되고, 복수의 블록은 각각의 사이클(예를 들어: CN) 내에 있다. 제N 이차 그룹 서명은 제N 우선순위의 블록을 인증한다. 적어도 하나의 실시형태에 있어서, 도 8의 제4 프로토콜(215)은 상기 기능들을 동시에 수행하도록 구성된다. 다양한 실시형태들에 있어서, 타임스탬핑은 서명 스킴에 기초하고, 서명 스킴은 이중선형 페어링, 타원 곡선 상의 이중선형 페어링, 임계치 스킴, GDH(Gap Diffie-Hellman group) 또는 BLS(Boneh-Lynn-Shacham) 스킴 중 적어도 하나를 포함한다. 하나 이상의 실시형태들에 있어서, 도 8의 제4 프로토콜(215)은 유효성 검증된 블록들만을 타임스탬핑하도록 구성되고, 그에 따라 상기 타임스탬핑되고 유효성 검증된 블록들이 공증된다. 다양한 실시형태들에 있어서, 타임스탬프는 특정 시간대에만 발행된다.
일부 실시형태들에 있어서, 공증된 블록은 제1 그룹(135, γ1)의 임계치 세트에 의해 생성되도록 구성되고, 임계치 세트의 크기는 제1 그룹(135, γ1)의 크기보다 작거나 같다. 일부 실시형태들에 있어서, 공증된 블록은 제2 그룹(135, γ2)의 임계치 세트에 의해 생성되도록 구성되고, 임계치 세트의 크기는 제2 그룹(135, γ2)의 크기보다 작거나 같다. 일부 실시형태들에 있어서, 공증된 블록은 제N 그룹(135, γN)의 임계치 세트에 의해 생성되도록 구성되고, 임계치 세트의 크기는 제N 그룹(135, γN)의 크기보다 작거나 같다.
전술한 바와 같이, 블록체인을 동작시키도록 구성된 임계치 중계 체인(700)(도 8)의 복수의 프로토콜의 시스템 아키텍처의 나머지 특징은 블록체인을 동작시키도록 구성된 임계치 중계 체인(100)(도 2)의 복수의 프로토콜의 시스템 아키텍처와 유사하다.
도 9는 하나 이상의 실시형태들에 따른 복수의 블록 중 하나의 블록을 유효성 검증 및 타임스탬핑하도록 구성된 임계치 중계 체인(700)의 복수의 프로토콜의 시스템 아키텍처를 예시한다. 임계치 중계 체인(700)(도 9)의 복수의 프로토콜의 시스템 아키텍처는 임계치 중계 체인(100)(도 3)의 복수의 프로토콜의 시스템 아키텍처와 유사하다. 임계치 중계 체인(700)(도 9)의 복수의 프로토콜의 시스템 아키텍처에서의 유사한 요소들은 도 3에서와 동일한 참조 번호를 갖는다. 도 3과 비교하여, 도 9는 해시 값(160, H0)을 포함하고, 도 9의 해시 값(160, H0)은 복수의 블록 메이커를 선택하지 않는다.
도 3과 비교하여, 복수의 블록 중 하나의 블록을 유효성 검증 및 타임스탬핑하도록 구성된 임계치 중계 체인(700)(도 9)의 복수의 프로토콜의 시스템 아키텍처는 제4 프로토콜(315)을 포함한다. 도 9의 제4 프로토콜(315)은 제N 그룹(135, γN)을 지정하여 제N 이차 그룹 서명을 생성함으로써 각각의 사이클(예를 들어: CN) 내의 복수의 블록 중 하나의 블록을 유효성 검증하도록 구성된다. 제N 이차 그룹 서명은 해당 블록을 인증한다. 적어도 하나의 실시형태에 있어서, 도 9의 제4 프로토콜(315)은 상기 기능들을 동시에 수행하도록 구성된다. 다양한 실시형태들에 있어서, 임의의 블록의 유효성 검증은 서명 점검, 참조 점검, 해시 검증, 트랜잭션 검증, 크기 점검, 실행 시간 점검, 또는 이중-소비 점검 중 적어도 하나를 포함한다. 적어도 하나의 실시형태에 있어서, 도 9의 제4 프로토콜(315)은 블록들을 유효성 검증하도록 구성되고, 그에 따라 상기 유효성 검증된 블록들이 공증된다.
도 3과 비교하여, 도 9의 제4 프로토콜(315)은 제1 그룹(135, γ1)을 지정하여 제1 이차 그룹 서명을 생성함으로써 복수의 블록 중 하나의 블록을 유효성 검증 및 타임스탬핑하도록 구성되고, 복수의 블록은 각각의 사이클(예를 들어: C1) 내에 있다. 제1 이차 그룹 서명은 해당 블록을 인증한다. 부가적으로, 도 9의 제4 프로토콜(315)은 제2 그룹(135, γ2)을 지정하여 제2 이차 그룹 서명을 생성함으로써 복수의 블록 중 하나의 블록을 타임스탬핑하도록 구성되고, 복수의 블록은 각각의 사이클(예를 들어: C2) 내에 있다. 제2 이차 그룹 서명은 해당 블록을 인증한다. 더욱이, 도 9의 제4 프로토콜(315)은 제N 그룹(135, γN)을 지정하여 제N 이차 그룹 서명을 생성함으로써 복수의 블록 중 하나의 블록을 타임스탬핑하도록 구성되고, 복수의 블록은 각각의 사이클(예를 들어: CN) 내에 있다. 제N 이차 그룹 서명은 해당 블록을 인증한다. 적어도 하나의 실시형태에 있어서, 도 9의 제4 프로토콜(315)은 상기 기능들을 동시에 수행하도록 구성된다. 다양한 실시형태들에 있어서, 타임스탬핑은 서명 스킴에 기초하고, 서명 스킴은 이중선형 페어링, 타원 곡선 상의 이중선형 페어링, 임계치 스킴, GDH(Gap Diffie-Hellman group) 또는 BLS(Boneh-Lynn-Shacham) 스킴 중 적어도 하나를 포함한다. 하나 이상의 실시형태들에 있어서, 도 9의 제4 프로토콜(315)은 유효성 검증된 블록들을 타임스탬핑하도록 구성된다. 하나 이상의 실시형태들에 있어서, 도 9의 제4 프로토콜(315)은 유효성 검증된 블록들만을 타임스탬핑하도록 구성되고, 그에 따라 상기 타임스탬핑되고 유효성 검증된 블록들이 공증된다. 다양한 실시형태들에 있어서, 타임스탬프는 특정 시간대에만 발행된다.
일부 실시형태들에 있어서, 공증된 블록은 제1 그룹(135, γ1)의 임계치 세트에 의해 생성되도록 구성되고, 임계치 세트의 크기는 제1 그룹(135, γ1)의 크기보다 작거나 같다. 일부 실시형태들에 있어서, 공증된 블록은 제2 그룹(135, γ2)의 임계치 세트에 의해 생성되도록 구성되고, 임계치 세트의 크기는 제2 그룹(135, γ2)의 크기보다 작거나 같다. 일부 실시형태들에 있어서, 공증된 블록은 제N 그룹(135, γN)의 임계치 세트에 의해 생성되도록 구성되고, 임계치 세트의 크기는 제N 그룹(135, γN)의 크기보다 작거나 같다.
제1 그룹 서명은 제1 그룹(135, γ1)의 임계치 세트에 의해 생성되도록 구성되고, 임계치 세트의 크기는 제1 그룹의 크기보다 작거나 같다. 적어도 하나의 실시형태에 있어서, 제1 그룹(135, γ1)의 임계치 세트의 크기는 시스템 파라미터이다. 제2 그룹 서명은 제1 그룹(135, γ2)의 임계치 세트에 의해 생성되도록 구성되고, 임계치 세트의 크기는 제2 그룹의 크기보다 작거나 같다. 적어도 하나의 실시형태에 있어서, 제2 그룹(135, γ2)의 임계치 세트는 시스템 파라미터이다. 제N 그룹 서명은 제N 그룹(135, γN)의 임계치 세트에 의해 생성되도록 구성되고, 임계치 세트의 크기는 제N 그룹의 크기보다 작거나 같다. 적어도 하나의 실시형태에 있어서, 제N 그룹(135, γN)의 임계치 세트는 시스템 파라미터이다.
다시 도 3과 비교하면, 복수의 블록 중 해당 블록을 유효성 검증 및 타임스탬핑하도록 구성된 임계치 중계 체인(700)(도 9)의 복수의 프로토콜의 시스템 아키텍처는 제5 프로토콜(320)을 더 포함하고, 도 9의 제5 프로토콜(320)은 제1 이차 그룹 서명 또는 사이클(C1) 내의 타임스탬핑된 블록 중 적어도 하나를 네트워크에 브로드캐스팅하도록 구성된다. 제1 이차 그룹 서명은 각각의 블록을 타임스탬핑하도록 구성된다. 부가적으로, 도 9의 제5 프로토콜(320)은 제2 이차 그룹 서명 또는 사이클(C2) 내의 타임스탬핑된 블록 중 적어도 하나를 네트워크에 브로드캐스팅하도록 구성된다. 제2 이차 그룹 서명은 각각의 블록을 타임스탬핑하도록 구성된다. 더욱이, 도 9의 제5 프로토콜(320)은 제N 이차 그룹 서명 또는 사이클(CN) 내의 타임스탬핑된 블록 중 적어도 하나를 네트워크에 브로드캐스팅하도록 구성된다. 제N 이차 그룹 서명은 각각의 블록을 타임스탬핑하도록 구성된다. 적어도 하나의 실시형태에 있어서, 도 9의 제5 프로토콜(320)은 상기 기능들을 동시에 수행하도록 구성된다. 브로드캐스팅된 임의의 타임스탬핑된 블록은 상이한 사이클의 다른 타임스탬핑된 블록을 참조한다.
전술한 바와 같이, 복수의 블록 중 해당 블록을 유효성 검증 및 타임스탬핑하도록 구성된 임계치 중계 체인(700)(도 9)의 복수의 프로토콜의 시스템 아키텍처의 나머지 특징은 복수의 블록 중 해당 블록을 유효성 검증 및 타임스탬핑하도록 구성된 임계치 중계 체인(100)(도 3)의 복수의 프로토콜의 시스템 아키텍처와 유사하다.
도 10은 하나 이상의 실시형태들에 따른 계통적인 무작위성-기반의 블록 유효성 검증을 유지하도록 구성된 임계치 중계 체인(700)의 복수의 프로토콜의 시스템 아키텍처를 예시한다. 임계치 중계 체인(700)(도 10)의 복수의 프로토콜의 시스템 아키텍처는 임계치 중계 체인(100)(도 4)의 복수의 프로토콜의 시스템 아키텍처와 유사하다. 임계치 중계 체인(700)(도 10)의 복수의 프로토콜의 시스템 아키텍처에서의 유사한 요소들은 도 4에서와 동일한 참조 번호를 갖는다. 도 4와 비교하여, 도 10은 해시 값(160, H0)을 포함하고, 도 10의 해시 값(160, H0)은 복수의 블록 메이커를 선택하지 않는다.
도 4와 비교하여, 도 10의 제4 프로토콜(215)은 제1 그룹(135, γ1)을 지정하여 복수의 블록 중 하나의 블록을 타임스탬핑하도록 구성되고, 복수의 블록은 각각의 사이클(예를 들어: C1) 내에 있다. 하나 이상의 실시형태들에 있어서, 도 10의 제4 프로토콜(215)은 제2 그룹(135, γ2)을 지정하여 복수의 블록 중 하나의 블록을 타임스탬핑하도록 구성되고, 복수의 블록은 각각의 사이클(예를 들어: C2) 내에 있다. 제2 그룹(135, γ2)이 제1 그룹(135, γ1)으로부터의 타임스탬프를 관찰한 후에만, 제2 그룹(135, γ2)이 도 7에 암시적으로 주지된 바와 같이 제2 그룹 서명을 생성한다. 하나 이상의 실시형태들에 있어서, 도 10의 제4 프로토콜(215)은 제N 그룹(135, γN)을 지정하여 복수의 블록 중 하나의 블록을 타임스탬핑하도록 구성되고, 복수의 블록은 각각의 사이클(예를 들어: CN) 내에 있다. 제(N+1) 그룹(135, γN+1)이 제N 그룹(135, γN)으로부터의 타임스탬프를 관찰한 후에만, 제(N+1) 그룹(135, γN+1)이 도 7에 암시적으로 주지된 바와 같이 제(N+1) 그룹 서명을 생성한다.
전술한 바와 같이, 계통적인 무작위성-기반의 블록 유효성 검증을 유지하도록 구성된 임계치 중계 체인(700)(도 10)의 복수의 프로토콜의 시스템 아키텍처의 나머지 특징은 계통적인 무작위성-기반의 블록 유효성 검증을 유지하도록 구성된 임계치 중계 체인(100)(도 4)의 복수의 프로토콜의 시스템 아키텍처와 유사하다.
도 11은 하나 이상의 실시형태들에 따른 임계치 중계 체인(700)의 순위화 시스템(1100)의 시스템 아키텍처를 예시한다. 임계치 중계 체인(700)(도 11)의 순위화 시스템의 시스템 아키텍처는 임계치 중계 체인(100)(도 5)의 순위화 시스템의 시스템 아키텍처와 유사하다. 임계치 중계 체인(700)(도 11)의 순위화 시스템의 시스템 아키텍처에서의 유사한 요소들은 도 5에서와 동일한 참조 번호를 갖는다. 도 5와 비교하여, 도 11은 해시 값(160, H0)을 포함하고, 도 11의 해시 값(160, H0)은 복수의 블록 메이커를 선택하지 않는다.
임계치 중계 체인(700)(도 11)의 순위화 시스템의 시스템 아키텍처는 제8 프로토콜(525)을 포함하고, 도 11의 제8 프로토콜(525)은 복수의 블록 메이커의 각각의 블록 메이커에 대한 순위를 도출하도록 구성된다. 도 5와 비교하여, 하나 이상의 실시형태들에 따라, 순위는 각각의 사이클(예를 들어: C1)에 대한 제1 그룹 서명으로부터 도출된다. 일부 실시형태들에 있어서, 순위는 각각의 사이클(예를 들어: C2)에 대한 제2 그룹 서명으로부터 도출된다. 일부 실시형태들에 있어서, 순위는 각각의 사이클(예를 들어: CN)에 대한 제N 그룹 서명으로부터 도출된다.
전술한 바와 같이, 임계치 중계 체인(700)(도 11)의 순위화 시스템의 시스템 아키텍처의 나머지 특징은 임계치 중계 체인(100)(도 5)의 순위화 시스템의 시스템 아키텍처와 유사하다.
도 12는 하나 이상의 실시형태들에 따른 시스템 아키텍처에서 데이터를 처리하는 방법(1200)을 예시하는 흐름도이다. 프로세서에 의한 실행시에, 컴퓨터-판독 가능 프로그램으로 인코딩된 비일시적인 컴퓨터-판독 가능 매체가 컴퓨터로 하여금 방법(1200)을 실행하게 할 것이다. 방법(1200)은 복수의 노드가 제6 프로토콜에 의해 지명되는 단계(605)로 시작한다. 방법(1200)은 복수의 그룹이 제1 프로토콜에 의해 형성되는 단계(610)로 계속된다. 적어도 하나의 실시형태에 있어서, 복수의 그룹 각각은 네트워크로부터 무작위로 선택된 노드들의 세트를 포함한다. 일부 실시형태들에 있어서, 무작위로 선택된 노드들의 세트는 복수의 노드의 일부이다.
방법(1200)은 무작위로 선택된 노드들의 세트 및/또는 복수의 노드의 선택 노드의 임의의 잠재적인 부정행위자가 제7 프로토콜에 의해 검출되는 단계(615)로 계속된다. 하나 이상의 실시형태들에 있어서, 선택 노드는 페널티를 받거나 및/또는 지명이 철회된다. 방법(1200)은 제1 그룹이 제2 프로토콜에 의해 복수의 그룹으로부터 무작위로 선택되는 단계(620)로 계속된다. 일부 실시형태에 있어서, 제1 그룹은 시드에 기초하여 제2 프로토콜에 의해 무작위로 선택된다. 일부 실시형태들에 있어서, 제1 그룹은 선행 그룹 서명에 기초한 시드에 기초하여 제2 프로토콜에 의해 무작위로 선택된다.
방법(1200)은 제1 그룹에 대한 그룹 공개 키가 셋업 프로토콜에 의해 설정되는 단계(625)로 더 계속된다. 단계(630)에서, 제1 그룹은 제1 그룹 서명을 생성함으로써 제1 메시지에 서명한다. 하나 이상의 실시형태들에 있어서, 제3 프로토콜은 제1 그룹을 지정하여 제1 메시지에 서명하도록 구성된다. 또한, 방법(1200)은 해시 값이 제1 그룹 서명으로부터 생성되는 단계(635)로 계속된다. 하나 이상의 실시형태들에 있어서, 해시 함수는 제1 그룹 서명으로부터 해시 값을 생성하도록 구성된다.
방법(1200)은 해시 값이 제2 프로토콜과 함께 후속 사이클에 대한 제2 그룹을 선택하도록 구성되는 단계(640)로 계속된다. 하나 이상의 실시형태들에 있어서, 후속 사이클의 제2 그룹은, 후술되는 선행 사이클의 단계(670)에 지시된 바와 같이, 복수의 블록 중 하나의 블록이 제4 프로토콜에 의해 유효성 검증 또는 타임스탬핑 중 적어도 하나가 이루어진 후에만, 단계(625)와 유사한 단계들로 계속되고 방법(1200)을 계속 이어 나간다. 적어도 하나의 실시형태에 있어서, 복수의 블록 중 해당 블록이 유효성 검증 또는 타임스탬핑 중 적어도 하나가 이루어진 것을 제2 그룹이 관찰한 후에만 제2 그룹이 제2 메시지에 서명한다.
선행 사이클을 다시 참조하면, 방법(1200)은 복수의 블록 메이커가 해시 값에 의해 선택되는 단계(645)로 계속된다. 부가적으로, 방법(1200)은 복수의 블록 메이커의 각각의 블록 메이커가 제12 프로토콜에 의해 우선순위가 정해지는 단계(650)를 포함한다. 적어도 하나의 실시형태에 있어서, 제12 프로토콜은 순위화 시스템에 기초하여 복수의 블록 메이커의 각각의 블록 메이커를 우선순위를 정하도록 구성된다. 일부 실시형태들에 있어서, 순위화 시스템은 도 11에 예시된 바와 같은 순위화 시스템(1100)을 포함한다. 방법(1200)은 각각의 사이클 내의 복수의 블록의 각각의 블록이 제13 프로토콜에 의해 우선순위가 정해지는 단계(655)로 계속된다. 방법(1200)은 부가적으로 복수의 블록 중 하나의 블록이 제4 프로토콜에 의해 타임스탬핑되는 단계(660)로 계속된다. 적어도 하나의 실시형태에 있어서, 제4 프로토콜은 제1 그룹을 지정하여 각각의 사이클(예를 들어: C1)에서 복수의 블록 중 해당 블록을 타임스탬핑하도록 구성된다. 일부 실시형태들에 있어서, 제4 프로토콜은 우선순위가 정해진 블록들만을 타임스탬핑한다. 일부 실시형태들에 있어서, 제4 프로토콜은 블록들이 우선순위가 정해졌는지의 여부와 관계없이 블록들을 타임스탬핑한다. 일부 실시형태들에 있어서, 타임스탬프는 이차 그룹 서명을 사용해서 생성된다.
더욱이, 방법(1200)은 복수의 블록 중 하나의 블록이 제4 프로토콜에 의해 유효성 검증되는 단계(665)로 계속된다. 적어도 하나의 실시형태에 있어서, 제4 프로토콜은 제1 그룹을 지정하여 이차 그룹 서명을 사용해서 복수의 블록 중 해당 블록을 유효성 검증하도록 구성된다. 일부 실시형태들에 있어서, 우선순위가 정해진 블록만이 유효성 검증된다. 일부 실시형태들에 있어서, 복수의 블록이 그들의 우선순위와 관계없이 유효성 검증된다. 일부 실시형태들에 있어서, 유효성 검증된 블록만이 타임스탬핑된다. 일부 실시형태들에 있어서, 타임스탬핑된 블록만이 유효성 검증된다.
방법(1200)은 이차 그룹 서명 또는 각각의 사이클 내의 타임스탬핑된 블록 중 적어도 하나가 제5 프로토콜에 의해 브로드캐스팅되는 단계(670)로 더 계속된다.
당업자라면, 하나 이상의 실시형태들에서, 동작들이 방법(1200)에 대하여 추가 또는 제거된다는 것을 인식할 것이다. 당업자라면, 다양한 대안적인 실시형태들에서, 방법(1200)의 동작들의 순서가 달라진다는 것을 또한 인식할 것이다.
도 13은 하나 이상의 실시형태들에 따른 임계치 중계 체인(1300)의 시스템 아키텍처를 예시한다. 임계치 중계 체인(1300)(도 13)의 시스템 아키텍처는 임계치 중계 체인(100)(도 1)과 유사하다. 임계치 중계 체인(1300)(도 13)에서의 유사한 요소들은 도 1에서와 동일한 참조 번호를 갖는다. 도 1과 비교하여, 도 13은 제1 델타 그룹(185, Δ1) 및 제1 그룹(135, γ1)을 무작위로 선택하도록 구성된 제2 프로토콜(130)을 포함한다.
도 13의 제3 프로토콜(140)은 제1 델타 그룹(185, Δ1)을 지정하여 제1 그룹 서명을 생성함으로써 제1 메시지(145, M1)에 서명하도록 구성된다. 도 13의 해시 함수(150)는 제1 그룹 서명으로부터 해시 값(155, H1)을 생성하도록 구성된다. 제1 델타 그룹(185, Δ1)의 크기는 시스템 파라미터이다. 적어도 하나의 실시형태에 있어서, 해시 값(155, H1)은 제2 프로토콜(130)을 사용해서 제2 델타 그룹(185, Δ2)을 선택하도록 구성되고, 여기서 제3 프로토콜(140)은 제2 델타 그룹(185, Δ2)을 지정하여 제2 메시지(145, M2)에 서명하도록 구성된다.
다양한 실시형태들에 있어서, 제1 그룹 서명은 제1 델타 그룹(185, Δ1)의 임계치 세트에 의해 생성되도록 구성된다. 일부 실시형태들에 있어서, 임계치 세트는 제1 델타 그룹(185, Δ1)의 크기보다 작다. 일부 실시형태들에 있어서는, 임계치 세트가 제1 델타 그룹(185, Δ1)의 크기와 동일하다. 적어도 하나의 실시형태에 있어서, 제1 델타 그룹(185, Δ1)의 임계치 세트는 시스템 파라미터이다.
전술한 바와 같이, 제2 프로토콜(130)은 제1 델타 그룹(185, Δ1)을 무작위로 선택하도록 구성된다. 다양한 실시형태들에 있어서, 이러한 선택은 난수에 기초한다. 일부 실시형태들에 있어서, 난수는 시드(seed)(160)로부터 도출되는 값이다. 일부 실시형태들에 있어서, 시드(160)는 선행 그룹 서명으로부터 도출된다. 적어도 하나의 실시형태에 있어서, 선행 그룹 서명으로부터 시드(160)의 도출은 해시 함수(150)에 의한 것이다.
도 13의 임계치 중계 체인(1300)은 셋업 프로토콜(180)을 더 포함하고, 셋업 프로토콜(180)은 제1 프로토콜(120)에 의해 형성되는 복수의 그룹(125) 중 해당 그룹에 대한 그룹 공개 키를 설정하도록 구성되며, 제1 그룹 서명은 그룹 공개 키에 의해 유효성 검증되도록 구성된다. 적어도 하나의 실시형태에 있어서, 제1 그룹 서명은 제1 델타 그룹(185, Δ1)의 임계치 세트의 특이성과 무관하게, 그룹 공개 키 및 제1 메시지(145, M1)에 대하여 고유하게 구성된다. 일부 실시형태들에 있어서, 제1 그룹 서명은 이중선형 페어링(bilinear pairing), 타원 곡선 상의 이중선형 페어링, 임계치 스킴, GDH(Gap Diffie-Hellman group) 또는 BLS(Boneh-Lynn-Shacham) 서명 스킴 중 적어도 하나에 기초한다.
하나 이상의 실시형태들에 있어서, 도 13의 셋업 프로토콜(180)은 복수의 그룹(125)의 각각의 그룹(125; G1, G2, ..., GN)의 각각의 노드에 대한 개별적인 개인 키 공유를 설정하도록 구성된다. 적어도 하나의 실시형태에 따르면, 제1 델타 그룹(185, Δ1)의 임계치 세트의 노드들 각각의 개별적인 개인 키 공유는 제1 그룹 서명을 생성하는 데 사용되도록 구성된다. 일부 실시형태들에 있어서, 임계치 세트는 제1 델타 그룹(185, Δ1)의 크기보다 작다. 일부 실시형태들에 있어서는, 임계치 세트가 제1 델타 그룹(185, Δ1)의 크기와 동일하다. 적어도 하나의 실시형태에 있어서, 제1 델타 그룹(185, Δ1)의 임계치 세트는 시스템 파라미터이다.
도 13에 예시된 바와 같이, 임계치 중계 체인(1300)의 다양한 프로토콜 및 함수는 데이터 관리 및 처리의 다중 사이클(즉, C1, C2, ..., CN)에 동시에 응하도록 구성된다. 제2 프로토콜(130)은 해시 값(155, H1)과 함께 제2 델타 그룹(185, Δ2)을 선택하도록 구성되고, 제3 프로토콜(140)은 제2 델타 그룹(185, Δ2)을 지정하여 제2 메시지(145, M2)에 서명하도록 구성된다. 일부 실시형태들에 있어서, 제2 메시지(145, M2)는 제1 그룹 서명의 해시 값(155, H1)을 포함한다. 일부 실시형태들에 있어서, 제2 메시지(145, M2)는 제1 그룹 서명의 해시 값(155, H1)이 결여된다.
하나 이상의 실시형태들에 따르면, 제2 프로토콜(130)은 해시 값(155, HN)과 함께 제(N+1) 델타 그룹(185, ΔN+1)을 선택하도록 구성되고, 제3 프로토콜(140)은 제(N+1) 델타 그룹(185, ΔN+1)을 지정하여 제(N+1) 메시지(145, MN+1)에 서명하도록 구성된다. 해시 함수(150)는 제(N+1) 그룹 서명으로부터 해시 값(155, HN+1)을 생성하도록 구성된다. 일부 실시형태들에 있어서, 제(N+1) 메시지(145, MN+1)는 제N 그룹 서명의 해시 값(155, HN)을 포함한다. 일부 실시형태들에 있어서, 제(N+1) 메시지(145, MN+1)는 제N 그룹 서명의 해시 값(155, HN)이 결여된다.
전술한 바와 같이, 임계치 중계 체인(1300)(도 13)의 시스템 아키텍처의 나머지 특징은 임계치 중계 체인(100)(도 1)의 시스템 아키텍처와 유사하다. 적어도 하나의 실시형태에 있어서, 본원의 도 2 내지 도 6 및 연관된 설명은 임계치 중계 체인(1300)(도 13)의 시스템 아키텍처와 결합된다.
도 14는 하나 이상의 실시형태들에 따른 임계치 중계 체인(1400)의 시스템 아키텍처를 예시한다. 임계치 중계 체인(1400)(도 14)의 시스템 아키텍처는 임계치 중계 체인(1300)(도 13)과 유사하다. 임계치 중계 체인(1400)(도 14)에서의 유사한 요소들은 도 13에서와 동일한 참조 번호를 갖는다. 도 13과 비교하여, 도 14는 해시 값(160, H0)을 포함하고, 도 14의 해시 값(160, H0)은 복수의 블록 메이커를 선택하지 않는다.
전술한 바와 같이, 임계치 중계 체인(1400)(도 14)의 시스템 아키텍처의 나머지 특징은 임계치 중계 체인(1300)(도 13)의 시스템 아키텍처와 유사하다. 적어도 하나의 실시형태에 있어서, 본원의 도 8 내지 도 12 및 연관된 설명은 임계치 중계 체인(1400)(도 14)의 시스템 아키텍처와 결합된다.
도 15는 블록체인에서 노드를 동작시키기 위한 컴퓨팅 또는 프로세싱 노드(1500)의 일 실시예를 예시한다. 이는 본 명세서에서 설명되는 본 발명의 실시형태들의 용도 또는 기능의 범위에 대하여 어떠한 제한도 제안하려는 것이 아니다. 여하튼, 컴퓨팅 노드(1500)는 전술한 기능 중 어느 하나를 구현 및/또는 수행할 수 있다.
컴퓨팅 노드(1500)에 있어서는, 다수의 다른 범용 또는 특수 목적 컴퓨팅 시스템 환경 또는 구성으로 동작하는 컴퓨터 시스템/서버(1502)가 있다. 컴퓨터 시스템/서버(1502)에 사용하기에 적합할 수 있는 잘 알려진 컴퓨팅 시스템, 환경, 및/또는 구성은, 개인용 컴퓨터 시스템, 서버 컴퓨터 시스템, 씬(thin) 클라이언트, 씨크(thick) 클라이언트, 핸드-헬드 또는 랩톱 장치, 마이크로프로세서 시스템, 마이크로프로세서-기반의 시스템, 셋톱 박스, 프로그램 가능 가전제품, 네트워크 PC, 미니컴퓨터 시스템, 메인프레임 컴퓨터 시스템, 및 상기 시스템들 또는 장치들 중 어느 하나를 포함하는 분산 클라우드 컴퓨팅 환경 등을 예로서 포함하지만, 이들로 제한되는 것은 아니다.
컴퓨터 시스템/서버(1502)는 컴퓨터 시스템에 의해 실행되는 프로그램 모듈과 같은 컴퓨터 시스템-실행 가능 명령어의 일반적인 맥락에서 설명될 수 있다. 일반적으로, 프로그램 모듈은 특정한 태스크를 수행하거나 또는 특정한 추상 데이터 타입을 구현하는 루틴, 프로그램, 객체, 컴포넌트, 로직, 데이터 구조 등을 포함할 수 있다. 컴퓨터 시스템/서버(502)는 통신 네트워크를 통해 연결된 원격 처리 장치들에 의해 태스크를 수행하는 분산 클라우드 컴퓨팅 환경에서 실시될 수 있다. 분산 클라우드 컴퓨팅 환경에 있어서, 프로그램 모듈은 메모리 저장 장치를 포함하는 로컬 및 원격 컴퓨터 시스템 저장 매체 모두에 위치될 수 있다.
도 15에 도시된 바와 같이, 클라우드 컴퓨팅 노드(1500)에서의 컴퓨터 시스템/서버(1502)는 범용 컴퓨팅 장치의 형태로 도시된다. 컴퓨터 시스템/서버(1502)의 컴포넌트는 하나 이상의 프로세서 또는 프로세싱 유닛(1504), 시스템 메모리(1506), 및 시스템 메모리(1506)를 포함하는 다양한 시스템 컴포넌트를 프로세서(1504)에 결합하는 버스(1508)를 포함할 수 있지만, 이들로 제한되는 것은 아니다.
버스(1508)는 메모리 버스 또는 메모리 컨트롤러, 주변장치 버스, 가속 그래픽 포트, 및 다양한 버스 아키텍처들 중 어느 하나를 사용하는 프로세서 또는 로컬 버스를 포함하는, 몇 가지 타입의 버스 구조 중 하나 이상을 나타낸다. 제한이 아닌 예로서, 이러한 아키텍처는 ISA(Industry Standard Architecture) 버스, MCA(Micro Channel Architecture) 버스, EISA(Enhanced ISA) 버스, VESA(Video Electronics Standards Association) 로컬 버스, 및 PCI(Peripheral Component Interconnects) 버스를 포함한다.
컴퓨터 시스템/서버(1502)는 일반적으로 다양한 컴퓨터 시스템 판독 가능 매체를 포함한다. 이러한 매체는 컴퓨터 시스템/서버(1502)에 의해 액세스 가능한 임의의 가용 매체일 수 있으며, 휘발성 및 비휘발성 매체, 착탈식 및 비-착탈식 매체를 모두 포함한다.
일 실시형태에 있어서, 시스템 메모리(1506)는 도 6 및 도 12의 흐름도, 및 도 1 내지 도 5, 도 7 내지 도 11, 및 도 13 내지 도 14의 아키텍처를 구현한다. 시스템 메모리(506)는 랜덤 액세스 메모리(RAM)(1510) 및/또는 캐시 메모리(1512)와 같은 휘발성 메모리 형태의 컴퓨터 시스템 판독 가능 매체를 포함할 수 있다. 컴퓨터 시스템/서버(1502)는 다른 착탈식/비-착탈식, 휘발성/비휘발성 컴퓨터 시스템 저장 매체를 더 포함할 수 있다. 단지 예로서, 저장 시스템(1514)은 비-착탈식, 비휘발성 자기 매체(도시되지 않지만, 일반적으로 "하드 드라이브"라고 함)에 대하여 읽고 쓰기 위해 제공될 수 있다. 도시되어 있지 않지만, 착탈식, 비휘발성 자기 디스크(예컨대, "플로피 디스크")에 대하여 읽고 쓰기 위한 자기 디스크 드라이브, 및 CD-ROM, DVD-ROM 또는 다른 광학 매체와 같은 착탈식, 비휘발성 광학 디스크에 대하여 읽고 쓰기 위한 광학 디스크 드라이브가 제공될 수 있다. 이러한 경우, 각각은 하나 이상의 데이터 매체 인터페이스에 의해 버스(1508)에 연결될 수 있다. 아래에서 더 묘사 및 설명되는 바와 같이, 메모리(1506)는 본 발명의 다양한 실시형태들의 기능들을 수행하도록 구성된 프로그램 모듈 세트(예컨대, 적어도 하나)를 갖는 적어도 하나의 프로그램 제품을 포함할 수 있다.
프로그램 모듈(1518) 세트(적어도 하나)를 갖는 프로그램/유틸리티(1516)는 제한이 아닌 예로서 메모리(1506)에 저장될 수 있을 뿐만 아니라, 운영 체제, 하나 이상의 응용 프로그램, 다른 프로그램 모듈, 및 프로그램 데이터에 저장될 수 있다. 운영 체제, 하나 이상의 응용 프로그램, 다른 프로그램 모듈, 및 프로그램 데이터 각각 및 이들의 일부 조합은 네트워킹 환경의 구현을 포함할 수 있다. 프로그램 모듈(1518)은 일반적으로 본 명세서에서 설명된 바와 같은 본 발명의 다양한 실시형태들의 기능 및/또는 방법론을 수행한다.
당업자에 의해 이해되는 바와 같이, 본 발명의 양태들은 시스템, 방법, 또는 컴퓨터 프로그램 제품으로 구체화될 수 있다. 따라서, 본 발명의 양태들은 전적으로 하드웨어 실시형태, 전적으로 소프트웨어 실시형태(펌웨어, 상주 소프트웨어, 마이크로-코드 등을 포함), 또는 본 명세서에서 일반적으로 전부 "회로", "모듈" 또는 "시스템"으로 인용될 수 있는 소프트웨어 양태와 하드웨어 양태를 결합한 실시형태의 형태를 취할 수 있다. 더욱이, 본 발명의 양태들은 컴퓨터 판독 가능 프로그램 코드를 구체화한 하나 이상의 컴퓨터 판독 가능 매체(들)에 구체화되는 컴퓨터 프로그램 제품의 형태를 취할 수 있다.
컴퓨터 시스템/서버(1502)는 또한 키보드, 포인팅 장치, 디스플레이(1522) 등과 같은 하나 이상의 외부 장치(1520); 사용자가 컴퓨터 시스템/서버(1502)와 상호작용할 수 있게 하는 하나 이상의 장치; 및/또는 컴퓨터 시스템/서버(1502)가 하나 이상의 다른 컴퓨팅 장치와 통신할 수 있게 하는 임의의 장치(예컨대, 네트워크 카드, 모뎀 등)와 통신할 수 있다. 이러한 통신은 I/O 인터페이스(1524)를 통해 발생할 수 있다. 여전히, 컴퓨터 시스템/서버(1502)는 네트워크 어댑터(1526)를 통해 로컬 에어리어 네트워크(LAN), 일반 와이드 에어리어 네트워크(WAN), 및/또는 공중 네트워크(예컨대, 인터넷)와 같은 하나 이상의 네트워크와 통신할 수 있다. 묘사된 바와 같이, 네트워크 어댑터(1526)는 버스(1508)를 통해 컴퓨터 시스템/서버(1502)의 다른 컴포넌트들과 통신한다. 도시되지 않았지만, 다른 하드웨어 및/또는 소프트웨어 컴포넌트들이 컴퓨터 시스템/서버(1502)와 함께 사용될 수 있음을 이해해야 한다. 실시예들은, 마이크로코드, 장치 드라이버, 중복 처리 유닛, 외부 디스크 드라이브 어레이, RAID 시스템, 테이프 드라이브, 및 데이터 보관 저장 시스템 등을 포함하지만, 이들로 제한되는 것은 아니다.
본 개시물 및 그 장점이 상세하게 설명되었지만, 본 명세서에서는 첨부된 청구항들에 의해 정의된 바와 같은 본 개시물의 정신 및 범주로부터 일탈함이 없이 다양한 변경, 대체 및 치환이 이루어질 수 있음을 이해해야 한다. 또한, 본원의 범주는 본 명세서에서 설명되는 프로세스, 디자인, 기계, 제조, 및 물질의 구성, 수단, 방법 및 단계의 특정한 실시형태들로 제한되게 하려는 것이 아니다. 당업자가 본 개시물로부터 용이하게 이해하게 되는 바와 같이, 본 명세서에서 설명되는 상응하는 실시형태들과 실질적으로 동일한 기능을 수행하거나 실질적으로 동일한 결과를 달성하는, 현재 존재하거나 이후에 개발될 프로세스, 기계, 제조, 물질의 구성, 수단, 방법, 또는 단계가 본 개시물에 따라 이용될 수 있다. 따라서, 첨부된 청구항들은 이러한 프로세스, 기계, 제조, 물질의 구성, 수단, 방법, 또는 단계를 그 범주 내에 포함하도록 의도된다.
본 개시물에서는 몇 가지 실시형태가 제공되었지만, 개시된 시스템 및 방법은 본 개시물의 정신 및 범주로부터 일탈함이 없이, 많은 다른 특정 형태로 구체화될 수 있음을 이해해야 한다. 본 실시예들은 제한적인 것이 아닌 예시적인 것으로 간주되어야 하며, 본 명세서에서 주어진 세부 사항으로 제한되게 하려는 의도는 없다. 예를 들어, 다양한 요소들 또는 컴포넌트들이 다른 시스템에 결합 또는 통합될 수 있거나, 또는 특정한 특징이 생략되거나 또는 구현되지 않을 수 있다.

Claims (15)

  1. 비일시적인 컴퓨터 판독 가능 매체 상에 인코딩된 소프트웨어 아키텍처로서,
    제1 프로토콜(first protocol)― 상기 제1 프로토콜은 복수의 그룹을 형성하도록 구성되고, 상기 복수의 그룹 각각은 네트워크로부터 무작위로 선택된 노드들의 세트를 포함함 ―;
    생성 프로토콜(creation protocol)― 상기 생성 프로토콜은 복수의 거래(dealing) 메시지를 생성하도록 구성되고, 상기 복수의 거래 메시지 각각은 상기 복수의 그룹 중 선택된 그룹에서의 각각의 딜러(dealer) 노드로부터의 정보를 포함함 ―;
    제5 프로토콜(fifth protocol)― 상기 제5 프로토콜은 복수의 블록을 네트워크에 브로드캐스팅하도록 구성되고, 상기 복수의 블록 각각은 상기 복수의 거래 메시지 중 하나의 거래 메시지를 포함함 ―;
    판독 프로토콜(reading protocol)― 상기 판독 프로토콜은 상기 선택된 그룹의 수신기 노드에 대한 거래 메시지를 판독하도록 구성되고, 상기 수신기 노드는 상응하는 거래 메시지에 정보가 포함된 딜러 노드와 상이함 ―;
    검증 프로토콜(verification protocol)― 상기 검증 프로토콜은 상기 상응하는 거래 메시지의 진실성(veracity)을 검증하도록 구성되고, 상기 검증 프로토콜은 상기 수신기 노드에 의해 실행되도록 구성됨 ―;
    불평 프로토콜(complaint protocol)― 상기 불평 프로토콜은 불평 메시지를 생성하도록 구성되고, 상기 불평 메시지는 상기 수신기 노드에 의해 서명되고, 상기 불평 프로토콜은 상기 수신기 노드에 의해 실행되도록 구성됨 ―;
    정당화 프로토콜(justification protocol)― 상기 정당화 프로토콜은 정당화 메시지를 생성하도록 구성되고, 상기 정당화 메시지는 상기 불평 메시지에 대한 정당화를 포함하고, 상기 딜러 노드는 상기 정당화 프로토콜을 실행하여 상기 정당화 메시지를 생성하도록 구성됨 ―; 및
    등록 프로토콜(registration protocol)― 상기 등록 프로토콜은 복수의 정당한 공개 키의 확인을 결합하도록 구성되고, 상기 복수의 정당한 공개 키 각각은 각각의 거래 메시지에 대응하며, 상기 검증 프로토콜은 상기 복수의 정당한 공개 키의 각각의 정당한 공개 키의 진실성을 인정함 ―을 포함하는
    소프트웨어 아키텍처.
  2. 제1항에 있어서,
    상기 생성 프로토콜은 상기 선택된 그룹의 각각의 딜러 노드에 의해 실행되도록 구성되는
    소프트웨어 아키텍처.
  3. 제1항에 있어서,
    상기 판독 프로토콜은 상기 선택된 그룹의 각각의 수신기 노드에 의해 실행되도록 구성되는
    소프트웨어 아키텍처.
  4. 제1항에 있어서,
    제2 프로토콜(second protocol)― 상기 제2 프로토콜은 상기 제1 프로토콜에 의해 형성되는 상기 복수의 그룹으로부터 제1 그룹을 선택하도록 구성됨 ―을 더 포함하는
    소프트웨어 아키텍처.
  5. 제4항에 있어서,
    상기 제1 그룹은 상기 선택된 그룹을 포함하는
    소프트웨어 아키텍처.
  6. 제1항에 있어서,
    상기 검증 프로토콜은 상기 딜러 노드로부터의 암호화된 키 공유를 검증 벡터에 대하여 검증하도록 구성되고, 상기 상응하는 거래 메시지에서의 정보는 상기 딜러 노드로부터의 암호화된 키 공유 및 상기 검증 벡터를 포함하는
    소프트웨어 아키텍처.
  7. 제6항에 있어서,
    상기 수신기 노드에 의해 실행되는 상기 검증 프로토콜은 상기 딜러 노드로부터의 암호화된 키 공유를 상기 딜러 노드의 상기 검증 벡터에 대하여 검증하도록 구성되는
    소프트웨어 아키텍처.
  8. 제6항에 있어서,
    상기 불평 메시지는 상기 검증 벡터에 대한 상기 암호화된 키 공유의 검증의 결여에 관한 데이터를 포함하는
    소프트웨어 아키텍처.
  9. 제1항에 있어서,
    상기 검증 프로토콜은 상기 정당화 메시지의 진실성을 상기 검증 벡터에 대하여 검증하도록 구성되고, 상기 검증 프로토콜은 검증 노드에 의해 실행되도록 구성되는
    소프트웨어 아키텍처.
  10. 제9항에 있어서,
    상기 검증 프로토콜은 상기 정당화 메시지의 진실성을 부정하는
    소프트웨어 아키텍처.
  11. 제9항에 있어서,
    상기 검증 프로토콜은 상기 정당화 메시지의 진실성을 인정하는
    소프트웨어 아키텍처.
  12. 제1항에 있어서,
    상기 등록 프로토콜은 상기 검증 노드에 의해 실행되는
    소프트웨어 아키텍처.
  13. 제1항에 있어서,
    제2 프로토콜― 상기 제2 프로토콜은 상기 복수의 그룹으로부터 공증인(notary) 그룹을 무작위로 선택하도록 구성되고, 상기 공증인 그룹은 제4 프로토콜(fourth protocol)을 사용하도록 구성됨 ―을 더 포함하는
    소프트웨어 아키텍처.
  14. 제1항에 있어서,
    제5 프로토콜(fifth protocol)― 상기 제5 프로토콜은 복수의 블록을 네트워크에 브로드캐스팅하도록 구성되고, 상기 복수의 블록 각각은 상기 복수의 거래 메시지 중 하나의 거래 메시지를 포함함 ―을 더 포함하는
    소프트웨어 아키텍처.
  15. 제14항에 있어서,
    제4 프로토콜― 상기 제4 프로토콜은 상기 복수의 블록 각각을 공증하도록 구성됨 ―을 더 포함하는
    소프트웨어 아키텍처.
KR1020207021683A 2018-01-26 2019-01-28 시스템 아키텍처 및 시스템 아키텍처에서 데이터를 처리하는 방법 KR102601973B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862622169P 2018-01-26 2018-01-26
US62/622,169 2018-01-26
PCT/IB2019/000101 WO2019145790A1 (en) 2018-01-26 2019-01-28 System architecture and method of processing data therein

Publications (2)

Publication Number Publication Date
KR20200103775A true KR20200103775A (ko) 2020-09-02
KR102601973B1 KR102601973B1 (ko) 2023-11-13

Family

ID=66166262

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207021683A KR102601973B1 (ko) 2018-01-26 2019-01-28 시스템 아키텍처 및 시스템 아키텍처에서 데이터를 처리하는 방법

Country Status (6)

Country Link
US (1) US11190341B2 (ko)
EP (1) EP3744065A1 (ko)
JP (1) JP7337845B2 (ko)
KR (1) KR102601973B1 (ko)
SG (1) SG11202006493XA (ko)
WO (1) WO2019145790A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220100905A1 (en) * 2020-09-30 2022-03-31 Liveoak Technologies, Inc. Platform for providing remote online notarization service

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110035045B (zh) 2018-11-16 2020-04-03 阿里巴巴集团控股有限公司 跨链数据的可信管理方法及装置、电子设备
SG11202002734SA (en) * 2019-09-02 2020-04-29 Alibaba Group Holding Ltd Managing blockchain-based centralized ledger systems
KR20210046357A (ko) * 2019-10-18 2021-04-28 삼성전자주식회사 블록체인 기반 시스템을 위한 키의 저장 및 복구 방법과 그 장치
WO2020143856A2 (en) 2020-04-22 2020-07-16 Alipay (Hangzhou) Information Technology Co., Ltd. Managing transaction requests in ledger systems
EP3837657B1 (en) 2020-04-22 2022-12-07 Alipay (Hangzhou) Information Technology Co., Ltd. Managing transaction requests in ledger systems
CN111630549B (zh) 2020-04-22 2022-05-27 支付宝(杭州)信息技术有限公司 管理账本系统中的交易请求

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170005804A1 (en) * 2015-07-02 2017-01-05 Nasdaq, Inc. Systems and methods of secure provenance for distributed transaction databases
US20170048217A1 (en) * 2015-08-10 2017-02-16 Cisco Technology, Inc. Group membership block chain
JP2017204707A (ja) * 2016-05-10 2017-11-16 日本電信電話株式会社 コンテンツ流通システム、コンテンツ流通方法、コンテンツ生成装置及びコンテンツ生成プログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110083015A1 (en) * 2009-10-05 2011-04-07 Eidgenossiche Technische Hochschule Zurich System and method for an electronic signature for quick and efficient data authentication
US20160342977A1 (en) * 2015-05-20 2016-11-24 Vennd.io Pty Ltd Device, method and system for virtual asset transactions
US10079682B2 (en) * 2015-12-22 2018-09-18 Gemalto Sa Method for managing a trusted identity
JP7129991B2 (ja) * 2016-11-19 2022-09-02 ウィリアムズ,ドミニク システムアーキテクチャ及びこの中のデータの処理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170005804A1 (en) * 2015-07-02 2017-01-05 Nasdaq, Inc. Systems and methods of secure provenance for distributed transaction databases
US20170048217A1 (en) * 2015-08-10 2017-02-16 Cisco Technology, Inc. Group membership block chain
JP2017204707A (ja) * 2016-05-10 2017-11-16 日本電信電話株式会社 コンテンツ流通システム、コンテンツ流通方法、コンテンツ生成装置及びコンテンツ生成プログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Rosario Gennaro et al.,"Secure Distributed Key Generation for Discrete-Log Based Cryptosystems", EUROCRYPT 1999, 295-310(1999.04.15.)* *
Timo Hanke et al., "DFINITY Technology Overview Series Consensus System," URL:https://dfinity.org/pdf-viewer/library/dfinity-consensus.pdf (2018.01.23.)* *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220100905A1 (en) * 2020-09-30 2022-03-31 Liveoak Technologies, Inc. Platform for providing remote online notarization service
US11687676B2 (en) * 2020-09-30 2023-06-27 Liveoak Technologies, Inc. Platform for providing remote online notarization service

Also Published As

Publication number Publication date
KR102601973B1 (ko) 2023-11-13
US11190341B2 (en) 2021-11-30
JP2021511763A (ja) 2021-05-06
SG11202006493XA (en) 2020-08-28
US20190238318A1 (en) 2019-08-01
JP7337845B2 (ja) 2023-09-04
EP3744065A1 (en) 2020-12-02
WO2019145790A1 (en) 2019-08-01

Similar Documents

Publication Publication Date Title
KR102601973B1 (ko) 시스템 아키텍처 및 시스템 아키텍처에서 데이터를 처리하는 방법
Leng et al. Blockchain security: A survey of techniques and research directions
Choudhuri et al. Fairness in an unfair world: Fair multiparty computation from public bulletin boards
EP4120114A1 (en) Data processing method and apparatus, smart device and storage medium
Lashkari et al. A comprehensive review of blockchain consensus mechanisms
CN109314636B (zh) 用于从区块链中安全提取数据的密码方法和系统
EP3563553B1 (en) Method for signing a new block in a decentralized blockchain consensus network
US20200322132A1 (en) System and method for authenticating off-chain data based on proof verification
Cai et al. Towards private, robust, and verifiable crowdsensing systems via public blockchains
CN115210741B (zh) 部分有序的区块链
KR102603069B1 (ko) 시스템 아키텍쳐 및 시스템 아키텍쳐에서의 데이터 처리 방법
CN106503098A (zh) 内置于Paas服务层的区块链云服务框架系统
CN110855432B (zh) 基于可验证随机函数分配验证者奖励的异步bft&dpos共识机制
US10887104B1 (en) Methods and systems for cryptographically secured decentralized testing
CN110599164B (zh) 一种可监管的链下任意收款方快速支付方法
Šimunić et al. Verifiable computing applications in blockchain
CN110990790B (zh) 一种数据处理方法及设备
CN113939821A (zh) 用于在工作量证明区块链网络上进行非并行挖掘的系统和方法
Roy et al. Blockchain scalability: solutions, challenges and future possibilities
CN112633890B (zh) 一种基于区块链的隐匿权益证明的验证方法及装置
Ou et al. Collusion-Resistant Editable Blockchain with Punishment for Malicious Behavior Using Chameleon Hash Algorithm
Adaramola Blockchain Securities Issues: Decentralized Identity System With Key Management Perspective
CN116366293A (zh) 一种基于权益证明机制的区块链共识协议

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant