KR102144645B1 - 블록체인 기반 데이터 프로세싱 방법 및 디바이스 - Google Patents

블록체인 기반 데이터 프로세싱 방법 및 디바이스 Download PDF

Info

Publication number
KR102144645B1
KR102144645B1 KR1020197020434A KR20197020434A KR102144645B1 KR 102144645 B1 KR102144645 B1 KR 102144645B1 KR 1020197020434 A KR1020197020434 A KR 1020197020434A KR 20197020434 A KR20197020434 A KR 20197020434A KR 102144645 B1 KR102144645 B1 KR 102144645B1
Authority
KR
South Korea
Prior art keywords
service data
amount
processed
specified
data
Prior art date
Application number
KR1020197020434A
Other languages
English (en)
Other versions
KR20190119576A (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 KR20190119576A publication Critical patent/KR20190119576A/ko
Application granted granted Critical
Publication of KR102144645B1 publication Critical patent/KR102144645B1/ko

Links

Images

Classifications

    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • 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
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/085Payment architectures involving remote charge determination or related payment systems
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/405Establishing or using transaction specific rules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic 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 time stamps, e.g. generation of time stamps
    • 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
    • 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
    • G06Q2220/00Business processing using cryptography

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Finance (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Retry When Errors Occur (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

시스템 리소스 소모에 기반하는, 서비스 데이터의 양이 모니터링되고, 서비스 데이터는 특정된 시간 기간 내에 합의에 따라 프로세싱된다. 블록 생성 시간은 조정된 시간 블록을 생성하기 위해 서비스 데이터의 양에 기반하여 동적으로 조정된다. 새로운 블록은 조정된 시간에 기반하여 생성되고, 새로운 블록 생성은 시스템 리소스 소모와 매칭되는 서비스 수요와 연관된다.

Description

블록체인 기반 데이터 프로세싱 방법 및 디바이스
본 출원은 그 전체가 참조로서 본원에 포함되는, 2017년 7월 14일에 출원된, 중국 특허 출원 제 201710575008.4 호를 우선권으로 주장한다.
본 출원은 인터넷 정보 프로세싱 기술들의 분야 및 컴퓨터 기술들의 분야, 특히 블록체인 기반 데이터 프로세싱 방법 및 디바이스에 관한 것이다.
블록체인 기술은 분산 원장 기술(distributed ledger technology)로도 지칭되고, 분권(decentralization), 투명성(transparency), 변조 방지성(tamper-resistance), 신뢰성(trust) 등으로 특징되는 분산 인터넷 데이터베이스 기술이다. 블록체인 기술에 기반하여 블록체인 네트워크가 구성될 수 있다. 블록체인 네트워크에서의 논리적 데이터 구조로서, 블록이 서비스 데이터를 저장하기 위해 사용될 수 있지만, 블록체인 네트워크에서 블록은 동적으로 생성된다.
실제 응용 동안, 블록들은 보통 특정된 시간 간격(time interval)에 기반하여 생성된다(예를 들어, 10분마다 또는 더 긴 시간마다 하나의 블록이 생성됨). 블록들은 특정된 시간 간격으로 생성된 서비스 데이터를 저장한다.
그러나, 과학 및 기술의 발전으로, 서비스 데이터의 양이 변하고 있고, 데이터량이 변화될 수 있다. 따라서, 기존의 블록 생성 메커니즘에 기반하면, 서비스 수요와 시스템 리소스 소모 사이의 균형이 달성될 수 없다.
본 출원의 구현예들은 서비스 수요와 시스템 리소스 소모 사이의 균형을 달성하기 위해 블록체인 기반 데이터 프로세싱 방법 및 디바이스를 제공한다.
다음의 기술적 솔루션들이 본 출원의 구현예들에서 사용된다:
본 출원의 구현예는 블록체인 기반 데이터 프로세싱 방법을 제공하고, 방법은 다음을 포함한다: 특정된 시간 기간(time period) 내에 합의(consensus)에 의해 프로세싱된 서비스 데이터의 양을 모니터링하는 단계; 프로세싱된 데이터의 양에 기반하여 블록 생성 시간을 동적으로 조정하는 단계; 및 조정된 시간에 기반하여 새로운 블록을 생성하는 단계.
본 출원의 구현예는 또한 블록체인 기반 데이터 프로세싱 디바이스를 제공하고, 디바이스는 다음을 포함한다: 특정된 시간 기간 내에 합의에 의해 프로세싱된 서비스 데이터의 양을 모니터링하도록 구성된 모니터링 유닛; 프로세싱된 데이터의 양에 기반하여 블록 생성 시간을 동적으로 조정하도록 구성된 조정 유닛; 및 조정된 시간에 기반하여 새로운 블록을 생성하도록 구성된 프로세싱 유닛.
본 출원의 구현예는 또한 적어도 하나의 메모리 및 적어도 하나의 프로세서를 포함하는, 블록체인 기반 데이터 프로세싱 디바이스를 제공하고, 메모리는 프로그램을 저장하며, 프로세서들 중 적어도 하나는 다음의 단계들을 수행하도록 구성된다: 특정된 시간 기간 내에 합의에 의해 프로세싱된 서비스 데이터의 양을 모니터링하고, 프로세싱된 데이터의 양에 기반하여 블록 생성 시간을 동적으로 조정하며, 조정된 시간에 기반하여 새로운 블록을 생성함.
다음의 이로운 효과들은 본 출원의 구현예들에서 사용되는 기술적 솔루션들 중 적어도 하나를 사용함으로써 달성될 수 있다.
본 출원의 구현예들에서, 특정된 시간 기간 내에 합의에 의해 프로세싱된 서비스 데이터의 양이 모니터링된다. 프로세싱된 데이터의 양에 기반하여 블록 생성 시간이 동적으로 조정되고, 조정된 시간에 기반하여 새로운 블록이 생성된다. 이와 같이, 블록 생성 속도가 서비스 데이터 변화와 매칭될 수 있고, 이는 서비스 데이터가 합의에 의해 프로세싱될 때 서비스 수요를 만족시키며 시스템 리소스 이용을 보장하여, 시스템 리소스 이용이 등락하지 않는다. 따라서, 서비스 수요와 시스템 리소스 소모 사이의 균형이 효율적으로 달성된다.
본원에서 설명되는 첨부 도면들은 본 출원의 추가 이해를 제공하도록 의도되며, 본 출원의 일부를 구성한다. 본 출원의 예시적인 구현예들 및 예시적인 구현예들의 설명들은 본 출원을 설명하기 위해 의도된 것이며, 본 출원에 대한 제한들을 구성하는 것은 아니다. 첨부된 도면들에서:
도 1은 본 출원의 구현예에 따른, 블록체인 기반 데이터 프로세싱 방법을 예시하는 개략적인 흐름도이다.
도 2는 본 출원의 구현예에 따른, 블록체인 기반 데이터 프로세싱 방법을 예시하는 개략적인 흐름도이다.
도 3은 본 출원의 구현예에 따른, 블록체인 기반 데이터 프로세싱 방법을 예시하는 개략적인 흐름도이다.
도 4는 본 출원의 구현예에 따른, 블록체인 기반 데이터 프로세싱 디바이스를 예시하는 개략적인 구조도이다.
도 5는 본 출원의 구현예에 따른, 블록체인 기반 데이터 프로세싱 디바이스를 예시하는 개략적인 구조도이다.
도 6은 본 개시의 구현예에 따른, 블록체인 기반 데이터 프로세싱을 위한 컴퓨터 구현(computer-implemented) 방법의 예시를 예시하는 흐름도이다.
기존의 블록체인 생성 메커니즘에 기반하면, 서비스 데이터 생성 속도가 블록 생성 속도보다 훨씬 크면, 대량의 서비스 데이터가 축적되고, 서비스 데이터 프로세싱 효율이 감소된다. 서비스 데이터 생성 속도가 블록 생성 속도보다 느리면, 소량의 서비스 데이터가 합의(consensus)에 의해 프로세싱될 것이고, (하나의 합의를 개시하기 위해 시스템 리소스들이 끊임없이 소모되기 때문에) 시스템 리소스들이 낭비된다.
본 출원의 목적들, 기술적 솔루션들, 및 이점들을 더 명확히 하기 위해, 다음은 본 출원의 특정 구현예들 및 대응하는 첨부 도면들을 참조하여 본 출원의 기술적 솔루션들을 명확하게 설명할 것이다. 명백하게, 설명되는 구현예들은 본 출원의 모든 구현예라기보다는 단지 일부의 구현예들이다. 창의적인 노력없이 본 출원의 구현예들에 기반하여 당업자에 의해 획득되는 모든 다른 구현예들은 본 출원의 보호 범위 내에 있을 것이다.
본 출원의 구현예들에서 제공되는 기술적 솔루션들이 첨부 도면들을 참조하여 아래에서 상세히 설명된다.
도 1은 본 출원의 구현예에 따른, 블록체인 기반 데이터 프로세싱 방법을 예시하는 개략적인 흐름도이다. 방법은 다음과 같이 설명될 수 있다: 본 출원의 구현예는, 블록 생성 속도를 제어하기 위해, 블록체인 네트워크 내의 블록체인 노드 또는 블록체인 노드와 독립된 다른 디바이스에 의해 수행될 수 있다.
단계(101): 특정된 시간 기간 내에 합의에 의해 프로세싱된 서비스 데이터의 양을 모니터링함.
본 출원의 구현예에서, 하나의 블록체인 노드가 모니터링 객체로서 사용될 수 있고, 특정된 시간 기간 내에 합의에 의해 블록체인 노드에 의해 프로세싱된 서비스 데이터의 양이 모니터링된다. 대안적으로, 복수의 블록체인 노드들이 모니터링 객체들로서 개별적으로 사용될 수 있고, 특정된 시간 기간 내에 합의에 의해 상이한 블록체인 노드들에 의해 프로세싱된 서비스 데이터의 양들이 개별적으로 모니터링된다. 이에 제한되는 것은 아니다.
다음의 설명들에서, 특정된 시간 기간 내에 합의에 의해 하나의 블록체인 노드에 의해 프로세싱된 서비스 데이터의 양이 모니터링된다.
본 출원의 구현예에서, 블록 생성 시간을 조정하기 전에, 특정된 기준 시간(reference time)에 기반하여 블록이 생성될 수 있다. 환언하면, 기준 시간이 만료되었을 때 하나의 새로운 블록이 생성된다. 따라서, 마지막 기준 시간부터 현재 기준 시간까지의 주기 내에 서비스 데이터가 생성된다.
기준 시간은 본원에서 기간(duration) 또는 타임스탬프일 수 있다. 이에 제한되는 것은 아니다.
새로운 블록이 생성된 후, 생성된 서비스 데이터가 합의에 의해 프로세싱되고, 이어서 합의에 의해 프로세싱된 서비스 데이터가 새로운 블록에 저장된다.
특정된 시간 기간은 블록 생성 기준 시간에 기반하거나 실제 수요에 기반하여 결정될 수 있다. 이에 제한되는 것은 아니다.
본 출원의 구현예에서, 소량의 서비스 데이터가 생성되면, 특정된 시간 기간 내에 합의에 의해 프로세싱된 서비스 데이터의 양은 생성된 서비스 데이터의 양으로 이해될 수 있다. 대량의 서비스 데이터가 생성되면(생성된 서비스 데이터를 저장하기에 하나의 블록이 충분히 크지 않음), 특정된 시간 기간 내에 합의에 의해 프로세싱된 서비스 데이터는, 합의에 의해 실제로 획득된 서비스 데이터의 양으로 이해될 수 있다.
특정된 시간 기간 내에 합의에 의해 프로세싱된 서비스 데이터의 양이 모니터링될 때, 후속하여 블록 생성 시간을 조정하는 정확성을 보장하기 위해, n개의 연이은(consecutive) 특정된 시간 기간들 내에 합의에 의해 프로세싱된 서비스 데이터의 양이 또한 모니터링될 수 있으며, 여기서 n은 자연수이다. 특정된 시간 기간은 블록 생성 시간에 기반하여 결정된다.
바람직하게, 본 출원의 구현예에서, 프로세싱되는 서비스 데이터의 기준량이 또한 결정될 수 있다. 프로세싱되는 데이터의 기준량은 블록 용량 또는 실제 수요에 기반하여 결정될 수 있다. 이에 제한되는 것은 아니다.
단계(103): 프로세싱된 데이터의 양에 기반하여 블록 생성 시간을 동적으로 조정함.
본 출원의 구현예에서, 블록 생성 시간은, 프로세싱된 데이터의 양이 특정된 제 1 문턱값보다 작으면 특정된 제 1 기간만큼 연장된다.
블록 생성 시간은, 프로세싱된 데이터의 양이 특정된 제 2 문턱값보다 크면 특정된 제 2 기간만큼 단축된다.
제 1 문턱값은 프로세싱되는 데이터의 기준량, 블록체인 노드의 최소 서비스 데이터 프로세싱 능력, 또는 블록체인 노드의 최대 서비스 데이터 프로세싱 능력에 기반하여 본원에서 결정될 수 있다. 이에 제한되는 것은 아니다.
바람직하게, 본 출원의 구현예에서, n개의 연이은 특정된 시간 기간들 내에 합의에 의해 프로세싱된 서비스 데이터의 양들이 단계(101)에서 모니터링되면, 특정된 시간 기간들에 대응하는 프로세싱된 데이터의 양들에 기반하여 블록 생성 시간이 동적으로 조정된다.
특정된 시간 기간들에 대응하는 프로세싱된 데이터의 양들이 점진적으로 증가하고 프로세싱된 데이터의 최대량이 특정된 제 2 문턱값보다 크면, 블록 생성 시간은 특정된 제 2 기간만큼 단축된다.
특정된 시간 기간들에 대응하는 프로세싱된 데이터의 양들이 점진적으로 감소하고 프로세싱된 데이터의 최소량이 특정된 제 1 문턱값보다 작으면, 블록 생성 시간은 특정된 제 1 기간만큼 연장된다.
제 1 기간은 본원에서 블록 생성 기준 시간의 정수 배수(integral multiple)일 수 있다. 예를 들어, 기준 시간이 기간, 예를 들어 기간(T)이라고 가정한다. 이 상황에서, 제 1 기간은 a*T일 수 있고, 제 1 기간만큼 연장된 후의 블록 생성 시간은 T+a*T일 수 있으며, 여기서 a는 양수이다. 제 2 기간은 본원에서 블록 생성 기준 시간의 분수 배수(fractional multiple)일 수 있다. 예를 들어, 기준 시간이 기간, 예를 들어 기간(T)이라고 가정한다. 이 상황에서, 제 2 기간은 b*T일 수 있고, 제 2 기간만큼 단축된 후의 블록 생성 시간은 T-b*T일 수 있으며, 여기서 b는 양수이며 1보다 작다.
단계(105): 조정된 시간에 기반하여 새로운 블록을 생성함.
본 출원의 구현예에서, 새로운 블록은 조정된 시간에 기반하여 동적으로 생성된다.
조정된 시간이 기준 시간보다 길면, 블록 생성을 감속하기 위한 계산 난이도가 증가할 수 있다. 조정된 시간이 기준 시간보다 짧으면, 블록 생성을 가속하기 위한 계산 난이도가 감소할 수 있다.
본 출원에서 제공되는 기술적 솔루션에서, 특정된 시간 기간 내에 합의에 의해 프로세싱된 서비스 데이터의 양이 모니터링된다. 프로세싱된 데이터의 양에 기반하여 블록 생성 시간이 동적으로 조정되고, 조정된 시간에 기반하여 새로운 블록이 생성된다. 이와 같이, 블록 생성 속도가 서비스 데이터 변화와 매칭될 수 있고, 이는 서비스 데이터가 합의에 의해 프로세싱될 때 서비스 수요를 만족시키며 시스템 리소스 이용을 보장하여, 시스템 리소스 이용이 등락하지 않는다. 따라서, 서비스 수요와 시스템 리소스 소모 사이의 균형이 효율적으로 달성된다.
도 2는 본 출원의 구현예에 따른, 블록체인 기반 데이터 프로세싱 방법을 예시하는 개략적인 흐름도이다. 방법은 다음과 같이 설명될 수 있다: 블록 생성 시간이 변하지 않은 채로 유지되면, 본 출원의 구현예에서, 합의에 의해 프로세싱되는 서비스 데이터의 양이 시스템 리소스 이용을 향상시키기 위해 또한 동적으로 조정될 수 있고, 이에 의해 서비스 수요와 시스템 리소스 소모 사이의 균형을 달성한다.
단계(202): m개의 연이은 특정된 시간 기간들 내에 생성된 서비스 데이터의 양들을 모니터링함.
여기서, m은 n보다 작으며 자연수이다.
단계(204): 결정된 블록 생성 시간이 기준 시간과 동일하면, 프로세싱되는 데이터의 기준량보다 양들이 큰지의 여부, 및 프로세싱되는 데이터의 조정된 양보다 양들이 작은지의 여부를 결정함; 프로세싱되는 데이터의 기준량보다 양들이 크면 단계(206)를 수행하고; 또는 프로세싱되는 데이터의 조정된 양보다 양들이 작으면 단계(208)를 수행함.
본 출원의 구현예에서, 블록 생성 시간은 기준 시간이지만, 서비스 데이터의 양은 서비스가 실행되고 있음에 따라 변한다고 가정한다. 프로세싱되는 데이터의 기준량보다 서비스 데이터의 양이 작으면, 모든 생성된 서비스 데이터는 새로운 블록이 생성될 때 합의에 의해 프로세싱될 수 있다.
프로세싱되는 데이터의 기준량보다 서비스 데이터의 양이 크면, 단계(206)가 수행될 필요가 있다. 즉, 시스템 리소스 이용을 보장하기 위해, 합의에 의해 프로세싱되는 각각의 서비스 데이터의 양이 증가된다.
단계(206): 프로세싱되는 데이터의 기준량보다 m개의 연이은 특정된 시간 기간들 내에 생성된 서비스 데이터의 양들이 크면, 특정된 시간 기간 내에 합의에 의해 프로세싱되는 서비스 데이터의 양을 조정하고, 단계(210)를 스킵함.
본 출원의 구현예에서, 특정된 시간 기간 내에 합의에 의해 프로세싱되는 서비스 데이터의 양을 조정하는 것은 프로세싱되는 데이터의 양을 증가시키는 것으로 이해될 수 있다. 여기서, 프로세싱되는 데이터의 양이 증가되는 정도는 프로세싱되는 서비스 데이터의 기준량에 기반하여 결정될 수 있다.
단계(208): 프로세싱되는 데이터의 조정된 양보다 m개의 연이은 특정된 시간 기간들 내에 생성된 서비스 데이터의 양들이 작으면, 특정된 시간 기간 내에 합의에 의해 프로세싱되는 서비스 데이터의 양을 조정함, 여기서 m은 n보다 작으며 자연수임.
본 출원의 구현예에서, 프로세싱되는 데이터의 조정된 양보다 m개의 연이은 특정된 시간 기간들 내에 생성된 서비스 데이터의 양들이 작으면, 이는 서비스 데이터 생성이 감속하고 있다는 것을 나타낸다. 이 상황에서, 특정된 시간 기간 내에 합의에 의해 프로세싱되는 서비스 데이터의 양이 감소될 필요가 있다.
단계(210): 프로세싱되는 데이터의 조정된 양에 기반하여, 특정된 (m+1)번째 시간 기간 내에 합의에 의해 서비스 데이터를 프로세싱함.
도 3은 본 출원의 구현예에 따른, 블록체인 기반 데이터 프로세싱 방법을 예시하는 개략적인 흐름도이다. 방법은 다음과 같이 설명될 수 있다:
단계(301): 기준 블록 생성 기간 내에 생성된 서비스 데이터를 획득함.
단계(303): 프로세싱되는 서비스 데이터의 기준량보다 서비스 데이터의 양이 작은지의 여부를 결정함; 프로세싱되는 서비스 데이터의 기준량보다 서비스 데이터의 양이 작으면, 새로운 블록이 생성될 때, 획득된 서비스 데이터를 합의에 의해 프로세싱하거나, 또는 프로세싱되는 서비스 데이터의 기준량보다 m개의 연이은 시간들 내에 합의에 의해 프로세싱된 서비스 데이터의 양들이 작으면 블록 생성 시간을 연장시킴; 프로세싱되는 서비스 데이터의 기준량보다 서비스 데이터의 양이 작지 않으면, 단계(305)를 수행함.
단계(305): 새로운 블록이 생성될 때, 획득된 서비스 데이터로부터, 프로세싱되는 데이터의 기준량에 대응하는 서비스 데이터를 획득하고, 합의에 의해 서비스 데이터를 프로세싱함.
단계(307): m개의 연이은 시간들 내에 합의에 의해 프로세싱된 서비스 데이터의 모니터링된 양들이, 프로세싱되는 데이터의 기준량이면, 프로세싱되는 서비스 데이터의 기준량을 증가시키고, 프로세싱되는 데이터의 증가된 기준량을 다음에 합의에 의해 프로세싱될 서비스 데이터의 양으로서 사용함.
단계(309): 프로세싱되는 데이터의 증가된 기준량에 기반하여 합의 프로세싱의 (m+1)번째 시간에 대응하는 서비스 데이터를 획득하고, 획득된 서비스 데이터를 합의에 의해 프로세싱함.
단계(302): 프로세싱되는 데이터의 증가된 기준량이 특정된 최대값에 도달했을 때, 블록 생성 시간을 단축시킴.
단계(304): 합의에 의해 프로세싱된 서비스 데이터의 양을 모니터링하고, 프로세싱된 데이터의 양이 특정된 최대값보다 작을 때 블록 생성 시간을 연장시킴.
단계(306): 블록 생성 시간이 기준 시간에 도달했을 때, 프로세싱되는 서비스 데이터의 양을 기준량으로 감소시킴.
도 4는 본 출원의 구현예에 따른, 블록체인 기반 데이터 프로세싱 디바이스를 예시하는 개략적인 구조도이다. 데이터 프로세싱 디바이스는 모니터링 유닛(401), 조정 유닛(402), 및 프로세싱 유닛(403)을 포함한다.
모니터링 유닛(401)은 특정된 시간 기간 내에 합의에 의해 프로세싱된 서비스 데이터의 양을 모니터링하도록 구성된다.
조정 유닛(402)은 프로세싱된 데이터의 양에 기반하여 블록 생성 시간을 동적으로 조정하도록 구성된다.
프로세싱 유닛(403)은 조정된 시간에 기반하여 새로운 블록을 생성하도록 구성된다.
본 출원의 다른 구현예에서, 조정 유닛(402)은 또한, 프로세싱된 데이터의 양이 특정된 제 1 문턱값보다 작으면 특정된 제 1 기간만큼 블록 생성 시간을 연장시키도록 구성된다. 대안적으로, 프로세싱된 데이터의 양이 특정된 제 2 문턱값보다 크면 특정된 제 2 기간만큼 블록 생성 시간을 단축시킨다.
본 출원의 다른 구현예에서, 모니터링 유닛(401)은 또한, n개의 연이은 특정된 시간 기간들 내에 합의에 의해 프로세싱된 서비스 데이터의 양들을 모니터링하도록 구성되며, 여기서 n은 자연수이다. 특정된 시간 기간은 블록 생성 시간에 기반하여 결정된다.
조정 유닛(402)은 또한, 특정된 시간 기간들에 대응하는 프로세싱된 데이터의 양들에 기반하여 블록 생성 시간을 동적으로 조정하도록 구성된다.
본 출원의 다른 구현예에서, 조정 유닛(402)은 또한, 특정된 시간 기간들에 대응하는 프로세싱된 데이터의 양들이 점진적으로 증가하고 프로세싱된 데이터의 최대량이 특정된 제 2 문턱값보다 크면, 특정된 제 2 기간만큼 블록 생성 시간을 단축시키도록 구성된다.
본 출원의 다른 구현예에서, 조정 유닛(402)은 또한, 특정된 시간 기간들에 대응하는 프로세싱된 데이터의 양들이 점진적으로 감소하고 프로세싱된 데이터의 최소량이 특정된 제 1 문턱값보다 작으면, 특정된 제 1 기간만큼 블록 생성 시간을 연장시키도록 구성된다.
본 출원의 다른 구현예에서, 조정 유닛(402)은 또한, 결정된 블록 생성 시간이 기준 시간과 동일하고, 프로세싱되는 데이터의 기준량보다 m개의 연이은 특정된 시간 기간들 내에 생성된 서비스 데이터의 축적된 양들이 크면, 특정된 시간 기간 내에 합의에 의해 프로세싱되는 서비스 데이터의 양을 조정하도록 구성되며, 여기서 m은 n보다 작고 자연수이다.
본 출원의 다른 구현예에서, 조정 유닛(402)은 또한, 결정된 블록 생성 시간이 기준 시간과 동일하고, 프로세싱되는 데이터의 조정된 양보다 m개의 연이은 특정된 시간 기간들 내에 생성된 서비스 데이터의 축적된 양들이 작으면, 특정된 시간 기간 내에 합의에 의해 프로세싱되는 서비스 데이터의 양을 조정하도록 구성되며, 여기서 m은 n보다 작고 자연수이다.
본 출원의 다른 구현예에서, 프로세싱 유닛(403)은 또한, 프로세싱되는 데이터의 조정된 양에 기반하여 특정된 (m+1)번째 시간 기간 내에 합의에 의해 서비스 데이터를 프로세싱하도록 구성된다.
특히, 본 출원의 구현예에서 제공되는 데이터 프로세싱 디바이스는 하드웨어 또는 소프트웨어를 사용함으로써 구현될 수 있다. 이에 제한되는 것은 아니다. 데이터 프로세싱 디바이스는, 특정된 시간 기간 내에 합의에 의해 프로세싱된 서비스 데이터의 양을 모니터링하고, 프로세싱된 데이터의 양에 기반하여 블록 생성 시간을 동적으로 조정하며, 조정된 시간에 기반하여 새로운 블록을 생성한다. 이와 같이, 블록 생성 속도가 서비스 데이터 변화와 매칭될 수 있고, 이는 서비스 데이터가 합의에 의해 프로세싱될 때 서비스 수요를 만족시키며 시스템 리소스 이용을 보장하여, 시스템 리소스 이용이 등락하지 않는다. 따라서, 서비스 수요와 시스템 리소스 소모 사이의 균형이 효율적으로 달성된다.
도 5는 본 출원의 구현예에 따른, 블록체인 기반 데이터 프로세싱 디바이스를 예시하는 개략적인 구조도이다. 데이터 프로세싱 디바이스는 적어도 하나의 메모리(501) 및 적어도 하나의 프로세서(502)를 포함한다. 메모리(501)는 프로그램을 저장하고, 프로세서들(502) 중 적어도 하나는 다음의 단계들을 수행하도록 구성된다: 특정된 시간 기간 내에 합의에 의해 프로세싱된 서비스 데이터의 양을 모니터링하고, 프로세싱된 데이터의 양에 기반하여 블록 생성 시간을 동적으로 조정하며, 조정된 시간에 기반하여 새로운 블록을 생성함.
프로세서의 기능들에 대해, 이전의 구현예들에서 기록된 컨텐츠에 대한 참조가 이루어질 수 있다. 상세사항들은 여기서 개별적으로 설명되지 않는다.
1990년대에는, 하드웨어 향상(예를 들어, 다이오드, 트랜지스터, 또는 스위치와 같은 회로 구조물에 대한 향상)과 소프트웨어 향상(방법 프로시저에 대한 향상) 사이에서 기술의 향상이 명확히 구분될 수 있었다. 그러나, 기술들의 발전으로, 많은 방법 프로세스들의 향상이 하드웨어 회로 구조물의 직접적인 향상으로 간주될 수 있다. 설계자들은 향상된 방법 절차를 대응하는 하드웨어 회로 구조물을 획득하기 위해 하드웨어 회로에 거의 모두 프로그래밍한다. 따라서, 방법 프로시저의 향상이 하드웨어 엔티티 모듈을 사용함으로써 구현될 수 없다고 간주될 수 없다. 예를 들어, 프로그래밍가능 논리 디바이스(programmable logic device; PLD)[예를 들어, 필드 프로그래밍가능 게이트 어레이(field programmable gate array; FPGA)]가 일 유형의 집적 회로이다. 프로그래밍가능 논리 디바이스의 논리적 기능은 사용자에 의해 실행되는 컴포넌트 프로그래밍에 의해 결정된다. 설계자들은, 칩 제조자가 전용 집적 회로 칩을 설계하고 생산하도록 요청하지 않고 단일 PLD에 디지털 시스템을 “집적”하기 위해 자발적인 프로그래밍을 수행한다. 또한, 집적 회로 칩을 수동을 생산하는 대신, 프로그램 개발 동안 사용되는 소프트웨어 컴파일러와 유사한 “논리 컴파일러” 소프트웨어에 의해 프로그래밍이 대부분 구현된다. 컴파일링 전의 오리지널 코드는 또한, 하드웨어 기술 언어(hardware description language; HDL)로 지칭되는 특정 프로그래밍 언어로 작성되고, ABEL(Advanced Boolean Expression Language), AHDL(Altera Hardware Description Language), Confluence, CUPL(Cornell University Programming Language), HDCal, JHDL(Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, 및 RHDL(Ruby Hardware Description Language) 등과 같은 하나 보다 많은 유형의 HDL이 있다. 현재, VHDL(Very-High-Speed Integrated Circuit Hardware Description Language) 및 Verilog가 가장 일반적으로 사용된다. 당업자는 또한, 방법 프로시저가 논리적으로 프로그래밍되어야 할 필요가 있고, 이전의 하드웨어 기술 언어들을 사용함으로써 집적 회로에 프로그래밍될 필요가 있어서, 논리적 방법 프로세스를 구현하는 하드웨어 회로가 쉽게 획득될 수 있다는 점을 이해해야 한다.
임의의 적절한 방식으로 컨트롤러가 구현될 수 있다. 예를 들어, 컨트롤러는 마이크로프로세서 또는 프로세서, 또는 컴퓨터 판독가능 매체, 논리 게이트, 스위치, 주문형 집적 회로(application-specific integrated circuit; ASIC), 프로그래밍가능 논리 컨트롤러, 또는 마이크로프로세서 또는 프로세서에 의해 실행될 수 있는 (소프트웨어 또는 펌웨어와 같은) 컴퓨터 판독가능 프로그램 코드를 저장하는 임베딩된 마이크로프로세서일 수 있다. 컨트롤러의 예시들은 다음의 마이크로프로세서들을 포함하지만 이에 제한되는 것은 아니다: ARC 625D, Atmel AT91SAM, 마이크로칩 PIC18F26K20, 및 실리콘 랩스 C8051F320. 메모리의 제어 논리부의 일부로서 메모리 컨트롤러가 또한 구현될 수 있다. 당업자는 또한, 순수(pure) 컴퓨터 판독가능 프로그램 코드의 방식으로 컨트롤러가 구현될 수 있고, 컨트롤러가 논리 게이트, 스위치, 주문형 집적 회로, 프로그래밍가능 논리 컨트롤러, 임베딩된 마이크로컨트롤러 등의 형태들로 일부 기능들을 또한 구현하게 하도록 방법에서의 단계들이 논리적으로 프로그래밍될 수 있다는 점을 알고 있다. 따라서, 그러한 컨트롤러는 하드웨어 컴포넌트로 간주될 수 있다. 컨트롤러 내에 포함되고 다양한 기능들을 구현하도록 구성된 장치는 하드웨어 컴포넌트 내부의 구조물로 간주될 수 있다. 대안적으로, 다양한 기능들을 구현하도록 구성된 장치도 방법을 구현하기 위한 소프트웨어 모듈 및 하드웨어 컴포넌트 내부의 구조물 둘 다로서 간주될 수 있다.
이전의 구현예들에서 예시된 시스템, 장치, 모듈, 또는 유닛은 컴퓨터 칩 또는 엔티티를 사용함으로써 구현될 수 있거나, 또는 특정 기능을 갖는 제품에 의해 구현될 수 있다. 일반적인 구현 디바이스는 컴퓨터이다. 컴퓨터는, 예를 들어 개인용 컴퓨터, 랩탑 컴퓨터, 셀룰러 폰, 카메라 폰, 인텔리전트 폰, 개인용 디지털 보조기, 미디어 플레이어, 내비게이션 디바이스, 이메일 디바이스, 게임 콘솔, 태블릿 컴퓨터, 웨어러블 디바이스, 또는 이 디바이스들 중 임의의 디바이스들의 조합일 수 있다.
설명의 용이성을 위해, 장치는 장치를 기능들에 기반하여 다양한 유닛들로 분할함으로써 설명된다. 물론, 본 출원이 구현될 때, 유닛들의 기능들은 하나 이상의 피스(piece)의 소프트웨어 및/또는 하드웨어로 구현될 수 있다.
당업자는 본 개시의 구현예들이 방법, 시스템, 또는 컴퓨터 프로그램 제품으로서 제공될 수 있다는 점을 이해해야 한다. 따라서, 본 개시는 하드웨어만 있는 구현예들, 소프트웨어만 있는 구현예들, 또는 소프트웨어 및 하드웨어의 조합이 있는 구현예들의 형태를 사용할 수 있다. 또한, 본 개시는 컴퓨터 사용가능 프로그램 코드를 포함하는 하나 이상의 컴퓨터 사용가능 스토리지 매체(자기 디스크 저장소, CD-ROM, 광학 메모리 등을 포함하지만 이들에 제한되는 것은 아님) 상에서 구현되는 컴퓨터 프로그램 제품의 형태를 사용할 수 있다.
본 개시는 본 개시의 구현예들에 따른 방법, 디바이스(시스템), 및 컴퓨터 프로그램 제품의 흐름도들 및/또는 블록도들을 참조하여 설명된다. 흐름도들 및/또는 블록도들 내의 각각의 프로세스 및/또는 각각의 블록, 및 흐름도들 및/또는 블록도들 내의 프로세스 및/또는 블록의 조합을 구현하기 위해 컴퓨터 프로그램 명령어들이 사용될 수 있다는 점이 이해되어야 한다. 이들 컴퓨터 프로그램 명령어들은, 범용 컴퓨터, 전용 컴퓨터, 임베딩된 프로세서, 또는 머신을 생성하기 위한 다른 프로그래밍가능 데이터 프로세싱 디바이스의 프로세서에 제공될 수 있어서, 컴퓨터 또는 다른 프로그래밍가능 데이터 프로세싱 디바이스의 프로세서에 의해 실행되는 명령어들이 흐름도들 내의 하나 이상의 프로세스 및/또는 블록도들 내의 하나 이상의 블록 내의 특정 기능을 구현하기 위한 장치를 생성한다.
이들 컴퓨터 프로그램 명령어들은 대안적으로, 컴퓨터 또는 다른 프로그래밍가능 데이터 프로세싱 디바이스를 특정 방식으로 작동하도록 지시할 수 있는 컴퓨터 판독가능 메모리에 저장될 수 있어서, 컴퓨터 판독가능 메모리에 저장된 명령어들이 명령어 장치를 포함하는 아티팩트(artifact)를 생성한다. 명령어 장치는 흐름도들 내의 하나 이상의 프로세스 및/또는 블록도들 내의 하나 이상의 블록 내의 특정 기능을 구현한다.
이들 컴퓨터 프로그램 명령어들은 대안적으로, 컴퓨터 또는 다른 프로그래밍가능 데이터 프로세싱 디바이스에 로딩될 수 있어서, 일련의 동작들 및 단계들이 컴퓨터 또는 다른 프로그래밍가능 디바이스 상에서 수행되고, 이에 의해 컴퓨터 구현 프로세싱을 생성한다. 따라서, 컴퓨터 또는 다른 프로그래밍가능 디바이스 상에서 실행되는 명령어들은 흐름도들 내의 하나 이상의 프로세스 및/또는 블록도들 내의 하나 이상의 블록 내의 특정 기능을 구현하기 위한 단계들을 제공한다.
일반적인 구성에서, 컴퓨팅 디바이스는 하나 이상의 중앙 프로세싱 유닛(central processing unit; CPU), 입력/출력 인터페이스, 네트워크 인터페이스, 및 메모리를 포함한다.
메모리는 비지속성 메모리, 랜덤 액세스 메모리(random access memory; RAM), 비휘발성 메모리, 및/또는 컴퓨터 판독가능 매체, 예를 들어 판독 전용 메모리(read-only memory; ROM) 또는 플래시 메모리(플래시 메모리) 내에 있는 다른 형태를 포함할 수 있다. 메모리는 컴퓨터 판독가능 매체의 예시이다.
컴퓨터 판독가능 매체는 임의의 방법 또는 기술을 사용함으로써 정보를 저장할 수 있는 지속성, 비지속성, 가동(movable), 및 비가동 매체들을 포함한다. 정보는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 다른 데이터일 수 있다. 컴퓨터 저장 매체의 예시들은, 파라미터 랜덤 액세스 메모리(parameter random access memory; PRAM), 정적 랜덤 액세스 메모리(static random access memory; SRAM), 동적 랜덤 액세스 메모리(dynamic random access memory; DRAM), 다른 유형의 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 전기적으로 소거가능한 프로그래밍가능 판독 전용 메모리(electrically erasable programmable read-only memory; EEPROM), 플래시 메모리 또는 다른 메모리 기술, 컴팩트 디스크 판독 전용 메모리(compact disc read-only memory; CD-ROM), 디지털 다기능 디스크(digital versatile disc; DVD) 또는 다른 광학 저장소, 카세트, 카세트 자기 디스크 저장소, 다른 자기 저장 디바이스 또는 임의의 다른 비전송 매체를 포함하지만, 이에 제한되는 것은 아니다. 컴퓨터 저장 매체는 컴퓨팅 디바이스에 의해 액세스될 수 있는 정보를 저장하도록 구성될 수 있다. 본 명세서에 규정된 바와 같이, 컴퓨터 판독가능 매체는 변조된 데이터 신호 또는 캐리어와 같은 컴퓨터 판독가능 일시적 매체(일시적 매체)를 포함하지 않는다.
특히, 용어 “포함한다”, “구비한다”, 또는 이들의 임의의 다른 변형이 비배타적 포함을 커버하도록 의도되어, 일련의 엘리먼트들을 포함하는 프로세스, 방법, 상품, 또는 디바이스가 이 엘리먼트들을 포함할 뿐만 아니라 명확히 열거되지 않은 다른 엘리먼트들을 포함할 수 있거나, 또는 그러한 프로세스, 방법, 상품, 또는 디바이스에 내재되는 엘리먼트들을 포함할 수 있다. 더 이상의 제한들이 없을 때, 프로세스, 방법, 제품, 또는 엘리먼트를 포함하는 디바이스에 다른 동일하거나 균등한 엘리먼트가 있는 것이 또한 가능하다.
본 출원은 컴퓨터, 예를 들어 프로그램 모듈에 의해 실행되는 컴퓨터 실행가능 명령어의 일반적인 컨텍스트로 설명될 수 있다. 일반적으로, 프로그램 모듈은 특정 태스크(task)를 실행하거나 특정 추상 데이터 유형을 구현하기 위한 루틴, 프로그램, 객체, 컴포넌트, 데이터 구조 등을 포함한다. 본 출원은 또한 분산 컴퓨팅 환경들에서 실시될 수 있다. 분산 컴퓨팅 환경들에서, 태스크들은 통신 네트워크를 통해 연결된 원격 프로세싱 디바이스들에 의해 수행된다. 분산형 컴퓨팅 환경들에서, 프로그램 모듈은 저장 디바이스들을 포함하는 로컬 및 원격 컴퓨터 저장 매체 둘 다에 위치될 수 있다.
본 명세서 내의 구현예들은 진보적인 방식으로 모두 설명된다. 구현예들에서의 동일하거나 유사한 부분들에 대해, 서로에 대한 참조가 이루어질 수 있다. 각각의 구현예는 다른 구현예들과의 차이점에 초점을 둔다. 특히, 시스템 구현예는 기본적으로 방법 구현예와 유사하고, 따라서 간략히 설명된다. 관련 부분들에 대해, 방법 구현예에서 일부 설명들에 대한 참조가 이루어질 수 있다.
이전의 설명들은 본 출원의 구현예들일 뿐이며, 본 출원을 제한하도록 의도되는 것은 아니다. 당업자는 본 출원에 다양한 변형들 및 변경들을 행할 수 있다. 본 출원의 사상 및 원리로부터 벗어나지 않고 이루어진 임의의 변형물, 균등한 대체물, 또는 향상물은 본 출원의 청구항들의 범위 내에 있을 것이다.
도 6은 본 개시의 구현예에 따른, 블록체인 기반 데이터 프로세싱을 위한 컴퓨터 구현 방법(600)의 예시를 예시하는 흐름도이다. 제시의 명확성을 위해, 이어지는 설명은 일반적으로, 본 설명에서의 다른 도면들의 컨텍스트로 방법(600)을 설명한다. 그러나, 방법(600)이 예를 들어 적절하게 임의의 시스템, 환경, 소프트웨어, 및 하드웨어, 또는 시스템들, 환경들, 소프트웨어, 및 하드웨어의 조합에 의해 수행될 수 있다는 점이 이해될 것이다. 일부 구현예들에서, 방법(600)의 다양한 단계들이 병렬로, 조합으로, 루프들로, 또는 임의의 순서로 수행될 수 있다.
단계(602)에서, 특정된 시간 기간 내에 블록체인에 대해 합의에 의해 프로세싱된 서비스 데이터의 양이 모니터링된다. 일부 구현예들에서, 단일 블록체인 노드가 모니터링을 수행하도록 사용될 수 있고, 특정된 시간 기간 내에 합의에 의해 단일 블록체인 노드에 의해 프로세싱된 서비스 데이터의 양이 모니터링된다. 대안적으로, 복수의 블록체인 노드들이 모니터링 동작들을 개별적으로 수행할 수 있고, 특정된 시간 기간 내에 합의에 의해 상이한 블록체인 노드들에 의해 프로세싱된 서비스 데이터의 양들이 개별적으로 모니터링된다. 일부 경우들에서, 블록 생성 시간을 조정하기 전에, 특정된 기준 시간에 기반하여 블록이 생성될 수 있다. 기준 시간이 만료되었을 때, 새로운 블록이 생성된다. 마지막 기준 시간부터 현재 기준 시간까지의 주기 내에 서비스 데이터가 생성된다. 일부 경우들에서, 기준 시간이 기간일 수 있는 한편, 다른 경우들에서, 기간 시간(duration time)이 타임스탬프일 수 있다. 새로운 블록이 생성된 후, 생성된 서비스 데이터가 합의에 의해 프로세싱되고, 이어서 합의에 의해 프로세싱된 서비스 데이터가 새로운 블록 상에 또는 내에 저장된다. 일부 경우들에서, 특정된 시간 기간은 블록 생성 기준 시간, 현재 블록 생성 시간에 기반하여, 또는 실제 수요에 기반하여 결정될 수 있다.
모니터링 동작들 동안 프로세싱되는 서비스 데이터의 양이 상이할 수 있다. 비교적 작은 양의 서비스 데이터가 생성되면, 특정된 시간 기간 내에 합의에 의해 프로세싱된 서비스 데이터의 양은 생성된 서비스 데이터의 실제량을 포함할 수 있다. 대량의 서비스 데이터가 생성되면(가령, 생성된 서비스 데이터를 저장하기에 하나의 블록이 충분히 크지 않음), 특정된 시간 기간 내에 합의에 의해 실제로 프로세싱된 서비스 데이터는, 합의에 의해 실제로 획득된 서비스 데이터의 양을 포함할 수 있다.
일부 경우들에서, 특정된 시간 기간 내에 합의에 의해 프로세싱된 서비스 데이터의 양은 n개의 연이은 특정된 시간 기간들 내에 합의에 의해 프로세싱된 서비스 데이터의 양을 포함하거나 나타낼 수 있고, 여기서 n은 자연수이다. 이와 같이 함으로써, 블록 생성 시간의 후속 조정들과 연관된 정확성이, 단일 시간 기간에 기반한 조정들을 회피하거나 시간에 따른 추이(trends)를 지켜봄으로써 증가될 수 있다. 단계(602)로부터, 방법(600)은 단계(604)로 진행한다.
단계(604)에서, 특정된 시간 기간 내에 프로세싱된 서비스 데이터의 모니터링된 양이 특정된 제 1 문턱량보다 작은지의 여부, 또는 특정된 시간 기간 내에 프로세싱된 서비스 데이터의 모니터링된 양이 특정된 제 2 문턱량보다 많은지의 여부에 대한 결정이 이루어진다. 일부 경우들에서, 제 1 문턱량 및 제 2 문턱량은 다른 것들 중에서도, 프로세싱되는 데이터의 기준량(예를 들어, 블록 용량 또는 실제 수요), 블록체인 노드의 최소 서비스 데이터 프로세싱 능력, 또는 블록체인 노드의 최대 서비스 데이터 프로세싱 능력에 기반하여 결정되거나 식별될 수 있다.
일부 경우들에서, n개의 연이은 특정된 시간 기간들이 모니터링되고, 결정 단계(604)는 특정된 시간 기간들에 대응하는 프로세싱된 데이터의 양들 뿐만 아니라, 프로세싱된 데이터의 양에서의 점진적 증가 또는 감소에 기반할 수 있다.
프로세싱된 데이터의 양이 제 1 문턱값보다 작다고 결정되면, 방법(600)은 단계(606)로 진행한다. 그렇지 않고, 프로세싱된 데이터의 양이 제 2 문턱값보다 크다고 결정되면, 방법(600)은 단계(608)로 진행한다. 이들 중 어느 것도 결정되지 않으면, 일부 경우들에서, 방법(600)은 향상된 시스템 리소스 이용 기술들에 대한 추가 조정들을 수행하기 위해 단계(620)로 진행한다.
단계(606)에서, 블록 생성 시간은, 프로세싱된 데이터의 양이 제 1 문턱값보다 작다는 결정에 기반하여, 특정된 제 1 기간만큼 연장된다. 이와 같이 함으로써, 합의에 의한 프로세싱과 연관된 시스템 리소스들이 다음 블록 생성 시간 동안 생성되는 서비스 데이터의 양을 증가시킴으로써 절약될 수 있다. 단계(606)로부터, 방법(600)은 단계(610)로 진행한다.
단계(608)에서, 블록 생성 시간은, 프로세싱된 데이터의 양이 제 2 문턱값보다 크다는 결정에 기반하여, 특정된 제 2 기간만큼 단축된다. 블록 생성 시간을 감소시킴으로써, 가령 서비스 데이터 생성 속도가 블록 생성 속도보다 상당히 큰 경우, 서비스 데이터 프로세싱 효율이 대량의 서비스 데이터의 축적을 회피함으로써 증가된다. 단계(608)로부터, 방법(600)은 단계(610)로 진행한다.
단계(610)에서, 조정된 블록 생성 시간에 기반하여 새로운 블록이 생성된다. 일부 경우들에서, 블록 생성 시간을 조정하는 상이한 방법들이 사용될 수 있다. 예를 들어, 조정된 시간이 기준 시간보다 길면, 블록 생성을 감속하기 위한 계산 난이도가 증가될 수 있다. 조정된 시간이 기준 시간보다 짧으면, 블록 생성을 가속하기 위한 계산 난이도가 감소될 수 있다. 단계(610) 후, 방법(600)은 중단되거나, 또는 단계(602)로 리턴하여 추가 모니터링을 이어갈 수 있다.
블록 생성 시간이 변하지 않은 채로 유지되는 경우들에서, 가령 모니터링된 프로세싱된 데이터가 특정된 제 1 문턱값보다 많고 특정된 제 2 문턱값보다 작은 경우, 추가적인 또는 대안적인 세트의 동작들이 수행될 수 있다. 특히, 방법(600)은, m개의 연이은 특정된 시간 기간들 내에 생성된 서비스 데이터의 양이 모니터링되는 단계(620)로 이동한다. 값(m)은 자연수이며, (이전에 설명된 n개의 연이은 특정된 시간 기간들의) n보다 작다. 단계(620)로부터, 방법(600)은 단계(622)로 이어진다.
단계(622)에서, 프로세싱되는 데이터의 기준량보다 m개의 연이은 특정된 시간 기간들 내에 모니터링된 생성된 서비스 데이터량이 큰지의 여부, 뿐만 아니라 프로세싱되는 데이터의 조정된 양보다 m개의 연이은 특정된 시간 기간들 내에 생성된 서비스 데이터의 모니터링된 양들이 작은지의 여부에 대한 결정이 이루어진다. 프로세싱되는 데이터의 기준량보다 생성된 데이터의 모니터링된 양들이 크면, 방법(600)은 단계(624)로 진행한다. 프로세싱되는 데이터의 조정된 양보다 양들이 작으면, 방법(600)은 단계(626)로 진행한다. 어느 결정들도 발생하지 않으면, 방법(600)이 중단되거나, 또는 추가 모니터링을 위해 단계(602) 또는 단계(620)로 리턴한다.
단계(624)에서, 프로세싱되는 데이터의 기준량보다 m개의 연이은 특정된 시간 기간들 내에 생성된 서비스 데이터가 크다는 결정에 응답하여, 특정된 시간 기간 내에 합의에 의해 프로세싱되는 서비스 데이터의 양이 증가될 수 있다. 프로세싱되는 데이터의 양이 증가되는 정도는 프로세싱되는 서비스 데이터의 기준량에 기반하여 결정될 수 있다. 단계(624)로부터, 방법(600)은 단계(628)로 진행한다.
단계(626)에서, 프로세싱되는 데이터의 조정된 양보다 m개의 연이은 특정된 시간 기간들 내에 생성된 서비스 데이터가 작다는 결정에 응답하여, 특정된 시간 기간 내에 합의에 의해 프로세싱되는 서비스 데이터의 양이 감소된다. 감소는 서비스 데이터 생성이 감속 중일 것임을 나타내는 결정시 발생한다. 단계(626)로부터, 방법(600)은 단계(628)로 진행한다.
단계(628)에서, 서비스 데이터는 프로세싱되는 데이터의 조정된 양에 기반하여, 특정된 (m+1)번째 시간 기간 내에 합의에 의해 프로세싱된다. 단계(628) 후, 방법(600)은 중단되거나, 또는 단계(602) 또는 단계(620)로 리턴하여 블록체인의 추가 모니터링을 이어갈 수 있다.
본원에서 설명되는 프로세스들은, 블록 생성 속도가 서비스 데이터 변화들과 매칭될 수 있는 것을 보장하도록 사용될 수 있고, 이는 서비스 데이터가 합의에 의해 프로세싱될 때 서비스 수요를 만족시키고 시스템 리소스 이용을 보장하며, 이에 의해 시스템 리소스 이용이 등락하지 않게 한다. 서비스 수요와 시스템 리소스 소모 사이의 균형이 효율적으로 달성된다. 또한, 합의에 의해 프로세싱된 서비스 데이터의 양을 동적으로 조정함으로써, 블록 생성 속도가 변하지 않았을 때에도 시스템 리소스 이용이 향상될 수 있다.
본 명세서에서 설명되는 실시예들 및 동작들은 디지털 전자 회로에서, 또는 본 명세서에서 설명되는 구조물들 또는 이 구조물들 중 하나 이상의 조합들을 포함하여, 컴퓨터 소프트웨어, 펌웨어, 또는 하드웨어에서 구현될 수 있다. 동작들은 하나 이상의 컴퓨터 판독가능 저장 디바이스에 저장되거나 다른 소스들로부터 수신되는 데이터 상으로 데이터 프로세싱 장치에 의해 수행되는 동작들로서 구현될 수 있다. 데이터 프로세싱 장치, 컴퓨터, 또는 컴퓨팅 디바이스는, 예시로서 프로그래밍가능 프로세서, 컴퓨터, 시스템 온 칩, 또는 이들 중 다수의 것들, 또는 이들의 조합들을 포함하여, 데이터를 프로세싱하기 위한 장치, 디바이스들, 및 기계들을 망라할 수 있다. 장치는 특수 목적 논리 회로, 예를 들어, 중앙 프로세싱 유닛(central processing unit; CPU), 필드 프로그래밍가능 게이트 어레이(field programmable gate array; FPGA), 또는 주문형 집적 회로(application-specific integrated circuit; ASIC)를 포함할 수 있다. 장치는 또한, 논의되고 있는 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제(예를 들어, 운영 체제 또는 운영 체제들의 조합), 크로스 플랫폼 런타임 환경(cross-platform runtime environment), 가상 기계, 또는 이들의 하나 이상의 조합을 구성하는 코드를 포함할 수 있다. 장치 및 실행 환경은, 웹 서비스들, 분산형 컴퓨팅 및 그리드 컴퓨팅 인프라구조들과 같은 다양한 상이한 컴퓨팅 모델 인프라구조들을 실현할 수 있다.
컴퓨터 프로그램(또한, 예를 들어 프로그램, 소프트웨어, 소프트웨어 애플리케이션, 소프트웨어 모듈, 소프트웨어 유닛, 스크립트, 또는 코드로도 알려짐)은, 컴파일되거나 해석되는 언어들, 선언형(declarative) 또는 절차적 언어들을 포함한 임의의 형태의 프로그래밍 언어로 기록될 수 있고, 독립형(stand-alone) 프로그램으로서 또는 모듈, 컴포넌트, 서브루틴, 객체 또는 컴퓨팅 환경에서의 사용을 위해 적절한 다른 유닛으로서를 포함하여 임의의 형태로 배포될 수 있다. 프로그램은, 논의되고 있는 프로그램에 전용되는 단일 파일 내에, 또는 다중 협력 파일(multiple coordinated file)들(예를 들어 하나 이상의 모듈, 서브 프로그램, 또는 코드의 일부를 저장하는 파일들) 내에, 다른 프로그램들 또는 데이터를 보유하는 파일(예를 들어 마크업 언어 문서에 저장된 하나 이상의 스크립트)의 일부에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 상에서 또는 한 사이트에 또는 다중 사이트들에 걸쳐 분산되어 위치되고 통신 네트워크에 의해 상호연결된 다중 컴퓨터들 상에서 실행될 수 있다.
컴퓨터 프로그램의 실행을 위한 프로세서들은 예시로서, 범용 및 특수 목적 마이크로프로세서들 둘 다, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서를 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 이들 둘 다로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 엘리먼트들은, 명령어들에 따라 액션들을 수행하기 위한 프로세서 및 명령어들과 데이터를 저장하기 위한 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 또한, 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스들로부터 데이터를 수신하거나 이들에 데이터를 전송하거나 또는 수신 및 전송 둘 다를 수행하도록 이들에 동작가능하게 커플링되거나 또는 이들을 포함할 것이다. 컴퓨터는 다른 디바이스, 예를 들어 모바일 디바이스, 개인용 디지털 보조기(personal digital assistant; PDA), 게임 콘솔, 글로벌 포지셔닝 시스템(Global Positioning System; GPS) 수신기, 또는 포터블 저장 디바이스 내에 임베딩될 수 있다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기 위해 적절한 디바이스들은, 예시로서 반도체 메모리 디바이스들, 자기 디스크들, 및 광자기(magneto-optical) 디스크들을 포함하여, 비휘발성 메모리, 매체 및 메모리 디바이스들을 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로에 의해 보완되거나 특수 목적 논리 회로 내에 통합될 수 있다.
모바일 디바이스들은 핸드셋(handset)들, 사용자 장비(user equipment; UE), 모바일 텔레폰들(예를 들어, 스마트폰들), 태블릿들, 웨어러블 디바이스들(예를 들어, 스마트 워치들 및 스마트 아이글래스들), 사람 몸에 이식되는 디바이스들[예를 들어, 바이오센서들, 인공 귀(cochlear implant)들], 또는 다른 유형들의 모바일 디바이스들을 포함할 수 있다. 모바일 디바이스들은 다양한 통신 네트워크들과 [예를 들어, 무선 주파수(radio frequency; RF) 신호들을 사용하여] 무선으로 통신할 수 있다(아래에서 설명됨). 모바일 디바이스들은 모바일 디바이스의 현재 환경의 특성들을 결정하기 위한 센서들을 포함할 수 있다. 센서들은 카메라들, 마이크로폰들, 근접 센서들, GPS 센서들, 모션 센서들, 가속도계들, 주위 밝기 센서들, 습도 센서들, 자이로스코프들, 컴파스들, 바로미터들, 지문 센서들, 안면 인식 시스템들, RF 센서들[예를 들어, Wi-Fi 및 셀 방식 무선 전화(cellular radio)들], 열 센서들, 또는 다른 유형들의 센서들을 포함할 수 있다. 예를 들어, 카메라들은 가동 또는 고정된 렌즈들을 갖는 전향 또는 후향 카메라, 플래시, 이미지 센서, 및 이미지 프로세서를 포함할 수 있다. 카메라는 안면 및/또는 홍채 인식을 위해 상세사항들을 캡처할 수 있는 메가픽셀 카메라일 수 있다. 카메라는, 데이터 프로세서 및 메모리에 저장되거나 원격으로 액세스되는 인증 정보와 함께 안면 인식 시스템을 형성할 수 있다. 안면 인식 시스템 또는 하나 이상의 센서, 예를 들어 마이크로폰들, 모션 센서들, 가속도계들, GPS 센서들, 또는 RF 센서들은 사용자 인증을 위해 사용될 수 있다.
사용자와의 상호작용을 제공하기 위해, 실시예들은 디스플레이 디바이스 및 입력 디바이스, 예를 들어 사용자에게 정보를 디스플레이하기 위한 액정 디스플레이(liquid crystal display; LCD) 또는 유기 발광 다이오드(organic light-emitting diode; OLED)/가상 현실(virtual-reality; VR)/증강 현실(augmented-reality; AR) 디스플레이 및 사용자가 컴퓨터에게 입력을 제공할 수 있는 터치스크린 키보드, 및 포인팅 디바이스를 갖는 컴퓨터 상에 구현될 수 있다. 사용자와의 상호작용을 제공하기 위해 또한 다른 종류들의 디바이스들이 사용될 수 있고; 예를 들어, 사용자에게 제공되는 피드백은 임의의 형태의 감각적 피드백, 예를 들어 시각적 피드백, 청각적 피드백, 또는 촉각적 피드백일 수 있으며; 사용자로부터의 입력은 음향, 말, 또는 촉각적 입력을 포함하여 임의의 형태로 수신될 수 있다. 또한, 컴퓨터는, 예를 들어 웹 브라우저로부터 수신된 요청들에 응답하여 사용자의 클라이언트 디바이스 상의 웹 브라우저에 웹 페이지들을 송신함으로써, 사용자에 의해 사용되는 디바이스에 문서들을 송신하고 이로부터 문서들을 수신함으로써 사용자와 상호작용할 수 있다.
실시예들은 임의의 형태의 또는 유선 또는 무선 디지털 데이터 통신 매체(또는 이들의 조합), 예를 들어 통신 네트워크에 의해 상호연결된 컴퓨팅 디바이스들을 사용하여 구현될 수 있다. 상호연결된 디바이스들의 예시들은, 일반적으로 통신 네트워크를 통해 상호연결되는 일반적으로 서로 떨어져 있는 클라이언트와 서버이다. 클라이언트, 예를 들어 모바일 디바이스는 서버와 또는 서버를 통해 트랜잭션들, 예를 들어 구매, 판매, 지불, 기부, 송신, 또는 대출(loan) 트랜잭션들을 수행하거나 이들을 인증하는 것을 자체적으로 실행할 수 있다. 그러한 트랜잭션들은 실시간일 수 있어서 액션 및 응답이 시간적으로 근접하고; 예를 들어 개인이 액션 및 응답이 실질적으로 동시에 일어나는 것으로 인지하며, 개인의 액션에 이은 응답에 대한 시간차는 1 밀리초(millisecond; ms)보다 작거나 1 초(second; s)보다 작고, 또는 응답은 시스템의 프로세싱 제한들을 고려하여 의도적인 딜레이가 없다.
통신 네트워크들의 예시들은 근거리 통신망(local area network; LAN), 무선 액세스 네트워크(radio access network; RAN), 도시 지역 통신망(metropolitan area network; MAN), 및 광역 통신망(wide area network; WAN)을 포함한다. 통신 네트워크는 인터넷, 다른 통신 네트워크, 또는 통신 네트워크들의 조합 모두 또는 일부를 포함할 수 있다. 정보는, 롱 텀 에볼루션(Long Term Evolution; LTE), 5G, IEEE 802, 인터넷 프로토콜(Internet Protocol; IP), 또는 다른 프로토콜들 또는 프로토콜들의 조합들을 포함하여, 다양한 프로토콜들 및 표준들에 따라 통신 네트워크 상에서 전송될 수 있다. 통신 네트워크는 연결된 컴퓨팅 디바이스들 간에 음성, 비디오, 바이오메트릭(biometric), 또는 인증 데이터, 또는 다른 정보를 전송할 수 있다.
분리적 구현예들로서 설명된 특징들이 조합으로, 단일 구현예로 구현될 수 있는 한편, 단일 구현예로서 설명된 피처들이 다수의 구현예들로, 분리적으로, 또는 임의의 적절한 서브 조합으로 구현될 수 있다. 특정 순서로 설명되고 청구된 동작들이 그 특정 순서를 요하는 것으로 이해되어서는 안되며, 모든 예시된 동작들이 반드시 수행되어야 함을 요하는 것도 아니다(일부 동작들은 선택적일 수 있음). 적절하게, 멀티태스킹 또는 병령 프로세싱(또는 멀티태스킹과 병렬 프로세싱의 조합)이 수행될 수 있다.

Claims (10)

  1. 데이터 프로세싱 디바이스에 의해 수행되는, 블록체인 기반 데이터를 프로세싱하기 위한 방법에 있어서,
    시스템 리소스 소모에 기반하는, 특정된 시간 기간(time period) 내에 합의(consensus)에 따라 프로세싱된 서비스 데이터의 양을 모니터링하는 단계(101);
    조정된 시간을 생성하기 위해 상기 서비스 데이터의 양에 기반하여 블록 생성 시간을 동적으로 조정하는 단계(103); 및
    상기 조정된 시간에 기반하여 새로운 블록을 생성하는 단계(105)로서, 상기 새로운 블록 생성은 상기 시스템 리소스 소모와 매칭되는 서비스 수요와 연관되는 것인, 상기 새로운 블록을 생성하는 단계(105)를 포함하는, 블록체인 기반 데이터를 프로세싱하기 위한 방법.
  2. 제 1 항에 있어서, 상기 블록 생성 시간을 동적으로 조정하는 단계는,
    상기 프로세싱된 서비스 데이터의 양이 특정된 제 1 문턱값보다 작으면, 상기 블록 생성 시간을 특정된 제 1 기간(duration)만큼 연장시키는(prolonging) 단계; 또는
    상기 프로세싱된 서비스 데이터의 양이 특정된 제 2 문턱값보다 크면, 상기 블록 생성 시간을 특정된 제 2 기간만큼 단축시키는(shortening) 단계를 포함하는 것인, 방법.
  3. 제 1 항 또는 제 2 항에 있어서, 상기 프로세싱된 서비스 데이터의 양을 모니터링하는 단계는,
    n개의 연이은(consecutive) 특정된 시간 기간들 내에 상기 합의에 의해 프로세싱된 서비스 데이터의 양들을 모니터링하는 단계로서, n은 자연수이고 상기 특정된 시간 기간은 상기 블록 생성 시간에 기반하여 결정되는 것인, 상기 프로세싱된 서비스 데이터의 양들을 모니터링하는 단계를 포함하고,
    상기 프로세싱된 서비스 데이터의 양에 기반하여 블록 생성 시간을 동적으로 조정하는 단계는,
    상기 특정된 시간 기간들에 대응하는 상기 프로세싱된 서비스 데이터의 양들에 기반하여 상기 블록 생성 시간을 동적으로 조정하는 단계를 포함하는 것인, 방법.
  4. 제 3 항에 있어서, 상기 블록 생성 시간을 동적으로 조정하는 단계는,
    상기 특정된 시간 기간들에 대응하는 상기 프로세싱된 서비스 데이터의 양들이 점진적으로 증가하고, 상기 프로세싱된 서비스 데이터의 최대량이 상기 특정된 제 2 문턱값보다 크면, 상기 블록 생성 시간을 상기 특정된 제 2 기간만큼 단축시키는 단계를 포함하는 것인, 방법.
  5. 제 3 항에 있어서, 상기 블록 생성 시간을 동적으로 조정하는 단계는,
    상기 특정된 시간 기간들에 대응하는 상기 프로세싱된 서비스 데이터의 양들이 점진적으로 감소하고, 상기 프로세싱된 서비스 데이터의 최소량이 상기 특정된 제 1 문턱값보다 작으면, 상기 블록 생성 시간을 특정된 제 1 기간만큼 연장시키는 단계를 포함하는 것인, 방법.
  6. 제 3 항에 있어서, 상기 방법은,
    상기 블록 생성 시간이 기준 시간(reference time)과 동일하고, 프로세싱되는 서비스 데이터의 기준량보다 m개의 연이은 특정된 시간 기간들 내에 생성된 서비스 데이터의 양들이 크면, 상기 특정된 시간 기간 내에 상기 합의에 의해 프로세싱되는 서비스 데이터의 양을 조정하는 단계(206)로서, m은 n보다 작고 자연수인 것인, 상기 서비스 데이터의 양을 조정하는 단계(206)를 더 포함하는 것인, 방법.
  7. 제 3 항에 있어서, 상기 방법은,
    상기 블록 생성 시간이 기준 시간과 동일하고, 프로세싱되는 서비스 데이터의 조정된 양보다 m개의 연이은 특정된 시간 기간들 내에 생성된 서비스 데이터의 양들이 작으면, 상기 특정된 시간 기간 내에 상기 합의에 의해 프로세싱되는 서비스 데이터의 양을 조정하는 단계(208)로서, m은 n보다 작고 자연수인 것인, 상기 서비스 데이터의 양을 조정하는 단계(208)를 더 포함하는 것인, 방법.
  8. 제 6 항에 있어서, 상기 방법은,
    상기 프로세싱되는 서비스 데이터의 조정된 양에 기반하여, 특정된 (m+1)번째 시간 기간 내에 상기 합의에 의해 서비스 데이터를 프로세싱하는 단계(210)를 더 포함하는 것인, 방법.
  9. 제 1 항 또는 제 2 항에 있어서, 상기 방법은,
    상기 합의에 의해 프로세싱된 서비스 데이터를 상기 새로운 블록에 저장하는 단계를 더 포함하는 것인, 방법.
  10. 블록체인 기반 데이터를 프로세싱하기 위한 디바이스에 있어서, 상기 디바이스는 하나 이상의 피스(piece)의 소프트웨어 및 하드웨어 중 적어도 하나로 구현되는 복수의 유닛들을 포함하고, 상기 디바이스는 제 1 항 또는 제 2 항에 따른 방법을 수행하도록 구성되는 것인, 블록체인 기반 데이터를 프로세싱하기 위한 디바이스.
KR1020197020434A 2017-07-14 2018-07-13 블록체인 기반 데이터 프로세싱 방법 및 디바이스 KR102144645B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201710575008.4 2017-07-14
CN201710575008.4A CN107577694B (zh) 2017-07-14 2017-07-14 一种基于区块链的数据处理方法及设备
PCT/US2018/042083 WO2019014591A1 (en) 2017-07-14 2018-07-13 METHOD AND DEVICE FOR PROCESSING BLOCK CHAIN-BASED DATA

Publications (2)

Publication Number Publication Date
KR20190119576A KR20190119576A (ko) 2019-10-22
KR102144645B1 true KR102144645B1 (ko) 2020-08-18

Family

ID=61049090

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197020434A KR102144645B1 (ko) 2017-07-14 2018-07-13 블록체인 기반 데이터 프로세싱 방법 및 디바이스

Country Status (12)

Country Link
US (2) US11269916B2 (ko)
EP (1) EP3552365B1 (ko)
JP (1) JP6719795B2 (ko)
KR (1) KR102144645B1 (ko)
CN (1) CN107577694B (ko)
ES (1) ES2805134T3 (ko)
MY (1) MY194528A (ko)
PH (1) PH12019501623A1 (ko)
PL (1) PL3552365T3 (ko)
SG (2) SG11201906418PA (ko)
TW (1) TWI680656B (ko)
WO (1) WO2019014591A1 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190141048A1 (en) * 2017-11-08 2019-05-09 NXM Technologies Inc. Blockchain identification system
US11509486B2 (en) 2017-05-24 2022-11-22 Nxm Labs, Inc. Identity attestation system and method
US11429960B2 (en) 2017-05-24 2022-08-30 Nxm Labs, Inc. Network configuration management for networked client devices using a distributed ledger service
CN107577694B (zh) 2017-07-14 2020-04-24 创新先进技术有限公司 一种基于区块链的数据处理方法及设备
CN109064325B (zh) * 2018-06-25 2020-07-24 浙江超脑时空科技有限公司 一种基于区块链的智能合约实现方法和装置
US11836721B2 (en) * 2018-06-29 2023-12-05 Intel Corporation Protection of information in an information exchange
CN109064327B (zh) * 2018-06-29 2021-01-08 浙江超脑时空科技有限公司 一种智能合约处理方法、装置及设备
CN113408009B (zh) * 2018-07-05 2022-12-06 腾讯科技(深圳)有限公司 数据处理方法、装置、设备及介质
US11070449B2 (en) * 2018-12-04 2021-07-20 Bank Of America Corporation Intelligent application deployment to distributed ledger technology nodes
CN109993528B (zh) * 2019-03-29 2021-11-02 上海掌门科技有限公司 一种用于管理委托任务的方法与设备
CN110009498A (zh) * 2019-03-29 2019-07-12 阿里巴巴集团控股有限公司 基于区块链的资源分配方法和装置
CN110753028B (zh) * 2019-09-11 2021-06-22 复旦大学 一种控制分布式记账网络资源使用方法
CN110941533B (zh) * 2019-11-20 2023-04-18 腾讯科技(深圳)有限公司 一种监测方法、装置及计算机可读存储介质
KR20210075654A (ko) * 2019-12-13 2021-06-23 현대자동차주식회사 블록체인 생성 시스템 및 그 운용 방법
CN114726561B (zh) * 2020-12-22 2024-04-05 京东科技信息技术有限公司 一种数据处理方法、装置和系统
CN114916065A (zh) * 2021-02-08 2022-08-16 索尼公司 电子设备、无线通信方法和计算机可读存储介质
CN112804351B (zh) * 2021-03-05 2022-12-23 中国工商银行股份有限公司 区块链系统的流量控制方法、装置、节点、介质及产品
CN116846888A (zh) * 2022-03-24 2023-10-03 腾讯科技(深圳)有限公司 区块链网络的共识处理方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016007904A1 (en) 2014-07-11 2016-01-14 Ribbit.me! USA Inc. Distributed ledger protocol to incentivize transactional and non-transactional commerce
US20160342977A1 (en) 2015-05-20 2016-11-24 Vennd.io Pty Ltd Device, method and system for virtual asset transactions
WO2017010455A1 (ja) 2015-07-13 2017-01-19 日本電信電話株式会社 契約合意方法、合意検証方法、契約合意システム、合意検証装置、契約合意装置、契約合意プログラム及び合意検証プログラム

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2350445A1 (en) * 2001-06-12 2002-07-31 Bob Van Leeuwen Programmable joint payment guarantee financial instrument set
US7711797B1 (en) * 2006-07-31 2010-05-04 Juniper Networks, Inc. Optimizing batch size for prefetching data over wide area networks
US8276004B2 (en) * 2009-12-22 2012-09-25 Intel Corporation Systems and methods for energy efficient load balancing at server clusters
US9569771B2 (en) 2011-04-29 2017-02-14 Stephen Lesavich Method and system for storage and retrieval of blockchain blocks using galois fields
US10677886B2 (en) * 2015-01-05 2020-06-09 Locatorx, Inc. Mini blockchain in a chip device and methods of utilization
EP3070893B1 (en) 2015-03-20 2017-10-04 Alcatel Lucent Scheduling of packets in network devices
US10304143B2 (en) * 2016-05-05 2019-05-28 Lance Timothy Kasper Consensus system for manipulation resistant digital record keeping
CN106251144A (zh) * 2015-06-05 2016-12-21 地气股份有限公司 电子货币管理方法及电子货币节点装置
US10114969B1 (en) * 2015-08-04 2018-10-30 Jordan White Chaney Ultra-secure blockchain-based electronic information transfer system
US9529923B1 (en) 2015-08-28 2016-12-27 Swirlds, Inc. Methods and apparatus for a distributed database within a network
US20170103458A1 (en) * 2015-10-13 2017-04-13 Chicago Mercantile Exchange Inc. Derivative Contracts that Settle Based on a Virtual Currency Difficulty Factor or an Index of Virtual Currency Generation Yield
US9626120B1 (en) * 2015-12-28 2017-04-18 Veritas Technologies Systems and methods for dynamically adjusting batch request sizes
CN105719185B (zh) * 2016-01-22 2019-02-15 杭州复杂美科技有限公司 区块链的数据对比及共识方法
US10949922B2 (en) * 2016-06-30 2021-03-16 Chicago Mercantile Exchange Inc. Derivative contracts that settle based on transaction data
CN106157142A (zh) 2016-06-30 2016-11-23 惠众商务顾问(北京)有限公司 一种区块链共识及同步方法、系统和装置
CN106296191A (zh) * 2016-08-13 2017-01-04 深圳市樊溪电子有限公司 一种区块链功耗感知的PoW共识机制
CN106411774A (zh) 2016-09-06 2017-02-15 联动优势科技有限公司 一种控制交易数据量的方法和装置
US20180114205A1 (en) * 2016-10-21 2018-04-26 Bank Of America Corporation Distributed ledger system for providing aggregate tracking and threshold triggering
CN106506203B (zh) * 2016-10-25 2019-12-10 杭州云象网络技术有限公司 一种应用于区块链的节点监控系统
CN106528746B (zh) 2016-10-26 2019-07-16 江苏通付盾科技有限公司 交易信息查询方法、装置及系统
CN106682984B (zh) 2016-10-27 2019-09-10 深圳壹账通智能科技有限公司 基于区块链的交易事务处理方法及系统
CN106874393A (zh) * 2017-01-13 2017-06-20 北京众享比特科技有限公司 基于区块链的业务数据同步方法及系统、数据库系统
US10389518B2 (en) * 2017-01-27 2019-08-20 Entit Software Llc Blockchain hash value recomputation
CN107067242A (zh) * 2017-03-24 2017-08-18 钱德君 一种区块链生成过程中难度值创建方法
US10812270B2 (en) * 2017-04-07 2020-10-20 Citizen Hex Inc. Techniques for increasing the probability that a transaction will be included in a target block of a blockchain
US10788229B2 (en) * 2017-05-10 2020-09-29 Johnson Controls Technology Company Building management system with a distributed blockchain database
CN107392623B (zh) * 2017-05-22 2020-09-11 创新先进技术有限公司 一种业务执行的方法及装置
CN107577694B (zh) 2017-07-14 2020-04-24 创新先进技术有限公司 一种基于区块链的数据处理方法及设备
CN107733651B (zh) 2017-09-11 2020-06-19 联动优势科技有限公司 一种区块链生成方法、节点及系统
TWI659373B (zh) * 2018-02-14 2019-05-11 財團法人工業技術研究院 區塊鏈系統及應用其的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016007904A1 (en) 2014-07-11 2016-01-14 Ribbit.me! USA Inc. Distributed ledger protocol to incentivize transactional and non-transactional commerce
US20160342977A1 (en) 2015-05-20 2016-11-24 Vennd.io Pty Ltd Device, method and system for virtual asset transactions
WO2017010455A1 (ja) 2015-07-13 2017-01-19 日本電信電話株式会社 契約合意方法、合意検証方法、契約合意システム、合意検証装置、契約合意装置、契約合意プログラム及び合意検証プログラム

Also Published As

Publication number Publication date
PH12019501623A1 (en) 2020-03-16
EP3552365A1 (en) 2019-10-16
KR20190119576A (ko) 2019-10-22
US11947564B2 (en) 2024-04-02
CN107577694B (zh) 2020-04-24
EP3552365B1 (en) 2020-05-20
TW201909596A (zh) 2019-03-01
US11269916B2 (en) 2022-03-08
WO2019014591A8 (en) 2019-08-29
JP6719795B2 (ja) 2020-07-08
SG11201906418PA (en) 2019-08-27
ES2805134T3 (es) 2021-02-10
MY194528A (en) 2022-11-30
US20190018863A1 (en) 2019-01-17
PL3552365T3 (pl) 2020-10-19
US20220188331A1 (en) 2022-06-16
TWI680656B (zh) 2019-12-21
JP2020510330A (ja) 2020-04-02
WO2019014591A1 (en) 2019-01-17
CN107577694A (zh) 2018-01-12
SG10202101207WA (en) 2021-03-30

Similar Documents

Publication Publication Date Title
KR102144645B1 (ko) 블록체인 기반 데이터 프로세싱 방법 및 디바이스
US10642699B2 (en) Blockchain-based consensus method and device
US10909085B2 (en) Blockchain-based data processing method and device
US10887112B2 (en) Blockchain consensus method and device
US10679217B2 (en) Methods and devices for sending transaction information and for consensus verification
CA3042470C (en) Blockchain data processing method and apparatus
US20200005255A1 (en) Blockchain-based data processing method and device
US20200057760A1 (en) Database state determining method and device, and consistency verifying method and device
US20200097513A1 (en) Short-link parsing methods, apparatus, and devices
US20200065872A1 (en) Service execution method and device
US10691415B2 (en) Random number generation and acquisition method and device
US11170068B2 (en) Method and system for starting application
US11003514B2 (en) Methods and devices for broadcasting messages
US11157254B2 (en) Method, apparatus, and device for processing web application package
US20200326953A1 (en) Method and system for starting application
US10860728B2 (en) Data storage nodes collaboration and data processing for data statistical analysis

Legal Events

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