KR102603069B1 - 시스템 아키텍쳐 및 시스템 아키텍쳐에서의 데이터 처리 방법 - Google Patents
시스템 아키텍쳐 및 시스템 아키텍쳐에서의 데이터 처리 방법 Download PDFInfo
- Publication number
- KR102603069B1 KR102603069B1 KR1020197016863A KR20197016863A KR102603069B1 KR 102603069 B1 KR102603069 B1 KR 102603069B1 KR 1020197016863 A KR1020197016863 A KR 1020197016863A KR 20197016863 A KR20197016863 A KR 20197016863A KR 102603069 B1 KR102603069 B1 KR 102603069B1
- Authority
- KR
- South Korea
- Prior art keywords
- protocol
- group
- block
- computer program
- blocks
- Prior art date
Links
- 238000003672 processing method Methods 0.000 title 1
- 238000000034 method Methods 0.000 claims description 61
- 238000004590 computer program Methods 0.000 claims description 39
- 238000004891 communication Methods 0.000 claims description 8
- 238000012795 verification Methods 0.000 claims description 8
- 238000009795 derivation Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 description 32
- 238000012545 processing Methods 0.000 description 12
- 230000007423 decrease Effects 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 6
- 230000009897 systematic effect Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 238000013523 data management Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000005728 strengthening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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/3255—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/104—Grouping of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
- H04L9/0841—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
- H04L9/3073—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Power Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
비일시적 컴퓨터 판독가능 매체 상에 인코딩된 소프트웨어 아키텍쳐가 제공되며, 소프트웨어 아키텍쳐는 제1 프로토콜을 포함하고, 제1 프로토콜은 복수의 그룹을 형성하도록 구성되고, 복수의 그룹의 각각의 그룹은 네트워크로부터의 임의로 선택된 노드들의 세트를 포함한다. 소프트웨어 아키텍쳐는 제2 프로토콜을 더 포함하고, 제2 프로토콜은 제1 프로토콜에 의해 형성된 복수의 그룹으로부터 제1 그룹을 임의로 선택하도록 구성된다. 추가적으로, 소프트웨어 아키텍쳐는 제3 프로토콜을 포함하고, 제3 프로토콜은 제1 그룹 서명을 생성함으로써 제1 메시지에 사인하기 위해 제1 그룹을 지정하도록 구성된다. 더욱이, 소프트웨어 아키텍쳐는 해시 함수를 포함하고, 해시 함수는 제1 그룹 서명으로부터 해시 값을 생성하도록 구성된다.
Description
관련 출원에 대한 상호 참조
본 미국 특허 출원은, 2016년 11월 19일자로 출원된 미국 가특허 출원 제 62/424,430 호와 관련된 것이고, 그러한 가특허 출원에 대한 이점을 우선권 주장하며, 그 내용 전체는 본 개시내용에서 참조로 인용된다.
배경기술
이 부분에서는 본 개시내용을 보다 잘 이해하도록 도움을 줄 수 있는 양상들을 소개한다. 따라서, 서술 내용은 이러한 관점에서 읽어야 하며, 종래기술인 것 또는 아닌 것에 관해 인정하는 것으로서 이해되지 않아야 한다.
특히 블록체인(blockchain) 동작에 대한 통상적인 시스템 아키텍쳐는 계산 및 동작 속도, 아키텍쳐 보안, 참여 확장성(participation scalability) 및 많은 다른 사항들과 관련된 문제들을 갖고 있다. 본 개시내용의 다양한 실시예는 위에서의 문제들을 해결한다.
본 출원의 한 가지 양상은 비일시적 컴퓨터 판독가능 매체 상에 인코딩된 소프트웨어 아키텍쳐와 관련된 것으로서, 소프트웨어 아키텍쳐는 제1 프로토콜을 포함하고, 제1 프로토콜은 복수의 그룹을 형성하도록 구성되고, 복수의 그룹의 각각의 그룹은 네트워크로부터의 임의로 선택된 노드들의 세트를 포함한다. 소프트웨어 아키텍쳐는 제2 프로토콜을 더 포함하고, 제2 프로토콜은 제1 프로토콜에 의해 형성된 복수의 그룹으로부터 제1 그룹을 임의로 선택하도록 구성된다. 추가적으로, 소프트웨어 아키텍쳐는 제3 프로토콜을 포함하고, 제3 프로토콜은 제1 그룹 서명을 생성함으로써 제1 메시지에 사인하기 위해 제1 그룹을 지정하도록 구성된다. 더욱이, 소프트웨어 아키텍쳐는 해시 함수(hash function)를 포함하고, 해시 함수는 제1 그룹 서명으로부터 해시 값을 생성하도록 구성된다.
본 출원의 다른 양상은 비일시적 컴퓨터 판독가능 매체 상에 인코딩된 소프트웨어 아키텍쳐와 관련된 것으로서, 소프트웨어 아키텍쳐는 제1 프로토콜을 포함하고, 제1 프로토콜은 복수의 그룹을 형성하도록 구성되고, 복수의 그룹의 각각의 그룹은 네트워크로부터의 임의로 선택된 노드들의 세트를 포함한다. 소프트웨어 아키텍쳐는 제2 프로토콜을 더 포함하고, 제2 프로토콜은 제1 프로토콜에 의해 형성된 복수의 그룹으로부터 하나의 그룹을 임의로 선택하도록 구성된다. 추가적으로, 소프트웨어 아키텍쳐는 제3 프로토콜을 포함하고, 제3 프로토콜은 제1 그룹 서명을 생성함으로써 제1 메시지에 사인하기 위해 제1 그룹을 지정하도록 구성된다.
본 출원의 또다른 양상은 컴퓨터 판독가능 프로그램으로 인코딩된 비일시적 컴퓨터 판독가능 매체와 관련된 것으로서, 컴퓨터 판독가능 프로그램은 프로세서에 의해 실행될 때, 컴퓨터로 하여금 방법을 실행하도록 야기할 것이며, 방법은 복수의 그룹을 형성하는 것을 포함하고, 여기서 제1 프로토콜은 복수의 그룹을 형성하도록 구성되고, 복수의 그룹의 각각의 그룹은 네트워크로부터의 임의로 선택된 노드들의 세트를 포함한다. 방법은 복수의 그룹으로부터 제1 그룹을 임의로 선택하는 것을 더 포함하고, 제2 프로토콜은 제1 프로토콜에 의해 형성된 복수의 그룹으로부터 제1 그룹을 임의로 선택하도록 구성된다. 추가적으로, 방법은 제1 메시지에 사인하기 위해 제1 그룹을 지정하는 것을 포함하고, 제3 프로토콜은 제1 메시지에 사인하기 위해 제1 그룹을 지정하도록 구성된다. 더욱이, 방법은 제1 메시지에 사인하는 것을 포함하고, 제1 메시지에 사인하는 것은 제1 그룹 서명을 생성하는 것을 포함한다. 더욱이, 방법은 제1 그룹 서명으로부터 해시 값을 생성하는 것을 포함하고, 해시 함수는 제1 그룹 서명으로부터 해시 값을 생성하도록 구성된다.
첨부된 도면에서 하나 이상의 실시예들이, 제한적인 것이 아닌, 예로써 도시되며, 여기서 동일한 참조 번호 지정을 갖는 요소들은 전체를 통해 유사한 요소들을 나타낸다. 업계에서의 표준 관행에 따라, 다양한 특징들은 실제 축적으로 도시되지 않으며, 단지 예시를 위한 목적으로만 이용될 수 있음을 강조한다. 실제로, 도면에서의 다양한 특징들의 치수는 설명의 명료성을 위해 임의로 증가 또는 감소될 수 있다.
도 1은 하나 이상의 실시예에 따른, 임계 릴레이 체인(threshold relay chain)의 시스템 아키텍쳐를 도시한다.
도 2는 하나 이상의 실시예에 따른, 블록체인을 동작하도록 구성되는 임계 릴레이 체인의 복수의 프로토콜의 시스템 아키텍쳐를 도시한다.
도 3은 하나 이상의 실시예에 따른, 복수의 블록의 블록을 입증(validate) 및 타임스탬프(timestamp)하도록 구성되는 임계 릴레이 체인의 복수의 프로토콜의 시스템 아키텍쳐를 도시한다.
도 4는 하나 이상의 실시예에 따른, 체계적 임의성 기반 블록 입증(systematic randomness-based block validation)을 유지하도록 구성되는 임계 릴레이 체인의 복수의 프로토콜의 시스템 아키텍쳐를 도시한다.
도 5는 하나 이상의 실시예에 따른, 임계 릴레이 체인의 랭킹 시스템의 시스템 아키텍쳐를 도시한다.
도 6은 하나 이상의 실시예에 따른, 시스템 아키텍쳐에서의 데이터 처리 방법을 도시하는 흐름도이다.
도 7은 하나 이상의 실시예에 따른, 임계 릴레이 체인의 시스템 아키텍쳐를 도시한다.
도 8은 하나 이상의 실시예에 따른, 블록체인을 동작하도록 구성되는 임계 릴레이 체인의 복수의 프로토콜의 시스템 아키텍쳐를 도시한다.
도 9는 하나 이상의 실시예에 따른, 복수의 블록의 블록을 입증 및 타임스탬프하도록 구성되는 임계 릴레이 체인의 복수의 프로토콜의 시스템 아키텍쳐를 도시한다.
도 10은 하나 이상의 실시예에 따른, 체계적 임의성 기반 블록 입증을 유지하도록 구성되는 임계 릴레이 체인의 복수의 프로토콜의 시스템 아키텍쳐를 도시한다.
도 11은 하나 이상의 실시예에 따른, 임계 릴레이 체인의 랭킹 시스템의 시스템 아키텍쳐를 도시한다.
도 12는 하나 이상의 실시예에 따른, 시스템 아키텍쳐에서의 데이터 처리 방법을 도시하는 흐름도이다.
도 13은 하나 이상의 실시예에 따른, 임계 릴레이 체인의 시스템 아키텍쳐를 도시한다.
도 14는 하나 이상의 실시예에 따른, 임계 릴레이 체인의 시스템 아키텍쳐를 도시한다.
도 15는 블록체인에서의 노드를 동작하기 위한 컴퓨팅 또는 처리 노드의 일례를 도시한다.
도 1은 하나 이상의 실시예에 따른, 임계 릴레이 체인(threshold relay chain)의 시스템 아키텍쳐를 도시한다.
도 2는 하나 이상의 실시예에 따른, 블록체인을 동작하도록 구성되는 임계 릴레이 체인의 복수의 프로토콜의 시스템 아키텍쳐를 도시한다.
도 3은 하나 이상의 실시예에 따른, 복수의 블록의 블록을 입증(validate) 및 타임스탬프(timestamp)하도록 구성되는 임계 릴레이 체인의 복수의 프로토콜의 시스템 아키텍쳐를 도시한다.
도 4는 하나 이상의 실시예에 따른, 체계적 임의성 기반 블록 입증(systematic randomness-based block validation)을 유지하도록 구성되는 임계 릴레이 체인의 복수의 프로토콜의 시스템 아키텍쳐를 도시한다.
도 5는 하나 이상의 실시예에 따른, 임계 릴레이 체인의 랭킹 시스템의 시스템 아키텍쳐를 도시한다.
도 6은 하나 이상의 실시예에 따른, 시스템 아키텍쳐에서의 데이터 처리 방법을 도시하는 흐름도이다.
도 7은 하나 이상의 실시예에 따른, 임계 릴레이 체인의 시스템 아키텍쳐를 도시한다.
도 8은 하나 이상의 실시예에 따른, 블록체인을 동작하도록 구성되는 임계 릴레이 체인의 복수의 프로토콜의 시스템 아키텍쳐를 도시한다.
도 9는 하나 이상의 실시예에 따른, 복수의 블록의 블록을 입증 및 타임스탬프하도록 구성되는 임계 릴레이 체인의 복수의 프로토콜의 시스템 아키텍쳐를 도시한다.
도 10은 하나 이상의 실시예에 따른, 체계적 임의성 기반 블록 입증을 유지하도록 구성되는 임계 릴레이 체인의 복수의 프로토콜의 시스템 아키텍쳐를 도시한다.
도 11은 하나 이상의 실시예에 따른, 임계 릴레이 체인의 랭킹 시스템의 시스템 아키텍쳐를 도시한다.
도 12는 하나 이상의 실시예에 따른, 시스템 아키텍쳐에서의 데이터 처리 방법을 도시하는 흐름도이다.
도 13은 하나 이상의 실시예에 따른, 임계 릴레이 체인의 시스템 아키텍쳐를 도시한다.
도 14는 하나 이상의 실시예에 따른, 임계 릴레이 체인의 시스템 아키텍쳐를 도시한다.
도 15는 블록체인에서의 노드를 동작하기 위한 컴퓨팅 또는 처리 노드의 일례를 도시한다.
이하의 개시내용은 본 출원의 상이한 특징들을 구현하기 위한 많은 상이한 실시예들 또는 예들을 제공한다. 본 개시내용을 간략화하기 위해, 구성요소 및 배열의 특정한 예들이 이하에 기술된다. 이들은 예시를 위한 것이며, 제한적인 것으로 의도되지 않는다. 예시적인 실시예를 만들어서 이용하는 것이 이하에 상세히 기술된다. 그러나, 개시내용은 매우 다양한 특정 문맥으로 구현될 수 있는 많은 적용가능한 개념을 제공함을 이해해야 한다. 적어도 일부 실시예에서, 본 명세서에서 상세히 기술된 하나 이상의 실시예(들) 및/또는 그 변형들은 본 명세서에서의 하나 이상의 실시예 및/또는 그 변형들과 조합가능하다.
본 개시내용의 다양한 실시예는 개방 또는 승인된 임의의 참여 모델에서 배치될 수 있는 안전하고 성능 기준에 맞는 합의 메카니즘을 이용하는 시스템 아키텍쳐와 관련된다. 다양한 실시예에 따르면, 시스템 아키텍쳐는 시간에 걸친 출력들의 스트림을 생성하는 입증가능한 랜덤 함수로서 작용하는 분산형 임의성 비콘(decentralized randomness beacon)을 포함한다. 임계 서명 방안(threshold signature scheme)을 포함하는 분산형 임의성 비콘을 이용함으로써, 블록 메이커 선택에 낮은 변화가 있게 되어, 블록 생성이 관련되는 한 증가된 계산 속도를 초래하게 된다. 추가적으로, 분산형 임의성 비콘은 예측 불가능하고, 중지 불가능하고, 입증가능한 랜덤 시퀀스를 생성함으로써, 보안성을 증가시킴과 함께, 관련 시스템의 존엄성(sanctity)을 보존하도록 구성된다.
임계 릴레이 메카니즘을 갖는 분산형 임의성 비콘을 이용하는 것은, 매우 많은 수의 참여자들로 확대가능함으로써, 아키텍쳐의 능력을 강화할 수 있는 아키텍쳐가 되도록 한다. 아키텍쳐의 다양한 실시예는 임의성 비콘 출력 당 싱글 라운드의 비대화형 메시징(a single round of non-interactive messaging)만을 필요로 하기 때문에, 그러한 아키텍쳐의 계산 속도는 방해받지 않은 채 유지된다. 더욱이, 하나 이상의 실시예에 따르면, 임계 릴레이 메카니즘은 등록된 블록 메이커들 중에서만 선택한다. 그러한 에코시스템은 잘못을 행하는 블록 메이커들에 대한 무한한 처벌을 허용하는데, 그러한 잘못을 행하는 블록 메이커들은 그들의 지명(nomination)을 잃을 뿐만 아니라, 실격되고, 지명과 관련된 금전적 가치(monetary value)를 잃기 때문이다. 이것은 부정 행위를 그만두게 할 뿐만 아니라, 관련된 시스템의 보안을 더욱 증가시킬 것이다.
다양한 실시예에서, 임계 릴레이 메카니즘은 또한, 통상적인 방법론들(methodologies)에 비교하여, 보이지 않는 적대적인 포크(unseen adversarial forks)의 가중치에 대해 보다 엄격한 의무/평가를 제공하는 랭킹 메카니즘을 적응화(adapt)함으로써, 다수의 포크를 처리할 때, 보다 빠르고 더욱 정확한 체인 선택이 되도록 한다. 추가적으로, 임계 릴레이 메카니즘은 공증(notarization)을 통해 블록들의 최종성(finality)을 제공하며, 그것은 새로운 블록에 대한 거의 즉각적인(near-instant) 최종성을 초래한다.
도 1은 하나 이상의 실시예에 따른, 임계 릴레이 체인(100)의 시스템 아키텍쳐를 도시한다. 임계 릴레이 체인(100)은 유니버셜 네트워크(universal network)(105)와 통신하도록 구성된다. 유니버셜 네트워크(105)는 다수의 노드들(110)을 포함하고, 다수의 노드들(110)의 각각의 노드는 통신 채널을 통해 서로 상호작용하도록 구성된다. 통신 채널은 피어-투-피어 네트워크(peer-to-peer network), 브로드캐스트 네트워크(broadcast network), 또는 가십 네트워크(gossip network) 중 적어도 하나를 포함한다. 네트워크(115)는 둘 이상의 노드(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 그룹 서명을 생성함으로써 제1 메시지(145, M1)에 사인하기 위해 제1 그룹(135, γ1)을 지정하도록 구성된다. 해시 함수(150)는 제1 그룹 서명으로부터 해시 값(155, H1)을 생성하도록 구성된다. 제1 그룹(135, γ1)의 크기는 시스템 파라미터이다. 적어도 하나의 실시예에서, 해시 값(155, H1)은 제2 프로토콜(130)을 이용하여 제2 그룹(135, γ2)을 선택하도록 구성되고, 제3 프로토콜(140)은 제2 메시지(145, M2)에 사인하기 위해 제2 그룹(135, γ2)을 지정하도록 구성된다.
다양한 실시예에서, 제1 그룹 서명은 제1 그룹(135, γ1)의 임계 세트에 의해 생성되도록 구성된다. 일부 실시예에서, 임계 세트는 제1 그룹(135, γ1)의 크기보다 작다. 일부 실시예에서, 임계 세트는 제1 그룹(135, γ1)의 크기와 동일하다. 적어도 하나의 실시예에서, 제1 그룹(135, γ1)의 임계 세트는 시스템 파라미터이다.
다양한 실시예에서, 제1 메시지(145, M1)는 난수(random number)와 연관된다. 일부 실시예에서, 난수는 시드(seed)(160)로부터 도출된 값이다. 일부 실시예에서, 시드(160)는 이전의 그룹 서명으로부터 도출된다. 적어도 하나의 실시예에서, 이전의 그룹 서명으로부터의 시드(160)의 도출은 해시 함수(150)에 의한 것이다. 적어도 하나의 실시예에서, 제1 메시지는 시스템 파라미터이다.
전술한 바와 같이, 제2 프로토콜(130)은 제1 그룹(135, γ1)을 임의로 선택하도록 구성된다. 다양한 실시예에서, 그러한 선택은 난수에 기초한다. 일부 실시예에서, 난수는 시드(160)로부터 도출된 값이다. 일부 실시예에서, 시드(160)는 이전의 그룹 서명으로부터 도출된다. 적어도 하나의 실시예에서, 이전의 그룹 서명으로부터의 시드(160)의 도출은 해시 함수(150)에 의한 것이다.
임계 릴레이 체인(100)은 셋업 프로토콜(setup protocol)(180)을 더 포함하고, 셋업 프로토콜(180)은 제1 프로토콜(120)에 의해 형성된 복수의 그룹(125)의 그룹에 대한 그룹 공개키(group public key)를 설정하도록 구성되고, 제1 그룹 서명은 그룹 공개키에 의해 입증되도록 구성된다. 적어도 하나의 실시예에서, 제1 그룹 서명은 제1 그룹(135, γ1)의 임계 세트의 특이성(idiosyncrasie)과 상관없이, 그룹 공개키 및 제1 메시지(145, M1)에 고유한 것이도록 구성된다. 일부 실시예에서, 제1 그룹 서명은 바이리니어 페어링(bilinear pairing), 타원 곡선(elliptic curve) 상의 바이리니어 페어링, 임계 방안, GDH(Gap Diffie-Hellman groups) 또는 BLS(Boneh-Lynn-Shacham) 서명 방안 중 적어도 하나에 기초한다.
하나 이상의 실시예에서, 셋업 프로토콜(180)은 복수의 그룹(125)의 각 그룹(125: G1, G2 ... GN)의 각각의 노드에 대한 개별적인 개인키 공유(private key share)를 설정하도록 구성된다. 적어도 하나의 실시예에 따르면, 제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 puzzle), 외부 제3자 보증(external third-party endorsement) 또는 컴퓨터 자원의 입증(validation of computational resources) 중 적어도 하나를 포함한다. 일부 실시예에서, 제6 프로토콜(165)은 복수의 노드(1701)의 각각의 노드와 관련된 금전적 가치 및/또는 의결권(voting rights)을 평가하도록 구성된다.
임계 릴레이 체인(100)은 제7 프로토콜(175)을 더 포함하고, 제7 프로토콜(175)은 임의로 선택된 및/또는 복수의 노드의 세트의 선택 노드의 부정 행위를 검출하도록 구성된다. 일부 실시예에서, 제7 프로토콜(175)은 선택 노드를 처벌하도록 구성된다. 일부 실시예에서, 제7 프로토콜(175)은 선택 노드의 지명을 폐지하도록 구성된다.
도 1에 도시된 바와 같이, 임계 릴레이 체인(100)의 다양한 프로토콜 및 기능은 데이터 관리 및 처리의 다수의 사이클(즉, C1, C2 ... CN)을 동시에 제공하도록 구성된다. 제2 프로토콜(130)은 해시 값(155, H1)과 더불어, 제2 그룹(135, γ2)을 선택하도록 구성되고, 제3 프로토콜(140)은 제2 메시지(145, M2)에 사인하기 위해 제2 그룹(135, γ2)을 지정하도록 구성된다. 일부 실시예에서, 제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) 메시지(145, MN+1)에 사인하기 위해 제(N+1) 그룹(135, γN+1)을 지정하도록 구성된다. 해시 함수(150)는 제(N+1) 그룹 서명으로부터 해시 값(155, HN+1)을 생성하도록 구성된다. 일부 실시예에서, 제(N+1) 메시지(145, MN+1)는 제N 그룹 서명의 해시 값(155, HN)을 포함한다. 일부 실시예에서, 제(N+1) 메시지(145, MN+1)는 제N 그룹 서명의 해시 값(155, HN)이 없다.
도 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보다 큰 범자연수(a whole number)이다.
다른 양상에서, 해시 값(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를 다시 참조하면, 복수의 블록 메이커의 각각의 블록 메이커는 블록을 생성하도록 구성된다. 블록은 복수의 블록 메이커의 블록 메이커에 의해 수집된 트랜잭션들을 포함한다. 도 2에 관한 설명은, 도 3에 대한 이하의 설명 이후에 계속될 것이다.
도 3은 하나 이상의 실시예에 따른, 복수의 블록의 블록을 입증 및 타임스탬프하도록 구성되는 임계 릴레이 체인(100)의 복수의 프로토콜의 시스템 아키텍쳐를 도시한다. 적어도 하나의 실시예에서, 제4 프로토콜(315)은 제N 보조 그룹 서명(secondary group signature)을 생성함으로써 제N 그룹(135, γN)으로부터의 이전 사이클(예를 들면, CN-1) 내의 복수의 블록의 블록을 입증하기 위해 제N 그룹(135, γN)을 지정하도록 구성된다. 제N 보조 그룹 서명은 블록을 인증(authenticate)한다. 적어도 하나의 실시예에서, 제4 프로토콜(315)은 위에서의 기능들을 동시에 수행하도록 구성된다. 다양한 실시예에서, 임의의 블록의 입증은 서명을 체크하는 것(checking signatures), 참조를 체크하는 것(checking references), 해시를 확인하는 것(verifying hashes), 트랜잭션을 확인하는 것(verifying transactions), 크기를 체크하는 것(checking size), 실행 시간을 체크하는 것(checking execution time) 또는 이중 소모(checking double-spends)를 체크하는 것 중 임의의 것을 포함한다. 적어도 하나의 실시예에서, 제4 프로토콜(315)은 블록을 입증함으로써, 상기 입증된 블록을 공증하도록 구성된다.
도 3을 계속 참조하면, 제4 프로토콜(315)은 제1 보조 그룹 서명을 생성함으로써 복수의 블록의 블록을 입증 및 타임스탬프하기 위해 제1 그룹(135, γ1)을 지정하도록 구성되고, 복수의 블록은 이전 사이클(예를 들면: C0) 이내이다. 제1 보조 그룹 서명은 블록을 인증한다. 추가적으로, 제4 프로토콜(315)은 제2 보조 그룹 서명을 생성함으로써 복수의 블록의 블록을 타임스탬프하기 위해 제2 그룹(135, γ2)을 지정하도록 구성되고, 복수의 블록은 이전 사이클(예를 들면: C1) 이내이다. 제2 보조 그룹 서명은 블록을 인증한다. 더욱이, 제4 프로토콜(315)은 제N 보조 그룹 서명을 생성함으로써 복수의 블록의 블록을 타임스탬프하기 위해 제N 그룹(135, γN)을 지정하도록 구성되고, 복수의 블록은 이전 사이클(예를 들면: CN+1) 이내이다. 제N 보조 그룹 서명은 블록을 인증한다. 적어도 하나의 실시예에서, 제4 프로토콜(315)은 위에서의 기능들을 동시에 수행하도록 구성된다. 다양한 실시예에서, 타임스탬핑은 서명 방안에 기초하고, 서명 방안은 바이리니어 페어링, 타원 곡선 상의 바이리니어 페어링, 임계 방안, GDH 또는 BLS 방안 중 적어도 하나를 포함한다. 하나 이상의 실시예에서, 제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 그룹 서명은 제2 그룹(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) 및/또는 (160, H0)을 이용함으로써 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 보조 그룹 서명을 생성함으로써 제1 그룹(135, γ1)으로부터의 이전 사이클(예를 들면, C0) 내의 복수의 블록을 입증하기 위해 제1 그룹(135, γ1)을 지정하도록 구성된다. 제1 보조 그룹 서명은 블록을 인증한다. 추가적으로, 적어도 하나의 실시예에 따르면, 제4 프로토콜(215)은 제2 보조 그룹 서명을 생성함으로써 제2 그룹(135, γ2)으로부터 이전 사이클(예를 들면, C1) 내의 복수의 블록의 블록을 입증하기 위해 제2 그룹(135, γ2)을 지정하도록 구성된다. 제2 보조 그룹 서명은 블록을 인증한다. 더욱이, 적어도 하나의 실시예에 따르면, 제4 프로토콜(215)은 제N 보조 그룹 서명을 생성함으로써 제N 그룹(135, γN)으로부터 이전 사이클(예를 들면, CN-1) 내의 복수의 블록의 블록을 입증하기 위해 제N 그룹(135, γN)을 지정하도록 구성된다. 제N 보조 그룹 서명은 블록을 인증한다. 적어도 하나의 실시예에서, 제4 프로토콜(215)은 위에서의 기능들을 동시에 수행하도록 구성된다. 다양한 실시예에서, 임의의 블록의 입증은 서명을 체크하는 것, 참조를 체크하는 것, 해시를 확인하는 것, 트랜잭션을 확인하는 것, 크기를 체크하는 것, 실행 시간을 체크하는 것 또는 이중 소모를 체크하는 것 중 적어도 하나를 포함한다. 적어도 하나의 실시예에서, 제4 프로토콜(215)은 블록을 입증함으로써 상기 입증된 블록을 공증하도록 구성된다.
도 2를 참조하면, 블록체인을 수행하도록 구성되는 임계 릴레이 체인(100)의 복수의 프로토콜의 시스템 아키텍쳐는 제4 프로토콜(215)을 포함하고, 제4 프로토콜(215)은 제1 보조 그룹 서명을 생성함으로써 복수의 블록의 제1 우선순위화된 블록을 타임스탬프하기 위해 제1 그룹(135, γ1)을 지정하도록 구성되고, 복수의 블록은 이전 사이클(예를 들면, C0) 이내이다. 제1 보조 그룹 서명은 제1 우선순위화된 블록을 인증한다. 추가적으로, 제4 프로토콜(215)은 제2 보조 그룹 서명을 생성함으로써 복수의 블록의 제2 우선순위화된 블록을 타임스탬프하기 위해 제2 그룹(135, γ2)을 지정하도록 구성되고, 복수의 블록은 이전 사이클(예를 들면, C1) 이내이다. 제2 보조 그룹 서명은 제2 우선순위화된 블록을 인증한다. 더욱이, 제4 프로토콜(215)은 제N 보조 그룹 서명을 생성함으로써 복수의 블록의 제(N-1) 우선순위화된 블록을 타임스탬프하기 위해 제N 그룹(135, γN)을 지정하도록 구성되고, 복수의 블록은 이전 사이클(예를 들면, CN-1) 이내이다. 제N 보조 그룹 서명은 제(N-1) 우선순위화된 블록을 인증한다. 적어도 하나의 실시예에서, 제4 프로토콜(215)은 위에서의 기능들을 동시에 수행하도록 구성된다. 다양한 실시예에서, 타임스탬핑은 서명 방안에 기초하고, 서명 방안은 바이리니어 페어링, 타원 곡선 상의 바이리니어 페어링, 임계 방안, GDH 또는 BLS 방안 중 적어도 하나를 포함한다. 하나 이상의 실시예에서, 제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)은 복수의 블록 메이커의 각각의 블록 메이커에 대한 랭크(rank)를 도출하도록 구성된다. 일부 실시예에서, 랭크는 이전 사이클(예를 들면, 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 그룹을 선택하도록 구성된다. 하나 이상의 실시예에서, 이하에 기술되는 이전 사이클의 단계(670)에서 나타낸 바와 같이, 복수의 블록의 블록이 제4 프로토콜에 의해 입증되는 것 또는 타임스탬프되는 것 중 적어도 하나인 이후에만, 후속 사이클의 제2 그룹은 단계(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와 비교하여, 적어도 하나의 실시예에 따르면, 블록체인(도 8)을 동작하도록 구성되는 임계 릴레이 체인(700)의 복수의 프로토콜의 시스템 아키텍쳐는 제4 프로토콜(215)을 포함하고, 도 8의 제4 프로토콜(215)은 제1 보조 그룹 서명을 생성함으로써 개별적인 사이클(예를 들면, C1) 내의 복수의 블록의 블록을 입증하기 위해 제1 그룹(135, γ1)을 지정하도록 구성된다. 제1 보조 그룹 서명은 블록을 인증한다. 추가적으로, 적어도 하나의 실시예에 따르면, 도 8의 제4 프로토콜(215)은 제2 보조 그룹 서명을 생성함으로써 개별적인 사이클(예를 들면, C2) 내의 복수의 블록의 블록을 입증하기 위해 제2 그룹(135, γ2)을 지정하도록 구성된다. 제2 보조 그룹 서명은 블록을 인증한다. 더욱이, 적어도 하나의 실시예에 따르면, 도 8의 제4 프로토콜(215)은 제N 보조 그룹 서명을 생성함으로써 개별적인 사이클(예를 들면, CN) 내의 복수의 블록의 블록을 입증하기 위해 제N 그룹(135, γN)을 지정하도록 구성된다. 제N 보조 그룹 서명은 블록을 인증한다. 적어도 하나의 실시예에서, 도 8의 제4 프로토콜(215)은 위에서의 기능들을 동시에 수행하도록 구성된다. 다양한 실시예에서, 임의의 블록의 입증은 서명을 체크하는 것, 참조를 체크하는 것, 해시를 확인하는 것, 트랜잭션을 확인하는 것, 크기를 체크하는 것, 실행 시간을 체크하는 것 또는 이중 소모를 체크하는 것 중 적어도 하나를 포함한다. 적어도 하나의 실시예에서, 도 8의 제4 프로토콜(215)은 블록을 입증함으로써 상기 입증된 블록을 공증하도록 구성된다.
도 2와 비교하여, 블록체인(도 8)을 동작하도록 구성되는 임계 릴레이 체인(700)의 복수의 프로토콜의 시스템 아키텍쳐는 제4 프로토콜(215)을 포함하고, 도 8의 제4 프로토콜(215)은 제1 보조 그룹 서명을 생성함으로써 복수의 블록의 제1 우선순위화된 블록을 타임스탬프하기 위해 제1 그룹(135, γ1)을 지정하도록 구성되고, 복수의 블록은 개별적인 사이클(예를 들면, C1) 이내이다. 제1 보조 그룹 서명은 제1 우선순위화된 블록을 인증한다. 추가적으로, 도 8의 제4 프로토콜(215)은 제2 보조 그룹 서명을 생성함으로써 복수의 블록의 제2 우선순위화된 블록을 타임스탬프하기 위해 제2 그룹(135, γ2)을 지정하도록 구성되고, 복수의 블록은 개별적인 사이클(예를 들면, C2) 이내이다. 제2 보조 그룹 서명은 제2 우선순위화된 블록을 인증한다. 더욱이, 도 8의 제4 프로토콜(215)은 제N 보조 그룹 서명을 생성함으로써 복수의 블록의 제N 우선순위화된 블록을 타임스탬프하기 위해 제N 그룹(135, γN)을 지정하도록 구성되고, 복수의 블록은 개별적인 사이클(예를 들면, CN) 이내이다. 제N 보조 그룹 서명은 제N 우선순위화된 블록을 인증한다. 적어도 하나의 실시예에서, 도 8의 제4 프로토콜(215)은 위에서의 기능들을 동시에 수행하도록 구성된다. 다양한 실시예에서, 타임스탬핑은 서명 방안에 기초하고, 서명 방안은 바이리니어 페어링, 타원 곡선 상의 바이리니어 페어링, 임계 방안, GDH 또는 BLS 방안 중 적어도 하나를 포함한다. 하나 이상의 실시예에서, 도 8의 제4 프로토콜(215)은 입증되는 블록만을 타임스탬프함으로써, 상기 타임스탬프된 및 입증된 블록을 공증하도록 구성된다. 다양한 실시예에서, 타임스탬프는 특정 시간 윈도우에서만 발행된다.
일부 실시예에서, 공증된 블록은 제1 그룹(135, γ1)의 임계 세트에 의해 생성되도록 구성되고, 임계 세트의 크기는 제1 그룹(135, γ1)의 크기 이하이다. 일부 실시예에서, 공증된 블록은 제2 그룹(135, γ2)의 임계 세트에 의해 생성되도록 구성되고, 임계 세트의 크기는 제2 그룹(135, γ2)의 크기 이하이다. 일부 실시예에서, 공증된 블록은 제N 그룹(135, γN)의 임계 세트에 의해 생성되도록 구성되고, 임계 세트의 크기는 제N 그룹(135, γN)의 크기 이하이다.
전술한 바와 같이, 블록체인(도 8)을 동작하도록 구성되는 임계 릴레이 체인(700)의 복수의 프로토콜의 시스템 아키텍쳐의 나머지 특징들은, 블록체인(도 2)을 동작하도록 구성되는 임계 릴레이 체인(100)의 복수의 프로토콜의 시스템 아키텍쳐와 유사하다.
도 9는 하나 이상의 실시예에 따른, 복수의 블록의 블록을 입증 및 타임스탬프하도록 구성되는 임계 릴레이 체인(700)의 복수의 프로토콜의 시스템 아키텍쳐를 도시한다. 임계 릴레이 체인(700)(도 9)의 복수의 프로토콜의 시스템 아키텍쳐는 임계 릴레이 체인(100)(도 3)의 복수의 프로토콜의 시스템 아키텍쳐와 유사하다. 임계 릴레이 체인(700)(도 9)의 복수의 프로토콜의 시스템 아키텍쳐에서의 유사한 요소들은 도 3에서와 동일한 참조 번호를 갖는다. 도 3과 비교하여, 도 9는 해시 값(160, H0)을 포함하고, 도 9의 해시 값(160, H0)은 복수의 블록 메이커를 선택하지 않는다.
도 3과 비교하여, 복수의 블록(도 9)의 블록을 입증 및 타임스탬프하도록 구성되는 임계 릴레이 체인(700)의 복수의 프로토콜의 시스템 아키텍쳐는 제4 프로토콜(315)을 포함한다. 도 9의 제4 프로토콜(315)은 제N 보조 그룹 서명을 생성함으로써 개별적인 사이클(예를 들면, CN) 내의 복수의 블록의 블록을 입증하기 위해 제N 그룹(135, γN)을 지정하도록 구성된다. 제N 보조 그룹 서명은 블록을 인증한다. 적어도 하나의 실시예에서, 도 9의 제4 프로토콜(315)은 위에서의 기능들을 동시에 수행하도록 구성된다. 다양한 실시예에서, 임의의 블록의 입증은 서명을 체크하는 것, 참조를 체크하는 것, 해시를 확인하는 것, 트랜잭션을 확인하는 것, 크기를 체크하는 것, 실행 시간을 체크하는 것 또는 이중 소모를 체크하는 것 중 적어도 하나를 포함한다. 적어도 하나의 실시예에서, 도 9의 제4 프로토콜(315)은 블록을 입증함으로써 상기 입증된 블록을 공증하도록 구성된다.
도 3과 비교하여, 도 9의 제4 프로토콜(315)은 제1 보조 그룹 서명을 생성함으로써 복수의 블록의 블록을 입증 및 타임스탬프하기 위해 제1 그룹(135, γ1)을 지정하도록 구성되고, 복수의 블록은 개별적인 사이클(예를 들면, C1) 이내이다. 제1 보조 그룹 서명은 블록을 인증한다. 추가적으로, 도 9의 제4 프로토콜(315)은 제2 보조 그룹 서명을 생성함으로써 복수의 블록의 블록을 타임스탬프하기 위해 제2 그룹(135, γ2)을 지정하도록 구성되고, 복수의 블록은 개별적인 사이클(예를 들면, C2) 이내이다. 제2 보조 그룹 서명은 블록을 인증한다. 더욱이, 도 9의 제4 프로토콜(315)은 제N 보조 그룹 서명을 생성함으로써 복수의 블록의 블록을 타임스탬프하기 위해 제N 그룹(135, γN)을 지정하도록 구성되고, 복수의 블록은 개별적인 사이클(예를 들면, CN) 이내이다. 제N 보조 그룹 서명은 블록을 인증한다. 적어도 하나의 실시예에서, 도 9의 제4 프로토콜(315)은 위에서의 기능들을 동시에 수행하도록 구성된다. 다양한 실시예에서, 타임스탬핑은 서명 방안에 기초하고, 서명 방안은 바이리니어 페어링, 타원 곡선 상의 바이리니어 페어링, 임계 방안, GDH 또는 BLS 방안 중 적어도 하나를 포함한다. 하나 이상의 실시예에서, 도 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 그룹 서명은 제2 그룹(135, γ2)의 임계 세트에 의해 생성되도록 구성되고, 임계 세트의 크기는 제2 그룹의 크기 이하이다. 적어도 하나의 실시예에서, 제2 그룹(135, γ2)의 임계 세트는 시스템 파라미터이다. 제N 그룹 서명은 제N 그룹(135, γN)의 임계 세트에 의해 생성되도록 구성되고, 임계 세트의 크기는 제N 그룹의 크기 이하이다. 적어도 하나의 실시예에서, 제N 그룹(135, γN)의 임계 세트는 시스템 파라미터이다.
다시, 도 3과 비교하여, 복수의 블록(도 9)의 블록을 입증 및 타임스탬프하도록 구성되는 임계 릴레이 체인(700)의 복수의 프로토콜의 시스템 아키텍쳐는 제5 프로토콜(320)을 더 포함하고, 도 9의 제5 프로토콜(320)은 제1 보조 그룹 서명 또는 사이클 C1 내의 타임스탬프된 블록 중 적어도 하나를 네트워크에 브로드캐스트하도록 구성된다. 제1 보조 그룹 서명은 개별적인 블록을 타임스탬프하도록 구성된다. 추가적으로, 도 9의 제5 프로토콜(320)은 제2 보조 그룹 서명 또는 사이클 C2 내의 타임스탬프된 블록 중 적어도 하나를 네트워크에 브로드캐스트하도록 구성된다. 제2 보조 그룹 서명은 개별적인 블록을 타임스탬프하도록 구성된다. 더욱이, 도 9의 제5 프로토콜(320)은 제N 보조 그룹 서명 또는 사이클 CN 내의 타임스탬프된 블록 중 적어도 하나를 네트워크에 브로드캐스트하도록 구성된다. 제N 보조 그룹 서명은 개별적인 블록을 타임스탬프하도록 구성된다. 적어도 하나의 실시예에서, 도 9의 제5 프로토콜(320)은 위에서의 기능들을 동시에 수행하도록 구성된다. 브로드캐스트되는 임의의 타임스탬프된 블록은 상이한 사이클의 다른 타임스탬프된 블록을 참조한다.
전술한 바와 같이, 복수의 블록(도 9)의 블록을 입증 및 타임스탬프하도록 구성되는 임계 릴레이 체인(700)의 복수의 프로토콜의 시스템 아키텍쳐의 나머지 특징들은, 복수의 블록(도 3)의 블록을 입증 및 타임스탬프하도록 구성되는 임계 릴레이 체인(100)의 복수의 프로토콜의 시스템 아키텍쳐와 유사하다.
도 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) 그룹 서명을 생성한다.
전술한 바와 같이, 체계적 임의성 기반 블록 입증(도 10)을 유지하도록 구성되는 임계 릴레이 체인(700)의 복수의 프로토콜의 시스템 아키텍쳐의 나머지 특징들은, 체계적 임의성 기반 블록 입증(도 4)을 유지하도록 구성되는 임계 릴레이 체인(100)의 복수의 프로토콜의 시스템 아키텍쳐와 유사하다.
도 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 그룹을 선택하도록 구성된다. 하나 이상의 실시예에서, 이하에 기술되는 이전 사이클의 단계(670)에서 나타낸 바와 같이, 복수의 블록의 블록이 제4 프로토콜에 의해 입증되는 것 또는 타임스탬프되는 것 중 적어도 하나인 경우에만, 후속 사이클의 제2 그룹은 단계(625)와 유사한 단계들로 계속되고, 방법(1200)의 앞으로 계속된다. 적어도 하나의 실시예에서, 제2 그룹은, 제2 그룹이 입증되는 것 또는 타임스탬프되는 것 중 적어도 하나인 복수의 블록의 블록을 관측한 이후에만 제2 메시지에 사인한다.
이전 사이클을 다시 참조하면, 방법(1200)은 복수의 블록 메이커가 해시 값에 의해 선택되는 단계(645)로 계속된다. 추가적으로, 방법(1200)은 복수의 블록 메이커의 각각의 블록 메이커가 제12 프로토콜에 의해 우선순위화되는 단계(650)를 포함한다. 적어도 하나의 실시예에서, 제12 프로토콜은 랭킹 시스템에 기초하여 복수의 블록 메이커의 각각의 블록 메이커를 우선순위화하도록 구성된다. 일부 실시예에서, 랭킹 시스템은 도 11에 도시된 바와 같은 랭킹 시스템(1100)을 포함한다. 방법(1200)은 개별적인 사이클 내의 복수의 블록의 각각의 블록이 제13 프로토콜에 의해 우선순위화되는 단계(655)로 계속된다. 추가적으로, 방법(1200)은 복수의 블록의 블록이 제4 프로토콜에 의해 타임스탬프되는 단계(660)로 계속된다. 적어도 하나의 실시예에서, 제4 프로토콜은 개별적인 사이클(예를 들면, C1)에서 복수의 블록의 블록을 타임스탬프하기 위해 제1 그룹을 지정하도록 구성된다. 일부 실시예에서, 제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 그룹 서명을 생성함으로써 제1 메시지(145, M1)에 사인하기 위해 제1 델타 그룹(185, Δ1)을 지정하도록 구성된다. 도 13의 해시 함수(150)는 제1 그룹 서명으로부터 해시 값(155, H1)을 생성하도록 구성된다. 제1 그룹(185, Δ1)의 크기는 시스템 파라미터이다. 적어도 하나의 실시예에서, 해시 값(155, H1)은 제2 프로토콜(130)을 이용하여 제2 델타 그룹(185, Δ2)을 선택하도록 구성되고, 제3 프로토콜(140)은 제2 메시지(145, M2)에 사인하기 위해 제2 델타 그룹(185, Δ2)을 지정하도록 구성된다.
다양한 실시예에서, 제1 그룹 서명은 제1 델타 그룹(185, Δ1)의 임계 세트에 의해 생성되도록 구성된다. 일부 실시예에서, 임계 세트는 제1 델타 그룹(185, Δ1)의 크기보다 작다. 일부 실시예에서, 임계 세트는 제1 델타 그룹(185, Δ1)의 크기와 동일하다. 적어도 하나의 실시예에서, 제1 델타 그룹(185, Δ1)의 임계 세트는 시스템 파라미터이다.
전술한 바와 같이, 제2 프로토콜(130)은 제1 델타 그룹(185, Δ1)을 임의로 선택하도록 구성된다. 다양한 실시예에서, 그러한 선택은 난수에 기초한다. 일부 실시예에서, 난수는 시드(160)로부터 도출된 값이다. 일부 실시예에서, 시드(160)는 이전 그룹 서명으로부터 도출된다. 적어도 하나의 실시예에서, 이전 그룹 서명으로부터의 시드(160)의 도출은 해시 함수(150)에 의한 것이다.
도 13의 임계 릴레이 체인(1300)은 셋업 프로토콜(180)을 더 포함하고, 셋업 프로토콜(180)은 제1 프로토콜(120)에 의해 형성된 복수의 그룹(125)의 그룹에 대해 그룹 공개키를 설정하도록 구성되고, 제1 그룹 서명은 그룹 공개키에 의해 입증되도록 구성된다. 적어도 하나의 실시예에서, 제1 그룹 서명은 제1 델타 그룹(185, Δ1)의 임계 세트의 특이성(idiosyncrasie)과 상관없이, 그룹 공개키 및 제1 메시지(145, M1)에 고유한 것이도록 구성된다. 일부 실시예에서, 제1 그룹 서명은 바이리니어 페어링, 타원 곡선 상의 바이리니어 페어링, 임계 방안, GDH 또는 BLS 서명 방안 중 적어도 하나에 기초한다.
하나 이상의 실시예에서, 도 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 메시지(145, M2)에 사인하기 위해 제2 델타 그룹(185, Δ2)을 지정하도록 구성된다. 일부 실시예에서, 제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) 메시지(145, MN+1)에 사인하기 위해 제(N+1) 델타 그룹(185, ΔN+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 client), 시크 클라이언트(thick client), 핸드헬드 또는 랩탑 디바이스, 마이크로프로세서 시스템, 마이크로프로세서 기반 시스템, 셋탑 박스, 프로그래밍가능 소비자 전자장치, 네트워크 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(random access memory)(1510) 및/또는 캐시 메모리(1512)와 같은, 휘발성 메모리 형태의 컴퓨터 시스템 판독가능 매체를 포함할 수 있다. 컴퓨터 시스템/서버(1502)는 다른 제거가능/비제거가능, 휘발성/비휘발성 컴퓨터 시스템 저장 매체를 더 포함할 수 있다. 단지 예로써, 저장 시스템(1514)은 비제거가능, 비휘발성 자기 매체(도시되지 않으며, 전형적으로 "하드 드라이브" 라고 지칭됨)로부터의 판독 및 그것에 대한 기록을 위해 제공될 수 있다. 도시되지 않았지만, 제거가능, 비휘발성 자기 디스크(예를 들면, "플로피 디스크")로부터 판독 및 그것에 대해 기록하기 위한 자기 디스크 드라이브, 및 CD-ROM, DVD-ROM 또는 다른 광학 매체와 같은 제거가능, 비휘발성 광학 디스크로부터 판독 및 그것에 기록하기 위한 광학 디스크 드라이브가 제공될 수 있다. 그러한 경우, 각각은 하나 이상의 데이터 매체 인터페이스에 의해 버스(1508)에 접속될 수 있다. 이하에 더 도시되고 기술되는 바와 같이, 메모리(1506)는 본 발명의 다양한 실시예의 기능들을 수행하도록 구성되는 프로그램 모듈들의 세트(예를 들면, 적어도 하나)를 갖는 적어도 하나의 프로그램 제품을 포함할 수 있다.
프로그램 모듈들(1518)의 세트(적어도 하나) 뿐만 아니라, 운영 체제, 하나이상의 애플리케이션 프로그램, 다른 프로그램 모듈 및 프로그램 데이터를 갖는 프로그램/유틸리티(1516)는, 제한적인 것은 아닌 예로써, 메모리(1506)에 저장될 수 있다. 운영 체제, 하나 이상의 애플리케이션 프로그램, 다른 프로그램 모듈 및 프로그램 데이터 또는 이들의 일부 조합 각각은 네트워킹 환경의 구현을 포함할 수 있다. 프로그램 모듈(1518)은 일반적으로, 본 명세서에서 기술된 바와 같은 발명의 다양한 실시예의 기능 및/또는 방법을 수행한다.
본 기술 분야의 당업자라면 이해하듯이, 본 발명의 양상들은 시스템, 방법 또는 컴퓨터 프로그램 제품으로서 구현될 수 있다. 따라서, 본 발명의 양상들은 완전히 하드웨어 구현, 완전히 소프트웨어 구현(펌웨어, 레지던트 소프트웨어, 마이크로 코드 등을 포함함), 또는 본 명세서에서 일반적으로 "회로", "모듈" 또는 "시스템"으로 모두 지칭될 수 있는 소프트웨어 및 하드웨어 양상들을 조합하는 구현의 형태를 취할 수 있다. 더욱이, 본 발명의 양상들은 구현된 컴퓨터 판독가능 프로그램 코드를 갖는 하나 이상의 컴퓨터 판독가능 매체(들)에서 구현된 컴퓨터 프로그램 제품의 형태를 취할 수 있다.
컴퓨터 시스템/서버(1502)는 또한, 키보드, 포인팅 디바이스, 디스플레이(1522) 등과 같은 하나 이상의 외부 디바이스; 사용자가 컴퓨터 시스템/서버(1502)와 상호작용하도록 할 수 있는 하나 이상의 디바이스; 및/또는 컴퓨터 시스템/서버(1502)가 하나 이상의 다른 컴퓨팅 디바이스와 통신하도록 할 수 있는 임의의 디바이스(예를 들면, 네트워크 카드, 모뎀 등)와 통신할 수 있다. 그러한 통신은 I/O 인터페이스(1524)를 통해 발생될 수 있다. 또한, 컴퓨터 시스템/서버(1502)는 네트워크 어댑터(1526)를 통해 LAN(local area network), 일반적인 WAN(general wide area network) 및/또는 공중망(public network)(예를 들면, 인터넷)과 같은 하나 이상의 네트워크와 통신할 수 있다. 도시된 바와 같이, 네트워크 어댑터(1526)는 버스(1508)를 통해 컴퓨터 시스템/서버(1502)의 다른 구성요소들과 통신한다. 도시되지는 않았지만, 다른 하드웨어 및/또는 소프트웨어 구성요소들이 컴퓨터 시스템/서버(1502)와 함께 이용될 수 있음을 이해해야 한다. 그러한 예들은, 제한적인 것은 아니지만, 마이크로코드, 디바이스 드라이버, 중복 처리 유닛, 외부 디스크 드라이브 어레이, RAID 시스템, 테이프 드라이브 및 데이터 보관 저장 시스템 등을 포함한다.
예 1: 하나의 예에서, 비일시적 컴퓨터 판독가능 매체 상에 인코딩된 소프트웨어 아키텍쳐로서, 제1 프로토콜 ― 제1 프로토콜은 복수의 그룹을 형성하도록 구성되고, 복수의 그룹의 각각의 그룹은 네트워크로부터의 임의로 선택된 노드들의 세트를 포함함 ― ; 제2 프로토콜 ― 제2 프로토콜은 제1 프로토콜에 의해 형성된 복수의 그룹으로부터 제1 그룹을 임의로 선택하도록 구성됨 ― ; 제3 프로토콜 ― 제3 프로토콜은 제1 그룹 서명을 생성함으로써 제1 메시지에 사인하기 위해 제1 그룹을 지정하도록 구성됨 ― ; 및 해시 함수 ― 해시 함수는 제1 그룹 서명으로부터 해시 값을 생성하도록 구성됨 ― 를 포함하는 소프트웨어 아키텍쳐가 제공된다.
예 2: 예 1의 소프트웨어 아키텍쳐로서, 해시 값은 제2 그룹을 선택하도록 구성되고, 제2 그룹은 네트워크로부터의 노드를 포함한다.
예 3: 예 1의 소프트웨어 아키텍쳐로서, 복수의 그룹의 각각의 그룹의 크기는 시스템 파라미터이다.
예 4: 예 1의 소프트웨어 아키텍쳐로서, 제1 그룹 서명은 제1 그룹의 임계 세트에 의해 생성되도록 구성되고, 임계 세트의 크기는 제1 그룹의 크기 이하이다.
예 5: 예 1의 소프트웨어 아키텍쳐로서, 제1 메시지는 이전 그룹 서명으로부터 도출된 값을 포함한다.
예 6: 예 1의 소프트웨어 아키텍쳐로서, 제1 메시지는 시스템 파라미터이다.
예 7: 예 1의 소프트웨어 아키텍쳐로서, 유니버셜 네트워크를 더 포함하고, 유니버셜 네트워크의 각각의 노드는 통신 채널을 통해 서로 상호작용하도록 구성된다.
예 8: 예 7의 소프트웨어 아키텍쳐로서, 통신 채널은 피어-투-피어 네트워크, 브로드캐스트 네트워크 또는 가십 네트워크 중 적어도 하나를 포함한다.
예 9: 예 1의 소프트웨어 아키텍쳐로서, 제2 프로토콜은 시드에 기초하여 복수의 그룹으로부터 제1 그룹을 선택하도록 구성된다.
예 10: 예 9의 소프트웨어 아키텍쳐로서, 시드는 제3 프로토콜에 의해 생성된 이전 그룹 서명으로부터 도출된다.
예 11: 예 10의 소프트웨어 아키텍쳐로서, 이전 서명으로부터의 시드의 도출은 해시 함수에 의한 것이다.
예 12: 예 1의 소프트웨어 아키텍쳐로서, 셋업 프로토콜을 더 포함하고, 셋업 프로토콜은 제1 프로토콜에 의해 형성된 복수의 그룹의 제1 그룹에 대해 그룹 공개키를 설정하도록 구성되고, 제1 그룹 서명은 그룹 공개키에 의해 입증되도록 구성된다.
예 13: 예 12의 소프트웨어 아키텍쳐로서, 제1 그룹 서명은 그룹 공개키 및 제1 메시지에 대해 고유한 것이도록 구성된다.
예 14: 예 13의 소프트웨어 아키텍쳐로서, 제1 그룹 서명은 바이리니어 페어링, 타원 곡선 상의 바이리니어 페어링, GDH 또는 BLS 서명 방안 중 적어도 하나에 기초한다.
예 15: 예 12의 소프트웨어 아키텍쳐로서, 셋업 프로토콜은 제1 프로토콜에 의해 형성된 복수의 그룹의 각각의 그룹의 각각의 노드에 대해 개별적인 개인키 공유를 설정하도록 구성된다.
예 16: 예 15의 소프트웨어 아키텍쳐로서, 제1 그룹의 임계 세트의 노드들 각각의 개별적인 개인키 공유는 제1 그룹 서명을 생성하는데 이용되도록 구성되고, 임계 세트의 크기는 제1 그룹의 크기 이하이다.
예 17: 예 1의 소프트웨어 아키텍쳐로서, 제6 프로토콜을 더 포함하고, 제6 프로토콜은 복수의 노드를 지명하도록 구성되고, 임의로 선택된 노드들의 세트는 복수의 노드의 일부이다.
예 18: 예 17의 소프트웨어 아키텍쳐로서, 제6 프로토콜은 복수의 노드를 지명하기 위한 방법론을 적응화하도록 구성되고, 방법론은 작업 증명 퍼즐, 외부 제3자 보증, 또는 계산 자원의 입증 중 적어도 하나를 포함한다.
예 19: 예 17의 소프트웨어 아키텍쳐로서, 제6 프로토콜은 복수의 노드의 각각의 노드와 관련된 금전적 가치를 평가하도록 구성된다.
예 20: 예 17의 소프트웨어 아키텍쳐로서, 제7 프로토콜을 더 포함하고, 제7 프로토콜은 임의로 선택된 노드들의 세트의 선택 노드의 부정 행위를 검출하도록 구성된다.
예 21: 예 20의 소프트웨어 아키텍쳐로서, 제7 프로토콜은 선택 노드에 벌칙을 부과하도록 구성된다.
예 22: 예 20의 소프트웨어 아키텍쳐로서, 제7 프로토콜은 선택 노드의 지명을 폐지하도록 구성된다.
예 23: 예 1의 소프트웨어 아키텍쳐로서, 해시 값은 복수의 메이커를 선택하도록 구성된다.
예 24: 예 23의 소프트웨어 아키텍쳐로서, 제13 프로토콜 ― 제13 프로토콜은 타임스탬핑을 위해 이용가능한 복수의 블록 중에서의 각각의 블록을 우선순위화하도록 구성됨 ― ; 및 제4 프로토콜 ― 제4 프로토콜은 복수의 블록의 우선순위화된 블록을 타임스탬프하기 위해 제1 그룹을 지정하도록 구성됨 ― 을 더 포함한다.
예 25: 예 23의 소프트웨어 아키텍쳐로서, 제4 프로토콜을 더 포함하고, 제4 프로토콜은 복수의 블록의 제1 블록을 타임스탬프하기 위해 제1 그룹을 지정하도록 구성된다.
예 26: 예 25의 소프트웨어 아키텍쳐로서, 타임스탬프는 제1 그룹의 임계 세트에 의해 생성되도록 구성되고, 임계 세트의 크기는 제1 그룹의 크기 이하이다.
예 27: 예 25의 소프트웨어 아키텍쳐로서, 제5 프로토콜을 더 포함하고, 제5 프로토콜은 타임스탬프 또는 타임스탬프된 제1 블록 중 적어도 하나를 네트워크에 브로드캐스트하도록 구성된다.
예 28: 예 23의 소프트웨어 아키텍쳐로서, 제4 프로토콜을 더 포함하고, 제4 프로토콜은 복수의 블록의 제1 블록을 입증하기 위해 제1 그룹을 지정하도록 구성된다.
예 29: 예 28의 소프트웨어 아키텍쳐로서, 제5 프로토콜을 더 포함하고, 제5 프로토콜은 공증 또는 공증된 제1 블록을 브로드캐스트하도록 구성된다.
예 30: 예 23의 소프트웨어 아키텍쳐로서, 복수의 블록 메이커의 각각의 블록 메이커는 복수의 블록을 생성하도록 구성되고, 복수의 블록의 한 블록은 복수의 블록의 다른 블록을 참조한다.
예 31: 예 30의 소프트웨어 아키텍쳐로서, 다른 블록은 타임스탬프된 것 또는 공증된 것 중 적어도 하나이다.
예 32: 예 30의 소프트웨어 아키텍쳐로서, 블록은 복수의 블록 메이커 중 한 블록 메이커에 의해 수집된 트랜잭션을 포함한다.
예 33: 예 23의 소프트웨어 아키텍쳐로서, 제12 프로토콜을 더 포함하고, 제12 프로토콜은 랭킹 시스템에 기초하여 복수의 블록 메이커의 각각의 블록 메이커를 우선순위화하도록 구성된다.
예 34: 예 33의 소프트웨어 아키텍쳐로서, 랭킹 시스템은 제8 프로토콜 ― 제8 프로토콜은 복수의 블록 메이커의 각각의 블록 메이커에 대한 랭크를 도출하도록 구성되고, 랭크는 제1 그룹 서명으로부터 도출됨 ― ; 제9 프로토콜 ― 제9 프로토콜은 복수의 블록 메이커의 각각의 블록 메이커와 관련된 각각의 블록에 복수의 제1 가중치를 할당하도록 구성되고, 각각의 블록의 복수의 제1 가중치의 각각의 제1 가중치는 복수의 블록 메이커의 개별적인 블록 메이커의 랭크에 기초함 ― ; 및 제10 프로토콜 ― 제10 프로토콜은 제2 가중치를 적어도 하나의 블록 체인에 할당하도록 구성되고, 적어도 하나의 블록 체인의 제2 가중치는 적어도 하나의 블록 체인에서의 각각의 블록의 각각의 제1 가중치에 기초하고, 적어도 하나의 블록 체인의 한 블록은 적어도 하나의 블록 체인의 다른 블록을 참조함 ― 을 포함한다.
예 35: 예 34의 소프트웨어 아키텍쳐로서, 제11 프로토콜을 더 포함하고, 제11 프로토콜은 계수에 기초하여 적어도 하나의 블록 체인의 한 블록 체인의 이전 블록을 선택하도록 구성되고, 계수는 블록 체인의 이전 블록의 제1 가중치 또는 블록들의 체인의 제2 가중치를 포함한다.
본 개시 내용 및 그 이점들이 상세히 기술되었지만, 첨부된 청구항들에 의해 정의된 것으로서의 본 개시 내용의 사상 및 영역으로부터 벗어나지 않고서도, 본 명세서에서 다양한 변화, 대체 및 변경이 행해질 수 있음을 이해해야 한다. 더욱이, 본 출원의 영역은 본 명세서에서 기술된 프로세스, 설계, 머신, 제조 및 물질의 구성, 수단, 방법 및 단계의 특정 실시예로 제한되도록 의도하지 않는다. 본 기술 분야의 당업자라면 본 개시 내용으로부터 쉽게 이해할 수 있듯이, 본 명세서에서 기술된 대응하는 실시예와 실질적으로 동일한 기능을 수행하거나 또는 실질적으로 동일한 결과를 달성하는, 현재 존재하거나 또는 이후에 개발될 프로세스, 머신, 제조, 물질의 구성, 수단, 방법 또는 단계가 본 개시 내용에 따라 이용될 수 있다. 따라서, 첨부된 청구항들은 그들의 영역 내에서 그러한 프로세스, 머신, 제조, 물질의 구성, 수단, 방법 또는 단계를 포함하도록 의도된다.
본 개시 내용에서는 수 개의 실시예들이 제공되었지만, 개시된 시스템 및 방법은 본 개시 내용의 사상 또는 영역으로부터 벗어나지 않고서도, 많은 다른 특정 형태로 구현될 수 있음을 이해해야 한다. 예들은 예시적인 것일 뿐, 제한적인 것은 아닌 것으로 고려되어야 하며, 의도는 본 명세서에서 주어진 세부 사항으로 제한되지 않는다. 예를 들어, 다양한 요소 또는 구성요소가 다른 시스템에서 결합되거나 또는 통합될 수 있으며, 또는 특정한 특징이 생략되거나 또는 구현되지 않을 수 있다.
Claims (31)
- 비일시적 컴퓨터 판독가능 저장 매체 상에 저장된 컴퓨터 프로그램으로서,
제1 프로토콜 ― 상기 제1 프로토콜은 복수의 그룹을 형성하도록 구성되며, 상기 복수의 그룹의 각 그룹은 네트워크로부터의 임의로 선택된 노드들의 세트를 포함함 ― 과,
제2 프로토콜 ― 상기 제2 프로토콜은 상기 제1 프로토콜에 의해 형성된 상기 복수의 그룹으로부터 제1 그룹을 임의로 선택하도록 구성됨 ― 과,
제3 프로토콜 ― 상기 제3 프로토콜은 제1 그룹 서명을 생성함으로써 제1 메시지에 사인하기 위해 상기 제1 그룹을 지정하도록 구성됨 ― 을 포함하는
컴퓨터 프로그램. - 제1항에 있어서,
해시 함수를 더 포함하되, 상기 해시 함수는 상기 제1 그룹 서명으로부터 해시 값을 생성하도록 구성되는
컴퓨터 프로그램. - 제2항에 있어서,
상기 해시 값은 제2 그룹 또는 복수의 블록 메이커를 선택하도록 구성되고, 상기 제2 그룹은 상기 네트워크로부터의 노드를 포함하는
컴퓨터 프로그램. - 제2항에 있어서,
상기 복수의 그룹의 각 그룹의 크기는 시스템 파라미터인
컴퓨터 프로그램. - 제2항에 있어서,
상기 제1 그룹 서명은 상기 제1 그룹의 임계 세트에 의하여 생성되도록 구성되고, 상기 임계 세트의 크기는 상기 제1 그룹의 크기 이하인
컴퓨터 프로그램. - 제2항에 있어서,
상기 제1 메시지는 시스템 파라미터이거나, 또는 이전 그룹 서명으로부터 도출된 값을 포함하는
컴퓨터 프로그램. - 제2항에 있어서,
유니버셜 네트워크를 더 포함하되, 상기 유니버셜 네트워크의 각 노드는 통신 채널을 통해 서로 상호작용하도록 구성되는
컴퓨터 프로그램. - 제7항에 있어서,
상기 통신 채널은 피어-투-피어 네트워크, 브로드캐스트 네트워크 또는 가십(gossip) 네트워크 중 적어도 하나를 포함하는
컴퓨터 프로그램. - 제2항에 있어서,
상기 제2 프로토콜은 시드(seed)에 기초하여 상기 복수의 그룹으로부터 상기 제1 그룹을 선택하도록 구성되는
컴퓨터 프로그램. - 제9항에 있어서,
상기 시드는 상기 제3 프로토콜에 의해 생성된 이전 그룹 서명으로부터 도출되는
컴퓨터 프로그램. - 제10항에 있어서,
상기 이전 그룹 서명으로부터의 상기 시드의 도출은 상기 해시 함수에 의한 것인
컴퓨터 프로그램. - 제1항 또는 제2항에 있어서,
셋업 프로토콜을 더 포함하되, 상기 셋업 프로토콜은 상기 제1 프로토콜에 의해 형성된 상기 복수의 그룹 중 상기 제1 그룹에 대해 그룹 공개키를 설정하도록 구성되고, 상기 제1 그룹 서명은 상기 그룹 공개키에 의해 입증되도록 구성되는
컴퓨터 프로그램. - 제12항에 있어서,
상기 제1 그룹 서명은 상기 그룹 공개키 및 상기 제1 메시지에 대해 고유한 것이도록 구성되는
컴퓨터 프로그램. - 제13항에 있어서,
상기 제1 그룹 서명은 바이리니어 페어링(bilinear pairings), 타원 곡선 상의 바이리니어 페어링, GDH(Gap Diffie-Hellman groups) 또는 BLS(Boneh-Lynn-Shacham) 서명 방안 중 적어도 하나에 기초하는
컴퓨터 프로그램. - 제12항에 있어서,
상기 셋업 프로토콜은 상기 제1 프로토콜에 의해 형성된 상기 복수의 그룹의 각 그룹의 각 노드에 대해 개별적인 개인키 공유를 설정하도록 구성되는
컴퓨터 프로그램. - 제15항에 있어서,
상기 제1 그룹의 임계 세트의 각 노드의 상기 개별적인 개인키 공유는 상기 제1 그룹 서명을 생성하기 위해 사용되도록 구성되고, 상기 임계 세트의 크기는 상기 제1 그룹의 크기 이하인
컴퓨터 프로그램. - 제1항 또는 제2항에 있어서,
제6 프로토콜을 더 포함하되, 상기 제6 프로토콜은 복수의 노드를 지명하도록 구성되고, 상기 임의로 선택된 노드들의 세트는 상기 복수의 노드의 일부인
컴퓨터 프로그램. - 제17항에 있어서,
상기 제6 프로토콜은 상기 복수의 노드의 각 노드와 관련된 금전적 가치를 평가하도록 구성되거나 상기 복수의 노드를 지명하기 위한 방법론(methodology)을 적응화(adapt)하도록 구성되고, 상기 방법론은 작업 증명 퍼즐, 외부 제3자 보증, 또는 계산 자원의 입증 중 적어도 하나를 포함하는
컴퓨터 프로그램. - 제17항에 있어서,
제7 프로토콜을 더 포함하되, 상기 제7 프로토콜은 상기 임의로 선택된 노드들의 세트의 선택 노드의 부정 행위를 검출하도록 구성되는
컴퓨터 프로그램. - 제19항에 있어서,
상기 제7 프로토콜은 상기 선택 노드에 벌칙을 부과하도록 구성되거나 상기 선택 노드의 지명을 폐지하도록 구성되는
컴퓨터 프로그램. - 제3항에 있어서,
상기 해시 값은 상기 복수의 블록 메이커를 선택하도록 구성되고, 상기 컴퓨터 프로그램은,
제13 프로토콜 ― 상기 제13 프로토콜은 타임스탬핑(timestamping)을 위해 이용가능한 복수의 블록 중에서의 각각의 블록을 우선순위화하도록 구성됨 ― 과,
제4 프로토콜 ― 상기 제4 프로토콜은 상기 복수의 블록 중 우선순위화된 블록을 타임스탬프하기 위해 제1 그룹을 지정하도록 구성됨 ― 을 더 포함하는
컴퓨터 프로그램. - 제3항에 있어서,
상기 해시 값은 상기 복수의 블록 메이커를 선택하도록 구성되고, 상기 컴퓨터 프로그램은 제4 프로토콜을 더 포함하되, 상기 제4 프로토콜은 복수의 블록 중 제1 블록을 타임스탬프하기 위해 상기 제1 그룹을 지정하도록 구성되거나 상기 복수의 블록 중 상기 제1 블록을 입증하기 위해 상기 제1 그룹을 지정하도록 구성되는
컴퓨터 프로그램. - 제22항에 있어서,
상기 제4 프로토콜은 상기 복수의 블록 중 상기 제1 블록을 타임스탬프하기 위해 상기 제1 그룹을 지정하도록 구성되고, 상기 타임스탬프는 상기 제1 그룹의 임계 세트에 의해 생성되도록 구성되고, 임계 세트의 크기는 제1 그룹의 크기 이하인
컴퓨터 프로그램. - 제22항에 있어서,
상기 제4 프로토콜은 상기 복수의 블록 중 상기 제1 블록을 타임스탬프하기 위해 상기 제1 그룹을 지정하도록 구성되고, 상기 컴퓨터 프로그램은 제5 프로토콜을 더 포함하되, 상기 제5 프로토콜은 상기 타임스탬프 또는 상기 타임스탬프된 제1 블록 중 적어도 하나를 상기 네트워크에 브로드캐스트하도록 구성되는
컴퓨터 프로그램. - 제22항에 있어서,
상기 제4 프로토콜은 상기 복수의 블록 중 상기 제1 블록을 입증하기 위해 상기 제1 그룹을 지정하도록 구성되고, 상기 컴퓨터 프로그램은 제5 프로토콜을 더 포함하되, 상기 제5 프로토콜은 공증 또는 공증된 제1 블록을 브로드캐스트하도록 구성되는
컴퓨터 프로그램. - 제3항에 있어서,
상기 해시 값은 상기 복수의 블록 메이커를 선택하도록 구성되고, 상기 복수의 블록 메이커의 각 블록 메이커는 복수의 블록을 생성하도록 구성되고, 상기 복수의 블록의 한 블록은 상기 복수의 블록의 다른 블록을 참조하는
컴퓨터 프로그램. - 제26항에 있어서,
상기 다른 블록은 타임스탬프된 것 또는 공증된 것 중 적어도 하나인
컴퓨터 프로그램. - 제26항에 있어서,
상기 블록은 상기 복수의 블록 메이커 중 한 블록 메이커에 의해 수집된 트랜잭션을 포함하는
컴퓨터 프로그램. - 제3항에 있어서,
상기 해시 값은 상기 복수의 블록 메이커를 선택하도록 구성되고, 상기 컴퓨터 프로그램은 제12 프로토콜을 더 포함하되, 상기 제12 프로토콜은 랭킹 시스템에 기초하여 상기 복수의 블록 메이커의 각 블록 메이커를 우선순위화하도록 구성되는
컴퓨터 프로그램. - 제29항에 있어서,
상기 랭킹 시스템은,
제8 프로토콜 ― 상기 제8 프로토콜은 상기 복수의 블록 메이커의 각 블록 메이커에 대한 랭크를 도출하도록 구성되고, 상기 랭크는 상기 제1 그룹 서명으로부터 도출됨 ― 과,
제9 프로토콜 ― 상기 제9 프로토콜은 상기 복수의 블록 메이커의 각각의 블록 메이커와 관련된 각 블록에 복수의 제1 가중치를 할당하도록 구성되고, 상기 각 블록의 상기 복수의 제1 가중치의 각각의 제1 가중치는 상기 복수의 블록 메이커의 각각의 블록 메이커의 랭크에 기초함 ― 과,
제10 프로토콜 ― 상기 제10 프로토콜은 적어도 하나의 블록 체인(at least one chain of blocks)에 제2 가중치를 할당하도록 구성되고, 상기 적어도 하나의 블록 체인의 상기 제2 가중치는 상기 적어도 하나의 블록 체인에서의 상기 각 블록의 각각의 제1 가중치에 기초하고, 상기 적어도 하나의 블록 체인의 한 블록은 상기 적어도 하나의 블록 체인의 다른 블록을 참조함 ― 을 포함하는
컴퓨터 프로그램. - 제30항에 있어서,
제11 프로토콜을 더 포함하되, 상기 제11 프로토콜은 계수에 기초하여 상기 적어도 하나의 블록 체인의 한 블록 체인의 이전 블록을 선택하도록 구성되고, 상기 계수는 상기 블록 체인의 상기 이전 블록의 상기 제1 가중치 또는 상기 블록 체인의 상기 제2 가중치를 포함하는
컴퓨터 프로그램.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662424430P | 2016-11-19 | 2016-11-19 | |
US62/424,430 | 2016-11-19 | ||
PCT/US2017/062442 WO2018094299A2 (en) | 2016-11-19 | 2017-11-19 | System architecture and method of processing data therein |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190113761A KR20190113761A (ko) | 2019-10-08 |
KR102603069B1 true KR102603069B1 (ko) | 2023-11-15 |
Family
ID=62145987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020197016863A KR102603069B1 (ko) | 2016-11-19 | 2017-11-19 | 시스템 아키텍쳐 및 시스템 아키텍쳐에서의 데이터 처리 방법 |
Country Status (5)
Country | Link |
---|---|
US (2) | US10778759B2 (ko) |
EP (1) | EP3545645B1 (ko) |
JP (1) | JP7129991B2 (ko) |
KR (1) | KR102603069B1 (ko) |
WO (1) | WO2018094299A2 (ko) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7337845B2 (ja) * | 2018-01-26 | 2023-09-04 | ドフィニティ スティフトゥング | システムアーキテクチャ及びこの中のデータの処理方法 |
CN109150545B (zh) * | 2018-08-31 | 2021-10-08 | 尚小朋 | 基于ECC的(m,N)门限群签名方法 |
GB201816936D0 (en) * | 2018-10-17 | 2018-11-28 | Nchain Holdings Ltd | Computer-implemented system and method |
CN110083745B (zh) * | 2019-04-30 | 2021-07-06 | 杭州复杂美科技有限公司 | 数据查询方法、设备和存储介质 |
CN111934997B (zh) * | 2020-09-25 | 2021-01-12 | 支付宝(杭州)信息技术有限公司 | 消息传输方法及装置 |
WO2023052603A1 (en) | 2021-09-30 | 2023-04-06 | DFINITY Stiftung | Digital signatures with re-randomized presignatures |
WO2023052609A1 (en) | 2021-09-30 | 2023-04-06 | DFINITY Stiftung | Digital signatures with key-derivation |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990022451A (ko) * | 1995-06-05 | 1999-03-25 | 피터 씨. 프레운드 | 다단계 디지털 서명 방법 및 시스템 |
US6263435B1 (en) * | 1999-07-06 | 2001-07-17 | Matsushita Electric Industrial Co., Ltd. | Dual encryption protocol for scalable secure group communication |
JP3864675B2 (ja) * | 2000-03-09 | 2007-01-10 | 株式会社日立製作所 | 共通鍵暗号装置 |
JP4547158B2 (ja) | 2002-04-15 | 2010-09-22 | 株式会社エヌ・ティ・ティ・ドコモ | バイリニアマッピングを使用する署名スキーム |
KR100513958B1 (ko) * | 2003-01-03 | 2005-09-13 | 소프트포럼 주식회사 | 메시지의 전자서명 및 암호화 방법 |
US7418454B2 (en) * | 2004-04-16 | 2008-08-26 | Microsoft Corporation | Data overlay, self-organized metadata overlay, and application level multicasting |
KR101338409B1 (ko) * | 2007-01-25 | 2013-12-10 | 삼성전자주식회사 | 애드-혹 네트워크에서 분산 rsa서명을 생성하는 방법 및상기 애드-혹 네트워크의 노드 |
JP4764447B2 (ja) * | 2008-03-19 | 2011-09-07 | 株式会社東芝 | グループ署名システム、装置及びプログラム |
KR101206332B1 (ko) * | 2008-12-01 | 2012-11-29 | 한국전자통신연구원 | 네트워크간 콘텐트를 멀티캐스트 스트리밍하는 방법 및 그 장치 |
CN101494861A (zh) * | 2009-03-03 | 2009-07-29 | 东南大学 | 无线传感器网络密钥预分配方法 |
KR101633025B1 (ko) * | 2009-09-28 | 2016-06-23 | 에스케이텔레콤 주식회사 | 통신망 성능 검증 시스템 및 통신망 성능 검증 방법 |
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 |
JP2012216916A (ja) * | 2011-03-31 | 2012-11-08 | Kddi Corp | 多重署名システム、検証システム、多重署名方法及び多重署名プログラム |
JP5790318B2 (ja) * | 2011-08-29 | 2015-10-07 | ソニー株式会社 | 情報処理装置、署名生成装置、情報処理方法、署名生成方法、及びプログラム |
DK3095044T3 (da) * | 2013-11-19 | 2020-12-21 | Top Galore Ltd | Block mining fremgangsmåde og apparat |
US20160342977A1 (en) * | 2015-05-20 | 2016-11-24 | Vennd.io Pty Ltd | Device, method and system for virtual asset transactions |
GB201511964D0 (en) * | 2015-07-08 | 2015-08-19 | Barclays Bank Plc | Secure digital data operations |
US9871775B2 (en) * | 2015-08-10 | 2018-01-16 | Cisco Technology, Inc. | Group membership block chain |
US10402792B2 (en) * | 2015-08-13 | 2019-09-03 | The Toronto-Dominion Bank | Systems and method for tracking enterprise events using hybrid public-private blockchain ledgers |
US10009328B2 (en) * | 2015-12-07 | 2018-06-26 | Mcafee, Llc | System, apparatus and method for providing privacy preserving interaction with a computing system |
-
2017
- 2017-11-19 KR KR1020197016863A patent/KR102603069B1/ko active IP Right Grant
- 2017-11-19 EP EP17872586.7A patent/EP3545645B1/en active Active
- 2017-11-19 JP JP2019547582A patent/JP7129991B2/ja active Active
- 2017-11-19 WO PCT/US2017/062442 patent/WO2018094299A2/en unknown
- 2017-11-20 US US15/817,792 patent/US10778759B2/en active Active
-
2020
- 2020-08-28 US US17/006,211 patent/US20200396281A1/en not_active Abandoned
Non-Patent Citations (3)
Title |
---|
Ching-Te Wang et al "Threshold signature schemes with traceable signers in group communications." Computer Communications Vol. 21(8), pp. 771-776(1998.) 1부.* |
Random Beacons in Decentralized Networks - Timo Hanke and Dominic Williams, String Labs, https://www.youtube.com/watch?v=xf1dql4Zoqw(2016.09.15.) 1부.* |
Vivek Vishnumurthy, Paul Francis "On random node selection in p2p and overlay networks."(2004.) 1부.* |
Also Published As
Publication number | Publication date |
---|---|
KR20190113761A (ko) | 2019-10-08 |
EP3545645A2 (en) | 2019-10-02 |
JP2019536398A (ja) | 2019-12-12 |
JP7129991B2 (ja) | 2022-09-02 |
EP3545645B1 (en) | 2024-03-06 |
US10778759B2 (en) | 2020-09-15 |
WO2018094299A2 (en) | 2018-05-24 |
US20200396281A1 (en) | 2020-12-17 |
EP3545645A4 (en) | 2020-09-23 |
WO2018094299A3 (en) | 2019-08-22 |
US20180146035A1 (en) | 2018-05-24 |
EP3545645C0 (en) | 2024-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102603069B1 (ko) | 시스템 아키텍쳐 및 시스템 아키텍쳐에서의 데이터 처리 방법 | |
KR102601973B1 (ko) | 시스템 아키텍처 및 시스템 아키텍처에서 데이터를 처리하는 방법 | |
JP7208989B2 (ja) | ブロックチェーン上に検証鍵を記録するためのシステム | |
JP7285840B2 (ja) | プルーフ検証に基づいてオフ・チェーン・データを認証するシステム及び方法 | |
Stevens et al. | The first collision for full SHA-1 | |
US20210192498A1 (en) | Random number generation in a blockchain | |
US11206147B2 (en) | Method and apparatus for generating a cryptographic time stamp for a digital document on a majority basis | |
CN109947740B (zh) | 区块链系统的性能优化方法及装置 | |
CN110597489B (zh) | 一种随机数生成方法、设备及介质 | |
WO2019166916A1 (en) | Computer implemented voting process and system | |
CN114143311B (zh) | 一种基于区块链的隐私保护方案聚合方法及装置 | |
CN108494558B (zh) | 用于实现公平交换的方法和系统 | |
Tang et al. | Hedera: A permissionless and scalable hybrid blockchain consensus algorithm in multiaccess edge computing for IoT | |
KR101382626B1 (ko) | Id 기반의 강한 지정된 검증자 서명 시스템 및 방법 | |
CN113939821A (zh) | 用于在工作量证明区块链网络上进行非并行挖掘的系统和方法 | |
Kate et al. | Flexirand: Output private (distributed) vrfs and application to blockchains | |
US10553062B2 (en) | Method for generating winning numbers and apparatus | |
Algazy et al. | Syrga2: Post-Quantum Hash-Based Signature Scheme | |
Inoue | Performance of Bitcoin Protocol Variants | |
Li et al. | A Novel Epoch‐Based Transaction Consistency Sorting Protocol for DAG Distributed Ledger | |
US9311312B2 (en) | Process for electronic archiving of data objects and computer program product | |
CN116671092A (zh) | 最小化故障对等方对区块链的影响 | |
HTUN et al. | Modeling and Verification of Multi-Party Contract Signing Protocol | |
JP2016092639A (ja) | 署名・検証システム、署名装置、検証装置、署名・検証方法、プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant |