KR20210060599A - 백워드 체인 요소에 의해 보안화된 블록체인 - Google Patents

백워드 체인 요소에 의해 보안화된 블록체인 Download PDF

Info

Publication number
KR20210060599A
KR20210060599A KR1020217011872A KR20217011872A KR20210060599A KR 20210060599 A KR20210060599 A KR 20210060599A KR 1020217011872 A KR1020217011872 A KR 1020217011872A KR 20217011872 A KR20217011872 A KR 20217011872A KR 20210060599 A KR20210060599 A KR 20210060599A
Authority
KR
South Korea
Prior art keywords
block
backstep
value
values
blockchain
Prior art date
Application number
KR1020217011872A
Other languages
English (en)
Inventor
게오르그 크라우제
Original Assignee
블록체인 시스템즈 피티이. 엘티디.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 블록체인 시스템즈 피티이. 엘티디. filed Critical 블록체인 시스템즈 피티이. 엘티디.
Publication of KR20210060599A publication Critical patent/KR20210060599A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/18Legal services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • H04L2209/38
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Bioethics (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Primary Health Care (AREA)
  • Marketing (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)

Abstract

작업 증명이나 복수의 기여 노드를 필요로 하지 않고 블록체인에 대한 신뢰를 창출할 수 있는 방법이다. 이 방법은 각각의 블록에 하나 이상의 백워드 체인 요소를 포함한다. 이들 요소는 현재 블록에서 이전 블록으로 일방향 속성을 가진다. 본 발명은 하드웨어, 소프트웨어 또는 이들의 조합으로 구현될 수 있다. 백스텝 블록체인의 실시예는 현존하는 블록체인 애플리케이션과 속도 또는 물리적 크기 또는 네트워크 독립성이 바람직한 속성인 신규한 블록 체인 애플리케이션으로 이루어진다. 백스텝 블록체인의 하나의 실시예는 스마트폰에 구현될 수 있지만, 이에 한정되지 않는다.

Description

백워드 체인 요소에 의해 보안화된 블록체인
본 발명은 전자 보안 레저(ledger; 원장) 분야에 속한다.
명세서 전체에 걸쳐 선행기술에 대한 설명은 이것이 널리 공지되었거나 이 분야의 공통된 일반적인 지식을 이룬다는 것을 인정하는 것으로 해석되어서는 안 된다.
현재, 저장장치 자체의 데이터를 조작하는 것을 막는 현실적인 기술은 없다. 판독 전용 장치들이 판독되어 조작된 데이터로 다른 장치로 기입될 수 있다. 블록체인은 조작된 카피들을 검지할 수 있거나 또는 복사본이 생성될 수 있는 것을 크게 막는 기술을 이용하여 이 문제를 해결하려는 요청들이 있다.
현재 블록체인은 해시(hash) 함수의 수학적인 일방향 속성을 토대로 하므로 한쪽 방향으로는 쉽게 계산할 수 있지만, 역방향으로 계산하는 것은 수학적으로 어렵다. 실제로는 불가능하다. 또, 두 개의 다른 입력을 구성하는 것도 실제로는 불가능하며, 동일한 해시 데이터가 나오게 된다. 해시는 입력 데이터의 암호 지문으로 여겨진다. 현재 블록체인은 서로 다른 해시 알고리즘을 실시하고 있지만, 이들은 모두 상술한 속성을 제공한다.
블록체인은 블록 또는 레코드 형태로 링크-리스트(linked-list)된 데이터이며, 여기서 각각의 새로운 블록체인은 이전 블록의 암호화 해시 함수의 결과물을 포함한다. 이것이 링크를 생성한다.
블록이 연쇄하는 결과가 되며, 각각의 블록은 모든 이전의 블록에 종속된다. 이전 블록을 조작하면 모든 장래의 블록에서는 상이한 해시값으로 간주된다. 각각의 블록에 대하여 해시를 재계산하면서 블록의 체인을 추적하면 과거 블록의 조작 여부를 쉽게 알 수 있다. 현재 이전 레코드의 변경을 방지할 수 있는 방법들이 유용하기는 하지만 이들은 모두 특유의 단점이 있다. 현재의 블록체인은 간혹 실제의 페이로드(payload) 대신 실제의 페이로드의 해시를 담고 있다. 모든 알려진 블록체인은 블록 안에 추가로 소위 메타데이터를 포함한다. 예를 들어, 블록 넘버와 타임 스탬프를 언급할 수 있다.
체인 안에서 선행하는 블록을 조작하는 것은 후속하는 블록들 또한 재계산할 필요가 있음을 의미하는데, 그 이유는 해시값이 모든 후속하는 블록에 대하여 변할 것이기 때문이다. 현재 알려진 실례들은 이러한 재계산을 어렵게 하거나 또는 적어도 재계산이 감지될 수 있도록 한다. 많은 블록체인들은 이 목적을 위하여 네트워크에서 많은 수의 노드를 이용한다. 이러한 네트워크에서는 조작된 체인을 창출하는 것이, 점증하는 노드로 인하여 더 어렵게 된다. 예를 들면 DAG(directed acyclic graph) 및 베이시안(Bayesian) 네트워크 기술들이 이렇다.
작업증명(Proof-of-Work) 또한 블록체인 기술로 알려져 있다. 여기서 해시의 포워드 계산(forward calculation)은 추가로 계산해야 하는 업무가 부과된다. 이러한 체인의 오리지널 계산은 훨씬 더 어려우며, 작업이 많은 계산 노드로 분산되는 것이 필요하다. 모든 노드들이 입력 데이터에 약간의 변형을 가하여 동일한 알고리즘을 적용한다. 노드들이 서로 경쟁하게 된다. 통계적으로 일정 시간 후 하나의 노드가 필요한 결과를 발견하여 다른 노드들로 분배한다. 그 다음 이것이 모든 노드에서 블록체인의 모든 카피본 안으로 위치하게 된다. 이 기술이 비트코인을 포함한 여러 곳에 이용되지만, 막대한 에너지 손실이라는 결점이 있다.
조작된 체인을 재계산하려면 체인의 조작에서부터 현재의 기록까지 모든 단계에 대하여 동일한 량의 작업이 요구될 것이다. 오리지널 체인의 현재 레코드를 따라 잡으려면 계산이 오리지널 체인의 계산보다 훨씬 신속해야만 한다. 이는 오리지널 체인에 필요한 것과 비교하여 더 많은 계산력을 의미한다. 즉, 절반 이상의 노드들이 이러한 공격적인 업무를 위하여 협업하고, 조작된 체인을 받아 들이고 이것이 올바른 체인이라고 주장할 필요가 있는 것이다.
논쟁은 있지만, 노드의 대다수가 올바른 체인을 가질 것으로 가정된다. 이것은 노드의 적어도 51%의 컨센서스를 의미한다.
본 발명은 현재의 블록체인 기술을 향상시키고, 블록체인의 일관성을 달성하는 방법을 변경한, 방법에 관한 것이다.
본 발명의 다른 특징은 “작업증명” 의 필요 없이 블록체인을 보안하는 것을 제공한다.
본 발명의 다른 특징은 분산된 노드의 필요를 없애는 것이다.
본 발명의 다른 특징은 물리적으로 소형인 단일 칩 블록체인 솔루션을, 모바일 블록체인 솔루션을 포함하여, 제공할 수 있는 것이다.
본 발명의 다른 특징은 블록체인을 보안화하여 소정의 최대 수의 블록을 가지도록 하는 것이다.
본 발명의 다른 특징은 몇 번의 작업만으로 블록을 생성하여 블록 요청에 대하여 정의된 응답 시간이라는 결과를 가져올 수 있는 블록체인을 제공하는 것이다.
본 발명의 다른 특징은 단일한 하나의 전자칩에 구현될 수 있을 정도의 매우 빠른 속도를 제공하는 것이다.
본 발명의 다른 특징은 페이로드 소스에서 또는 이에 인접한 다른 시스템, 센서 또는 기타 장비들에 통합될 수 있는 블록체인을 제공하는 것이다.
본 발명의 체인의 다른 특징은 독립적인(standalone) 시스템으로서 사용하는 것을 제공하는 것이다.
본 발명의 체인의 다른 특징은 변형된 체인을 용이하게 감지하는 것을 제공하는 것이다.
본 발명의 다른 특징은 체인의 소유자가 조작 감지를 할 수 있도록 하는 블록체인을 제공하는 것이다.
값을 포함하는 필드는
Figure pct00001
또는 다른 필드를 포함하는 필드는
Figure pct00002

값에 변경을 가하는 함수는
Figure pct00003
또는
Figure pct00004

복수의 필드, 함수 또는 다른 오브젝트를 포함하는 오브젝트는
Figure pct00005

오브젝트는 별도 도면으로 상세히 도시한 컨테이너일 수 있다.
여러 도면에서 보이는 경로나 신호는 이들이 기초한 또는 작동하고 있는 도면의 번호를 사용한다.
본 발명의 명세서를 통하여 BSB는 백스텝 블록체인(Back-Step Blockchain)을 의미한다.
도 1 BSB 샘플의 응용
도면은 금융 기관에 의해 사용될 수 있는 적용예 중의 한 실시예를 보인다.
도1.1 함수 흐름의 개관
도면은 함수 블록과 이들의 근본 관계를 보인다. 작동의 기본 흐름을 설명하는데 이용된다.
도2. BSB 원리
도면은 블록의 상이한 요소들과 정보의 주요 흐름을 도시한다.
도 3 백스텝 제너레이터
백스텝 값(backstep value)과 시일값(seal value)의 생성이 도시된다.
도 4 백스텝 제너레이터-2
도면은 필요 성능을 달성하도록 저장된 중간 백스텝 값이 영속 또는 일시적일 수 있도록 하는 방법을 도시한다.
도 5 시일값 전달
도면은 시일값의 전달을 도시한다.
간단한 설명
본 발명은 블록체인을 보안화하는(securing) 대체 방법을 제공하는데, 현존하는 블록체인 기술에 비하여 여러 이점이 있다. BSB는 “작업증명”이나 분산된 네트워크를 요구하지 않으며, 신속하고, 스마트폰에 이용되는 작은 실리콘 칩에 구현될 수 있다. 본 발명은 체인에서 한정된 수의 단계를 허용한다. 단계의 수는 매우 클 수 있으며, 사용자의 필요에 따라 조절될 수 있다. 본 발명의 핵심 요소는 블록이 해시되기 전에 입력값을 블록에 추가하여 이용하는 것이다. 이들 값들은 미래에서 과거로 흐른다. 이들 값들은 백스텝 값 (back-step value) 백스텝-시일값(back-step seal-value)으로 호칭된다. 백스텝 값 및 백스텝 시일값은 일방향 속성을 가진다. 현재 블록의 값으로부터 이전 블록의 어느 값도 쉽게 계산할 수 있지만, 다음번의 블록에서 이용될 값을 계산하는 것은 시크릿을 모르면 암호적인 면에서 어렵다. 두 개의 시크릿 값, 최초 백스텝 값 및 최초 백스텝 시일값이 이용되며 이들은 체인 시스템 내에서 기밀로 유지되어야 한다.
BSB의 인증은 두 단계를 이용하면 용이하다. 먼저 모든 이전의 블록들에 대하여 현재 블록의 백스텝 값을 반복하여 뒤로 일방향으로 계산하고, 다음으로 제1블록부터 현재 블록까지 전통적인 포워드(forward) 해시 인증을 하는 것이다. 두 계산 모두 작동면에서 저렴하며 신속하다. 물론 체인을 증명하기 위하여 어떤 기밀도 필요하지 않다.
BSB는 블록들이 공개되지 않은 단일한 하나의 설치물에 사용될 수 있다. 다른 것들보다 소규모 회사용의 회계 시스템이 이들 예이다. 체인 소유자/작업자 자신의 단일 시스템에 대한 조작을 막거나 조작을 감지하기 위하여 본 발명은 시일을 제공하는데, 이는 백스텝 시일값에서 계산된다. 단일 체인의 적정성을 검증하기 위하여 본 발명은 함수를 제공하는데, 이는 최후 계산된 블록에 이용되는 값을 제외한 이전 이용된 백스텝 시일값의 해제를 허용한다. 이 함수는 소유자의 체인의 올바른 작동을 검증하려는 인증 받은 자의 요구가 있을 때만 백스텝 시일값을 제공하도록 제한될 수 있다. 무엇보다 이 함수는 세금 관련 회계와 같은 핀테크 또는 정부 블록체인 응용프로그램을 지원할 수 있다. 백스텝 시일값 자체는 해시 블록의 부분은 아니지만 시일은 부분을 이룬다.
BSB는 그 아키텍춰를 통하여 속도, 크기 및 범용적인 적용예에서 향상성을 제공한다. 속도 향상은, 은행 및 신용카드 거래와 같은 단위 시간 당 많은 블록이 요구되는 모든 적용 분야에서 긴요하다. BSB는 전통적인 블록체인에서 알려진 “작업 증명” 또는 많은 수의 분산 노드 요구를 제거하도록 암호화 함수에 기초하여 백워드 체이닝(chaining)을 이용한다. “작업 증명”이 없다면 신규 블록이 몇 마이크로초내에 계산될 수 있다. 이것은 단위 초당 거래율이 매우 높은 금융 기관이나 기계 분야의 데이터 업체가 요구하는 사항이다. USB토큰처럼 작은 장치 안에서 BSB방법을 실현하는 예를 들자면 1024바이트의 블록 크기를 예로 하여, 1초에 1000블록 이상을 생성할 수 있다. 비트코인처럼 한 블록 안에 수천 개의 거래가 포함될 때에는, 초당 백만 거래량도 가능하다. 본 발명의 추가의 실시예는 소형의 실리콘 칩에 있는데, 이는 BSB를 스마트폰처럼 소형 기기에서도 사용 가능하게 한다. 이는 모든 사람이 자신의 블록체인을 가지는 소비자 이용을 가능하게 한다. 무엇보다, 이는 신용 있는 결제 수단의 새로운 창출을 가능하게 한다. BSB의 또 다른 적용은 본 발명의 방법을 IoT시스템의 센서에 통합하는 것인데, 이는 데이터의 소스에서 블록을 창출할 수 있도록 한다. 이는 비행 기록이나 다른 장치와 같은 블랙박스로의 통합을 포함한다. 본 발명의 실시예는 무한한 상상력으로 확장될 수 있는 것이다.
거래를 보안화하는(securing) 실시예가 금융거래를 일례로 도 1에 도시되어 있지만, 이 예에 한정되는 것은 아니다. 금융 기관(10)에서 BSB가 거래 이력을 보안하도록 은행의 특정 응용장치에 이용된다. 데이터베이스시스템(11)이 거래 데이터를 저장하며, 이는 블록에 페이로드로서 삽입된다. 데이터베이스시스템(11)은 페이로드를 BSB기기(12)로 전송하는데 이것은 본 발명의 BSB 방법을 구현하고 있다. 새로운 블록이 (12)로 생성된 후 요구시스템(11)으로 리턴되며 블록체인 데이터베이스 파일에 저장된다. 계속 나오는 신규 블록은 컴퓨터 네트워크를 통하여 다른 노드(13)에 분배될 수 있으며, 이것은 자신 고유의 컴퓨터 데이터베이스 파일(14)에 블록체인의 복사본을 저장할 수 있다. 이들 분산된 컴퓨터들은 어느 때고 체인의 일관성을 증명할 수 있지만, 블록 생성이나 신뢰의 형성에 필요한 것은 아니다. 본 실시예에서, 블록은 모두 계산되며, 하드웨어 장치(12) 내부에 보안화된다.
상세한 설명
BSB는 한정된 수의 블록을 지원한다. 블록의 최대수는 설계 파라미터로 또는 환경 설정 파라미터로 정의될 수 있으며, 체인이 개시될 때 적용된다. 블록의 수는 또한 체인의 단계로 호칭된다. BSB는 몇 조의 단계도 가질 수 있다.
BSB는 기밀의 유출을 막기 위하여 보안 영역을 필요로 하는데, 이는 신뢰성 있는 작동에 필요하다. BSB는 소프트웨어 또는 하드웨어 또는 양자의 조합으로 구현될 수 있다. 필요한 보안을 제공하는 것은 실제 구현 제품의 책임이다. 하드웨어에서 구현이 된다는 것은 기밀에 필요한 보안을 제공하기가 더 용이하다는 것을 시사한다. 도 1.1에 도시한 것과 같이 백스텝 제너레이터(103)에서 기밀이 이용된다.
표준적인 블록체인에서 알려진 것과 같이, 해시값을 이용한 블록의 포워드(forward) 체이닝과는 별도로, BSB는 체인 내의 최후 블록에서 체인 내의 최초 블록까지 값이 진행하는 하나 또는 복수의 체인된 필드를 구비한다. 이들 필드의 내용물은 미래에서 과거로 백워드로 흐른다. 이들 값의 계산은 백스텝 제너레이터(103)에서 수행된다. 더 긴 체인의 경우는, 이것이 훨씬 더 통상적인데, 모든 값을 보안 영역에 저장하는 것은 불가능할 수 있다. 이 이유 때문에, BSB는 필요할 때 값들을 계산하고 제공하는 로직을 포함할 수 있다.
두 인접하는 블록 사이에서는,“일방향”성질을 가지는 암호화 함수를 적용함으로써 블록의 백워드 체인(backward chained)된 블록들이 다음 번 블록의 값들로부터 적절한 시간 안에 계산된다는 관계가 유지된다. 일방향 함수는 백스텝 제너레이터(103)에서 구현된다. 현재 블록과 모든 이전 블록들 사이에서 체인 내의 백스텝 값은 쉽게 계산되고 증명될 수 있지만, 역동작은 암호화면에서 어렵다. 이용되는 일방향 함수 타잎은 설계에 의존적이다. 이용되는 일방향 함수는 독특한 입력에서 독특한 출력을 생성할 필요가 있다. 일방향 함수는 동일한 비트 길이의 입력과 출력을 가져야 한다. 이는 해시 함수 또는 일방향 전용 암호화 함수로 달성될 수 있다. BSB에 유용한 일방향 함수는 백워드 계산이 어렵고 실용적이지 않다는 성질을 제공해야 한다. 또한 이것은 입력에서 단 1비트를 변경하여도 약 50%의 가능성으로 모든 출력 비트가 변경된다는 성질을 제공해야 한다.
강제적인 힘이나 다른 공격으로는 유용한 시간 안에 성공할 수 없는 것이 필요하다. 해시를 이용하는 전통적인 포워드 체이닝과 일방향 속성을 가지는 함수를 이용한 백워드 체이닝이 각각의 블록에서 조합되어 체인의 보안을 제공한다.
기능 개관
BSB는 동작 가능한 몇 기본 함수군을 필요로 한다. 이들 함수가 도 1.10에 도시되어 있다. BSB는 외부 환경으로의 연결점을 제공한다. 이들 외부 정보 처리 유닛은 서버, 컴퓨터, 은행 단말, 공공 단말, 개인 전자 장치. 스마트폰, 기계류 및 기타 같은 것이지만, 이에 한정되지 않는다. 블록들은 외부 환경에서 스토어로 기능하지만, BSB내부에서는 그렇지 않다. 따라서, BSB는 입력 인터페이스(101)와 출력 인터페이스(106)를 구비하는데, 연산된 블록들은 이곳으로 리턴된다.
블록 처리를 위해서는 입력이 데이터 경로(108)을 통하여 블록 제너레이션(105)으로 보내질 필요가 있다. 입력 데이터는 실제 활용 케이스와 외부 시스템으로의 체인의 통합에 따라, 페이로드 데이터, 메타 데이터, 이전 블록으로부터의 해시 및 기타일 수 있다. 제1블록에 후속하여, 연속하는 동작은 이전 블록의 해시를 고유하게 저장할 수 있으므로, 입력의 필요는 없을 수 있다. 비휘발성 기억장치가 파워 오프 사이클 동안 이전 해시를 유지하도록 이용될 수 있다. 이것은 옵션이다. 인터페이스(101)를 통하여 시작 명령을 수신하고 경로(107)를 통하여 보내면 제어유닛(102)이 새로운 블록의 계산을 개시한다. 외부시스템에 의하여 제공된 필요한 다른 데이터와 페이로드가 경로(108)를 통하여 블록 제너레이션(105)으로 보내진다.
제어유닛은 경로(109)를 통하여 백스텝 제너레이터(103)로 블록 요청 신호를 보낸다. 백스텝 제너레이터(103)는 체크포인트 및 캐시 로직(104)과 교신하여 경로(111)를 이용하여 블록 제너레이션(105)으로 필요한 백스텝 값을 부여한다.
이 시점에서 블록은 해시 준비가 된다. 해시 동작이 완성될 때 새로 계산된 블록이 경로(112)를 통하여 출력 인터페이스로 건네지며, 종국적으로는 선택적인 임시 비휘발성 기억 장소에 저장된다. 데이터베이스 안에 블록을 저장하는 것은 외부 시스템의 책임이며 본 발명의 개시 범위를 벗어난다.
블록 생성
백스텝 블록체인의 원리가 도 2에 도시되어 있다. 도 2는 컨트롤러(209)가 지시하는 데이터의 논리적 흐름을 보여준다. 따라서, 더 긴 체인 중 두 블록(200, 201)이 제시될 것이다. 물리적으로 (200)과 (201)은 동일한 실체인데, (200)은 시간 면에서 앞선 상태이고, (201)은 나중 상태이다. 각각의 블록(200, 201)은 하나의 논리 필드로 도시되었으며, 복수의 세세한 필드를 구비한다. 블록은 다른 특정 응용 필드 중에서, 페이로드 필드(202), 메타데이터 필드(203), 블록의 포워드 체이닝을 제공하는 이전의 해시값 필드(204), 시일 필드(205) 및 적어도 하나의 백스텝 값 필드(206)를 포함할 수 있다. 블록의 적어도 하나의 포워드 체이닝이 해시 함수(207)에 의해 제공된다. 포워드 체이닝은 블록의 전 필드에 걸쳐 해시값을 계산하여 이루어진다. 블록(200)에서 계산된 해시값(208)은 다음 블록(201)의 입력값 필드(204)가 된다. 다이어그램(300, 400)에 도시된 백스텝 제너레이터 내부의 최초값으로부터 현재 블록까지의 모든 경과에 이르기까지 백스텝 값(422)은, 일방향 함수(307)를 반복 적용함으로써, 계산될 수 있다. 백스텝 시일값(418)은 유사하게 생성되며, 시일값(421)을 생성하도록 이용되는데, 이는 체인의 소유자/작동자들의 의도적인 조작에 대하여 체인에게 추가적인 보안을 제공하도록 이용될 수 있다. 따라서, 현재 단계의 백스텝 시일값(418)이 이전 블록의 해시값(208)과 함께 XOR함수(411)에 적용되어, 값(419)의 결과가 나온다. 이 중간값이 일방향 함수(412)로의 입력이 되며, 이것이 시일값(421)을 생성하고, 이는 블록 시일 필드(205) 내부에 위치하게 된다. 포워드 해시의 블록 길이가 일방향 함수의 블록 길이보다 크게 선택되면, 해시 결과의 서브셋(subset)이 함수(411)에 대한 입력으로 이용될 수 있다.
동일 블록(200, 201)을 포함하는 모든 데이터 필드는 논리적으로는 인접하지만, 물리적으로는 그렇지 않을 수도 있으며, 실현화 정도에 따라 다르다. 회색의 컨테이너로 도시한 필드 및 함수들은 백스텝 제너레이터 섹션(300, 400)에서 상세히 설명한다.
값(421, 422)을 형성하거나 제공하는데 필요한 모든 것들은 신뢰 영역에서 실행되어야 하며, 인증 받지 않은 프로세스나 사람이 캡춰하거나 체인의 어느 장래값이 누설되는 것이 어려워야 한다. 도 3 및 도 4는 신뢰 영역을 포함한다.
공격에 대한 보호
이제, 왜곡된 체인에 대항하여 보안을 제공하는 BSB의 메카니즘을 설명한다. 거짓 체인은 체인의 하나 이상의 단계에서 조작된 내용을 가지며, 이 단계에서부터 원래의 체인과 상이하다. 제3자가 체인을 제시하고 이 체인이 올바른 것이라고 주장할 때마다, 조작된 체인은 다음 단계를 수행할 수 없는데, 그 이유는 다음번의 백스텝 값은 오직 오리지널 체인으로만 계산할 수 있으며, 이것이 백스텝 제너레이터를 포함하기 때문이다. 이 메카니즘 때문에 “작업 증명” 또는 다른 시간 또는 계산을 강제하는 수단들에 대한 필요가 없어진다.
또한, 시일값에 의해 제공되는 보호는 백스텝 제너레이터에 접근 권한을 가지는 체인의 소유자/운영자 자신이 체인 조작을 할 수 없도록 한다. 특정 블록의 백스텝 시일값을 받을 수 있는 신용된 권한 주체는 백워드 체인의 올바름을 증명할 수 있다. 이들 권한 주체들은 장래의 블록을 조작할 수 있는 어떤 정보도 가지지 못하게 된다. 이러한 권한-기반 인증은 권한 주체에게 그리고 오직 이들에게만 필요한 백스텝 시일값을 주도록 보안된 채널을 필요로 한다.
백스텝 제너레이터
도 3 및 도 4를 참조로 백스텝 값의 생성과 전개에 대하여 상세히 설명하기로 한다.
BSB는 블록 요청에서 블록 결과까지의 시간이 합리적으로 빠를 때만 실제 생활에서 기능하며 이익을 가져올 수 있다. 수요 적용에 필요한 속도는 이용이 피크 시간대 일 때 단위 초당의 거래량으로 정의된다. 핀테크 적용분야에서 현재 거래율은 초당 20,000 거래까지 이를 수 있다. 이는 현재의 블록 체인 속도를 넘는 것이다. 따라서, 필요한 블록율을 줄이기 위하여 현존하는 체인들이 복수의 거래를 단일 블록으로 조합할 필요가 있다. BSB의 장점은 하나의 블록안에서 복수 거래 필요 없이, 상기한 그리고 더욱 높은 속도를 제공할 수 있다는 점이다. 이를 위해서는 블록 요청이 있을 때 백스텝 값과 백스텝 시일값이 사전에 계산되어 있을 필요가 있다.
사전-계산(pre-calculation)과 캐시 시스템이 최대 속도를 유지하고 긴 체인을 지원하는데 필요할 수 있다. 백스텝 값의 계산이 도 3에 도시되었으며, 캐시 시스템이 도 4에 도시된다.
백스텝 제너레이터 초기 동작
백스텝 값과 백스텝 시일값의 생성은, 도 3에 도시한 것과 같은 일방향 성질을 가지는 함수의 반복 적용을 포함한다. 두 값들은 도 3에 설명한 것과 같은 동일한 논리 흐름을 이용하지만, 상이한 초기값들을 가져야 한다. BSB를 처음 이용하기 전에, 초기 백스텝 값(301)과 초기 백스텝 시일값(302)이 생성되어 대응하는 비휘발성 기억 장소(303, 304)에 탑재되어야만 한다. 두 값들은 비밀로 유지된다. BSB를 실현하기 위해서는 두 값들이 상호 어떤 알고리즘에서도 무관하며, 독립적으로 랜덤하게 생성되는 것이 보증되어야 한다. 값(301, 302)은 컨트롤러 자체 또는 다른 외부의 신용할 수 있는 임의의 소스에 의해 생성될 수 있다. 이들 초기값들은 BSB외부에 저장되어서는 안 된다.
체인의 첫 블록을 처리하려면 백스텝 제너레이터가 제1단계의 값에 이르기까지 모든 값들을 백워드로 순환하는 것이 필요하다. 블록/단계의 이 한정된 숫자가 컨트롤러(308)가 필요로 하는 환경 설정 파라미터이다.
체인이 제공하는 단계(305)의 수는 비 휘발성 기억장소(306) 안에 로딩될 수 있다. 이 숫자는 시스템 외부로부터의 인터페이스를 통하여 로딩되거나 실제 실행부의 일부로서 사전 결정된 값일 수 있다. 컨트롤러(308)는 기억장소(306)의 출력을 값(307)으로서 수신한다. 제1 일방향 계산을 위하여, 제어 로직은, 입력 선택부(311, 312) 각각의 신호(313, 314)를 통하여 입력(C)을 선택한다. 선택 신호(315, 316)는 일방향 함수(317, 318)로의 입력이 된다. 경로(319, 320)를 이용하는 컨트롤러가 시작되며, 일방향 로직 작업이 멈춘다. 일방향 로직의 선택인 경로(321, 322)가 출력 선택부(323, 324)로 라우팅 된다. 두 선택부는 제어유닛(308)으로부터의 제어 경로(325, 326)를 이용하여 출력A을 내도록 스위칭 된다. 선택부 출력값(333, 334)는 입력 선택부 포트A에 연결된다. 컨트롤러는 다음 번의 계산을 위하여 입력A을 선택한다. 그리고, 이러한 동작이 제한된 숫자의 단계 동안 사이클링 반복된다.
체크포인트 값
일방향 루프가 생성한 중간값 들은 BSB의 저장소에 모두 기억하기에 너무 많을 수 있다. 대신, 소위 단계의 크기인, 소정 숫자의 사이클 후, 도 4에 보인 것과 같이, 값이, 소위 체크포인트 값(342, 343)으로서, 비휘발성 기억장소(401)에 저장될 수 있다. 이를 위하여, 컨트롤러(308)는 출구 선택부(323, 324)에서, 출구A에 더하여, 경로(342)를 위한 출구(C; 329, 332)를 허용한다. 비휘발성 기억장소에 값을 저장하는데 필요한 시간이 일방향 사이클 시간보다 길 수 있으므로, 출구C포트(329, 332)는 레지스터로 구현될 수 있다. 이로써 약간 시간 동안 일방향 사이클링의 중단을 피할 수 있다. 실제 구현은 이용된 부품, 아키텍춰의 시간 거동에 의존하며, 변할 수 있다. 그러므로, 이 구현은 기술적 원리를 나타낸다. 시스템은 다른 이유 때문 스위치가 차단되거나 해제될 수 있다. 이는 처음 개시 시간에 또는 이후 정상 동작 때 발생할 수 있다. 재시작 이후, 일방향 값의 계산은 가장 가까운 체크포인트 값에서 시작하며, 반드시 초기값에서부터 시작할 필요는 없다. 이는 계산 시간을 줄인다. 체크포인트 값이 많을수록 응답은 빠르지만 더 많은 저장소가 필요하다. 이는 기억장소와 시간의 적절한 타협(trade off)이며, BSB의 설계 파라미터이다. 전원이 온인 동안, 시스템은 가장 인접한 체크포인트에서 필요하게 될 다음 단계까지 계산을 해야 한다. 이 계산은 각각의 전원 온 동안 시간이 걸린다. 체크포인트 저장소는 체크포인트 어드레스 로직(337)을 필요로 하는데, 이는 초기화 동안 체크포인트 값을 저장하고 정상 동작 동안 값들을 꺼내기 위한 어드레스들을 관리한다. 체크포인트 어드레스 로직(337)은 컨트롤러(308)로부터 지시와 시작 어드레스 값을 수신하여 체크포인트-저장을 위하여 경로(309)에 기입, 판독, 어드레스 및 다른 필요한 모든 제어 신호를 생성한다. 나아가 체크포인트 어드레스 로직은 경로(340)상의 신호를 이용하여 캐시-컨트롤러(408)의 기능을 관리한다.
체크포인트 저장소의 설명
체크포인트 저장소(401)는 논리적으로 2열(402, 403)과 m행의 행렬(matrix)로 구성된다. 행의 비트폭은 백스텝 값(335)을 수용하도록 충분히 커야만 한다. 이는 백스텝 시일값(336)을 수용하는 열에 대해서도 마찬가지이다. 실제 구현을 위한 특정 제어 비트가 필요하다면, 실제로는 이 열들이 더 많아질 필요가 있다.
체크포인트 저장소(401)는 모든 필요한 체크포인트 값을 저장하기 위하여 필요한 수의 열이 필요하다. 숫자m은 블록의 유한한 수를 체크포인트의 단계-크기(step-size)로 나눈 값이며, 이는 두 인접하는 체크포인트 사이의 단계의 숫자로 정의된다.
저장될 체크포인트값은 선택부(323, 324)를 통하여, 경로(342, 343)상의 출구(329, 332)를 이용하여 체크포인트 저장소(401)의 입력까지 전달된다. 판독, 기입 그리고 실제 어드레스를 정의하는 제어신호는 경로(339)를 이용하여 체크포인트 어드레스 로직에서 시작된다. 블록들이 정상 블록체인 동작 중 처리될 때에는, 체크포인트 값은 백스텝 값과 백스텝 시일값을 계산하는데 필수적이다. 필요한 체크포인트 값을 선택하기 위하여, 현재의 단계 수가 가장 인접한 체크포인트를 계산하는데 이용될 수 있다. 다음, 도 4에 도시한 백스텝 값(404)과 백스텝 시일값(405)이 선택부(311, 312)를 통하여 로딩되어 일방향 함수(317, 318)로의 입력이 된다. 그러면 제너레이터가 상술한 방법으로 사이클을 진행하여 백스텝 값과 백스텝 시일값을 생성한다.
백스텝 캐시
빠른 블록체인 생성이 요구되는 고속 적용 분야에서는 요구 속도를 제공하도록 추가의 캐시 로직이 필요하다.
체크포인트 저장소는 장래 블록에 필요한 백스텝 데이터를 제공한다. 이러한 미래값에서부터 시작하여 다음 블록을 위한 데이터가 백워드로 계산되어야 한다. 결과물은 두 개의 반복하는 캐시 저장소를 상시 채우는데 이용되는데, 이것은 실제값을 블록 계산부로 전달한다. 캐시는 다중 레벨로 구현될 수 있다. 백스텝 데이터의 생성이 블록 생성율보다 빠르면, 다중레벨 캐시가 저장 필요성을 유지하도록 사용될 수 있다. 6레벨의 캐시는 32킬로바이트의 임의의 저장용량만으로도 1.34억을 넘는 백스텝 값과 백스텝 시일값을 제공할 수 있다. 도 4는 단일-레벨 캐시의 구현예를 도시한다.
도 4에 도시한 제너레이터는 캐시A 및 B(406, 407)로 지칭한 두 개의 캐시 저장소를 채우는데 이용된다. 캐시 저장소 각각은 백스텝 값 및 백스텝 시일값의 필드를 구비한다. 경로(335, 336)를 이용하여 제너레이터(300)의 출력 선택부(323, 324)로부터의 출력값들은 두 캐시에 연결된다. 이용되는 캐시는 캐시 컨트롤러(408)에 의해 선택된다. 캐시들은 선입후출(First-In Last-Out)방식으로 구조화되어 있다. 대응하는 어드레스 및 판독/기입 제어 신호가 경로(409)를 이용하여 캐시 컨트롤러(408)에 의해 생성된다. 또 캐시 컨트롤러는 출력 멀티플렉서(410, 412 및 413)으로의 입력 신호를 생성한다.
초기단계의 끝에서, 체크포인트 저장소에는 이들 값이 탑재되어 있다. 동작 중, 두 캐시 저장소는 번갈아 동작하는데, 캐시A는 블록 계산 로직에 값을 제공하고, 캐시B에는 다음 값이 로딩된다. 캐시A로부터의 최종값이 사용되면 캐시들은 역할을 전환하여, 캐시B가 값을 제공하고 캐시A에 로딩된다. 이는 고속 동작에서 빈틈이 없는 블록 생성을 지원한다. 저속 동작과 같은 드문 경우에는, 캐시들은 멀티플렉서(413, 410)를 이용하여 바이 패스될 수 있다. 고속 동작 중에는 이들 멀티플렉서들은 캐시A 및 캐시B 사이에서 번갈아 동작한다.
멀리플렉서(413)는 블록 생성에 백스텝 값(420)을 제공하며, 캐시 동작 중에는 입력 경로(416, 417)를 교대적으로 이용한다. 멀티플렉서(410)는 백스텝 시일값의 선택을 책임지며, 캐시 동작 중에는 입력 경로(414, 415)를 교대적으로 이용한다. 캐시가 필요하지 않는 경우에는 멀티플렉서(413)는 백스텝 값을 위하여 경로(335)를 선택하고, 멀티플렉서(410)는 백스텝 시일값을 위하여 경로(336)를 선택한다.
경로(418)에서 멀티플렉서(410)가 선택한 백스텝 시일값은 시일 생성부에 입력이 된다. 시일 생성부는 XOR함수(411)를 이용하여 경로(418) 상의 시일값과 경로(208)상의 이전 블록의 해시값을 조합한다. XOR 결과(419)는 다른 일방향 함수(412)로의 입력이 된다. 이 일방향 함수는 처리되고 있는 현재의 블록에 대하여 경로(421) 상에 시일을 만든다.
권한 인증
BSB는 체인 인증을 위하여 두 방법을 제공한다. 먼저, 현재 블록에서 체인의 처음 블록까지 걸치는 백스텝 값을 상대로 일방향 함수를 계산함으로써, 역방향으로 백스텝 블록체인을 쉽게 따라갈 수 있다. 다음, 처음 블록부터 현재 블록까지의 해시가 계산될 수 있다. 백워드 및 포워드 계산 모두가 매칭되면, 체인은 일관적이 되며 제3자에 의하여 조작되지 않는다.
다음, 권한에 대한 인증이 제공된다. BSB의 소유자/작동자가 체인을 변경하는 것을 확실히 방지하도록 추가의 시일이 이용된다. 시일은 포워드 및 백워드 체이닝의 조합이며, 블록 내부에 삽입된다. 하드웨어를 보유하는 BSB체인의 소유자라 하더라도 이전 블록을 은밀하게 변경할 수 없다.
시일 인증은 이전 블록의 백스텝 시일값을 필요로 한다. 체인의 이 블록으로부터 제1블록의 방향을 따라 인증될 수 있다. BSB는 현재 블록의 백스텝 시일값을 해제하지 않으며, 오직 이전 블록에 대해서만 그것도 요청이 있을 때만 해제한다. 정부 기관이나 법원과 같은 제3자에 의한 체인의 시일 인증을 위해서는, 문제되는 블록의 백스텝 시일값의 해제가 필요하다. BSB는 인터페이스를 통하여 요청자에게, 암호화된 형식으로 필요한 단계의 값(418)을 제공한다.
권한 있는 요청이 수신될 때, 필요한 시일값을 전달하도록 일련의 기능들이 제공된다. 이들 기능들은 초기 환경 설정 동안 기능하거나 그렇지 않을 수 있다. 이것이 도 5에 도시되어 있다. 초기 환경 설정 동안 비휘발성 저장소(502)에는 하나 이상의 인증 시크릿(508)이 로딩되며, 비휘발성 저장소(506)에는 하나 이상의 암호 시크릿(509)이 로딩된다. 정의된 블록의 시일값에 대한 요청(500)은 외부 인터페이스에서 컨트롤러(501)로 전달된다. (501)에서의 신용/인증 절차는 요청을 허가해야 하는지 여부를 결정하는데 이용된다. 인증 절차는 영구히 저장되는 인증 시크릿(508)를 이용할 수 있다. 현존하는 챌린지 응답 또는 다른 인증 프로토콜이 사용될 수 있다. 실제 프로토콜을 사용하는 것은 현실과 관련된 문제이며, 본 발명의 개시 범위를 벗어난다.
외부 요청이 승인되면, 경로(341)를 이용하여 내부 요청이 제어 로직(308)에 제공된다. 제어 로직(308)은 요청된 백스텝 시일값의 계산을 개시한다. 체크포인트 값을 이용하거나 최초 값으로부터 계산을 시작할 수 있다. 요청된 값이 계산되는 바로, 경로(343)가 이용되어 값을 시일 보호 프로세스(504)로 제공한다. 이 프로세스는 백스텝 시일값을 암호화할 수 있으며, 저장소(506)로부터의 비밀 보호를 필요로 할 수 있다. 이러한 시크릿은 최초에 경로(509)를 통하여 로딩되며 경로(507)를 통하여 보호 유닛(504)으로 제공된다. 보호와 이용 암호의 상세는 구현 환경에 따라 다르다. 시일값이 보호된 이후, 시일값은 경로(505)를 이용하여 인터페이스에서 제공된다. 두 개의 연관된 일방향 함수(317, 318)를 아는 외부 인증 프로세스는, 제[1블록까지 거슬러 전체 체인을 인증하고, 가해진 어느 조작도 감지할 수 있다.

Claims (20)

  1. 블록 계산에 필요한 시간을 줄이고, 블록 계산에 필요한 에너지 양을 줄이고, 다수 노드에 대한 필요를 제거하고, 장치의 물리적 크기를 줄이고, 전술한 성질의 하나 이상의 조합으로 적용 분야에서 추가 분야(field)를 가능하게 하는, 블록 체인을 향상시키는 방법으로서, 상기 방법은:
    미래에서 과거를 향하여 체인된(chained) 하나 이상의 값(421, 422);
    이전 블록으로부터 다음의 나중 블록의 값을 계산하는 것이 암호적으로 어려운 한편, 다음의 나중 블록의 하나 이상의 값으로부터 이전 블록의 하나 이상의 값은 신속히 계산될 수 있도록, 인접하는 블록들 사이에 적용되는 암호화 일방향 함수(317);
    초기 시크릿으로서 하나 이상의 값을 보관하는 저장소(303, 304);
    초기 시크릿으로부터 다음 블록에서 이용될 하나 이상의 백스텝 값(back step value)을 계산하는 백스텝 제너레이터;
    를 포함하는, 방법.
  2. 제1항에 있어서, 블록 체인은 어떤 “작업증명(proof of work)”도 필요로 하지 않는 것을 특징으로 하는, 방법.
  3. 제1항에 있어서, 블록 체인은 신용 있는 블록을 제공하기 위하여 복수의 시스템을 포함할 필요가 없는, 방법.
  4. 제1항에 있어서,
    백스텝 시일값(418);
    백스텝 시일값이 이전 블록(208)의 해시값(hash value)과 수학적으로 조합되도록 하는 수학 함수;
    결과가 역계산(reverse calculation)에 대하여 보호되도록 하는 암호화 일방향 함수(412);
    블록체인 조작의 추가 검지를 가능하도록, 블록의 필드에 계산된 결과를 삽입하는 것을 포함하는, 방법.
  5. 제1항에 있어서,
    체인이 소정의 종료를 가지도록, 정의된 고정된 수의 블록이 계산될 수 있는 것을 특징으로 하는, 방법.
  6. 제1항에 있어서,
    하나 이상의 일방향 함수(317, 318);
    멀티플렉서 세트(311, 312, 323, 324) 및
    제어로직을 포함하여, 백워드 체인된 값들이 사전 계산될 수 있도록 하는, 방법.
  7. 제1항에 있어서,
    중간 체크포인트 값들을 보관하는 비휘발성 저장소;
    백스텝 값 및 백스텝 시일값의 필요한 계산이, 필요한 단계에 가장 근사한 값들에서 시작하도록, 이들 값을 저장하고 가져오는 제어 로직을 포함하는, 방법.
  8. 제7항에 있어서,
    하나 이상의 휘발성 캐시 저장 레이어;
    캐시 제어 로직;
    멀티플렉서 세트를 포함하여, 신속한 접근과 이용을 위하여 중간 체인값들이 사전 계산되어 저장될 수 있는 것을 특징으로 하는, 방법.
  9. 제8항에 있어서,
    하나의 캐시가 비워지는 동안 다른 캐시가 채워지도록, 제2의 캐시 저장소 세트가 제공되는, 방법.
  10. 제4항에 있어서,
    인증 기능;
    하나 이상의 인증 시크릿;
    데이터 보호 기능;
    데이터 보호 시크릿을 포함하여, 인증된 사람, 조직 또는 프로세스가 요청된 블록에 관련된 백스텝 시일값을 요청하고 수신할 수 있는, 방법.
  11. 제1항에 있어서,
    블록을 생성할 동작수가 고정되어, 실시간 백스텝 블록체인 적용에 대하여 고정된 응답 시간을 가져오는 것을 특징으로 하는, 방법.
  12. 제1항에 있어서,
    하나 이상의 집적회로로 실시되는 것을 특징으로 하는, 방법.
  13. 제1항에 있어서,
    스마트폰으로 통합되어 실시되는 것을 특징으로 하는, 방법.
  14. 제1항에 있어서,
    데이터가 센싱되는 장치로 통합되어 실시되는 것을 특징으로 하는, 방법.
  15. 제1항에 있어서,
    데이터가 기록되는 장치로 통합되어 실시되는 것을 특징으로 하는, 방법.
  16. 제1항에 있어서,
    지시가 실행되는 장치로 통합되어 실시되는 것을 특징으로 하는, 방법.
  17. 제1항에 있어서,
    데이터 처리 시스템으로 통합되어 실시되는 것을 특징으로 하는, 방법.
  18. 제1항에 있어서,
    데이터 통신 시스템으로 통합되어 실시되는 것을 특징으로 하는, 방법.
  19. 제1항에 있어서,
    법적 확인 문서로 통합되어 실시되는 것을 특징으로 하는, 방법.
  20. 제1항에 있어서,
    개인 지불 장치로 통합되어 실시되는 것을 특징으로 하는, 방법.
KR1020217011872A 2018-11-21 2019-11-21 백워드 체인 요소에 의해 보안화된 블록체인 KR20210060599A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
SG10201810416Y 2018-11-21
SG10201810416YA SG10201810416YA (en) 2018-11-21 2018-11-21 Blockchain secured by backward chained elements
PCT/SG2019/050569 WO2020106219A1 (en) 2018-11-21 2019-11-21 Blockchain secured by backward chained elements

Publications (1)

Publication Number Publication Date
KR20210060599A true KR20210060599A (ko) 2021-05-26

Family

ID=70774754

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217011872A KR20210060599A (ko) 2018-11-21 2019-11-21 백워드 체인 요소에 의해 보안화된 블록체인

Country Status (9)

Country Link
US (1) US11902447B2 (ko)
EP (1) EP3871368B1 (ko)
JP (1) JP7208455B2 (ko)
KR (1) KR20210060599A (ko)
CN (1) CN113273132A (ko)
AU (1) AU2019383298A1 (ko)
IL (1) IL282816A (ko)
SG (2) SG10201810416YA (ko)
WO (1) WO2020106219A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11018873B1 (en) 2020-01-16 2021-05-25 Tyson York Winarski Collision resistant digital signatures
CN115280717B (zh) * 2021-01-11 2024-06-07 微福斯有限责任公司 区块链审计系统和方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007174491A (ja) * 2005-12-26 2007-07-05 Kddi Corp 映像情報暗号化装置、復号鍵情報作成装置、映像情報復号装置、映像再生装置およびネットワークシステム
US7904450B2 (en) * 2008-04-25 2011-03-08 Wilson Kelce S Public electronic document dating list
US10230526B2 (en) * 2014-12-31 2019-03-12 William Manning Out-of-band validation of domain name system records
US9374373B1 (en) * 2015-02-03 2016-06-21 Hong Kong Applied Science And Technology Research Institute Co., Ltd. Encryption techniques for improved sharing and distribution of encrypted content
CN108270821A (zh) * 2016-12-30 2018-07-10 深圳瀚德创客金融投资有限公司 用于区块链网络中的区块生成方法和网络节点
US10389518B2 (en) * 2017-01-27 2019-08-20 Entit Software Llc Blockchain hash value recomputation
DE102017205163A1 (de) * 2017-03-27 2018-09-27 Bundesdruckerei Gmbh Hashwerte für die bidirektionale verkettete Blockchain
JP2018181309A (ja) * 2017-04-20 2018-11-15 株式会社岩手銀行 取引情報提供システム、サーバ装置、ノード装置ならびにプログラム
US10805067B1 (en) * 2017-04-26 2020-10-13 Wells Fargo Bank, N.A. Doubly linked blockchain
CN107169764A (zh) * 2017-05-10 2017-09-15 山东大学 基于区块链的公平数据交易方法
JP2017200196A (ja) * 2017-06-01 2017-11-02 株式会社bitFlyer プライベートノード、プライベートノードにおける処理方法、及びそのためのプログラム
US20210089676A1 (en) * 2018-02-16 2021-03-25 Ecole Polytechnique Fédérale De Lausanne Epfl-Tto Methods and systems for secure data exchange
CN108599963B (zh) * 2018-05-11 2020-05-19 招商局重庆交通科研设计院有限公司 一种基于区块链技术的检测数据溯源验证方法

Also Published As

Publication number Publication date
US20210391997A1 (en) 2021-12-16
EP3871368A1 (en) 2021-09-01
JP2022511678A (ja) 2022-02-01
SG10201810416YA (en) 2020-06-29
JP7208455B2 (ja) 2023-01-19
US11902447B2 (en) 2024-02-13
EP3871368B1 (en) 2023-10-18
IL282816A (en) 2021-06-30
EP3871368A4 (en) 2022-02-23
EP3871368C0 (en) 2023-10-18
CN113273132A (zh) 2021-08-17
AU2019383298A1 (en) 2021-05-20
WO2020106219A1 (en) 2020-05-28
SG11202011414YA (en) 2020-12-30

Similar Documents

Publication Publication Date Title
US10891384B2 (en) Blockchain transaction device and method
Dai et al. SBLWT: A secure blockchain lightweight wallet based on trustzone
US8843767B2 (en) Secure memory transaction unit
US10313128B2 (en) Address-dependent key generator by XOR tree
KR20230157929A (ko) 원격 액세스 제한 지갑으로부터 암호화폐 이체
US20140177825A1 (en) Asymmetric Tokenization
JP2020522205A (ja) プログレッシブキー暗号化アルゴリズム
CA2071771A1 (en) Cryptographic facility environment backup/restore and replication in a public key cryptosystem
US10146701B2 (en) Address-dependent key generation with a substitution-permutation network
CN102138300A (zh) 消息认证码预计算在安全存储器中的应用
KR20200118303A (ko) 월렛 앱이 설치된 소유 디바이스 및/또는 블록체인 노드에 키를 분산 저장하는 비밀 키 보안 방법
CN106776904A (zh) 一种不可信云计算环境中支持动态验证的模糊查询加密方法
CN111512590B (zh) 用于密码认证的同态加密
JP7284064B2 (ja) コンソーシアムブロックチェーンシステム、計算機、トランザクション承認方法
AU2018379677A1 (en) Improvements in and relating to remote authentication devices
US9602281B2 (en) Parallelizable cipher construction
JP7208455B2 (ja) 後ろ向き連鎖された要素によって保護されるブロックチェーン
US7657034B2 (en) Data encryption in a symmetric multiprocessor electronic apparatus
KR102234825B1 (ko) 암호 동작들의 안전한 수행
KR20200116010A (ko) 아이덴티티 정보에 기초한 암호 키 관리
US9946662B2 (en) Double-mix Feistel network for key generation or encryption
CN109660344A (zh) 基于非对称密钥池路由装置的抗量子计算区块链交易方法和系统
KR20200001178A (ko) 암호화폐지갑의 연상기호 코드 적용 방법
CN110914826A (zh) 用于分布式数据映射的系统和方法
Yang et al. AEP-M: Practical anonymous E-payment for mobile devices using ARM trustzone and divisible E-cash

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal