KR102164779B1 - Blockchains with modifiable recorded transactions - Google Patents
Blockchains with modifiable recorded transactions Download PDFInfo
- Publication number
- KR102164779B1 KR102164779B1 KR1020190033315A KR20190033315A KR102164779B1 KR 102164779 B1 KR102164779 B1 KR 102164779B1 KR 1020190033315 A KR1020190033315 A KR 1020190033315A KR 20190033315 A KR20190033315 A KR 20190033315A KR 102164779 B1 KR102164779 B1 KR 102164779B1
- Authority
- KR
- South Korea
- Prior art keywords
- transaction
- block
- modification
- approval
- blockchain
- Prior art date
Links
Images
Classifications
-
- 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
- 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/389—Keeping log of transactions for guaranteeing non-repudiation of a transaction
-
- 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
-
- 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
Abstract
블록체인에 이미 기록된 거래를 수정할 수 있는 방법 및 시스템이 개시된다. 블록체인 기반 거래 관리 방법은 거래의 승인을 증명받기 위한 거래승인 블록 및 거래의 수정을 증명받기 위한 거래수정 블록을 이용하여 거래의 승인과 수정을 구별하여 블록의 채굴을 진행하는 단계를 포함할 수 있다.A method and system that can modify transactions already recorded on the blockchain is disclosed. Blockchain-based transaction management method may include the step of performing block mining by distinguishing between approval and modification of the transaction using a transaction approval block to verify the approval of the transaction and a transaction modification block to verify the modification of the transaction. have.
Description
아래의 설명은 블록체인에 이미 기록된 거래를 정당한 절차에 따라 블록체인의 연결 구조를 변화시키지 않으면서 수정할 수 있게 하는 방법에 관한 것이다.The description below is about how to make it possible to modify transactions already recorded on the blockchain according to a legitimate procedure without changing the connection structure of the blockchain.
블록체인은 거래내역을 중앙서버에 관리하는 대신에 분산 네트워크의 참여자들이 공동으로 기록하여 관리하는 분산원장(distributed ledger) 또는 그것을 가능하게 하는 기술을 통칭할 수 있다. 이러한 블록체인 모델은 비트코인의 경우와 유사하게 정해진 시간(비트코인의 경우 매 10분)마다 새로운 블록(많은 거래내역이 기록된 원장)이 계산되어 블록체인에 추가하고, 그 계산에 대한 보상으로 지급되는 암호화폐가 존재한다고 가정한다. 이때 정해진 시간을 회전이라고 하고, 순차적인 회전의 진행을 표시하는 ( )을 이용하여, 회전을 으로, 이 회전에서 추가되는 블록을 으로, 이 블록 이 추가된 블록체인을 으로 표시하자. 이 기호를 이용하여 회전 이 진행되는 상황에서 각 노드(블록체인 네트워크에 참여하는 개별 기기, 예: 참여자의 컴퓨터)가 가지고 있는 블록체인은 으로 표시할 수 있다. 매 회전마다 반드시 블록이 추가되어야만 하는 것은 아니지만 설명의 편의를 위해 매 회전마다 블록이 정확히 하나씩 추가된다고 가정하자. 지금까지의 내용을 정리하면 다음의 기호들로 표현할 수 있다.Instead of managing transaction details on a central server, blockchain can collectively refer to a distributed ledger that is jointly recorded and managed by participants of a distributed network, or a technology that enables it. Similar to the case of Bitcoin, a new block (a ledger on which many transactions are recorded) is calculated and added to the blockchain at a fixed time (every 10 minutes in the case of Bitcoin), similar to the case of Bitcoin, and as a reward for the calculation. It is assumed that there is a cryptocurrency to be paid. At this time, the fixed time is called rotation, and the progress of sequential rotation is displayed. ( ) To rotate As, the blocks added in this rotation As, this block This added blockchain Let's mark it as Rotate using this symbol In this situation, the blockchain that each node (individual device participating in the blockchain network, e.g., the participant's computer) has Can be marked with Although a block does not have to be added every rotation, for convenience of explanation, assume that exactly one block is added every rotation. Summarizing the contents so far, it can be expressed by the following symbols.
: 번째 회전 : Second turn
: 회전 에서 추가되는 블록 : rotation Blocks added in
: 회전 에서 각 노드들의 블록체인 : rotation Blockchain of each node in
: 블록체인 에 블록 을 연결한 블록체인 : Blockchain Block on Blockchain that connects
그리고, 블록 의 데이터는 바로 앞 블록 의 해쉬값 , 현 블록에 포함될 거래들 , 현 블록의 해쉬값 과 이 해쉬값을 구하는데 사용한 넌스(Nonce)값 등으로 구성되어 있다. 여기서, 거래라는 용어는 비트코인의 관례를 따른 것으로 블록체인이 제공하는 서비스에 따라 실제 전자화폐의 거래내역일 수도 있고, 또는 개인정보를 포함한 다양한 정보들의 혼합체일 수도 있다. 또한, 은 블록 에 포함될 거래의 개수를 의미하고, 해쉬값 과 넌스값 은 작업증명 해쉬퍼즐의 해답이다.And block Data in the block immediately preceding Hash value of , Transactions to be included in the current block , The hash value of the current block And the nonce value used to calculate this hash value Etc. Here, the term transaction is in accordance with the convention of bitcoin, and may be the transaction details of actual electronic money or a mixture of various information including personal information, depending on the services provided by the blockchain. In addition, Silver block It means the number of transactions to be included in, and hash value And nonce Is the answer to the proof-of-work hash puzzle.
작업증명Proof of work
주어진 에 대하여, 수학식 1을 만족하는 넌스값 의 계산given For, the nonce value that satisfies
[수학식 1] [Equation 1]
( ) ( )
여기서, ‘’은 비트열의 접합(concatenation)을 의미하고, 는 어떤 입력에 대해서든 출력으로 256 비트열을 생성하는 SHA-256 해쉬함수이고, = 개의 0으로만 구성된 비트열, = 256 비트열 중에서 처음 비트가 인 비트열의 집합( = 비트열 의 길이)을 의미한다( = 비트열 의 길이).here, ' 'Means concatenation of bit strings, Is the SHA-256 hash function that generates a 256 bit string as an output for any input, = A bit string consisting only of zeros, = First of 256 bit string Bit Set of in-bit strings ( = Bit string Means the length of ( = Bit string Length).
즉, 은 256 비트열 중에서 처음 개의 비트가 모두 0인 비트열의 집합이다. 수학식 1의 해쉬퍼즐을 만족하는 넌스값 에 대한 결과인 수학식 2가 블록 의 해쉬값이다.In other words, Is the first of the 256 bit string It is a set of bit strings in which all bits are 0. Nonce value that satisfies the hash puzzle of
[수학식 2] [Equation 2]
도 1은 블록 에 포함되는 데이터 테이블을 도시한 것이다.Figure 1 is a block A data table included in is shown.
수학식 1의 계수 은 해쉬퍼즐의 난이도를 결정하는데, 그 값이 크면 클수록 해당 해쉬퍼즐을 만족하는 넌스값을 계산하는 것이 어려워진다. 회전 에서 해쉬퍼즐의 해답 을 제일 먼저 계산한 채굴자(작업증명에 참여하는 노드를 의미한다)는 블록 을 발표하고 이를 블록체인 에 연결하여 자신이 가지고 있는 블록체인을 확장한다.Coefficient of
[수학식 3][Equation 3]
다른 참여자들은 발표된 블록 의 유효성을 쉽게 검증할 수 있다. 이를 인정하는 행위는 다음 회전에서 자신이 가지고 있던 블록체인 을 수학식 3과 같이 으로 확장함으로써 확인된다. 다른 참여자들이 자신들의 블록체인 을 확장하여 으로 업데이트하는 이유는 가장 긴 블록체인에 인정되는 블록을 추가한 채굴자에게 블록보상(이 블록보상은 전용 암호화폐로 주어진다)이 주어지는 규칙 때문이다. 즉, 다음 회전에서 블록보상을 받기를 원하는 채굴자들은 자신들의 블록체인 을 확장하여 으로 업데이트할 것이다.Other participants are the announced blocks Can be easily verified. The act of acknowledging this is the block chain he had in the next round. As in
상기한 블록체인에서는 이미 기록된 과거 거래에 대한 수정은 사실상 불가능하다. 예를 들어, 이미 블록체인에 연결된 블록 에 포함된 거래 를 로 수정한 블록체인을 유효한 것으로 검증받기 위해서는 블록 의 해쉬퍼즐의 해답 을 수정된 거래 에 맞추어 다시 계산해야 한다. 이 자체도 많은 계산을 필요로 하지만, 이 외에도 다음 블록 의 해쉬퍼즐의 해답 도 블록 에서의 해쉬값 의 변화에 대응하여 다시 계산해야 한다. 이러한 계산은 다음 블록에서도 필요하다. 이런 식으로 해쉬퍼즐을 계속 다시 풀어야 하는데 이는 가 현재의 회전번호 보다 단 하나만 작은 경우에도 아주 어렵지만, 더 차이가 나는 경우(예: )에는 사실상 불가능하다. 이러한 이유로 기존의 블록체인에서는 과거 거래에 대한 수정은 사실상 불가능하다.In the above block chain, it is virtually impossible to modify past transactions that have already been recorded. For example, blocks already connected to the blockchain Deals included in To In order to verify that the modified blockchain is valid, Hash puzzle solution Modified transaction It must be recalculated according to. This itself requires a lot of computation, but besides this, the next block Hash puzzle solution Road block Hash value at It must be recalculated in response to changes in This calculation is also needed in the next block. In this way, you have to solve the hash puzzle over and over again. Is the current rotation number It is very difficult even if it is only one smaller than, but if it makes more difference (e.g. ) Is virtually impossible. For this reason, it is virtually impossible to modify past transactions in the existing blockchain.
블록체인의 장점인 분산성을 보장하는 탈중앙화 된 형태의 노드 구조에서 정당하게 요청된 거래 수정 요구에 대한 수정 방법을 제공할 수 있다.In a decentralized node structure that guarantees decentralization, which is an advantage of the blockchain, it is possible to provide a method of modifying the request for modification of transactions that are justly requested.
이미 블록체인에 기록된 거래를 정당한 절차에 따라 블록체인의 연결 구조를 변화시키지 않으면서 수정할 수 있게 하는 방법을 제공하여 블록체인의 응용분야의 확대에 도움을 준다.It helps to expand the application field of the blockchain by providing a method that allows transactions already recorded on the blockchain to be modified according to a legitimate procedure without changing the connection structure of the blockchain.
특히, 이해 당사자들의 정당한 요구에 따라 이미 기록된 거래내역을 삭제 또는 수정할 수 있도록 요구하는 개인정보 보호법 관련 규정을 준수할 수 있는 블록체인을 제공한다.In particular, it provides a blockchain that can comply with the regulations related to the Personal Information Protection Act, which requires that the transaction details that have already been recorded can be deleted or modified according to the legitimate request of the interested parties.
또한, 기존의 블록체인의 장점들인 기록된 거래내용에 대한 투명성, 보안성과 향상된 추적가능성을 그대로 제공하면서 동시에 그 어떤 중앙 관리자를 필요로 하지 않고 기존의 블록체인에서와 같은 탈중앙화된 참여자들의 공동의 노력에 의해 거래의 수정이 가능하게 한다.In addition, while providing transparency, security and improved traceability of recorded transaction contents, which are the advantages of the existing block chain, it does not require any central administrator, and the common decentralized participants like in the existing block chain. It makes it possible to modify the transaction by effort.
컴퓨터 시스템에서 실행되는 블록체인 기반 거래 관리 방법에 있어서, 상기 컴퓨터 시스템은 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고, 상기 블록체인 기반 거래 관리 방법은 상기 적어도 하나의 프로세서에 의해 수행되는 것으로, 거래의 승인을 증명받기 위한 거래승인 블록 및 거래의 수정을 증명받기 위한 거래수정 블록을 이용하여 거래의 승인과 수정을 구별하여 블록의 채굴을 진행하는 단계를 포함하는 블록체인 기반 거래 관리 방법을 제공한다.In the block chain-based transaction management method executed in a computer system, the computer system comprises at least one processor configured to execute computer readable instructions contained in a memory, and the block chain-based transaction management method comprises the at least one A block that is performed by a processor and includes the step of performing block mining by distinguishing between approval and modification of a transaction using a transaction approval block for verifying the approval of the transaction and a transaction modification block for verifying the modification of the transaction. Provides a chain-based transaction management method.
일 측면에 따르면, 상기 블록의 채굴을 진행하는 단계는, 상기 거래승인 블록의 계산 과정에서 거래의 수정이 가능하도록 거래에 대한 목표값을 설정하는 단계를 포함할 수 있다.According to an aspect, the step of proceeding with mining of the block may include setting a target value for the transaction so that the transaction can be modified in the process of calculating the transaction approval block.
다른 측면에 따르면, 상기 블록의 채굴을 진행하는 단계는, 상기 목표값에 대한 해쉬퍼즐을 이용하여 상기 거래승인 블록에 대한 작업을 증명하는 단계를 더 포함할 수 있다.According to another aspect, the step of proceeding with the mining of the block may further include verifying the work for the transaction approval block using a hash puzzle for the target value.
또 다른 측면에 따르면, 상기 블록의 채굴을 진행하는 단계는, 상기 목표값의 위변조를 방지하기 위해 상기 목표값에 대한 채굴자의 전자서명을 해당 블록 내에 포함시키는 단계를 더 포함할 수 있다.According to another aspect, the step of performing the mining of the block may further include including a miner's electronic signature for the target value in the corresponding block to prevent forgery and alteration of the target value.
또 다른 측면에 따르면, 상기 블록의 채굴을 진행하는 단계는, 수정이 요청된 거래의 목표값에 대한 해쉬퍼즐을 이용하여 상기 거래수정 블록에 대한 작업을 증명하는 단계를 더 포함할 수 있다.According to another aspect, the step of proceeding with the mining of the block may further include verifying the work on the transaction modification block by using a hash puzzle for the target value of the transaction requested to be modified.
또 다른 측면에 따르면, 상기 블록의 채굴을 진행하는 단계는, 거래수정 명령이 포함된 상기 거래수정 블록을 블록체인에 추가함으로써 이미 기록된 거래를 수정하여 블록체인을 업데이트 하는 단계를 더 포함할 수 있다.According to another aspect, the step of proceeding with the mining of the block may further include updating the block chain by modifying the already recorded transaction by adding the transaction modification block containing the transaction modification instruction to the block chain. have.
컴퓨터 시스템에 있어서, 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 블록체인을 기반으로 거래를 관리하는 것으로, 거래의 승인을 증명받기 위한 거래승인 블록 및 거래의 수정을 증명받기 위한 거래수정 블록을 이용하여 거래의 승인과 수정을 구별하여 블록의 채굴을 진행하는 것을 특징으로 하는 컴퓨터 시스템을 제공한다.A computer system comprising at least one processor configured to execute computer-readable instructions contained in a memory, wherein the at least one processor manages a transaction based on a block chain, and is used to verify approval of the transaction. It provides a computer system characterized in that the mining of the block is performed by distinguishing between approval and modification of a transaction by using a transaction approval block and a transaction modification block to verify the modification of the transaction.
이미 기록된 거래에 대한 수정가능성을 제공함으로써 블록체인의 활용분야를 확대할 수 있으며, 특히 개인정보 보호법 관련 규정에 의해 거래내역에 내재된 개인 정보의 삭제가 요구되는 경우 이를 기술적으로 해결할 수 있다.By providing the possibility to modify the transaction already recorded, the field of application of the blockchain can be expanded, and in particular, it can be technically solved when the deletion of personal information embedded in the transaction details is required by the regulations related to the Personal Information Protection Act.
블록체인 기술의 핵심 가치인 탈중앙화(분산화)를 해치지 않으면서도 블록체인 상에 기록된 데이터의 수정가능성(가역성)을 제공함으로써 블록체인 기술이 적용된 서비스(개인정보, 금융권 등)의 활용성을 증대시킬 수 있고, 개인정보에 대한 법적 문제점을 해결할 수 있다.Increases the usability of services (personal information, financial sector, etc.) to which blockchain technology is applied by providing the correctability (reversibility) of data recorded on the blockchain without harming decentralization (decentralization), which is the core value of blockchain technology. And can solve legal problems for personal information.
현재 제공되는 블록체인의 기술적 제한(비가역성)으로 인한 응용 분야 제약성을 해결할 수 있으며, 핀테크/금융권 및 엔터프라이즈 응용 환경에서의 수정 가능한 블록체인에 대한 요구사항 충족을 통한 활용성을 극대화시킬 수 있다.It can solve the application field constraints due to the technical limitations (irreversibility) of the currently provided blockchain, and maximize the usability by satisfying the requirements for a modifiable blockchain in the fintech/financial sector and enterprise application environments.
탈중앙화 측면에서 기존의 개인형 또는 허가형 블록체인 기술과는 달리 모든 노드(community peer node)들이 합의 과정에 참여하는 탈중앙적 기능의 제공을 통해 블록체인의 핵심적 속성을 유지 및 보장할 수 있다.In terms of decentralization, unlike existing private or permissioned blockchain technology, it is possible to maintain and guarantee the core properties of the blockchain by providing a decentralized function in which all nodes (community peer nodes) participate in the consensus process. .
수정은 일개 개별 노드(개인)가 할 수 있는 것이 아니라 전체 커뮤니티가 참여해야 하는 수준의 문제라는 점에서, 보안성 측면에서 기존 블록체인에서 채굴을 통해 블록을 추가하는 것과 동일한 수준의 난이도 조절이 가능하다.Since the modification is not a single node (individual), but a level that the entire community needs to participate in, in terms of security, the same level of difficulty can be adjusted as adding blocks through mining in the existing blockchain. Do.
도 1은 기존 블록체인 모델의 블록에 포함되는 데이터 테이블을 도시한 것이다.
도 2는 본 발명의 일실시예에 있어서 거래승인 블록에 포함된 거래의 데이터 테이블을 도시한 것이다.
도 3은 본 발명의 일실시예에 있어서 거래승인의 증명을 위한 거래승인 블록의 데이터 테이블을 도시한 것이다.
도 4는 본 발명의 일실시예에 있어서 거래수정의 증명을 위한 거래수정 블록의 데이터 테이블을 도시한 것이다.
도 5는 본 발명의 일실시예에 있어서 거래수정 블록의 거래 수정 과정을 도시한 순서도이다.
도 6은 본 발명의 일 실시예에 있어서 컴퓨터 시스템의 내부 구성의 일례를 설명하기 위한 블록도이다.1 shows a data table included in a block of an existing blockchain model.
2 is a diagram illustrating a data table of transactions included in a transaction approval block in an embodiment of the present invention.
3 is a diagram illustrating a data table of a transaction approval block for verifying a transaction approval according to an embodiment of the present invention.
4 is a diagram showing a data table of a transaction modification block for verifying a transaction modification according to an embodiment of the present invention.
5 is a flowchart illustrating a transaction modification process of a transaction modification block in an embodiment of the present invention.
6 is a block diagram illustrating an example of an internal configuration of a computer system according to an embodiment of the present invention.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
본 발명은, 이미 블록체인에 기록된 거래의 수정이 가능한 블록체인을 제안하는 것이다. 이를 위해 본 발명에서는 2종류의 다른 형태의 블록을 사용하는데, 하나는 "거래의 승인을 증명받기 위한 블록"(이를 '거래승인 블록'이라 명명함)이고 또 다른 하나는 "거래의 수정을 증명받기 위한 블록"(이를 '거래수정 블록'이라 명명함)이다.The present invention proposes a blockchain that can modify transactions already recorded in the blockchain. To this end, in the present invention, two different types of blocks are used, one of which is a "block for obtaining approval of the transaction" (this is referred to as a "transaction approval block") and the other is "to prove the modification of the transaction. It is a block to receive" (this is called a'transaction modification block').
먼저, 거래승인 블록 에 포함되는 거래 는 도 2에 도시한 데이터 테이블로 이루어져 있다.First, the transaction approval block Transactions included in Consists of the data table shown in FIG. 2.
먼저, 는 거래 의 상태를 나타내는 것으로 해당 거래가 ‘승인’ 또는 ‘수정’되었음을 표시하고, 는 거래 의 내용(예: 실질적인 거래내용, 전자서명, 개인정보 등)을, 그리고 는 거래 의 이해 당사자들에 대한 정보(예: 이해 당사자들의 공개키들)를 포함하고 있다. 여기서, 이해 당사자들은 거래 가 승인된 후에 정당한 절차를 따라 해당 내역을 삭제 또는 수정을 요구할 수 있는 주체를 의미한다. 마지막으로, 는 추후 설명할 ‘거래수정 해쉬퍼즐’의 해법을 위한 추가 데이터이다. 거래가 처음 승인될 때의 는 빈 비트열 null이다. 여기서, , , , 를 구별할 수 있는 길이정보가 포함되어야 하지만 해당 내용은 쉽게 유추 가능한 내용이므로 설명의 편의를 위해 생략한다.first, The deal Indicates that the transaction has been'approved'or'modified', The deal The contents of (e.g., actual transaction details, electronic signature, personal information, etc.), and The deal It contains information about the interested parties of the company (eg, the public keys of the interested parties). Here, the interested parties deal It refers to the subject who can request the deletion or correction of the relevant details in accordance with the due process after is approved. Finally, Is additional data for the solution of the'transaction correction hash puzzle' which will be described later. When the transaction is first approved Is an empty bit string. here, , , , Length information that can distinguish between should be included, but since the content is easily inferred, it is omitted for convenience of explanation.
거래의 상태를 표시하듯이 블록 의 상태를 표시하는 정보(이 경우에는 ‘거래승인’이다)는 블록에 포함되어 있다. 제안된 방법에서는 정해진 규칙에 따라 각 회전마다 수행해야 하는 작업의 종류, 즉, 블록의 상태가 ‘거래승인’ 인지 또는 ‘거래수정’인지는 미리 정해진 규칙(예: ‘거래승인’2회 다음에 ‘거래수정’1회 같은 방법)을 따른다고 가정한다.Block as to indicate the status of the transaction Information indicating the status of (in this case'transaction approval') is included in the block. In the proposed method, the type of operation to be performed in each rotation according to a set rule, that is, whether the state of the block is'transaction approval'or'transactionmodification' It is assumed that you follow the same method as'transaction modification' once).
블록의 상태는 블록이 생성될 때 한번 결정된 후에는 변화하지 않는다. 블록의 상태가 ‘거래승인’이라는 의미는 해당 블록이 거래의 승인에 대한 증명으로 사용된다는 의미이다. 같은 의미로 블록의 상태가 ‘거래수정’이라는 것은 해당 블록이 어떤 특정거래에 대한 수정에 대한 증명으로 사용된다는 의미이다. 또한, 블록에는 블록 의 채굴자의 공개키가 포함된다.The state of the block does not change once it is determined when the block is created. When the state of a block is'transaction approval', it means that the block is used as proof of approval of the transaction. In the same sense, when the state of a block is'transaction modification', it means that the block is used as proof of modification for a specific transaction. Also, in the block The public key of the miner of is included.
본 발명에서는, 현재의 회전 이 블록의 계산을 통해 거래승인을 증명 받는 회전인 경우에, 각 채굴자들은 다음과 같이 번 해쉬값을 계산하는 ‘목표설정’ 과정을 진행하도록 규칙을 정한다(수학식 4).In the present invention, the current rotation In the case of a rotation in which transaction approval is verified through the calculation of this block, each miner is as follows: A rule is set to proceed with the'target setting' process of calculating the hash value of [Equation 4].
[수학식 4][Equation 4]
주어진 에 대해 given About
for for
여기서, 은 블록 에 포함될 거래의 개수이고, 거래승인의 작업증명의 경우에는 ( )이 모두 빈 비트열임을 유의하자(목표값 검증절차에서의 통일성을 유지하기 위해 빈 비트열임에도 불구하고 수학식 4에 포함시켰다). 또한, 는 수학식 5와 같이 정의한다.here, Silver block This is the number of transactions to be included in, and in the case of proof of work for transaction approval, ( Note that) are all empty bit strings (although they are empty bit strings to maintain uniformity in the target value verification procedure, they are included in Equation 4). In addition, Is defined as in Equation 5.
[수학식 5][Equation 5]
해쉬값 의 첫 비트열() Hash value First of Bit string ( )
즉, 임의의 어떠한 비트열 에 대해 을 만족하도록 정의한다.That is, any arbitrary bit string About Is defined to satisfy.
목표설정의 결과로, 각 채굴자들은 각기 다른 거래들을 모을 수 있기 때문에 각기 다른 '목표값’ 을 계산할 수 있다.As a result of target setting, each miner can collect different transactions, so different'target values' Can be calculated.
이 목표값은 거래수정의 유효성을 검증하는데 사용될 데이터로 위변조 되는 것을 방지해야 한다. 이를 위해 목표값에 대한 채굴자의 전자서명을 수학식 6과 같이 블록 내에 포함시킨다.This target value should be prevented from being tampered with as data that will be used to verify the validity of transaction modifications. To this end, the electronic signature of the miner for the target value is included in the block as shown in Equation 6.
[수학식 6][Equation 6]
여기서, 는 채굴자의 전자서명을 하는 함수를 의미하고, 이것의 유효한지는 블록에 기록되어 있는 채굴자의 공개키를 이용하여 확인할 수 있다.here, Means a function that performs the miner's digital signature, and whether it is valid can be checked using the miner's public key recorded in the block.
목표설정을 끝낸 채굴자들은 수학식 7의 작업증명(거래승인)에 도전한다.After completing the target setting, the miners challenge the proof of work (transaction approval) of Equation 7.
[수학식 7][Equation 7]
주어진 에 대하여,given about,
( ) ( )
을 만족하는 넌스값 의 계산한다.A nonce value that satisfies Calculate.
수학식 7을 만족하는 넌스값 에 대한 결과, 가 해당 블록 의 해쉬값으로 계산된다. 블록의 해쉬값을 제일 먼저 계산한 채굴자는 블록 을 발표하고 이를 블록체인에 연결하여 확장된 블록체인 로 업데이트한다. 다른 참여자들은 발표된 블록 을 검증하고 이에 대한 합의로 자신들의 블록체인을 로 업데이트한다.Nonce value that satisfies Equation 7 Results for, That block It is calculated as the hash value of The miner who first calculated the hash value of the block is the block Announced and connected it to the blockchain to expand the blockchain Update to Other participants are the announced blocks And consensus on their blockchain Update to
도 3의 테이블은 거래승인의 증명을 위해 발표된 블록 의 세부 내용이다.The table in Fig. 3 is a block announced for proof of transaction approval. Is the details of.
기존의 블록체인에서 필요로 하는 도 1의 테이블 내용과 비교하여 본 발명에 따른 블록체인에서 필요로 하는 도 3의 테이블에 추가된 내용을 살펴보면, 먼저, 난이도 계수 (수학식 5 참조)와 ‘블록의 상태’(status)가 추가된다. 현 회전의 작업증명은 ‘거래승인’이었기 때문에 ‘블록의 상태 = 거래승인’으로 결정된다. 또한, 채굴자의 공개키가 헤더에 추가된다. 거래 는 도 2의 데이터 테이블에서 설명하였듯이 더 세분화되어 기록된다. 거래승인 블록 이 생성될 때는 에 대해 거래의 상태 = ‘승인’이고, 거래수정 해쉬퍼즐의 해법을 위한 추가 데이터 가 필요하지 않기 때문에 은 빈 비트열, 즉, Null이다. Looking at the contents added to the table of Fig. 3 required by the block chain according to the present invention compared with the contents of the table of Fig. 1 required by the existing blockchain, first, the difficulty coefficient (See Equation 5) and'block status' are added. Since the proof of work in the current rotation was'transaction approval', it is determined as'block status = transaction approval'. Also, the miner's public key is added to the header. deal Is further subdivided and recorded as described in the data table of FIG. 2. Transaction approval block When this is created About the status of the transaction ='Approved', and additional data for the solution of the transaction modification hash puzzle Because you don't need Is an empty bit string, that is, Null.
본 발명에 따른 블록체인 수정 방법의 핵심은 수학식 1과 수학식 7의 비교에서 극명하게 드러난다. 기존의 작업증명 방법의 해쉬값 은 모든 거래 에 직접적으로 의존하지만, 제안된 방법에서의 거래승인 작업증명은 거래의 해쉬값에서 일부(이를 '목표값'이라고 명명함, )인 (수학식 4, 수학식 5 참조)에 의존하도록 정의한다. 이는 거래의 삭제 및 수정을 위해 고안된 것이다.The core of the blockchain modification method according to the present invention is clearly revealed in the comparison between
다음으로, 거래를 수정하는 방법을 설명하기로 한다.Next, we will explain how to modify the transaction.
먼저, 현재의 회전 가 블록의 계산을 통해 거래수정을 증명 받는 회전이라고 가정하자. 이 회전에서는 각각의 채굴자들은 정당한 절차(예: 해당 거래의 수정을 요구하는 이해 당사자들의 유효한 요청)를 따라 수정이 요청된 거래 중에서 하나를 선택한다. 이 때, 어떤 채굴자(이를 '채굴자 갑'이라 하자)가 선택한 거래가 블록 에 기록되어 있는 라고 가정해 보자. 여기서, 블록체인에 확실하게 기록된 거래만을 수정 가능하게 제한하기 위해 과 사이에 충분한 차이(예: )가 있도록 하는 규칙을 정하자.First, the current rotation Suppose that is a rotation where the transaction modification is proved through the calculation of the block. In this turn, each miner selects one of the transactions for which revision is requested, following due process (e.g., valid requests from interested parties requiring revision of the transaction). At this time, the transaction selected by a miner (let's call it'miner head') is the block Written in Let's assume. Here, in order to limit only the transactions clearly recorded in the blockchain to be editable and Enough difference between them (e.g. Let's set a rule that allows) to exist.
수정이 요청된 거래 는 원래의 거래 내용은 이였는데 이를 로 수정하도록 요청받았다고 가정해 보자. 먼저, 거래 가 속해있는 블록 은 거래생성 블록이어야 한다는 점을 유의하자. 채굴자 갑은 블록 의 해쉬값 에 변화가 없게 하면서 거래 의 내용 를 로 수정하기 위해 수학식 8의 작업증명(거래수정)을 만족하는 넌스값을 찾는다. Transaction requested to be modified Is the original transaction This was Suppose you have been asked to modify to. First, deal The block to which it belongs Note that is a transaction creation block. Miner's Head is a Block Hash value of Without change in the transaction Content of To In order to correct it, a nonce value that satisfies the proof-of-work (transaction correction) of Equation 8 is found.
[수학식 8][Equation 8]
주어진 에 대하여,given about,
을 만족하는 넌스값 의 계산한다.A nonce value that satisfies Calculate.
여기서, 는 수정이 요청된 거래의 목표값()이다. 또한, 넌스값의 검색공간은 거래승인 작업증명에서 사용한 넌스값의 검색공간과 같은 것으로 정하자. 수학식 8을 만족하는 넌스값 은 을 만족하기 때문에 의 내역 을 로 수정하고, 빈 비트열 를 으로 교체(원래, 빈 비트열이었던 는 이제 난수와 같은 넌스값 으로 교체되고, 이 넌스값을 새로운 로 여기게 된다)하면 블록 에서 거래 를 수정하는 효과를 얻을 수 있다. 이때, 거래 이 수정된 블록 은 원래의 블록 해쉬값 에 대해 유효성이 검증된다. 만약, 거래를 삭제하는 경우라면 을 빈 비트열( = null)로 교체하는 경우에 해당된다.here, Is the target value of the transaction requested to be modified ( )to be. Also, the search space for the nonce value should be the same as the search space for the nonce value used in the transaction approval proof of work. Nonce value that satisfies Equation 8 silver Because you are satisfied Breakdown of of And an empty bit string To Replaced with (originally, an empty bit string Is now the same nonce value as a random number Is replaced with a new nonce value Block) Deal in You can get the effect of modifying. At this time, the transaction This modified block Is the original block hash value Is validated against. If the transaction is deleted Is an empty bit string ( = null).
현재의 회전 에서 채굴자 갑이 제일 먼저 거래 수정에 대한 작업증명을 완료하였다고 가정하자. 채굴자 갑은 자신이 계산한 거래수정 증명을 위한 블록 을 발표하고 자신의 블록체인에 블록 을 연결하여 블록체인을 확장할 것이다. 이때 블록 의 해쉬값은 수학식 9로 정의한다.Current rotation In, suppose that the miner A first completed the proof of work for the transaction modification. Miner A is a block for proof of transaction modification calculated by himself/herself To announce and block on their own blockchain Will be connected to expand the blockchain. Block The hash value of is defined by Equation 9.
[수학식 9][Equation 9]
다른 채굴자들도 발표된 블록 을 검증한 후에 그 검증결과가 참이면 자신들의 블록체인도 채굴자 갑처럼 확장한다. 이를 위해서는 블록 에는 수정되는 거래에 대한 정보가 포함하고 있어야 한다.Blocks announced by other miners After verifying, if the verification result is true, their blockchain will also expand like a miner. To do this, block Should contain information about the transaction being revised.
도 4는 거래수정 블록 의 데이터 테이블을 도시한 것이다.Figure 4 is a transaction modification block It shows the data table of.
블록 에는 현 블록이 거래수정의 증명을 위한 것이라는 내용(블록의 상태 = 거래수정), 수정되는 거래 에 대한 정보( 에 포함), 거래의 수정요청에 대한 해당 거래의 이해 당사자들의 전자서명( 에 포함), 거래의 수정을 위해 진행해야 하는 작업들( 에 포함), 이에 대한 전자서명( ) 등이 포함되어야 한다. 다른 참여자들은 도 5에 도시한 절차를 통해 거래의 수정, 즉, 자신들이 가지고 있는 블록체인의 업데이트를 진행한다. 물론, 중간에 하나의 검증에서라도 실패하는 순간 블록체인은 원래의 상태로 복귀하고 블록 은 무시될 것이다.block Is that the current block is for proof of transaction modification (block status = transaction modification), the transaction being modified Information about ( Included in), electronic signatures of interested parties of the transaction ( Included in), tasks that need to be carried out to modify the transaction ( Included in), electronic signature for this ( ) Should be included. Other participants proceed to modify the transaction, that is, update their own blockchain through the procedure shown in FIG. 5. Of course, the moment even one verification fails in the middle, the blockchain returns to its original state and blocks Will be ignored.
블록 의 거래 의 수정 과정은 도 5와 같다.block Deal of The correction process of is shown in FIG. 5.
단계 1(S510): 블록 의 작업증명 검증: 의 유효성 검증 (수학식 8, 수학식 9)Step 1 (S510): block Proof of work verification: Validation of (Equation 8, Equation 9)
단계 2(S520): 블록 의 목표값 의 무결성 검증 (수학식 6)Step 2 (S520): block Target value of Integrity verification (Equation 6)
단계 3(S530): 거래 의 원래의 에 대한 목표값 검증 (수학식 4)Step 3 (S530): Transaction Of the original Target value for Verification (Equation 4)
단계 4(S540): 거래 의 를 이용하여 수정요청의 유효성 검증Step 4 (S540): Transaction of Validation of the revision request using
단계 5(S550): 거래 수정Step 5 (S550): Transaction Modify
Null(수정요청이 삭제인 경우) or 변화 없음 Null (if the modification request is deleted) or no change
거래 의 상태 ‘수정’deal State of 'Modify'
단계 6(S560): 블록 의 Merkle tree 정보 업데이트 Step 6 (S560): block Merkle tree information update
도 6은 본 발명의 일 실시예에 있어서 컴퓨터 시스템의 내부 구성의 일례를 설명하기 위한 블록도이다.6 is a block diagram illustrating an example of an internal configuration of a computer system according to an embodiment of the present invention.
본 발명의 실시예들에 따른 블록체인 기반 거래 관리 시스템은 도 6의 컴퓨터 시스템(600)을 통해 구현될 수 있다. 도 6에 도시한 바와 같이, 컴퓨터 시스템(600)은 상기에서 설명한 블록체인 수정 방법을 실행하기 위한 구성요소로서 프로세서(610), 메모리(620), 영구 저장 장치(630), 버스(640), 입출력 인터페이스(650) 및 네트워크 인터페이스(660)를 포함할 수 있다.The blockchain-based transaction management system according to embodiments of the present invention may be implemented through the
프로세서(610)는 명령어들의 시퀀스를 처리할 수 있는 임의의 장치를 포함하거나 그의 일부일 수 있다. 프로세서(610)는 예를 들어 컴퓨터 프로세서, 이동 장치 또는 다른 전자 장치 내의 프로세서 및/또는 디지털 프로세서를 포함할 수 있다. 프로세서(610)는 예를 들어, 서버 컴퓨팅 디바이스, 서버 컴퓨터, 일련의 서버 컴퓨터들, 서버 팜, 클라우드 컴퓨터, 컨텐츠 플랫폼, 이동 컴퓨팅 장치, 스마트폰, 태블릿, 셋톱 박스 등에 포함될 수 있다. 프로세서(610)는 버스(640)를 통해 메모리(620)에 접속될 수 있다.
메모리(620)는 컴퓨터 시스템(600)에 의해 사용되거나 그에 의해 출력되는 정보를 저장하기 위한 휘발성 메모리, 영구, 가상 또는 기타 메모리를 포함할 수 있다. 예를 들어, 메모리(620)는 랜덤 액세스 메모리(RAM: random access memory) 및/또는 동적 RAM(DRAM: dynamic RAM)을 포함할 수 있다. 메모리(620)는 컴퓨터 시스템(600)의 상태 정보와 같은 임의의 정보를 저장하는 데 사용될 수 있다. 메모리(620)는 예를 들어 블록체인에 기록된 거래를 수정하기 위한 명령어들을 포함하는 컴퓨터 시스템(600)의 명령어들을 저장하는 데에도 사용될 수 있다. 컴퓨터 시스템(600)은 필요에 따라 또는 적절한 경우에 하나 이상의 프로세서(610)를 포함할 수 있다.The
버스(640)는 컴퓨터 시스템(600)의 다양한 컴포넌트들 사이의 상호작용을 가능하게 하는 통신 기반 구조를 포함할 수 있다. 버스(640)는 컴퓨터 시스템(600)의 컴포넌트들 사이에, 예를 들어 프로세서(610)와 메모리(620) 사이에 데이터를 운반할 수 있다. 버스(640)는 컴퓨터 시스템(600)의 컴포넌트들 간의 무선 및/또는 유선 통신 매체를 포함할 수 있으며, 병렬, 직렬 또는 다른 토폴로지 배열들을 포함할 수 있다.
영구 저장 장치(630)는 (예를 들어 메모리(620)에 비해) 소정의 연장된 기간 동안 데이터를 저장하기 위해 컴퓨터 시스템(600)에 의해 사용되는 바와 같은 메모리 또는 다른 영구 저장 장치와 같은 컴포넌트들을 포함할 수 있다. 영구 저장 장치(630)는 컴퓨터 시스템(600) 내의 프로세서(610)에 의해 사용되는 바와 같은 비휘발성 메인 메모리를 포함할 수 있다. 예를 들어, 영구 저장 장치(630)는 플래시 메모리, 하드 디스크, 광 디스크 또는 다른 컴퓨터 판독 가능 매체를 포함할 수 있다.
입출력 인터페이스(650)는 키보드, 마우스, 마이크, 카메라, 디스플레이 또는 다른 입력 또는 출력 장치에 대한 인터페이스들을 포함할 수 있다. 구성 명령들 및/또는 블록체인에 기록된 거래 수정과 관련된 입력이 입출력 인터페이스(650)를 통해 수신될 수 있다.The input/
네트워크 인터페이스(660)는 근거리 네트워크 또는 인터넷과 같은 네트워크들에 대한 하나 이상의 인터페이스를 포함할 수 있다. 네트워크 인터페이스(660)는 유선 또는 무선 접속들에 대한 인터페이스들을 포함할 수 있다. 구성 명령들은 네트워크 인터페이스(660)를 통해 수신될 수 있다. 그리고, 블록체인에 기록된 거래 수정과 관련된 정보들은 네트워크 인터페이스(660)를 통해 수신 또는 송신될 수 있다.The
또한, 다른 실시예들에서 컴퓨터 시스템(600)은 도 6의 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 컴퓨터 시스템(600)은 상술한 입출력 인터페이스(650)와 연결되는 입출력 장치들 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), GPS(Global Positioning System) 모듈, 카메라, 각종 센서, 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다.Further, in other embodiments, the
이처럼 본 발명의 실시예들에 따르면, 이미 기록된 거래에 대한 수정 가능성을 제공함으로써 블록체인의 활용분야를 확대할 수 있으며, 개인정보 보호법 관련 규정에 의해 거래내역에 내재된 개인 정보의 삭제가 요구되는 경우 이를 기술적으로 해결할 수 있다.As described above, according to the embodiments of the present invention, it is possible to expand the field of application of the block chain by providing the possibility of modification to already recorded transactions, and the deletion of personal information embedded in the transaction details is required by regulations related to the Personal Information Protection Act. If so, it can be technically solved.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and/or a combination of a hardware component and a software component. For example, the devices and components described in the embodiments are a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), a programmable gate array (PLU). It may be implemented using one or more general purpose computers or special purpose computers, such as a logic unit), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications executed on the operating system. In addition, the processing device may access, store, manipulate, process, and generate data in response to the execution of software. For the convenience of understanding, although it is sometimes described that one processing device is used, one of ordinary skill in the art, the processing device is a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that it may include. For example, the processing device may include a plurality of processors or one processor and one controller. In addition, other processing configurations are possible, such as a parallel processor.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of these, configuring the processing unit to behave as desired or processed independently or collectively. You can command the device. Software and/or data may be embodyed in any type of machine, component, physical device, computer storage medium or device to be interpreted by the processing device or to provide instructions or data to the processing device. have. The software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored on one or more computer-readable recording media.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 이때, 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수 개의 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 어플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. In this case, the medium may be one that continuously stores a program executable by a computer, or temporarily stores a program for execution or download. In addition, the medium may be a variety of recording means or storage means in a form in which a single or several pieces of hardware are combined, but is not limited to a medium directly connected to a computer system, but may be distributed on a network. Examples of media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical recording media such as CD-ROMs and DVDs, magnetic-optical media such as floptical disks, and And a ROM, RAM, flash memory, and the like, and may be configured to store program instructions. In addition, examples of other media include an app store that distributes applications, a site that supplies or distributes various software, and a recording medium or a storage medium managed by a server.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described by the limited embodiments and drawings, various modifications and variations are possible from the above description by those of ordinary skill in the art. For example, the described techniques are performed in a different order from the described method, and/or components such as a system, structure, device, circuit, etc. described are combined or combined in a form different from the described method, or other components Alternatively, even if substituted or substituted by an equivalent, an appropriate result can be achieved.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and claims and equivalents fall within the scope of the claims to be described later.
Claims (10)
상기 컴퓨터 시스템은 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고,
상기 블록체인 기반 거래 관리 방법은 상기 적어도 하나의 프로세서에 의해 수행되는 것으로,
거래의 승인을 증명받기 위한 거래승인 블록 및 거래의 수정을 증명받기 위한 거래수정 블록을 이용하여 거래의 승인과 수정을 구별하여 블록의 채굴을 진행하는 단계
를 포함하고,
상기 거래승인 블록은 거래승인의 증명을 위한 것임을 나타내는 블록의 상태, 거래수정의 난이도를 결정하는 계수, 채굴자의 공개키, 각 채굴자에 의해 계산된 각기 다른 거래의 해쉬값에서 일부의 해쉬값으로 설정된 목표값을 포함하고,
상기 목표값은 거래수정의 유효성을 검증하기 위해 사용되는 데이터이며,
상기 블록의 채굴을 진행하는 단계는,
상기 목표값에 대한 해쉬퍼즐을 이용하여 상기 거래승인 블록에 대한 작업을 증명하는 단계
를 포함하는 블록체인 기반 거래 관리 방법.In the blockchain-based transaction management method executed in a computer system,
The computer system includes at least one processor configured to execute computer readable instructions contained in a memory,
The blockchain-based transaction management method is performed by the at least one processor,
The step of performing block mining by distinguishing between approval and modification of the transaction by using the transaction approval block to verify the approval of the transaction and the transaction modification block to verify the modification of the transaction.
Including,
The transaction approval block is the state of the block indicating that it is for proof of transaction approval, a coefficient that determines the difficulty of modifying the transaction, the miner's public key, the hash value of each different transaction calculated by each miner as a partial hash value Contains the set target value,
The target value is data used to verify the validity of transaction modification,
The step of proceeding with the mining of the block,
Proving work for the transaction approval block using a hash puzzle for the target value
Blockchain-based transaction management method including a.
상기 블록의 채굴을 진행하는 단계는,
상기 목표값의 위변조를 방지하기 위해 상기 목표값에 대한 채굴자의 전자서명을 해당 블록 내에 포함시키는 단계
를 더 포함하는 블록체인 기반 거래 관리 방법.The method of claim 1,
The step of proceeding with the mining of the block,
Including a miner's electronic signature for the target value in a corresponding block to prevent forgery and alteration of the target value
Blockchain-based transaction management method further comprising.
상기 블록의 채굴을 진행하는 단계는,
수정이 요청된 거래의 목표값에 대한 해쉬퍼즐을 이용하여 상기 거래수정 블록에 대한 작업을 증명하는 단계
를 더 포함하는 블록체인 기반 거래 관리 방법.The method of claim 1,
The step of proceeding with the mining of the block,
Proving work on the transaction modification block using a hash puzzle for the target value of the transaction requested to be modified
Blockchain-based transaction management method further comprising.
상기 블록의 채굴을 진행하는 단계는,
거래수정 명령이 포함된 상기 거래수정 블록을 블록체인에 추가함으로써 이미 기록된 거래를 수정하여 블록체인을 업데이트 하는 단계
를 더 포함하는 블록체인 기반 거래 관리 방법.The method of claim 5,
The step of proceeding with the mining of the block,
Updating the block chain by modifying the already recorded transaction by adding the transaction modification block containing the transaction modification instruction to the block chain
Blockchain-based transaction management method further comprising.
메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서
를 포함하고,
상기 적어도 하나의 프로세서는,
블록체인을 기반으로 거래를 관리하는 것으로, 거래의 승인을 증명받기 위한 거래승인 블록 및 거래의 수정을 증명받기 위한 거래수정 블록을 이용하여 거래의 승인과 수정을 구별하여 블록의 채굴을 진행하고,
상기 거래승인 블록은 거래승인의 증명을 위한 것임을 나타내는 블록의 상태, 거래수정의 난이도를 결정하는 계수, 채굴자의 공개키, 각 채굴자에 의해 계산된 각기 다른 거래의 해쉬값에서 일부의 해쉬값으로 설정된 목표값을 포함하고,
상기 목표값은 거래수정의 유효성을 검증하기 위해 사용되는 데이터이며,
상기 목표값에 대한 해쉬퍼즐을 이용하여 상기 거래승인 블록에 대한 작업을 증명하는 것
을 특징으로 하는 컴퓨터 시스템.In a computer system,
At least one processor configured to execute computer readable instructions contained in memory
Including,
The at least one processor,
Blockchain-based transaction management, using a transaction approval block to verify the approval of the transaction and a transaction modification block to verify the modification of the transaction, and differentiate between approval and modification of the transaction, and mining of the block.
The transaction approval block is the state of the block indicating that it is for proof of transaction approval, a coefficient that determines the difficulty of modifying the transaction, the miner's public key, the hash value of each different transaction calculated by each miner as a partial hash value. Contains the set target value,
The target value is data used to verify the validity of transaction modification,
Proving work on the transaction approval block using a hash puzzle for the target value
Computer system, characterized in that.
상기 적어도 하나의 프로세서는,
상기 목표값의 위변조를 방지하기 위해 상기 목표값에 대한 채굴자의 전자서명을 해당 블록 내에 포함시키는 것
을 특징으로 하는 컴퓨터 시스템.The method of claim 7,
The at least one processor,
To prevent forgery of the target value, including the electronic signature of the miner for the target value in the block
Computer system, characterized in that.
상기 적어도 하나의 프로세서는,
수정이 요청된 거래의 목표값에 대한 해쉬퍼즐을 이용하여 상기 거래수정 블록에 대한 작업을 증명하고,
거래수정 명령이 포함된 상기 거래수정 블록을 블록체인에 추가함으로써 이미 기록된 거래를 수정하여 블록체인을 업데이트 하는 것
을 특징으로 하는 컴퓨터 시스템.The method of claim 7,
The at least one processor,
Prove the work for the transaction modification block using a hash puzzle for the target value of the transaction requested to be modified,
To update the block chain by modifying the already recorded transaction by adding the transaction modification block containing the transaction modification command to the block chain.
Computer system, characterized in that.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/KR2019/008595 WO2020153552A1 (en) | 2019-01-22 | 2019-07-11 | Method and apparatus for blockchain, allowing modification of transaction recorded therein |
US16/584,041 US20200234293A1 (en) | 2019-01-22 | 2019-09-26 | Method and appratus for blockchains with modifiable recorded transactions |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20190008301 | 2019-01-22 | ||
KR1020190008301 | 2019-01-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200091306A KR20200091306A (en) | 2020-07-30 |
KR102164779B1 true KR102164779B1 (en) | 2020-10-14 |
Family
ID=71839127
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190033315A KR102164779B1 (en) | 2019-01-22 | 2019-03-25 | Blockchains with modifiable recorded transactions |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102164779B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112419068A (en) * | 2021-01-20 | 2021-02-26 | 腾讯科技(深圳)有限公司 | Transaction management method, system and storage medium based on block chain |
-
2019
- 2019-03-25 KR KR1020190033315A patent/KR102164779B1/en active IP Right Grant
Non-Patent Citations (2)
Title |
---|
"비트코인 블록체인 개론", 한승환, 2016.12. 21.* |
"오아스 블럭체인 르네상스 프로젝트", WHITE PAPER version 2.2, OAS CHAIN, 2018.09.15.* |
Also Published As
Publication number | Publication date |
---|---|
KR20200091306A (en) | 2020-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11755718B2 (en) | Blockchain implemented counting system and method for use in secure voting and distribution | |
TWI737944B (en) | Block chain-based transaction execution method and device, and electronic equipment | |
US10523526B2 (en) | System and method for managing services and licenses using a blockchain network | |
JP7030981B2 (en) | Asset management methods and equipment, and electronic devices | |
US11372980B2 (en) | Blockchains for software component vulnerability databases | |
US10630463B2 (en) | Meta block chain | |
US20200234293A1 (en) | Method and appratus for blockchains with modifiable recorded transactions | |
US11367055B2 (en) | Decentralized pooled mining for enabling proof-of-work on blockchains | |
WO2015116998A2 (en) | Electronic transfer and obligation enforcement system | |
JP2022504348A (en) | Blockchain notification board to store blockchain resources | |
KR102164779B1 (en) | Blockchains with modifiable recorded transactions | |
KR20220138791A (en) | Control method for providing creater information of digital files in nft token | |
KR102189667B1 (en) | Unified block mining for transaction approval and modification in decentralized blockchains | |
KR102189668B1 (en) | Method for building decentralized hierarchical multi-blockchains | |
US11810104B1 (en) | Method and system for management of game tokens | |
CN111414412B (en) | Video compression based on machine learning | |
TWI713892B (en) | Blockchain based article publishing method and system | |
CN115525641A (en) | Data processing method and device, computer equipment and storage medium | |
KR20200137654A (en) | Behavior information proof method by block chain |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |