KR20200079289A - 블록체인 기반 트랜잭션 프로세싱 방법 및 장치 - Google Patents

블록체인 기반 트랜잭션 프로세싱 방법 및 장치 Download PDF

Info

Publication number
KR20200079289A
KR20200079289A KR1020207015264A KR20207015264A KR20200079289A KR 20200079289 A KR20200079289 A KR 20200079289A KR 1020207015264 A KR1020207015264 A KR 1020207015264A KR 20207015264 A KR20207015264 A KR 20207015264A KR 20200079289 A KR20200079289 A KR 20200079289A
Authority
KR
South Korea
Prior art keywords
transaction
blockchain
value
block
candidate block
Prior art date
Application number
KR1020207015264A
Other languages
English (en)
Other versions
KR102327574B1 (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 KR20200079289A publication Critical patent/KR20200079289A/ko
Application granted granted Critical
Publication of KR102327574B1 publication Critical patent/KR102327574B1/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
    • 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
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • 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
    • G06Q20/0658Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed locally
    • 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/389Keeping log of transactions for guaranteeing non-repudiation of a transaction
    • 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
    • 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

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 명세서의 하나 이상의 구현들은 블록체인 기반 트랜잭션 프로세싱 방법 및 장치, 및 전자 디바이스를 제공한다. 블록체인 내의 멤버 노드 디바이스에 의해 개시된 타겟 트랜잭션이 수신되고, 타겟 트랜잭션은 기준 시간 파라미터를 포함하고, 타겟 트랜잭션은 후보 블록으로의 전송을 위해 멤버 노드 디바이스에 의해 블록체인에 릴리스된 자산 및 연관된 데이터의 전송을 표시한다. 기준 시간 파라미터에 기초하여, 타겟 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션인지 여부에 대한 결정이 수행된다. 타겟 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션이라고 결정하는 것에 응답하여 타겟 트랜잭션은 후보 블록에 기록된다.

Description

블록체인 기반 트랜잭션 프로세싱 방법 및 장치
관련 출원들의 상호 참조
본 출원은, 2018년 5월 29일에 출원된 중국 특허 출원 제201810531740.6호에 대해 우선권을 주장하며, 상기 가특허 출원은 그 전체가 참조로 통합된다.
기술 분야
본 명세서의 하나 이상의 구현들은 블록체인 기술들의 분야에 관한 것이고, 특히, 블록체인 기반 트랜잭션 프로세싱 방법 및 장치에 관한 것이다.
분산형 원장(ledger) 기술로 또한 지칭되는 블록체인 기술은, 컴퓨팅 디바이스들이 공동으로 "회계"에 참여하고 완전한 분산형 데이터베이스를 공동으로 유지하는 새로운 기술이다. 블록체인 기술은 분산화, 및 공개성과 투명성을 특징으로 한다. 블록체인 기술에서, 각각의 컴퓨팅 디바이스는 데이터베이스 기록에 참여할 수 있고, 컴퓨팅 디바이스들 사이에서 데이터베이스 동기화가 신속하게 구현될 수 있다. 상기를 고려하여, 블록체인 기술은 분산형 시스템을 구축하기 위해 사용되고, 자동 실행을 위해 블록체인 분산형 데이터베이스에서 다양한 실행 프로그램들이 수집된다. 블록체인 기술은 다양한 분야들에서 널리 적용되어 왔다.
본 명세서는 블록체인 기반 트랜잭션 프로세싱 방법을 제공하며, 방법은, 블록체인 내의 멤버 노드 디바이스에 의해 개시된 타겟 트랜잭션을 수신하는 단계 - 타겟 트랜잭션은 기준 시간 파라미터를 포함하고, 기준 시간 파라미터는 타겟 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션인지 여부를 결정하기 위해 사용됨 -; 기준 시간 파라미터에 기초하여, 타겟 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션인지 여부를 결정하는 단계; 및 타겟 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션이라고 결정되면, 타겟 트랜잭션을 생성된 후보 블록에 기록하는 단계를 포함한다. 선택적으로, 기준 시간 파라미터는 타겟 트랜잭션이 생성될 때 생성된 기준 시간 스탬프이고, 트랜잭션 유효 기간은 제1 값과 제2 값 사이의 수치 구간에 대응하고, 제1 값은 후보 블록의 생성 시간 스탬프와 제1 문턱치 사이의 차이이고, 제2 값은 후보 블록의 생성 시간 스탬프와 제2 문턱치의 합이고; 기준 시간 파라미터에 기초하여, 타겟 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션인지 여부를 결정하는 단계는, 기준 시간 스탬프를 제1 값 및 제2 값 각각과 비교하는 단계; 및 기준 시간 스탬프가 제1 값보다 크고 제2 값보다 작으면, 타겟 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션이라고 결정하는 단계를 포함한다.
선택적으로, 기준 시간 스탬프를 제1 값 및 제2 값 각각과 비교하기 전에, 방법은, 후보 블록의 생성 시간 스탬프가 블록체인 내의 가장 최근 블록의 생성 시간 스탬프보다 큰지 여부를 체크하는 단계; 및 예(yes)이면, 기준 시간 스탬프를 제1 값 및 제2 값 각각과 추가로 비교하는 단계를 더 포함한다.
선택적으로, 기준 시간 스탬프는 타겟 트랜잭션이 생성될 때의 시스템 시간 스탬프 또는 트랜잭션 생성자에 의해 특정된 기준 시간 스탬프이다.
선택적으로, 제1 문턱치는 제2 문턱치보다 크다.
선택적으로, 기준 시간 파라미터는 타겟 트랜잭션이 생성될 때 생성된 기준 블록 높이 값이고, 트랜잭션 유효 기간은 제3 값과 블록체인 내의 후보 블록의 블록 높이 값 사이의 수치 구간에 대응하고, 제3 값은 블록체인 내의 후보 블록의 블록 높이 값과 제3 문턱치 사이의 차이이고; 기준 시간 파라미터에 기초하여, 타겟 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션인지 여부를 결정하는 단계는, 기준 블록 높이 값을 블록체인 내의 후보 블록의 블록 높이 값 및 제3 값 각각과 비교하는 단계; 및 기준 블록 높이 값이 제3 값보다 크고 블록체인 내의 후보 블록의 블록 높이 값보다 작으면, 타겟 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션이라고 결정하는 단계를 포함한다.
선택적으로, 기준 블록 높이 값을 블록체인 내의 후보 블록의 블록 높이 값 및 제3 값 각각과 비교하기 전에, 방법은, 후보 블록의 블록 번호가 블록체인 내의 가장 최근 블록의 블록 번호보다 큰지 여부를 체크하는 단계; 및 예이면, 기준 블록 높이 값을 블록체인 내의 후보 블록의 블록 높이 값 및 제3 값 각각과 비교하는 단계를 더 포함한다.
선택적으로, 기준 블록 높이 값은 타겟 트랜잭션이 생성될 때 블록체인 내의 가장 큰 블록 높이 값 또는 트랜잭션 생성자에 의해 특정된 기준 블록 높이 값이다.
선택적으로, 타겟 트랜잭션은 타겟 트랜잭션의 고유의 식별자를 더 포함하고; 타겟 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션이라고 결정되면, 타겟 트랜잭션을 생성된 후보 블록에 기록하는 단계는, 타겟 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션이라고 결정되면, 타겟 트랜잭션의 고유의 식별자에 대응하는 트랜잭션 멱등(idempotent) 기록이 미리 결정된 트랜잭션 멱등 표에 저장되는지 여부를 질의하는 단계 - 트랜잭션 멱등 표는 트랜잭션 유효 기간 내에서 유효 트랜잭션에 대응하는 트랜잭션 멱등 기록을 저장하기 위해 사용됨 -; 및 타겟 트랜잭션의 고유의 식별자에 대응하는 트랜잭션 멱등 기록이 미리 결정된 트랜잭션 멱등 표에 저장되지 않으면, 타겟 트랜잭션을 후보 블록에 기록하는 단계를 포함한다.
선택적으로, 트랜잭션 멱등 기록은, 트랜잭션 멱등 기록에 대응하는 트랜잭션이 블록체인의 분산형 데이터베이스에 성공적으로 기록되었음을 표시하고; 방법은, 타겟 트랜잭션이 후보 블록에 기록되면, 후보 블록 상에서 합의에 도달된 후, 후보 블록이 블록체인의 분산형 데이터베이스에 성공적으로 저장되고, 타겟 트랜잭션의 고유의 식별자에 대응하는 트랜잭션 멱등 기록을 생성하는 단계, 및 트랜잭션 멱등 기록을 트랜잭션 멱등 표에 삽입하는 단계를 더 포함한다.
선택적으로, 방법은, 트랜잭션 멱등 표에서 트랜잭션 유효 기간을 넘은 트랜잭션의 트랜잭션 멱등 기록을 주기적으로 삭제하는 단계를 더 포함한다.
본 명세서는 블록체인 기반 트랜잭션 프로세싱 장치를 추가로 제공하며, 장치는, 블록체인 내의 멤버 노드 디바이스에 의해 개시된 타겟 트랜잭션을 수신하도록 구성되는 수신 모듈 - 타겟 트랜잭션은 기준 시간 파라미터를 포함하고, 기준 시간 파라미터는 타겟 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션인지 여부를 결정하기 위해 사용됨 -; 기준 시간 파라미터에 기초하여, 타겟 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션인지 여부를 결정하도록 구성되는 결정 모듈; 및 타겟 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션이라고 결정되면, 타겟 트랜잭션을 생성된 후보 블록에 기록하도록 구성되는 기록 모듈을 포함한다.
선택적으로, 기준 시간 파라미터는 타겟 트랜잭션이 생성될 때 생성된 기준 시간 스탬프이고, 트랜잭션 유효 기간은 제1 값과 제2 값 사이의 수치 구간에 대응하고, 제1 값은 후보 블록의 생성 시간 스탬프와 제1 문턱치 사이의 차이이고, 제2 값은 후보 블록의 생성 시간 스탬프와 제2 문턱치의 합이고; 결정 모듈은 기준 시간 스탬프를 제1 값 및 제2 값 각각과 비교하고; 기준 시간 스탬프가 제1 값보다 크고 제2 값보다 작으면, 타겟 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션이라고 결정하도록 구성된다.
선택적으로, 결정 모듈은, 기준 시간 스탬프를 제1 값 및 제2 값 각각과 비교하기 전에, , 후보 블록의 생성 시간 스탬프가 블록체인 내의 가장 최근 블록의 생성 시간 스탬프보다 큰지 여부를 체크하고; 예이면, 기준 시간 스탬프를 제1 값 및 제2 값 각각과 추가로 비교하도록 추가로 구성된다.
선택적으로, 기준 시간 스탬프는 타겟 트랜잭션이 생성될 때의 시스템 시간 스탬프 또는 트랜잭션 생성자에 의해 특정된 기준 시간 스탬프이다.
선택적으로, 제1 문턱치는 제2 문턱치보다 크다.
선택적으로, 기준 시간 파라미터는 타겟 트랜잭션이 생성될 때 생성된 기준 블록 높이 값이고, 트랜잭션 유효 기간은 제3 값과 블록체인 내의 후보 블록의 블록 높이 값 사이의 수치 구간에 대응하고, 제3 값은 블록체인 내의 후보 블록의 블록 높이 값과 제3 문턱치 사이의 차이이고; 결정 모듈은, 기준 블록 높이 값을 블록체인 내의 후보 블록의 블록 높이 값 및 제3 값 각각과 비교하고; 기준 블록 높이 값이 제3 값보다 크고 블록체인 내의 후보 블록의 블록 높이 값보다 작으면, 타겟 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션이라고 결정하도록 구성된다.
선택적으로, 결정 모듈은, 기준 블록 높이 값을 블록체인 내의 후보 블록의 블록 높이 값 및 제3 값 각각과 비교하기 전에, 후보 블록의 블록 번호가 블록체인 내의 가장 최근 블록의 블록 번호보다 큰지 여부를 체크하고; 예이면, 기준 블록 높이 값을 블록체인 내의 후보 블록의 블록 높이 값 및 제3 값 각각과 비교하도록 추가로 구성된다.
선택적으로, 기준 블록 높이 값은 타겟 트랜잭션이 생성될 때 블록체인 내의 가장 큰 블록 높이 값 또는 트랜잭션 생성자에 의해 특정된 기준 블록 높이 값이다.
선택적으로, 타겟 트랜잭션은 타겟 트랜잭션의 고유의 식별자를 더 포함하고; 기록 모듈은, 타겟 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션이라고 결정되면, 타겟 트랜잭션의 고유의 식별자에 대응하는 트랜잭션 멱등 기록이 미리 결정된 트랜잭션 멱등 표에 저장되는지 여부를 질의하고 - 트랜잭션 멱등 표는 트랜잭션 유효 기간 내에서 유효 트랜잭션에 대응하는 트랜잭션 멱등 기록을 저장하기 위해 사용됨 -; 타겟 트랜잭션의 고유의 식별자에 대응하는 트랜잭션 멱등 기록이 미리 결정된 트랜잭션 멱등 표에 저장되지 않으면, 타겟 트랜잭션을 후보 블록에 기록하도록 추가로 구성된다.
선택적으로, 트랜잭션 멱등 기록은, 트랜잭션 멱등 기록에 대응하는 트랜잭션이 블록체인의 분산형 데이터베이스에 성공적으로 기록되었음을 표시하고; 기록 모듈은, 타겟 트랜잭션이 후보 블록에 기록되면, 후보 블록 상에서 합의에 도달된 후, 후보 블록이 블록체인의 분산형 데이터베이스에 성공적으로 저장되고, 타겟 트랜잭션의 고유의 식별자에 대응하는 트랜잭션 멱등 기록을 생성하고, 트랜잭션 멱등 기록을 트랜잭션 멱등 표에 삽입하도록 추가로 구성된다.
선택적으로, 기록 모듈은, 트랜잭션 멱등 표에서 트랜잭션 유효 기간을 넘은 트랜잭션의 트랜잭션 멱등 기록을 주기적으로 삭제하도록 추가로 구성된다.
본 명세서는 프로세서; 및 메모리를 포함하는 전자 디바이스를 추가로 제공하고, 메모리는 머신 실행가능 명령을 저장하도록 구성되고, 프로세서는, 블록체인 내의 멤버 노드 디바이스에 의해 개시된 타겟 트랜잭션을 수신하고 - 타겟 트랜잭션은 기준 시간 파라미터를 포함하고, 기준 시간 파라미터는 타겟 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션인지 여부를 결정하기 위해 사용됨 -; 기준 시간 파라미터에 기초하여, 타겟 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션인지 여부를 결정하고; 타겟 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션이라고 결정되면, 타겟 트랜잭션을 생성된 후보 블록에 기록하기 위해, 메모리에 저장되고 블록체인 기반 트랜잭션 프로세싱 제어 로직에 대응하는 머신 실행가능 명령을 판독 및 실행한다.
도 1은 예시적인 구현에 따른 블록체인 기반 트랜잭션 프로세싱 방법을 예시하는 흐름도이다.
도 2는 예시적인 구현에 따른 전자 디바이스를 예시하는 개략적 구조도이다.
도 3은 예시적인 구현에 따른 블록체인 기반 트랜잭션 프로세싱 장치를 예시하는 블록도이다.
도 4는 본 개시의 구현에 따른 블록체인 기반 트랜잭션 프로세싱을 위한 컴퓨터 구현 방법의 예를 예시하는 흐름도이다.
본 명세서는, 블록체인에 전송된 트랜잭션에 대한 트랜잭션 유효 기간을 설정하고, 블록체인 내의 노드 디바이스가 트랜잭션 유효 기간 내의 트랜잭션만을 후보 블록에 기록할 수 있는 것을 보장하기 위한 기술적 솔루션을 제공하도록 의도된다.
구현 동안, 블록체인의 운영자는 블록체인에 전송되는 트랜잭션들에 대한 트랜잭션 유효 기간을 균일하게 설정할 수 있다.
예를 들어, 실제 애플리케이션들에서, 트랜잭션 유효 기간은, 블록체인 내의 노드 디바이스(예를 들어, "원장 노드"로서 서빙하는 노드 디바이스)가 현재 회계 기간 또는 후보 블록의 생성 순간 이후의 시간 기간 내에서 후보 블록을 생성하는 생성 순간 이전의 시간 기간일 수 있다.
사용자가 클라이언트를 사용함으로써 트랜잭션을 생성할 때, 트랜잭션이 이전 트랜잭션 유효 기간 내의 유효 트랜잭션인지 여부를 결정하기 위해 사용되는 기준 시간 파라미터가 트랜잭션에 추가될 수 있고, 이어서 트랜잭션은 클라이언트에 의해 액세스된 노드 디바이스를 사용함으로써 블록체인에 전송된다.
트랜잭션을 수신한 후, 트랜잭션을 검증하는 프로세스에서, 블록체인 내의 다른 노드 디바이스는, 트랜잭션에서 운반되는 기준 시간 파라미터에 기초하여, 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션인지 여부를 검증하고; 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션이면 트랜잭션을 후보 블록에 기록할 수 있다.
상기 기술적 솔루션에 기초하면, 오직 트랜잭션 유효 기간 내에서 유효한 트랜잭션만이 합법적 트랜잭션으로서 사용되고 후보 블록에 기록될 수 있는 한편, 블록체인 내의 불법적 노드 디바이스는, 불법적 노드 디바이스에 의해 오래 전에 인터셉트된 만료된 트랜잭션을 사용함으로써 블록체인 상에서 리플레이 공격을 개시하는 것이 방지되어, 블록체인의 트랜잭션 보안 레벨을 개선할 수 있다.
하기 내용은 애플리케이션 시나리오들을 참조한 구현들을 사용함으로써 본 명세서를 설명한다.
도 1은 본 명세서의 구현에 따른 블록체인 기반 트랜잭션 프로세싱 방법을 도시한다. 방법은 하기 단계들을 포함하는, 블록체인 내의 임의의 노드 디바이스에 적용된다:
단계(102): 블록체인 내의 멤버 노드 디바이스에 의해 개시된 타겟 트랜잭션을 수신하고, 타겟 트랜잭션은 기준 시간 파라미터를 포함하고, 기준 시간 파라미터는 타겟 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션인지 여부를 결정하기 위해 사용된다.
단계(104): 기준 시간 파라미터에 기초하여, 타겟 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션인지 여부를 결정한다.
단계(106): 타겟 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션이라고 결정되면, 타겟 트랜잭션을 생성된 후보 블록에 기록한다.
본 명세서에 설명된 블록체인은 사설 블록체인, 공개 블록체인, 콘소시엄 블록체인 등을 포함할 수 있다. 이는 본 본 명세서에서 구체적으로 제한되지 않는다.
예를 들어, 시나리오에서, 블록체인은 제3자 결제 플랫폼 서버, 국내 은행 서버, 해외 은행 서버 및 멤버 디바이스들로서의 역할을 하는 몇몇 사용자 노드 디바이스들로 이루어진 콘소시엄 블록체인일 수 있다. 콘소시엄 블록체인의 운영자는 콘소시엄 블록체인에 기초하여 국경-간 전송 및 자산 전송과 같은 온라인 서비스들을 온라인 배치하기 위해 콘소시엄 블록체인에 의존할 수 있다.
본 명세서에 설명된 트랜잭션(예를 들어, 국경-간 전송 또는 자산 전송 등)은 블록체인의 클라이언트를 사용함으로써 사용자에 의해 생성되고 최종적으로 블록체인의 분산형 데이터베이스에 전송될 필요가 있는 데이터 조각을 표시한다.
블록체인 내의 트랜잭션은 좁은 관점의 트랜잭션 및 넓은 관점의 트랜잭션으로 분류된다. 좁은 관점의 트랜잭션은 사용자에 의해 블록체인에 릴리스된 값 전송을 표시한다. 예를 들어, 종래의 비트코인 블록체인 네트워크에서, 트랜잭션은 블록체인에서 사용자에 의해 개시된 전송일 수 있다. 넓은 관점의 트랜잭션은 사용자에 의한 서비스 의도로 블록체인에 릴리스된 서비스 데이터를 표시한다. 예를 들어, 운영자는 실제 서비스 요건에 기초하여 콘소시엄 블록체인을 생성하고, 콘소시엄 블록체인에 기초하여 값 전송과 무관한 다른 유형들의 온라인 서비스들(예를 들어, 주택 임대 서비스, 차량 스케줄링 서비스, 보험 지급 서비스, 신용 서비스 및 의료 서비스)을 배치할 수 있다. 이러한 유형의 콘소시엄 블록체인에서, 트랜잭션은 콘소시엄 블록체인에서 사용자에 의한 서비스 의도로 릴리스된 서비스 메시지 또는 서비스 요청일 수 있다.
타겟 트랜잭션은, 후보 블록에 패킹되고 기록될 필요가 있고, 다른 멤버 노드 디바이스들에 의해 릴리스된 성공적으로 검증된 합법적 트랜잭션들로부터 블록체인 내의 원장 노드로서의 역할을 하는 노드 디바이스에 의해 선택되는 후보 트랜잭션이다.
트랜잭션 유효 기간은 블록체인에 전송되는 트랜잭션들에 대해 블록체인의 운영자에 의해 균일하게 설정되는 유효 기간이다. 유효 기간 내의 트랜잭션은 유효 트랜잭션들로서 사용되고 후보 블록에 추가될 수 있는 합법적 트랜잭션들로서 간주되며; 그렇지 않고 유효 기간을 넘은 트랜잭션들은 후보 블록에 추가될 수 없는 무효 트랜잭션들로서 간주된다.
트랜잭션 유효 기간은, 블록체인 내의 원장 노드 디바이스가 현재 회계 기간 내에서 후보 블록을 생성하는 생성 순간에 기초하여 설정되는 시간 구간일 수 있다. 예를 들어, 트랜잭션 유효 기간은 후보 블록의 생성 순간 이전의 시간 기간 또는 후보 블록 블록의 생성 순간 이후의 시간 기간일 수 있다. 블록체인 내의 다른 노드 디바이스들에 의해 릴리스되는 많은 수의 트랜잭션들을 획득할 때, 원장 노드는 트랜잭션 유효 기간에 기초하여, 합법적 트랜잭션들로서 사용되고 생성된 후보 블록에 추가될 수 있는 트랜잭션들을 결정할 수 있다.
기준 시간 파라미터는, 트랜잭션에 추가되고 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션인지 여부를 결정하기 위해 사용되는 시간 파라미터일 수 있다. 수집된 트랜잭션들에 대한 검증을 수행할 때, 트랜잭션에서 운반되는 기준 시간 파라미터에 의해 표시되는 순간을 참조하여, 블록체인 내의 원장 노드는 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션인지 여부를 결정할 수 있다.
기준 시간 파라미터는 물리적 클럭일 수 있거나 논리적 클럭일 수 있다.
물리적 클럭은 시스템으로부터 또는 제3자 클럭 서버로부터 판독되는 시스템 시간 스탬프이다. 논리적 클럭은 논리적 시간 스탬프이다. 분산형 시스템에서, 이벤트들(예를 들어, 트랜잭션들)의 발생 순서를 표시할 수 있는 자동으로 증가하는 값이 논리적 클럭으로서 사용될 수 있다.
구현에서, 기준 시간 파라미터가 물리적 클럭인 예에서, 기준 시간 파라미터는 트랜잭션에 추가되는 기준 시간 스탬프일 수 있다. 대응적으로, 이러한 경우에, 트랜잭션 유효 기간은 제1 값과 제2 값 사이의 수치 구간일 수 있고, 제1 값은 후보 블록의 생성 순간에 대응하는 생성 시간 스탬프와 제1 문턱치 사이의 차이일 수 있고, 제2 값은 후보 블록의 생성 시간 스탬프와 제2 문턱치의 합일 수 있다.
예를 들어, 후보 블록의 생성 시간 스탬프는 Bts로 표기되고, 제1 문턱치는 K1로 표기되고, 제2 문턱치는 K2로 표기되는 것으로 가정된다. 이어서, 트랜잭션 유효 기간은 수치 구간 [Bts - K1, Bts + K2]를 사용함으로써 표시될 수 있다.
제1 문턱치는 트랜잭션 유효 기간이 설정될 때 예비된 트랜잭션 유효 기간을 표시한다. 제2 문턱치는 트랜잭션을 릴리스하는 노드 디바이스의 시스템 시간 스탬프와 후보 블록을 생성하는 노드 디바이스의 시스템 시간 스탬프 사이의 클럭 오프셋을 표시한다. 통상적으로, 블록체인 네트워크에서 허용되는 클럭 오프셋은 실제 애플리케이션들에서는 비교적 작다. 이를 고려하여, 트랜잭션 유효 기간이 설정될 때, 제2 문턱치는 크기 측면에서 제1 문턱치보다 작은 문턱치로 설정될 수 있다.
예를 들어, 제1 문턱치는 5일로 설정될 수 있고, 제2 문턱치는 5분으로 설정될 수 있다. 이러한 경우, 후보 블록을 생성하는 순간 이전의 5일 내에 릴리스된 트랜잭션 및 후보 블록을 생성하는 순간 이후 5분 이내에 릴리스된 트랜잭션 둘 모두는 트랜잭션 유효 기간 내에서 유효 트랜잭션들이다.
기준 시간 스탬프는 사용자가 클라이언트를 사용함으로써 트랜잭션을 생성할 때 사용자에 의해 수동으로 특정될 수 있거나 클라이언트에 의해 자동으로 추가될 수 있음울 유의할 가치가 있다.
예를 들어, 사용자가 클라이언트를 사용함으로써 트랜잭션을 생성하는 경우에, 클라이언트는 시스템으로부터 트랜잭션의 생성 순간을 판독하고, 이어서 생성 순간에 대응하는 시간 스탬프를 기준 시간 스탬프로서 사용하고, 시간 스탬프를 생성된 트랜잭션에 자동으로 추가할 수 있다. 다른 경우에, 사용자는 요건에 기초하여 트랜잭션 유효 기간 내에서 소정 순간을 특정하고, 이어서 그 순간에 대응하는 시간 스탬프를 기준 시간 스탬프로서 사용하고, 시간 스탬프를 생성된 트랜잭션에 수동으로 추가할 수 있다.
명백하게, 트랜잭션 유효 기간이 설정될 때, 실제 애플리케이션들에서, 트랜잭션을 릴리스하는 노드 디바이스의 시스템 시간 스탬프와 후보 블록을 생성하는 노드 디바이스의 시스템 시간 스탬프 사이의 클럭 오프셋은 고려되지 않을 수 있다. 이러한 경우에, 트랜잭션 유효 기간은 후보 블록의 생성 순간에 대응하는 생성 시간 스탬프와 제1 문턱치 사이의 차이를 표현하는 제1 값과 후보 블록의 생성 시간 스탬프 사이의 수치 구간일 수 있다.
예를 들어, 후보 블록의 생성 시간 스탬프는 Bts로 표기되고, 제1 문턱치는 K1로 표기되는 것으로 여전히 가정된다.이어서, 트랜잭션 유효 기간은 수치 구간 [Bts - K1, Bts]를 사용함으로써 표시될 수 있다.
다른 구현에서, 기준 시간 파라미터가 논리적 클럭인 예에서, 블록체인 내의 블록의 블록 높이는 블록체인에 대응하는 P2P 네트워크 내의 논리적 클럭으로서 사용될 수 있다. 이러한 경우, 기준 시간 파라미터는 트랜잭션에 추가되는 기준 블록 높이 값일 수 있다. 트랜잭션 유효 기간은 블록체인 내의 후보 블록의 블록 높이 값과, 블록체인 내의 후보 블록의 블록 높이 값과 제3 문턱치 간의 차이(제3 값) 사이의 수치 구간일 수 있다.
예를 들어, 블록체인 내의 후보 블록의 블록 높이 값은 Bh로 표기되고, 제3 문턱치는 K3으로 표기되는 것으로 가정된다. 이어서, 트랜잭션 유효 기간은 수치 구간 [Bh- K3, Bh]를 사용함으로써 표시될 수 있다.
제3 문턱치는 제1 문턱치와 동일한 의미를 가져서, 트랜잭션 유효 기간이 설정될 때 예비된 트랜잭션 유효 기간을 표시한다. 그러나, 블록 높이 값이 트랜잭션 유효 기간을 표시하기 위한 논리적 클럭으로서 사용되는 시나리오에서, 트랜잭션을 릴리스하는 노드 디바이스의 시스템 시간 스탬프와 후보 블록을 생성하는 노드 디바이스의 시스템 시간 스탬프 사이의 클럭 오프셋은 고려되지 않을 수 있다. 따라서, 클럭 오프셋을 표시하는 문턱치는 상기 수치 구간의 상한에 추가되지 않을 수 있다.
기준 블록 높이 값은 사용자가 클라이언트를 사용함으로써 트랜잭션을 생성할 때 사용자에 의해 수동으로 특정될 수 있거나 클라이언트에 의해 자동으로 추가될 수 있음을 유의할 가치가 있다.
예를 들어, 사용자가 클라이언트를 사용함으로써 트랜잭션을 생성하는 경우에, 클라이언트는 시스템으로부터 트랜잭션의 생성 순간을 판독하고, 이어서 생성 순간에 블록체인에서 가장 큰 블록 높이 값을 추가로 질의하고, 가장 큰 블록 높이 값을 생성된 트랜잭션에 자동으로 추가할 수 있다. 다른 경우에, 사용자는 요건에 기초하여 트랜잭션 유효 기간 내에서 블록 높이를 특정하고, 이어서 블록 높이에 대응하는 값을 기준 블록 높이 값으로서 사용하고, 그 값을 생성된 트랜잭션에 수동으로 추가할 수 있다.
명백하게, 블록체인 내의 블록의 블록 높이를 논리적 클럭으로서 사용하는 구현에 추가로, 실제 애플리케이션들에서는 트랜잭션의 발생 순서를 설명하기 위해 사용될 수 있는 다른 유형들의 증가하는 값들이 또한 논리적 클럭들로서 사용될 수 있다. 이러한 값들은 본 명세서에서 하나씩 열거되지 않는다.
본 명세서에서, 클라이언트를 사용함으로써 사용자에 의해 생성되는 트랜잭션은 사용자에 의해 유지되는 비밀 키에 기초하여 서명될 수 있고, 이어서 트랜잭션은 클라이언트에 의해 액세스되는 노드 디바이스를 사용함으로써 블록체인의 P2P 네트워크에서 브로드캐스트 및 릴리스된다. 원장 노드로서의 역할을 하는 노드 디바이스는 다른 노드 디바이스에 의해 브로드캐스트 및 릴리스되는 트랜잭션을 수집하고, 수집된 트랜잭션을 미확인응답된 트랜잭션으로서 사용하고, 수집된 트랜잭션을 로컬 트랜잭션 풀(pool)(메모리 풀로 또한 지칭됨)에 저장할 수 있다.
추가로, 원장 노드로서의 역할을 하는 노드 디바이스는 현재 회계 기간 내에서 후보 블록을 생성하고, 트랜잭션 풀 내의 트랜잭션에 대한 합법적 검증을 수행하고, 합법적 검증을 통과한 트랜잭션을 후보 트랜잭션으로서 사용하고, 그 트랜잭션을 생성된 후보 블록에 기록할 수 있다.
실제 애플리케이션들에서, 트랜잭션 풀 내의 트랜잭션에 대해 검증을 수행하는 것은 트랜잭션의 발행자에 대한 아이덴티티 인증을 트랜잭션 콘텐츠에 대한 체크를 포함할 수 있다. 트랜잭션 콘텐츠에 대한 체크는 트랜잭션 콘텐츠에 대한 무결성 체크를 더 포함할 수 있다.
구현 동안, 트랜잭션이 서명될 때, 일반적으로, 콘텐츠 요약(예를 들어, 해시 값)을 획득하기 위한 계산이 트랜잭션에 대해 수행될 수 있고, 이어서 콘텐츠 요약은 디지털 서명을 획득하기 위해 유지되는 비밀 키에 기초하여 암호화될 수 있다. 서명된 트랜잭션을 수신한 후, 원장 노드로서의 역할을 하는 노드 디바이스는 트랜잭션이 서명될 때 사용된 비밀 키에 기초하여 디바이스 서명을 암호해독할 수 있다. 노드 디바이스가 암호해독에 성공하면, 이는, 트랜잭션을 릴리스한 사용자의 아이덴티티 인증이 성공한 것, 및 트랜잭션이 그 사용자에 의해 릴리스된 합법적 트랜잭션인 것을 표시한다.
또한, 원장 노드로서의 역할을 하는 노드 디바이스는 콘텐츠 요약을 획득하기 위해 트랜잭션에 대한 재계산을 추가로 수행하고, 이어서 재계산된 콘텐츠 요약을, 디바이스 서명을 암호해독함으로써 획득된 원래의 콘텐츠 요약과 매칭시킬 수 있다. 콘텐츠 요약이 원래의 콘텐츠 요약에 매칭하면, 이는, 트랜잭션 콘텐츠에 대한 무결성 체크가 성공한 것, 및 트랜잭션의 트랜잭션 콘텐츠가 트랜잭션 송신 프로세스 동안 불법적으로 위조되지 않은 것을 표시한다.
본 명세서에서, 트랜잭션 풀 내의 트랜잭션들의 발행자에 대한 아이덴티티 인증 및 트랜잭션 콘텐츠에 대한 검증에 추가로, 트랜잭션에서 운반되는 기준 시간 파라미터에 기초하여, 트랜잭션 풀 내의 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션인지 여부가 추가로 검증된다. 발행자에 대한 아이덴티티 인증 및 트랜잭션 콘텐츠에 대한 검증 둘 모두를 통과한 트랜잭션 풀 내의 트랜잭션에 대해, 이러한 유형의 트랜잭션에서 운반되는 기준 시간 파라미터에 기초하여, 트랜잭션 풀 내의 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션인지 여부가 추가로 검증될 수 있다.
나타낸 구현에서, 기준 시간 파라미터는 트랜잭션에 추가되는 기준 시간 스탬프이고 Tts로 표기되며, 트랜잭션 유효 기간은, 후보 블록의 생성 순간에 대응하는 생성 시간 스탬프 Bts와 제1 문턱치 K1 간의 차이와, 후보 블록의 생성 시간 스탬프 Bts와 제2 문턱치 K2의 합 사이의 수치 구간 [Bts - K1, Bts + K2]인 것으로 가정된다.
이러한 경우, 원장 노드로서의 역할을 하는 노드 디바이스는, 생성된 후보 블록의 생성 시간 스탬프 Bts가 블록체인 내의 가장 최근 블록의 생성 시간 스탬프보다 큰지 여부를 체크하기 위해, 생성된 후보 블록의 생성 시간 스탬프에 대한 단조 증가 체크를 먼저 수행할 수 있다. 예이면, 이는, 블록체인 내의 블록의 생성 시간 스탬프가 단조 증가하는 특징을 후보 블록이 충족하는 것, 및 후보 블록이 합법적 블록인 것을 표시한다.
후보 블록이 단조 증가 체크를 통과한 후, 원장 노드로서의 역할을 하는 노드 디바이스는 트랜잭션으로부터 기준 시간 스탬프 Tts를 추가로 판독하고, 판독된 기준 시간 스탬프 Tts를 Bts - K1 및 Bts + K2 각각과 비교할 수 있다. Tts가 Bts - K1보다 크고 Bts + K2보다 작으면, 트랜잭션은 트랜잭션 유효 기간 내에서 유효 트랜잭션으로 결정될 수 있다.
도시된 구현에서, 기준 시간 파라미터는 트랜잭션에 추가된 기준 블록 높이 값이고 Th로 표기되며, 트랜잭션 유효 기간은, 블록체인 내의 후보 블록의 블록 높이 값 Bh와 제3 문턱치 K3 간의 차이와, 블록체인 내의 후보 블록의 블록 높이 값 Bh 사이의 수치 구간 [Bh - K3, Bh]인 것으로 가정된다.
이러한 경우, 원장 노드로서의 역할을 하는 노드 디바이스는, 생성된 후보 블록의 블록 번호가 블록체인 내의 가장 최근 블록의 블록 번호보다 큰지 여부를 체크하기 위해, 생성된 후보 블록의 블록 번호에 대한 단조 증가 체크를 먼저 수행할 수 있다. 예이면, 이는, 블록체인 내의 블록의 블록 번호가 단조 증가하는 특징을 후보 블록이 충족하는 것, 및 후보 블록이 합법적 블록인 것을 표시한다.
후보 블록이 단조 증가 체크를 통과한 후, 원장 노드로서의 역할을 하는 노드 디바이스는 트랜잭션으로부터 기준 블록 높이 값 Th를 추가로 판독하고, 판독된 기준 블록 높이 값 Th를 Bts - K3 및 Bh 각각과 비교할 수 있다. Th가 Bh - K3보다 크고 Bh보다 작으면, 트랜잭션은 트랜잭션 유효 기간 내에서 유효 트랜잭션으로 결정될 수 있다.
본 명세서에서, 발행자에 대한 아이덴티티 인증 및 트랜잭션 풀 내의 트랜잭션 콘텐츠에 대한 검증을 통과한 트랜잭션 및 트랜잭션에 대한 합법적 검증을 통과한 트랜잭션은 후보 트랜잭션들로서 사용되고 이어서 생성된 후보 블록에 패킹 및 기록될 수 있다.
예를 들어, 원장 노드로서의 역할을 하는 노드 디바이스는 후보 트랜잭션들로서, 합법적 검증을 통과한 모든 트랜잭션들을 사용하고, 이러한 트랜잭션들을 후보 블록에 기록할 수 있거나; 또는 특정 원리에 기초한(예를 들어, 트랜잭션의 우선순위에 기초한) 후보 트랜잭션들로서, 합법적 검증을 통과한 모든 트랜잭션들로부터 일부 트랜잭션들을 선택하고 이러한 트랜잭션들을 후보 블록에 기록할 수 있다.
이 방법에서, 오직 트랜잭션 유효 기간 내에서 유효한 트랜잭션만이 합법적 트랜잭션으로서 사용되고 후보 블록에 기록될 수 있는 한편, 오래 전에 만료된 트랜잭션은 후속 트랜잭션 실행을 위한 후보 블록에 기록될 수 없어서, 블록체인 내의 불법적 노드 디바이스는, 불법적 노드 디바이스에 의해 오래 전에 인터셉트된 만료된 트랜잭션을 사용함으로써 블록체인 상에서 리플레이 공격을 개시하는 것이 방지되어, 블록체인의 트랜잭션 보안 레벨을 개선할 수 있다.
본 명세서에서, 원장 노드로서의 역할을 하는 노드 디바이스의 트랜잭션 실행 환경은 멀티-인스턴스 실행 환경일 수 있다(예를 들어, 동일한 트랜잭션 클라이언트가 트랜잭션을 동시에 개시할 수 있는 복수의 스레드들을 가능하게 한다). 멀티-인스턴스 실행 환경에서, 동일한 트랜잭션은 동일한 노드 디바이스의 상이한 인스턴스들에 의해 반복적으로 제출될 수 있다. 결국, 블록체인에서 트랜잭션 실행 동안 "멱등" 문제가 존재할 수 있다. "멱등" 문제는 동일한 트랜잭션이 반복적으로 실행된 후 사용자에게 부정적 영향이 초래되는 것을 의미한다.
예를 들어, 비트코인 네트워크에서 "이중 지출"(이중 지출) 문제가 통상적인 "멱등" 문제이다. 사용자의 비밀 키를 사용함으로써 서명된 전송 트랜잭션이 불법적인 노드에 의해 인터셉트된다. 트랜잭션이 실행된 후, 불법적인 노드는 인터셉트된 트랜잭션에 기초하여 리플레이 공격을 개시하고 블록체인에서 트랜잭션을 반복적으로 실행할 수 있다. 그 결과, 동일한 자금 전송이 여러번 실행되어 사용자에게 자금 손실을 초래한다.
이를 고려하여, 멀티-인스턴스 실행 환경에서 트랜잭션의 반복된 실행을 감소시키기 위해, 블록체인에서 원장 노드들로서의 역할을 하는 노드 디바이스들은 트랜잭션 멱등 표를 공동으로 유지할 수 있다. 예를 들어, 원장 노드들로서의 역할을 하는 노드 디바이스들은, 블록체인의 기존의 합의 메커니즘을 사용함으로써, 합의 절차 이후 획득된 트랜잭션 멱등 표를 공동으로 유지할 수 있다.
트랜잭션 멱등 표는 트랜잭션 유효 기간 내에서 유효 트랜잭션들을 기록하는 블록체인 내의 분산형 데이터의 저장 기록(즉, 블록 기록)에 기초하여 생성된 인덱스 기록 표이고, 블록체인의 분산형 데이터베이스에 성공적으로 기록된 모든 유효 트랜잭션들에 대응하는 트랜잭션 멱등 기록들을 저장하기 위해 사용된다.
즉, 트랜잭션 멱등 표에 저장된 트랜잭션 멱등 기록은 트랜잭션 멱등 기록에 대응하는 트랜잭션이 후보 블록에 성공적으로 패킹된 것을 표시하기 위해 사용되고, 후보 블록에 대한 합의에 도달된 후, 후보 블록은 최종적으로 블록체인에서 가장 최근 블록으로서 사용되고 블록체인 내의 분산형 데이터베이스(즉, 분산형 원장)에 성공적으로 추가될 수 있다.
유효 트랜잭션을 후보 블록에 기록하기 전에, 원장 노드로서의 역할을 하는 노드 디바이스는, 트랜잭션이 블록체인의 분산형 데이터베이스에 성공적으로 기록된 복제 트랜잭션인지 여부를 결정하기 위해, 트랜잭션 멱등 표에 기초하여 트랜잭션에 대한 멱등 체크를 추가로 수행할 수 있다.
나타낸 구현에서, 전술된 기준 시간 파라미터에 추가로, 클라이언트를 사용함으로써 사용자에 의해 생성된 트랜잭션은 트랜잭션에 대해 클라이언트에 의해 생성된 고유의 식별자를 추가로 운반할 수 있다.
예를 들어, 실제 애플리케이션들에서, 블록체인 내의 노드 디바이스는 복수의 인스턴스들을 갖도록 구성된 노드 디바이스일 수 있고, 각각의 인스턴스는 고유의 인스턴스 ID를 갖는다. 이러한 경우, 트랜잭션 직렬 번호는 인스턴스 ID 및 생성된 난수를 포함하는 고유의 트랜잭션 직렬 번호일 수 있다.
다른 예를 들어, 블록체인 내의 노드 디바이스가 복수의 디바이스들을 포함하는 분산형 디바이스이면, 각각의 디바이스는 고유의 디바이스 식별자(예를 들어, 디바이스 ID 또는 디바이스의 IP 어드레스)를 갖는다. 이러한 경우, 트랜잭션 직렬 번호는 디바이스 식별자 및 생성된 난수를 포함하는 고유의 트랜잭션 직렬 번호일 수 있다.
수집된 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션이라고 결정한 후, 원장 노드로서의 역할을 하는 노드 디바이스는 트랜잭션의 고유의 식별자에 대응하는 트랜잭션 멱등 기록이 트랜잭션 멱등 표에 저장되는지 여부를 추가로 질의할 수 있다.
트랜잭션의 고유의 식별자에 대응하는 트랜잭션 멱등 기록이 트랜잭션 멱등 표에 저장되면, 이는, 트랜잭션이 이전에 블록체인의 분산형 데이터베이스에 성공적으로 기록되었고, 트랜잭션이 반복적으로 개시된 트랜잭션인 것을 표시한다. 이러한 경우, 트랜잭션은 바로 폐기될 수 있다.
그러나, 트랜잭션의 고유의 식별자에 대응하는 트랜잭션 멱등 기록이 트랜잭션 멱등 표에 저장되지 않으면, 이는, 트랜잭션이 이전에 블록체인의 분산형 데이터베이스에 성공적으로 기록되지 않은 것을 표시한다. 이러한 경우, 노드 디바이스는 트랜잭션을 후보 블록에 기록할 수 있다.
본 명세서에서, 후보 블록이 생성된 후, 원장 노드로서의 역할을 하는 노드 디바이스는 블록체인에서 생성된 후보 블록을 추가로 브로드캐스트 및 릴리스하고, 회계 허용을 위해 "경합"하기 위해, 블록체인에 의해 지원되는 합의 알고리즘에 기초하여 블록체인 내의 후보 블록에 기록된 트랜잭션에 대한 합의 프로세싱을 개시할 수 있다.
블록체인에서 지원되는 합의 알고리즘의 유형은 본 명세서에서 제한되지 않는다. 실제 애플리케이션들에서, 합의 알고리즘은 작업 증명(proof of work; PoW)과 같은 표준 합의 알고리즘 및 PBFT 알고리즘일 수 있거나, 또는 실제 서비스 요건에 기초하여 블록체인의 운영자에 의해 맞춤화될 수 있다.
후보 블록에 대한 합의에 도달되고 원장 노드로서의 역할을 하는 노드 디바이스가 회계 허용을 획득한 후, 후보 블록은 블록체인에서 가장 최근 블록으로서 사용되고 블록체인의 분산형 데이터베이스(즉, 분산형 원장)에 추가될 수 있다. 이러한 경우, 후보 블록은 블록체인 내의 블록으로서 사용되고 블록체인에 영구적으로 저장된다.
또한, 노드 디바이스의 트랜잭션 실행 환경에서, 노드 디바이스는 트랜잭션에서 운반되는 트랜잭션 콘텐츠에 기초하여, 합의를 획득하고 후보 블록에 저장되는 트랜잭션의 실행을 트리거할 수 있다. 예를 들어, 이러한 트랜잭션들은 블록체인에 전송된 스마트 계약에 대한 입력들로서 사용될 수 있다. 스마트 계약의 청구 시에 트랜잭션 실행 프로그램 코드(예를 들어, 트랜잭션과 관련된 일부 기능 호출들)는 노드 디바이스의 트랜잭션 실행 환경에서 트랜잭션의 실행을 완료하기 위해 실행된다.
나타낸 구현에서, 타겟 트랜잭션은 후보 블록에 성공적으로 기록되고, 후보 블록 상에서 합의에 도달된 후, 후보 블록은 최종적으로 블록체인 내의 가장 최근 블록으로서 사용되고 블록체인의 분산형 데이터베이스에 성공적으로 저장될 수 있다. 이러한 경우, 타겟 트랜잭션은 블록체인의 분산형 데이터베이스에 성공적으로 저장되었다(즉, 트랜잭션은 성공적으로 체인화된다) 타겟 트랜잭션의 고유의 식별자에 대응하는 트랜잭션 멱등 기록이 추가로 생성될 수 있고, 트랜잭션 멱등 기록은 트랜잭션 멱등 표에 삽입된다.
트랜잭션 멱등 기록의 포맷은 본 명세서에서 제한되지 않는다. 예를 들어, 방법에서, 트랜잭션 멱등 기록은 트랜잭션의 고유의 식별자를 포함하는 데이터 기록일 수 있다. 대안적으로, 다른 방법에서, 트랜잭션의 고유의 식별자는 트랜잭션 멱등 기록으로서 직접 사용되고 트랜잭션 멱등 표에 삽입될 수 있다.
이 방법에서, 트랜잭션 멱등 표 내의 트랜잭션 멱등 기록들은 오직 트랜잭션 유효 기간 내의 모든 "유효 트랜잭션들"의 트랜잭션 멱등 기록들만을 커버하기 때문에 트랜잭션 유효 기간 이전의 트랜잭션들의 이력의 트랜잭션 멱등 기록들을 커버할 필요가 없다. 따라서, 트랜잭션 멱등 표는 과도하게 큰 저장 공간을 소비하지 않고, 트랜잭션 멱등 표에 의해 소비되는 과도하게 큰 저장 공간 때문에 초래되는 질의 성능 문제가 존재하지 않는다.
예를 들어, 원장 노드로서 사용될 수 있는 임의의 노드 디바이스에 대해, 트랜잭션 멱등 표가 비교적 작은 저장 공간을 점유하기 때문에, 트랜잭션 멱등 표는 제3자 저장 디스크를 사용함으로써 저장되는 대신에, 디바이스의 메모리에 직접 로딩되고 유지될 수 있다. 트랜잭션 멱등 표에 대한 질의 동작은 메모리에서 직접 수행되어 질의 성능을 크게 개선할 수 있다.
또한, 모든 유효 트랜잭션들에 대해, 오직 트랜잭션 멱등 표에서 트랜잭션 멱등 기록들을 갖지 않는 그러한 트랜잭션들만이 후보 블록에 성공적으로 기록될 수 있다. 따라서, 블록체인에서 트랜잭션 실행 동안 "멱등" 문제가 완화될 수 있고, 트랜잭션 유효 기간 내에서 인터셉트된 유효 트랜잭션을 사용함으로써 일부 불법적인 노드들에 의해 개시되는 재생 공격이 효과적으로 방지되어 동일한 유효 트랜잭션의 반복된 실행을 감소시킬 수 있다.
또한, 복수의 인스턴스들이 블록체인 내의 노드 디바이스에 대해 구성되거나 노드 디바이스가 분산형 디바이스인 시나리오에서, 동일한 트랜잭션의 반복된 실행에 대한 하기 문제가 또한 효과적으로 완화될 수 있다: 동일한 유효 트랜잭션이 상이한 인스턴스들, 또는 분산형 디바이스 내의 상이한 서브-디바이스들에 의해 동시에 릴리스된다.
본 명세서에서, 트랜잭션 멱등 표는 트랜잭션 유효 기간 내에서 "유효 트랜잭션"에 대응하는 트랜잭션 멱등 기록을 유지하기 위해 사용되고, 실제 애플리케이션들에서, 트랜잭션 멱등 표를 공동으로 유지하는 멤버 노드 디바이스들은 트랜잭션 멱등 표로부터 트랜잭션 유효 기간을 넘은 트랜잭션의 트랜잭션 멱등 기록을 삭제하기 위해, 삭제 프로세싱을 주기적으로 수행할 수 있다.
예를 들어, 트랜잭션 유효 기간은 현재 회계 기간에서 블록체인 내의 원장 노드 디바이스에 의해 생성된 후보 블록의 생성 순간에 기초하여 설정된 시간 구간이다. 후보 블록이 주기적으로 생성되기 때문에, 트랜잭션 유효 기간은 또한 주기적 동적 시간 기간이다. 이러한 경우, 다음 회계 기간에 새로운 후보 블록을 생성할 때, 노드 디바이스는 트랜잭션 유효 기간을 재결정하고, 이어서 재결정된 트랜잭션 유효 기간을 넘은 트랜잭션의 트랜잭션 멱등 기록에 대한 트랜잭션 멱등 표를 능동적으로 탐색할 수 있다. 예를 들어, 트랜잭션이 재결정된 트랜잭션 유효 기간을 넘어서는지 여부는 여전히 트랜잭션 내의 기준 시간 파라미터에 기초하여 결정될 수 있다. 구체적인 구현 프로세스는 여기서 생략된다.
추가로, 이러한 발견된 트랜잭션 멱등 기록들은 삭제되어 트랜잭션 멱등 표에서 유지되는 트랜잭션 멱등 기록들을 동적으로 업데이트 및 유지할 수 있다. 이는, 트랜잭션 멱등 표 내의 트랜잭션 멱등 기록들 모두가 현재 트랜잭션 유효 기간 내의 유효 트랜잭션들에 대응하는 모든 트랜잭션 멱등 기록들인 것을 보장한다.
본 출원은 상기 방법 구현에 대응하는 블록체인 기반 트랜잭션 프로세싱 장치 구현을 추가로 제공한다. 본 명세서에서 블록체인 기반 트랜잭션 프로세싱 장치의 구현들은 전자 디바이스에 적용될 수 있다. 장치 구현은 소프트웨어, 하드웨어 또는 하드웨어와 소프트웨어의 조합에 의해 구현될 수 있다. 소프트웨어 구현이 예로서 사용된다. 논리적 장치로서, 장치는 장치가 위치된 전자 디바이스의 프로세서에 의해 비휘발성 메모리 내의 대응하는 컴퓨터 프로그램 명령을 메모리로 판독함으로써 형성된다. 하드웨어 관점에서, 도 2는, 본 명세서에 따른 블록체인 기반 트랜잭션 프로세싱 장치가 위치되는 전자 디바이스를 예시하는 하드웨어 구조도이다. 도 2에 도시된 프로세서, 메모리, 네트워크 인터페이스 및 비휘발성 메모리에 추가로, 본 구현에서 장치가 위치되는 전자 디바이스는 통상적으로 전자 디바이스의 실제 기능에 기초하여 다른 하드웨어를 포함할 수 있다. 세부사항들은 단순화를 위해 여기에서 생략된다.
도 3은 본 명세서의 예시적인 구현에 따른 블록체인 기반 트랜잭션 프로세싱 장치를 예시하는 블록도이다.
도 3을 참조하면, 블록체인 기반 트랜잭션 프로세싱 장치(30)는 도 2에 도시된 전자 디바이스에 적용될 수 있고, 수신 모듈(301), 결정 모듈(302) 및 기록 모듈(303)을 포함한다.
수신 모듈(301)은 블록체인 내의 멤버 노드 디바이스에 의해 개시된 타겟 트랜잭션을 수신하도록 구성되고, 타겟 트랜잭션은 기준 시간 파라미터를 포함하고, 기준 시간 파라미터는 타겟 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션인지 여부를 결정하기 위해 사용된다.
결정 모듈(302)은 기준 시간 파라미터에 기초하여, 타겟 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션인지 여부를 결정하도록 구성된다.
기록 모듈(303)은 타겟 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션이라고 결정되면, 타겟 트랜잭션을 생성된 후보 블록에 기록하도록 구성된다.
본 구현에서, 기준 시간 파라미터는 타겟 트랜잭션이 생성될 때 생성된 기준 시간 스탬프이고, 트랜잭션 유효 기간은 제1 값과 제2 값 사이의 수치 구간에 대응하고, 제1 값은 후보 블록의 생성 시간 스탬프와 제1 문턱치 사이의 차이이고, 제2 값은 후보 블록의 생성 시간 스탬프와 제2 문턱치의 합이고; 결정 모듈(302)은 기준 시간 스탬프를 제1 값 및 제2 값 각각과 비교하고; 기준 시간 스탬프가 제1 값보다 크고 제2 값보다 작으면, 타겟 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션이라고 결정하도록 구성된다.
본 구현에서, 결정 모듈(302)은, 기준 시간 스탬프를 제1 값 및 제2 값 각각과 비교하기 전에, , 후보 블록의 생성 시간 스탬프가 블록체인 내의 가장 최근 블록의 생성 시간 스탬프보다 큰지 여부를 체크하고; 예이면, 기준 시간 스탬프를 제1 값 및 제2 값 각각과 추가로 비교하도록 추가로 구성된다.
본 구현에서, 기준 시간 스탬프는 타겟 트랜잭션이 생성될 때의 시스템 시간 스탬프 또는 트랜잭션 생성자에 의해 특정된 기준 시간 스탬프이다.
본 구현에서, 제1 문턱치는 제2 문턱치보다 크다.
본 구현에서, 기준 시간 파라미터는 타겟 트랜잭션이 생성될 때 생성된 기준 블록 높이 값이고, 트랜잭션 유효 기간은 제3 값과 블록체인 내의 후보 블록의 블록 높이 값 사이의 수치 구간에 대응하고, 제3 값은 블록체인 내의 후보 블록의 블록 높이 값과 제3 문턱치 사이의 차이이고; 결정 모듈(302)은, 기준 블록 높이 값을 블록체인 내의 후보 블록의 블록 높이 값 및 제3 값 각각과 비교하고; 기준 블록 높이 값이 제3 값보다 크고 블록체인 내의 후보 블록의 블록 높이 값보다 작으면, 타겟 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션이라고 결정하도록 구성된다.
본 구현에서, 결정 모듈(302)은, 기준 블록 높이 값을 블록체인 내의 후보 블록의 블록 높이 값 및 제3 값 각각과 비교하기 전에, 후보 블록의 블록 번호가 블록체인 내의 가장 최근 블록의 블록 번호보다 큰지 여부를 체크하고; 예이면, 기준 블록 높이 값을 블록체인 내의 후보 블록의 블록 높이 값 및 제3 값 각각과 비교하도록 추가로 구성된다.
본 구현에서, 기준 블록 높이 값은 타겟 트랜잭션이 생성될 때 블록체인 내의 가장 큰 블록 높이 값 또는 트랜잭션 생성자에 의해 특정된 기준 블록 높이 값이다.
본 구현에서, 타겟 트랜잭션은 타겟 트랜잭션의 고유의 식별자를 더 포함하고; 기록 모듈(303)은, 타겟 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션이라고 결정되면, 타겟 트랜잭션의 고유의 식별자에 대응하는 트랜잭션 멱등 기록이 미리 결정된 트랜잭션 멱등 표에 저장되는지 여부를 질의하고 - 트랜잭션 멱등 표는 트랜잭션 유효 기간 내에서 유효 트랜잭션에 대응하는 트랜잭션 멱등 기록을 저장하기 위해 사용됨 -; 타겟 트랜잭션의 고유의 식별자에 대응하는 트랜잭션 멱등 기록이 미리 결정된 트랜잭션 멱등 표에 저장되지 않으면, 타겟 트랜잭션을 후보 블록에 기록하도록 추가로 구성된다.
본 구현에서, 트랜잭션 멱등 기록은, 트랜잭션 멱등 기록에 대응하는 트랜잭션이 블록체인의 분산형 데이터베이스에 성공적으로 기록되었음을 표시하고; 기록 모듈(303)은, 타겟 트랜잭션이 후보 블록에 기록되면, 후보 블록 상에서 합의에 도달된 후, 후보 블록이 블록체인의 분산형 데이터베이스에 성공적으로 저장되고, 타겟 트랜잭션의 고유의 식별자에 대응하는 트랜잭션 멱등 기록을 생성하고, 트랜잭션 멱등 기록을 트랜잭션 멱등 표에 삽입하도록 추가로 구성된다.
본 구현에서, 기록 모듈(303)은, 트랜잭션 멱등 표에서 트랜잭션 유효 기간을 넘은 트랜잭션의 트랜잭션 멱등 기록을 주기적으로 삭제하도록 추가로 구성된다.
장치에서 모듈들의 기능들 및 역할들의 구현 프로세스에 대해, 상기 방법에서의 대응하는 단계의 구현 프로세스가 참조될 수 있다. 세부사항들은 단순화를 위해 여기에서 생략된다.
장치 구현은 기본적으로 방법 구현에 대응한다. 관련 부분들의 경우, 방법 구현의 관련 설명들이 참조될 수 있다. 전술된 장치 구현은 단지 예이다. 별개의 컴포넌트들로 설명된 모듈들은 물리적으로 별개일 수 있거나 아닐 수 있고, 모듈들로 디스플레이된 컴포넌트들은 물리적 모듈들일 수 있거나 아닐 수 있는데, 즉, 컴포넌트들은 하나의 위치에 위치될 수 있거나, 또는 복수의 네트워크 모듈들 상에 분산될 수 있다. 모듈들 중 일부 또는 전부는 본 명세서의 솔루션들의 목적들을 달성하기 위한 실제 요건들에 기초하여 선택될 수 있다. 당업자는 창작적 노력 없이 본 명세서의 솔루션들을 이해하고 구현할 수 있다.
상기 구현들에서 예시된 시스템, 장치 또는 모듈은 컴퓨터 칩 또는 엔티티를 사용함으로써 구현될 수 있거나 또는 특정 기능을 갖는 제품을 사용함으로써 구현될 수 있다. 통상적인 구현 디바이스는 컴퓨터이다. 컴퓨터는 개인용 컴퓨터, 랩탑 컴퓨터, 셀룰러 폰, 카메라 폰, 스마트 폰, 개인 휴대 정보 단말, 미디어 플레이어, 네비게이션 디바이스, 이메일 수신 및 전송 디바이스, 게임 콘솔, 태블릿 컴퓨터, 웨어러블 디바이스, 또는 이러한 디바이스들의 임의의 조합일 수 있다.
본 출원은 상기 방법 구현에 대응하는 전자 디바이스 구현을 추가로 제공한다. 전자 디바이스는 프로세서 및 머신 실행가능 명령을 저장하도록 구성된 메모리를 포함한다. 프로세서 및 메모리는 일반적으로 내부 버스를 사용함으로써 서로 연결된다. 다른 가능한 구현에서, 디바이스는 다른 디바이스 또는 컴포넌트와 통신하기 위해 외부 인터페이스를 더 포함할 수 있다.
본 구현에서, 프로세서는, 블록체인 내의 멤버 노드 디바이스에 의해 개시된 타겟 트랜잭션을 수신하고 - 타겟 트랜잭션은 기준 시간 파라미터를 포함하고, 기준 시간 파라미터는 타겟 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션인지 여부를 결정하기 위해 사용됨 -; 기준 시간 파라미터에 기초하여, 타겟 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션인지 여부를 결정하고; 타겟 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션이라고 결정되면, 타겟 트랜잭션을 생성된 후보 블록에 기록하기 위해, 메모리에 저장되고 블록체인 기반 트랜잭션 프로세싱 제어 로직에 대응하는 머신 실행가능 명령을 판독 및 실행한다.
본 구현에서, 기준 시간 파라미터는 타겟 트랜잭션이 생성될 때 생성된 기준 시간 스탬프이고, 트랜잭션 유효 기간은 제1 값과 제2 값 사이의 수치 구간에 대응하고, 제1 값은 후보 블록의 생성 시간 스탬프와 제1 문턱치 사이의 차이이고, 제2 값은 후보 블록의 생성 시간 스탬프와 제2 문턱치의 합이고; 프로세서는, 기준 시간 스탬프를 제1 값 및 제2 값 각각과 비교하고; 기준 시간 스탬프가 제1 값보다 크고 제2 값보다 작으면, 타겟 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션이라고 결정하기 위해, 메모리에 저장되고 블록체인 기반 트랜잭션 프로세싱 제어 로직에 대응하는 머신 실행가능 명령을 판독 및 실행한다.
본 구현에서, 프로세서는, 기준 시간 스탬프를 제1 값 및 제2 값 각각과 비교하기 전에, 후보 블록의 생성 시간 스탬프가 블록체인 내의 가장 최근 블록의 생성 시간 스탬프보다 큰지 여부를 체크하고; 예이면, 기준 시간 스탬프를 제1 값 및 제2 값 각각과 추가로 비교하기 위해, 메모리에 저장되고 블록체인 기반 트랜잭션 프로세싱 제어 로직에 대응하는 머신 실행가능 명령을 판독 및 실행한다.
본 구현에서, 기준 시간 파라미터는 타겟 트랜잭션이 생성될 때 생성된 기준 블록 높이 값이고, 트랜잭션 유효 기간은 제3 값과 블록체인 내의 후보 블록의 블록 높이 값 사이의 수치 구간에 대응하고, 제3 값은 블록체인 내의 후보 블록의 블록 높이 값과 제3 문턱치 사이의 차이이고; 프로세서는, 기준 블록 높이 값을 블록체인 내의 후보 블록의 블록 높이 값 및 제3 값 각각과 비교하고; 기준 블록 높이 값이 제3 값보다 크고 블록체인 내의 후보 블록의 블록 높이 값보다 작으면, 타겟 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션이라고 결정하기 위해, 메모리에 저장되고 블록체인 기반 트랜잭션 프로세싱 제어 로직에 대응하는 머신 실행가능 명령을 판독 및 실행한다.
본 구현에서, 프로세서는, 기준 블록 높이 값을 블록체인 내의 후보 블록의 블록 높이 값 및 제3 값 각각과 비교하기 전에, 후보 블록의 블록 번호가 블록체인 내의 가장 최근 블록의 블록 번호보다 큰지 여부를 체크하고; 예이면, 기준 블록 높이 값을 블록체인 내의 후보 블록의 블록 높이 값 및 제3 값 각각과 비교하기 위해, 메모리에 저장되고 블록체인 기반 트랜잭션 프로세싱 제어 로직에 대응하는 머신 실행가능 명령을 판독 및 실행한다.
본 구현에서, 타겟 트랜잭션은 타겟 트랜잭션의 고유의 식별자를 더 포함하고; 프로세서는, 타겟 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션이라고 결정되면, 타겟 트랜잭션의 고유의 식별자에 대응하는 트랜잭션 멱등 기록이 미리 결정된 트랜잭션 멱등 표에 저장되는지 여부를 질의하고 - 트랜잭션 멱등 표는 트랜잭션 유효 기간 내에서 유효 트랜잭션에 대응하는 트랜잭션 멱등 기록을 저장하기 위해 사용됨 -; 타겟 트랜잭션의 고유의 식별자에 대응하는 트랜잭션 멱등 기록이 미리 결정된 트랜잭션 멱등 표에 저장되지 않으면, 타겟 트랜잭션을 후보 블록에 기록하기 위해, 메모리에 저장되고 블록체인 기반 트랜잭션 프로세싱 제어 로직에 대응하는 머신 실행가능 명령을 판독 및 실행한다.
본 구현에서, 트랜잭션 멱등 기록은, 트랜잭션 멱등 기록에 대응하는 트랜잭션이 블록체인의 분산형 데이터베이스에 성공적으로 기록되었음을 표시하고; 프로세서는, 타겟 트랜잭션이 후보 블록에 기록되면, 후보 블록 상에서 합의에 도달된 후, 후보 블록이 블록체인의 분산형 데이터베이스에 성공적으로 저장되고, 타겟 트랜잭션의 고유의 식별자에 대응하는 트랜잭션 멱등 기록을 생성하고, 트랜잭션 멱등 기록을 트랜잭션 멱등 표에 삽입하기 위해, 메모리에 저장되고 블록체인 기반 트랜잭션 프로세싱 제어 로직에 대응하는 머신 실행가능 명령을 판독 및 실행한다.
본 구현에서, 프로세서는, 트랜잭션 멱등 표에서 트랜잭션 유효 기간을 넘은 트랜잭션의 트랜잭션 멱등 기록을 주기적으로 삭제하기 위해, 메모리에 저장되고 블록체인 기반 트랜잭션 프로세싱 제어 로직에 대응하는 머신 실행가능 명령을 판독 및 실행한다.
당업자는 본 명세서를 생각하고 본 개시를 실시한 후에 본 명세서의 다른 구현을 쉽게 이해할 수 있다. 본 명세서는 본 명세서의 임의의 변형들, 사용들 또는 적응들을 커버하도록 의도된다. 이러한 변형들, 사용들 또는 적응들은 본 명세서의 일반적인 원리들을 따르고 본 명세서의 기술적 분야에 개시되지 않은 통상적인 지식 또는 종래의 기술들을 포함한다. 본 명세서 및 구현들은 단지 예들로서 고려된다. 본 명세서의 실제 범위 및 사상은 하기 청구항들에 의해 적시된다.
본 명세서는 위에서 설명되고 도면들에 도시된 정확한 구조들로 제한되지 않으며, 본 명세서의 범위를 벗어나지 않고 다양한 수정들 및 변화들이 이루어질 수 있음을 이해해야 한다. 본 명세서의 범위는 단지 첨부된 청구항들에 의해서만 제한된다.
상기 설명들은 단지 본 명세서의 바람직한 구현들의 예들이며, 본 명세서를 제한하도록 의도되지 않는다. 본 명세서의 사상 및 원리로부터 벗어남이 없이 이루어진 임의의 수정, 등가적 대체 또는 개선은 본 명세서의 보호 범위 내에 속할 것이다.
도 4는 본 개시의 구현에 따른 블록체인 기반 트랜잭션 프로세싱을 위한 컴퓨터 구현 방법(400)의 예를 예시하는 흐름도이다. 제시의 명확성을 위해, 이하의 설명은 이러한 설명에서 다른 도면들의 문맥에서 방법(400)을 일반적으로 설명한다. 그러나, 방법(400)은 예를 들어 임의의 시스템, 환경, 소프트웨어 및 하드웨어, 또는 시스템들, 환경들, 소프트웨어 및 하드웨어의 조합에 의해 적절하게 수행될 수 있다는 것을 이해할 것이다. 일부 구현들에서, 방법(400)의 다양한 단계들은 병렬적으로, 조합하여, 루프들에서, 또는 임의의 순서로 실행될 수 있다.
402에서, 블록체인 내의 멤버 노드 디바이스에 의해 개시된 타겟 트랜잭션이 수신되고, 타겟 트랜잭션은 기준 시간 파라미터를 포함하고, 타겟 트랜잭션은 후보 블록으로의 전송을 위해 멤버 노드 디바이스에 의해 블록체인에 릴리스된 자산 및 연관된 데이터의 전송을 표시한다.
일부 구현들에서, 기준 시간 파라미터는 타겟 트랜잭션이 생성될 때 생성된 기준 시간 스탬프이고, 트랜잭션 유효 기간은 제1 값과 제2 값 사이의 수치 구간에 대응하고, 제1 값은 후보 블록의 생성 시간 스탬프와 제1 문턱치 사이의 차이이고, 제2 값은 후보 블록의 생성 시간 스탬프와 제2 문턱치의 합이다.
일부 구현들에서, 기준 시간 파라미터는 타겟 트랜잭션이 생성될 때 생성된 기준 블록 높이 값이고, 트랜잭션 유효 기간은 제3 값과 블록체인 내의 후보 블록의 블록 높이 값 사이의 수치 구간에 대응하고, 제3 값은 블록체인 내의 후보 블록의 블록 높이 값과 제3 문턱치 사이의 차이이고, 기준 시간 파라미터에 기초하여, 타겟 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션인지 여부를 결정하는 단계는, 1) 기준 블록 높이 값이 제3 값보다 크고 블록체인 내의 후보 블록의 블록 높이 값보다 작은지 여부를 결정하기 위해 기준 블록 높이 값을 블록체인 내의 후보 블록의 블록 높이 값 및 제3 값 각각과 비교하는 단계 및 2) 기준 블록 높이 값이 제3 값보다 크고 블록체인 내의 후보 블록의 블록 높이 값보다 작다고 결정하는 것에 응답하여, 타겟 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션이라고 결정하는 단계를 포함한다.
일부 구현들에서, 타겟 트랜잭션은 타겟 트랜잭션의 고유의 식별자를 더 포함하고, 타겟 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션이라고 결정하는 것에 응답하여 타겟 트랜잭션을 후보 블록에 기록하는 단계는, 1) 타겟 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션이라고 결정하는 것에 응답하여, 타겟 트랜잭션의 고유의 식별자에 대응하는 트랜잭션 멱등 기록이 미리 결정된 트랜잭션 멱등 표에 저장되는지 여부를 질의하는 단계 - 트랜잭션 멱등 표는 트랜잭션 유효 기간 내에서 유효 트랜잭션에 대응하는 트랜잭션 멱등 기록을 저장하기 위해 사용됨 -, 및 2) 타겟 트랜잭션의 고유의 식별자에 대응하는 트랜잭션 멱등 기록이 미리 결정된 트랜잭션 멱등 표에 저장되지 않는다고 결정하는 것에 응답하여, 타겟 트랜잭션을 후보 블록에 기록하는 단계를 포함한다.
일부 구현들에서, 트랜잭션 멱등 기록은, 트랜잭션 멱등 기록에 대응하는 트랜잭션이 블록체인의 분산형 데이터베이스에 성공적으로 기록되었음을 표시하고; 방법은, 1) 타겟 트랜잭션이 후보 블록에 기록되었고 후보 블록 상에서 합의에 도달되었고 후보 블록이 블록체인의 분산형 데이터베이스에 성공적으로 저장되었다고 결정하는 것에 응답하여, 타겟 트랜잭션의 고유의 식별자에 대응하는 트랜잭션 멱등 기록을 생성하는 단계, 및 2) 트랜잭션 멱등 기록을 미리 결정된 트랜잭션 멱등 표에 삽입하는 단계를 더 포함한다. 402로부터 방법(400)은 404로 진행한다.
404에서, 기준 시간 파라미터에 기초하여, 타겟 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션인지 여부가 결정된다.
일부 구현들에서, 기준 시간 파라미터에 기초하여, 타겟 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션인지 여부를 결정하는 단계는, 1) 기준 시간 스탬프가 제1 값보다 크고 제2 값보다 작은지 여부를 결정하기 위해, 기준 시간 스탬프를 제1 값 및 제2 값 각각과 비교하는 단계, 타겟 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션이라고 결정하는 단계, 및 2) 기준 시간 스탬프가 제1 값보다 크고 제2 값보다 작다고 결정하는 것에 응답하여, 타겟 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션이라고 결정하는 단계를 포함한다.
일부 구현들에서, 기준 블록 높이 값을 블록체인 내의 후보 블록의 블록 높이 값 및 제3 값 각각과 비교하기 전에, 방법(400)은, 1) 후보 블록의 블록 번호가 블록체인 내의 가장 최근 블록의 블록 번호보다 큰지 여부를 결정하는 단계, 및 2) 후보 블록의 블록 번호가 블록체인 내의 가장 최근 블록의 블록 번호보다 크다고 결정하는 것에 응답하여, 기준 블록 높이 값을 블록체인 내의 후보 블록의 블록 높이 값 및 제3 값 각각과 비교하는 단계를 더 포함한다. 404로부터 방법(400)은 406으로 진행한다.
406에서, 타겟 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션이라고 결정하는 것에 응답하여, 타겟 트랜잭션을 후보 블록에 기록한다. 420 이후, 방법(400)이 중단될 수 있다.
설명된 요지는 다양한 기술적 이점들 및 효과들을 제공한다. 예를 들어, 일부 구현들에서, 오직 트랜잭션 유효 기간 내에서 유효한 트랜잭션만이 합법적 트랜잭션으로서 사용되고 후보 블록에 기록될 수 있는 한편, 이전에 만료된 트랜잭션은 후속 트랜잭션 실행을 위한 후보 블록에 기록될 수 없어서, 블록체인 내의 불법적 노드 디바이스는, 불법적 노드 디바이스에 의해 이전에 인터셉트된 만료된 트랜잭션을 사용함으로써 블록체인 상에서 리플레이 공격을 개시하는 것이 방지되어, 블록체인의 트랜잭션 보안 레벨을 개선할 수 있다. 발행자에 대한 아이덴티티 인증 및 트랜잭션 풀 내의 트랜잭션 콘텐츠에 대한 검증을 통과한 트랜잭션 및 트랜잭션에 대한 합법적 검증을 통과한 트랜잭션은 후보 트랜잭션들로서 사용되고 이어서 생성된 후보 블록에 패킹 및 기록될 수 있다. 여기서, 원장 노드로서의 역할을 하는 노드 디바이스는 후보 트랜잭션들로서, 합법적 검증을 통과한 모든 트랜잭션들을 사용하고, 이러한 트랜잭션들을 후보 블록에 기록할 수 있거나; 또는 특정 원리에 기초한(예를 들어, 트랜잭션의 우선순위에 기초한) 후보 트랜잭션들로서, 합법적 검증을 통과한 모든 트랜잭션들로부터 일부 트랜잭션들을 선택하고 이러한 트랜잭션들을 후보 블록에 기록할 수 있다.
원장 노드로서의 역할을 하는 노드 디바이스의 트랜잭션 실행 환경은 멀티-인스턴스 실행 환경일 수 있다(예를 들어, 동일한 트랜잭션 클라이언트가 트랜잭션을 동시에 개시할 수 있는 복수의 스레드들을 가능하게 한다). 멀티-인스턴스 실행 환경에서, 동일한 트랜잭션은 동일한 노드 디바이스의 상이한 인스턴스들에 의해 반복적으로 제출될 수 있다. 결국, 블록체인에서 트랜잭션 실행 동안 "멱등" 문제가 존재할 수 있다. "멱등" 문제는 동일한 트랜잭션이 반복적으로 실행된 후 사용자에게 부정적 영향이 초래되는 것을 의미한다. 예를 들어, 비트코인 네트워크에서 "이중 지출"(이중 지출) 문제가 통상적인 "멱등" 문제이다. 여기서, 사용자의 비밀 키를 사용함으로써 서명된 전송 트랜잭션이 불법적인 노드에 의해 인터셉트된다. 트랜잭션이 실행된 후, 불법적인 노드는 인터셉트된 트랜잭션에 기초하여 리플레이 공격을 개시하고 블록체인에서 트랜잭션을 반복적으로 실행할 수 있다. 그 결과, 동일한 자금 전송이 여러번 실행되어 사용자에게 자금 손실을 초래한다. 이를 고려하여, 멀티-인스턴스 실행 환경에서 트랜잭션의 반복된 실행을 감소시키기 위해, 블록체인에서 원장 노드들로서의 역할을 하는 노드 디바이스들은 트랜잭션 멱등 표를 공동으로 유지할 수 있다. 예를 들어, 원장 노드들로서의 역할을 하는 노드 디바이스들은, 블록체인의 기존의 합의 메커니즘을 사용함으로써, 합의 절차 이후 획득된 트랜잭션 멱등 표를 공동으로 유지할 수 있다. 트랜잭션 멱등 표는 트랜잭션 유효 기간 내에서 유효 트랜잭션들을 기록하는 블록체인 내의 분산형 데이터의 저장 기록(즉, 블록 기록)에 기초하여 생성된 인덱스 기록 표이고, 블록체인의 분산형 데이터베이스에 성공적으로 기록된 모든 유효 트랜잭션들에 대응하는 트랜잭션 멱등 기록들을 저장하기 위해 사용된다. 즉, 트랜잭션 멱등 표에 저장된 트랜잭션 멱등 기록은 트랜잭션 멱등 기록에 대응하는 트랜잭션이 후보 블록에 성공적으로 패킹된 것을 표시하기 위해 사용되고, 후보 블록에 대한 합의에 도달된 후, 후보 블록은 최종적으로 블록체인에서 가장 최근 블록으로서 사용되고 블록체인 내의 분산형 데이터베이스(즉, 분산형 원장)에 성공적으로 추가될 수 있다. 일부 구현들에서, 유효 트랜잭션을 후보 블록에 기록하기 전에, 원장 노드로서의 역할을 하는 노드 디바이스는, 트랜잭션이 블록체인의 분산형 데이터베이스에 성공적으로 기록된 복제 트랜잭션인지 여부를 결정하기 위해, 트랜잭션 멱등 표에 기초하여 트랜잭션에 대한 멱등 체크를 추가로 수행할 수 있다.
일부 구현들에서, 전술된 기준 시간 파라미터에 추가로, 클라이언트를 사용함으로써 사용자에 의해 생성된 트랜잭션은 트랜잭션에 대해 클라이언트에 의해 생성된 고유의 식별자를 추가로 운반할 수 있다. 예를 들어, 실제 애플리케이션들에서, 블록체인 내의 노드 디바이스는 복수의 인스턴스들을 갖도록 구성된 노드 디바이스일 수 있고, 각각의 인스턴스는 고유의 인스턴스 ID를 갖는다. 이러한 경우, 트랜잭션 직렬 번호는 인스턴스 ID 및 생성된 난수를 포함하는 고유의 트랜잭션 직렬 번호일 수 있다. 다른 예를 들어, 블록체인 내의 노드 디바이스가 복수의 디바이스들을 포함하는 분산형 디바이스이면, 각각의 디바이스는 고유의 디바이스 식별자(예를 들어, 디바이스 ID 또는 디바이스의 IP 어드레스)를 가질 수 있다. 이러한 경우, 트랜잭션 직렬 번호는 디바이스 식별자 및 생성된 난수를 포함하는 고유의 트랜잭션 직렬 번호일 수 있다. 수집된 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션이라고 결정한 후, 원장 노드로서의 역할을 하는 노드 디바이스는 트랜잭션의 고유의 식별자에 대응하는 트랜잭션 멱등 기록이 트랜잭션 멱등 표에 저장되는지 여부를 추가로 질의할 수 있다. 트랜잭션의 고유의 식별자에 대응하는 트랜잭션 멱등 기록이 트랜잭션 멱등 표에 저장되면, 이는, 트랜잭션이 이전에 블록체인의 분산형 데이터베이스에 성공적으로 기록되었고, 트랜잭션이 반복적으로 개시된 트랜잭션인 것을 표시한다. 이러한 경우, 트랜잭션은 바로 폐기될 수 있다. 그러나, 트랜잭션의 고유의 식별자에 대응하는 트랜잭션 멱등 기록이 트랜잭션 멱등 표에 저장되지 않으면, 이는, 트랜잭션이 이전에 블록체인의 분산형 데이터베이스에 성공적으로 기록되지 않은 것을 표시한다. 이러한 경우, 노드 디바이스는 트랜잭션을 후보 블록에 기록할 수 있다.
본 명세서에 설명된 실시예들 및 동작들은 디지털 전자 회로로, 또는 본 명세서에서 개시된 구조들을 포함하는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어로, 또는 이들의 하나 이상의 조합들로 구현될 수 있다. 동작들은 하나 이상의 컴퓨터 판독가능 저장 디바이스들 상에 저장되거나 다른 소스들로부터 수신된 데이터에 대해 데이터 프로세싱 장치에 의해 수행되는 동작들로서 구현될 수 있다. 데이터 프로세싱 장치, 컴퓨터 또는 컴퓨팅 디바이스는 예시의 방식으로 프로그래밍가능 프로세서, 컴퓨터, 시스템 온 어 칩, 또는 다수의 것들 또는 상기한 것의 조합들을 포함하는, 데이터를 프로세싱하기 위한 장치, 디바이스들 및 머신들을 포함할 수 있다. 장치는 특수 목적 로직 회로, 예를 들어, 중앙 프로세싱 유닛(CPU), 필드 프로그래밍가능 게이트 어레이(FPGA) 또는 주문형 집적 회로(ASIC)를 포함할 수 있다. 장치는 또한 문제의 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 시스템(예를 들어, 운영 시스템 또는 운영 시스템들의 조합), 크로스-플랫폼 런타임 환경, 가상 머신 또는 이들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다. 장치 및 실행 환경은 웹 서비스들, 분산형 컴퓨팅 및 그리드 컴퓨팅 인프라구조들과 같은 다양한 상이한 컴퓨팅 모델 인프라구조들을 실현할 수 있다.
컴퓨터 프로그램(예를 들어, 프로그램, 소프트웨어, 소프트웨어 애플리케이션, 소프트웨어 모듈, 소프트웨어 유닛, 스크립트 또는 코드로 또한 공지됨)은 컴파일된 또는 해석된 언어들, 선언적 또는 절차적 언어들을 포함하는 임의의 형태의 프로그래밍 언어로 기록될 수 있고, 독립형 프로그램 또는 모듈, 컴포넌트, 서브루틴, 오브젝트 또는 컴퓨팅 환경에서 사용하기에 적합한 다른 유닛을 포함하는 임의의 형태로 배치될 수 있다. 프로그램은 다른 프로그램들 또는 데이터(예를 들어, 마크업 언어 문서에 저장된 하나 이상의 스크립트들), 문제의 프로그램에 전용되는 단일 파일, 또는 다수의 조정된 파일들(예를 들어, 하나 이상의 모듈들, 서브-프로그램 또는 코드의 일부들을 저장하는 파일들)에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 또는 하나의 사이트에 위치되거나 다수의 사이트들에 걸쳐 분산되어 있고 통신 네트워크에 의해 상호연결된 다수의 컴퓨터들 상에서 실행될 수 있다.
컴퓨터 프로그램의 실행을 위한 프로세서들은 예시의 방식으로, 범용 및 특수 목적 마이크로프로세서들 둘 모두, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서들을 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 모두로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 엘리먼트들은 명령어들에 따른 액션들을 수행하기 위한 프로세서 및 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스들이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위해 하나 이상의 대용량 저장 디바이스들을 포함하거나, 또는 이들로부터 데이터를 수신하거나 이들에 데이터를 전송하거나 또는 둘 모두를 위해 동작가능하게 커플링될 것이다. 컴퓨터는 다른 디바이스, 예를 들어 모바일 디바이스, 개인 휴대 정보 단말(PDA), 게임 콘솔, GPS(Global Positioning System) 수신기 또는 휴대용 저장 디바이스에 내장될 수 있다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 디바이스들은 예시의 방식으로, 반도체 메모리 디바이스들, 자기 디스크들 및 광-자기 디스크들을 포함하는 비휘발성 메모리, 매체들 및 메모리 디바이스들을 포함한다. 프로세서 및 메모리는 특수 목적 로직 회로에 의해 보완되거나 그에 통합될 수 있다.
모바일 디바이스들은 핸드셋들, 사용자 장비(UE), 모바일 전화들(예를 들어, 스마트폰들), 태블릿들, 웨어러블 디바이스들(예를 들어, 스마트 시계들 및 스마트 안경), 인체 내부의 이식 디바이스들(예를 들어, 바이오센서들, 달팽이관 임플란트들), 또는 다른 유형들의 모바일 디바이스들을 포함할 수 있다. 모바일 디바이스들은 다양한 통신 네트워크들(아래에서 설명됨)에 무선으로(예를 들어, 무선 주파수(RF) 신호들을 사용하여) 통신할 수 있다. 모바일 디바이스들은 모바일 디바이스의 현재 환경의 특성들을 결정하기 위한 센서들을 포함할 수 있다. 센서들은 카메라들, 마이크로폰들, 근접 센서들, GPS 센서들, 모션 센서들, 가속도계들, 주변 광 센서들, 습도 센서들, 자이로스코프들, 나침반들, 기압계들, 지문 센서들, 얼굴 인식 시스템들, RF 센서들(예를 들어, Wi-Fi 및 셀룰러 라디오들), 열 센서들 또는 다른 유형들의 센서들을 포함할 수 있다. 예를 들어, 카메라들은 이동식 또는 고정식 렌즈들, 플래시, 이미지 센서 및 이미지 프로세서를 갖는 전방 또는 후방 카메라를 포함할 수 있다. 카메라는 얼굴 및/또는 홍채 인식에 대한 세부사항들을 캡처할 수 있는 메가픽셀 카메라일 수 있다. 데이터 프로세서 및 메모리에 저장되거나 원격으로 액세스되는 인증 정보와 함께 카메라는 얼굴 인식 시스템을 형성할 수 있다. 얼굴 인식 시스템 또는 하나 이상의 센서들, 예를 들어, 마이크로폰들, 모션 센서들, 가속도계들, GPS 센서들 또는 RF 센서들은 사용자 인증을 위해 사용될 수 있다.
사용자와의 상호작용을 제공하기 위해, 실시예들은 디스플레이 디바이스 및 입력 디바이스, 예를 들어, 사용자에게 정보를 디스플레이하기 위한 액정 디스플레이(LCD) 또는 유기 발광 다이오드(OLED)/가상 현실(VR)/증강 현실(AR) 디스플레이 및 사용자가 컴퓨터에 입력을 제공할 수 있도록 하는 터치스크린, 키보드 및 포인팅 디바이스를 갖는 컴퓨터 상에서 구현될 수 있다. 다른 종류들의 디바이스들이 또한 사용자와의 상호작용을 제공하기 위해 사용될 수 있는데: 예를 들어, 사용자에게 제공된 피드백은 임의의 형태의 센서 피드백, 예를 들어, 시각적 피드백, 청각적 피드백 또는 촉각적 피드백일 수 있고; 사용자로부터의 입력은 음향, 스피치 또는 촉각적 입력을 포함하는 임의의 형태로 수신될 수 있다. 또한, 컴퓨터는 예를 들어, 웹 브라우저로부터 수신된 요청들에 응답하여 사용자의 클라이언트 디바이스 상의 웹 브라우저에 웹 페이지들을 전송함으로써, 사용자에 의해 사용되는 디바이스에 문서들을 전송하고 그로부터 문서들을 수신함으로써 사용자와 상호작용할 수 있다.
실시예들은 유선 또는 무선 디지털 데이터 통신(또는 이들의 조합)의 임의의 형태 또는 매체, 예를 들어 통신 네트워크에 의해 상호연결된 컴퓨팅 디바이스들을 사용하여 구현될 수 있다. 상호연결된 디바이스들의 예들은 통신 네트워크를 통해 통상적으로 상호작용하는 일반적으로 서로 원격인 클라이언트 및 서버이다. 클라이언트, 예를 들어 모바일 디바이스는 스스로, 서버와, 또는 서버를 통해 트랜잭션들을 수행할 수 있는데, 예를 들어, 구매, 판매, 지불, 제공, 전송 또는 대출 트랜잭션들을 수행하거나 이들을 인가할 수 있다. 이러한 트랜잭션들은 액션 및 응답이 시간적으로 근접하도록 실시간일 수 있어서; 예를 들어, 개인은 액션 및 응답을 실질적으로 동시에 발생하는 것으로 인지하고, 개인의 액션에 후속하는 응답에 대한 시간 차이는 1 밀리초(ms) 미만 또는 1 초(s) 미만이거나, 또는 응답은 시스템의 프로세싱 제한들을 고려하여 의도적인 지연이 없다.
통신 네트워크들의 예들은 LAN(Local Area Network), RAN(Radio Access Network), MAN(Metropolitan Area Network) 및 WAN(Wide Area Network)을 포함한다. 통신 네트워크는 인터넷의 전부 또는 일부, 다른 통신 네트워크 또는 통신 네트워크들의 조합을 포함할 수 있다. 정보는 LTE(Long Term Evolution), 5G, IEEE 802, 인터넷 프로토콜(IP) 또는 다른 프로토콜들 또는 프로토콜들의 조합들을 포함하는 다양한 프로토콜들 및 표준들에 따라 통신 네트워크 상에서 송신될 수 있다. 통신 네트워크는 연결된 컴퓨팅 디바이스들 사이에서 음성, 비디오, 생체인식 또는 인증 데이터 또는 기타 정보를 송신할 수 있다.
개별 구현들로서 설명된 특징들은 조합하여, 단일 구현으로 구현될 수 있는 반면, 단일 구현으로 설명된 특징들은 다수의 구현들로, 개별적으로 또는 임의의 적절한 하위 조합으로 구현될 수 있다. 특정 순서로 설명되고 주장된 동작들은 그러한 특정 순서를 요구하는 것으로, 또는 모든 예시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다(일부 동작들은 선택적일 수 있다). 적절하게, 멀티태스킹 또는 병렬적 프로세싱(또는 멀티태스킹과 병렬적 프로세싱의 조합)이 수행될 수 있다.

Claims (15)

  1. 블록체인 기반 트랜잭션들을 프로세싱하기 위한 방법에 있어서,
    블록체인 내의 멤버 노드 디바이스에 의해 개시된 타겟 트랜잭션을 수신하는 단계 - 상기 타겟 트랜잭션은 기준 시간 파라미터를 포함하고, 상기 타겟 트랜잭션은 후보 블록으로의 전송을 위해 상기 멤버 노드 디바이스에 의해 상기 블록체인에 릴리스된 자산 및 연관된 데이터의 전송을 표시함 -;
    상기 기준 시간 파라미터에 기초하여, 상기 타겟 트랜잭션이 트랜잭션 유효 기간 내에서 유효 트랜잭션인지 여부를 결정하는 단계; 및
    상기 타겟 트랜잭션이 상기 트랜잭션 유효 기간 내에서 유효 트랜잭션이라고 결정하는 것에 응답하여, 상기 타겟 트랜잭션을 상기 후보 블록에 기록하는 단계
    를 포함하는, 블록체인 기반 트랜잭션들을 프로세싱하기 위한 방법.
  2. 제1항에 있어서,
    상기 기준 시간 파라미터는 상기 타겟 트랜잭션이 생성될 때 발생된 기준 시간 스탬프이고, 상기 트랜잭션 유효 기간은 제1 값과 제2 값 사이의 수치 구간에 대응하고, 상기 제1 값은 상기 후보 블록의 생성 시간 스탬프와 제1 문턱치 간의 차이이고, 상기 제2 값은 상기 후보 블록의 상기 생성 시간 스탬프와 제2 문턱치의 합인 것인, 블록체인 기반 트랜잭션들을 프로세싱하기 위한 방법.
  3. 제2항에 있어서,
    상기 기준 시간 파라미터에 기초하여, 상기 타겟 트랜잭션이 상기 트랜잭션 유효 기간 내에서 상기 유효 트랜잭션인지 여부를 결정하는 단계는:
    상기 기준 시간 스탬프를 상기 제1 값 및 상기 제2 값 각각과 비교하는 단계; 및
    상기 기준 시간 스탬프가 상기 제1 값보다 크고 상기 제2 값보다 작다고 결정하는 것에 응답하여, 상기 타겟 트랜잭션이 상기 트랜잭션 유효 기간 내에서 유효 트랜잭션이라고 결정하는 단계
    를 포함하는 것인, 블록체인 기반 트랜잭션들을 프로세싱하기 위한 방법.
  4. 제3항에 있어서,
    상기 기준 시간 스탬프를 상기 제1 값 및 상기 제2 값 각각과 비교하기 전에, 상기 방법은,
    상기 후보 블록의 상기 생성 시간 스탬프가 상기 블록체인 내의 가장 최근 블록의 생성 시간 스탬프보다 큰지 여부를 체크하는 단계; 및
    상기 후보 블록의 상기 생성 시간 스탬프가 상기 블록체인 내의 가장 최근 블록의 생성 시간 스탬프보다 크다고 결정하는 것에 응답하여, 상기 기준 시간 스탬프를 상기 제1 값 및 상기 제2 값 각각과 비교하는 단계
    를 더 포함하는, 블록체인 기반 트랜잭션들을 프로세싱하기 위한 방법.
  5. 제3항에 있어서,
    상기 기준 시간 스탬프는 상기 타겟 트랜잭션이 생성될 때의 시스템 시간 스탬프 또는 트랜잭션 생성자에 의해 지정된 기준 시간 스탬프인 것인, 블록체인 기반 트랜잭션들을 프로세싱하기 위한 방법.
  6. 제3항에 있어서,
    상기 제1 문턱치는 상기 제2 문턱치보다 큰 것인, 블록체인 기반 트랜잭션들을 프로세싱하기 위한 방법.
  7. 제1항에 있어서,
    상기 기준 시간 파라미터는 상기 타겟 트랜잭션이 생성될 때 생성된 기준 블록 높이 값이고, 상기 트랜잭션 유효 기간은 상기 블록체인 내의 상기 후보 블록의 블록 높이 값과 제3 값 사이의 수치 구간에 대응하고, 상기 제3 값은 상기 블록체인 내의 상기 후보 블록의 상기 블록 높이 값과 제3 문턱치 간의 차이인 것인, 블록체인 기반 트랜잭션들을 프로세싱하기 위한 방법.
  8. 제7항에 있어서,
    상기 기준 시간 파라미터에 기초하여, 상기 타겟 트랜잭션이 상기 트랜잭션 유효 기간 내에서 유효 트랜잭션인지 여부를 결정하는 단계는,
    상기 기준 블록 높이 값을 상기 블록체인 내의 상기 후보 블록의 블록 높이 값 및 상기 제3 값 각각과 비교하는 단계; 및
    상기 기준 블록 높이 값이 상기 제3 값보다 크고 상기 블록체인 내의 상기 후보 블록의 블록 높이 값보다 작다고 결정하는 것에 응답하여, 상기 타겟 트랜잭션이 상기 트랜잭션 유효 기간 내에서 유효 트랜잭션이라고 결정하는 단계
    를 포함하는 것인, 블록체인 기반 트랜잭션들을 프로세싱하기 위한 방법.
  9. 제8항에 있어서,
    상기 기준 블록 높이 값을 상기 블록체인 내의 상기 후보 블록의 상기 블록 높이 값 및 상기 제3 값 각각과 비교하기 전에, 상기 방법은,
    상기 후보 블록의 블록 번호가 상기 블록체인 내의 가장 최근 블록의 블록 번호보다 큰지 여부를 체크하는 단계; 및
    상기 후보 블록의 상기 블록 번호가 상기 블록체인 내의 가장 최근 블록의 블록 번호보다 크다고 결정하는 것에 응답하여, 상기 기준 블록 높이 값을 상기 블록체인 내의 상기 후보 블록의 블록 높이 값 및 상기 제3 값 각각과 비교하는 단계
    를 더 포함하는, 블록체인 기반 트랜잭션들을 프로세싱하기 위한 방법.
  10. 제9항에 있어서,
    상기 기준 블록 높이 값은 상기 타겟 트랜잭션이 생성될 때 상기 블록체인 내의 가장 큰 블록 높이 값 또는 트랜잭션 생성자에 의해 지정된 기준 블록 높이 값인 것인, 블록체인 기반 트랜잭션들을 프로세싱하기 위한 방법.
  11. 제1항에 있어서,
    상기 타겟 트랜잭션은 상기 타겟 트랜잭션의 고유의 식별자를 더 포함하는 것인, 블록체인 기반 트랜잭션들을 프로세싱하기 위한 방법.
  12. 제11항에 있어서,
    상기 타겟 트랜잭션이 상기 트랜잭션 유효 기간 내에서 유효 트랜잭션이라고 결정하는 것에 응답하여, 상기 타겟 트랜잭션을 상기 후보 블록에 기록하는 단계는,
    상기 타겟 트랜잭션이 상기 트랜잭션 유효 기간 내에서 유효 트랜잭션이라고 결정하는 것에 응답하여, 상기 타겟 트랜잭션의 상기 고유의 식별자에 대응하는 트랜잭션 멱등(idempotent) 기록이 미리 결정된 트랜잭션 멱등 표에 저장되는지 여부를 질의하는 단계 - 상기 미리 결정된 트랜잭션 멱등 표는 상기 트랜잭션 유효 기간 내에서 유효 트랜잭션에 대응하는 트랜잭션 멱등 기록을 저장하는데 사용됨 -; 및
    상기 타겟 트랜잭션의 상기 고유의 식별자에 대응하는 상기 트랜잭션 멱등 기록이 상기 미리 결정된 트랜잭션 멱등 표에 저장되지 않는다고 결정하는 것에 응답하여, 상기 타겟 트랜잭션을 상기 후보 블록에 기록하는 단계
    를 포함하는 것인, 블록체인 기반 트랜잭션들을 프로세싱하기 위한 방법.
  13. 제12항에 있어서,
    상기 트랜잭션 멱등 기록은, 상기 트랜잭션 멱등 기록에 대응하는 트랜잭션이 상기 블록체인의 분산형 데이터베이스에 성공적으로 기록되었음을 표시하고;
    상기 방법은,
    상기 타겟 트랜잭션이 상기 후보 블록에 기록되었고 상기 후보 블록 상에서 합의에 도달되었고 상기 후보 블록이 상기 블록체인의 상기 분산형 데이터베이스에 성공적으로 저장되었다고 결정하는 것에 응답하여, 상기 타겟 트랜잭션의 상기 고유의 식별자에 대응하는 상기 트랜잭션 멱등 기록을 발생시키는 단계; 및
    상기 트랜잭션 멱등 기록을 상기 미리 결정된 트랜잭션 멱등 표에 삽입하는 단계
    를 더 포함하는, 블록체인 기반 트랜잭션들을 프로세싱하기 위한 방법.
  14. 제13항에 있어서,
    상기 미리 결정된 트랜잭션 멱등 표에서 상기 트랜잭션 유효 기간을 넘은 트랜잭션의 트랜잭션 멱등 기록을 주기적으로 삭제하는 단계를 더 포함하는, 블록체인 기반 트랜잭션들을 프로세싱하기 위한 방법.
  15. 블록체인 기반 트랜잭션들을 프로세싱하기 위한 장치에 있어서,
    제1항 내지 제14항 중 어느 한 항의 방법을 수행하도록 구성되는 복수의 모듈들을 포함하는, 블록체인 기반 트랜잭션들을 프로세싱하기 위한 장치.
KR1020207015264A 2018-05-29 2019-05-29 블록체인 기반 트랜잭션 프로세싱 방법 및 장치 KR102327574B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201810531740.6 2018-05-29
CN201810531740.6A CN108764870B (zh) 2018-05-29 2018-05-29 基于区块链的交易处理方法及装置、电子设备
PCT/US2019/034243 WO2019231945A1 (en) 2018-05-29 2019-05-29 Blockchain-based transaction processing method and apparatus

Publications (2)

Publication Number Publication Date
KR20200079289A true KR20200079289A (ko) 2020-07-02
KR102327574B1 KR102327574B1 (ko) 2021-11-17

Family

ID=64003543

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207015264A KR102327574B1 (ko) 2018-05-29 2019-05-29 블록체인 기반 트랜잭션 프로세싱 방법 및 장치

Country Status (11)

Country Link
US (2) US10509919B1 (ko)
EP (1) EP3701469A1 (ko)
JP (1) JP6936396B2 (ko)
KR (1) KR102327574B1 (ko)
CN (4) CN111899006A (ko)
AU (1) AU2019277162C1 (ko)
CA (1) CA3083802C (ko)
PH (1) PH12020550684A1 (ko)
SG (2) SG10202109078UA (ko)
TW (1) TWI694390B (ko)
WO (1) WO2019231945A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102396631B1 (ko) * 2020-11-12 2022-05-11 주식회사 티맥스엔터프라이즈 블록체인 시스템

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10956075B2 (en) * 2018-02-02 2021-03-23 Bank Of America Corporation Blockchain architecture for optimizing system performance and data storage
US11176101B2 (en) 2018-02-05 2021-11-16 Bank Of America Corporation System and method for decentralized regulation and hierarchical control of blockchain architecture
CN111899006A (zh) 2018-05-29 2020-11-06 创新先进技术有限公司 基于区块链的交易处理方法及装置、电子设备
CN108805569A (zh) * 2018-05-29 2018-11-13 阿里巴巴集团控股有限公司 基于区块链的交易处理方法及装置、电子设备
CN108805627B (zh) * 2018-06-19 2021-06-01 腾讯科技(深圳)有限公司 媒体资源分配方法、装置、系统、介质及设备
US11379867B2 (en) * 2018-06-19 2022-07-05 Sang Mi RYU Method for automatically providing cryptocurrency to recommender using propagation on SNS
US11182379B2 (en) 2018-08-24 2021-11-23 Oracle International Corporation DAG based methods and systems of transaction processing in a distributed ledger
CN112492006B (zh) * 2018-10-31 2023-12-05 创新先进技术有限公司 一种基于区块链的节点管理方法和装置
CN109471905B (zh) * 2018-11-16 2020-08-25 华东师范大学 一种支持时间范围和属性范围复合查询的区块链索引方法
EP3668036A1 (de) * 2018-12-14 2020-06-17 Siemens Aktiengesellschaft Erstellen einer blockchain mit blöcken umfassend eine anpassbare anzahl an transaktionsblöcken und mehrere zwischenblöcke
CN109670956B (zh) * 2018-12-21 2021-05-04 成都四方伟业软件股份有限公司 区块链交易方法及装置
CN109754249A (zh) * 2018-12-27 2019-05-14 石更箭数据科技(上海)有限公司 数据交易方法及系统、平台、存储介质
JP6892514B2 (ja) 2018-12-28 2021-06-23 アドバンスド ニュー テクノロジーズ カンパニー リミテッド トランザクションの再送信を使用してブロックチェーンネットワークにおけるトランザクション配信の加速化
KR20200083933A (ko) 2018-12-28 2020-07-09 알리바바 그룹 홀딩 리미티드 가속 노드를 이용하는 블록체인 네트워크에서의 트랜잭션 전달의 가속화
SG11201907248QA (en) 2018-12-28 2019-09-27 Alibaba Group Holding Ltd Improving blockchain transaction speeds using global acceleration nodes
CN109815291B (zh) * 2018-12-28 2021-08-20 北京城市网邻信息技术有限公司 数据同步方法、装置、电子设备及存储介质
JP6882474B2 (ja) 2018-12-29 2021-06-02 アドバンスド ニュー テクノロジーズ カンパニー リミテッド リプレイ攻撃の検出のためのシステム及び方法
CN110431577B (zh) * 2018-12-29 2023-08-22 创新先进技术有限公司 用于检测重放攻击的系统和方法
US10681083B2 (en) 2018-12-29 2020-06-09 Alibaba Group Holding Limited System and method for detecting replay attack
US10735464B2 (en) 2018-12-29 2020-08-04 Alibaba Group Holding Limited System and method for detecting replay attack
CN109787867B (zh) * 2019-02-28 2020-10-20 矩阵元技术(深圳)有限公司 区块生成方法、装置、计算机设备和存储介质
CN109903050A (zh) * 2019-03-02 2019-06-18 杭州复杂美科技有限公司 交易去重方法、交易构造方法、设备和存储介质
US10917231B2 (en) 2019-04-04 2021-02-09 Advanced New Technologies Co., Ltd. Data storage method, apparatus, system and device
US10790968B2 (en) * 2019-04-04 2020-09-29 Alibaba Group Holding Limited Ledger verification method and apparatus, and device
CA3061810A1 (en) 2019-04-30 2019-07-18 Alibaba Group Holding Limited Method and device for avoiding double-spending problem in read-write set-model-based blockchain technology
CN110276688B (zh) * 2019-06-14 2024-02-06 深圳前海微众银行股份有限公司 一种区块链中交易处理的方法及装置
CN110795314B (zh) * 2019-11-04 2023-10-03 北京小米移动软件有限公司 一种检测慢节点的方法、装置及计算机可读存储介质
CN111125255B (zh) * 2019-12-24 2024-01-23 腾讯科技(深圳)有限公司 区块数据的处理方法、装置、终端及可读存储介质
CN111339086B (zh) * 2020-02-18 2021-04-20 腾讯科技(深圳)有限公司 区块处理方法、基于区块链的数据查询方法及装置
CN110992040A (zh) * 2020-03-03 2020-04-10 支付宝(杭州)信息技术有限公司 交易处理方法、装置及设备
US11502858B2 (en) * 2020-03-09 2022-11-15 Vmware Inc. Providing real-world time in a replicated state-machine environment
CN111028084A (zh) * 2020-03-11 2020-04-17 支付宝(杭州)信息技术有限公司 一种基于区块链的交易处理方法、装置及设备
KR102648498B1 (ko) * 2020-05-25 2024-03-19 한국전자통신연구원 블록체인 기반 센서 데이터 제공 장치 및 방법
CN111709748B (zh) * 2020-06-11 2023-08-22 杭州溪塔科技有限公司 一种具有业务属性的交易执行方法、装置及电子设备
KR102179160B1 (ko) * 2020-06-23 2020-11-16 주식회사 아이콘루프 블록체인 간의 통신을 위해 메시지를 증명하는 시스템 및 방법
CN111522648B (zh) 2020-07-03 2020-10-09 支付宝(杭州)信息技术有限公司 一种区块链的交易处理方法、装置及电子设备
CN111741121A (zh) * 2020-07-03 2020-10-02 支付宝(杭州)信息技术有限公司 区块链中的垃圾信息的处理方法和系统
CN111541783B (zh) 2020-07-08 2020-10-20 支付宝(杭州)信息技术有限公司 一种基于区块链一体机的交易转发方法及装置
CN111539829B (zh) 2020-07-08 2020-12-29 支付宝(杭州)信息技术有限公司 一种基于区块链一体机的待过滤交易识别方法及装置
CN113726875A (zh) 2020-07-08 2021-11-30 支付宝(杭州)信息技术有限公司 一种基于区块链一体机的交易处理方法及装置
CN111541726B (zh) * 2020-07-08 2021-05-18 支付宝(杭州)信息技术有限公司 一种基于区块链一体机的重放交易识别方法及装置
CN111541789A (zh) 2020-07-08 2020-08-14 支付宝(杭州)信息技术有限公司 一种基于区块链一体机的数据同步方法及装置
CN112102078B (zh) * 2020-08-07 2024-05-21 柳州市蓝海数链科技有限公司 区块链共识计算方法、装置、计算机设备及存储介质
CN112102082A (zh) * 2020-08-24 2020-12-18 深圳区块大陆科技有限公司 一种判定区块链交易执行结果的方法
CN112866392B (zh) * 2020-08-31 2023-06-30 支付宝(杭州)信息技术有限公司 一种执行智能合约的方法、区块链节点、系统和存储介质
CN112214799B (zh) * 2020-09-10 2023-06-02 中国科学院计算机网络信息中心 一种基于区块链技术的数据库防篡改方法及系统
CN112070500B (zh) * 2020-09-20 2022-03-01 中科柏诚科技(北京)股份有限公司 基于数字金融服务的区块链支付处理方法及云计算中心
CN112165519B (zh) * 2020-09-24 2024-03-26 普华云创科技(北京)有限公司 一种按需同步数据的同步节点实现方法与系统
US11356506B2 (en) 2020-10-01 2022-06-07 Bank Of America Corporation System for optimizing data acceptance and data storage in a distributed computing network
US11822538B2 (en) * 2020-11-05 2023-11-21 Oracle International Corporation Systems and methods of transaction identification generation for transaction-based environment
CN112383402B (zh) * 2020-11-13 2022-08-05 中国联合网络通信集团有限公司 双重幂等验证方法及服务器
US11165907B1 (en) * 2020-12-10 2021-11-02 Coupang Corp. Incoming request blending for customer service representatives
CN113469811A (zh) * 2021-07-05 2021-10-01 支付宝(杭州)信息技术有限公司 区块链交易处理方法及装置
CN114817399A (zh) * 2021-09-06 2022-07-29 支付宝(杭州)信息技术有限公司 区块管理方法及装置
CN113807963B (zh) * 2021-09-16 2024-05-03 南京金宁汇科技有限公司 一种账户体系下的联盟链交易的重放攻击防范方法
CN114422151B (zh) * 2022-03-29 2022-07-05 北京微芯感知科技有限公司 一种区块块内交易数扩展方法及系统
CN114757777A (zh) * 2022-04-29 2022-07-15 蚂蚁区块链科技(上海)有限公司 用于区块链的最优链路选择方法及装置和电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105469510A (zh) * 2014-10-12 2016-04-06 吴思进 可预告延时支付或找回的加密货币钱包
CN107292622A (zh) * 2017-07-05 2017-10-24 武汉凤链科技有限公司 一种针对智能合约的价值分配方法和系统
CN107528882A (zh) * 2017-07-14 2017-12-29 阿里巴巴集团控股有限公司 区块链共识网络中处理共识请求的方法、装置和电子设备

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2290991A1 (en) * 1997-06-04 1998-12-10 Simple Access Partners, Llc System and method for processing transaction messages
US8984170B2 (en) 2011-09-09 2015-03-17 Oracle International Corporation Idempotence for database transactions
US10681394B2 (en) * 2011-11-28 2020-06-09 Comcast Cable Communications, Llc Cache eviction during off-peak transaction time period
US9898782B1 (en) * 2013-06-28 2018-02-20 Winklevoss Ip, Llc Systems, methods, and program products for operating exchange traded products holding digital math-based assets
US9853819B2 (en) * 2013-08-05 2017-12-26 Guardtime Ip Holdings Ltd. Blockchain-supported, node ID-augmented digital record signature method
CA2985040A1 (en) * 2014-05-06 2015-12-03 Case Wallet, Inc. Cryptocurrency virtual wallet system and method
US20160283939A1 (en) * 2015-03-25 2016-09-29 Qualcomm Incorporated System and method to prevent loss of bitcoins due to address errors
US20160342977A1 (en) * 2015-05-20 2016-11-24 Vennd.io Pty Ltd Device, method and system for virtual asset transactions
JP6838000B2 (ja) * 2015-05-26 2021-03-03 ティーゼロ・グループ,インコーポレーテッド 暗号技法を使用した取引における意思の難読化
EP3335176A4 (en) * 2015-08-14 2019-03-20 Identitii Pty Ltd. COMPUTER IMPLEMENTED METHOD FOR PROCESSING A FINANCIAL TRANSACTION AND A SYSTEM THEREFOR
US20170147808A1 (en) * 2015-11-19 2017-05-25 International Business Machines Corporation Tokens for multi-tenant transaction database identity, attribute and reputation management
US10680833B2 (en) * 2016-02-26 2020-06-09 Apple Inc. Obtaining and using time information on a secure element (SE)
US10630490B2 (en) * 2016-02-26 2020-04-21 Apple Inc. Obtaining and using time information on a secure element (SE)
EP3443517A1 (en) * 2016-04-11 2019-02-20 Nchain Holdings Limited Computer-implemented methods and systems for validating tokens for blockchain-based cryptocurrencies
US10643203B2 (en) * 2016-04-12 2020-05-05 Digicash Pty Ltd. Secure transaction controller for value token exchange systems
US10252145B2 (en) * 2016-05-02 2019-04-09 Bao Tran Smart device
SG11201809645VA (en) * 2016-05-18 2018-12-28 Innogy Innovation Gmbh Peer-to-peer network and node of a peer-to-peer network
US10108954B2 (en) * 2016-06-24 2018-10-23 PokitDok, Inc. System and method for cryptographically verified data driven contracts
US20180004242A1 (en) * 2016-06-29 2018-01-04 Intel Corporation Low clock-energy 3-phase latch-based clocking scheme
GB201611948D0 (en) * 2016-07-08 2016-08-24 Kalypton Int Ltd Distributed transcation processing and authentication system
US10700853B2 (en) * 2016-07-12 2020-06-30 International Business Machines Corporation Token identity and attribute management
US10425399B2 (en) * 2016-07-12 2019-09-24 International Business Machines Corporation Template-based distributed certificate issuance in a multi-tenant environment
US10417217B2 (en) * 2016-08-05 2019-09-17 Chicago Mercantile Exchange Inc. Systems and methods for blockchain rule synchronization
KR101727525B1 (ko) * 2016-09-05 2017-04-17 주식회사 스케일체인 블록체인 기반 분산 저장 방법 및 이를 이용한 장치
EP3296913B1 (en) * 2016-09-15 2020-10-21 Accenture Global Solutions Limited Method and system for secure communication of a token and aggregation of the same
GB201615935D0 (en) * 2016-09-19 2016-11-02 Zupit Ltd Electronic Commerce
US10581847B1 (en) * 2016-09-27 2020-03-03 Amazon Technologies, Inc. Blockchain-backed device and user provisioning
US10733602B2 (en) * 2016-09-29 2020-08-04 Microsoft Technology Licensing, Llc. Heartbeats and consensus in verifiable outsourced ledgers
CN106385319B (zh) * 2016-09-29 2020-11-27 江苏通付盾科技有限公司 区块链网络中信息的验证方法及系统
CN106780028A (zh) * 2016-12-08 2017-05-31 天津米游科技有限公司 一种点对点的数字资产交易方法及系统
CN106815722B (zh) * 2016-12-22 2021-05-07 中钞信用卡产业发展有限公司杭州区块链技术研究院 基于区块链的信息处理方法和装置
CN106815530B (zh) * 2016-12-26 2020-04-24 北京爱接力科技发展有限公司 数据存证方法、数据校验方法及装置
WO2018176010A2 (en) * 2017-03-24 2018-09-27 Inmentis, Llc Social media system with navigable, artificial-intelligence-based graphical user interface with broadcasting
CN106991607B (zh) * 2017-03-29 2020-04-10 杭州溪塔科技有限公司 一种基于区块链账户模型的无序交易控制方法
CN107016611A (zh) * 2017-03-29 2017-08-04 杭州秘猿科技有限公司 一种基于区块链的交易超时控制方法
EP3382591B1 (en) * 2017-03-30 2020-03-25 British Telecommunications public limited company Hierarchical temporal memory for expendable access control
US10762479B2 (en) * 2017-04-05 2020-09-01 Samsung Sds Co., Ltd. Method and system for processing blockchain-based real-time transaction
CN107124403A (zh) * 2017-04-14 2017-09-01 朱清明 区块链中共识区块的生成方法与计算设备
CN107330681B (zh) * 2017-06-27 2021-04-13 陈佺 一种用于确定区块链链外交易的交易时间的方法及设备
CN107240017B (zh) * 2017-07-20 2021-08-03 捷德(中国)科技有限公司 区块链交易管理系统及方法
CN107480990B (zh) * 2017-08-01 2021-02-26 中国联合网络通信集团有限公司 区块链记账方法及装置
US11823178B2 (en) * 2017-11-17 2023-11-21 International Business Machines Corporation Optimization of high volume transaction performance on a blockchain
CN111899006A (zh) 2018-05-29 2020-11-06 创新先进技术有限公司 基于区块链的交易处理方法及装置、电子设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105469510A (zh) * 2014-10-12 2016-04-06 吴思进 可预告延时支付或找回的加密货币钱包
CN107292622A (zh) * 2017-07-05 2017-10-24 武汉凤链科技有限公司 一种针对智能合约的价值分配方法和系统
CN107528882A (zh) * 2017-07-14 2017-12-29 阿里巴巴集团控股有限公司 区块链共识网络中处理共识请求的方法、装置和电子设备
US20190020729A1 (en) * 2017-07-14 2019-01-17 Alibaba Group Holding Limited Method, apparatus, and electronic device for processing consensus requests in a blockchain consensus network

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102396631B1 (ko) * 2020-11-12 2022-05-11 주식회사 티맥스엔터프라이즈 블록체인 시스템

Also Published As

Publication number Publication date
WO2019231945A1 (en) 2019-12-05
AU2019277162A1 (en) 2020-06-18
AU2019277162C1 (en) 2022-03-10
EP3701469A1 (en) 2020-09-02
US10509919B1 (en) 2019-12-17
TWI694390B (zh) 2020-05-21
CN111899006A (zh) 2020-11-06
JP2021509189A (ja) 2021-03-18
CA3083802C (en) 2021-06-08
US11514185B2 (en) 2022-11-29
CN108764870B (zh) 2020-07-07
CN108764870A (zh) 2018-11-06
TW202004594A (zh) 2020-01-16
SG11202004839XA (en) 2020-06-29
SG10202109078UA (en) 2021-09-29
CN111899005A (zh) 2020-11-06
AU2019277162B2 (en) 2021-11-11
CA3083802A1 (en) 2019-12-05
KR102327574B1 (ko) 2021-11-17
US20200050786A1 (en) 2020-02-13
PH12020550684A1 (en) 2021-04-12
JP6936396B2 (ja) 2021-09-15
US20190370486A1 (en) 2019-12-05
CN111899004A (zh) 2020-11-06

Similar Documents

Publication Publication Date Title
KR102327574B1 (ko) 블록체인 기반 트랜잭션 프로세싱 방법 및 장치
US11403636B2 (en) Blockchain-based transaction processing method and apparatus, and electronic device
US11218325B2 (en) Asset management method and apparatus, and electronic device
KR102396739B1 (ko) 자산 관리 방법 및 장치, 및 전자 디바이스
AU2019221570B2 (en) Asset management method and apparatus, and electronic device
US20200133938A1 (en) Asset management method and apparatus, and electronic device

Legal Events

Date Code Title Description
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant