KR102164779B1 - Blockchains with modifiable recorded transactions - Google Patents

Blockchains with modifiable recorded transactions Download PDF

Info

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
Application number
KR1020190033315A
Other languages
Korean (ko)
Other versions
KR20200091306A (en
Inventor
이남용
김철수
양진홍
Original Assignee
인제대학교 산학협력단
한국과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인제대학교 산학협력단, 한국과학기술원 filed Critical 인제대학교 산학협력단
Priority to PCT/KR2019/008595 priority Critical patent/WO2020153552A1/en
Priority to US16/584,041 priority patent/US20200234293A1/en
Publication of KR20200091306A publication Critical patent/KR20200091306A/en
Application granted granted Critical
Publication of KR102164779B1 publication Critical patent/KR102164779B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/389Keeping log of transactions for guaranteeing non-repudiation of a transaction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

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

기록된 거래의 수정이 가능한 블록체인{BLOCKCHAINS WITH MODIFIABLE RECORDED TRANSACTIONS}Blockchain that allows modification of recorded transactions {BLOCKCHAINS WITH MODIFIABLE RECORDED TRANSACTIONS}

아래의 설명은 블록체인에 이미 기록된 거래를 정당한 절차에 따라 블록체인의 연결 구조를 변화시키지 않으면서 수정할 수 있게 하는 방법에 관한 것이다.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분)마다 새로운 블록(많은 거래내역이 기록된 원장)이 계산되어 블록체인에 추가하고, 그 계산에 대한 보상으로 지급되는 암호화폐가 존재한다고 가정한다. 이때 정해진 시간을 회전이라고 하고, 순차적인 회전의 진행을 표시하는

Figure 112019030123654-pat00001
(
Figure 112019030123654-pat00002
)을 이용하여, 회전을
Figure 112019030123654-pat00003
으로, 이 회전에서 추가되는 블록을
Figure 112019030123654-pat00004
으로, 이 블록
Figure 112019030123654-pat00005
이 추가된 블록체인을
Figure 112019030123654-pat00006
으로 표시하자. 이 기호를 이용하여 회전
Figure 112019030123654-pat00007
이 진행되는 상황에서 각 노드(블록체인 네트워크에 참여하는 개별 기기, 예: 참여자의 컴퓨터)가 가지고 있는 블록체인은
Figure 112019030123654-pat00008
으로 표시할 수 있다. 매 회전마다 반드시 블록이 추가되어야만 하는 것은 아니지만 설명의 편의를 위해 매 회전마다 블록이 정확히 하나씩 추가된다고 가정하자. 지금까지의 내용을 정리하면 다음의 기호들로 표현할 수 있다.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.
Figure 112019030123654-pat00001
(
Figure 112019030123654-pat00002
) To rotate
Figure 112019030123654-pat00003
As, the blocks added in this rotation
Figure 112019030123654-pat00004
As, this block
Figure 112019030123654-pat00005
This added blockchain
Figure 112019030123654-pat00006
Let's mark it as Rotate using this symbol
Figure 112019030123654-pat00007
In this situation, the blockchain that each node (individual device participating in the blockchain network, e.g., the participant's computer) has
Figure 112019030123654-pat00008
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.

Figure 112019030123654-pat00009
:
Figure 112019030123654-pat00010
번째 회전
Figure 112019030123654-pat00009
:
Figure 112019030123654-pat00010
Second turn

Figure 112019030123654-pat00011
: 회전
Figure 112019030123654-pat00012
에서 추가되는 블록
Figure 112019030123654-pat00011
: rotation
Figure 112019030123654-pat00012
Blocks added in

Figure 112019030123654-pat00013
: 회전
Figure 112019030123654-pat00014
에서 각 노드들의 블록체인
Figure 112019030123654-pat00013
: rotation
Figure 112019030123654-pat00014
Blockchain of each node in

Figure 112019030123654-pat00015
: 블록체인
Figure 112019030123654-pat00016
에 블록
Figure 112019030123654-pat00017
을 연결한 블록체인
Figure 112019030123654-pat00015
: Blockchain
Figure 112019030123654-pat00016
Block on
Figure 112019030123654-pat00017
Blockchain that connects

그리고, 블록

Figure 112019030123654-pat00018
의 데이터는 바로 앞 블록
Figure 112019030123654-pat00019
의 해쉬값
Figure 112019030123654-pat00020
, 현 블록에 포함될 거래들
Figure 112019030123654-pat00021
, 현 블록의 해쉬값
Figure 112019030123654-pat00022
과 이 해쉬값을 구하는데 사용한 넌스(Nonce)값
Figure 112019030123654-pat00023
등으로 구성되어 있다. 여기서, 거래라는 용어는 비트코인의 관례를 따른 것으로 블록체인이 제공하는 서비스에 따라 실제 전자화폐의 거래내역일 수도 있고, 또는 개인정보를 포함한 다양한 정보들의 혼합체일 수도 있다. 또한,
Figure 112019030123654-pat00024
은 블록
Figure 112019030123654-pat00025
에 포함될 거래의 개수를 의미하고, 해쉬값
Figure 112019030123654-pat00026
과 넌스값
Figure 112019030123654-pat00027
은 작업증명 해쉬퍼즐의 해답이다.And block
Figure 112019030123654-pat00018
Data in the block immediately preceding
Figure 112019030123654-pat00019
Hash value of
Figure 112019030123654-pat00020
, Transactions to be included in the current block
Figure 112019030123654-pat00021
, The hash value of the current block
Figure 112019030123654-pat00022
And the nonce value used to calculate this hash value
Figure 112019030123654-pat00023
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,
Figure 112019030123654-pat00024
Silver block
Figure 112019030123654-pat00025
It means the number of transactions to be included in, and hash value
Figure 112019030123654-pat00026
And nonce
Figure 112019030123654-pat00027
Is the answer to the proof-of-work hash puzzle.

작업증명Proof of work

주어진

Figure 112019030123654-pat00028
에 대하여, 수학식 1을 만족하는 넌스값
Figure 112019030123654-pat00029
의 계산given
Figure 112019030123654-pat00028
For, the nonce value that satisfies Equation 1
Figure 112019030123654-pat00029
Calculation of

[수학식 1] [Equation 1]

Figure 112019030123654-pat00030
(
Figure 112019030123654-pat00031
)
Figure 112019030123654-pat00030
(
Figure 112019030123654-pat00031
)

여기서, ‘

Figure 112019030123654-pat00032
’은 비트열의 접합(concatenation)을 의미하고,
Figure 112019030123654-pat00033
는 어떤 입력에 대해서든 출력으로 256 비트열을 생성하는 SHA-256 해쉬함수이고,
Figure 112019030123654-pat00034
=
Figure 112019030123654-pat00035
개의 0으로만 구성된 비트열,
Figure 112019030123654-pat00036
= 256 비트열 중에서 처음
Figure 112019030123654-pat00037
비트가
Figure 112019030123654-pat00038
인 비트열의 집합(
Figure 112019030123654-pat00039
= 비트열
Figure 112019030123654-pat00040
의 길이)을 의미한다(
Figure 112019030123654-pat00041
= 비트열
Figure 112019030123654-pat00042
의 길이).here, '
Figure 112019030123654-pat00032
'Means concatenation of bit strings,
Figure 112019030123654-pat00033
Is the SHA-256 hash function that generates a 256 bit string as an output for any input,
Figure 112019030123654-pat00034
=
Figure 112019030123654-pat00035
A bit string consisting only of zeros,
Figure 112019030123654-pat00036
= First of 256 bit string
Figure 112019030123654-pat00037
Bit
Figure 112019030123654-pat00038
Set of in-bit strings (
Figure 112019030123654-pat00039
= Bit string
Figure 112019030123654-pat00040
Means the length of (
Figure 112019030123654-pat00041
= Bit string
Figure 112019030123654-pat00042
Length).

즉,

Figure 112019030123654-pat00043
은 256 비트열 중에서 처음
Figure 112019030123654-pat00044
개의 비트가 모두 0인 비트열의 집합이다. 수학식 1의 해쉬퍼즐을 만족하는 넌스값
Figure 112019030123654-pat00045
에 대한 결과인 수학식 2가 블록
Figure 112019030123654-pat00046
의 해쉬값이다.In other words,
Figure 112019030123654-pat00043
Is the first of the 256 bit string
Figure 112019030123654-pat00044
It is a set of bit strings in which all bits are 0. Nonce value that satisfies the hash puzzle of Equation 1
Figure 112019030123654-pat00045
Equation 2 is the result of the block
Figure 112019030123654-pat00046
Is the hash value of

[수학식 2] [Equation 2]

Figure 112019030123654-pat00047
Figure 112019030123654-pat00047

도 1은 블록

Figure 112019030123654-pat00048
에 포함되는 데이터 테이블을 도시한 것이다.Figure 1 is a block
Figure 112019030123654-pat00048
A data table included in is shown.

수학식 1의 계수

Figure 112019030123654-pat00049
은 해쉬퍼즐의 난이도를 결정하는데, 그 값이 크면 클수록 해당 해쉬퍼즐을 만족하는 넌스값을 계산하는 것이 어려워진다. 회전
Figure 112019030123654-pat00050
에서 해쉬퍼즐의 해답
Figure 112019030123654-pat00051
을 제일 먼저 계산한 채굴자(작업증명에 참여하는 노드를 의미한다)는 블록
Figure 112019030123654-pat00052
을 발표하고 이를 블록체인
Figure 112019030123654-pat00053
에 연결하여 자신이 가지고 있는 블록체인을 확장한다.Coefficient of equation 1
Figure 112019030123654-pat00049
Determines the difficulty of the hash puzzle, and the larger the value, the more difficult it is to calculate the nonce value that satisfies the hash puzzle. rotation
Figure 112019030123654-pat00050
Hash puzzle solution in
Figure 112019030123654-pat00051
The miner (means the node participating in the proof-of-work) that first calculated the block
Figure 112019030123654-pat00052
Announced the blockchain
Figure 112019030123654-pat00053
Connect to and expand your own blockchain.

[수학식 3][Equation 3]

Figure 112019030123654-pat00054
Figure 112019030123654-pat00054

다른 참여자들은 발표된 블록

Figure 112019030123654-pat00055
의 유효성을 쉽게 검증할 수 있다. 이를 인정하는 행위는 다음 회전에서 자신이 가지고 있던 블록체인
Figure 112019030123654-pat00056
을 수학식 3과 같이
Figure 112019030123654-pat00057
으로 확장함으로써 확인된다. 다른 참여자들이 자신들의 블록체인
Figure 112019030123654-pat00058
을 확장하여
Figure 112019030123654-pat00059
으로 업데이트하는 이유는 가장 긴 블록체인에 인정되는 블록을 추가한 채굴자에게 블록보상(이 블록보상은 전용 암호화폐로 주어진다)이 주어지는 규칙 때문이다. 즉, 다음 회전에서 블록보상을 받기를 원하는 채굴자들은 자신들의 블록체인
Figure 112019030123654-pat00060
을 확장하여
Figure 112019030123654-pat00061
으로 업데이트할 것이다.Other participants are the announced blocks
Figure 112019030123654-pat00055
Can be easily verified. The act of acknowledging this is the block chain he had in the next round.
Figure 112019030123654-pat00056
As in Equation 3
Figure 112019030123654-pat00057
It is confirmed by expanding to. Other participants
Figure 112019030123654-pat00058
By expanding
Figure 112019030123654-pat00059
The reason for the update is because of the rule in which a block reward (this block reward is given as a dedicated cryptocurrency) is given to the miners who added blocks that are recognized in the longest blockchain. In other words, miners who want to receive block rewards in the next rotation are
Figure 112019030123654-pat00060
By expanding
Figure 112019030123654-pat00061
Will be updated.

상기한 블록체인에서는 이미 기록된 과거 거래에 대한 수정은 사실상 불가능하다. 예를 들어, 이미 블록체인에 연결된 블록

Figure 112019030123654-pat00062
에 포함된 거래
Figure 112019030123654-pat00063
Figure 112019030123654-pat00064
로 수정한 블록체인을 유효한 것으로 검증받기 위해서는 블록
Figure 112019030123654-pat00065
의 해쉬퍼즐의 해답
Figure 112019030123654-pat00066
을 수정된 거래
Figure 112019030123654-pat00067
에 맞추어 다시 계산해야 한다. 이 자체도 많은 계산을 필요로 하지만, 이 외에도 다음 블록
Figure 112019030123654-pat00068
의 해쉬퍼즐의 해답
Figure 112019030123654-pat00069
도 블록
Figure 112019030123654-pat00070
에서의 해쉬값
Figure 112019030123654-pat00071
의 변화에 대응하여 다시 계산해야 한다. 이러한 계산은 다음 블록에서도 필요하다. 이런 식으로 해쉬퍼즐을 계속 다시 풀어야 하는데 이는
Figure 112019030123654-pat00072
가 현재의 회전번호
Figure 112019030123654-pat00073
보다 단 하나만 작은 경우에도 아주 어렵지만, 더 차이가 나는 경우(예:
Figure 112019030123654-pat00074
)에는 사실상 불가능하다. 이러한 이유로 기존의 블록체인에서는 과거 거래에 대한 수정은 사실상 불가능하다.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
Figure 112019030123654-pat00062
Deals included in
Figure 112019030123654-pat00063
To
Figure 112019030123654-pat00064
In order to verify that the modified blockchain is valid,
Figure 112019030123654-pat00065
Hash puzzle solution
Figure 112019030123654-pat00066
Modified transaction
Figure 112019030123654-pat00067
It must be recalculated according to. This itself requires a lot of computation, but besides this, the next block
Figure 112019030123654-pat00068
Hash puzzle solution
Figure 112019030123654-pat00069
Road block
Figure 112019030123654-pat00070
Hash value at
Figure 112019030123654-pat00071
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.
Figure 112019030123654-pat00072
Is the current rotation number
Figure 112019030123654-pat00073
It is very difficult even if it is only one smaller than, but if it makes more difference (e.g.
Figure 112019030123654-pat00074
) 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').

먼저, 거래승인 블록

Figure 112019030123654-pat00075
에 포함되는 거래
Figure 112019030123654-pat00076
는 도 2에 도시한 데이터 테이블로 이루어져 있다.First, the transaction approval block
Figure 112019030123654-pat00075
Transactions included in
Figure 112019030123654-pat00076
Consists of the data table shown in FIG. 2.

먼저,

Figure 112019030123654-pat00077
는 거래
Figure 112019030123654-pat00078
의 상태를 나타내는 것으로 해당 거래가 ‘승인’ 또는 ‘수정’되었음을 표시하고,
Figure 112019030123654-pat00079
는 거래
Figure 112019030123654-pat00080
의 내용(예: 실질적인 거래내용, 전자서명, 개인정보 등)을, 그리고
Figure 112019030123654-pat00081
는 거래
Figure 112019030123654-pat00082
의 이해 당사자들에 대한 정보(예: 이해 당사자들의 공개키들)를 포함하고 있다. 여기서, 이해 당사자들은 거래
Figure 112019030123654-pat00083
가 승인된 후에 정당한 절차를 따라 해당 내역을 삭제 또는 수정을 요구할 수 있는 주체를 의미한다. 마지막으로,
Figure 112019030123654-pat00084
는 추후 설명할 ‘거래수정 해쉬퍼즐’의 해법을 위한 추가 데이터이다. 거래가 처음 승인될 때의
Figure 112019030123654-pat00085
는 빈 비트열 null이다. 여기서,
Figure 112019030123654-pat00086
,
Figure 112019030123654-pat00087
,
Figure 112019030123654-pat00088
,
Figure 112019030123654-pat00089
를 구별할 수 있는 길이정보가 포함되어야 하지만 해당 내용은 쉽게 유추 가능한 내용이므로 설명의 편의를 위해 생략한다.first,
Figure 112019030123654-pat00077
The deal
Figure 112019030123654-pat00078
Indicates that the transaction has been'approved'or'modified',
Figure 112019030123654-pat00079
The deal
Figure 112019030123654-pat00080
The contents of (e.g., actual transaction details, electronic signature, personal information, etc.), and
Figure 112019030123654-pat00081
The deal
Figure 112019030123654-pat00082
It contains information about the interested parties of the company (eg, the public keys of the interested parties). Here, the interested parties deal
Figure 112019030123654-pat00083
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,
Figure 112019030123654-pat00084
Is additional data for the solution of the'transaction correction hash puzzle' which will be described later. When the transaction is first approved
Figure 112019030123654-pat00085
Is an empty bit string. here,
Figure 112019030123654-pat00086
,
Figure 112019030123654-pat00087
,
Figure 112019030123654-pat00088
,
Figure 112019030123654-pat00089
Length information that can distinguish between should be included, but since the content is easily inferred, it is omitted for convenience of explanation.

거래의 상태를 표시하듯이 블록

Figure 112019030123654-pat00090
의 상태를 표시하는 정보(이 경우에는 ‘거래승인’이다)는 블록에 포함되어 있다. 제안된 방법에서는 정해진 규칙에 따라 각 회전마다 수행해야 하는 작업의 종류, 즉, 블록의 상태가 ‘거래승인’ 인지 또는 ‘거래수정’인지는 미리 정해진 규칙(예: ‘거래승인’2회 다음에 ‘거래수정’1회 같은 방법)을 따른다고 가정한다.Block as to indicate the status of the transaction
Figure 112019030123654-pat00090
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).

블록의 상태는 블록이 생성될 때 한번 결정된 후에는 변화하지 않는다. 블록의 상태가 ‘거래승인’이라는 의미는 해당 블록이 거래의 승인에 대한 증명으로 사용된다는 의미이다. 같은 의미로 블록의 상태가 ‘거래수정’이라는 것은 해당 블록이 어떤 특정거래에 대한 수정에 대한 증명으로 사용된다는 의미이다. 또한, 블록에는 블록

Figure 112019030123654-pat00091
의 채굴자의 공개키가 포함된다.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
Figure 112019030123654-pat00091
The public key of the miner of is included.

본 발명에서는, 현재의 회전

Figure 112019030123654-pat00092
이 블록의 계산을 통해 거래승인을 증명 받는 회전인 경우에, 각 채굴자들은 다음과 같이
Figure 112019030123654-pat00093
번 해쉬값을 계산하는 ‘목표설정’ 과정을 진행하도록 규칙을 정한다(수학식 4).In the present invention, the current rotation
Figure 112019030123654-pat00092
In the case of a rotation in which transaction approval is verified through the calculation of this block, each miner is as follows:
Figure 112019030123654-pat00093
A rule is set to proceed with the'target setting' process of calculating the hash value of [Equation 4].

[수학식 4][Equation 4]

주어진

Figure 112019030123654-pat00094
에 대해 given
Figure 112019030123654-pat00094
About

for

Figure 112019030123654-pat00095
for
Figure 112019030123654-pat00095

Figure 112019030123654-pat00096
Figure 112019030123654-pat00096

여기서,

Figure 112019030123654-pat00097
은 블록
Figure 112019030123654-pat00098
에 포함될 거래의 개수이고, 거래승인의 작업증명의 경우에는
Figure 112019030123654-pat00099
(
Figure 112019030123654-pat00100
)이 모두 빈 비트열임을 유의하자(목표값 검증절차에서의 통일성을 유지하기 위해 빈 비트열임에도 불구하고 수학식 4에 포함시켰다). 또한,
Figure 112019030123654-pat00101
는 수학식 5와 같이 정의한다.here,
Figure 112019030123654-pat00097
Silver block
Figure 112019030123654-pat00098
This is the number of transactions to be included in, and in the case of proof of work for transaction approval,
Figure 112019030123654-pat00099
(
Figure 112019030123654-pat00100
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,
Figure 112019030123654-pat00101
Is defined as in Equation 5.

[수학식 5][Equation 5]

Figure 112019030123654-pat00102
해쉬값
Figure 112019030123654-pat00103
의 첫
Figure 112019030123654-pat00104
비트열(
Figure 112019030123654-pat00105
)
Figure 112019030123654-pat00102
Hash value
Figure 112019030123654-pat00103
First of
Figure 112019030123654-pat00104
Bit string (
Figure 112019030123654-pat00105
)

즉, 임의의 어떠한 비트열

Figure 112019030123654-pat00106
에 대해
Figure 112019030123654-pat00107
을 만족하도록 정의한다.That is, any arbitrary bit string
Figure 112019030123654-pat00106
About
Figure 112019030123654-pat00107
Is defined to satisfy.

목표설정의 결과로, 각 채굴자들은 각기 다른 거래들을 모을 수 있기 때문에 각기 다른 '목표값’

Figure 112019030123654-pat00108
을 계산할 수 있다.As a result of target setting, each miner can collect different transactions, so different'target values'
Figure 112019030123654-pat00108
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]

Figure 112019030123654-pat00109
Figure 112019030123654-pat00109

여기서,

Figure 112019030123654-pat00110
는 채굴자의 전자서명을 하는 함수를 의미하고, 이것의 유효한지는 블록에 기록되어 있는 채굴자의 공개키를 이용하여 확인할 수 있다.here,
Figure 112019030123654-pat00110
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]

주어진

Figure 112019030123654-pat00111
에 대하여,given
Figure 112019030123654-pat00111
about,

Figure 112019030123654-pat00112
(
Figure 112019030123654-pat00113
)
Figure 112019030123654-pat00112
(
Figure 112019030123654-pat00113
)

을 만족하는 넌스값

Figure 112019030123654-pat00114
의 계산한다.A nonce value that satisfies
Figure 112019030123654-pat00114
Calculate.

수학식 7을 만족하는 넌스값

Figure 112019030123654-pat00115
에 대한 결과,
Figure 112019030123654-pat00116
가 해당 블록
Figure 112019030123654-pat00117
의 해쉬값으로 계산된다. 블록의 해쉬값을 제일 먼저 계산한 채굴자는 블록
Figure 112019030123654-pat00118
을 발표하고 이를 블록체인에 연결하여 확장된 블록체인
Figure 112019030123654-pat00119
로 업데이트한다. 다른 참여자들은 발표된 블록
Figure 112019030123654-pat00120
을 검증하고 이에 대한 합의로 자신들의 블록체인을
Figure 112019030123654-pat00121
로 업데이트한다.Nonce value that satisfies Equation 7
Figure 112019030123654-pat00115
Results for,
Figure 112019030123654-pat00116
That block
Figure 112019030123654-pat00117
It is calculated as the hash value of The miner who first calculated the hash value of the block is the block
Figure 112019030123654-pat00118
Announced and connected it to the blockchain to expand the blockchain
Figure 112019030123654-pat00119
Update to Other participants are the announced blocks
Figure 112019030123654-pat00120
And consensus on their blockchain
Figure 112019030123654-pat00121
Update to

도 3의 테이블은 거래승인의 증명을 위해 발표된 블록

Figure 112019030123654-pat00122
의 세부 내용이다.The table in Fig. 3 is a block announced for proof of transaction approval.
Figure 112019030123654-pat00122
Is the details of.

기존의 블록체인에서 필요로 하는 도 1의 테이블 내용과 비교하여 본 발명에 따른 블록체인에서 필요로 하는 도 3의 테이블에 추가된 내용을 살펴보면, 먼저, 난이도 계수

Figure 112019030123654-pat00123
(수학식 5 참조)와 ‘블록의 상태’(status)가 추가된다. 현 회전의 작업증명은 ‘거래승인’이었기 때문에 ‘블록의 상태 = 거래승인’으로 결정된다. 또한, 채굴자의 공개키가 헤더에 추가된다. 거래
Figure 112019030123654-pat00124
는 도 2의 데이터 테이블에서 설명하였듯이 더 세분화되어 기록된다. 거래승인 블록
Figure 112019030123654-pat00125
이 생성될 때는
Figure 112019030123654-pat00126
에 대해 거래의 상태
Figure 112019030123654-pat00127
= ‘승인’이고, 거래수정 해쉬퍼즐의 해법을 위한 추가 데이터
Figure 112019030123654-pat00128
가 필요하지 않기 때문에
Figure 112019030123654-pat00129
은 빈 비트열, 즉, 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
Figure 112019030123654-pat00123
(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
Figure 112019030123654-pat00124
Is further subdivided and recorded as described in the data table of FIG. 2. Transaction approval block
Figure 112019030123654-pat00125
When this is created
Figure 112019030123654-pat00126
About the status of the transaction
Figure 112019030123654-pat00127
='Approved', and additional data for the solution of the transaction modification hash puzzle
Figure 112019030123654-pat00128
Because you don't need
Figure 112019030123654-pat00129
Is an empty bit string, that is, Null.

본 발명에 따른 블록체인 수정 방법의 핵심은 수학식 1과 수학식 7의 비교에서 극명하게 드러난다. 기존의 작업증명 방법의 해쉬값

Figure 112019030123654-pat00130
은 모든 거래
Figure 112019030123654-pat00131
에 직접적으로 의존하지만, 제안된 방법에서의 거래승인 작업증명은 거래의 해쉬값에서 일부(이를 '목표값'이라고 명명함,
Figure 112019030123654-pat00132
)인
Figure 112019030123654-pat00133
(수학식 4, 수학식 5 참조)에 의존하도록 정의한다. 이는 거래의 삭제 및 수정을 위해 고안된 것이다.The core of the blockchain modification method according to the present invention is clearly revealed in the comparison between Equations 1 and 7. Hash value of the existing proof-of-work method
Figure 112019030123654-pat00130
Is all deals
Figure 112019030123654-pat00131
It depends directly on, but the transaction approval proof of work in the proposed method is part of the hash value of the transaction (this is called the'target value',
Figure 112019030123654-pat00132
)sign
Figure 112019030123654-pat00133
(See Equation 4 and Equation 5). It is designed for deletion and correction of transactions.

다음으로, 거래를 수정하는 방법을 설명하기로 한다.Next, we will explain how to modify the transaction.

먼저, 현재의 회전

Figure 112019030123654-pat00134
가 블록의 계산을 통해 거래수정을 증명 받는 회전이라고 가정하자. 이 회전에서는 각각의 채굴자들은 정당한 절차(예: 해당 거래의 수정을 요구하는 이해 당사자들의 유효한 요청)를 따라 수정이 요청된 거래 중에서 하나를 선택한다. 이 때, 어떤 채굴자(이를 '채굴자 갑'이라 하자)가 선택한 거래가 블록
Figure 112019030123654-pat00135
에 기록되어 있는
Figure 112019030123654-pat00136
라고 가정해 보자. 여기서, 블록체인에 확실하게 기록된 거래만을 수정 가능하게 제한하기 위해
Figure 112019030123654-pat00137
Figure 112019030123654-pat00138
사이에 충분한 차이(예:
Figure 112019030123654-pat00139
Figure 112019030123654-pat00140
Figure 112019030123654-pat00141
Figure 112019030123654-pat00142
Figure 112019030123654-pat00143
)가 있도록 하는 규칙을 정하자.First, the current rotation
Figure 112019030123654-pat00134
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
Figure 112019030123654-pat00135
Written in
Figure 112019030123654-pat00136
Let's assume. Here, in order to limit only the transactions clearly recorded in the blockchain to be editable
Figure 112019030123654-pat00137
and
Figure 112019030123654-pat00138
Enough difference between them (e.g.
Figure 112019030123654-pat00139
Figure 112019030123654-pat00140
Figure 112019030123654-pat00141
Figure 112019030123654-pat00142
Figure 112019030123654-pat00143
Let's set a rule that allows) to exist.

수정이 요청된 거래

Figure 112019030123654-pat00144
는 원래의 거래 내용은
Figure 112019030123654-pat00145
이였는데 이를
Figure 112019030123654-pat00146
로 수정하도록 요청받았다고 가정해 보자. 먼저, 거래
Figure 112019030123654-pat00147
가 속해있는 블록
Figure 112019030123654-pat00148
은 거래생성 블록이어야 한다는 점을 유의하자. 채굴자 갑은 블록
Figure 112019030123654-pat00149
의 해쉬값
Figure 112019030123654-pat00150
에 변화가 없게 하면서 거래
Figure 112019030123654-pat00151
의 내용
Figure 112019030123654-pat00152
Figure 112019030123654-pat00153
로 수정하기 위해 수학식 8의 작업증명(거래수정)을 만족하는 넌스값을 찾는다. Transaction requested to be modified
Figure 112019030123654-pat00144
Is the original transaction
Figure 112019030123654-pat00145
This was
Figure 112019030123654-pat00146
Suppose you have been asked to modify to. First, deal
Figure 112019030123654-pat00147
The block to which it belongs
Figure 112019030123654-pat00148
Note that is a transaction creation block. Miner's Head is a Block
Figure 112019030123654-pat00149
Hash value of
Figure 112019030123654-pat00150
Without change in the transaction
Figure 112019030123654-pat00151
Content of
Figure 112019030123654-pat00152
To
Figure 112019030123654-pat00153
In order to correct it, a nonce value that satisfies the proof-of-work (transaction correction) of Equation 8 is found.

[수학식 8][Equation 8]

주어진

Figure 112019030123654-pat00154
에 대하여,given
Figure 112019030123654-pat00154
about,

Figure 112019030123654-pat00155
Figure 112019030123654-pat00155

을 만족하는 넌스값

Figure 112019030123654-pat00156
의 계산한다.A nonce value that satisfies
Figure 112019030123654-pat00156
Calculate.

여기서,

Figure 112019030123654-pat00157
는 수정이 요청된 거래의 목표값(
Figure 112019030123654-pat00158
)이다. 또한, 넌스값의 검색공간은 거래승인 작업증명에서 사용한 넌스값의 검색공간과 같은 것으로 정하자. 수학식 8을 만족하는 넌스값
Figure 112019030123654-pat00159
Figure 112019030123654-pat00160
을 만족하기 때문에
Figure 112019030123654-pat00161
의 내역
Figure 112019030123654-pat00162
Figure 112019030123654-pat00163
로 수정하고, 빈 비트열
Figure 112019030123654-pat00164
Figure 112019030123654-pat00165
으로 교체(원래, 빈 비트열이었던
Figure 112019030123654-pat00166
는 이제 난수와 같은 넌스값
Figure 112019030123654-pat00167
으로 교체되고, 이 넌스값을 새로운
Figure 112019030123654-pat00168
로 여기게 된다)하면 블록
Figure 112019030123654-pat00169
에서 거래
Figure 112019030123654-pat00170
를 수정하는 효과를 얻을 수 있다. 이때, 거래
Figure 112019030123654-pat00171
이 수정된 블록
Figure 112019030123654-pat00172
은 원래의 블록 해쉬값
Figure 112019030123654-pat00173
에 대해 유효성이 검증된다. 만약, 거래를 삭제하는 경우라면
Figure 112019030123654-pat00174
을 빈 비트열(
Figure 112019030123654-pat00175
= null)로 교체하는 경우에 해당된다.here,
Figure 112019030123654-pat00157
Is the target value of the transaction requested to be modified (
Figure 112019030123654-pat00158
)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
Figure 112019030123654-pat00159
silver
Figure 112019030123654-pat00160
Because you are satisfied
Figure 112019030123654-pat00161
Breakdown of
Figure 112019030123654-pat00162
of
Figure 112019030123654-pat00163
And an empty bit string
Figure 112019030123654-pat00164
To
Figure 112019030123654-pat00165
Replaced with (originally, an empty bit string
Figure 112019030123654-pat00166
Is now the same nonce value as a random number
Figure 112019030123654-pat00167
Is replaced with a new nonce value
Figure 112019030123654-pat00168
Block)
Figure 112019030123654-pat00169
Deal in
Figure 112019030123654-pat00170
You can get the effect of modifying. At this time, the transaction
Figure 112019030123654-pat00171
This modified block
Figure 112019030123654-pat00172
Is the original block hash value
Figure 112019030123654-pat00173
Is validated against. If the transaction is deleted
Figure 112019030123654-pat00174
Is an empty bit string (
Figure 112019030123654-pat00175
= null).

현재의 회전

Figure 112019030123654-pat00176
에서 채굴자 갑이 제일 먼저 거래 수정에 대한 작업증명을 완료하였다고 가정하자. 채굴자 갑은 자신이 계산한 거래수정 증명을 위한 블록
Figure 112019030123654-pat00177
을 발표하고 자신의 블록체인에 블록
Figure 112019030123654-pat00178
을 연결하여 블록체인을 확장할 것이다. 이때 블록
Figure 112019030123654-pat00179
의 해쉬값은 수학식 9로 정의한다.Current rotation
Figure 112019030123654-pat00176
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
Figure 112019030123654-pat00177
To announce and block on their own blockchain
Figure 112019030123654-pat00178
Will be connected to expand the blockchain. Block
Figure 112019030123654-pat00179
The hash value of is defined by Equation 9.

[수학식 9][Equation 9]

Figure 112019030123654-pat00180
Figure 112019030123654-pat00180

다른 채굴자들도 발표된 블록

Figure 112019030123654-pat00181
을 검증한 후에 그 검증결과가 참이면 자신들의 블록체인도 채굴자 갑처럼 확장한다. 이를 위해서는 블록
Figure 112019030123654-pat00182
에는 수정되는 거래에 대한 정보가 포함하고 있어야 한다.Blocks announced by other miners
Figure 112019030123654-pat00181
After verifying, if the verification result is true, their blockchain will also expand like a miner. To do this, block
Figure 112019030123654-pat00182
Should contain information about the transaction being revised.

도 4는 거래수정 블록

Figure 112019030123654-pat00183
의 데이터 테이블을 도시한 것이다.Figure 4 is a transaction modification block
Figure 112019030123654-pat00183
It shows the data table of.

블록

Figure 112019030123654-pat00184
에는 현 블록이 거래수정의 증명을 위한 것이라는 내용(블록의 상태 = 거래수정), 수정되는 거래
Figure 112019030123654-pat00185
에 대한 정보(
Figure 112019030123654-pat00186
에 포함), 거래의 수정요청에 대한 해당 거래의 이해 당사자들의 전자서명(
Figure 112019030123654-pat00187
에 포함), 거래의 수정을 위해 진행해야 하는 작업들(
Figure 112019030123654-pat00188
에 포함), 이에 대한 전자서명(
Figure 112019030123654-pat00189
) 등이 포함되어야 한다. 다른 참여자들은 도 5에 도시한 절차를 통해 거래의 수정, 즉, 자신들이 가지고 있는 블록체인의 업데이트를 진행한다. 물론, 중간에 하나의 검증에서라도 실패하는 순간 블록체인은 원래의 상태로 복귀하고 블록
Figure 112019030123654-pat00190
은 무시될 것이다.block
Figure 112019030123654-pat00184
Is that the current block is for proof of transaction modification (block status = transaction modification), the transaction being modified
Figure 112019030123654-pat00185
Information about (
Figure 112019030123654-pat00186
Included in), electronic signatures of interested parties of the transaction (
Figure 112019030123654-pat00187
Included in), tasks that need to be carried out to modify the transaction (
Figure 112019030123654-pat00188
Included in), electronic signature for this (
Figure 112019030123654-pat00189
) 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
Figure 112019030123654-pat00190
Will be ignored.

블록

Figure 112019030123654-pat00191
의 거래
Figure 112019030123654-pat00192
의 수정 과정은 도 5와 같다.block
Figure 112019030123654-pat00191
Deal of
Figure 112019030123654-pat00192
The correction process of is shown in FIG. 5.

단계 1(S510): 블록

Figure 112019030123654-pat00193
의 작업증명 검증:
Figure 112019030123654-pat00194
의 유효성 검증 (수학식 8, 수학식 9)Step 1 (S510): block
Figure 112019030123654-pat00193
Proof of work verification:
Figure 112019030123654-pat00194
Validation of (Equation 8, Equation 9)

단계 2(S520): 블록

Figure 112019030123654-pat00195
의 목표값
Figure 112019030123654-pat00196
의 무결성 검증 (수학식 6)Step 2 (S520): block
Figure 112019030123654-pat00195
Target value of
Figure 112019030123654-pat00196
Integrity verification (Equation 6)

단계 3(S530): 거래

Figure 112019030123654-pat00197
의 원래의
Figure 112019030123654-pat00198
에 대한 목표값
Figure 112019030123654-pat00199
검증 (수학식 4)Step 3 (S530): Transaction
Figure 112019030123654-pat00197
Of the original
Figure 112019030123654-pat00198
Target value for
Figure 112019030123654-pat00199
Verification (Equation 4)

단계 4(S540): 거래

Figure 112019030123654-pat00200
Figure 112019030123654-pat00201
를 이용하여 수정요청의 유효성 검증Step 4 (S540): Transaction
Figure 112019030123654-pat00200
of
Figure 112019030123654-pat00201
Validation of the revision request using

단계 5(S550): 거래

Figure 112019030123654-pat00202
수정Step 5 (S550): Transaction
Figure 112019030123654-pat00202
Modify

Figure 112019030123654-pat00203
Figure 112019030123654-pat00204
Null(수정요청이 삭제인 경우) or 변화 없음
Figure 112019030123654-pat00203
Figure 112019030123654-pat00204
Null (if the modification request is deleted) or no change

Figure 112019030123654-pat00205
Figure 112019030123654-pat00206
Figure 112019030123654-pat00207
Figure 112019030123654-pat00205
Figure 112019030123654-pat00206
Figure 112019030123654-pat00207

Figure 112019030123654-pat00208
Figure 112019030123654-pat00209
Figure 112019030123654-pat00210
Figure 112019030123654-pat00208
Figure 112019030123654-pat00209
Figure 112019030123654-pat00210

거래

Figure 112019030123654-pat00211
의 상태
Figure 112019030123654-pat00212
‘수정’deal
Figure 112019030123654-pat00211
State of
Figure 112019030123654-pat00212
'Modify'

단계 6(S560): 블록

Figure 112019030123654-pat00213
의 Merkle tree 정보
Figure 112019030123654-pat00214
업데이트 Step 6 (S560): block
Figure 112019030123654-pat00213
Merkle tree information
Figure 112019030123654-pat00214
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 computer system 600 of FIG. 6. As shown in FIG. 6, the computer system 600 is a processor 610, a memory 620, a permanent storage device 630, a bus 640, as a component for executing the above-described block chain modification method. An input/output interface 650 and a network interface 660 may be included.

프로세서(610)는 명령어들의 시퀀스를 처리할 수 있는 임의의 장치를 포함하거나 그의 일부일 수 있다. 프로세서(610)는 예를 들어 컴퓨터 프로세서, 이동 장치 또는 다른 전자 장치 내의 프로세서 및/또는 디지털 프로세서를 포함할 수 있다. 프로세서(610)는 예를 들어, 서버 컴퓨팅 디바이스, 서버 컴퓨터, 일련의 서버 컴퓨터들, 서버 팜, 클라우드 컴퓨터, 컨텐츠 플랫폼, 이동 컴퓨팅 장치, 스마트폰, 태블릿, 셋톱 박스 등에 포함될 수 있다. 프로세서(610)는 버스(640)를 통해 메모리(620)에 접속될 수 있다.Processor 610 may include or be part of any device capable of processing a sequence of instructions. The processor 610 may include, for example, a processor and/or a digital processor in a computer processor, mobile device or other electronic device. The processor 610 may be included, for example, in a server computing device, a server computer, a series of server computers, a server farm, a cloud computer, a content platform, a mobile computing device, a smartphone, a tablet, a set-top box, and the like. The processor 610 may be connected to the memory 620 through the bus 640.

메모리(620)는 컴퓨터 시스템(600)에 의해 사용되거나 그에 의해 출력되는 정보를 저장하기 위한 휘발성 메모리, 영구, 가상 또는 기타 메모리를 포함할 수 있다. 예를 들어, 메모리(620)는 랜덤 액세스 메모리(RAM: random access memory) 및/또는 동적 RAM(DRAM: dynamic RAM)을 포함할 수 있다. 메모리(620)는 컴퓨터 시스템(600)의 상태 정보와 같은 임의의 정보를 저장하는 데 사용될 수 있다. 메모리(620)는 예를 들어 블록체인에 기록된 거래를 수정하기 위한 명령어들을 포함하는 컴퓨터 시스템(600)의 명령어들을 저장하는 데에도 사용될 수 있다. 컴퓨터 시스템(600)은 필요에 따라 또는 적절한 경우에 하나 이상의 프로세서(610)를 포함할 수 있다.The memory 620 may include volatile memory, permanent, virtual, or other memory for storing information used by or output by the computer system 600. For example, the memory 620 may include random access memory (RAM) and/or dynamic RAM (DRAM). Memory 620 may be used to store any information, such as state information of computer system 600. Memory 620 may also be used to store instructions of computer system 600, including instructions for modifying transactions recorded in the blockchain, for example. Computer system 600 may include one or more processors 610 as needed or where appropriate.

버스(640)는 컴퓨터 시스템(600)의 다양한 컴포넌트들 사이의 상호작용을 가능하게 하는 통신 기반 구조를 포함할 수 있다. 버스(640)는 컴퓨터 시스템(600)의 컴포넌트들 사이에, 예를 들어 프로세서(610)와 메모리(620) 사이에 데이터를 운반할 수 있다. 버스(640)는 컴퓨터 시스템(600)의 컴포넌트들 간의 무선 및/또는 유선 통신 매체를 포함할 수 있으며, 병렬, 직렬 또는 다른 토폴로지 배열들을 포함할 수 있다.Bus 640 may include a communication infrastructure that enables interaction between various components of computer system 600. Bus 640 may carry data between components of computer system 600, for example between processor 610 and memory 620. Bus 640 may include wireless and/or wired communication media between components of computer system 600 and may include parallel, serial, or other topological arrangements.

영구 저장 장치(630)는 (예를 들어 메모리(620)에 비해) 소정의 연장된 기간 동안 데이터를 저장하기 위해 컴퓨터 시스템(600)에 의해 사용되는 바와 같은 메모리 또는 다른 영구 저장 장치와 같은 컴포넌트들을 포함할 수 있다. 영구 저장 장치(630)는 컴퓨터 시스템(600) 내의 프로세서(610)에 의해 사용되는 바와 같은 비휘발성 메인 메모리를 포함할 수 있다. 예를 들어, 영구 저장 장치(630)는 플래시 메모리, 하드 디스크, 광 디스크 또는 다른 컴퓨터 판독 가능 매체를 포함할 수 있다.Persistent storage device 630 includes components such as memory or other persistent storage device as used by computer system 600 to store data for a predetermined extended period of time (e.g., compared to memory 620). Can include. Persistent storage device 630 may include non-volatile main memory as used by processor 610 in computer system 600. For example, the persistent storage device 630 may include a flash memory, a hard disk, an optical disk, or other computer-readable medium.

입출력 인터페이스(650)는 키보드, 마우스, 마이크, 카메라, 디스플레이 또는 다른 입력 또는 출력 장치에 대한 인터페이스들을 포함할 수 있다. 구성 명령들 및/또는 블록체인에 기록된 거래 수정과 관련된 입력이 입출력 인터페이스(650)를 통해 수신될 수 있다.The input/output interface 650 may include interfaces to a keyboard, mouse, microphone, camera, display, or other input or output device. Input related to configuration commands and/or transaction modification recorded in the blockchain may be received through the input/output interface 650.

네트워크 인터페이스(660)는 근거리 네트워크 또는 인터넷과 같은 네트워크들에 대한 하나 이상의 인터페이스를 포함할 수 있다. 네트워크 인터페이스(660)는 유선 또는 무선 접속들에 대한 인터페이스들을 포함할 수 있다. 구성 명령들은 네트워크 인터페이스(660)를 통해 수신될 수 있다. 그리고, 블록체인에 기록된 거래 수정과 관련된 정보들은 네트워크 인터페이스(660)를 통해 수신 또는 송신될 수 있다.The network interface 660 may include one or more interfaces to networks such as a local area network or the Internet. Network interface 660 may include interfaces for wired or wireless connections. Configuration commands may be received through the network interface 660. In addition, information related to transaction modification recorded in the blockchain may be received or transmitted through the network interface 660.

또한, 다른 실시예들에서 컴퓨터 시스템(600)은 도 6의 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 컴퓨터 시스템(600)은 상술한 입출력 인터페이스(650)와 연결되는 입출력 장치들 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), GPS(Global Positioning System) 모듈, 카메라, 각종 센서, 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다.Further, in other embodiments, the computer system 600 may include more components than the components of FIG. 6. However, there is no need to clearly show most of the prior art components. For example, the computer system 600 may be implemented to include at least some of the input/output devices connected to the input/output interface 650 described above, or a transceiver, a Global Positioning System (GPS) module, a camera, various sensors, Other components such as a database may be further included.

이처럼 본 발명의 실시예들에 따르면, 이미 기록된 거래에 대한 수정 가능성을 제공함으로써 블록체인의 활용분야를 확대할 수 있으며, 개인정보 보호법 관련 규정에 의해 거래내역에 내재된 개인 정보의 삭제가 요구되는 경우 이를 기술적으로 해결할 수 있다.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.
삭제delete 삭제delete 제1항에 있어서,
상기 블록의 채굴을 진행하는 단계는,
상기 목표값의 위변조를 방지하기 위해 상기 목표값에 대한 채굴자의 전자서명을 해당 블록 내에 포함시키는 단계
를 더 포함하는 블록체인 기반 거래 관리 방법.
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.
제1항에 있어서,
상기 블록의 채굴을 진행하는 단계는,
수정이 요청된 거래의 목표값에 대한 해쉬퍼즐을 이용하여 상기 거래수정 블록에 대한 작업을 증명하는 단계
를 더 포함하는 블록체인 기반 거래 관리 방법.
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.
제5항에 있어서,
상기 블록의 채굴을 진행하는 단계는,
거래수정 명령이 포함된 상기 거래수정 블록을 블록체인에 추가함으로써 이미 기록된 거래를 수정하여 블록체인을 업데이트 하는 단계
를 더 포함하는 블록체인 기반 거래 관리 방법.
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.
삭제delete 제7항에 있어서,
상기 적어도 하나의 프로세서는,
상기 목표값의 위변조를 방지하기 위해 상기 목표값에 대한 채굴자의 전자서명을 해당 블록 내에 포함시키는 것
을 특징으로 하는 컴퓨터 시스템.
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.
제7항에 있어서,
상기 적어도 하나의 프로세서는,
수정이 요청된 거래의 목표값에 대한 해쉬퍼즐을 이용하여 상기 거래수정 블록에 대한 작업을 증명하고,
거래수정 명령이 포함된 상기 거래수정 블록을 블록체인에 추가함으로써 이미 기록된 거래를 수정하여 블록체인을 업데이트 하는 것
을 특징으로 하는 컴퓨터 시스템.
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.
KR1020190033315A 2019-01-22 2019-03-25 Blockchains with modifiable recorded transactions KR102164779B1 (en)

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)

* Cited by examiner, † Cited by third party
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

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
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