KR20200078420A - Data isolation in blockchain networks - Google Patents
Data isolation in blockchain networks Download PDFInfo
- Publication number
- KR20200078420A KR20200078420A KR1020197022207A KR20197022207A KR20200078420A KR 20200078420 A KR20200078420 A KR 20200078420A KR 1020197022207 A KR1020197022207 A KR 1020197022207A KR 20197022207 A KR20197022207 A KR 20197022207A KR 20200078420 A KR20200078420 A KR 20200078420A
- Authority
- KR
- South Korea
- Prior art keywords
- personal
- transaction
- blockchain
- account
- personal transaction
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6227—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/54—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H04L2209/38—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
- H04L63/0435—Network 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 wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/126—Applying verification of the received information the source of the received data
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Accounting & Taxation (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Finance (AREA)
- Databases & Information Systems (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Power Engineering (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Computing Systems (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Storage Device Security (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 출원의 구현들은, 적어도 하나의 계정과 연관된 개인 트랜잭션을 수행하라는 요청을 수신하는 것; 요청을 수신한 것에 대한 응답으로, 워크플로우 노드(workflow node)에 의해, 개인 트랜잭션을 수행하는 것; 개인 트랜잭션을 수행하는 것에 대한 응답으로, 워크플로우 노드에 의해, 개인 트랜잭션에 액세스하도록 인가된 엔티티들만이 액세스 가능하도록 구성된 개인 트랜잭션의 표현을 생성하는 것; 개인 트랜잭션의 표현을 개인 블록체인에 저장하는 것; 워크플로우 노드에 의해, 개인 트랜잭션에 적어도 부분적으로 기초하여 개인 트랜잭션과 연관된 적어도 하나의 계정에 대한 계정 레코드를 생성하는 것 ― 계정 레코드는 개인 블록체인 내의 개인 트랜잭션의 표현에 액세스하도록 인가되지 않은 적어도 하나의 엔티티가 액세스 가능하도록 구성됨 ― ; 그리고 계정 레코드를 공개 블록체인에 저장하는 것을 포함한다. Implementations of the present application include receiving a request to perform a personal transaction associated with at least one account; In response to receiving the request, by the workflow node, performing a personal transaction; In response to performing the personal transaction, generating, by the workflow node, a representation of the personal transaction configured to be accessible only by entities authorized to access the personal transaction; Storing a representation of a personal transaction in a personal blockchain; Creating, by a workflow node, an account record for at least one account associated with the personal transaction based at least in part on the personal transaction, wherein the account record is at least one not authorized to access the representation of the personal transaction within the personal blockchain. Entity is configured to be accessible ―; And it involves storing the account records on a public blockchain.
Description
컨센서스(consensus) 네트워크들 및/또는 블록체인 네트워크들로서 또한 지칭되는 DLS(distributed ledger system)은 참여하는 엔티티들이 데이터를 안전하게 그리고 불변적으로 저장하는 것을 가능하게 한다. DLS들은 일반적으로 어떠한 특정 사용자 경우(예를 들어, 암호-화폐들)와 관계없이 블록체인 네트워크로서 지칭된다. 예시적인 유형들의 블록체인 네트워크들은 공개 블록체인 네트워크들, 개인 블록체인 네트워크들 및 컨소시엄 블록체인 네트워크들을 포함할 수 있다. 모든 엔티티들이 DLS를 사용하고 컨센서스 프로세스에 참여하기 위해 공개 블록체인 네트워크가 개방되어 있다. 개인 블록체인 네트워크에는 읽기 및 쓰기 권한들을 중앙에서 제어하는 특정 엔티티가 제공된다. 컨센서스 블록체인 네트워크에는 컨소시엄 프로세스를 제어하는 엔티티들의 선택된 그룹이 제공되며, 액세스 제어 층을 포함한다. A distributed ledger system (DLS), also referred to as consensus networks and/or blockchain networks, enables participating entities to safely and invariably store data. DLSs are generally referred to as blockchain networks regardless of any particular user case (e.g. crypto-currency). Exemplary types of blockchain networks can include public blockchain networks, private blockchain networks and consortium blockchain networks. The public blockchain network is open for all entities to use DLS and participate in the consensus process. Private blockchain networks are provided with specific entities that centrally control read and write permissions. The consensus blockchain network is provided with a selected group of entities that control the consortium process, and includes an access control layer.
블록체인 네트워크의 하나의 일반적인 이슈는 블록체인 그 자체의 내재적인 개방성으로 인한 프라이버시 보호(privacy protection)이다. 종래의 블록체인의 엔트리들은 블록체인 네트워크의 모든 참여자들에 의한 검사에 이용 가능하며, 이는 블록체인 네트워크에서 관리되는 트랜잭션들이 민감한 정보를 포함할 때 이슈들을 제공할 수 있다. One common issue in blockchain networks is privacy protection due to the inherent openness of the blockchain itself. Conventional blockchain entries are available for inspection by all participants in the blockchain network, which can provide issues when transactions managed in the blockchain network contain sensitive information.
본 명세서의 구현들은 블록체인 네트워크에서 데이터 아이솔레이션을 위한 컴퓨터-구현 방법을 포함한다. 보다 구체적으로, 본 명세서의 구현들은, 개인 트랜잭션(private transaction) 세부사항들을 아이솔레이션하는 반면, 트랜잭션 요약들을 개인 블록체인에 그리고 계정(account) 잔액 업데이트들을 공개 블록체인에 공개하는 것에 관한 것이다. Implementations herein include a computer-implemented method for data isolation in a blockchain network. More specifically, implementations herein relate to isolating private transaction details, while publishing transaction summaries to the private blockchain and accounting balance updates to the public blockchain.
일부 구현들에서, 액션들은, 적어도 하나의 계정과 연관된 개인 트랜잭션을 수행하라는 요청을 수신하는 단계; 요청을 수신한 것에 대한 응답으로, 워크플로우 노드(workflow node)에 의해, 개인 트랜잭션을 수행하는 단계; 개인 트랜잭션을 수행하는 것에 대한 응답으로, 워크플로우 노드에 의해, 개인 트랜잭션에 액세스하도록 인가된 엔티티들만이 액세스 가능하도록 구성된 개인 트랜잭션의 표현을 생성하는 단계; 개인 트랜잭션의 표현을 개인 블록체인에 저장하는 단계; 워크플로우 노드에 의해, 개인 트랜잭션에 적어도 부분적으로 기초하여 개인 트랜잭션과 연관된 적어도 하나의 계정에 대한 계정 레코드를 생성하는 단계 ― 계정 레코드는 개인 블록체인 내의 개인 트랜잭션의 표현에 액세스하도록 인가되지 않은 적어도 하나의 엔티티가 액세스 가능하도록 구성됨 ― ; 및 계정 레코드를 공개 블록체인에 저장하는 단계를 포함한다. In some implementations, the actions include receiving a request to perform a personal transaction associated with the at least one account; In response to receiving the request, performing a personal transaction, by a workflow node; In response to performing the personal transaction, generating, by the workflow node, a representation of the personal transaction configured to be accessible only by entities authorized to access the personal transaction; Storing a representation of a personal transaction in a personal blockchain; Creating, by a workflow node, an account record for at least one account associated with the personal transaction based at least in part on the personal transaction, wherein the account record is at least one not authorized to access a representation of the personal transaction within the personal blockchain. Entity is configured to be accessible ―; And storing the account record in a public blockchain.
다른 구현들은 컴퓨터 저장 디바이스들 상에 인코딩된 방법들의 액션들을 수행하도록 구성되는, 대응하는 시스템들, 장치 및 컴퓨터 프로그램들을 포함한다. Other implementations include corresponding systems, apparatus and computer programs, configured to perform actions of methods encoded on computer storage devices.
이들 및 다른 구현들은 선택적으로 다음의 특징들 중 하나 이상을 각각 포함할 수 있다. These and other implementations may optionally include one or more of the following features, respectively.
일부 경우들에서, 워크플로우 노드는, 워크플로우 노드의 데이터스토어에 개인 트랜잭션을 저장하고, 데이터스토어는 개인 블록체인과 별개이고, 개인 트랜잭션의 표현을 생성하는 단계는 개인 트랜잭션과 연관된 해시 값을 생성하는 단계를 포함한다. In some cases, the workflow node stores a personal transaction in the workflow node's datastore, the datastore is separate from the personal blockchain, and the step of generating a representation of the personal transaction generates a hash value associated with the personal transaction. It includes the steps.
일부 구현들에서, 워크플로우 노드는 적어도 하나의 계정에 대한 계정 레코드의 로컬 표현을 유지하고, 개인 트랜잭션을 수행하는 단계는 개인 트랜잭션에 기초하여 계정 레코드의 로컬 표현을 수정하는 단계를 포함하고; 적어도 하나의 계정 레코드는 계정 레코드의 로컬 표현에 있는 정보의 서브세트를 포함한다. In some implementations, the workflow node maintains a local representation of the account record for the at least one account, and performing the personal transaction comprises modifying the local representation of the account record based on the personal transaction; The at least one account record includes a subset of the information in the local representation of the account record.
일부 경우들에서, 계정 레코드를 공개 블록체인에 저장하는 단계는 개인 트랜잭션의 표현을 개인 블록체인에 저장하는 것에 응답하여 수행된다. In some cases, storing the account record in the public blockchain is performed in response to storing the representation of the personal transaction in the personal blockchain.
일부 구현들에서, 공개 블록체인에 대한 계정의 대응하는 저장이 수행되지 않은 개인 트랜잭션들의 다른 표현들은 개인 블록체인에 저장된다. In some implementations, other representations of personal transactions for which the corresponding storage of the account to the public blockchain has not been performed are stored in the personal blockchain.
일부 경우들에서, 공개/개인 키쌍의 공개 키로 암호화된 개인 트랜잭션의 암호화된 사본은 개인 블록체인과 별개의 데이터스토어에 저장된다. In some cases, an encrypted copy of a private transaction encrypted with the public/private key pair's public key is stored on a datastore separate from the private blockchain.
일부 구현들에서, 개인 트랜잭션의 암호화된 사본을 저장하는 단계는 공개/개인 키쌍의 개인 키로 생성된, 암호화된 사본의 서명을 저장하는 단계를 포함한다. In some implementations, storing the encrypted copy of the private transaction includes storing the signature of the encrypted copy, generated with the private key of the public/private key pair.
일부 구현들에서, 개인 블록체인은 제 1 개인 블록체인이고, 개인 트랜잭션은 제 1 개인 트랜잭션이며, 방법은, 제 1 개인 트랜잭션과 상이한 제 2 개인 트랜잭션의 표현을, 제 1 개인 블록체인과 별개의 제 2 개인 블록체인에 저장하는 단계; 및 제 2 개인 트랜잭션과 연관된 계정에 대한 계정 레코드를 공개 블록체인에 저장하는 단계를 더 포함한다. In some implementations, the personal blockchain is the first personal blockchain, the personal transaction is the first personal transaction, and the method comprises a representation of a second personal transaction different from the first personal transaction, separate from the first personal blockchain. Storing in a second personal blockchain; And storing the account record for the account associated with the second personal transaction in the public blockchain.
일부 경우들에서, 계정 레코드는 적어도 하나의 계정의 잔액을 포함하고, 계정 레코드는 연관된 개인 트랜잭션에 관한 정보를 포함하지 않는다. In some cases, the account record includes the balance of at least one account, and the account record does not contain information about the associated personal transaction.
본 명세서는 또한, 하나 이상의 프로세서들에 커플링되고 명령들이 저장되어 있는 비-일시적인 컴퓨터-판독 가능 저장 매체들을 제공하며, 이 명령들은 하나 이상의 프로세서들에 의해 실행될 때, 하나 이상의 프로세서들로 하여금, 본원에서 제공된 방법들의 구현들에 따른 동작들을 수행하게 한다. The present specification also provides non-transitory computer-readable storage media coupled to one or more processors and having instructions stored thereon, which, when executed by one or more processors, cause one or more processors to: And perform operations in accordance with implementations of the methods provided herein.
본 명세서는 추가로, 본원에서 제공된 방법들을 구현하기 위한 시스템을 제공한다. 시스템은, 하나 이상의 프로세서들, 및 하나 이상의 프로세서들에 커플링되고 명령들이 저장되어 있는 컴퓨터-판독 가능 저장 매체를 포함하며, 이 명령들은 하나 이상의 프로세서들에 의해 실행될 때, 하나 이상의 프로세서들로 하여금, 본원에서 제공된 방법들의 구현들에 따른 동작들을 수행하게 한다. The present specification further provides a system for implementing the methods provided herein. The system includes one or more processors, and a computer-readable storage medium coupled to and stored in one or more processors, which, when executed by one or more processors, cause one or more processors to , To perform operations according to implementations of the methods provided herein.
본 명세서에 따른 방법들은 본원에서 설명된 양상들 및 특징들의 임의의 조합을 포함할 수 있다는 것이 인지된다. 즉, 본 명세서에 따른 방법들은 본원에서 구체적으로 설명된 양상들 및 특징들의 조합들로 제한되는 것이 아니라, 제공되는 양상들 및 특징들의 임의의 조합을 또한 포함한다. It is recognized that the methods according to the present specification can include any combination of aspects and features described herein. That is, the methods according to the present specification are not limited to combinations of aspects and features specifically described herein, but also include any combination of aspects and features provided.
본 명세서의 하나 이상의 구현들의 세부사항들은 첨부한 도면들 및 아래의 설명에서 기술된다. 본 명세서의 다른 특징들 및 이점들은, 설명 및 도면들로부터, 그리고 청구항들로부터 명백해질 것이다. Details of one or more implementations of the present specification are set forth in the accompanying drawings and the description below. Other features and advantages of the present specification will become apparent from the description and drawings, and from the claims.
도 1은 본 명세서의 구현들을 실행하는데 사용될 수 있는 환경의 예를 도시한다.
도 2는 본 명세서의 구현들에 따른 아키텍처의 예를 도시한다.
도 3은 본 명세서의 구현들에 따라, 블록체인 네트워크에서 데이터 아이솔레이션을 제공하기 위한 시스템의 예를 도시한다.
도 4는 본 명세서의 구현들에 따라, 블록체인 네트워크에서 데이터 아이솔레이션을 제공하기 위한 프로세스의 예를 도시한다.
도 5는 본 명세서의 구현들에 따라 실행될 수 있는 프로세스의 예를 도시한다.
다양한 도면들 내의 유사한 참조 기호들은 유사한 엘리먼트들을 표시한다. 1 shows an example of an environment that can be used to implement the implementations herein.
2 shows an example of an architecture according to implementations herein.
3 shows an example of a system for providing data isolation in a blockchain network, according to implementations herein.
4 shows an example of a process for providing data isolation in a blockchain network, according to implementations herein.
5 shows an example of a process that can be executed according to implementations herein.
Similar reference signs in various drawings indicate similar elements.
본 명세서의 구현들은 블록체인 네트워크에서 데이터 아이솔레이션을 위한 컴퓨터-구현 방법을 포함한다. 보다 구체적으로, 본 명세서의 구현들은, 개인 트랜잭션 세부사항들을 아이솔레이션하는 반면, 트랜잭션 요약들을 개인 블록체인에 그리고 계정 잔액 업데이트들을 공개 블록체인에 공개하는 것에 관한 것이다. 일부 구현들에서, 액션들은, 적어도 하나의 계정과 연관된 개인 트랜잭션을 수행하라는 요청을 수신하는 단계; 요청을 수신한 것에 대한 응답으로, 워크플로우 노드에 의해, 개인 트랜잭션을 수행하는 단계; 개인 트랜잭션을 수행하는 것에 대한 응답으로, 워크플로우 노드에 의해, 개인 트랜잭션에 액세스하도록 인가된 엔티티들만이 액세스 가능하도록 구성된 개인 트랜잭션의 표현을 생성하는 단계; 개인 트랜잭션의 표현을 개인 블록체인에 저장하는 단계; 워크플로우 노드에 의해, 개인 트랜잭션에 적어도 부분적으로 기초하여 개인 트랜잭션과 연관된 적어도 하나의 계정에 대한 계정 레코드를 생성하는 단계 ― 계정 레코드는 개인 블록체인 내의 개인 트랜잭션의 표현에 액세스하도록 인가되지 않은 적어도 하나의 엔티티가 액세스 가능하도록 구성됨 ― ; 및 계정 레코드를 공개 블록체인에 저장하는 단계를 포함한다. Implementations herein include a computer-implemented method for data isolation in a blockchain network. More specifically, the implementations herein relate to publishing transaction summaries on a personal blockchain and account balance updates on a public blockchain, while isolating personal transaction details. In some implementations, the actions include receiving a request to perform a personal transaction associated with the at least one account; In response to receiving the request, performing, by the workflow node, a personal transaction; In response to performing the personal transaction, generating, by the workflow node, a representation of the personal transaction configured to be accessible only by entities authorized to access the personal transaction; Storing a representation of a personal transaction in a personal blockchain; Creating, by a workflow node, an account record for at least one account associated with the personal transaction based at least in part on the personal transaction, wherein the account record is at least one not authorized to access a representation of the personal transaction within the personal blockchain. Entity is configured to be accessible ―; And storing the account record in a public blockchain.
본 명세서의 구현들에 대한 추가의 맥락을 제공하기 위해 그리고 위에서 소개된 바와 같이, 컨센서스 네트워크들(예를 들어, 피어-투-피어 노드들로 구성됨), 및 블록체인 네트워크로서 또한 지칭될 수 있는 DSL(distributed ledger system)들은, 참여 엔티티들이 안전하고 불변적으로 트랜잭션들을 수행하고 데이터를 저장하는 것을 가능하게 한다. 블록체인이라는 용어는 일반적으로 암호-화폐 네트워크들과 연관되지만, 블록체인은 본원에서 어떠한 특정 사용 경우와 관계없이 DLS를 일반적으로 지칭하기 위해 사용된다. To provide additional context for implementations herein and as introduced above, consensus networks (eg, consisting of peer-to-peer nodes), and may also be referred to as blockchain networks Distributed ledger systems (DSLs) enable participating entities to safely and invariably perform transactions and store data. The term blockchain is generally associated with crypto-currency networks, but blockchain is used herein to refer generally to DLS regardless of any particular use case.
블록체인은 트랜잭션들이 불변적인(immutable) 방식으로 트랜잭션들을 저장하고 후속적으로 검증될 수 있는 데이터 구조이다. 블록체인은 하나 이상의 블록들을 포함한다. 체인 내의 각각의 블록은 이전 블록의 암호화 해시(cryptographic hash)를 포함함으로써 체인 내에 자신 바로 앞의 이전 블록에 링크된다. 각각의 블록은 또한 타임스탬프, 자체 암호화 해시 및 하나 이상의 트랜잭션들을 포함한다. 블록체인 네트워크의 노드들에 의해 이미 검증된 트랜잭션들은 해시되고 머클 트리(Merkle tree)로 인코딩된다. 머클 트리는 트리의 리프 노드들의 데이터가 해시되고 트리의 각각의 분기(branch)의 모든 해시들이 분기의 루트에서 연접되는 데이터 구조이다. 이 프로세스는 전체 트리의 루트까지 트리에서 계속되며, 트리의 모든 데이터를 나타내는 해시를 저장한다. 트리에 저장된 트랜잭션인 것으로 간주되는 해시는 그것이 트리의 구조와 일치하는지 여부를 결정함으로써 신속하게 검증될 수 있다. Blockchain is a data structure in which transactions can be stored and subsequently verified in an immutable manner. The blockchain includes one or more blocks. Each block in the chain is linked to the previous block immediately preceding it in the chain by including the cryptographic hash of the previous block. Each block also includes a timestamp, a self-encrypting hash, and one or more transactions. Transactions that have already been verified by the nodes of the blockchain network are hashed and encoded into a Merkle tree. The Merkle tree is a data structure in which the data of the leaf nodes of the tree is hashed and all the hashes of each branch of the tree are concatenated at the root of the branch. This process continues from the tree up to the root of the entire tree, storing a hash representing all the data in the tree. Hashes considered to be transactions stored in the tree can be quickly verified by determining whether it matches the structure of the tree.
블록체인은 트랜잭션들을 저장하기 위한 데이터 구조인 반면, 블록체인 네트워크는 하나 이상의 블록체인들을 관리, 업데이트 및 유지(maintain)하는 컴퓨팅 노드들의 네트워크이다. 위에서 소개된 바와 같이, 블록체인 네트워크는 공개 블록체인 네트워크, 개인 블록체인 네트워크 또는 컨소시엄 블록체인 네트워크로서 제공될 수 있다. Blockchain is a data structure for storing transactions, while blockchain network is a network of computing nodes that manages, updates and maintains one or more blockchains. As introduced above, the blockchain network can be provided as a public blockchain network, a private blockchain network or a consortium blockchain network.
공개 블록체인 네트워크에서 컨센서스 프로세스는 컨센서스 네트워크의 노드들에 의해 제어된다. 예를 들어, 수백, 수천, 심지어 수백만개의 엔티티들이 공개 블록체인 네트워크에서 협력할 수 있으며, 이들 각각은 공개 블록체인 네트워크에서 하나 이상의 노드를 동작시킨다. 따라서, 공개 블록체인 네트워크는 참여 엔티티들과 관련하여 공개 네트워크로 간주될 수 있다. 일부 예들에서, 대부분의 엔티티들(노드들)은, 블록이 유효하며 블록체인 네트워크의 블록체인(분산 원장)에 추가되기 위해 각각의 모든 블록에 서명해야 한다. 공개 블록체인 네트워크들의 예들은 피어-투-피어 지불 네트워크인 암호-화폐 네트워크들을 포함한다. 그러나 위에서 언급된 바와 같이, 블록체인이라는 용어는 일반적으로 어떠한 특정 블록체인 네트워크와 특별히 관계없이 분산 원장들을 지칭하는 데 사용된다. In the public blockchain network, the consensus process is controlled by the nodes of the consensus network. For example, hundreds, thousands, and even millions of entities can cooperate in a public blockchain network, each running one or more nodes in the public blockchain network. Therefore, the public blockchain network can be regarded as a public network in relation to participating entities. In some examples, most entities (nodes) must sign each and every block in order for the block to be valid and added to the blockchain (distributed ledger) of the blockchain network. Examples of public blockchain networks include crypto-currency networks, which are peer-to-peer payment networks. However, as mentioned above, the term blockchain is generally used to refer to distributed ledgers, regardless of any particular blockchain network.
일반적으로, 공개 블록체인 네트워크는 공개 트랜잭션들을 지원한다. 공개 트랜잭션은 공개 블록체인 네트워크 내의 모든 노드들과 공유되며 글로벌 블록체인에 저장된다. 글로벌 블록체인은 모든 노드들에 걸쳐 복제되는 블록체인이다. 즉, 모든 노드들은 글로벌 블록체인과 관련하여 완벽한 상태 컨센서스(perfect state consensus)에 있다. 컨센서스를 달성하기 위해(예를 들어, 블록체인에의 블록의 추가에 대한 합의), 컨센서스 프로토콜은 공개 블록체인 네트워크 내에서 구현된다. 컨센서스 프로토콜들의 예들은 제한 없이, POW(proof-of-work)(예를 들어, 일부 암호-화폐 네트워크들에서 구현됨), POS(proof-of-stake) 및 POA(proof-of-authority)를 포함한다. POW는 비-제한적인 예로서 본원에서 추가로 참조된다. In general, public blockchain networks support public transactions. Public transactions are shared with all nodes in the public blockchain network and stored on the global blockchain. The global blockchain is a blockchain that is replicated across all nodes. That is, all nodes are in perfect state consensus with respect to the global blockchain. To achieve consensus (e.g., consensus on the addition of blocks to the blockchain), the consensus protocol is implemented within the public blockchain network. Examples of consensus protocols include, without limitation, proof-of-work (POW) (eg, implemented in some crypto-currency networks), proof-of-stake (POS), and proof-of-authority (POA). Includes. POW is further referenced herein as a non-limiting example.
일반적인 개인 블록체인 네트워크에서, 개인 블록체인 네트워크에는 읽기 및 쓰기 권한들을 중앙에서 제어하는 특정 엔티티가 제공된다. 엔티티는 어떤 노드들이 블록체인 네트워크에 참여할 수 있는지를 제어한다. 결과적으로, 개인 블록체인 네트워크들은 일반적으로, 누가 네트워크에 참여하도록 허용되는지 그리고 그의 참여 레벨에(예를 들어, 소정의 트랜잭션들로만) 제한을 두는 허가된 네트워크로서 지칭된다. 다양한 유형들의 액세스 제어 메커니즘들이 사용될 수 있다(예를 들어, 기존 참여자가 새로운 엔티티들의 추가에 관해 투표하고 규제 기관이 승인을 제어할 수 있음). In a general private blockchain network, a private blockchain network is provided with a specific entity that centrally controls read and write permissions. Entities control which nodes can participate in the blockchain network. As a result, personal blockchain networks are generally referred to as authorized networks that limit who is allowed to participate in the network and their level of participation (eg, only in certain transactions). Various types of access control mechanisms can be used (eg, an existing participant can vote on the addition of new entities and a regulatory body can control approval).
일반적으로 컨소시엄 블록체인 네트워크는 참여 엔티티들 사이에서 비공개(private)이다. 컨소시엄 블록체인 네트워크에서, 컨센서스 프로세스는 노드들의 인가된 세트에 의해 제어되며, 하나 이상의 노드들은 각각의 엔티티(예를 들어, 금융 기관, 보험 회사)에 의해 동작된다. 예를 들어, 10개의 엔티티들(예를 들어, 금융 기관들, 보험 회사들)의 컨소시엄은 컨소시엄 블록체인 네트워크를 동작시킬 수 있으며, 이들 각각은 컨소시엄 블록체인 네트워크에서 적어도 하나의 노드를 동작시킨다. 따라서, 컨소시엄 블록체인 네트워크는 참여 엔티티들과 관련하여 개인 네트워크로 간주될 수 있다. 일부 예들에서, 각각의 엔티티(노드)는, 블록이 유효하며 블록체인에 추가되기 위해 각각의 모든 블록에 서명해야 한다. 일부 예들에서, 블록이 유효하며 블록체인에 추가되기 위해 적어도 엔티티들(노드들)의 서브세트(예를 들어, 적어도 7개의 엔티티들)가 각각의 모든 블록에 서명해야 한다. In general, the consortium blockchain network is private among participating entities. In a consortium blockchain network, the consensus process is controlled by an authorized set of nodes, and one or more nodes are operated by respective entities (eg, financial institutions, insurance companies). For example, a consortium of 10 entities (eg, financial institutions, insurance companies) can operate a consortium blockchain network, each of which operates at least one node in the consortium blockchain network. Thus, the consortium blockchain network can be considered a private network with respect to participating entities. In some examples, each entity (node) must be signed with each and every block in order for the block to be valid and added to the blockchain. In some examples, a block is valid and at least a subset of entities (nodes) (eg, at least 7 entities) must be signed for each block to be added to the blockchain.
본 명세서의 구현들은 참여 엔티티들 사이에서 공개되는 공개 블록체인 네트워크를 참조하여 본원에서 추가로 상세히 설명된다. 그러나, 본 명세서의 구현들은 임의의 적절한 유형의 블록체인 네트워크에서 실현될 수 있는 것으로 고려된다. Implementations herein are described in further detail herein with reference to a public blockchain network published among participating entities. However, it is contemplated that the implementations herein can be implemented in any suitable type of blockchain network.
본 명세서의 구현들은 위의 맥락을 고려하여 본원에서 추가로 상세히 설명된다. 보다 구체적으로, 그리고 위에서 소개된 바와 같이, 본 명세서의 구현들은 블록체인 네트워크에서 민감한 트랜잭션 데이터의 아이솔레이션에 관한 것이다. Implementations herein are further described herein in view of the above context. More specifically, and as introduced above, implementations herein are directed to isolation of sensitive transaction data in a blockchain network.
종래의 블록체인 네트워크에서, 블록체인에 레코딩되는 트랜잭션들은 공개적으로 사용 가능하다. 그러나 다수의 금융 시나리오들에서, 이러한 트랜잭션들의 세부사항들은 트랜잭션 참여자들이 공개되기를 원하지 않는 민감한 정보를 포함한다. 예를 들어, 블록체인 네트워크의 참여자는 블록체인 네트워크에 또한 참여하는 경쟁 엔티티로부터 자신의 트랜잭션을 감추고자 할 수 있다. In a conventional blockchain network, transactions recorded on the blockchain are publicly available. However, in many financial scenarios, the details of these transactions contain sensitive information that transaction participants do not want to be disclosed. For example, participants in the blockchain network may want to hide their transactions from competing entities that also participate in the blockchain network.
본원에서 설명된 기술들은 블록체인 네트워크에서 데이터 아이솔레이션의 기술적 문제에 대한 기술적 솔루션을 제공한다. 예를 들어, 트랜잭션 세부사항 데이터는 워크플로우 노드에 의해 블록체인 네트워크에 로컬로 저장되고 체인-외 협업(out-of-chain collaboration)을 통해 검증될 수 있다. 트랜잭션 세부사항 데이터(예를 들어, 트랜잭션의 참여자들)로부터 선택된 정보는 워크플로우 노드들만이 액세스 가능한 개인 블록체인에 저장될 수 있다. 참여자들에 대한 계정 상태들(예를 들어, 잔액)은 모든 네트워크 참여자들에 의한 검사 및 확인을 위해 공개 블록체인에 저장될 수 있으며, 새로운 트랜잭션들이 프로세싱됨에 따라 업데이트될 수 있다. The techniques described herein provide a technical solution to the technical problem of data isolation in a blockchain network. For example, transaction detail data can be stored locally on the blockchain network by a workflow node and verified through out-of-chain collaboration. Information selected from transaction detail data (eg, participants in a transaction) can be stored in a personal blockchain accessible only by workflow nodes. Account statuses for participants (eg, balances) can be stored in the public blockchain for inspection and verification by all network participants, and can be updated as new transactions are processed.
도 1은 본 명세서의 구현들을 실행하는데 사용될 수 있는 환경(100)의 예를 도시한다. 일부 예들에서, 예시적인 환경(100)은 엔티티들이 블록체인 네트워크(102)에 참여하는 것을 가능하게 한다. 예시적인 환경(100)은 컴퓨팅 디바이스들(106, 108) 및 네트워크(110)를 포함한다. 일부 예에서, 네트워크(110)는 근거리 네트워크(LAN), 광역 네트워크(WAN), 인터넷 또는 이들의 조합을 포함하고, 웹 사이트, 사용자 디바이스들(예를 들어, 컴퓨팅 디바이스들) 및 백-엔드 시스템들을 연결한다. 일부 예들에서, 네트워크(110)는 유선 및/또는 무선 통신 링크를 통해 액세스될 수 있다. 일반적으로, 네트워크(110)는 하나 이상의 통신 네트워크들을 나타낸다. 일부 경우들에서, 컴퓨팅 디바이스(106, 108)는 클라우드 컴퓨팅 시스템(도시되지 않음)의 노드들일 수 있거나, 또는 각각의 컴퓨팅 디바이스(106, 108)는 분산된 프로세싱 시스템으로서 기능하고 네트워크에 의해 상호연결된 복수의 컴퓨터들을 포함하는 별개의 클라우드 컴퓨팅 시스템일 수 있다. 1 shows an example of an
도시된 예에서, 컴퓨팅 시스템들(106, 108)은 각각, 블록체인 네트워크(102)에서 노드로서 참여할 수 있는 임의의 적절한 컴퓨팅 시스템을 포함할 수 있다. 예시적인 컴퓨팅 디바이스는 제한 없이, 서버, 데스크톱 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨팅 디바이스 및 스마트 폰을 포함한다. 일부 예들에서, 컴퓨팅 시스템들(106, 108)은 블록체인 네트워크(102)와 상호작용하기 위한 하나 이상의 컴퓨터-구현 서비스들을 호스팅한다. 예를 들어, 컴퓨팅 시스템(106)은 제 1 엔티티(예를 들어, 사용자 A)가 하나 이상의 다른 엔티티들(예를 들어, 다른 사용자들)과의 그의 트랜잭션들을 관리하기 위해 사용하는 트랜잭션 관리 시스템과 같은 제 1 엔티티의 컴퓨터-구현 서비스들을 호스팅할 수 있다. 컴퓨팅 시스템(108)은 제 2 엔티티(예를 들어, 사용자 B)가 하나 이상의 다른 엔티티들(예를 들어, 다른 사용자들)과의 그의 트랜잭션들을 관리하기 위해 사용하는 트랜잭션 관리 시스템과 같은 제 2 엔티티의 컴퓨터-구현 서비스들을 호스팅할 수 있다. 도 1의 예에서, 블록체인 네트워크(102)는 노드의 피어-투-피어 네트워크로서 표현되고, 컴퓨팅 시스템들(106, 108)은 블록체인 네트워크(102)에 참여하는 제 1 엔티티 및 제 2 엔티티의 노드들을 각각 제공한다. In the illustrated example, the
도 2는 본 명세서의 구현들에 따른 아키텍처(200)의 예를 도시한다. 예시적인 개념 아키텍처(200)는 엔티티 층(202), 호스팅된 서비스 층(204) 및 블록체인 네트워크 층(206)을 포함한다. 도시된 예에서, 엔티티 층(202)은 3개의 엔티티들(Entity_1(E1), Entity_2(E2) 및 Entity_3(E3))을 포함하고, 각각의 엔티티는 각각의 트랜잭션 관리 시스템(208)을 갖는다. 2 shows an example of an architecture 200 according to implementations herein. Exemplary conceptual architecture 200 includes an
도시된 예에서, 호스팅된 서비스 층(204)은 각각의 트랜잭션 관리 시스템(210)에 대한 인터페이스들(210)을 포함한다. 일부 예들에서, 각각의 트랜잭션 관리 시스템(208)은 프로토콜(예를 들어, HTTPS(hypertext transfer protocol secure))을 사용하여 네트워크(예를 들어, 도 1의 네트워크(110))를 통해 각각의 인터페이스(210)와 통신한다. 일부 예들에서, 각각의 인터페이스(210)는 각각의 트랜잭션 관리 시스템(208)과 블록체인 네트워크 층(206) 사이의 통신 연결을 제공한다. 보다 구체적으로, 인터페이스(210)는 블록체인 네트워크 층(206)의 블록체인 네트워크(212)와 통신한다. 일부 예들에서, 인터페이스(210)와 블록체인 네트워크 층(206) 사이의 통신은 RPC(remote procedure call)들을 사용하여 수행된다. 일부 예들에서, 인터페이스들(210)은 각각의 트랜잭션 관리 시스템들(208)에 대한 "호스트" 블록체인 네트워크 노드들을 호스팅한다. 예를 들어, 인터페이스들(210)은 블록체인 네트워크(212)로의 액세스를 위한 API(application programming interface)를 제공한다. In the illustrated example, the hosted
본원에서 설명된 바와 같이, 블록체인 네트워크(212)는 블록체인(216)에 정보를 불변적으로 레코딩하는 복수의 노드들(214)을 포함하는 피어-투-피어 네트워크로서 제공된다. 단일 블록체인(216)이 개략적으로 도시되어 있지만, 블록체인(216)의 다수의 사본들이 제공되고 블록체인 네트워크(212)를 통해 유지된다. 예를 들어, 각각의 노드(214)는 블록체인의 사본을 저장한다. 일부 구현들에서, 블록체인(216)은 블록체인 네트워크에 참여하는 둘 이상의 엔티티들 사이에서 수행되는 트랜잭션들과 연관된 정보를 저장한다. As described herein, the
도 3은 본 명세서의 구현들에 따라, 블록체인 네트워크에서 데이터 아이솔레이션을 제공하기 위한 시스템(300)의 예를 도시한다. 도시된 바와 같이, 시스템(300)은 공개 블록체인(330)을 유지하는 블록체인 노드들(310A-D)을 포함하는 공개 블록체인 네트워크(305)를 포함한다. 시스템(300)은 워크플로우 노드들(320A-D)을 포함하는 개인 블록체인 네트워크(310)를 더 포함한다. 각각의 워크플로우 노드(320A-D)는 로컬 저장 디바이스(325A-D)와 연관된다. 워크플로우 노드들(320A-D)은 공개 블록체인(330)과 별개로 개인 블록체인(340)을 유지한다. 일부 구현들에서, 워크플로우 노드들(320A-D)은 또한 공개 블록체인(330)에 추가될 새로운 블록들의 생성 및 검증에 참여함으로써 공개 블록체인 네트워크(305)의 블록체인 노드들로서 기능할 수 있다. 3 shows an example of a system 300 for providing data isolation in a blockchain network, according to implementations herein. As shown, the system 300 includes a public blockchain network 305 that includes blockchain nodes 310A-D that maintain the
동작에서, 워크플로우 노드들(320A-D)은 시스템(300)에서 수행되고 저장될 개인 트랜잭션을 수신한다. 일부 경우들에, 시스템(300)의 클라이언트는 블록체인 노드들(310A-D) 또는 워크플로우 노드들(320A-D) 중 하나에 트랜잭션을 제출할 수 있다. 일부 경우들에서, 트랜잭션은 블록체인 노드들(310A-D) 또는 워크플로우 노드들(320A-D) 중 하나 이상을 동작시키는 둘 이상의 엔티티들 사이에 있을 수 있고, 이 경우에 트랜잭션은 제어된 워크플로우 노드에서 이들 참여자 엔티티들 중 하나 이상으로부터 수신될 수 있다. 일부 구현들에서, 블록체인 노드들(310A-D)은 공개 블록체인(330)에 새로운 트랜잭션들을 레코딩하기 보다는, 프로세싱을 위해 워크플로우 노드들(320A-D)에 새로운 트랜잭션들을 포워딩하도록 구성될 수 있다. In operation, workflow nodes 320A-D receive personal transactions to be performed and stored in system 300. In some cases, a client of system 300 may submit a transaction to either blockchain nodes 310A-D or workflow nodes 320A-D. In some cases, a transaction may be between two or more entities operating one or more of the blockchain nodes 310A-D or workflow nodes 320A-D, in which case the transaction is a controlled work It may be received from one or more of these participant entities at the flow node. In some implementations, blockchain nodes 310A-D can be configured to forward new transactions to workflow nodes 320A-D for processing, rather than recording new transactions to
일부 구현들에서, 각각의 워크플로우 노드(320A-D)는 수신된 트랜잭션 데이터를 자신의 로컬 저장소(325A-D)에 저장한다. 일부 구현들에서, 로컬 저장소(325A-D)는 예를 들어, 하드 드라이브, 랜덤 액세스 메모리(RAM), 플래시 메모리, 또는 다른 저장 디바이스들과 같은 연관된 워크플로우 노드(320A-D)에 커플링된 저장 디바이스일 수 있다. 일부 경우에, 로컬 저장소(325A-D)는 워크플로우 노드들(320A-D)에 의해 유지되는 분산 데이터베이스의 샤드(shard)들을 저장할 수 있다. In some implementations, each workflow node 320A-D stores received transaction data in its
일부 구현들에서, 워크플로우 노드(예를 들어, 320A)가 새로운 트랜잭션을 수신할 때, 워크플로우 노드(320A)는 트랜잭션을 검증하고(아래에서 더 상세히 설명됨), 그것이 담당하는 트랜잭션(예를 들어, 스마트 계약 명령을 실행하는, 참가자 금융 기관들에서의 인출 및 입금 계정들 등)과 연관된 임의의 액션들을 수행한다. 일부 경우들에, 워크플로우 노드(320A)는 개인 블록체인(340)에의 저장을 위해 개인 트랜잭션의 표현을 생성한다. 예를 들어, 워크플로우 노드(320A)는 트랜잭션 데이터의 해시 및 모든 트랜잭션 참여자들의 아이덴티티들(identities)을 포함하는 트랜잭션의 표현을 생성할 수 있다. 일부 구현들에서, 각각의 개인 트랜잭션은 모든 트랜잭션 참여자들에 의해 암호로 서명될 것이다. 워크플로우 노드(320A)는 개인 블록체인(340)에 저장된 개인 트랜잭션의 표현에 이들 디지털 서명을 포함시킬 수 있다. 또한, 워크플로우(320A)는 원시 개인 트랜잭션 데이터를 자신의 로컬 저장소(325A)에 저장할 수 있다. 이러한 방식으로 트랜잭션 데이터를 구성함으로써, 민감한 트랜잭션 데이터(예를 들어, 트랜잭션과 연관된 금액들)는 워크플로우 노드(320A-D)에 의해 로컬로 저장될 수 있고, 따라서 비밀로 유지될 수 있는 반면, 개인 블록체인(340)은 시스템의 모든 개인 트랜잭션들의 컨센서스 레코(consensus record)드로서 역할을 할 수 있다. 일부 구현들에서, 개인 트랜잭션 데이터는 트랜잭션에 참여하는 엔티티들에 의해 제어되는 워크플로우 노드들(320A-D)의 로컬 저장소(325A-D)에 저장되며, 따라서 개인 트랜잭션 데이터를 다른 엔티티들로부터 아이솔레이션시킨다. 일부 경우들에서, 워크플로우 노드들(320A-D)은 종래의 컨센서스 방법들에 따라 개인 블록체인(340)을 유지한다. In some implementations, when a workflow node (eg, 320A) receives a new transaction, the workflow node 320A verifies the transaction (described in more detail below), and the transaction it is responsible for (eg For example, perform any actions associated with withdrawal and deposit accounts at participant financial institutions, etc., executing smart contract orders. In some cases, workflow node 320A generates a representation of a personal transaction for storage in
일부 구현들에서, 워크플로우 노드(320A)는 개인 블록체인 네트워크(310) 상에서 전술한 액션들을 수행한 후에, 공개 블록체인(330)에의 포함을 위해 개인 트랜잭션의 참여자들에 대한 계정 레코드를 생성한다. 계정 레코드들은 개인 트랜잭션이 수행된 후 개인 트랜잭션의 참여자들의 계정들에 대한 업데이트된 잔액이 포함한다. 예를 들어, 계정 A가 계정 B로 $10를 이체한 개인 트랜잭션을 워크플로우 노드(320A)가 수신한 경우, 워크플로우 노드(320A)는 계정 A의 잔액에서 $10를 인출한 계정 레코드 및 계정 B의 잔액에 $10를 입금한 다른 계정 레코드를 생성할 수 있다. 생성된 계정 레코드들은, 이를테면, 워크플로우 노드(320A)가 계정 레코드들을 블록체인 노드들(310A-D)에 브로드캐스트함으로써 공개 블록체인(330)에의 포함을 위해 공개 블록체인 네트워크(305)에 전송될 수 있다. In some implementations, the workflow node 320A, after performing the above-described actions on the personal blockchain network 310, creates an account record for participants of the personal transaction for inclusion in the
일부 구현들에서, 워크플로우 노드(320A)는 공개 블록체인(330) 상에서 엔티티의 계정 잔액을 업데이트하기 전에 특정 엔티티를 수반하는 소정 수의 트랜잭션들이 수행될 때까지 대기하도록 구성될 수 있다. 예를 들어, 워크플로우 노드(320A)는 계정 A를 수반하는 3개의 트랜잭션들을 프로세싱한 후에만 계정 A에 대한 새로운 계정 레코드 및 잔액을 공개할 수 있다. 계정 잔액 업데이트들을 지연시키는 것은 관찰자가 계정 잔액들의 변화들에 기초하여 트랜잭션 세부사항들을 추론하는 것을 방지할 수 있다. 예를 들어, 시스템이 각각의 트랜잭션 후에 계정 잔액을 업데이트해야 하는 경우, 관찰자는 계정 A의 잔액에서 $10가 인출되고 계정 B의 잔액에 동일한 금액이 입금되는 것을 알아차림으로써 계정 A가 계정 B에 $10를 지불했다는 것을 추론할 수 있다. 각각의 계정 잔액 업데이트에 다수의 트랜잭션들에 의해 이루어진 변화들을 반영시킴으로써, 개별 트랜잭션 세부사항들은 추론하기가 더 어려워진다. In some implementations, the workflow node 320A can be configured to wait for a certain number of transactions involving a particular entity to be performed before updating the entity's account balance on the
도 4는 본 명세서의 구현들에 따라, 블록체인 네트워크에서 데이터 아이솔레이션을 제공하기 위한 프로세스(400)의 예를 도시한다. 도시된 바와 같이, 프로세스는 도 3의 워크플로우 노드들(320A 및 320B) 및 블록체인 노드(310A)를 포함한다. 415에서, 워크플로우 노드(320A)는 워크플로우 노드(320B)에 개인 트랜잭션을 제안한다. 예를 들어, 개인 트랜잭션은 엔티티 제어 워크플로우 노드(320A)와 엔티티 제어 워크플로우 노드(320B) 사이의 트랜잭션일 수 있다. 일부 경우들에서, 워크플로우 노드(320A)는 제안된 트랜잭션들을 암호로 서명하여서, 워크플로우 노드(320B)가 트랜잭션을 제안하는 엔티티의 아이덴티티를 검증할 수 있게 한다. 4 shows an example of a
420에서, 워크플로우 노드(320B)는 그의 개인 상태 및/또는 개인 블록체인(340)을 사용하여 제안된 트랜잭션을 검증한다. 예를 들어, 워크플로우 노드(320B)는 워크플로우 노드(320A)와 연관된 계정이 트랜잭션을 커버하기에 충분한 자금들을 갖는다는 것; 계정이 이체될 자산들(예를 들어, 화폐)의 소유자라는 것; 또는 개인 트랜잭션에 관한 다른 정보를 검증할 수 있다. At 420, workflow node 320B verifies the proposed transaction using its personal state and/or
425에서, 워크플로우 노드(320B)는 트랜잭션이 성공적으로 검증되었음을 워크플로우 노드(320A)에 통지하고, 자신의 아이덴티티를 증명하기 위해 자신의 디지털 서명을 리턴한다. 430 및 435에서, 워크플로우 노드들(320A, B)은 합의된 개인 트랜잭션을 포함시키도록 각자의 개인 상태들(예를 들어, 로컬 저장소(325A, B))를 업데이트한다. 440에서, 워크플로우 노드(320A)는 위에서 설명된 바와 같이 개인 블록체인(340)에 개인 트랜잭션의 표현을 저장한다. At 425, the workflow node 320B notifies the workflow node 320A that the transaction has been successfully verified, and returns its digital signature to verify its identity. At 430 and 435, the workflow nodes 320A, B update their personal states (eg,
445에서, 워크플로우 노드(320A)는 블록체인 노드(310A)에 통지를 전송함으로써 워크플로우 노드들(320A 및 320B)과 연관된 계정들의 상태를 (위에서 설명된 바와 같이 계정 레코드들을 생성함으로써) 업데이트하며, 이는 공개 블록체인(330)에 업데이트들을 저장할 것이다. 이전에 논의된 바와 같이, 워크플로우 노드(320A)는 관찰자가 계정 잔액 업데이트들로부터 트랜잭션 세부사항들을 추론하는 것을 방지하기 위해 트랜잭션 참여자들에 대한 소정 수의 개인 트랜잭션들이 프로세싱된 후에 계정 잔액 업데이트들을 제공하도록 구성될 수 있다. At 445, workflow node 320A updates the status of accounts associated with workflow nodes 320A and 320B (by creating account records as described above) by sending a notification to blockchain node 310A. , Which will store the updates in the
도 5는 본 명세서의 구현들에 따라 실행될 수 있는 프로세스(500)의 예를 도시한다. 일부 구현들에서, 예시적인 프로세스(500)는 하나 이상의 컴퓨팅 디바이스들을 사용하여 실행되는 하나 이상의 컴퓨터-실행 가능 프로그램들을 사용하여 수행될 수 있다. 5 shows an example of a
505에서, 적어도 하나의 계정과 연관된 개인 트랜잭션을 수행하라는 요청이 워크플로우 노드에 의해 수신된다. At 505, a request is received by a workflow node to perform a personal transaction associated with at least one account.
510에서, 요청을 수신한 것에 대한 응답으로, 워크플로우 노드는 요청된 개인 트랜잭션을 수행한다. At 510, in response to receiving the request, the workflow node performs the requested personal transaction.
515에서, 개인 트랜잭션을 수행하는 것에 대한 응답으로, 워크플로우 노드는, 개인 트랜잭션에 액세스하도록 인가된 엔티티들만이 액세스 가능하도록 구성된 개인 트랜잭션의 표현을 생성한다. At 515, in response to performing the personal transaction, the workflow node generates a representation of the personal transaction configured to be accessible only by entities authorized to access the personal transaction.
520에서, 개인 트랜잭션의 표현이 개인 블록체인에 저장된다. 일부 경우들에서, 워크플로우 노드는 워크플로우 노드의 데이터스토어에 개인 트랜잭션을 저장하며, 여기서 데이터스토어는 개인 블록체인과 별개이며, 개인 트랜잭션의 표현을 생성하는 것은 개인 트랜잭션과 연관된 해시 값을 생성하는 것을 포함한다. At 520, the representation of the personal transaction is stored in the personal blockchain. In some cases, the workflow node stores a private transaction in the workflow node's datastore, where the datastore is separate from the private blockchain, and generating a representation of the private transaction generates a hash value associated with the private transaction. Includes.
525에서, 워크플로우 노드는 개인 트랜잭션에 적어도 부분적으로 기초하여 개인 트랜잭션과 연관된 적어도 하나의 계정에 대한 계정 레코드를 생성하며, 여기서 계정 레코드는 개인 블록체인 내의 개인 트랜잭션의 표현에 액세스하도록 인가되지 않은 적어도 하나의 엔티티가 액세스 가능하도록 구성된다. 일부 구현들에서, 워크플로우 노드는 적어도 하나의 계정에 대한 계정 레코드의 로컬 표현을 유지하고, 개인 트랜잭션을 수행하는 것은 개인 트랜잭션에 기초하여 계정 레코드의 로컬 표현을 수정하는 것을 포함하고; 적어도 하나의 계정 레코드는 계정 레코드의 로컬 표현에 있는 정보의 서브세트를 포함한다. 일부 경우들에서, 계정 레코드는 적어도 하나의 계정의 잔액을 포함하고, 계정 레코드는 연관된 개인 트랜잭션에 관한 정보를 포함하지 않는다. At 525, the workflow node creates an account record for at least one account associated with the personal transaction based at least in part on the personal transaction, where the account record is at least not authorized to access a representation of the personal transaction within the personal blockchain. One entity is configured to be accessible. In some implementations, the workflow node maintains a local representation of the account record for at least one account, and performing a personal transaction includes modifying the local representation of the account record based on the personal transaction; The at least one account record includes a subset of the information in the local representation of the account record. In some cases, the account record includes the balance of at least one account, and the account record does not contain information about the associated personal transaction.
530에서, 계정 레코드는 공개 블록체인에 저장된다. 일부 경우들에서, 계정 레코드를 공개 블록체인에 저장하는 것은 개인 트랜잭션의 표현을 개인 블록체인에 저장하는 것에 응답하여 수행된다. At 530, the account record is stored in the public blockchain. In some cases, storing the account record in the public blockchain is performed in response to storing the representation of the personal transaction in the personal blockchain.
일부 구현들에서, 공개 블록체인에 대한 계정의 대응하는 저장이 수행되지 않은 개인 트랜잭션들의 다른 표현들은 개인 블록체인에 저장된다. In some implementations, other representations of personal transactions for which the corresponding storage of the account to the public blockchain has not been performed are stored in the personal blockchain.
일부 경우들에서, 공개/개인 키쌍의 공개 키로 암호화된 개인 트랜잭션의 암호화된 사본은 개인 블록체인과 별개의 데이터스토어에 저장된다. In some cases, an encrypted copy of a private transaction encrypted with the public/private key pair's public key is stored on a datastore separate from the private blockchain.
일부 구현들에서, 개인 블록체인은 제 1 개인 블록체인이고, 개인 트랜잭션은 제 1 개인 트랜잭션이며, 방법은, 제 1 개인 트랜잭션과 상이한 제 2 개인 트랜잭션의 표현을, 제 1 개인 블록체인과 별개의 제 2 개인 블록체인에 저장하는 것; 그리고 제 2 개인 트랜잭션과 연관된 계정에 대한 계정 레코드를 상기 공개 블록체인에 저장하는 것을 더 포함한다. In some implementations, the personal blockchain is the first personal blockchain, the personal transaction is the first personal transaction, and the method comprises a representation of a second personal transaction different from the first personal transaction, separate from the first personal blockchain. Storing in a second personal blockchain; And further comprising storing an account record for the account associated with the second personal transaction in the public blockchain.
본 명세서에서 설명된 청구대상 액션들 및 동작들의 구현들은, 본 명세서에서 개시된 구조들 및 그들의 구조적 등가물들을 포함하는 디지털 전자 회로로, 유형으로 구체화되는 컴퓨터 소프트웨어로 또는 펌웨어로, 컴퓨터 하드웨어로, 또는 그들 중 하나 이상의 조합들로 구현될 수 있다. 본 명세서에 설명된 청구대상의 구현들은, 데이터 프로세싱 장치에 의한 실행을 위해, 또는 데이터 프로세싱 장치의 동작을 제어하기 위해 컴퓨터 프로그램 캐리어들 상에 인코딩된 하나 이상의 컴퓨터 프로그램들, 예를 들어, 컴퓨터 프로그램 명령들의 하나 이상의 모듈들로서 구현될 수 있다. 캐리어는 유형의 비-일시적인 컴퓨터 저장 매체일 수 있다. 대안적으로 또는 부가적으로, 캐리어는 데이터 프로세싱 장치에 의한 실행을 위해 적합한 수신기 장치로의 송신을 위한 정보를 인코딩하기 위해 생성되는, 인위적으로 생성된 전파된 신호, 예를 들어, 머신-생성 전기, 광학 또는 전자기 신호일 수 있다. 컴퓨터-저장 매체는 머신-판독 가능 저장 디바이스, 머신-판독 가능 저장 기재, 랜덤 또는 직렬 액세스 메모리 디바이스, 또는 이들의 하나 이상의 조합이거나 그의 부분일 수 있다. 컴퓨터 저장 매체는 전파된 신호는 아니다. Implementations of the claimed actions and acts described herein are digital electronic circuitry including the structures and their structural equivalents disclosed herein, in tangible computer software or firmware, in computer hardware, or in them It can be implemented in one or more combinations. The claimed implementations described herein are one or more computer programs, eg, computer programs, encoded on computer program carriers for execution by a data processing device, or to control operation of the data processing device. It can be implemented as one or more modules of instructions. The carrier can be a tangible, non-transitory computer storage medium. Alternatively or additionally, the carrier is artificially generated propagated signal, eg, machine-generated electricity, generated to encode information for transmission to a receiver device suitable for execution by the data processing device. , It can be an optical or electromagnetic signal. The computer-storage medium may be or part of a machine-readable storage device, a machine-readable storage substrate, a random or serial access memory device, or a combination of one or more thereof. Computer storage media are not propagated signals.
"데이터 프로세싱 장치"라는 용어는 예로서, 프로그래밍 가능 프로세서, 컴퓨터, 또는 다수의 프로세서들 또는 컴퓨터들을 포함해서, 데이터를 프로세싱하기 위한 모든 종류의 장치, 디바이스들 및 머신들을 포함한다. 데이터 프로세싱 장치는 특수-목적 로직 회로, 예를 들어 FPGA(field programmable gate array), ASIC(application-specific integrated circuit), 또는 GPU(graphics processing unit)를 포함할 수 있다. 장치는 또한, 하드웨어 외에도, 컴퓨터 프로그램들에 대한 실행 환경을 생성하는 코드, 예를 들어, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 이들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다. The term "data processing apparatus" includes all kinds of apparatus, devices and machines for processing data, including, for example, a programmable processor, a computer, or multiple processors or computers. The data processing device may include a special-purpose logic circuit, for example, a field programmable gate array (FPGA), an application-specific integrated circuit (ASIC), or graphics processing unit (GPU). The device may also include, in addition to hardware, code that creates an execution environment for computer programs, for example, processor firmware, protocol stack, database management system, operating system, or code that constitutes one or more of these. have.
프로그램, 소프트웨어, 소프트웨어 애플리케이션, 앱, 모듈, 소프트웨어 모듈, 엔진, 스크립트, 또는 코드로서 또한 지칭되거나 설명될 수 있는 컴퓨터 프로그램은 컴파일되거나 인터프리팅된 언어들, 선언형 또는 절차형 언어들을 포함한 모든 형태의 프로그래밍 언어로 작성될 수 있으며; 그것은 자립형 프로그램 또는 모듈, 컴포넌트, 엔진, 서브루틴 또는 컴퓨팅 환경에서 실행하기에 적합한 다른 유닛을 포함한 임의의 형태로 배포될 수 있으며, 이 환경은 하나 이상의 위치들에 있는 데이터 통신 네트워크에 의해 상호연결되는 하나 이상의 컴퓨터들을 포함할 수 있다. A computer program, which may also be referred to or described as a program, software, software application, app, module, software module, engine, script, or code, is any form, including compiled or interpreted languages, declarative or procedural languages. Can be written in the programming language of; It can be distributed in any form, including a standalone program or module, component, engine, subroutine or other unit suitable for execution in a computing environment, which environment is interconnected by a data communication network at one or more locations. It may include one or more computers.
컴퓨터 프로그램은 파일 시스템의 파일에 대응할 수 있지만 반드시 대응할 필요는 없을 수 있다. 컴퓨터 프로그램은, 다른 프로그램들 또는 데이터(예를 들어, 마크업 언어 문서에 저장되는 하나 이상의 스크립트들)를 보유하는 파일의 부분에, 문제의 프로그램에 전용된 단일 파일에, 또는 다수의 통합된 파일들(예를 들어, 하나 이상의 모듈들, 서브-프로그램들 또는 코드의 부분들을 저장하는 파일들)에 저장될 수 있다. A computer program may correspond to files in the file system, but may not necessarily correspond. A computer program is part of a file that holds other programs or data (eg, one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or multiple integrated files Field (eg, files that store one or more modules, sub-programs, or portions of code).
본 명세서에서 설명된 프로세스들 및 로직 흐름들은 입력 데이터를 조작하고 출력을 생성함으로써 동작들을 수행하도록 하나 이상의 컴퓨터 프로그램들을 실행하는 하나 이상의 컴퓨터들에 의해 수행될 수 있다. 프로세스 및 로직 흐름들은 또한 특수-목적 로직 회로, 예를 들어 FPGA, ASIC 또는 GPU, 또는 특수-목적 로직 회로 및 하나 이상의 프로그래밍된 컴퓨터들의 조합에 의해 수행될 수 있다. The processes and logic flows described herein can be performed by one or more computers running one or more computer programs to perform operations by manipulating input data and generating output. Process and logic flows may also be performed by a special-purpose logic circuit, such as an FPGA, ASIC or GPU, or a combination of a special-purpose logic circuit and one or more programmed computers.
컴퓨터 프로그램의 실행에 적합한 컴퓨터들은 범용 또는 특수 목적 마이크로프로세서들, 또는 둘 모두 또는 임의의 다른 종류의 중앙 처리 장치에 기초할 수 있다. 일반적으로, 중앙 처리 장치는 판독-전용 메모리 또는 랜덤 액세스 메모리 또는 둘 모두로부터 명령들 및/또는 데이터를 수신할 것이다. 컴퓨터의 엘리먼트들은 명령들을 실행하기 위한 중앙 처리 장치 및 명령들 및/또는 데이터를 저장하기 위한 하나 이상의 메모리 디바이스들을 포함할 수 있다. 중앙 처리 장치 및 메모리는 특수-목적 로직 회로에 의해 보완되거나 또는 거기에 통합될 수 있다. Computers suitable for the execution of a computer program may be based on general purpose or special purpose microprocessors, or both or any other type of central processing unit. Generally, the central processing unit will receive instructions and/or data from read-only memory or random access memory or both. Elements of a computer may include a central processing unit for executing instructions and one or more memory devices for storing instructions and/or data. The central processing unit and memory may be supplemented by, or incorporated in, special-purpose logic circuitry.
일반적으로, 컴퓨터는 적어도 하나의 비-일시적인 컴퓨터-판독 가능 저장 매체(컴퓨터-판독 가능 메모리로서 또한 지칭됨)에 커플링될 것이다. 컴퓨터에 커플링된 저장 매체는 컴퓨터의 내부 컴포넌트들(예를 들어, 통합된 하드 드라이브) 또는 외부 컴포넌트(예를 들어, 범용 직렬 버스(USB) 하드 드라이브 또는 네트워크를 통해 액세스되는 저장 시스템)일 수 있다. 저장 매체의 예들은 예를 들어, 자기, 자기-광학 또는 광학 디스크들, 솔리드 스테이트 드라이브들, 클라우드 저장 시스템들과 같은 네트워크 저장 자원들, 또는 다른 유형들의 저장 매체를 포함할 수 있다. 그러나 컴퓨터는 이러한 디바이스들을 가질 필요가 없다. 또한, 컴퓨터는 다른 디바이스, 예를 들어, 몇 개만 언급하면, 모바일 전화, 개인용 디지털 보조기기(PDA), 모바일 오디오 또는 비디오 플레이어, 게임 콘솔, 글로벌 포지셔닝 시스템(GPS) 수신기 또는 휴대용 저장 디바이스, 예를 들어 범용 직렬 버스 (USB) 플래시 드라이브에 임베딩될 수 있다. Generally, the computer will be coupled to at least one non-transitory computer-readable storage medium (also referred to as computer-readable memory). The storage medium coupled to the computer can be internal components of the computer (eg, an integrated hard drive) or external components (eg, a universal serial bus (USB) hard drive or a storage system accessed over a network). have. Examples of storage media may include, for example, magnetic, magneto-optical or optical disks, solid state drives, network storage resources such as cloud storage systems, or other types of storage media. However, the computer need not have these devices. In addition, the computer may be a mobile device, a personal digital assistant (PDA), a mobile audio or video player, a game console, a Global Positioning System (GPS) receiver or a portable storage device, to name just a few, for example, other devices. For example, it can be embedded in a universal serial bus (USB) flash drive.
사용자와의 상호작용을 제공하기 위해, 본 명세서에 설명된 청구 대상의 구현들은 정보를 사용자에게 디스플레이하기 위한 디스플레이 디바이스 예를 들어, LCD(liquid crystal display) 모니터, 및 사용자가 입력을 컴퓨터에 제공할 수 있게 하는 입력 디바이스, 예를 들어 키보드 및 포인팅 디바이스, 예를 들어 마우스, 트랙볼 또는 터치패드를 갖는 컴퓨터 상에 구현되거나, 이 컴퓨터와 통신하도록 구성될 수 있다. 다른 종류들의 디바이스들은 또한, 사용자와의 상호작용을 제공하기 위해 사용될 수 있으며, 예를 들어, 사용자에게 제공된 피드백은 임의의 형태의 감각 피드백 예를 들어, 시각 피드백, 청각 피드백, 또는 촉각 피드백일 수 있고; 사용자로부터의 입력은 음향, 스피치, 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다. 게다가, 컴퓨터는 사용자에 의해 사용되는 디바이스에 문서들을 전송하고 이 디바이스로부터 문서들을 수신함으로써, 예를 들어, 웹 브라우저로부터 수신된 요청들에 대한 응답으로 사용자의 디바이스 상의 웹 브라우저에 웹 페이지들을 전송함으로써, 또는 사용자 디바이스 예를 들어, 스마트폰 또는 전자 태블릿 상에서 실행되는 앱과 상호작용함으로써 사용자와 상호작용할 수 있다. 또한, 컴퓨터는 텍스트 메시지 또는 다른 형태들의 메시지를 개인용 디바이스, 예를 들어 메시징 애플리케이션을 실행하는 스마트 폰에 전송하고 답신으로 사용자로부터 응답 메시지를 수신함으로써 사용자와 상호작용할 수 있다. To provide interaction with a user, implementations of the claimed subject matter described herein are display devices for displaying information to the user, such as a liquid crystal display (LCD) monitor, and the user providing input to the computer. It can be implemented on a computer having an input device, such as a keyboard and pointing device, such as a mouse, trackball or touchpad, or configured to communicate with the computer. Other types of devices can also be used to provide interaction with the user, for example, the feedback provided to the user can be any form of sensory feedback, such as visual feedback, auditory feedback, or tactile feedback. There is; Input from the user may be received in any form, including acoustic, speech, or tactile input. In addition, the computer sends documents to the device used by the user and receives documents from the device, for example by sending web pages to a web browser on the user's device in response to requests received from the web browser. Or, it can interact with the user by interacting with an app running on a user device, for example, a smartphone or an electronic tablet. In addition, the computer can interact with the user by sending a text message or other type of message to a personal device, for example a smart phone running a messaging application, and receiving a response message from the user in response.
본 명세서는 시스템들, 장치 및 컴퓨터 프로그램 컴포넌트들과 관련하여 "~ 하도록 구성된"이라는 용어를 사용한다. 하나 이상의 컴퓨터들의 시스템이 특정 동작들 또는 액션들을 수행하도록 구성된다는 것은, 시스템에는, 동작 시에 시스템이 동작들 또는 액션들을 수행하게 하는 소프트웨어, 펌웨어, 하드웨어 또는 이들의 조합이 설치되어 있음을 의미한다. 하나 이상의 컴퓨터 프로그램들이 특정 동작들 또는 액션들을 수행하도록 구성된다는 것은, 하나 이상의 프로그램들이, 데이터 프로세싱 장치에 의해 실행될 때, 장치로 하여금 동작들 또는 액션들을 수행하게 하는 명령들을 포함한다는 것을 의미한다. 특수-목적 로직 회로가 특정 동작들 또는 액션들을 수행하도록 구성된다는 것은, 회로가 동작들 또는 액션들을 수행하는 전자 로직을 갖는다는 것을 의미한다. This specification uses the term "configured to" in relation to systems, devices and computer program components. A system of one or more computers configured to perform certain actions or actions means that the system is installed with software, firmware, hardware, or combinations thereof that, upon operation, cause the system to perform actions or actions. . By configuring one or more computer programs to perform specific actions or actions, it is meant that the one or more programs include instructions that, when executed by the data processing apparatus, cause the device to perform the actions or actions. When a special-purpose logic circuit is configured to perform certain actions or actions, it means that the circuit has electronic logic to perform the actions or actions.
본 명세서가 다수의 특정 구현 세부사항들을 포함하지만, 이들은 청구항들 그 자체들에 의해 정의되는 청구되는 대상의 범위에 관한 제한들로서 해석되어서는 안 되며, 오히려, 특정 구현들에 특유할 수 있는 특징들의 설명들로서 해석되어야 한다. 별개의 구현들의 맥락에서 본 명세서에 설명된 소정의 특징들은 또한, 단일 구현으로 조합하여 실현될 수 있다. 대조적으로, 단일 구현의 맥락에서 설명된 다양한 특징들은 또한, 다수의 구현들에서 개별적으로 또는 임의의 적합한 서브조합으로 실현될 수 있다. 더욱이, 특징들이 소정의 조합들로 작용하는 것으로 위에서 설명되고 심지어 초기에 이와 같이 청구될 수 있지만, 일부 경우들에서, 청구된 조합으로부터의 하나 이상의 특징들은 그 조합으로부터 제거될 수 있고, 청구항은 서브조합 또는 서브조합의 변동과 관련될 수 있다. Although this specification contains a number of specific implementation details, these should not be construed as limitations on the scope of the claimed subject matter defined by the claims themselves, but rather, of features that may be specific to specific implementations. It should be interpreted as explanations. Certain features that are described in this specification in the context of separate implementations can also be realized in combination in a single implementation. In contrast, various features that are described in the context of a single implementation can also be realized individually or in any suitable subcombination in multiple implementations. Moreover, although the features are described above as functioning in certain combinations and may even be initially claimed as such, in some cases, one or more features from the claimed combination may be removed from the combination, and the claims subcombined Or it may be related to the variation of the subcombination.
유사하게, 동작들이 특정한 순서로 도면들에 도시되고 청구항들에서 나열되지만, 이것은, 바람직한 결과들을 달성하기 위해, 그러한 동작들이 도시된 특정 순서 또는 순차적인 순서로 수행되거나, 모든 예시된 동작들이 수행될 것을 요구하는 것으로서 이해되지는 않아야 한다. 소정의 환경들에서, 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 또한, 위에서 설명된 구현에서의 다양한 시스템 모듈들 및 컴포넌트들의 분리는 모든 구현들에서 그러한 분리를 요구하는 것으로서 이해되지는 않아야 하고, 그리고 설명된 프로그램 컴포넌트들 및 시스템들이 일반적으로, 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품들로 패키징될 수 있다는 것이 이해되어야 한다. Similarly, although the operations are shown in the drawings in a particular order and listed in the claims, this is to ensure that, in order to achieve desirable results, such operations are performed in the particular order shown or in sequential order, or that all illustrated actions are performed It is not to be understood as asking for something. In certain environments, multitasking and parallel processing can be advantageous. Also, the separation of various system modules and components in the implementation described above should not be understood as requiring such separation in all implementations, and the described program components and systems are generally brought together in a single software product. It should be understood that it can be integrated or packaged into multiple software products.
청구대상의 특정 구현들이 설명되었다. 다른 구현들은 다음의 청구항들의 범위 내에 존재한다. 예를 들어, 청구항들에서 열거된 액션들은, 상이한 순서로 수행될 수 있으며, 그럼에도 불구하고 원하는 결과들을 달성할 수 있다. 일 예로서, 첨부한 도면들에 도시된 프로세스들은 바람직한 결과들을 달성하기 위해, 도시된 특정한 순서 또는 순차적인 순서를 반드시 요구하지는 않는다. 일부 경우들에서, 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. Certain implementations of the subject matter have been described. Other implementations are within the scope of the following claims. For example, the actions listed in the claims can be performed in a different order and nevertheless achieve the desired results. As an example, the processes shown in the accompanying drawings do not necessarily require the specific order or sequential order shown to achieve desirable results. In some cases, multitasking and parallel processing may be advantageous.
Claims (19)
적어도 하나의 계정과 연관된 개인 트랜잭션을 수행하라는 요청을 수신하는 단계;
상기 요청을 수신하는 것에 응답하여, 워크플로우 노드(workflow node)에 의해, 상기 개인 트랜잭션을 수행하는 단계;
상기 개인 트랜잭션을 수행하는 것에 응답하여, 상기 워크플로우 노드에 의해, 상기 개인 트랜잭션에 액세스하도록 인가된(authorized) 엔티티들만이 액세스 가능하도록 구성된 상기 개인 트랜잭션의 표현(representation)을 생성하는 단계;
상기 개인 트랜잭션의 표현을 개인 블록체인에 저장하는 단계;
상기 워크플로우 노드에 의해, 상기 개인 트랜잭션에 적어도 부분적으로 기초하여 상기 개인 트랜잭션과 연관된 상기 적어도 하나의 계정에 대한 계정 레코드를 생성하는 단계 ― 상기 계정 레코드는, 상기 개인 블록체인 내의 상기 개인 트랜잭션의 표현에 액세스하도록 인가되지 않은 적어도 하나의 엔티티가 액세스 가능하도록 구성됨 ― ; 및
상기 계정 레코드를 공개 블록체인에 저장하는 단계
를 포함하는 컴퓨터-구현 방법.As a computer-implemented method for protecting sensitive data stored on the blockchain,
Receiving a request to perform a personal transaction associated with at least one account;
In response to receiving the request, performing, by a workflow node, the personal transaction;
In response to performing the personal transaction, generating, by the workflow node, a representation of the personal transaction configured to be accessible only by entities authorized to access the personal transaction;
Storing the representation of the personal transaction in a personal blockchain;
Creating, by the workflow node, an account record for the at least one account associated with the personal transaction based at least in part on the personal transaction, wherein the account record is a representation of the personal transaction in the personal blockchain; Configured to be accessible by at least one entity not authorized to access the ―; And
Storing the account record in a public blockchain
Computer-implemented method comprising a.
상기 데이터스토어는 상기 개인 블록체인과는 별개이고,
상기 개인 트랜잭션의 표현을 생성하는 단계는, 상기 개인 트랜잭션과 연관된 해시 값을 생성하는 단계를 포함하는 것인 컴퓨터-구현 방법.The method of claim 1, wherein the method further comprises, by the workflow node, storing the personal transaction in a datastore of the workflow node,
The data store is separate from the personal blockchain,
The step of generating a representation of the personal transaction comprises generating a hash value associated with the personal transaction.
상기 개인 트랜잭션을 수행하는 단계는, 상기 개인 트랜잭션에 기초하여 상기 계정 레코드의 상기 로컬 표현을 수정하는 단계를 포함하고;
상기 적어도 하나의 계정 레코드는, 상기 계정 레코드의 상기 로컬 표현에서의 정보의 서브세트를 포함하는 것인 컴퓨터-구현 방법.The method of claim 1, further comprising: maintaining, by the workflow node, a local representation of the account record for the at least one account;
The step of performing the personal transaction includes modifying the local representation of the account record based on the personal transaction;
And the at least one account record comprises a subset of information in the local representation of the account record.
상기 방법은,
상기 제 1 개인 트랜잭션과는 상이한 제 2 개인 트랜잭션의 표현을, 상기 제 1 개인 블록체인과는 별개의 제 2 개인 블록체인에 저장하는 단계; 및
상기 제 2 개인 트랜잭션과 연관된 계정에 대한 계정 레코드를 상기 공개 블록체인에 저장하는 단계
를 더 포함하는 컴퓨터-구현 방법.The method of claim 1, wherein the personal blockchain is a first personal blockchain, and the personal transaction is a first personal transaction,
The above method,
Storing a representation of a second personal transaction different from the first personal transaction in a second personal blockchain separate from the first personal blockchain; And
Storing account records for the account associated with the second personal transaction in the public blockchain
Computer-implemented method further comprising.
상기 비-일시적인 컴퓨터-판독 가능 저장 매체는, 하나 이상의 컴퓨터에 커플링되고,
적어도 하나의 계정과 연관된 개인 트랜잭션을 수행하라는 요청을 수신하고;
상기 요청을 수신하는 것에 응답하여, 워크플로우 노드에 의해, 상기 개인 트랜잭션을 수행하고;
상기 개인 트랜잭션을 수행하는 것에 응답하여, 상기 워크플로우 노드에 의해, 상기 개인 트랜잭션에 액세스하도록 인가된 엔티티들만이 액세스 가능하도록 구성된 개인 트랜잭션의 표현을 생성하고;
상기 개인 트랜잭션의 표현을 개인 블록체인에 저장하고;
상기 워크플로우 노드에 의해, 상기 개인 트랜잭션에 적어도 부분적으로 기초하여 상기 개인 트랜잭션과 연관된 상기 적어도 하나의 계정에 대한 계정 레코드를 생성하고 ― 상기 계정 레코드는, 상기 개인 블록체인 내의 상기 개인 트랜잭션의 표현에 액세스하도록 인가되지 않은 적어도 하나의 엔티티가 액세스 가능하도록 구성됨 ― ; 그리고
상기 계정 레코드를 공개 블록체인에 저장하도록
상기 하나 이상의 컴퓨터에 의해 실행 가능한 명령어들로 구성(configure)되는 것인 비-일시적인 컴퓨터-판독 가능 저장 매체.A non-transitory computer-readable storage medium,
The non-transitory computer-readable storage medium is coupled to one or more computers,
Receive a request to perform a personal transaction associated with at least one account;
In response to receiving the request, by the workflow node, performing the personal transaction;
In response to performing the personal transaction, generate, by the workflow node, a representation of a personal transaction configured to be accessible only by entities authorized to access the personal transaction;
Storing the representation of the personal transaction in a personal blockchain;
Creating an account record for the at least one account associated with the personal transaction based at least in part on the personal transaction by the workflow node, wherein the account record is used to represent the personal transaction in the personal blockchain; At least one entity not authorized to access is configured to be accessible; And
To store the account record on the public blockchain
A non-transitory computer-readable storage medium comprising instructions executable by the one or more computers.
상기 워크플로우 노드에 의해, 상기 워크플로우 노드의 데이터스토어에 상기 개인 트랜잭션을 저장하도록 ― 상기 데이터스토어는 상기 개인 블록체인과는 별개이고, 상기 개인 트랜잭션의 표현을 생성하는 것은 상기 개인 트랜잭션과 연관된 해시 값을 생성하는 것을 포함함 -
상기 하나 이상의 컴퓨터에 의해 실행 가능한 명령어들로 또한 구성되는 것인 비-일시적인 컴퓨터-판독 가능 저장 매체.The method of claim 10,
By the workflow node to store the personal transaction in a datastore of the workflow node-the datastore is separate from the personal blockchain, and generating a representation of the personal transaction is a hash associated with the personal transaction Includes generating values-
A non-transitory computer-readable storage medium also consisting of instructions executable by the one or more computers.
상기 워크플로우 노드에 의해, 상기 적어도 하나의 계정에 대한 계정 레코드의 로컬 표현을 유지하도록
상기 하나 이상의 컴퓨터에 의해 실행 가능한 명령어들로 또한 구성되고,
상기 개인 트랜잭션을 수행하는 것은, 상기 개인 트랜잭션에 기초하여 상기 계정 레코드의 상기 로컬 표현을 수정하는 것을 포함하고,
상기 적어도 하나의 계정 레코드는, 상기 계정 레코드의 상기 로컬 표현에서의 정보의 서브세트를 포함하는 것인 비-일시적인 컴퓨터-판독 가능 저장 매체.The method of claim 10,
By the workflow node, to maintain a local representation of the account records for the at least one account
It is also composed of instructions executable by the one or more computers,
Performing the personal transaction includes modifying the local representation of the account record based on the personal transaction,
And the at least one account record includes a subset of information in the local representation of the account record.
상기 공개 블록체인에의 계정의 대응하는 저장이 수행되지 않은 개인 트랜잭션들의 다른 표현들을 상기 개인 블록체인에 저장하도록
상기 하나 이상의 컴퓨터에 의해 실행 가능한 명령어들로 또한 구성되는 것인 비-일시적인 컴퓨터-판독 가능 저장 매체.The method of claim 10,
To store other representations of personal transactions in which the corresponding storage of the account in the public blockchain has not been performed in the personal blockchain
A non-transitory computer-readable storage medium also consisting of instructions executable by the one or more computers.
공개/개인 키쌍의 공개 키로 암호화된 상기 개인 트랜잭션의 암호화된 사본을, 상기 개인 블록체인과는 별개의 데이터스토어에 저장하도록
상기 하나 이상의 컴퓨터에 의해 실행 가능한 명령어들로 또한 구성되는 것인 비-일시적인 컴퓨터-판독 가능 저장 매체.The method of claim 10,
To store an encrypted copy of the private transaction encrypted with the public/private key pair's public key in a datastore separate from the private blockchain.
A non-transitory computer-readable storage medium also consisting of instructions executable by the one or more computers.
상기 컴퓨터-판독 가능 매체는,
상기 제 1 개인 트랜잭션과는 상이한 제 2 개인 트랜잭션의 표현을, 상기 제 1 개인 블록체인과는 별개의 제 2 개인 블록체인에 저장하고; 그리고
상기 제 2 개인 트랜잭션과 연관된 계정에 대한 계정 레코드를 상기 공개 블록체인에 저장하도록
상기 하나 이상의 컴퓨터에 의해 실행 가능한 명령어들로 또한 구성되는 것인 비-일시적인 컴퓨터-판독 가능 저장 매체.The method of claim 10, wherein the personal blockchain is a first personal blockchain, and the personal transaction is a first personal transaction,
The computer-readable medium,
Storing a representation of a second private transaction different from the first private transaction in a second private blockchain separate from the first private blockchain; And
To store account records for the account associated with the second personal transaction in the public blockchain
A non-transitory computer-readable storage medium also consisting of instructions executable by the one or more computers.
하나 이상의 컴퓨터; 및
하나 이상의 컴퓨터-판독 가능 메모리
를 포함하고,
상기 하나 이상의 컴퓨터-판독 가능 메모리는, 상기 하나 이상의 컴퓨터에 커플링되고,
적어도 하나의 계정과 연관된 개인 트랜잭션을 수행하라는 요청을 수신하고;
상기 요청을 수신하는 것에 응답하여, 워크플로우 노드에 의해, 상기 개인 트랜잭션을 수행하고;
상기 개인 트랜잭션을 수행하는 것에 응답하여, 상기 워크플로우 노드에 의해, 상기 개인 트랜잭션에 액세스하도록 인가된 엔티티들만이 액세스 가능하도록 구성된 상기 개인 트랜잭션의 표현을 생성하고;
상기 개인 트랜잭션의 표현을 개인 블록체인에 저장하고;
상기 워크플로우 노드에 의해, 상기 개인 트랜잭션에 적어도 부분적으로 기초하여 상기 개인 트랜잭션과 연관된 상기 적어도 하나의 계정에 대한 계정 레코드를 생성하고 ― 상기 계정 레코드는 상기 개인 블록체인 내의 상기 개인 트랜잭션의 표현에 액세스하도록 인가되지 않은 적어도 하나의 엔티티가 액세스 가능하도록 구성됨 ― ; 그리고
상기 계정 레코드를 공개 블록체인에 저장하도록
상기 하나 이상의 컴퓨터에 의해 실행 가능한 명령어들로 구성되는 것인 시스템.As a system,
One or more computers; And
One or more computer-readable memory
Including,
The one or more computer-readable memories coupled to the one or more computers,
Receive a request to perform a personal transaction associated with at least one account;
In response to receiving the request, by the workflow node, performing the personal transaction;
In response to performing the personal transaction, generate, by the workflow node, a representation of the personal transaction configured to be accessible only by entities authorized to access the personal transaction;
Storing the representation of the personal transaction in a personal blockchain;
Create, by the workflow node, an account record for the at least one account associated with the personal transaction based at least in part on the personal transaction, the account record accessing a representation of the personal transaction in the personal blockchain Configured to be accessible by at least one entity not authorized to do so; And
To store the account record on the public blockchain
And consisting of instructions executable by the one or more computers.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2018/122166 WO2019072299A2 (en) | 2018-12-19 | 2018-12-19 | Data isolation in a blockchain network |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200078420A true KR20200078420A (en) | 2020-07-01 |
KR102303376B1 KR102303376B1 (en) | 2021-09-24 |
Family
ID=66100121
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020197022207A KR102303376B1 (en) | 2018-12-19 | 2018-12-19 | Data Isolation in Blockchain Networks |
Country Status (10)
Country | Link |
---|---|
US (3) | US10628605B2 (en) |
EP (1) | EP3559885B1 (en) |
JP (1) | JP6883110B2 (en) |
KR (1) | KR102303376B1 (en) |
CN (1) | CN110088793B (en) |
MY (1) | MY194395A (en) |
PH (1) | PH12019501713A1 (en) |
SG (1) | SG11201906838QA (en) |
TW (1) | TWI705689B (en) |
WO (1) | WO2019072299A2 (en) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111194441B (en) * | 2018-04-25 | 2023-10-10 | 重庆小雨点小额贷款有限公司 | Data management method and related system based on block chain |
US11216573B1 (en) * | 2018-08-06 | 2022-01-04 | United Services Automobile Association (Usaa) | Privacy preservation in private consensus networks |
US11164180B1 (en) | 2018-08-06 | 2021-11-02 | United Services Automobile Association (Usaa) | Privacy preservation in private consensus networks |
EP3559885B1 (en) | 2018-12-19 | 2022-08-24 | Advanced New Technologies Co., Ltd. | Data isolation in a blockchain network |
CN111164935B (en) * | 2019-05-31 | 2023-08-22 | 创新先进技术有限公司 | Systems and methods for providing privacy and security protection in blockchain-based private transactions |
WO2021009390A1 (en) * | 2019-07-18 | 2021-01-21 | Allfunds Bank, S.A.U | Arrangement of blockchains with restricted transaction |
EP4012591A4 (en) * | 2019-08-06 | 2022-09-21 | Sony Group Corporation | Information processing device, information processing method, and program |
SG11202003810RA (en) * | 2019-08-27 | 2020-05-28 | Advanced New Technologies Co Ltd | System and method for registering subscribable sub-states in blockchain |
US11277260B2 (en) | 2019-09-17 | 2022-03-15 | International Business Machines Corporation | Off-chain notification of updates from a private blockchain |
CN110706108B (en) * | 2019-09-30 | 2021-08-03 | 支付宝(杭州)信息技术有限公司 | Method and apparatus for concurrently executing transactions in a blockchain |
US11290294B2 (en) * | 2019-10-04 | 2022-03-29 | Sap Se | Collaboration hub with blockchain verification |
CN111027973A (en) * | 2019-12-04 | 2020-04-17 | 杭州复杂美科技有限公司 | Transfer certificate authorization submitting method, device and storage medium |
US20210250219A1 (en) * | 2020-02-07 | 2021-08-12 | Bank Of America Corporation | System for integration and interoperability between disparate distributed server technologies |
US20240185199A1 (en) * | 2020-03-12 | 2024-06-06 | Logisteed, Ltd. | Payment remittance support system, information processing apparatus, payment remittance support method, and storage medium |
CN111489156A (en) * | 2020-03-18 | 2020-08-04 | 平安国际智慧城市科技股份有限公司 | Transaction method based on block chain, electronic device and readable storage medium |
CN111989707B (en) * | 2020-06-08 | 2024-04-16 | 支付宝实验室(新加坡)有限公司 | Managing user rights for blockchain-based customs clearance services |
WO2020169125A2 (en) | 2020-06-08 | 2020-08-27 | Alipay Labs (singapore) Pte. Ltd. | Blockchain-based document registration for custom clearance |
WO2020169122A2 (en) | 2020-06-08 | 2020-08-27 | Alipay Labs (singapore) Pte. Ltd. | Blockchain-based import custom clearance data processing |
EP3841491B1 (en) | 2020-06-08 | 2023-08-02 | Alipay Labs (Singapore) Pte. Ltd. | Blockchain-based smart contract pools |
CN114930330A (en) | 2020-06-08 | 2022-08-19 | 支付宝实验室(新加坡)有限公司 | User management of customs clearance service platform based on block chain |
WO2020169124A2 (en) | 2020-06-08 | 2020-08-27 | Alipay Labs (singapore) Pte. Ltd. | Distributed storage of custom clearance data |
US11853291B2 (en) * | 2020-07-06 | 2023-12-26 | International Business Machines Corporation | Privacy preserving architecture for permissioned blockchains |
CN113302612B (en) * | 2020-11-25 | 2022-12-20 | 支付宝(杭州)信息技术有限公司 | Computer implementation method, system and device for cross-chain and cross-network data transmission |
US12010226B2 (en) * | 2021-03-17 | 2024-06-11 | International Business Machines Corporation | Blockchain data segregation |
CN113726747B (en) * | 2021-08-11 | 2022-07-12 | 东南大学 | Industrial Internet data access control system based on block chain |
CN114510540A (en) * | 2022-04-19 | 2022-05-17 | 北京微芯感知科技有限公司 | Data processing method, calculation storage separation system and block chain network architecture |
CN115659410A (en) * | 2022-07-29 | 2023-01-31 | 湖南工商大学 | Guarantee network security's wisdom medical insurance payment system |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170230375A1 (en) * | 2016-02-10 | 2017-08-10 | Bank Of America Corporation | System for centralized control of secure access to process data network |
US20180068130A1 (en) * | 2016-09-02 | 2018-03-08 | The Toronto-Dominion Bank | System and method for maintaining a segregated database in a multiple distributed ledger system |
US20180349621A1 (en) * | 2017-06-01 | 2018-12-06 | Schvey, Inc. d/b/a/ Axoni | Distributed privately subspaced blockchain data structures with secure access restriction management |
Family Cites Families (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9298387B2 (en) * | 2013-07-17 | 2016-03-29 | International Business Machines Corporation | Recovering from a pending uncompleted reorganization of a data set |
WO2015142765A1 (en) * | 2014-03-17 | 2015-09-24 | Coinbase, Inc | Bitcoin host computer system |
US20170085555A1 (en) | 2015-07-14 | 2017-03-23 | Fmr Llc | Point-to-Point Transaction Guidance Apparatuses, Methods and Systems |
CN105488675B (en) * | 2015-11-25 | 2019-12-24 | 布比(北京)网络技术有限公司 | Block chain distributed shared general ledger construction method |
US10026118B2 (en) * | 2016-02-22 | 2018-07-17 | Bank Of America Corporation | System for allowing external validation of data in a process data network |
US10135870B2 (en) * | 2016-02-22 | 2018-11-20 | Bank Of America Corporation | System for external validation of secure process transactions |
US10992649B2 (en) * | 2016-04-01 | 2021-04-27 | Consensys Software Inc. | Systems and methods for privacy in distributed ledger transactions |
CN109313753A (en) * | 2016-04-01 | 2019-02-05 | 摩根大通国家银行 | System and method for providing data privacy in private distributed ledgers |
WO2017189027A1 (en) * | 2016-04-29 | 2017-11-02 | Digital Asset Holdings | Digital asset modeling |
US20170331896A1 (en) * | 2016-05-13 | 2017-11-16 | De La Rue International Limited | Methods and systems for processing assets |
US10826685B1 (en) | 2016-06-28 | 2020-11-03 | Amazon Technologies, Inc. | Combined blockchain integrity |
KR101841566B1 (en) | 2016-10-11 | 2018-05-04 | 주식회사 코인플러그 | Method for issuing, using, refunding, settling and revocating electric voucher using updated status of balance database by respective blocks in blockchain, and server using the same |
US10361853B2 (en) * | 2016-10-12 | 2019-07-23 | Bank Of America Corporation | Automated data authentication and service authorization via cryptographic keys in a private blockchain |
US10158611B2 (en) * | 2016-11-17 | 2018-12-18 | Bank Of America Corporation | System for multiplexing and demultiplexing blockchain ledgers via a cryptographic hash |
US10355869B2 (en) * | 2017-01-12 | 2019-07-16 | International Business Machines Corporation | Private blockchain transaction management and termination |
US10810290B2 (en) * | 2017-03-05 | 2020-10-20 | Ronald H Minter | Robust method and an apparatus for authenticating a client in non-face-to-face online interactions based on a combination of live biometrics, biographical data, blockchain transactions and signed digital certificates |
JPWO2018174112A1 (en) * | 2017-03-21 | 2020-05-14 | 渡辺 浩志 | Device authentication technology on the network |
JP6199518B1 (en) * | 2017-03-23 | 2017-09-20 | 株式会社bitFlyer | Private node, processing method in private node, and program therefor |
CN107196900B (en) * | 2017-03-24 | 2020-04-24 | 创新先进技术有限公司 | Consensus checking method and device |
US20180285839A1 (en) * | 2017-04-04 | 2018-10-04 | Datient, Inc. | Providing data provenance, permissioning, compliance, and access control for data storage systems using an immutable ledger overlay network |
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 |
US11922363B2 (en) * | 2017-07-05 | 2024-03-05 | United Parcel Service Of America, Inc. | Counterparty physical proximity verification for digital asset transfers |
WO2019018776A1 (en) * | 2017-07-21 | 2019-01-24 | Patientory, Inc. | Blockchain network for secure exchange of healthcare information |
US11196552B2 (en) * | 2017-08-04 | 2021-12-07 | Truss Financial, LLC | Secure data distribution protocol using blockchains |
US10762478B1 (en) | 2017-08-04 | 2020-09-01 | Wells Fargo Bank, N.A. | Creating and managing private electronic currency |
US10614661B2 (en) * | 2017-10-31 | 2020-04-07 | Americorp Investments Llc | Management of virtual goods in distributed multi-ledger gambling architecture |
CN108154367B (en) * | 2017-12-26 | 2021-07-02 | 成都质数斯达克科技有限公司 | Block chain service checking method and device |
US11449842B2 (en) * | 2018-02-23 | 2022-09-20 | Jpmorgan Chase Bank, N.A. | Systems and methods for private settlement of distributed ledger transactions |
US20190303623A1 (en) * | 2018-04-02 | 2019-10-03 | Ca, Inc. | Promotion smart contracts for software development processes |
US10928803B2 (en) * | 2018-05-02 | 2021-02-23 | Rockwell Automation Technologies, Inc. | Managing blockchains for multiple components in an industrial facility |
US20190354606A1 (en) * | 2018-05-18 | 2019-11-21 | Factom | Private Cryptocoinage in Blockchain Environments |
CN108805656B (en) * | 2018-05-22 | 2021-01-26 | 北京京东尚科信息技术有限公司 | Supply and demand matching method, platform, system and computer readable storage medium |
CN108805568A (en) * | 2018-05-28 | 2018-11-13 | 夸克链科技(深圳)有限公司 | A kind of intelligent coordinated trade mode of block chain |
US11328347B2 (en) * | 2018-06-28 | 2022-05-10 | International Business Machines Corporation | Rental asset processing for blockchain |
US10984410B2 (en) * | 2018-11-15 | 2021-04-20 | Adobe Inc. | Entity-sovereign data wallets using distributed ledger technology |
US20200167769A1 (en) * | 2018-11-27 | 2020-05-28 | Its, Inc. | Distributed ledger settlement transactions |
US11127000B2 (en) * | 2018-12-17 | 2021-09-21 | Intel Corporation | Reducing blockchain transaction delay |
EP3559885B1 (en) | 2018-12-19 | 2022-08-24 | Advanced New Technologies Co., Ltd. | Data isolation in a blockchain network |
-
2018
- 2018-12-19 EP EP18866463.5A patent/EP3559885B1/en active Active
- 2018-12-19 CN CN201880004861.3A patent/CN110088793B/en active Active
- 2018-12-19 JP JP2019540580A patent/JP6883110B2/en active Active
- 2018-12-19 SG SG11201906838QA patent/SG11201906838QA/en unknown
- 2018-12-19 MY MYPI2019004243A patent/MY194395A/en unknown
- 2018-12-19 WO PCT/CN2018/122166 patent/WO2019072299A2/en unknown
- 2018-12-19 KR KR1020197022207A patent/KR102303376B1/en active IP Right Grant
-
2019
- 2019-05-23 US US16/421,170 patent/US10628605B2/en active Active
- 2019-07-19 TW TW108125579A patent/TWI705689B/en active
- 2019-07-25 PH PH12019501713A patent/PH12019501713A1/en unknown
-
2020
- 2020-02-28 US US16/805,492 patent/US11074358B2/en active Active
- 2020-12-14 US US17/121,181 patent/US11106817B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170230375A1 (en) * | 2016-02-10 | 2017-08-10 | Bank Of America Corporation | System for centralized control of secure access to process data network |
US20180068130A1 (en) * | 2016-09-02 | 2018-03-08 | The Toronto-Dominion Bank | System and method for maintaining a segregated database in a multiple distributed ledger system |
US20180349621A1 (en) * | 2017-06-01 | 2018-12-06 | Schvey, Inc. d/b/a/ Axoni | Distributed privately subspaced blockchain data structures with secure access restriction management |
Also Published As
Publication number | Publication date |
---|---|
TW202025663A (en) | 2020-07-01 |
JP6883110B2 (en) | 2021-06-09 |
WO2019072299A2 (en) | 2019-04-18 |
EP3559885A2 (en) | 2019-10-30 |
TWI705689B (en) | 2020-09-21 |
EP3559885B1 (en) | 2022-08-24 |
CN110088793A (en) | 2019-08-02 |
US20200202035A1 (en) | 2020-06-25 |
MY194395A (en) | 2022-11-30 |
EP3559885A4 (en) | 2020-01-08 |
JP2020512716A (en) | 2020-04-23 |
SG11201906838QA (en) | 2019-08-27 |
US11106817B2 (en) | 2021-08-31 |
US10628605B2 (en) | 2020-04-21 |
US20210097196A1 (en) | 2021-04-01 |
US20190286838A1 (en) | 2019-09-19 |
WO2019072299A3 (en) | 2019-08-08 |
PH12019501713A1 (en) | 2020-02-24 |
US11074358B2 (en) | 2021-07-27 |
KR102303376B1 (en) | 2021-09-24 |
CN110088793B (en) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102303376B1 (en) | Data Isolation in Blockchain Networks | |
US10678597B2 (en) | Event-driven blockchain workflow processing | |
EP3560143B1 (en) | Data isolation in a blockchain network | |
JP6892513B2 (en) | Off-chain smart contract service based on a reliable execution environment | |
KR102289612B1 (en) | Parallel execution of transactions in a distributed ledger system | |
KR20200083936A (en) | Parallel execution of transactions on the blockchain network | |
KR102337171B1 (en) | Method and device for avoiding double consumption problem in blockchain technology based on read-write set model | |
US20220311595A1 (en) | Reducing transaction aborts in execute-order-validate blockchain models | |
CN113409131A (en) | Asset information management method, device, equipment, storage medium and program product |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
N231 | Notification of change of applicant | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |