KR20210102404A - 조정 가능한 수의 트랜잭션 블록 및 복수의 중간 블록을 포함하는 블록을 가진 블록체인의 생성 - Google Patents

조정 가능한 수의 트랜잭션 블록 및 복수의 중간 블록을 포함하는 블록을 가진 블록체인의 생성 Download PDF

Info

Publication number
KR20210102404A
KR20210102404A KR1020217022115A KR20217022115A KR20210102404A KR 20210102404 A KR20210102404 A KR 20210102404A KR 1020217022115 A KR1020217022115 A KR 1020217022115A KR 20217022115 A KR20217022115 A KR 20217022115A KR 20210102404 A KR20210102404 A KR 20210102404A
Authority
KR
South Korea
Prior art keywords
block
blockchain
blocks
intermediate block
transaction
Prior art date
Application number
KR1020217022115A
Other languages
English (en)
Other versions
KR102584292B1 (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 KR20210102404A publication Critical patent/KR20210102404A/ko
Application granted granted Critical
Publication of KR102584292B1 publication Critical patent/KR102584292B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • H04L2209/38

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은, 조정 가능한 수의 트랜잭션 블록 및 복수의 중간 블록을 포함하는 블록들을 가진 블록체인을 생성하기 위한 컴퓨터 구현 방법 그리고 이러한 블록체인을 포함하며 분산형 데이터베이스 시스템에 참여하는 장치의 저장 매체에 관한 것이다. 본 발명에 따라 제1 중간 블록이 제공되고, 하나 이상의 제2 중간 블록이 생성되며, 이 경우 제2 중간 블록은 그의 선행 블록 및 적어도 제1 중간 블록을 참조한다.

Description

조정 가능한 수의 트랜잭션 블록 및 복수의 중간 블록을 포함하는 블록을 가진 블록체인의 생성
본 발명은, 조정 가능한 수의 트랜잭션 블록 및 복수의 중간 블록을 포함하는 블록을 가진 블록체인을 생성하기 위한 컴퓨터 구현 방법과, 이러한 블록체인을 포함하며 분산형 데이터베이스 시스템에 참여하는 장치의 저장 매체에 관한 것이다.
산업 분야에서는, 장치 자체 또는 장치가 위치한 자동화 시스템과 관련된 데이터 또는 장치의 자동화 시스템 내에서 수행되는 프로세스의 데이터를 상기 장치에 보호 방식으로 기록하는 것에 대한 관심이 증가하고 있다. 이 경우, 특히 자동화 제어 또는 수행된 조작 동작의 품질 데이터 또는 검출된 상태 데이터의 이력이 중요하다. 이러한 데이터를 조작 방지 방식으로 장치에 기록하는 데에는 블록체인 및 블록체인 네트워크에 대한 의존이 적합하다.
이 경우, 예를 들어 산업 분야에서는 공공 블록체인 또는 퍼블릭 블록체인(public blockchain)이나 프라이빗 블록체인(private blockchain)이 이용된다. 퍼블릭 블록체인의 경우, 합의 방법이 공개되며, 다시 말해 예를 들어 퍼블릭 인터넷에서 알려지지 않은 사용자 그룹이 블록체인을 승인 또는 검증하거나, 더 정확히 말하면 이른바 채굴(mining)을 통해 개별 블록을 검증할 수 있다. 프라이빗 블록체인의 경우, 예를 들어 서로 또는 관리 주체에게 알려져 있거나, 특정 신뢰 수준을 충족하는 구성원으로 이루어진 컨소시엄 내에서 합의 방법이 실시된다.
블록체인 기술은, 참여 노드에 의해 생성된 트랜잭션이 조작 방지 방식으로 저장될 수 있는 분산형 데이터베이스를 구현한다. 이를 위해, 트랜잭션이 하나의 블록 내에 기록되고, 하나의 블록은 체크섬 절차에 의해 후속 블록과 연결된다. 블록체인 기술에 대한 설명은 예를 들어 영어 위키피디아( https://en.wikipedia.org/wiki/Blockchain)에서 참조할 수 있다. 하나의 블록 내에는 하나 또는 복수의 트랜잭션 외에 예를 들어 선행 블록의 해시값이 기록되어 있다. 이 블록은, 블록을 생성한 노드에 의해 블록체인 네트워크로 송신된다. 보호는, 블록체인 네트워크 내에서 블록의 검증을 수행하는 다수의 신뢰할 수 있는 노드에 의해 발생한다. 블록체인에 참여하는 노드의 네트워크 내에서 규칙적인 간격으로 새로운 블록이 형성되고, 이때 기존 블록의 해시값이 함께 기록된다. 하나의 인터벌 내에 트랜잭션이 존재하지 않는 경우, 일부 블록체인에서 블록 생성이 생략된다.
따라서, 하나의 블록체인은, 승인을 위해 블록체인에 입력되었거나 블록체인 네트워크에 제공된 트랜잭션을 저장한다. 개별 합의 방법으로 블록이 승인되면, 유효한 블록체인은 승인된 각각의 블록에 의해 그 길이 및 크기 측면에서 성장한다. 따라서, 계속 이어지거나 승인된 블록체인의 저장 공간 수요가 점점 더 증가한다.
선행 블록의 체크섬, 특히 해시값이 새로운 개별 블록 내로 삽입되므로, 체인이 형성된다. 선행 블록의 체크섬은 현재 블록의 트랜잭션과 함께 다시 후속 블록의 체크섬에 대한 데이터 세트를 형성한다. 하나의 블록이 선행 블록을 참조한다고도 한다. 따라서, 하나의 체인은 제네시스 블록(genesis block)이라고도 불리는 최초 블록까지 블록 연결에 의해 추적될 수 있기 때문에, 조작으로부터 트랜잭션이 보호된다. 트랜잭션은 블록체인 네트워크를 사용할 수 있기 때문에, 체인 내 어느 블록부터 예를 들어 트랜잭션의 내용이 더 이상 선행 버전과 일치하지 않는지가 추적될 수 있다. 즉, 트랜잭션은 각각의 검증된 블록체인 내에 조작 방지 방식으로 기록된다. 기존 블록을 통해 체크섬 형성을 재계산하거나 검사함으로써, 네트워크 내에서 더 이전의 시점에 이미 형성된 블록에서의 트랜잭션 수정을 추적할 수 있다. 블록체인 내 블록의 수가 계속 증가함으로 인해, 리소스가 한정된 장치에서 블록체인 기술을 사용할 경우, 장기적으로 충분한 저장 공간이 이용될 수 없는 위험이 있다. 예를 들어, 자동화 장치, HMI 장치 또는 에지 디바이스(edge device) 또는 IoT 디바이스에서의 저장 공간 리소스는 클라우드 기반 시스템과 달리 한정되어 있다.
이에 근거하여 본 발명의 과제는, 노드에서 블록체인을 위한 저장 공간 요구가 감소할 수 있는 방식으로 블록체인의 사용을 제공하는 것이다.
상기 과제는 독립 청구항들의 대상에 의해 해결된다. 바람직한 개선예들은 종속 청구항들에 명시되어 있다.
본 발명은, 조정 가능한 수의 트랜잭션 블록 및 복수의 중간 블록을 포함하는 블록들을 가진 블록체인을 생성하기 위한 컴퓨터 구현 방법에 관한 것으로서,
- 블록체인은 분산형 데이터베이스 시스템의 구성요소이며,
- 블록은 블록체인 내부에서 생성되고, 하나의 개별 블록은 선행하는 개별 블록을 참조하며,
- 제1 중간 블록이 제공되어 있으며,
- 하나 이상의 제2 중간 블록이 생성되며,
- 제2 중간 블록은 그의 선행 블록 및 적어도 제1 중간 블록을 참조한다.
블록체인은 분산형 데이터베이스 시스템의 구성요소이다. 여기서, 분산형 데이터베이스 시스템은, 데이터베이스의 정보, 특히 블록체인 형태의 체인이 복수의 장소에서 또는 복수의 참여자를 위해 제공되거나 저장될 수 있음을 의미한다. 분산형 데이터베이스 시스템에서 블록체인의 원리는, 블록체인의 정보가 분산 방식으로 존재한다는 점에 기반한다. 분산형 데이터베이스 시스템의 참여자는 새로운 블록체인의 생성에 참여할 수 있거나, 블록체인을 검사하거나 검증할 수 있다. 또한, 참여자는 단지 하나 또는 복수의 블록체인에만 액세스할 수 있거나, 하나의 블록체인의 하나 또는 복수의 개별 블록을 사용할 수 있다.
본 출원에 따르면, 블록으로서 트랜잭션 블록 및 중간 블록이 제공된다. 선행 트랜잭션 블록을 참조하는 트랜잭션 블록은 종래 기술에 공지되어 있다. 특히, 트랜잭션을 분산형 데이터베이스 시스템으로 전송하여 트랜잭션 블록을 생성하고 기존 트랜잭션 블록과 연결함으로써 블록체인이 구성된다. 이러한 방식으로, 기존 블록체인의 체인이 계속 이어지거나 확장된다.
블록체인 체인 내에서 참조 블록을 선택함으로써, 어느 지점에서 또는 어느 마지막 트랜잭션 또는 어느 마지막 블록을 기초로 체인이 계속 이어질 것인지가 정해진다. 특히, 블록체인을 생성할 때 참조되는 블록의 선택은 원하는 대로 가능하다. 바람직하게는, 분산형 데이터베이스 시스템에 의해 승인된 가장 최근의 블록이 참조용으로 선택된다. 이러한 방식으로, 유효성이 승인되거나 검증된 체인이 효율적으로 확장된다.
이제 하나 이상의 중간 블록을 생성하는 것이 제안된다. 하나의 중간 블록은 선행 블록의 정규 참조 외에 제2 참조, 특히 선행 중간 블록에 대한 참조를 갖는다. "참조"라는 용어는, 예를 들어 다른 블록과의 연결; 혹은 통합되거나 연결된 블록을 통한 체크섬 형성에 의한 다른 블록의 통합;을 의미할 수 있다. 이러한 이중 참조를 통해, 상기 방식으로 생성되어 분산형 블록체인 네트워크에 의해 승인된 블록체인을 유연한 방식으로 검증할 수 있다: 즉, 한편으로는 생성된 블록, 특히 생성된 모든 블록의 완전한 추적이 수행될 수 있다. 마찬가지로, 중간 블록 그리고 이 중간 블록의, 선행 중간 블록에 대한 참조를 기반으로 체인이 추적될 수도 있다. 2개의 중간 블록 사이에 있는 블록, 특히 트랜잭션 블록은 중간 블록들을 통해 체인의 무결성이 추적되는 경우, 검증에서 생략될 수 있다.
예를 들어, 트랜잭션 블록들로 이루어진 하나의 체인 내에 제2 중간 블록이 생성된다. 제2 중간 블록은, 선행 블록을 거의 정기적으로 참조하는 방식으로 생성된다. 다시 말해, 제2 중간 블록은, 기존 블록체인 체인을 확장하거나 계속 이어지게 하는 방식으로, 블록체인 내에서 블록으로서 생성된다.
추가로, 제2 중간 블록은 적어도 제1 중간 블록을 참조한다. 따라서, 제2 중간 블록은 2개 이상의 참조를 포함한다. 이는 예를 들어 블록체인의 두 가지 상이한 상태의 체크섬이다. 한편으로, 블록체인은 일반적으로 선행 블록의 연결에 의해 계속 이어진다. 선행 블록은 특히 정규 트랜잭션 블록이다.
직전 블록을 통해, 제2 중간 블록은 제2 중간 블록 자체까지의 블록체인 체인의 체크섬을 포함한다. 추가로, 제2 중간 블록은 생성된 제1 중간 블록의 상태에 대한 블록체인의 체크섬도 포함한다. 이는 예를 들어 제1 중간 블록의 생성 이후의 또는 검증 이후의 블록체인의 상태이다.
따라서, 제1 중간 블록을 참조하는 제2 중간 블록에 의해, 블록체인의 이전 상태에 대한 참조가 생성된다.
바람직한 방식으로, 블록체인은 제2 중간 블록을 토대로 계속 이어질 수 있다. 제1 중간 블록과 제2 중간 블록 사이에 생성된 트랜잭션 블록 자체를 더 이상 사용할 수 없는 경우에도, 제2 중간 블록 및 제1 중간 블록에 의해 블록체인 내에 저장된 트랜잭션의 무결성이 가능하다.
제안된 방법에서는 바람직한 방식으로, 블록체인 네트워크에 제공되어 연결되도록 의도된 현재의 트랜잭션이, 블록체인 네트워크 내에서 트랜잭션 블록의 가용성으로 모든 노드를 위해 사용될 수 있다. 따라서, 조정 가능한 수의 트랜잭션 블록을 가진 블록체인을 생성하기 위한 방법은 특히 현재 트랜잭션 블록의 가용성과 관련이 없다.
중간 블록은, 예를 들어 채굴과 같은 공지된 트랜잭션 블록 생성 방법과 유사하게 블록체인 네트워크에 의해 승인될 수 있다. 예를 들어, 작업 증명(proof-of-work) 또는 지분 증명(proof-of-stake) 또는 권한 증명(proof-of-authority)을 기반으로 하는 메커니즘을 이용하여 중간 블록이 생성된다.
특히, 하나의 중간 블록 이후에 추가 블록을 생성할 때, 선행하는 중간 블록에 대한 중간 블록의 역참조(back reference)를 특별한 방식으로 고려할 필요가 없다. 특히, 중간 블록의 검증 및 상호 연결도 정기적으로 수행된다.
따라서, 또 다른 노드, 예를 들어 블록체인 네트워크가 분포되어 있는 클라우드 내의 노드는 하나 또는 복수의 중간 블록을 가진 블록체인을 정기적으로 처리할 수 있으며, 예를 들어 개별 중간 블록의 선행 트랜잭션 블록에 대한 참조만 고려할 수 있다.
블록체인의 무결성은, 제2 중간 블록에서 제1 중간 블록을 참조하기 때문에, 제1 중간 블록과 제2 중간 블록 사이에 생성된 블록 없이도 가능하다.
일 실시예에 따르면, 제1 중간 블록은 제네시스 블록이다. 제1 중간 블록은본 실시예에서 특별한 역할을 하고, 그 자체가 제네시스 블록이다. 이 경우, 제2 중간 블록은 선행 블록에 추가로 제네시스 블록을 참조한다. 따라서, 제1 중간 블록이 제네시스 블록인 일 변형예에서는, 제2 중간 블록부터는 블록의 검증이 제네시스 블록의 참조에 기반하여 수행될 수 있다. 제네시스 블록과 제2 중간 블록 사이의 블록 내에 저장되어 있는 트랜잭션이 제2 중간 블록부터는 블록의 무결성을 추적하는 데 불필요하다.
일 실시예에 따르면, 제네시스 블록이 제공되어 있고, 추가로 제1 중간 블록이 생성되며, 이 경우 제1 중간 블록은 그의 선행 블록 및 적어도 제네시스 블록을 참조한다. 바람직한 방식으로, 체인의 특성에 따라 또는 생성된 블록, 특히 생성된 트랜잭션 블록의 빈도에 따라, 제1 중간 블록이 제네시스 블록과 무관하게 제2 중간 블록의 체크섬 형성 또는 해시값 형성을 위한 참조 및 데이터 세트로서 이용될 수 있다.
일 실시예에 따르면, 제1 중간 블록과 제2 중간 블록 사이에 하나 이상의 트랜잭션 블록이 생성된다. 제2 중간 블록은 바람직한 방식으로, 블록체인 애플리케이션의 조건 또는 블록체인의 속성을 고려하여, 그에 상응하게 특정 수의 트랜잭션 블록 이후에 중간 블록을 얻고자 하는 규정에 따라 생성된다. 이 규정은 그러한 목표를 달성하기 위한 다양한 메커니즘을 제공할 수 있다. 중간 블록들 사이에 더 많은 트랜잭션 블록이 제공될수록, 중간 블록을 토대로 블록체인을 체크할 때 그리고 중간 블록이 선행하는 중간 블록을 참조할 때 무시할 수 있는 블록 수가 더 많아진다.
일 실시예에 따르면, 블록체인의 단축을 위해서는, 적어도 제2 중간 블록과 제1 중간 블록 사이에 있는 트랜잭션 블록의 수가 감소한다. 특히, 제2 중간 블록과 제1 중간 블록 사이에 생성된 모든 트랜잭션 블록이 제거된다.
제1 중간 블록과 제2 중간 블록 사이에 위치한 하나 또는 복수의 트랜잭션 블록이 제거됨으로써, 하나의 노드 상에서의 블록체인의 크기 및 이로써 필요한 저장 용량이 감소한다.
단축을 수행하는 노드는, 블록체인 네트워크에 참여하는 노드들 중 임의의 하나의 노드일 수 있다. 바람직한 방식으로, 단축된 블록체인 내에 더 이상 존재하지 않는 트랜잭션 블록에 필요 시 액세스할 수 있기 위해서는, 모든 트랜잭션 블록을 포함한 전체 블록체인이 참여 노드들 중 하나 이상의 노드에 저장되어야 한다.
단축된 블록체인은, 제1 중간 블록에 대한 제2 중간 블록의 참조가 이용됨으로써, 이전과 같이 무결성 또는 진위 여부가 체크될 수 있다. 이러한 방식으로, 제1 중간 블록과 제2 중간 블록 사이에 트랜잭션 블록이 없더라도 제1 중간 블록의 참조를 통해 체인이 중단되지 않기 때문에, 제네시스 블록에서부터 제2 중간 블록에 이르기까지 블록의 무결성이 체크될 수 있다. 바람직한 방식으로, 특히 중간 블록을 포함한 모든 블록을 통해 체크섬 형성이 수행됨으로써, 제1 중간 블록 이전에 단축된 블록체인 내에서 여전히 사용 가능한 트랜잭션의 진위성뿐만 아니라 제2 중간 블록 이후의 트랜잭션의 진위성까지도 추적될 수 있다. 제2 중간 블록이 제1 중간 블록의 체크섬도 포함하기 때문에, 제거된 트랜잭션 블록의 갭에서도 체크섬을 이용하여 블록체인의 연속 추적이 가능하다. 따라서, 제거되지 않은 트랜잭션 블록의 트랜잭션은 계속해서 단축된 블록체인 내에도 조작 방지 방식으로 기록된다.
제2 중간 블록 및 또 다른 모든 블록을 신뢰할 수 있다는 사실은, 중간 블록도 정규 블록체인 네트워크에서처럼 블록체인의 합의 메커니즘에 의해 승인됨으로써 보장된다.
블록체인의 단축은, 특히 저장 용량이 한정된 장치에 제공되는 노드를 위해 유용하다. 예를 들어, 산업 분야에서 이 장치는, 클라우드로의 인터페이스로서 이용되는 동시에 산업 설비 내에서 시스템과 관련된 데이터를 로컬로 보유하거나 처리할 수 있는 소위 에지 디바이스이다.
특히, 2개 중간 블록 사이의 모든 트랜잭션 블록이 제거된다. 종래의 블록체인에서의 경우처럼, 기존의 모든 그리고 상응하게 모든 체크섬이 재계산될 수 있는 경우, 2개의 중간 블록 사이의 트랜잭션이 갭 없이 검사될 수 있다. 그렇기 때문에, 단축된 블록체인이 제2 중간 블록과 제1 중간 블록 사이에 트랜잭션 블록을 포함하지 않음으로써, 블록체인의 단축은 바람직하게 필요한 저장 공간과 관련하여 최적화될 수 있다. 예를 들어 중간 블록의 생성이 수행되는 기준이 되는 정책으로 인해 또는 생성된 트랜잭션 블록의 부재로 인해 2개의 중간 블록 사이에 트랜잭션 블록이 생성되지 않은 특수한 경우에도, 단축은 유사하게 수행될 수 있다. 이 경우, 중간 블록은 예를 들어 선행하는 중간 블록에 대한 체크섬을 두 번 포함하는데, 직전 블록의 참조를 고려해서 한 번, 그리고 선행 중간 블록의 참조를 고려해서 한 번 포함한다. 이러한 특수한 경우, 블록체인의 단축은 저장 공간 감소를 달성하지 못한다.
일 실시예에 따르면, 분산형 데이터베이스 시스템에 참여하는 장치, 특히 클라우드 내의 장치 또는 에지 디바이스 또는 IoT 디바이스에 의해서 단축된 블록체인이 저장된다. 이러한 방식으로, 한정된 저장 용량을 갖는 장치가 더 적은 저장 공간을 요구하는 단축된 블록체인을 유연하게 저장할 수 있다. 예를 들어, 장치는 먼저 단축되지 않은 블록체인을 저장하고, 그 다음에 임의의 중간 블록들 사이에 있는 트랜잭션 블록을 삭제함으로써 상기 단축되지 않은 블록체인을 단축한다.
일 실시예에 따라, 블록체인의 확장을 위해, 저장되어 있는 미단축 블록체인으로부터 제1 중간 블록과 제2 중간 블록 사이의 트랜잭션 블록이 조회되어 삽입된다. 이로써, 단축된 블록체인이 바람직한 방식으로 다시 단축되지 않은 블록체인으로 확장될 수 있다. 이러한 확장은 선택된 중간 블록 사이의 트랜잭션 블록에 대해 또는 제거된 모든 트랜잭션 블록, 다시 말해 이전에 단축된 모든 중간 블록 사이의 트랜잭션 블록에 대해 수행될 수 있다.
일 실시예에 따르면, 참조될 블록의 참조는, 참조될 블록의 체크섬 또는 참조될 블록의 일부분의 체크섬을 참조 블록 내에 기록하거나 저장하는 것을 포함한다. 체크섬은 특히 해시값 또는 암호화 해시값이다.
일 실시예에 따르면, 중간 블록들은 각각 트랜잭션을 포함하지 않는다. 하나의 중간 블록은 트랜잭션 블록의 공지된 생성 방법, 예를 들어 채굴과 유사하게 블록체인 네트워크에 의해 승인된다. 본 실시예에서는, 생성된 중간 블록의 콘텐츠만이 사용자 데이터를 포함하지 않는다. 그러면 단축된 블록체인의 경우에는 특히 단축된 블록체인 내에 남아 있는 트랜잭션 데이터가 거의 없다. 또 다른 변형예에 따르면, 자체적으로 트랜잭션을 포함하는 블록을 중간 블록으로 지정할 수 있다. 따라서, 중간 블록은 이중 기능을 취할 수 있으며, 한 편으로는 블록체인 내부의 트랜잭션 블록일 수 있는 동시에 더 이전의 중간 블록에 대한 추가 참조에 의해 중간 블록의 기능을 취할 수 있다. 중간 블록에 후속하는 트랜잭션 블록이 중간 블록 자체도 참조하고, 이로써 그곳에 기록된 트랜잭션을 연결하기 때문에, 중간 블록의 트랜잭션도 조작 방지된다. 하지만, 중간 블록 내에 저장된 트랜잭션은 블록체인의 단축 시 제거되지 않는다.
존재하는 모든 중간 블록 사이, 예를 들어 제네시스 블록과 제1 중간 블록 사이, 제1 중간 블록과 제2 중간 블록 사이, 제2 중간 블록과 또 다른 중간 블록 사이 등에 있는 트랜잭션 블록을 제거하면, 단축된 블록체인 내에 마지막으로 생성된 중간 블록에 후속하는 트랜잭션만 존재하게 된다. 이는, 마지막으로 생성된 중간 블록 이전에 연결된 트랜잭션 데이터의 이력에 더 이상 관심이 없는 애플리케이션에서 특히 바람직하다. 이러한 시나리오에서는 특히 많은 저장 공간이 해제될 수 있거나, 블록체인이 특히 적은 저장 공간을 요구하며, 그럼에도 더 가까운 과거의 모든 트랜잭션 데이터가 사용될 수 있다. 트랜잭션 이력이 이용 가능한 기간은 바람직하게 중간 블록을 생성하기 위한 규정을 통해, 또는 한 대안 실시예에서는 삭제될 트랜잭션 블록의 사전 설정을 통해 제어될 수 있다.
일 실시예에 따라, 추가 중간 블록이 생성되며, 각각의 추가 중간 블록은 각각 선행 블록 및 각각 선행하는 중간 블록을 참조한다. 이 방법은 임의의 복수의 중간 블록으로 확장될 수 있으며, 이 경우 연속하는 중간 블록은 각각 제1 및 제2 중간 블록과 유사한 방식으로 구성된다. 따라서, 제2 중간 블록에 제3 중간 블록이, 그리고 제3 중간 블록에 제4 중간 블록이 뒤따르는 등의 형태로 확장될 수 있다.
일 개선예에 따라, 제2 중간 블록의 생성 또는 각각의 추가 중간 블록의 생성은 규칙 기반으로, 예를 들면 사전 정의 가능한 시점에. 또는 선행 블록에 대해 사전 정의 가능한 시간 간격을 두고, 또는 선행하는 중간 블록에 대해 사전 정의 가능한 시간 간격을 두고, 또는 사전 정의 가능한 수의 생성된 트랜잭션 블록 이후에, 또는 컨텍스트 기반 트리거링 조건을 이용해서 수행되거나, 수동으로 수행된다. 바람직하게는, 중간 블록을 생성하기 위한 규칙을 통해 생성된 중간 블록의 빈도 또는 규칙성을 결정할 수 있다. 애플리케이션에 따라서는, 트랜잭션 블록이 특정 시간 범위로부터 유연하게 제거될 수 있는 방식으로 중간 블록이 생성될 수 있다.
예를 들어 상기 시간 세그먼트 동안 트랜잭션 이력에 거의 관심이 없는 경우에, 예를 들어 생성된 블록은 선택 가능한 기간으로부터 특히 세분화된 방식으로 제거될 수 있다. 예를 들어, 자동화 시스템 내 장치에서 경험상 가장 최근의 트랜잭션 데이터만 차후에도 계속 관심의 대상이 되는 애플리케이션의 경우, 중간 블록들은 더 큰 간격을 두고 생성될 수 있다. 이러한 영역으로부터 트랜잭션 블록을 제거함으로써, 2개의 중간 블록 사이를 삭제하는 동작에 의해 한 번에 많은 저장 공간이 절약될 수 있다.
다른 용례에서는, 예를 들어 경험상 생성된 트랜잭션 블록의 특정 부분만 이력 분석을 위해 관심의 대상이 되고 다른 부분은 이력에서 삭제될 수 있는 경우에, 중간 블록이 더 작은 간격을 두고 생성될 수 있다.
바람직하게는, 특정 수의 트랜잭션 블록이 생성된 경우에 비로소 중간 블록이 생성된다. 이는, 선행하는 중간 블록까지 트랜잭션 블록이 제거되어 한계값으로서의 특정 저장 공간 절약이 초과되어야 비로소 중간 블록이 생성되게 한다. 따라서, 예를 들면 2개의 중간 블록 사이에서 트랜잭션 블록을 제거해도 전체 블록체인의 크기나 길이에 거의 영향을 미치지 않는 상황을 피할 수 있다.
바람직하게, 컨텍스트 기반의 조건에서는, 예를 들어 자동화 프로젝트의 컨텍스트와 같은 컨텍스트에 의존해서 중간 블록의 생성이 수행된다. 예를 들어, 잡 시스템(job system)이 중간 블록의 생성을 제어한다. 이로써, 바람직하게는 예를 들어 중간 블록이 배치(batch)의 시작 시 그리고 종료 후에 생성될 수 있다. 따라서, 중간 블록들 사이에 있는 트랜잭션 블록을 제거하는 것, 또는 상기 블록을 특정 배치 또는 특정 잡을 위해 블록체인 내에 유지하는 것이 선택될 수 있다.
또한, 예를 들어 공작 기계 내에서 공구를 교체한 후에, 또는 환경 영향에 대한 반응으로서 생산 기계 내에서 컨트롤러를 조정한 후에, 자동화된 프로세스 내에서 새로운 파라미터 설정이 사용되는 경우에도 중간 블록이 생성될 수 있다.
일 실시예에 따라, 하나의 중간 블록 내에서 복수의 선행 중간 블록이 참조됨으로써, 예를 들어 복수의 선행 중간 블록의 해시값이 개별 시점의 블록체인의 상태를 포함함으로써, 추가 중간 블록들 중 하나 이상은 선행하는 중간 블록들 중 2개 이상을 참조한다. 이로써, 이중 참조 중간 노드에서 시작하여 복수의 길이로 블록체인을 단축할 수 있다. 다시 말해, 예를 들어 이중 참조 중간 노드와 더 오래 전에 참조된 중간 노드 사이, 또는 이중 참조 중간 노드와 더 최근에 참조된 중간 노드 사이의 체인 섹션이 블록체인으로부터 삭제될 수 있다.
일 개선예에서, 중간 블록은 예를 들어 선행하는 모든 중간 블록을 참조할 수 있다. 한 편으로는, 중간 블록 내에서의 참조 인플레이션으로 인해 복잡성이 증가하지만, 이러한 방식으로 하나의 프로세스에서 매우 많은 수의 블록, 즉, 트랜잭션 블록 및 이전의 중간 블록이 블록체인으로부터 제거되어 블록체인이 효율적으로 단축될 수 있다.
일 실시예에 따라, 하나의 개별 중간 블록은 각각 선행하는 중간 블록을 참조하며, 선택된 중간 블록은 추가로 또 다른 선행 중간 블록을 참조한다. 이러한 방식으로 타협이 이루어질 수 있음으로써, 한 편으로는 중간 블록이 새로 생성됨에 따라 참조량이 인플레이션 방식으로 증가하지 않으며, 그럼에도 선택된 중간 블록은 2개 이상의 선행하는 중간 블록을 참조한다.
일 실시예에 따라, 선택된 중간 블록으로서 하나의 중간 블록이 사전 정의 가능한 시점에, 또는 선행 중간 블록 또는 이전에 선택된 중간 블록에 대해 사전 정의 가능한 시간 간격을 두고, 또는 사전 정의 가능한 수의 생성된 트랜잭션 블록 또는 중간 블록 이후에, 또는 컨텍스트 기반 트리거링 조건을 이용해서, 또는 수동으로 생성된다. 이중 또는 다중 참조를 이용해서 선택된 중간 블록의 생성을 트리거하는 메커니즘은 중간 블록의 생성과 유사하게 선택될 수 있다.
본 발명은 또한, 조정 가능한 수의 트랜잭션 블록 및 복수의 중간 블록을 포함하는 블록들을 가진 블록체인을 구비한, 분산형 데이터베이스 시스템에 참여하는 장치, 특히 클라우드 내 장치 또는 에지 디바이스 또는 IoT 디바이스의 저장 매체와도 관련이 있으며,
- 블록체인은 분산형 데이터베이스 시스템의 구성요소이며,
- 하나의 개별 블록은 선행하는 개별 블록을 참조하며,
- 제1 중간 블록 및 하나 이상의 제2 중간 블록을 구비하며,
- 제2 중간 블록은 그의 선행 블록 및 적어도 제1 중간 블록을 참조한다.
일 실시예에 따라, 저장 매체는 에지 디바이스 또는 IoT 디바이스상에 구현되고, 전술한 방법에 따라 단축된 블록체인을 저장했다.
바람직한 방식으로, 블록체인 네트워크 내에 전술한 중간 블록들을 가진 블록체인이 생성되거나, 분포되거나, 승인되거나, 분산 방식으로 관리되거나, 저장된다. 따라서, 블록체인 네트워크의 하나의 노드는, 이 노드가 생성된 트랜잭션 블록 및 중간 블록을 포함하는 완전한 블록체인을 저장하는지의 여부; 또는 이 노드가 전술한 방법에 따라 블록체인을 단축하고, 이 단축된 블록체인을 저장하는지의 여부;를 임의의 방식으로 결정할 수 있다. 특히, 예를 들어 자동화 시스템 내부에 있는 에지 디바이스 또는 IoT 디바이스와 같이 가용 저장 용량이 한정되어 있는 네트워크의 노드는 바람직하게 단축된 블록체인을 저장할 수 있다.
일 실시예에 따라, 저장 매체는 에지 디바이스 또는 IoT 디바이스상에 구현되고, 전술한 방법에 따라 확장된 블록체인을 저장했다. 더 바람직하게는, 블록체인 네트워크 내에 전체 블록체인을 신뢰성 있게 저장하는 하나 이상의 노드가 제공된다. 클라우드에 연결된 자동화 시스템에서, 이 노드는 시스템 운영자의 블록체인 노드일 수 있거나; 시스템 운영자에 의해 그 규칙이 정해지며, 모든 트랜잭션 블록을 포함하여 전체 블록체인을 저장하는 클라우드 서비스의 블록체인 노드;일 수 있다. 이 중에서 예를 들어 단축된 블록체인만을 저장한 자동화 시스템의 장치는 단축된 블록체인 내에 포함되지 않은 트랜잭션 블록을 요청하여, 이 트랜잭션 블록을 다시 블록체인에 통합할 수 있다. 특히, 이 과정에서 블록들의 체크섬이 추적됨으로써, 요청되어 제공된 모든 트랜잭션 블록이 손상되지 않고 조작되지 않은 상태로 존재하는지의 여부가 검사될 수 있다. 이러한 방식으로, 저장되고 단축된 블록체인을 갖는 장치가 블록들의 통합 후에 전체 블록체인으로부터 다시 확장된 블록체인을 획득한다. 이 경우, 제거된 모든 블록이 요청될 수 있거나 일부만 요청될 수 있음으로써, 블록체인이 확장되긴 하나, 여전히 전체 블록체인에 비해서는 축소된 형태로 에지 디바이스 또는 IoT 디바이스상에 존재하게 된다.
본 발명은 또한, 전술한 저장 매체의 실시예들 중 하나에 따른 저장 매체를 구비한 에지 디바이스와도 관련이 있다.
본 발명은 또한, 컴퓨터 프로그램이 프로그램 제어된 장치상에서 실행되는 경우, 전술한 실시예들 중 하나에 따른 방법을 수행하기 위한 수단을 구비한, 컴퓨터 프로그램을 갖는 컴퓨터 프로그램 제품과도 관련이 있다.
본 발명은 이하에서 도면의 도움으로 실시예에 의해 더 상세히 설명된다.
도 1은 제1 실시예에 따른 2개의 블록체인의 개략도이다.
도 2는 본 발명의 제2 실시예에 따른 2개의 블록체인의 개략도이다.
도 3은 본 발명의 제3 실시예에 따른 2개의 블록체인의 개략도이다.
도 4는 본 발명의 제4 실시예에 따른 2개의 블록체인의 개략도이다.
도 5는 클라우드 환경 내부에 있는 블록체인 네트워크 노드 및 자동화 시스템 내에 있는 블록체인 네트워크 노드의 개략도이다.
본 발명의 제1 실시예에 따라, 블록체인은, 정규 트랜잭션 블록 외에 중간 블록이 규칙적인 간격으로 생성되는 방식으로 생성된다. 이 경우, 블록체인은 제네시스 블록(G)을 기반으로 한다. 트랜잭션 블록은 제네시스 블록(G)을 기반으로 생성되어 블록체인 내에 연결된다. 도 1에는, 이러한 트랜잭션 블록(T)이 예시적으로 식별되어 있다. 단순화를 위해, 단 하나의 트랜잭션 블록에만 설명을 위해 참조 부호가 부여되어 있다. 제네시스 블록(G)에 대해 사전 정의 가능하고 유연하게 선택 가능한 시간 간격 이후에 제1 중간 블록(A1)이 생성된다. 상기 제1 중간 블록 자체는 트랜잭션을 포함하지 않지만, 트랜잭션 블록과 유사하게 생성되고, 브로드캐스트로서 블록체인 네트워크로 전송되며, 블록체인 내에서 사용되는 합의 메커니즘에 의해 승인되어 블록체인에 연결된다. 이 경우, 상기 제1 중간 블록은 평상시와 같이 선행 트랜잭션 블록 및 추가로 제네시스 블록(G)을 직접 참조한다.
블록체인을 사용하는 분산형 데이터베이스 시스템에 참여하는 노드에 의해, 특히 소위 채굴에 의해 제1 중간 블록(A1)이 성공적으로 승인되면, 제1 중간 블록(A1)은 정규 블록과 같이 블록체인을 계속 이어간다.
제1 중간 블록(A1)에 대해 특정 시간 간격을 두고, 또 다른 중간 블록이 생성된다. 이러한 시퀀스로 (n-1) 번째 중간 블록(An-1)도 생성된다. 다시 제1 중간 블록에 대해 시간 간격을 두고 n번째 중간 블록(AN)이 생성된다. 본 발명의 제1 실시예에 따르면, 이러한 방식으로 생성된 블록체인(10)은 블록체인 네트워크 내부에, 예컨대 프라이빗 블록체인 네트워크 내부에 분포된다. 예를 들어, 하나의 블록체인 네트워크는 다양한 운영 단계에서 제품 생산을 위해 협력하는 비즈니스 모임에서 제공된다. 이때, 완전한 블록체인(10)은 예를 들어 참여한 회사의 각각 하나의 노드 내에 저장되어 있다.
마찬가지로, 블록체인 네트워크의 구성요소는 자동화 네트워크 내부에 있는 개별 회사의 노드이다. 이 구성요소는 블록체인 네트워크(NW)와 연결되어 있다. 예를 들면, 블록체인 네트워크의 노드들 중 하나가 IoT 디바이스상에 제공된다. 이 IoT 디바이스상에는 가용 저장 공간이 제한되어 있다. 예를 들어, IoT 디바이스는 시스템 내부에서 제어 태스크를 수행하는 동시에, 사무실 네트워크 또는 IT 네트워크와 연결되어 있다. IoT 디바이스는 특히 인터넷을 통해 주소 지정을 할 수 있다. 예를 들어 현재의 자동화 프로젝트를 위해 또는 현재의 배치를 위해 트랜잭션을 조작 방지 방식으로 사용 가능하게 하기 위해, IoT 디바이스는 블록체인에 액세스한다. 이 트랜잭션 데이터는 예를 들어 파라미터 세트 또는 구성 파라미터로 구성될 수 있다.
또한, 트랜잭션 데이터는 잡(job) 주문 데이터도 포함할 수 있다. 예를 들어, IoT 디바이스의 관심 대상은 (n-1) 번째 중간 블록(An-1) 후에 생성된 트랜잭션 데이터를 포함하는 블록체인의 영역이다.
바람직한 방식으로, IoT 디바이스는 단축된 블록체인(11)을 저장할 수 있다. 이를 위해, 시간상 (n-1) 번째 중간 블록 이전에 생성된 트랜잭션 블록이 블록체인으로부터 제거된다. 이때, 중간 블록은 블록체인 내에 그대로 유지된다. 따라서, 제네시스 블록(G), 제1 중간 블록(A1), 경우에 따라 또 다른 중간 블록, (n-1) 번째 중간 블록(An-1) 및 그에 후속하는 트랜잭션 블록으로 구성된 체인이 생성된다. 이러한 방식으로 단축된 블록체인(11) 및 그 안에 포함된 현재의 트랜잭션 블록은, 체크섬 형성이 개별 블록들에 걸쳐 추적될 수 있음으로써, 제네시스 블록(G)부터 시작해서 검증될 수 있다. 중간 블록 내에 있는 각각의 선행 중간 블록의 체크섬의 산입으로 인해, 단축된 블록체인(11) 내에 포함되어 있는 블록들의 체인이 검증될 수 있다.
단축된 블록체인(11)을 위해 필요한 저장 공간은 제거된 모든 트랜잭션 블록의 크기만큼 감소한다. (n-1) 번째 중간 블록(An-1)의 생성뿐만 아니라, 선행 트랜잭션 블록을 삭제하기 위한 중간 블록으로서 이 중간 블록을 선택하는 것까지도 자동화 프로젝트에 맞추어 조정되어 수행될 수 있다. 중간 블록의 생성이 선행 중간 블록에 대한 선택 가능한 시간 간격에 달려있다면, 그에 상응하게 블록체인의 단축 시 블록체인의 관련 섹션 이전에 생성된 중간 블록이 선택될 수 있다.
도 2에는, 블록체인(20)이 도 1의 범주에서 설명된 블록체인(10)과 유사하게 생성되는 본 발명의 제2 실시예가 도시되어 있다. 제1 실시예와 달리, 중간 블록(An) 이전의 트랜잭션 블록을 제거함으로써 블록체인(20)을 단축하기 위해, 블록체인의 일 섹션이 중간 블록의 제거에서 제외된다. 본 발명의 제2 실시예에 따라, (b-1) 번째 중간 블록(Ab - 1)과 b번째 중간 블록(Ab) 사이에 놓여 있는 트랜잭션은 제거되지 않는다. 따라서, (b-1) 번째 중간 블록(Ab - 1)과 b번째 중간 블록(Ab) 사이에 있는 블록을 제외하고, 중간 블록(An) 이전에 생성된 더 오래된 트랜잭션 블록을 제거하는 단축된 블록체인(21)이 생성된다.
따라서, 블록체인(20)은 효과적으로 단축된 블록체인(21)으로 축소되고, 이경우 제거된 트랜잭션 블록에 의해 확보되는 저장 공간이 절약된다. 그러나 시간 범위가 의도한 대로 제외됨으로써, 이 시간 범위의 트랜잭션 블록은 단축된 블록체인(21)에서도 사용 가능하다. 예를 들어, 단축된 블록체인(21)에서도 배치 데이터의 상응하는 비교를 수행할 수 있기 위하여, 상기 단축된 블록체인에서는, 프로세스 공학으로부터 공지되어 있고 현재의 생산 배치(production batch)를 위한 기준을 나타내는 이른바 골든 배치(golden batch)가 블록체인 내에 복구 가능한 트랜잭션 데이터로서 유지된다. 추가로, 예를 들어 중간 블록(An) 이후에 생성된 가장 최근의 트랜잭션 데이터가 이력으로서 유지된다.
본 발명의 제3 실시예에 따라, 블록체인(30)은, 예를 들어 n번째 중간 블록(An)이 직전 트랜잭션 블록 및 마지막으로 생성된 (n-1) 번째 중간 블록(An-1) 외에 추가로 예를 들어 제1 중간 블록(A1)을 참조하는 방식으로 생성된다. 일 변형예에서는, n번째 중간 블록(An)이 또 다른 중간 블록(도시되지 않음)을 더 참조한다. 따라서, 블록체인(30)을 단축된 블록체인(31)으로 단축할 때, 선택된 시간 범위 사이에서, 예를 들어 제1 중간 블록(A1)과 n번째 중간 블록(An) 사이에서, 트랜잭션 블록 외에 이 기간에 생성된 중간 블록도, 특히 (n-1) 번째 중간 블록(An-1)도 이 기간에서 제거될 수 있다.
그럼에도, 단축된 블록체인(31)에서는 제1 중간 블록(A1)에 대한 n번째 중간 블록(An)의 참조에 의해 블록체인 체인의 완전한 검사 가능성이 보장된다. 더 바람직하게는, 참조의 인플레이션 및 이와 관련된 복잡성을 피하기 위해, 모든 중간 블록이 복수의 선행하는 중간 블록을 참조하지는 않는 점이 제안된다. 하지만, 더 큰 시간 간격으로, 특히 추가 중간 블록을 체크섬으로서 포함하는 중간 블록이 제공될 수 있다.
도 4에는, 중간 블록들을 가진 블록체인(40)을 생성하는 또 다른 가능한 대안이 도시되어 있다. 이때, 생성된 복수의 중간 블록 또는 특히 생성된 모든 중간 블록은 제네시스 블록(G)도 참조한다. 그 다음에, 단축된 블록체인(41)은 (n-1) 번째 중간 블록(An-1) 이전의 트랜잭션 데이터가 제거되는 방식으로 생성될 수 있다. 이렇게 함으로써, 블록체인은 자동으로 최소로 가능한 길이로 단축된다. 본 실시예는, 블록체인의 시작 단계에서의 트랜잭션 데이터와 관련이 없는 용례를 위해 유용할 수 있는데, 이는 예를 들어 상기 데이터가 예를 들어 열악하거나 최적화되지 않은 시스템 조건을 야기한다는 이유로 나머지 절차에서 사용되어서는 안 되는 테스트 데이터 또는 테스트 구성 데이터 세트이기 때문이다.
실시예 1 내지 4에서 설명된 중간 블록의 참조 가능성과 블록체인을 단축하기 위한 상응하는 가능성이 조합된 형태로도 사용될 수 있다. 예를 들어, 중간 블록을 생성하기 위한 다양한 메커니즘이 블록체인의 다양한 시간 세그먼트에서 사용될 수 있다. 마찬가지로, 중간 블록을 생성하기 위한 트리거 메커니즘이 하나의 블록체인 내에서 변할 수 있다. 예를 들어, 자동화 시스템이 시작될 때 새로 구성되는 블록체인의 시작 시, 고정된 시간 간격이 사전 정의될 수 있는 한편, 그와 달리 추가 과정에서는 중간 블록이 컨텍스트 기반으로 트리거된다.
도 5를 참조해서, 단축된 블록체인(11, 21, 31)이 자동화 시스템의 응용 시나리오에서 어떻게 사용되는지가 설명된다. 도 5는, 블록체인 노드 또는 블록체인 노드(151, 152, 101, 201, 301)로 이루어진 블록체인 네트워크(NW)를 보여준다. 설명을 위해 블록체인 네트워크(NW)에 참여하는 5개의 노드만 도시되었다. 특히, 도 5 이미지의 상반부에 도시되어 있는 클라우드(150) 내에 다수의 노드가 참여하고 있다. 클라우드(150) 내에 있는 노드(151, 152)는 블록체인 네트워크(NW)를 통해 자동화 시스템(101, 201, 301) 내부에 있는 노드들과 연결되어 있다.
자동화 시스템의 노드들은 도 5의 하반부에 도시되어 있다. 여기서는 예를 들어 노드(101, 201, 301)가 공간적으로 서로 가까이 놓인 상태로 자동화 시스템의 다양한 장치(100, 200, 300) 상에 형성되어 있는 산업 시설이 다루어질 수 있다. 마찬가지로, 노드들은 예를 들어 하나의 회사에 속해 있고 공간적으로 분리된 복수의 시스템 내에 제공될 수 있다. 나아가, 도 5에 도시된 노드들은 다른 회사의 네트워크에 제공된 것일 수도 있다.
도 5를 참조하여, 일반적으로 클라우드(150) 내의 노드를 위해 충분한 저장 공간을 이용할 수 있다는 사실이 설명되어야 한다. 그에 반해, 자동화 시스템 내 장치(100, 200, 300) 상의 노드 내에 존재하는 메모리는 종종 제한 요소이다.
예를 들어, 제1 자동화 시스템 내에는, 자동화 장치의 제어를 조절하는 자동화 네트워크와 클라우드(150) 내 통신 네트워크 사이에서 게이트웨이로서 이용되는 에지 디바이스(100)가 제공된다. 이때, 에지 디바이스(100)는, 클라우드(150) 내에서 서비스를 위해 이용될 수 있는 자동화 시스템의 데이터를 수집한다. 예를 들어, 이러한 방식으로 클라우드(150) 내에서 빅 데이터 분석에 이용되어야 하는 모니터링 데이터가 수집된다. 예를 들어, 에지 디바이스(100)는 수집된 데이터를 클라우드 내로 전송하기 전에 이 수집된 데이터를 전처리한다. 이때, 예를 들어 기록된 데이터가 익명화되거나, 특정 시간 세그먼트로부터 데이터가 수집되거나, 시간 세그먼트에 따라 분류되어 제공된다.
다른 자동화 시스템 내에는, 예를 들어 클라우드 서비스와의 암호화된 교환을 추가로 담당하는 에지 디바이스(200)가 제공된다.
또 다른 일 자동화 시스템 내에는, 예를 들어 패키징 프로세스를 제어하는 동시에 인터넷 연결을 통해 물류 제공자와 통신 연결을 갖는 IoT 디바이스(300)가 제공된다.
이때, 에지 디바이스(100), 에지 디바이스(200) 및 IoT 디바이스(300)의 공통점은, 주어진 저장 공간이 제한되어 있다는 점이다. 따라서, 이들 장치는 저장 공간을 절약하는 데 관심이 있다. 이들 장치에는 본 발명의 제5 실시예에 따라 추가로 블록체인 애플리케이션이 구현되어 있다. 이때, 조작 동작(operating action) 또는 품질 전문가와 관련된 데이터는 각각 블록체인을 통해 보호되도록 의도되었다. 이들 데이터는 블록체인에서 명백하게 조작되지 않은 상태로 존재하도록 의도되었다.
그와 동시에, 설명된 장치, 즉, 에지 디바이스(100), 에지 디바이스(200) 및 IoT 디바이스(300)는 제품의 생산 및 가공 과정에서 자동화에 가깝게 사용된다. 다시 말해, 일반적으로는 검출된 데이터의 더 최근의 이력이 국소적으로 관련이 있다는 것이다. 따라서, 이러한 단기 아카이브의 데이터는 바람직하게 개별 장치에서 사용될 수 있어야 한다. 그러나 그와 동시에, 블록체인은 개별 장치에서 가급적 저장 공간을 덜 요구하도록 의도된다. 이러한 도전은, 개별 노드(101, 201, 301)가 개별 장치(100, 200, 300) 상에 각각 하나의 단축된 블록체인(11, 21, 31)을 저장함으로써 해결된다. 단축된 블록체인(11, 21, 31)으로서는 전술한 블록체인이 적합하다.
개별 노드(101, 201, 301)가 단축된 블록체인에 도달하는 방법에 대한 많은 가능성이 있다. 예를 들어, 충분한 저장 공간이 있는 한, 블록체인은 단축되지 않고 정기적으로 유지될 수 있다. 블록체인이 특정 비율의 저장 공간을 차지하는 즉시, 블록체인을 단축하기 위한 메커니즘이 트리거된다. 이 방법에서, 개별 자동화 장치의 개별 노드는 주어진 저장 공간이 더 이상 충분하지 않을 때까지 예를 들어 기록된 품질 데이터와 같은, 최대로 가능한 수의 트랜잭션 블록 및 이로써 최대로 가능한 수의 수행된 트랜잭션을 사용할 수 있다. 이 시점부터는, 저장 공간 점유에 대한 임계값이 다시 초과될 때까지, 예를 들어 정기적으로 블록체인의 일부가 삭제될 수 있거나, 예를 들어 블록체인의 더 큰 섹션이 한 번 삭제될 수 있다.
다른 일 변형예에서는, 자동화 시스템의 일 노드(101)가 예를 들어 클라우드 내의 노드(152)와 통신하는 동시에 관련 없는 트랜잭션 블록을 제거함으로써, 네트워크로부터 블록체인의 상태를 정기적으로 조회한다. 이러한 방식으로, 단축된 블록체인이 거의 처음부터 에지 디바이스(100)에 저장된다.
바람직하게, 블록체인의 단축을 수행하는 노드의 블록체인이 계속 증가하여 메모리의 오버플로우를 야기하는 상황이 방지된다.
특히 자체적으로 트랜잭션을 포함하지 않고, 마지막 블록 및 선행하는 중간 블록에 대한 참조만을 포함하는 중간 블록의 경우, 중간 블록의 풋 프린트가 항상 작다. 서로 연결된 중간 블록들의 증가는 한정된 리소스를 갖는 장치에서도 더 이상 위험을 초래하지 않는다.
블록의 삭제는 바람직하게 블록체인 노드에서 로컬로 수행된다. 특히 이로써, 주어진 리소스와 관련하여 특정의 제한을 가지며 블록체인 네트워크(NW) 내에 위치한 임의의 복수의 장치가 로컬로 저장된 블록체인으로부터 상이한 시간 범위를 유연하게 제거할 수 있다. 단축된 블록체인은 스트립 블록체인(stripped blockchain)이라고도 말할 수 있으며, 단축된 블록체인을 갖는 노드는 스트립 노드(stripped node)라고도 말할 수 있다.
제안된 발명은, 표적 삭제를 가능하게 하는 동시에, 중간 블록에 의해 결정될 수 있는 선택된 기간 내에 블록체인에 저장되는 관련 페이로드 데이터의 의도적인 유지를 가능하게 한다.
단축된 블록체인 또는 스트립 노드는, 전체 블록체인 또는 풀 노드(full node)로부터 이미 삭제된 블록을 다시 요청할 수 있고, 삭제를 위해 선택된 중간 블록들 사이의 해당 영역에 연결할 수 있다. 이는, 블록체인의 제거된 영역의 데이터가 차후의 분석과 관련이 있는 경우에 특히 바람직한데, 그 이유는 예를 들어 배치(batch)로부터 유래하는 제품의 고객이 공급망(supply chain)과 관련된 정보를 얻고 싶어하기 때문이다. 나아가, 제거된 영역의 데이터는 제어 시스템을 구성하기 위해 참조 데이터로서 필요할 수도 있다.
그와 동시에, 단축된 블록체인에서도 현재의 트랜잭션이 로컬로 사용될 수 있도록 보장된다. 제거를 위해 중간 블록이 유연하게 선택될 수 있음으로써 더 최근의 중간 블록이 선택될 필요가 없다는 사실 외에도, 마지막으로 생성된 중간 블록 이후에 생성된 시간 범위는 데이터 삭제에서 제외된다.
따라서, 현재의 트랜잭션은, 블록체인 네트워크에서의 자체 블록의 가용성으로 인해 즉시 어디서나 사용될 수 있으며, 다시 말해 이력 데이터의 조회와 마찬가지로 최신 생산 데이터의 조회도 클라우드를 통해 가능하다.
따라서, 블록체인 네트워크 내부의 이력 정보는 관련이 있는 블록체인 노드(예를 들어 장기 아카이브 서버 또는 클라우드)에만 존재하면 된다. 그와 동시에, 예를 들어 축소되었거나 제거된(stripped) 블록체인 노드를 작동하는 IoT 디바이스의 시작이 훨씬 더 빠르게 수행되는데, 그 이유는 삭제된 블록체인 영역이 로드될 필요가 없기 때문이다.

Claims (19)

  1. 조정 가능한 수의 트랜잭션 블록(T) 및 복수의 중간 블록[A1, A(b-1), Ab, A(n-1), An]을 포함하는 블록들을 가진 블록체인(10, 11, 20, 21, 30, 31, 40, 41)을 생성하기 위한 컴퓨터 구현 방법으로서,
    - 블록체인(10, 11, 20, 21, 30, 31, 40, 41)은 분산형 데이터베이스 시스템(NW)의 구성요소이며,
    - 블록은 블록체인(10, 11, 20, 21, 30, 31, 40, 41) 내부에서 생성되고, 하나의 개별 블록은 선행하는 개별 블록을 참조하며,
    - 제1 중간 블록(A1, G)이 제공되어 있으며,
    - 하나 이상의 제2 중간 블록(A2)이 생성되며,
    - 제2 중간 블록(A2)은 그의 선행 블록 및 적어도 제1 중간 블록(A1, G)을 참조하며,
    - 제1 중간 블록(A1, G)이 선행 중간 블록인, 블록체인 생성을 위한 컴퓨터 구현 방법.
  2. 제1항에 있어서, 제1 중간 블록이 제네시스 블록(G)인, 블록체인 생성을 위한 컴퓨터 구현 방법.
  3. 제1항에 있어서, 제네시스 블록(G)이 제공되어 있고, 추가로 제1 중간 블록(A1)이 생성되며, 제1 중간 블록(A1)은 그의 선행 블록 및 적어도 제네시스 블록(G)을 참조하는, 블록체인 생성을 위한 컴퓨터 구현 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 제1 중간 블록(A1)과 제2 중간 블록(A2) 사이에 하나 이상의 트랜잭션 블록이 생성되는, 블록체인 생성을 위한 컴퓨터 구현 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 블록체인(10, 11, 20, 21, 30, 31, 40, 41)의 단축을 위해 적어도, 제2 중간 블록(A2)과 제1 중간 블록(G, A1) 사이에 있는 트랜잭션 블록의 수를 줄이는, 특히 제2 중간 블록(A2)과 제1 중간 블록(G, A1) 사이에 생성된 모든 트랜잭션 블록을 제거하는, 블록체인 생성을 위한 컴퓨터 구현 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 분산형 데이터베이스 시스템(NW)에 참여하는 장치(100, 200, 300), 특히 클라우드 내의 장치 또는 에지 디바이스 또는 IoT 디바이스에 의해 단축된 블록체인이 저장되는, 블록체인 생성을 위한 컴퓨터 구현 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서, 블록체인(10, 11, 20, 21, 30, 31, 40, 41)의 확장을 위해, 저장되어 있는 미단축 블록체인으로부터 제1 중간 블록(G, A1)과 제2 중간 블록(A2) 사이의 트랜잭션 블록이 조회되어 삽입되는, 블록체인 생성을 위한 컴퓨터 구현 방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서, 참조될 블록의 참조는, 참조될 블록의 체크섬 또는 참조될 블록의 일부분의 체크섬을 참조 블록 내에 기록하거나 저장하는 것을 포함하는, 블록체인 생성을 위한 컴퓨터 구현 방법.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서, 제1 중간 블록(G, A1) 및 제2 중간 블록(A2)이 각각 트랜잭션을 포함하지 않는, 블록체인 생성을 위한 컴퓨터 구현 방법.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서, 추가 중간 블록[A(b-1), Ab, A(n-1), An]이 생성되고, 각각의 추가 중간 블록[A(b-1), Ab, A(n-1), An]은 각각 선행 블록 및 각각 선행하는 중간 블록을 참조하는, 블록체인 생성을 위한 컴퓨터 구현 방법.
  11. 제1항 내지 제10항 중 어느 한 항에 있어서, 제2 중간 블록(A2)의 생성 또는 각각의 추가 중간 블록[A(b-1), Ab, A(n-1), An]의 생성은 규칙 기반으로, 특히 사전 정의 가능한 시점에, 또는 선행 블록에 대해 사전 정의 가능한 시간 간격을 두고, 또는 선행하는 중간 블록에 대해 사전 정의 가능한 시간 간격을 두고, 또는 사전 정의 가능한 수의 생성된 트랜잭션 블록 이후에, 또는 컨텍스트 기반 트리거링 조건을 이용해서 수행되거나, 수동으로 수행되는, 블록체인 생성을 위한 컴퓨터 구현 방법.
  12. 제10항 또는 제11항에 있어서, 추가 중간 블록[A(b-1), Ab, A(n-1), An] 중 하나 이상의 중간 블록이 선행하는 중간 블록 중 2개 이상을 참조하는, 블록체인 생성을 위한 컴퓨터 구현 방법.
  13. 제1항 내지 제12항 중 어느 한 항에 있어서, 하나의 개별 중간 블록이 각각 선행하는 중간 블록을 참조하고, 선택된 중간 블록은 추가로 또 다른 선행 중간 블록을 참조하는, 블록체인 생성을 위한 컴퓨터 구현 방법.
  14. 제13항에 있어서, 선택된 중간 블록으로서 하나의 중간 블록이 사전 정의 가능한 시점에, 또는 선행 중간 블록 또는 이전에 선택된 중간 블록에 대해 사전 정의 가능한 시간 간격을 두고, 또는 사전 정의 가능한 수의 생성된 트랜잭션 블록 또는 중간 블록 이후에, 또는 컨텍스트 기반 트리거링 조건을 이용해서, 또는 수동으로 생성되는, 블록체인 생성을 위한 컴퓨터 구현 방법.
  15. 조정 가능한 수의 트랜잭션 블록 및 복수의 중간 블록을 포함하는 블록들을 가진 블록체인(10, 11, 20, 21, 30, 31, 40, 41)을 구비한, 분산형 데이터베이스 시스템(NW)에 참여하는 장치(100, 200, 300), 특히 클라우드 내 장치 또는 에지 디바이스 또는 IoT 디바이스의 저장 매체로서,
    - 블록체인(10, 11, 20, 21, 30, 31, 40, 41)은 분산형 데이터베이스 시스템(NW)의 구성요소이며,
    - 하나의 개별 블록은 선행하는 개별 블록을 참조하며,
    - 제1 중간 블록(A1, G) 및 하나 이상의 제2 중간 블록(A2)을 구비하며,
    - 제2 중간 블록(A2)은 그의 선행 블록 및 적어도 제1 중간 블록(A1, G)을 참조하며,
    - 제1 중간 블록(A1, G)이 선행 중간 블록인, 저장 매체.
  16. 제15항에 있어서, 저장 매체는 에지 디바이스 또는 IoT 디바이스상에 구현되고, 제5항에 따라 단축된 블록체인을 저장하는, 저장 매체.
  17. 제15항에 있어서, 저장 매체가 에지 디바이스 또는 IoT 디바이스상에 구현되어 있고, 제7항에 따라 확장된 블록체인을 저장하는, 저장 매체.
  18. 제15항 내지 제17항 중 어느 한 항에 따른 저장 매체를 구비한 에지 디바이스.
  19. 컴퓨터 프로그램이 프로그램 제어된 장치상에서 실행되는 경우, 제1항 내지 제14항 중 어느 한 항에 따른 방법을 수행하기 위한 수단을 구비한, 컴퓨터 프로그램을 갖는 컴퓨터 프로그램 제품.
KR1020217022115A 2018-12-14 2019-11-13 조정 가능한 수의 트랜잭션 블록 및 복수의 중간 블록을 포함하는 블록을 가진 블록체인의 생성 KR102584292B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP18212701.9A EP3668036A1 (de) 2018-12-14 2018-12-14 Erstellen einer blockchain mit blöcken umfassend eine anpassbare anzahl an transaktionsblöcken und mehrere zwischenblöcke
EP18212701.9 2018-12-14
PCT/EP2019/081111 WO2020120054A1 (de) 2018-12-14 2019-11-13 Erstellen einer blockchain mit blöcken umfassend eine anpassbare anzahl an transaktionsblöcken und mehrere zwischenblöcke

Publications (2)

Publication Number Publication Date
KR20210102404A true KR20210102404A (ko) 2021-08-19
KR102584292B1 KR102584292B1 (ko) 2023-10-04

Family

ID=64949041

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217022115A KR102584292B1 (ko) 2018-12-14 2019-11-13 조정 가능한 수의 트랜잭션 블록 및 복수의 중간 블록을 포함하는 블록을 가진 블록체인의 생성

Country Status (7)

Country Link
US (1) US20220012233A1 (ko)
EP (2) EP3668036A1 (ko)
JP (1) JP7371099B2 (ko)
KR (1) KR102584292B1 (ko)
CN (1) CN113439424B (ko)
BR (1) BR112021011216A2 (ko)
WO (1) WO2020120054A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4068187A4 (en) * 2019-11-28 2023-07-26 Soon Chun Hyang University Industry Academy Cooperation Foundation USER IDENTITY SHARING SYSTEM USING LEDGER DISTRIBUTED TECHNOLOGY SECURITY PLATFORM FOR VIRTUAL ASSETS SERVICE
US20220129426A1 (en) * 2020-10-27 2022-04-28 EMC IP Holding Company LLC Versatile data reduction for internet of things
EP4246359A1 (de) 2022-03-18 2023-09-20 Siemens Aktiengesellschaft Verfahren und system zur sicherung von innerhalb eines industriellen automatisierungssystems erfassten daten gegen verfälschung

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160028552A1 (en) * 2014-07-25 2016-01-28 Blockchain Technologies Corporation System and method for creating a multi-branched blockchain with configurable protocol rules
US20170338957A1 (en) * 2016-05-23 2017-11-23 Accenture Global Solutions Limited Rewritable blockchain

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018005818A (ja) * 2016-07-08 2018-01-11 日本電信電話株式会社 異常検知システム及び異常検知方法
CN106503992A (zh) * 2016-10-18 2017-03-15 北京天德科技有限公司 一种将交易信息和账户信息分别存储的区块链
CN107995120B (zh) * 2016-11-22 2019-08-09 南京银链信息科技有限公司 构造多区块链的方法及多区块链系统
CN108270821A (zh) * 2016-12-30 2018-07-10 深圳瀚德创客金融投资有限公司 用于区块链网络中的区块生成方法和网络节点
US20180218003A1 (en) * 2017-01-30 2018-08-02 General Electric Company Ephemeral blockchain data structure
DE102017205163A1 (de) * 2017-03-27 2018-09-27 Bundesdruckerei Gmbh Hashwerte für die bidirektionale verkettete Blockchain
US11240035B2 (en) * 2017-05-05 2022-02-01 Jeff STOLLMAN Systems and methods for extending the utility of blockchains through use of related child blockchains
WO2018222412A1 (en) * 2017-05-31 2018-12-06 Walmart Apollo, Llc Systems and methods to enable robotic node participation in peer-to-peer commercial transactions
CN108519985B (zh) * 2018-02-09 2020-09-11 北京欧链科技有限公司 双向区块链、数据处理方法和装置
CN108510268B (zh) * 2018-02-09 2021-05-11 北京欧链科技有限公司 环形区块链结构、数据处理方法和装置
WO2019226986A1 (en) * 2018-05-24 2019-11-28 Walmart Apollo, Llc Nested blockchain system
CN111899006A (zh) * 2018-05-29 2020-11-06 创新先进技术有限公司 基于区块链的交易处理方法及装置、电子设备
CN108804706B (zh) * 2018-06-20 2020-09-18 南方科技大学 一种区块链数据处理方法、装置、设备及存储介质
CN111475572B (zh) * 2020-04-02 2023-08-29 百度国际科技(深圳)有限公司 区块生成方法、装置、设备和介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160028552A1 (en) * 2014-07-25 2016-01-28 Blockchain Technologies Corporation System and method for creating a multi-branched blockchain with configurable protocol rules
US20170338957A1 (en) * 2016-05-23 2017-11-23 Accenture Global Solutions Limited Rewritable blockchain

Also Published As

Publication number Publication date
JP7371099B2 (ja) 2023-10-30
EP3668036A1 (de) 2020-06-17
BR112021011216A2 (pt) 2021-08-24
US20220012233A1 (en) 2022-01-13
EP3871394A1 (de) 2021-09-01
WO2020120054A1 (de) 2020-06-18
JP2022512464A (ja) 2022-02-04
CN113439424A (zh) 2021-09-24
KR102584292B1 (ko) 2023-10-04
CN113439424B (zh) 2023-11-24

Similar Documents

Publication Publication Date Title
KR102584292B1 (ko) 조정 가능한 수의 트랜잭션 블록 및 복수의 중간 블록을 포함하는 블록을 가진 블록체인의 생성
CN104301142A (zh) 一种配置文件的备份方法和设备
JP2009288836A (ja) 仮想サーバのシステム障害回復方法及びそのシステム
US11768815B2 (en) Determining when a change set was delivered to a workspace or stream and by whom
CN113938321B (zh) 可扩展的运维管理系统、方法、电子设备和可读存储介质
US10204021B2 (en) Recovery of an infected and quarantined file in a primary storage controller from a secondary storage controller
CN106326239A (zh) 分布式文件系统及其文件元信息管理方法
US9401957B2 (en) System and method for synchronization between servers
CN108075914B (zh) 一种动态扩容缩容的方法及网络设备
CN112685091A (zh) 基于大数据的业务请求处理方法、装置、设备和介质
US11544076B2 (en) Online reconfiguration of a node in a process control system
US20170300553A1 (en) System and methodology for propagating modifications in key-value pairs across a cluster of computers
US10175968B2 (en) Software catalog information management
CN105763468A (zh) 一种bgp更新报文的传输方法和装置
US10078638B2 (en) Secure hyper transfer of large files
CN110298031B (zh) 一种词典服务系统及模型版本一致性配送方法
TWI629883B (zh) 基於區塊鏈的節點清單維護系統及其方法
RU2792734C2 (ru) Создание блокчейна с блоками, включающими в себя настраиваемое количество блоков транзакций и несколько промежуточных блоков
CN114493493A (zh) 决策引擎及决策引擎实现方法
CN112486511A (zh) 一种通过web生成操作系统安装镜像的方法
JP2007257156A (ja) リストアシステム及びリストア方法
JP7258258B1 (ja) プログラマブルコントローラ、プログラマブルコントローラシステム、アクセス情報共有方法及びプログラム
US20180217870A1 (en) System And Method For Multi-Tiered Real Time Processing Using Configurable Platform Instances
CN108259229A (zh) 一种设备管理方法、装置及系统
KR102171027B1 (ko) 비정형 로그를 처리하기 위한 추종 서버 장치 및 선도 서버 장치, 이를 포함하는 합의 시스템 및 그 방법

Legal Events

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