WO2020153552A1 - 기록된 거래의 수정이 가능한 블록체인을 위한 방법 및 장치 - Google Patents

기록된 거래의 수정이 가능한 블록체인을 위한 방법 및 장치 Download PDF

Info

Publication number
WO2020153552A1
WO2020153552A1 PCT/KR2019/008595 KR2019008595W WO2020153552A1 WO 2020153552 A1 WO2020153552 A1 WO 2020153552A1 KR 2019008595 W KR2019008595 W KR 2019008595W WO 2020153552 A1 WO2020153552 A1 WO 2020153552A1
Authority
WO
WIPO (PCT)
Prior art keywords
transaction
blockchain
block
modification
sub
Prior art date
Application number
PCT/KR2019/008595
Other languages
English (en)
French (fr)
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
Priority claimed from KR1020190033315A external-priority patent/KR102164779B1/ko
Priority claimed from KR1020190047726A external-priority patent/KR102189668B1/ko
Priority claimed from KR1020190047725A external-priority patent/KR102189667B1/ko
Application filed by 인제대학교 산학협력단, 한국과학기술원 filed Critical 인제대학교 산학협력단
Publication of WO2020153552A1 publication Critical patent/WO2020153552A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/389Keeping log of transactions for guaranteeing non-repudiation of a transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/085Payment architectures involving remote charge determination or related payment systems
    • G06Q20/0855Payment architectures involving remote charge determination or related payment systems involving a third party
    • 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/3821Electronic credentials
    • G06Q20/38215Use of certificates or encrypted proofs of transaction rights
    • 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/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q2220/00Business processing using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q2220/00Business processing using cryptography
    • G06Q2220/10Usage protection of distributed data files
    • G06Q2220/12Usage or charge determination
    • G06Q2220/127Adding plural layers of rights or limitations by other than the original producer

Definitions

  • the description below relates to A Method and Apparatus for blockchains with modifiable recorded transactions, which connects the blockchain in accordance with a legitimate procedure for transactions already recorded on the blockchain. It is about a technology that can be modified without changing the structure.
  • transaction follows the convention of Bitcoin, and may be a transaction history of actual electronic money or a mixture of various information including personal information, depending on the service provided by the blockchain.
  • Hash value in Bitcoin's blockchain And nonce value Is defined as the answer to the following proof of work.
  • I a set of bit strings in which all the first M bits of the 256 bit strings are zero. Nonce value that satisfies the hash puzzle of Equation 1
  • the result of Equation 2 is a block Is the hash value of
  • 1 is a block It shows the data table included in.
  • Equation 1 determines the difficulty of the hash puzzle. The larger the value, the more difficult it is to calculate the nonce value that satisfies the hash puzzle.
  • rotation In the hash puzzle solution The miner who first calculates (referring to the node participating in the proof of work) is the block And blockchain Connect to to expand your own blockchain.
  • the sub-blockchain is a block chain that deals with transaction modification classified by difficulty level, a block chain that deals with special types of transactions, such as a blockchain related to cryptocurrencies different from the cryptocurrency used in the main blockchain, and smart transactions, and records only specific data. It can be composed of several heterogeneous blockchains, such as the blockchain in charge.
  • the main blockchain is used to obtain the effect of recording the data recorded in the sub-blockchain to the main blockchain by connecting several sub-blockchains to the main blockchain with the approval of the transaction.
  • the proposed multi-blockchain provides the flexibility to use different proof-of-work methods and cryptocurrencies for each sub-blockchain by classifying transactions by work proof difficulty, type, or purpose.
  • the technology of the present invention provides transparency, security and improved traceability of recorded transaction contents, which are advantages of the existing blockchain, while at the same time, it does not require any central manager and decentralized participants as in the existing blockchain. It is possible to create a hierarchical multi-blockchain through their joint efforts.
  • transaction approval and transaction modification can be done in an integrated block mining through the joint efforts of decentralized participants as in the existing blockchain.
  • a block chain based transaction management method executed in a computer system includes at least one processor configured to execute computer readable instructions contained in a memory
  • the block chain based transaction management method comprises the at least one A block that is performed by a processor and includes the steps of distinguishing the approval and the modification of the transaction by using the transaction approval block for verifying the approval of the transaction and the transaction modification block for verifying the modification of the transaction, and proceeding with mining of the block It provides a chain-based transaction management method.
  • the step of proceeding with the mining of the block may include setting a target value for the transaction so that a transaction can be modified in the calculation process of the transaction approval block.
  • the step of proceeding with the mining of the block may further include verifying the work on the transaction approval block using a hash puzzle for the target value.
  • the step of proceeding with the mining of the block may further include the step of including the digital signature of the miner for the target value in the corresponding block to prevent forgery and alteration of the target value.
  • 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 for which modification is requested.
  • the step of proceeding with the mining of the block may further include updating the blockchain by modifying an already recorded transaction by adding the transaction modification block containing the transaction modification command to the blockchain. have.
  • a multi-blockchain method executed in a computer system comprising at least one processor configured to execute computer-readable instructions contained in memory, the multi-blockchain method performed by the at least one processor Determining the difficulty level of the proof of work necessary for modification according to the content or type of each transaction, and calculating a target value for the transaction according to the difficulty level; And performing transaction approval through proof of work for the target value so that transaction modification is possible.
  • the step of performing is to create a hierarchical blockchain consisting of one main blockchain and a plurality of sub-blockchains, wherein the sub-blockchains are classified by difficulty. It is a blockchain that deals with transaction modification, and the main blockchain can record the data recorded in the sub-blockchain to the main blockchain by connecting the sub-blockchain to the main blockchain with approval of the transaction.
  • the step of performing is to create a hierarchical blockchain consisting of one main blockchain and a plurality of sub-blockchains, as a modification command for the transaction requested to be modified according to the difficulty of the proof of work. And connecting the made sub-blockchain to the main blockchain.
  • the connecting step may include connecting the sub-blockchain to the main blockchain by connecting the sub-blockchain to a block that has a hash value of the main blockchain satisfying a specific condition. Can.
  • the connecting step may include updating by applying a modification command for a specific transaction recorded in the sub-blockchain to the entire blockchain by connecting the sub-blockchain to the main blockchain. Can.
  • the performing step may further include using different proof-of-work methods and cryptocurrency for each sub-blockchain.
  • the performing step further comprises connecting a sub-blockchain consisting of a modification command for a transaction requested to be modified to the sub-blockchain as the sub-blockchain is used for approval of the transaction. It can contain.
  • a block mining method executed in a computer system comprising at least one processor configured to execute computer readable instructions contained in a memory, the block mining method being performed by the at least one processor ,
  • the first state (approved) that has not changed since the given transaction was approved and recorded on the blockchain, and the second state (modified) modified since the given transaction was approved and recorded on the blockchain, and the transaction recorded on the blockchain is modified
  • It provides a block mining method comprising the step of proceeding block mining incorporating the approval and modification of the transaction by using a transaction distinguished by a third state (command) made of commands to do.
  • the step of performing block mining incorporating the approval and modification of the transaction includes generating a transaction consisting of a transaction modification command using a hash puzzle for the target value of the transaction for which modification is requested. Can.
  • the step of proceeding with the block mining incorporating the approval and modification of the transaction requires a modification by adding a block made by incorporating the transaction and the other transaction into one block to the blockchain. It may include the step of modifying the updated transaction.
  • the step of performing block mining incorporating approval and modification of the transaction may include calculating a target value for each transaction; And using the hash puzzle for the target value to correct the transaction recorded on the blockchain.
  • the step of modifying a transaction recorded on the blockchain may include performing a transaction modification proof of the transaction using a hash puzzle for the target value of the transaction for which the modification is requested.
  • the step of modifying the transaction recorded on the blockchain further includes the step of modifying and updating the transaction requested for modification by adding a block including a transaction consisting of a transaction modification command to the blockchain.
  • the step of proceeding with block mining incorporating the approval and modification of the transaction further includes incorporating the miner's digital signature for the target value into the corresponding block to prevent forgery of the target value. It can contain.
  • a computer system comprising at least one processor configured to execute computer readable instructions contained in a memory, the at least one processor managing a transaction based on a blockchain, for verifying approval of the transaction
  • a computer system characterized by proceeding with the mining of a block by distinguishing the approval and the modification of the transaction by using the transaction approval block and the transaction modification block to verify the modification of the transaction.
  • 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 transactions based on a blockchain, depending on the content or type of each transaction.
  • a computer system characterized by determining the difficulty of proof of work necessary for correction and calculating a target value for the transaction according to the difficulty and performing transaction approval through proof of work for the target value so that transaction modification is possible. to provide.
  • a computer system comprising at least one processor configured to execute computer readable instructions contained in memory, the at least one processor managing transactions based on a blockchain, wherein a given transaction is approved and sent to the blockchain A first state (approved) that has not changed since it was recorded, a second state (corrected) that has been modified since a given transaction has been approved and recorded on the blockchain, and a third state consisting of an order to modify the transaction recorded on the blockchain.
  • a computer system characterized by performing block mining incorporating approval and modification of a transaction using a transaction identified by (command).
  • the field of use of the blockchain can be expanded, and in particular, it is possible to technically solve the case where the deletion of personal information inherent in the transaction is required by the provisions of the Personal Information Protection Act.
  • the core attributes of the blockchain can be maintained and guaranteed through the provision of decentralized functions where all peer nodes participate in the consensus process. .
  • Modification is not a level that individual nodes (individuals) can do, but a level of difficulty 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 an existing blockchain. Do.
  • FIG. 1 shows a data table included in a block of an existing blockchain model.
  • FIG. 2 shows a data table of a transaction included in a transaction approval block in an embodiment of the present invention.
  • FIG 3 shows a data table of a transaction approval block for proof of transaction approval in an embodiment of the present invention.
  • FIG. 4 shows a data table of a transaction modification block for proof of transaction modification in an embodiment of the present invention.
  • FIG. 5 is a flowchart illustrating a transaction modification process of a transaction modification block in an embodiment of the present invention.
  • Figure 6 shows a table showing the details of the blocks of the main blockchain in an embodiment of the present invention.
  • FIG. 7 is a table showing details of a transaction modification block of a blockchain model according to an embodiment of the present invention.
  • FIG. 8 is a flowchart illustrating a process for modifying a transaction of a block by a blockchain model according to an embodiment of the present invention.
  • FIG 9 shows an example of connecting the sub-blockchain to the main block chain in one embodiment of the present invention.
  • FIG. 10 shows an example of a hierarchical multi-blockchain in an embodiment of the present invention.
  • FIG. 11 is a block diagram illustrating an example of an internal configuration of a computer system in an embodiment of the present invention.
  • FIG. 12 shows a data table showing details of recorded transactions in an embodiment of the present invention.
  • FIG. 13 is a diagram showing a data table showing details of a published block in an embodiment of the present invention.
  • FIG. 14 is a diagram showing a data table showing contents of a transaction made with a correction command in one embodiment of the present invention.
  • 15 is a flowchart illustrating a process for modifying a transaction of a block in an embodiment of the present invention.
  • a blockchain that can modify transactions already recorded on the blockchain.
  • two different types of blocks are used. One is “a block for verifying the approval of the transaction” (this is called “a transaction approval block”) and the other is “amendment of the transaction.” Block to be certified” (this is called'transaction modification block').
  • Deal Indicates that the transaction is'approved'or'modified'.
  • Deal The contents of (e.g., the actual transaction details, electronic signature, personal information, etc.), and Deal It contains information about the stakeholders (eg public keys of the stakeholders).
  • interested parties deal It means a subject who can request deletion or modification of the relevant details following a legitimate procedure after is approved.
  • the blockchain blocks as it indicates the status of the transaction.
  • Information indicating the status of (in this case,'transaction approval') is included in the block.
  • the type of work to be performed for each rotation according to a predetermined rule that is, whether the status of a block is'transaction approval'or'transactionmodification' is a predetermined rule (for example, after'transaction approval' twice It is assumed that the same method is used once for'transaction correction'.
  • a block's status means'approval' means that the block is used as proof of approval of the transaction.
  • a block's status of'transaction modification' means that the block is used as proof of amendments to a particular transaction.
  • blocks are blocks The miner's public key is included.
  • Silver block The number of transactions to be included, and the first approved transaction In the case of Note that these are all empty bit strings (included even though they are empty bit strings to maintain uniformity in the target value verification procedure). Also, Is defined as in Equation 5.
  • each miner can collect different transactions, so different'target values' Can be calculated.
  • This target value should be prevented from being forged into data that will be used to verify the validity of the transaction modification.
  • the digital signature of the miner for the target value is included in the block as shown in Equation (6).
  • DS means a function for digitally signing a miner, and its validity can be confirmed by using the miner's public key recorded in the block.
  • Nonce value that satisfies equation (7) Results for, Is the corresponding block It is calculated as the hash value of.
  • the miner who first calculates the hash value of a block is the block Announced and connected it to the blockchain to expand the blockchain Update to Blocks announced by other participants And verify their blockchain by agreeing on this. Update to
  • the table of Figure 3 is a block announced for the proof of transaction approval Is the details of.
  • Equation 1 The core of the blockchain modification method according to the present embodiment is clearly revealed in the comparison of Equation 1 and Equation 7.
  • Hash value of the existing proof-of-work method All deals Depends directly on, but the proof of work in the proposed method is part of the transaction's hash value (named'target value', )sign (See Equation 4 and Equation 5). It is designed for deletion and modification of transactions.
  • the current rotation Suppose that is a rotation that proves the transaction modification through the calculation of the block.
  • each miner selects one of the transactions for which amendment has been requested following a legitimate procedure (eg, a valid request from interested parties requesting that the transaction be amended).
  • a legitimate procedure e.g, a valid request from interested parties requesting that the transaction be amended.
  • the transaction selected by a miner let's call it'miner's box'
  • Miner Kab completed the proof of work on transaction modification first.
  • Miner A is a block for proof of transaction modification calculated by himself. Announce and block on your own blockchain We will extend the blockchain by connecting. Block at this time
  • the hash value of may be defined by Equation (9).
  • block status transaction modification
  • Information on included in TMC
  • electronic signatures of interested parties of the transaction for requests to modify the transaction included in TMC
  • actions to be performed to modify the transaction included in TMC
  • electronic signature on this S TMC
  • Other participants modify the transaction through the procedure shown in Fig. 5, that is, update their blockchain.
  • the blockchain fails to return to its original state at the moment when even one verification fails in the middle. Will be ignored.
  • Step 1 Verify transaction modification work proof Validation of (Equation 8, Equation 9)
  • Step 2 Block Target value of Integrity verification (Equation 6)
  • Step 3 (S530): Transaction Original Target value for Verification (Equation 4)
  • Step 6 Block Merkle tree information update
  • One of the objectives of the present invention is to propose a blockchain capable of modifying transactions recorded on the blockchain as described above, and for this purpose, unlike the existing method, it proceeds with block mining for proof of operation of transaction modification and subblocks.
  • the chain is calculated and the transaction approval is performed in the main blockchain. The following symbols will be used to illustrate this.
  • Silver block The number of transactions to be included, and the first approved transaction In the case of Equation 4, Note that these are all empty bit strings, and are included in Equation (10) even though they are empty bit strings to maintain uniformity in the target value verification procedure.
  • each miner can collect different transactions, so different'target values' Can be calculated. This target value should be prevented from being forged into data that will be used to verify the validity of the transaction modification.
  • Equation 6( ) the miner's digital signature for the target value is included in the block.
  • DS means a function for digitally signing a miner, and its validity can be confirmed by using the miner's public key recorded in the block.
  • Result for nonce r satisfying equation (11) Is the corresponding block It is calculated as the hash value of.
  • the miner who first calculates the hash value of a block is the block Announced and connected it to the main blockchain to expand the main blockchain Update. Blocks announced by other participants And verify their main blockchain Update.
  • Main blockchain in the present invention On transaction approval work proof block The procedure for connecting is the same as described above. As mentioned earlier, the difference is different factors depending on the content and type of the transaction. This is what makes it possible to use. In addition, in the present invention, it is proposed that the main blockchain is in charge of transaction approval only. Considering this fact, the block in the present invention The details of can be described as shown in the table of FIG. 6.
  • the sub-blockchain to be directly connected to the main blockchain is a special type of smart transaction, such as to deal with transactions related to cryptocurrencies different from the cryptocurrency used in the main blockchain, to deal with transaction modification classified by difficulty. It can be composed of several sub-blockchains to handle transactions, or only to record specific data. In addition, each sub-blockchain can use a different form of consensus method, block mining and cryptocurrency than the main blockchain.
  • the number of sub-blockchains to be directly connected to the main blockchain is less than 2 L. Let's express one sub-blockchain and a block to be connected to it using the following symbols.
  • the structure of the sub-blockchain can be of various types.
  • the marker It will be explained with the case where the correction order for the transaction recorded in the main blockchain at the specific difficulty is recorded in the human blockchain.
  • the sub-blockchains in the present invention are hash values of blocks in the main blockchain End of -The beat When referring to -Blocks of sub-blockchains are created and connected to the main blockchain.
  • the block hash value of the main blockchain End of -The beat Corresponding marker Let's assume that The first block hash value in the main blockchain End of -Bit marker Turns Mined in The -The first block of sub-blockchain It is considered as.
  • Nonce value And hash values Is defined by Equation (12).
  • -Miners of the sub-blockchain are For proof of work for consensus on the order to amend the transaction recorded in the block. -Create a block of sub-blockchain. For example, trading Contents of of Let's say we have a request to fix Block for consensus Nonce value And hash values Is obtained through proof of work in Equation 13 (transaction modification).
  • This transaction modification order consists of -Block of sub-blockchain Hash value of Is done.
  • TMC 7 is a transaction modification block It shows the contents of.
  • the transaction being revised Information on (included in TMC)
  • electronic signatures of interested parties of the transaction for requests to modify the transaction (included in TMC)
  • actions to be performed to modify the transaction (included in TMC)
  • electronic signature on this S TMC
  • the main contents of TMC are as follows.
  • Step 1 Block Verification of work proof Validation of (Equation 13)
  • Step 2 Block Target value of Integrity verification (Equation 6)
  • Step 3 (S830): Transaction Original Target value for Verification (Equation 4)
  • connection of the sub-blockchain to the main block chain means that the transactions of the sub-blockchain are recorded in the entire blockchain.
  • block Miners block from the main blockchain Subblock with block compensation for For'connection compensation' -You will receive it from the sub-blockchain network. Meanwhile, the sub-block Miners of the -You will receive block rewards for the blocks they have mined from the sub-blockchain network. Also, the main blockchain block Hash value of of Update. here, Is the last block of the connected subblock Is the hash value of
  • the sub-blockchain can be used to approve specific kinds of transactions in addition to the ones made by the correction order.
  • the transactions recorded in the sub-blockchain are recorded in the sub-blockchain through the proof-of-work on the target value, just as the transactions in the main-blockchain were approved through the proof-of-work for the target value to ensure the possibility of modification.
  • a sub-blockchain for modifying it can be added (see Fig. 10). That is, it is possible to construct a hierarchical multi-blockchain.
  • the method of creating and connecting the sub-blockchain to the sub-blockchain is applied to the block hash value of the sub-blockchain by applying the'method using the end bit of the hash value' used to create and connect the sub-blockchain to the main blockchain. use.
  • the sub-blockchain connected to the sub-blockchain need not be connected only within one word connected to the main blockchain.
  • -Sub-blockchain View as a single independent blockchain and connect the lower blockchain.
  • the transaction modification is not limited to transactions recorded in the main blockchain. If, some sub-blockchain was used to approve specific types of transactions, and instead of directly proving work for the transaction in the approval process to secure the possibility of modification, work on the target value (Equation 10) If proof has been implemented, the transaction can be modified.
  • the blockchain for transaction modification does not necessarily have to exist only in the lower part of the blockchain in which the transaction to be modified is recorded. If the transaction to be modified at the time of proof-of-work for transaction modification is recorded in the entire blockchain, and the proof-of-work proof was executed in the approval process, it can be modified regardless of the recorded location.
  • the main blockchain deals with the case of transaction approval.
  • all transactions that need to be approved in the blockchain are approved in various sub-blockchains according to its type, and sub-blockchains responsible for modifying transactions are classified by difficulty, and in the main blockchain, the parts to be connected to the main blockchain It can also be designed to handle only the task of determining the blockchain.
  • FIG. 11 is a block diagram illustrating an example of an internal configuration of a computer system in an embodiment of the present invention.
  • the blockchain-based transaction management system may be implemented through the computer system 1100 of FIG. 11.
  • the computer system 1100 is a component for implementing a block mining method incorporating the approval and modification of transactions described above, as a processor 1110, a memory 1120, a permanent storage device ( 1130), a bus 1140, an input/output interface 1150, and a network interface 1160.
  • the processor 1110 may include or be part of any device capable of processing a sequence of instructions.
  • the processor 1110 may include, for example, a computer processor, a processor in a mobile device or other electronic device, and/or a digital processor.
  • the processor 1110 may be included in, for example, 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 1110 may be connected to the memory 1120 through the bus 1140.
  • the memory 1120 may include volatile memory, permanent, virtual, or other memory for storing information used or output by the computer system 1100.
  • the memory 1120 may include random access memory (RAM) and/or dynamic RAM (DRAM).
  • RAM random access memory
  • DRAM dynamic RAM
  • the memory 1120 can be used to store any information, such as status information of the computer system 1100.
  • the memory 1120 may also be used to store instructions of the computer system 1100, including, for example, instructions for modifying transactions recorded on the blockchain.
  • Computer system 1100 may include one or more processors 1110 as needed or appropriate.
  • the bus 1140 may include a communication infrastructure that enables interaction between various components of the computer system 1100.
  • the bus 1140 can transport data between components of the computer system 1100, for example, between the processor 1110 and the memory 1120.
  • the bus 1140 may include wireless and/or wired communication media between components of the computer system 1100, and may include parallel, serial, or other topology arrangements.
  • Persistent storage 1130 may store components, such as memory or other permanent storage, as used by computer system 1100 to store data for a predetermined extended period (eg, compared to memory 1120). It can contain. Persistent storage 1130 may include non-volatile main memory as used by processor 1110 in computer system 1100.
  • the permanent storage device 1130 may include a flash memory, hard disk, optical disk, or other computer readable medium.
  • the input/output interface 1150 may include interfaces to a keyboard, mouse, microphone, camera, display, or other input or output device. Configuration commands and/or input related to transaction modification recorded in the blockchain may be received through the input/output interface 1150.
  • the network interface 1160 may include one or more interfaces to networks such as a local area network or the Internet.
  • Network interface 1160 may include interfaces for wired or wireless connections. Configuration commands may be received via network interface 1160.
  • information related to transaction modification recorded on the blockchain may be received or transmitted through the network interface 1160.
  • the computer system 1100 may include more components than those in FIG. 11. However, there is no need to clearly show most prior art components.
  • the computer system 1100 is implemented to include at least some of the input/output devices connected to the input/output interface 1150 described above, or a transceiver, a global positioning system (GPS) module, a camera, various sensors, Other components, such as a database, may also be included.
  • GPS global positioning system
  • the following embodiment relates to a block mining method incorporating the approval and modification of a transaction in a decentralized blockchain, wherein the block mining method has a first state without change since the given transaction is approved and recorded on the blockchain (approved) Wow, the transaction is distinguished by a transaction that is divided into a second state (modification), which has been modified after a given transaction has been approved and recorded on the blockchain, and a third state (command) consisting of an order to modify the transaction recorded on the blockchain.
  • Block mining can be conducted incorporating approval and modification. As such, three different types of transactions can be used, which can distinguish the status of a transaction into'approved','modified', or'command'.
  • the status of a transaction is'approved', it means that the given transaction has been approved and has not changed since it was recorded on the blockchain, and when the status of the transaction is'modified', the given transaction is subject to legitimate procedures at some point in the past. It means that it has been modified, and when the status of the transaction is'command', it means that the given transaction is a transaction consisting of an order to modify the transaction recorded on the blockchain according to a fair procedure.
  • Deal Indicates the status of the transaction is'approved','modified'or'command', Deal The contents of (e.g., the actual transaction details, electronic signature, personal information, etc.), and Deal It contains information about the stakeholders (eg public keys of the stakeholders).
  • interested parties deal It means a subject who can request deletion or modification of the relevant details following a legitimate procedure after is approved.
  • each miner sets a rule to proceed with the following'goal setting' process.
  • Silver block The number of transactions to be included, and the first approved transaction In the case of Note that these are all empty bit strings (included even though they are empty bit strings to maintain uniformity in the target value verification procedure). Also, Is defined as in Equation 15.
  • each miner can collect different transactions, so different'target values' Can be calculated.
  • This target value should be prevented from being forged into data that will be used to verify the validity of the transaction modification.
  • the digital signature of the miner for the target value is included in the block.
  • DS means a function for digitally signing a miner, and its validity can be confirmed by using the miner's public key recorded in the block.
  • the miner who first calculates the hash value of a block is the block Announced and connected it to the blockchain to expand the blockchain Update to Blocks announced by other participants And verify their blockchain by agreeing on this. Update to
  • TMC 14 is a transaction Contents of To A transaction consisting of an order to be amended with Contents of Is showing the data.
  • the TMC consists of commands to sequentially proceed to the next step of modification.
  • Step 1 Verify transaction modification work proof Validation of (Equation 18, Equation 19)
  • Step 2 Block Target value of Integrity verification (Equation 16)
  • Step 3 Transaction Original Target value for Verification (Equation 14)
  • Step 4 Transaction of Validation of modification request using
  • Step 6 Block Merkle tree information update
  • Block nodes in the network Recognizing is a block on your own blockchain In addition to adding, it means modifying and updating the blockchain that one has in accordance with the transaction modification instruction included in the corresponding block. Of course, the blockchain fails to return to its original state at the moment when even one verification fails in the middle. Will be ignored.
  • the transaction is approved using three different types of transactions, such as a transaction that has not changed since approval, a transaction that has been modified since approval, or a transaction consisting of a command for modifying a specific transaction recorded on the blockchain.
  • a transaction that has not changed since approval a transaction that has been modified since approval
  • a transaction consisting of a command for modifying a specific transaction recorded on the blockchain We propose a method of mining blocks by integrating and transaction modification.
  • the target value for the transaction is calculated in order to be able to modify the transaction later, and the excavation of the block is verified using the hash puzzle of the transaction approval work certificate for the target value, and the verification for the block As proof of, new blocks can be added to existing blockchains.
  • the hash puzzle for the target value of the transaction for which the modification is requested can be solved by stakeholders of the transaction for which the modification is requested to create a transaction modification command to be generated as a single transaction.
  • the transactions requested for modification can be modified and updated to modify the transactions already recorded on the blockchain.
  • the field of use of the blockchain can be expanded by providing the possibility of modifying the already recorded transaction, and the deletion of personal information inherent in the transaction history is required by the provisions of the Personal Information Protection Act. If possible, this can be solved technically.
  • the deletion of personal information inherent in the transaction history is required by the provisions of the Personal Information Protection Act, it is possible to propose a method for technically solving it.
  • each sub-blockchain has a different proof-of-work method and the flexibility to use cryptocurrency and technology to connect and manage various blockchains to one main blockchain. Can provide
  • the device described above may be implemented with hardware components, software components, and/or combinations of hardware components and software components.
  • the devices and components described in the embodiments include a processor, controller, arithmetic logic unit (ALU), digital signal processor (micro signal processor), microcomputer, field programmable gate array (FPGA), programmable It may be implemented using one or more general purpose computers or special purpose computers, such as a logic unit, microprocessor, or any other device capable of executing and responding to instructions.
  • the processing device may perform an operating system (OS) and one or more software applications running on the operating system.
  • the processing device may access, store, manipulate, process, and generate data in response to the execution of the software.
  • a processing device may be described as one being used, but a person having ordinary skill in the art, the processing device may include a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that may include.
  • the processing device may include a plurality of processors or a processor and a controller.
  • other processing configurations such as parallel processors, are possible.
  • the software may include a computer program, code, instruction, or a combination of one or more of these, and configure the processing device to operate as desired, or process independently or collectively You can command the device.
  • Software and/or data may be embodied in any type of machine, component, physical device, computer storage medium, or device in order to be interpreted by the processing device or to provide instructions or data to the processing device. have.
  • the software may be distributed on networked computer systems, and stored or executed in a distributed manner.
  • Software and data may be stored in one or more computer-readable recording media.
  • 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 on a computer-readable medium.
  • the medium may continuously store a program executable on a computer or may be temporarily stored for execution or download.
  • the medium may be various recording means or storage means in the form of a single or several hardware combinations, and is not limited to a medium directly connected to a computer system, but may be distributed on a network. Examples of the medium include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical recording media such as CD-ROMs and DVDs, and magneto-optical media such as floptical disks, And program instructions including ROM, RAM, flash memory, and the like. Also, examples of other media include an application store for distributing applications, a site for distributing or distributing various software, and a recording medium or storage medium managed by a server.

Landscapes

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

Abstract

블록체인에 이미 기록된 거래를 수정할 수 있는 방법 및 시스템이 개시된다. 블록체인 기반 거래 관리 방법은 거래의 승인을 증명받기 위한 거래승인 블록 및 거래의 수정을 증명받기 위한 거래수정 블록을 이용하여 거래의 승인과 수정을 구별하여 블록의 채굴을 진행하는 단계를 포함할 수 있다.

Description

기록된 거래의 수정이 가능한 블록체인을 위한 방법 및 장치
아래의 설명은 기록된 거래의 수정이 가능한 블록체인을 위한 방법 및 장치(A Method and Apparatus for blockchains with modifiable recorded transactions)에 관한 것으로, 블록체인에 이미 기록된 거래를 정당한 절차에 따라 블록체인의 연결 구조를 변화시키지 않으면서 수정할 수 있게 하는 기술에 관한 것이다.
블록체인(거래 내역을 중앙서버에 관리하는 대신에 분산 네트워크의 참여자들이 공동으로 기록하여 관리하는 분산원장(distributed ledger) 또는 그것을 가능하게 하는 기술을 통칭) 모델은 비트코인의 경우와 유사하게 정해진 시간(비트코인의 경우 매 10분)마다 새로운 블록(많은 거래내역이 기록된 원장)이 계산되어 블록체인에 추가하고, 그 계산에 대한 보상으로 지급되는 암호화폐가 존재한다고 가정한다. 이 때 정해진 시간을 회전이라고 하고, 순차적인 회전의 진행을 표시하는 n(n=0, 1, …)을 이용하여, 회전을
Figure PCTKR2019008595-appb-I000001
으로, 이 회전에서 추가되는 블록을
Figure PCTKR2019008595-appb-I000002
으로, 이 블록
Figure PCTKR2019008595-appb-I000003
이 추가된 블록체인을
Figure PCTKR2019008595-appb-I000004
으로 표시하자. 이 기호를 이용하여 회전
Figure PCTKR2019008595-appb-I000005
이 진행되는 상황에서 각 노드(블록체인 네트워크에 참여하는 개별 기기, 예: 참여자의 컴퓨터)가 가지고 있는 블록체인은
Figure PCTKR2019008595-appb-I000006
으로 표시할 수 있다. 매 회전마다 반드시 블록이 추가되어야만 하는 것은 아니지만 설명의 편의를 위해 매 회전마다 블록이 정확히 하나씩 추가된다고 가정하자. 지금까지의 내용을 정리하면 다음의 기호들로 표현할 수 있다.
Figure PCTKR2019008595-appb-I000007
:n 번째 회전
Figure PCTKR2019008595-appb-I000008
: 회전
Figure PCTKR2019008595-appb-I000009
에서 추가되는 블록
Figure PCTKR2019008595-appb-I000010
: 회전
Figure PCTKR2019008595-appb-I000011
에서 각 노드들의 블록체인
Figure PCTKR2019008595-appb-I000012
: 블록체인
Figure PCTKR2019008595-appb-I000013
에 블록
Figure PCTKR2019008595-appb-I000014
을 연결하는 블록체인
블록
Figure PCTKR2019008595-appb-I000015
의 데이터는 바로 앞 블록
Figure PCTKR2019008595-appb-I000016
의 해쉬값
Figure PCTKR2019008595-appb-I000017
현 블록에 포함될 거래들
Figure PCTKR2019008595-appb-I000018
현 블록의 해쉬값
Figure PCTKR2019008595-appb-I000019
과 이 해쉬값을 구하는데 사용한 넌스값
Figure PCTKR2019008595-appb-I000020
등으로 구성되어 있다. 여기서, 거래라는 용어는 비트코인의 관례를 따른 것으로 블록체인이 제공하는 서비스에 따라 실제 전자화폐의 거래내역일 수도 있고, 또는 개인정보를 포함한 다양한 정보들의 혼합체일 수도 있다.
비트코인의 블록체인에서의 해쉬값
Figure PCTKR2019008595-appb-I000021
과 넌스값
Figure PCTKR2019008595-appb-I000022
은 다음의 작업증명의 해답으로 정의된다.
작업증명
주어진
Figure PCTKR2019008595-appb-I000023
에 대하여, 수학식 1을 만족하는 넌스값 r을 계산한다.
Figure PCTKR2019008595-appb-M000001
여기서, '
Figure PCTKR2019008595-appb-I000024
'은 비트열의 접합(concatenation)을 의미하고, H는 어떤 입력에 대해서든 출력으로 256 비트열을 생성하는 SHA-256 해쉬함수이고,
Figure PCTKR2019008595-appb-I000025
개의 0으로만 구성된 비트열,
Figure PCTKR2019008595-appb-I000026
비트열 중에서 처음
Figure PCTKR2019008595-appb-I000027
비트가 X인 비트열의 집합을 의미한다(
Figure PCTKR2019008595-appb-I000028
=비트열 X의 길이).
즉,
Figure PCTKR2019008595-appb-I000029
은 256 비트열 중에서 처음 M개의 비트가 모두 0인 비트열의 집합이다. 수학식 1의 해쉬퍼즐을 만족하는 넌스값
Figure PCTKR2019008595-appb-I000030
에 대한 결과인 수학식 2가 블록
Figure PCTKR2019008595-appb-I000031
의 해쉬값이다.
Figure PCTKR2019008595-appb-M000002
도 1은 블록
Figure PCTKR2019008595-appb-I000032
에 포함되는 데이터 테이블을 도시한 것이다.
수학식 1의 계수 M은 해쉬퍼즐의 난이도를 결정하는데, 그 값이 크면 클수록 해당 해쉬퍼즐을 만족하는 넌스값을 계산하는 것이 어려워진다. 회전
Figure PCTKR2019008595-appb-I000033
에서 해쉬퍼즐의 해답
Figure PCTKR2019008595-appb-I000034
을 제일 먼저 계산한 채굴자(작업증명에 참여하는 노드를 지칭한다)는 블록
Figure PCTKR2019008595-appb-I000035
을 발표하고 이를 블록체인
Figure PCTKR2019008595-appb-I000036
에 연결하여 자신이 가지고 있는 블록체인을 확장한다.
Figure PCTKR2019008595-appb-M000003
다른 참여자들은 발표된 블록
Figure PCTKR2019008595-appb-I000037
을 검증하고 이에 대한 합의로 자신들의 블록체인을
Figure PCTKR2019008595-appb-I000038
로 업데이트한다.
비트코인의 블록체인에서는 이미 기록된 과거 거래에 대한 수정은 사실상 불가능하다. 예를 들어, 이미 블록체인에 연결된 블록
Figure PCTKR2019008595-appb-I000039
에 포함된 거래
Figure PCTKR2019008595-appb-I000040
Figure PCTKR2019008595-appb-I000041
로 수정한 블록체인을 유효한 것으로 검증받기 위해서는 블록
Figure PCTKR2019008595-appb-I000042
의 해쉬퍼즐의 해답
Figure PCTKR2019008595-appb-I000043
을 수정된 거래
Figure PCTKR2019008595-appb-I000044
에 맞추어 다시 계산해야 한다. 이 자체도 많은 계산을 필요로 하지만, 이 외에도 다음 블록
Figure PCTKR2019008595-appb-I000045
의 해쉬퍼즐의 해답
Figure PCTKR2019008595-appb-I000046
도 블록
Figure PCTKR2019008595-appb-I000047
에서의 해쉬값
Figure PCTKR2019008595-appb-I000048
의 변화에 대응하여 다시 계산해야 한다. 이러한 계산은 다음 블록에서도 필요하다. 이런 식으로 해쉬퍼즐을 계속 다시 풀어야 하는데 이는
Figure PCTKR2019008595-appb-I000049
가 현재의 회전번호 n보다 단 하나만 작은 경우에도 아주 어렵지만, 더 차이가 나는 경우(예:
Figure PCTKR2019008595-appb-I000050
)에는 사실상 불가능하다. 이러한 이유로 기존의 블록체인에서는 과거 거래에 대한 수정은 사실상 불가능하다.
블록체인의 장점인 분산성을 보장하는 탈중앙화 된 형태의 노드 구조에서 정당하게 요청된 거래 수정 요구에 대한 수정 방법을 제공할 수 있다.
이미 블록체인에 기록된 거래를 정당한 절차에 따라 블록체인의 연결 구조를 변화시키지 않으면서 수정할 수 있게 하는 방법을 제공하여 블록체인의 응용분야의 확대에 도움을 준다.
특히, 이해 당사자들의 정당한 요구에 따라 이미 기록된 거래내역을 삭제 또는 수정할 수 있도록 요구하는 개인정보 보호법 관련 규정을 준수할 수 있는 블록체인을 제공한다.
또한, 기존의 블록체인의 장점들인 기록된 거래내용에 대한 투명성, 보안성과 향상된 추적가능성을 그대로 제공하면서 동시에 그 어떤 중앙 관리자를 필요로 하지 않고 기존의 블록체인에서와 같은 탈중앙화된 참여자들의 공동의 노력에 의해 거래의 수정이 가능하게 한다.
또한, 하나의 주블록체인(Main-Blockchain)과 여러 개의 부블록체인(Sub-Blockchain)으로 구성된 계층적 블록체인을 탈중앙화된 네트워크 노드들의 참여에 의해 생성하는 방법을 제공한다.
부블록체인은 난이도별로 분류된 거래수정을 다루는 블록체인, 주블록체인에서 사용하는 암호화폐와는 다른 암호화폐와 연관된 블록체인, 스마트 거래 등 특수한 유형의 거래들을 다루는 블록체인, 특정 데이터의 기록만을 담당하는 블록체인 등 여러 이질적인 블록체인으로 구성될 수 있다.
주블록체인은 거래의 승인과 함께 여러 부블록체인을 주블록체인에 연결하여 부블록체인에 기록된 데이터를 주블록체인에 기록하는 효과를 얻는데 사용한다.
제안된 다중 블록체인은 거래를 작업증명 난이도, 유형 또는 목적별로 분류하여 각 부블록체인별로 각기 다른 작업증명방법과 암호화폐를 사용할 수 있는 유연성을 제공한다.
주블록체인에 기록된 거래를 정당한 절차에 따라 블록체인의 연결 구조를 변화시키지 않으면서 수정할 수 있게 하는 방법을 다수의 거래에 대해 적용할 수 있게 하여 블록체인의 응용분야의 확대에 도움을 준다. 특히, 이해 당사자들의 정당한 요구에 따라 이미 기록된 거래내역을 삭제 또는 수정할 수 있도록 요구하는 개인정보 보호법 관련 규정을 준수할 수 있는 블록체인을 제공한다.
본 발명의 기술은 기존의 블록체인의 장점들인 기록된 거래내용에 대한 투명성, 보안성과 향상된 추적가능성을 그대로 제공하면서 동시에 그 어떤 중앙 관리자를 필요로 하지 않고 기존의 블록체인에서와 같은 탈중앙화된 참여자들의 공동의 노력에 의해 계층적 다중 블록체인을 생성할 수 있도록 한다.
또한, 기존의 블록체인에서와 같은 탈중앙화된 참여자들의 공동의 노력에 의해 거래승인과 거래수정이 통합된 블록채굴에서 이루어질 수 있다.
컴퓨터 시스템에서 실행되는 블록체인 기반 거래 관리 방법에 있어서, 상기 컴퓨터 시스템은 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고, 상기 블록체인 기반 거래 관리 방법은 상기 적어도 하나의 프로세서에 의해 수행되는 것으로, 거래의 승인을 증명받기 위한 거래승인 블록 및 거래의 수정을 증명받기 위한 거래수정 블록을 이용하여 거래의 승인과 수정을 구별하여 블록의 채굴을 진행하는 단계를 포함하는 블록체인 기반 거래 관리 방법을 제공한다.
일 측면에 따르면, 상기 블록의 채굴을 진행하는 단계는, 상기 거래승인 블록의 계산 과정에서 거래의 수정이 가능하도록 거래에 대한 목표값을 설정하는 단계를 포함할 수 있다.
다른 측면에 따르면, 상기 블록의 채굴을 진행하는 단계는, 상기 목표값에 대한 해쉬퍼즐을 이용하여 상기 거래승인 블록에 대한 작업을 증명하는 단계를 더 포함할 수 있다.
또 다른 측면에 따르면, 상기 블록의 채굴을 진행하는 단계는, 상기 목표값의 위변조를 방지하기 위해 상기 목표값에 대한 채굴자의 전자서명을 해당 블록 내에 포함시키는 단계를 더 포함할 수 있다.
또 다른 측면에 따르면, 상기 블록의 채굴을 진행하는 단계는, 수정이 요청된 거래의 목표값에 대한 해쉬퍼즐을 이용하여 상기 거래수정 블록에 대한 작업을 증명하는 단계를 더 포함할 수 있다.
또 다른 측면에 따르면, 상기 블록의 채굴을 진행하는 단계는, 거래수정 명령이 포함된 상기 거래수정 블록을 블록체인에 추가함으로써 이미 기록된 거래를 수정하여 블록체인을 업데이트 하는 단계를 더 포함할 수 있다.
컴퓨터 시스템에서 실행되는 다중 블록체인 방법에 있어서, 상기 컴퓨터 시스템은 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고, 상기 다중 블록체인 방법은 상기 적어도 하나의 프로세서에 의해 수행되는 것으로, 각 거래의 내용이나 유형에 따라 수정에 필요한 작업증명의 난이도를 결정한 후 상기 난이도에 따라 상기 거래에 대한 목표값을 계산하는 단계; 및 거래수정이 가능하도록 상기 목표값에 대한 작업증명을 통해 거래승인을 수행하는 단계를 포함하는 다중 블록체인 방법을 제공한다.
일 측면에 따르면, 상기 수행하는 단계는, 하나의 주블록체인(main blockchain)과 복수 개의 부블록체인(sub blockchain)으로 구성된 계층적 블록체인을 생성하는 것으로, 상기 부블록체인은 난이도별로 분류된 거래수정을 다루는 블록체인이고, 상기 주블록체인은 거래의 승인과 함께 상기 부블록체인을 상기 주블록체인에 연결하여 상기 부블록체인에 기록된 데이터를 상기 주블록체인에 기록할 수 있다.
다른 측면에 따르면, 상기 수행하는 단계는, 하나의 주블록체인과 복수 개의 부블록체인으로 구성된 계층적 블록체인을 생성하는 것으로, 상기 작업증명의 난이도에 따라 수정이 요청된 거래에 대한 수정명령으로 이루어진 상기 부블록체인을 상기 주블록체인에 연결하는 단계를 포함할 수 있다.
또 다른 측면에 따르면, 상기 연결하는 단계는, 상기 부블록체인을 상기 주블록체인의 해쉬값이 특정 조건을 만족하는 블록에 연결함으로써 상기 부블록체인을 상기 주블록체인에 연결하는 단계를 포함할 수 있다.
또 다른 측면에 따르면, 상기 연결하는 단계는, 상기 부블록체인을 상기 주블록체인에 연결함으로써 상기 부블록체인에 기록된 특정 거래에 대한 수정명령을 전체 블록체인에 적용하여 업데이트하는 단계를 포함할 수 있다.
또 다른 측면에 따르면, 상기 수행하는 단계는, 상기 부블록체인 별로 각기 다른 작업증명 방법과 암호화폐를 사용하는 단계를 더 포함할 수 있다.
또 다른 측면에 따르면, 상기 수행하는 단계는, 상기 부블록체인이 거래의 승인을 위해 사용됨에 따라 상기 부블록체인에 수정이 요청된 거래에 대한 수정명령으로 이루어진 하위 블록체인을 연결하는 단계를 더 포함할 수 있다.
컴퓨터 시스템에서 실행되는 블록 채굴 방법에 있어서, 상기 컴퓨터 시스템은 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고, 상기 블록 채굴 방법은 상기 적어도 하나의 프로세서에 의해 수행되는 것으로, 주어진 거래가 승인되어 블록체인에 기록된 이후 변화가 없는 제1 상태(승인)와, 주어진 거래가 승인되어 블록체인에 기록된 이후 수정된 제2 상태(수정), 및 블록체인에 기록된 거래를 수정하기 위한 명령으로 이루어진 제3 상태(명령)로 구별되는 거래를 이용하여 거래의 승인과 수정을 통합한 블록 채굴을 진행하는 단계를 포함하는 블록 채굴 방법을 제공한다.
일 측면에 따르면, 상기 거래의 승인과 수정을 통합한 블록 채굴을 진행하는 단계는, 수정이 요청된 거래의 목표값에 대한 해쉬퍼즐을 이용하여 거래 수정 명령으로 이루어진 거래를 생성하는 단계를 포함할 수 있다.
다른 측면에 따르면, 상기 거래의 승인과 수정을 통합한 블록 채굴을 진행하는 단계는, 거래 수정 명령으로 이루어진 거래와 다른 거래를 하나의 블록에 통합하여 채굴한 블록을 블록체인에 추가함으로써 수정이 요청된 거래를 수정하여 업데이트 하는 단계를 포함할 수 있다.
또 다른 측면에 따르면, 상기 거래의 승인과 수정을 통합한 블록 채굴을 진행하는 단계는, 각 거래에 대한 목표값을 계산하는 단계; 및 상기 목표값에 대한 해쉬퍼즐을 이용하여 블록체인에 기록된 거래를 수정하는 단계를 포함할 수 있다.
또 다른 측면에 따르면, 상기 블록체인에 기록된 거래를 수정하는 단계는, 수정이 요청된 거래의 목표값에 대한 해쉬퍼즐을 이용하여 해당 거래의 거래수정 작업증명을 수행하는 단계를 포함할 수 있다.
또 다른 측면에 따르면, 상기 블록체인에 기록된 거래를 수정하는 단계는, 거래 수정 명령으로 이루어진 거래를 포함하는 블록을 블록체인에 추가함으로써 수정이 요청된 거래를 수정하여 업데이트 하는 단계를 더 포함할 수 있다.
또 다른 측면에 따르면, 상기 거래의 승인과 수정을 통합한 블록 채굴을 진행하는 단계는, 상기 목표값의 위변조를 방지하기 위해 상기 목표값에 대한 채굴자의 전자서명을 해당 블록 내에 포함시키는 단계를 더 포함할 수 있다.
컴퓨터 시스템에 있어서, 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 블록체인을 기반으로 거래를 관리하는 것으로, 거래의 승인을 증명받기 위한 거래승인 블록 및 거래의 수정을 증명받기 위한 거래수정 블록을 이용하여 거래의 승인과 수정을 구별하여 블록의 채굴을 진행하는 것을 특징으로 하는 컴퓨터 시스템을 제공한다.
컴퓨터 시스템에 있어서, 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 블록체인을 기반으로 거래를 관리하는 것으로, 각 거래의 내용이나 유형에 따라 수정에 필요한 작업증명의 난이도를 결정한 후 상기 난이도에 따라 상기 거래에 대한 목표값을 계산하고 거래수정이 가능하도록 상기 목표값에 대한 작업증명을 통해 거래승인을 수행하는 것을 특징으로 하는 컴퓨터 시스템을 제공한다.
컴퓨터 시스템에 있어서, 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 블록체인을 기반으로 거래를 관리하는 것으로, 주어진 거래가 승인되어 블록체인에 기록된 이후 변화가 없는 제1 상태(승인)와, 주어진 거래가 승인되어 블록체인에 기록된 이후 수정된 제2 상태(수정), 및 블록체인에 기록된 거래를 수정하기 위한 명령으로 이루어진 제3 상태(명령)로 구별되는 거래를 이용하여 거래의 승인과 수정을 통합한 블록 채굴을 진행하는 것을 특징으로 하는 컴퓨터 시스템을 제공한다.
이미 기록된 거래에 대한 수정가능성을 제공함으로써 블록체인의 활용분야를 확대할 수 있으며, 특히 개인정보 보호법 관련 규정에 의해 거래내역에 내재된 개인 정보의 삭제가 요구되는 경우 이를 기술적으로 해결할 수 있다.
본 발명의 실시예들에 따르면, 이미 기록된 거래에 대한 수정가능성을 다수의 거래에 대해 적용할 수 있게 하여 블록체인의 활용분야를 확대하는데 도움이 될 것이다.
블록체인 기술의 핵심 가치인 탈중앙화(분산화)를 해치지 않으면서도 블록체인 상에 기록된 데이터의 수정가능성(가역성)을 제공함으로써 블록체인 기술이 적용된 서비스(개인정보, 금융권 등)의 활용성을 증대시킬 수 있고, 개인정보에 대한 법적 문제점을 해결할 수 있다.
현재 제공되는 블록체인의 기술적 제한(비가역성)으로 인한 응용 분야 제약성을 해결할 수 있으며, 핀테크/금융권 및 엔터프라이즈 응용 환경에서의 수정 가능한 블록체인에 대한 요구사항 충족을 통한 활용성을 극대화시킬 수 있다.
탈중앙화 측면에서 기존의 개인형 또는 허가형 블록체인 기술과는 달리 모든 노드(community peer node)들이 합의 과정에 참여하는 탈중앙적 기능의 제공을 통해 블록체인의 핵심적 속성을 유지 및 보장할 수 있다.
수정은 일개 개별 노드(개인)가 할 수 있는 것이 아니라 전체 커뮤니티가 참여해야 하는 수준의 문제라는 점에서, 보안성 측면에서 기존 블록체인에서 채굴을 통해 블록을 추가하는 것과 동일한 수준의 난이도 조절이 가능하다.
거래를 작업증명 난이도, 유형 또는 목적별로 분류하여 각 부블록체인별로 각기 다른 작업증명방법과 암호화폐를 사용할 수 있는 유연성과 다양한 블록체인을 하나의 주블록체인에 연결하여 관리하는 기술을 제공할 수 있다.
도 1은 기존 블록체인 모델의 블록에 포함되는 데이터 테이블을 도시한 것이다.
도 2는 본 발명의 일실시예에 있어서 거래승인 블록에 포함된 거래의 데이터 테이블을 도시한 것이다.
도 3은 본 발명의 일실시예에 있어서 거래승인의 증명을 위한 거래승인 블록의 데이터 테이블을 도시한 것이다.
도 4는 본 발명의 일실시예에 있어서 거래수정의 증명을 위한 거래수정 블록의 데이터 테이블을 도시한 것이다.
도 5는 본 발명의 일실시예에 있어서 거래수정 블록의 거래 수정 과정을 도시한 순서도이다.
도 6은 본 발명의 일실시예에 있어서 주블록체인의 블록의 세부 내용을 나타낸 테이블을 도시한 것이다.
도 7은 본 발명의 일실시예에 따른 블록체인 모델의 거래수정 블록의 세부 내용을 나타낸 테이블을 도시한 것이다.
도 8은 본 발명의 일실시예에 따른 블록체인 모델에 의한 블록의 거래 수정 과정을 도시한 순서도이다.
도 9는 본 발명의 일실시예에 있어서 주블록체인에 부블록체인을 연결하는 예시를 도시한 것이다.
도 10 본 발명의 일실시예에 있어서 계층적 다중 블록체인의 예시를 도시한 것이다.
도 11은 본 발명의 일 실시예에 있어서 컴퓨터 시스템의 내부 구성의 일례를 설명하기 위한 블록도이다.
도 12는 본 발명의 일실시예에 있어서 기록된 거래의 세부 내용을 나타내는 데이터 테이블을 도시한 것이다.
도 13은 본 발명의 일실시예에 있어서 발표된 블록의 세부 내용을 나타내는 데이터 테이블을 도시한 것이다.
도 14는 본 발명의 일실시예에 있어서 수정 명령으로 이루어진 거래의 내용을 나타내는 데이터 테이블을 도시한 것이다.
도 15는 본 발명의 일실시예에 있어서 블록의 거래 수정 과정을 도시한 순서도이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
본 발명의 일실시예에서는, 이미 블록체인에 기록된 거래의 수정이 가능한 블록체인을 제안한다. 이를 위해 본 실시예에서는 2종류의 다른 형태의 블록을 사용하는데, 하나는 "거래의 승인을 증명받기 위한 블록"(이를 '거래승인 블록'이라 명명함)이고 또 다른 하나는 "거래의 수정을 증명받기 위한 블록"(이를 '거래수정 블록'이라 명명함)이다.
거래 수정이 가능한 블록체인에서는 기록된 거래의 수정이 가능하게 제안된 방법으로 그 목적을 달성하기 위해 거래에 직접 의존하는 작업증명 대신 거래의 목표값
Figure PCTKR2019008595-appb-I000051
에 의존하는 작업증명을 이용한다.
이를 위해, 먼저 거래
Figure PCTKR2019008595-appb-I000052
의 세부 내용을 정의한다.
먼저, 거래승인 블록
Figure PCTKR2019008595-appb-I000053
에 포함되는 거래
Figure PCTKR2019008595-appb-I000054
는 도 2에 도시한 데이터 테이블로 이루어져 있다.
여기서,
Figure PCTKR2019008595-appb-I000055
는 거래
Figure PCTKR2019008595-appb-I000056
의 상태를 나타내는 것으로 해당 거래가 '승인' 또는 '수정'임을 표시하고,
Figure PCTKR2019008595-appb-I000057
는 거래
Figure PCTKR2019008595-appb-I000058
의 내용(예: 실질적인 거래내용, 전자서명, 개인정보 등)을, 그리고
Figure PCTKR2019008595-appb-I000059
는 거래
Figure PCTKR2019008595-appb-I000060
의 이해 당사자들에 대한 정보(예: 이해 당사자들의 공개키들)를 포함하고 있다. 여기서, 이해 당사자들은 거래
Figure PCTKR2019008595-appb-I000061
가 승인된 후에 정당한 절차를 따라 해당 내역을 삭제 또는 수정을 요구할 수 있는 주체를 의미한다. 마지막으로,
Figure PCTKR2019008595-appb-I000062
는 추후 설명할 거래수정 해쉬퍼즐의 해법을 위한 추가 데이터이다. 거래가 처음 승인될 때의
Figure PCTKR2019008595-appb-I000063
는 빈 비트열 null이다. 실제 적용에서는
Figure PCTKR2019008595-appb-I000064
를 구별할 수 있는 길이정보가 포함되어야 하지만 해당 내용은 쉽게 유추 가능한 내용이므로 설명의 편의를 위해 생략한다.
상기한 블록체인에서는 거래의 상태를 표시하듯이 블록
Figure PCTKR2019008595-appb-I000065
의 상태를 표시하는 정보(이 경우에는 '거래승인'이다)는 블록에 포함되어 있다. 제안된 방법에서는 정해진 규칙에 따라 각 회전마다 수행해야 하는 작업의 종류, 즉, 블록의 상태가 '거래승인'인지 또는 '거래수정'인지는 미리 정해진 규칙(예: '거래승인' 2회 다음에 '거래수정' 1회 같은 방법)을 따른다고 가정한다.
블록의 상태는 블록이 생성될 때 한번 결정된 후에는 변화하지 않는다. 블록의 상태가 '거래승인'이라는 의미는 해당 블록이 거래의 승인에 대한 증명으로 사용된다는 의미이다. 같은 의미로 블록의 상태가 '거래수정'이라는 것은 해당 블록이 어떤 특정거래에 대한 수정에 대한 증명으로 사용된다는 의미이다. 또한, 블록에는 블록
Figure PCTKR2019008595-appb-I000066
의 채굴자의 공개키가 포함된다.
이때, 현재의 회전
Figure PCTKR2019008595-appb-I000067
이 블록의 계산을 통해 거래승인을 증명 받는 회전인 경우에, 현 블록에 포함되어야 할 각 거래에 대해 각 채굴자들은 다음과 같이
Figure PCTKR2019008595-appb-I000068
번 해쉬값을 계산하는 '목표설정' 과정을 진행하도록 규칙을 정한다(수학식 4).
Figure PCTKR2019008595-appb-M000004
여기서,
Figure PCTKR2019008595-appb-I000069
은 블록
Figure PCTKR2019008595-appb-I000070
에 포함될 거래의 개수이고, 처음으로 승인되는 거래
Figure PCTKR2019008595-appb-I000071
의 경우에는
Figure PCTKR2019008595-appb-I000072
이 모두 빈 비트열임을 유의하자(목표값 검증절차에서의 통일성을 유지하기 위해 빈 비트열임에도 불구하고 포함시킴). 또한,
Figure PCTKR2019008595-appb-I000073
는 수학식 5와 같이 정의한다.
Figure PCTKR2019008595-appb-M000005
즉, 임의의 어떠한 비트열 x에 대해
Figure PCTKR2019008595-appb-I000074
을 만족하도록 정의한다.
목표설정의 결과로, 각 채굴자들은 각기 다른 거래들을 모을 수 있기 때문에 각기 다른 '목표값'
Figure PCTKR2019008595-appb-I000075
을 계산할 수 있다.
이 목표값은 거래수정의 유효성을 검증하는데 사용될 데이터로 위변조 되는 것을 방지해야 한다. 이를 위해 목표값에 대한 채굴자의 전자서명을 수학식 6과 같이 블록 내에 포함시킨다.
Figure PCTKR2019008595-appb-M000006
여기서, DS는 채굴자의 전자서명을 하는 함수를 의미하고, 이것의 유효한지는 블록에 기록되어 있는 채굴자의 공개키를 이용하여 확인할 수 있다.
목표설정을 끝낸 채굴자들은 수학식 7의 작업증명(거래승인)에 도전한다.
Figure PCTKR2019008595-appb-M000007
을 만족하는 넌스값 r의 계산한다.
수학식 7을 만족하는 넌스값
Figure PCTKR2019008595-appb-I000076
에 대한 결과,
Figure PCTKR2019008595-appb-I000077
가 해당 블록
Figure PCTKR2019008595-appb-I000078
의 해쉬값으로 계산된다. 블록의 해쉬값을 제일 먼저 계산한 채굴자는 블록
Figure PCTKR2019008595-appb-I000079
을 발표하고 이를 블록체인에 연결하여 확장된 블록체인
Figure PCTKR2019008595-appb-I000080
로 업데이트한다. 다른 참여자들은 발표된 블록
Figure PCTKR2019008595-appb-I000081
을 검증하고 이에 대한 합의로 자신들의 블록체인을
Figure PCTKR2019008595-appb-I000082
로 업데이트한다.
도 3의 테이블은 거래승인의 증명을 위해 발표된 블록
Figure PCTKR2019008595-appb-I000083
의 세부 내용이다.
기존의 블록체인에서 필요로 하는 도 1의 테이블 내용과 비교하여 본 발명에 따른 블록체인에서 필요로 하는 도 3의 테이블에 추가된 내용을 살펴보면, 먼저, 난이도 계수 K(수학식 5 참조)와 '블록의 상태'(status)가 추가된다. 현 회전의 작업증명은 '거래승인'이었기 때문에 '블록의 상태 = 거래승인'으로 결정된다. 또한, 채굴자의 공개키가 헤더에 추가된다. 거래
Figure PCTKR2019008595-appb-I000084
는 도 2의 데이터 테이블에서 설명하였듯이 더 세분화되어 기록된다. 거래승인 블록
Figure PCTKR2019008595-appb-I000085
이 생성될 때는
Figure PCTKR2019008595-appb-I000086
에 대해 거래의 상태
Figure PCTKR2019008595-appb-I000087
='승인'이고, 거래수정 해쉬퍼즐의 해법을 위한 추가 데이터
Figure PCTKR2019008595-appb-I000088
가 필요하지 않기 때문에
Figure PCTKR2019008595-appb-I000089
은 빈 비트열, 즉, Null이다.
본 실시예에 따른 블록체인 수정 방법의 핵심은 수학식 1과 수학식 7의 비교에서 극명하게 드러난다. 기존의 작업증명 방법의 해쉬값
Figure PCTKR2019008595-appb-I000090
은 모든 거래
Figure PCTKR2019008595-appb-I000091
에 직접적으로 의존하지만, 제안된 방법에서의 거래승인 작업증명은 거래의 해쉬값에서 일부(이를 '목표값'이라고 명명함,
Figure PCTKR2019008595-appb-I000092
)인
Figure PCTKR2019008595-appb-I000093
(수학식 4, 수학식 5 참조)에 의존하도록 정의한다. 이는 거래의 삭제 및 수정을 위해 고안된 것이다.
다음으로, 거래를 수정하는 방법을 설명하기로 한다.
먼저, 현재의 회전
Figure PCTKR2019008595-appb-I000094
가 블록의 계산을 통해 거래수정을 증명 받는 회전이라고 가정하자. 이 회전에서는 각각의 채굴자들은 정당한 절차(예: 해당 거래의 수정을 요구하는 이해 당사자들의 유효한 요청)를 따라 수정이 요청된 거래 중에서 하나를 선택한다. 이 때, 어떤 채굴자(이를 '채굴자 갑'이라 하자)가 선택한 거래가 블록
Figure PCTKR2019008595-appb-I000095
에 기록되어 있는
Figure PCTKR2019008595-appb-I000096
라고 가정해 보자. 여기서, 블록체인에 확실하게 기록된 거래만을 수정 가능하게 제한하기 위해
Figure PCTKR2019008595-appb-I000097
Figure PCTKR2019008595-appb-I000098
사이에 충분한 차이(예:
Figure PCTKR2019008595-appb-I000099
)가 있도록 하는 규칙을 정하자.
수정이 요청된 거래
Figure PCTKR2019008595-appb-I000100
는 원래의 거래 내용은
Figure PCTKR2019008595-appb-I000101
이였는데 이를
Figure PCTKR2019008595-appb-I000102
로 수정하도록 요청받았다고 가정해 보자. 먼저, 거래
Figure PCTKR2019008595-appb-I000103
가 속해있는 블록
Figure PCTKR2019008595-appb-I000104
은 거래생성 블록이어야 한다는 점을 유의하자. 채굴자 갑은 블록
Figure PCTKR2019008595-appb-I000105
의 해쉬값
Figure PCTKR2019008595-appb-I000106
에 변화가 없게 하면서 거래
Figure PCTKR2019008595-appb-I000107
의 내용
Figure PCTKR2019008595-appb-I000108
Figure PCTKR2019008595-appb-I000109
로 수정하기 위해 수학식 8의 작업증명(거래수정)을 만족하는 넌스값을 찾는다.
Figure PCTKR2019008595-appb-M000008
을 만족하는 넌스값 r의 계산한다.
여기서,
Figure PCTKR2019008595-appb-I000110
는 수정이 요청된 거래
Figure PCTKR2019008595-appb-I000111
의 목표값(
Figure PCTKR2019008595-appb-I000112
)이다. 또한, 넌스값의 검색공간은 거래승인 작업증명에서 사용한 넌스값의 검색공간과 같은 것으로 정하자. 수학식 8을 만족하는 넌스값
Figure PCTKR2019008595-appb-I000113
Figure PCTKR2019008595-appb-I000114
을 만족하기 때문에,
Figure PCTKR2019008595-appb-I000115
의 내역
Figure PCTKR2019008595-appb-I000116
Figure PCTKR2019008595-appb-I000117
로 수정하고, 빈 비트열
Figure PCTKR2019008595-appb-I000118
Figure PCTKR2019008595-appb-I000119
으로 교체(원래, 빈 비트열이었던
Figure PCTKR2019008595-appb-I000120
는 이제 난수와 같은 넌스값
Figure PCTKR2019008595-appb-I000121
으로 교체되고, 이 넌스값을 새로운
Figure PCTKR2019008595-appb-I000122
로 여기게 된다)하면 블록
Figure PCTKR2019008595-appb-I000123
에서 거래
Figure PCTKR2019008595-appb-I000124
를 수정하는 효과를 얻을 수 있다. 이때, 거래
Figure PCTKR2019008595-appb-I000125
이 수정된 블록
Figure PCTKR2019008595-appb-I000126
은 원래의 블록 해쉬값
Figure PCTKR2019008595-appb-I000127
에 대해 유효성이 검증된다. 만약, 거래를 삭제하는 경우라면
Figure PCTKR2019008595-appb-I000128
을 빈 비트열(
Figure PCTKR2019008595-appb-I000129
= null)로 교체하는 경우에 해당된다.
현재의 회전
Figure PCTKR2019008595-appb-I000130
에서 채굴자 갑이 제일 먼저 거래 수정에 대한 작업증명을 완료하였다고 가정해 보자. 채굴자 갑은 자신이 계산한 거래수정 증명을 위한 블록
Figure PCTKR2019008595-appb-I000131
을 발표하고 자신의 블록체인에 블록
Figure PCTKR2019008595-appb-I000132
을 연결하여 블록체인을 확장할 것이다. 이 때 블록
Figure PCTKR2019008595-appb-I000133
의 해쉬값은 수학식 9로 정의될 수 있다.
Figure PCTKR2019008595-appb-M000009
다른 채굴자들도 발표된 블록
Figure PCTKR2019008595-appb-I000134
을 검증한 후에 그 검증결과가 참이면 자신들의 블록체인도 채굴자 갑처럼 확장한다. 이를 위해서는 블록
Figure PCTKR2019008595-appb-I000135
에는 수정되는 거래에 대한 정보가 포함하고 있어야 한다.
도 4는 거래수정 블록
Figure PCTKR2019008595-appb-I000136
의 데이터 테이블을 도시한 것이다.
블록
Figure PCTKR2019008595-appb-I000137
에는 현 블록이 거래수정의 증명을 위한 것이라는 내용(블록의 상태 = 거래수정), 수정되는 거래
Figure PCTKR2019008595-appb-I000138
에 대한 정보(TMC에 포함), 거래의 수정요청에 대한 해당 거래의 이해 당사자들의 전자서명(TMC에 포함), 거래의 수정을 위해 진행해야 하는 작업들(TMC에 포함), 이에 대한 전자서명(S TMC) 등이 포함되어야 한다. 다른 참여자들은 도 5에 도시한 절차를 통해 거래의 수정, 즉, 자신들이 가지고 있는 블록체인의 업데이트를 진행한다. 물론, 중간에 하나의 검증에서라도 실패하는 순간 블록체인은 원래의 상태로 복귀하고 블록
Figure PCTKR2019008595-appb-I000139
은 무시될 것이다.
블록
Figure PCTKR2019008595-appb-I000140
의 거래
Figure PCTKR2019008595-appb-I000141
의 수정 과정은 도 5와 같다.
단계 1(S510): 거래수정 작업증명 검증
Figure PCTKR2019008595-appb-I000142
의 유효성 검증 (수학식 8, 수학식 9)
단계 2(S520): 블록
Figure PCTKR2019008595-appb-I000143
의 목표값
Figure PCTKR2019008595-appb-I000144
의 무결성 검증 (수학식 6)
단계 3(S530): 거래
Figure PCTKR2019008595-appb-I000145
의 원래의
Figure PCTKR2019008595-appb-I000146
에 대한 목표값
Figure PCTKR2019008595-appb-I000147
검증 (수학식 4)
단계 4(S540): 거래
Figure PCTKR2019008595-appb-I000148
Figure PCTKR2019008595-appb-I000149
를 이용하여 수정요청의 유효성 검증
단계 5(S550): 거래
Figure PCTKR2019008595-appb-I000150
수정
Figure PCTKR2019008595-appb-I000151
Null(수정요청이 삭제인 경우) or 변화 없음
Figure PCTKR2019008595-appb-I000152
Figure PCTKR2019008595-appb-I000153
거래
Figure PCTKR2019008595-appb-I000154
의 상태
Figure PCTKR2019008595-appb-I000155
'수정'
단계 6(S560): 블록
Figure PCTKR2019008595-appb-I000156
의 Merkle tree 정보
Figure PCTKR2019008595-appb-I000157
업데이트
본 발명의 목적 중 하나는 상기한 방법과 같이 블록체인에 기록된 거래의 수정이 가능한 블록체인을 제안하는 것이며, 이를 위해 기존 방식과 달리, 거래수정의 작업증명을 위한 블록채굴을 진행하여 부블록체인을 계산하고 주블록체인에서는 거래승인을 진행하게 한다. 이를 설명하기 위해 다음 기호들을 사용할 것이다.
Figure PCTKR2019008595-appb-I000158
: 주블록체인의 n번째 회전
Figure PCTKR2019008595-appb-I000159
: 회전
Figure PCTKR2019008595-appb-I000160
에서 추가되는 블록
Figure PCTKR2019008595-appb-I000161
: 회전
Figure PCTKR2019008595-appb-I000162
에서 각 노드들의 주블록체인
Figure PCTKR2019008595-appb-I000163
: 블록체인
Figure PCTKR2019008595-appb-I000164
에 블록
Figure PCTKR2019008595-appb-I000165
을 연결한 주블록체인
Figure PCTKR2019008595-appb-I000166
: 블록
Figure PCTKR2019008595-appb-I000167
에 작업증명을 통해 기록될 거래
여기서, 거래
Figure PCTKR2019008595-appb-I000168
도 2의 테이블과 같은 세부 정보를 가지고 있다고 가정한다. 본 발명에서는 주블록체인의 회전
Figure PCTKR2019008595-appb-I000169
에서 생성될 블록
Figure PCTKR2019008595-appb-I000170
에 기록될 거래들
Figure PCTKR2019008595-appb-I000171
에 대해 추후 수정 가능성을 제공하기 위해 각 채굴자들은 다음과 같은 '목표설정'과정을 진행하는 규칙을 정한다.
Figure PCTKR2019008595-appb-M000010
여기서,
Figure PCTKR2019008595-appb-I000172
은 블록
Figure PCTKR2019008595-appb-I000173
에 포함될 거래의 개수이고, 처음으로 승인되는 거래
Figure PCTKR2019008595-appb-I000174
의 경우에는 수학식 4에서 마찬가지로
Figure PCTKR2019008595-appb-I000175
이 모두 빈 비트열이고, 목표값 검증절차에서의 통일성을 유지하기 위해 빈 비트열임에도 불구하고 수학식 10에 포함시켰음을 주목하자.
기존에는 거래수정 작업증명의 난이도를 하나의 계수 K를 사용하여 모든 거래에 대해 동일하게 결정한 반면에 본 발명에서는 각 거래의 내용 및 유형에 따른 각기 다른 계수
Figure PCTKR2019008595-appb-I000176
을 사용할 수 있게 한 점이다. 예를 들어,
Figure PCTKR2019008595-appb-I000177
=256으로 설정하면 해당 거래
Figure PCTKR2019008595-appb-I000178
를 수정하는 것은 불가능하며,
Figure PCTKR2019008595-appb-I000179
(여기서, M은 거래승인 작업증명에 사용되는 계수, 수학식 7 참조)으로 설정하면 거래
Figure PCTKR2019008595-appb-I000180
의 수정은 전체 네트워크의 공동의 노력에 의해서만 수정 가능해지고,
Figure PCTKR2019008595-appb-I000181
(M보다
Figure PCTKR2019008595-appb-I000182
이 현저히 작다는 의미이다)인 경우에는 해당 거래의 이해 당사자들의 계산에 의해서도 수정 가능해 진다.
목표설정의 결과로, 각 채굴자들은 각기 다른 거래들을 모을 수 있기 때문에 각기 다른 '목표값'
Figure PCTKR2019008595-appb-I000183
을 계산할 수 있다. 이 목표값은 거래수정의 유효성을 검증하는데 사용될 데이터로 위변조 되는 것을 방지해야 한다. 이를 위해, 수학식 6(
Figure PCTKR2019008595-appb-I000184
)과 같이 목표값에 대한 채굴자의 전자서명을 블록 내에 포함시킨다.
여기서, DS는 채굴자의 전자서명을 하는 함수를 의미하고, 이것의 유효한지는 블록에 기록되어 있는 채굴자의 공개키를 이용하여 확인할 수 있다.
주블록체인의 블록채굴에 참여하여 목표설정을 끝낸 채굴자들은 수학식 11의 작업증명(거래승인)에 도전한다.
Figure PCTKR2019008595-appb-M000011
을 만족하는 넌스값 r을 계산한다.
수학식 11을 만족하는 넌스값 r에 대한 결과
Figure PCTKR2019008595-appb-I000185
가 해당 블록
Figure PCTKR2019008595-appb-I000186
의 해쉬값으로 계산된다. 블록의 해쉬값을 제일 먼저 계산한 채굴자는 블록
Figure PCTKR2019008595-appb-I000187
을 발표하고 이를 주블록체인에 연결하여 확장된 주블록체인
Figure PCTKR2019008595-appb-I000188
으로 업데이트한다. 다른 참여자들은 발표된 블록
Figure PCTKR2019008595-appb-I000189
을 검증하고 이에 대한 합의로 자신들의 주블록체인을
Figure PCTKR2019008595-appb-I000190
으로 업데이트한다.
본 발명에서 주블록체인
Figure PCTKR2019008595-appb-I000191
에 거래승인 작업증명 블록
Figure PCTKR2019008595-appb-I000192
을 연결하는 절차는 위에서 설명한 방법과 동일하다. 앞에서 언급하였듯이 차이점은 거래의 내용 및 유형에 따른 각기 다른 계수
Figure PCTKR2019008595-appb-I000193
을 사용할 수 있게 한 점이다. 또한, 본 발명에서는 주블록체인은 거래승인만을 담당하도록 제안한다. 이러한 사실을 고려하면, 본 발명에서 블록
Figure PCTKR2019008595-appb-I000194
의 세부 내용은 도 6의 테이블과 같이 기술할 수 있다.
이제, 부블록체인에 대해 알아보자. 본 발명에서는 주블록체인에 직접 연결될 부블록체인은 난이도별로 분류된 거래수정을 다루기 위해, 주블록체인에서서 사용하는 암호화폐와는 다른 암호화폐와 연관된 거래를 다루기 위해, 스마트 거래 등 특수한 유형의 거래를 다루기 위해, 또는, 특정 데이터의 기록만을 담당하기 위해 여러 부블록체인들로 구성될 수 있다. 또한, 각각의 부블록체인은 주블록체인과는 다른 형태의 합의 방법, 블록채굴과 암호화폐를 사용할 수 있다.
주블록체인에 직접 연결될 부블록체인의 수가 2L보다 작다고 하자. 그 중 하나의 부블록체인과 그 블록체인에 연결될 블록을 다음 기호들을 이용하여 표현해 보자.
Figure PCTKR2019008595-appb-I000195
:
Figure PCTKR2019008595-appb-I000196
-비트로 구별되는 부블록체인 표식자
Figure PCTKR2019008595-appb-I000197
: 블록
Figure PCTKR2019008595-appb-I000198
에 연결될
Figure PCTKR2019008595-appb-I000199
-부블록체인의 k번째 회전
Figure PCTKR2019008595-appb-I000200
: 회전
Figure PCTKR2019008595-appb-I000201
에서 추가되는
Figure PCTKR2019008595-appb-I000202
-부블록체인의 블록
Figure PCTKR2019008595-appb-I000203
: 블록
Figure PCTKR2019008595-appb-I000204
의 넌스값
Figure PCTKR2019008595-appb-I000205
: 블록
Figure PCTKR2019008595-appb-I000206
의 해쉬값
여기서,
Figure PCTKR2019008595-appb-I000207
Figure PCTKR2019008595-appb-I000208
-비트로 구별되는 부블록체인 표식자인데, 각각의
Figure PCTKR2019008595-appb-I000209
-비트가 각기 다른 부블록체인을 지칭할 필요는 없다. 예를 들어,
Figure PCTKR2019008595-appb-I000210
=3인 경우에, 000, 001, 010, 011은
Figure PCTKR2019008595-appb-I000211
=0을, 100, 101은
Figure PCTKR2019008595-appb-I000212
=1을, 110은
Figure PCTKR2019008595-appb-I000213
=2를, 111은
Figure PCTKR2019008595-appb-I000214
=3을 지칭하도록 정의할 수 있다. 이렇게 함으로써 부블록체인의 생성과 연결이 각기 다른 빈도로 발생할 수 있게 할 수 있다. 이에 대한 설명은 바로 등장할 것이다.
본 발명에서는 부블록체인의 구조는 다양한 형태의 것이 될 수 있다. 본 발명의 실시예에서는 표식자가
Figure PCTKR2019008595-appb-I000215
인 부블록체인이 특정 난이도에서의 주블록체인에 기록된 거래에 대한 수정명령이 기록되는 경우를 가지고 설명하고자 한다.
본 발명에서의 부블록체인들은 주블록체인에서의 블록의 해쉬값
Figure PCTKR2019008595-appb-I000216
의 끝
Figure PCTKR2019008595-appb-I000217
-비트가
Figure PCTKR2019008595-appb-I000218
를 지칭하는 경우에
Figure PCTKR2019008595-appb-I000219
-부블록체인의 블록이 생성되고 주블록체인에 연결되는 구조를 갖는다. 이를 구체적으로 설명하기 위해, 주블록체인의 블록 해쉬값
Figure PCTKR2019008595-appb-I000220
의 끝
Figure PCTKR2019008595-appb-I000221
-비트가
Figure PCTKR2019008595-appb-I000222
에서 해당 표식자
Figure PCTKR2019008595-appb-I000223
가 되었다고 가정해 보자. 처음으로 주블록체인에서의 블록의 해쉬값
Figure PCTKR2019008595-appb-I000224
의 끝
Figure PCTKR2019008595-appb-I000225
-비트가 표식자
Figure PCTKR2019008595-appb-I000226
가 되는 회전
Figure PCTKR2019008595-appb-I000227
에서 채굴된
Figure PCTKR2019008595-appb-I000228
Figure PCTKR2019008595-appb-I000229
-부블록체인의 최초 블록
Figure PCTKR2019008595-appb-I000230
으로 간주한다. 즉,
Figure PCTKR2019008595-appb-I000231
의 넌스값
Figure PCTKR2019008595-appb-I000232
과 해쉬값
Figure PCTKR2019008595-appb-I000233
에 대해 수학식 12로 정의한다.
Figure PCTKR2019008595-appb-M000012
Figure PCTKR2019008595-appb-I000234
-부블록체인의 채굴자들은 주블록체인의
Figure PCTKR2019008595-appb-I000235
블록에 기록되어 있는 거래의 수정하라는 명령에 대한 합의를 위한 작업증명을 위해
Figure PCTKR2019008595-appb-I000236
-부블록체인의 블록을 생성한다. 예를 들어, 거래
Figure PCTKR2019008595-appb-I000237
의 내용
Figure PCTKR2019008595-appb-I000238
Figure PCTKR2019008595-appb-I000239
로 수정하는 요청이 있었다고 가정해보자. 이에 대한 합의를 위한 블록
Figure PCTKR2019008595-appb-I000240
의 넌스값
Figure PCTKR2019008595-appb-I000241
과 해쉬값
Figure PCTKR2019008595-appb-I000242
은 수학식 13의 작업증명(거래수정)을 통해 얻어진다.
Figure PCTKR2019008595-appb-M000013
을 만족하는 넌스값
Figure PCTKR2019008595-appb-I000243
의 계산한다.
여기서,
Figure PCTKR2019008595-appb-I000244
는 수정이 요청된 거래
Figure PCTKR2019008595-appb-I000245
의 목표값(수학식 10)이다. 수학식 13을 만족하는 넌스값
Figure PCTKR2019008595-appb-I000246
Figure PCTKR2019008595-appb-I000247
을 만족하기 때문에
Figure PCTKR2019008595-appb-I000248
의 내용
Figure PCTKR2019008595-appb-I000249
Figure PCTKR2019008595-appb-I000250
로 수정하고, 빈 비트열
Figure PCTKR2019008595-appb-I000251
Figure PCTKR2019008595-appb-I000252
으로 교체하면 블록
Figure PCTKR2019008595-appb-I000253
에서 거래
Figure PCTKR2019008595-appb-I000254
를 수정하는 효과를 얻을 수 있다. 이러한 거래수정 명령으로 이루어진
Figure PCTKR2019008595-appb-I000255
-부블록체인의 블록
Figure PCTKR2019008595-appb-I000256
의 해쉬값은
Figure PCTKR2019008595-appb-I000257
으로 한다.
블록
Figure PCTKR2019008595-appb-I000258
은 도 7의 테이블과 같이 수정되는 거래에 대한 정보가 포함하고 있어야 한다.
도 7은 거래수정 블록
Figure PCTKR2019008595-appb-I000259
의 내용을 보여주고 있다. 예를 들어, 수정되는 거래
Figure PCTKR2019008595-appb-I000260
에 대한 정보(TMC에 포함), 거래의 수정요청에 대한 해당 거래의 이해 당사자들의 전자서명(TMC에 포함), 거래의 수정을 위해 진행해야 하는 작업들(TMC에 포함), 이에 대한 전자서명(STMC) 등이 포함되어야 한다. 여기서, TMC의 주요 내용은 다음과 같다.
거래수정 블록
Figure PCTKR2019008595-appb-I000261
에 의한 블록
Figure PCTKR2019008595-appb-I000262
의 거래
Figure PCTKR2019008595-appb-I000263
의 수정 과정은 도 8과 같다.
단계 1(S810): 블록
Figure PCTKR2019008595-appb-I000264
의 작업증명 검증
Figure PCTKR2019008595-appb-I000265
의 유효성 검증 (수학식 13)
단계 2(S820): 블록
Figure PCTKR2019008595-appb-I000266
의 목표값
Figure PCTKR2019008595-appb-I000267
의 무결성 검증 (수학식 6)
단계 3(S830): 거래
Figure PCTKR2019008595-appb-I000268
의 원래의
Figure PCTKR2019008595-appb-I000269
에 대한 목표값
Figure PCTKR2019008595-appb-I000270
검증 (수학식 4)
단계 4(S840): 거래
Figure PCTKR2019008595-appb-I000271
Figure PCTKR2019008595-appb-I000272
를 이용하여 수정요청의 유효성 검증
단계 5(S850): 거래
Figure PCTKR2019008595-appb-I000273
수정
Figure PCTKR2019008595-appb-I000274
Null(수정요청이 삭제인 경우) or 변화 없음
Figure PCTKR2019008595-appb-I000275
Figure PCTKR2019008595-appb-I000276
거래
Figure PCTKR2019008595-appb-I000277
의 상태
Figure PCTKR2019008595-appb-I000278
'수정'
단계 6(S860): 블록
Figure PCTKR2019008595-appb-I000279
의 Merkle tree 정보
Figure PCTKR2019008595-appb-I000280
업데이트
Figure PCTKR2019008595-appb-I000281
-부블록체인의 참여자들은 블록
Figure PCTKR2019008595-appb-I000282
의 유효한지 검증한 후에 자신의
Figure PCTKR2019008595-appb-I000283
-부블록체인에 추가하여 확장하려 할 것이다. 이러한 노력은 주블록체인에서 블록의 해쉬값의 끝
Figure PCTKR2019008595-appb-I000284
-비트가 다시
Figure PCTKR2019008595-appb-I000285
를 지칭할 때까지, 즉, 블록
Figure PCTKR2019008595-appb-I000286
이 채굴될 때까지 진행될 것이다. 그때까지
Figure PCTKR2019008595-appb-I000287
-부블록체인에서 채굴된 블록들이
Figure PCTKR2019008595-appb-I000288
라 해보자. 주블록체인에서 블록
Figure PCTKR2019008595-appb-I000289
의 채굴자는 주블록체인 네트워크에 블록
Figure PCTKR2019008595-appb-I000290
과 하위블록
Figure PCTKR2019008595-appb-I000291
을 발표하고,
Figure PCTKR2019008595-appb-I000292
은 주블록체인
Figure PCTKR2019008595-appb-I000293
에 연결하여
Figure PCTKR2019008595-appb-I000294
로 업데이트하고, 하위블록
Figure PCTKR2019008595-appb-I000295
은 주블록체인의 블록
Figure PCTKR2019008595-appb-I000296
에서 시작해서 블록
Figure PCTKR2019008595-appb-I000297
에서 끝나는 사이드 체인(도 9 참조)을 형성하게 한다. 이때, 하위블록
Figure PCTKR2019008595-appb-I000298
에 들어있는 거래수정 명령들이 주블록체인에 적용되어 거래의 수정이 실제로 이루어진다.
주블록체인의 다른 채굴자들은 블록
Figure PCTKR2019008595-appb-I000299
과 하위블록
Figure PCTKR2019008595-appb-I000300
의 유효성을 검증한 후에 오류가 없는 경우 자신들의 주블록체인을
Figure PCTKR2019008595-appb-I000301
에 들어있는 거래수정 명령들을 적용하여 업데이트한다. 물론, 중간에 하나의 검증에서라도 실패하는 순간 주블록체인은 원래의 상태로 복귀하고 블록
Figure PCTKR2019008595-appb-I000302
과 하위블록
Figure PCTKR2019008595-appb-I000303
은 무시될 것이다.
만약, 부블록체인이 특정 유형의 거래들의 승인을 담당하는 경우라면 해당 부블록체인의 주블록체인으로의 연결은 전체 블록체인에 부블록체인의 거래들이 기록된다는 것을 의미한다.
블록
Figure PCTKR2019008595-appb-I000304
의 채굴자는 주블록체인으로부터 블록
Figure PCTKR2019008595-appb-I000305
에 대한 블록보상과 함께 하위블록
Figure PCTKR2019008595-appb-I000306
의 대한 '연결보상'을
Figure PCTKR2019008595-appb-I000307
-부블록체인 네트워크로부터 받게 된다. 한편, 하위블록
Figure PCTKR2019008595-appb-I000308
의 채굴자들도
Figure PCTKR2019008595-appb-I000309
-부블록체인 네트워크로부터 자신들이 채굴한 블록에 대한 블록보상을 받게 된다. 또한, 주블록체인의 블록
Figure PCTKR2019008595-appb-I000310
의 해쉬값
Figure PCTKR2019008595-appb-I000311
Figure PCTKR2019008595-appb-I000312
으로 업데이트한다. 여기서,
Figure PCTKR2019008595-appb-I000313
은 연결되는 하위블록의 마지막 블록
Figure PCTKR2019008595-appb-I000314
의 해쉬값이다.
이제,
Figure PCTKR2019008595-appb-I000315
-부블록체인은
Figure PCTKR2019008595-appb-I000316
을 최초 블록으로 하여
Figure PCTKR2019008595-appb-I000317
내의 수정요청이 있는 거래에 대한 수정증명 블록을 연결하여 새롭게 확장될 것이고, 그것은 현재의
Figure PCTKR2019008595-appb-I000318
-부블록체인의 끝과 다음 번
Figure PCTKR2019008595-appb-I000319
-부블록체인의 시작을 알리는
Figure PCTKR2019008595-appb-I000320
이 채굴될 때까지 진행될 것이다. 이와 같은 방법으로
Figure PCTKR2019008595-appb-I000321
-부블록체인은 확장해가며 주블록체인에 연결된다.
부블록체인은 수정명령으로 이루어진 것 외에도 특정한 종류의 거래들의 승인을 위해서도 사용될 수 있다. 또한, 부블록체인에 기록된 거래들은 수정 가능성의 확보를 위해 주블록체인의 거래들이 목표값에 대한 작업증명을 통해 승인되었듯이 그들도 목표값에 대한 작업증명을 통해 부블록체인에 기록되고, 그것을 수정하기 위한 하위블록체인을 추가할 수 있다(도 10 참조). 즉, 계층적 다중 블록체인을 구성할 수 있다. 이때 부블록체인에 하위 블록체인을 생성하고 연결하는 방법은 주블록체인에 부블록체인을 생성하고 연결할 때 사용한 '해쉬값의 끝 비트를 이용한 방법'을 부블록체인의 블록 해쉬값에 대해 적용하여 사용한다.
도 10에서 보듯이 부블록체인에 연결되는 하위 블록체인은 주블록체인에 연결되는 한 마디 내에서만 연결될 필요는 없다.
Figure PCTKR2019008595-appb-I000322
-부블록체인
Figure PCTKR2019008595-appb-I000323
을 하나의 독립된 블록체인으로 보고 하위 블록체인을 연결하면 된다.
본 발명에서 거래수정은 주블록체인에 기록된 거래에만 국한된 것은 아니다. 만약, 어떤 부블록체인이 특정한 유형의 거래들의 승인을 위해 사용되었고, 그 거래들이 수정 가능성을 확보하기 위해 승인과정에서 해당 거래에 대해 직접 작업증명을 하는 대신 목표값(수학식 10)에 대한 작업증명을 시행한 경우라면 거래수정을 할 수 있다.
또한, 거래수정을 위한 블록체인은 반드시 수정하고자 하는 거래가 기록된 블록체인에 하위에만 존재해야 할 필요는 없다. 거래수정을 위한 작업증명을 할 시점에 수정하고자 하는 거래가 전체 블록체인에 기록되어 있는 것이고 승인과정에서 목표값에 대한 작업증명을 시행한 것이라면 기록된 위치에 상관없이 수정 가능하다.
지금까지의 설명에서는 주블록체인은 거래승인을 담당하는 경우를 다루었다. 본 발명에서는 블록체인에 승인되어야 할 모든 거래들은 그 유형에 따라 여러 부블록체인에서 승인되고, 또한 거래의 수정을 담당한 부블록체인은 난이도별로 분류되고, 주블록체인에서는 주블록체인에 연결될 부블록체인을 결정하는 작업만 담당하도록 설계할 수도 있다.
도 11은 본 발명의 일 실시예에 있어서 컴퓨터 시스템의 내부 구성의 일례를 설명하기 위한 블록도이다.
본 발명의 실시예들에 따른 블록체인 기반 거래 관리 시스템은 도 11의 컴퓨터 시스템(1100)을 통해 구현될 수 있다. 도 11에 도시한 바와 같이, 컴퓨터 시스템(1100)은 상기에서 설명한, 거래의 승인과 수정을 통합한 블록 채굴 방법을 실행하기 위한 구성요소로서 프로세서(1110), 메모리(1120), 영구 저장 장치(1130), 버스(1140), 입출력 인터페이스(1150) 및 네트워크 인터페이스(1160)를 포함할 수 있다.
프로세서(1110)는 명령어들의 시퀀스를 처리할 수 있는 임의의 장치를 포함하거나 그의 일부일 수 있다. 프로세서(1110)는 예를 들어 컴퓨터 프로세서, 이동 장치 또는 다른 전자 장치 내의 프로세서 및/또는 디지털 프로세서를 포함할 수 있다. 프로세서(1110)는 예를 들어, 서버 컴퓨팅 디바이스, 서버 컴퓨터, 일련의 서버 컴퓨터들, 서버 팜, 클라우드 컴퓨터, 컨텐츠 플랫폼, 이동 컴퓨팅 장치, 스마트폰, 태블릿, 셋톱 박스 등에 포함될 수 있다. 프로세서(1110)는 버스(1140)를 통해 메모리(1120)에 접속될 수 있다.
메모리(1120)는 컴퓨터 시스템(1100)에 의해 사용되거나 그에 의해 출력되는 정보를 저장하기 위한 휘발성 메모리, 영구, 가상 또는 기타 메모리를 포함할 수 있다. 예를 들어, 메모리(1120)는 랜덤 액세스 메모리(RAM: random access memory) 및/또는 동적 RAM(DRAM: dynamic RAM)을 포함할 수 있다. 메모리(1120)는 컴퓨터 시스템(1100)의 상태 정보와 같은 임의의 정보를 저장하는 데 사용될 수 있다. 메모리(1120)는 예를 들어 블록체인에 기록된 거래를 수정하기 위한 명령어들을 포함하는 컴퓨터 시스템(1100)의 명령어들을 저장하는 데에도 사용될 수 있다. 컴퓨터 시스템(1100)은 필요에 따라 또는 적절한 경우에 하나 이상의 프로세서(1110)를 포함할 수 있다.
버스(1140)는 컴퓨터 시스템(1100)의 다양한 컴포넌트들 사이의 상호작용을 가능하게 하는 통신 기반 구조를 포함할 수 있다. 버스(1140)는 컴퓨터 시스템(1100)의 컴포넌트들 사이에, 예를 들어 프로세서(1110)와 메모리(1120) 사이에 데이터를 운반할 수 있다. 버스(1140)는 컴퓨터 시스템(1100)의 컴포넌트들 간의 무선 및/또는 유선 통신 매체를 포함할 수 있으며, 병렬, 직렬 또는 다른 토폴로지 배열들을 포함할 수 있다.
영구 저장 장치(1130)는 (예를 들어 메모리(1120)에 비해) 소정의 연장된 기간 동안 데이터를 저장하기 위해 컴퓨터 시스템(1100)에 의해 사용되는 바와 같은 메모리 또는 다른 영구 저장 장치와 같은 컴포넌트들을 포함할 수 있다. 영구 저장 장치(1130)는 컴퓨터 시스템(1100) 내의 프로세서(1110)에 의해 사용되는 바와 같은 비휘발성 메인 메모리를 포함할 수 있다. 예를 들어, 영구 저장 장치(1130)는 플래시 메모리, 하드 디스크, 광 디스크 또는 다른 컴퓨터 판독 가능 매체를 포함할 수 있다.
입출력 인터페이스(1150)는 키보드, 마우스, 마이크, 카메라, 디스플레이 또는 다른 입력 또는 출력 장치에 대한 인터페이스들을 포함할 수 있다. 구성 명령들 및/또는 블록체인에 기록된 거래 수정과 관련된 입력이 입출력 인터페이스(1150)를 통해 수신될 수 있다.
네트워크 인터페이스(1160)는 근거리 네트워크 또는 인터넷과 같은 네트워크들에 대한 하나 이상의 인터페이스를 포함할 수 있다. 네트워크 인터페이스(1160)는 유선 또는 무선 접속들에 대한 인터페이스들을 포함할 수 있다. 구성 명령들은 네트워크 인터페이스(1160)를 통해 수신될 수 있다. 그리고, 블록체인에 기록된 거래 수정과 관련된 정보들은 네트워크 인터페이스(1160)를 통해 수신 또는 송신될 수 있다.
또한, 다른 실시예들에서 컴퓨터 시스템(1100)은 도 11의 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 컴퓨터 시스템(1100)은 상술한 입출력 인터페이스(1150)와 연결되는 입출력 장치들 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), GPS(Global Positioning System) 모듈, 카메라, 각종 센서, 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다.
이하의 실시예는 탈중앙화된 블록체인에서 거래의 승인과 수정을 통합한 블록 채굴 방법에 관한 것으로, 블록 채굴 방법은, 주어진 거래가 승인되어 블록체인에 기록된 이후 변화가 없는 제1 상태(승인)와, 주어진 거래가 승인되어 블록체인에 기록된 이후 수정된 제2 상태(수정), 및 블록체인에 기록된 거래를 수정하기 위한 명령으로 이루어진 제3 상태(명령)로 구별되는 거래를 이용하여 거래의 승인과 수정을 통합한 블록 채굴을 진행할 수 있다. 이처럼, 3종류의 다른 형태의 거래를 사용될 수 있으며, 이는 거래의 상태를 '승인', '수정', '명령'으로 구별할 수 있다.
구체적으로, 거래의 상태가 '승인'인 경우는 주어진 거래가 승인되어 블록체인에 기록된 이래로 변화가 없었다는 것을 의미하고, 거래의 상태가 '수정'인 경우는 주어진 거래가 과거의 어떤 시점에 정당한 절차에 따라 수정되었음을 의미하고, 거래의 상태가 '명령'인 경우는 주어진 거래가 블록체인에 기록된 거래를 정당한 절차에 따라 수정하는 명령으로 이루어진 거래임을 의미한다.
먼저, 거래
Figure PCTKR2019008595-appb-I000324
의 세부 내용에 대해 살펴보자.
도 12는 본 발명의 일실시예에 있어서 거래
Figure PCTKR2019008595-appb-I000325
의 세부 내용에 대한 데이터 테이블을 도시한 것이다.
먼저,
Figure PCTKR2019008595-appb-I000326
는 거래
Figure PCTKR2019008595-appb-I000327
의 상태를 나타내는 것으로 해당 거래가 '승인', '수정' 또는 '명령'임을 표시하고,
Figure PCTKR2019008595-appb-I000328
는 거래
Figure PCTKR2019008595-appb-I000329
의 내용(예: 실질적인 거래내용, 전자서명, 개인정보 등)을, 그리고
Figure PCTKR2019008595-appb-I000330
는 거래
Figure PCTKR2019008595-appb-I000331
의 이해 당사자들에 대한 정보(예: 이해 당사자들의 공개키들)를 포함하고 있다. 여기서, 이해 당사자들은 거래
Figure PCTKR2019008595-appb-I000332
가 승인된 후에 정당한 절차를 따라 해당 내역을 삭제 또는 수정을 요구할 수 있는 주체를 의미한다. 마지막으로,
Figure PCTKR2019008595-appb-I000333
는 추후 설명할 거래수정 해쉬퍼즐의 해법을 위한 추가 데이터이다. 거래가 처음 승인될 때의
Figure PCTKR2019008595-appb-I000334
는 빈 비트열 null이다. 여기서,
Figure PCTKR2019008595-appb-I000335
를 구별할 수 있는 길이정보가 포함되어야 하지만 해당 내용은 쉽게 유추 가능한 내용이므로 설명의 편의를 위해 생략한다.
본 발명에서는, 현 블록에 포함되어야 할 각 거래에 대해 각 채굴자들은 다음과 같은 '목표설정' 과정을 진행하는 규칙을 정한다.
Figure PCTKR2019008595-appb-M000014
여기서,
Figure PCTKR2019008595-appb-I000336
은 블록
Figure PCTKR2019008595-appb-I000337
에 포함될 거래의 개수이고, 처음으로 승인되는 거래
Figure PCTKR2019008595-appb-I000338
의 경우에는
Figure PCTKR2019008595-appb-I000339
이 모두 빈 비트열임을 유의하자(목표값 검증절차에서의 통일성을 유지하기 위해 빈 비트열임에도 불구하고 포함시킴). 또한,
Figure PCTKR2019008595-appb-I000340
는 수학식 15와 같이 정의한다.
Figure PCTKR2019008595-appb-M000015
즉, 임의의 어떠한 비트열 x에 대해
Figure PCTKR2019008595-appb-I000341
을 만족하도록 정의하였다.
목표설정의 결과로, 각 채굴자들은 각기 다른 거래들을 모을 수 있기 때문에 각기 다른 '목표값'
Figure PCTKR2019008595-appb-I000342
을 계산할 수 있다. 이 목표값은 거래수정의 유효성을 검증하는데 사용될 데이터로 위변조되는 것을 방지해야 한다. 이를 위해 목표값에 대한 채굴자의 전자서명을 블록 내에 포함시킨다.
Figure PCTKR2019008595-appb-M000016
여기서, DS는 채굴자의 전자서명을 하는 함수를 의미하고, 이것의 유효한지는 블록에 기록되어 있는 채굴자의 공개키를 이용하여 확인할 수 있다.
목표설정을 끝낸 채굴자들은 수학식 17의 작업증명(거래승인)에 도전한다.
Figure PCTKR2019008595-appb-M000017
을 만족하는 넌스값 r의 계산한다.
수학식 17을 만족하는 넌스값
Figure PCTKR2019008595-appb-I000343
에 대한 결과,
Figure PCTKR2019008595-appb-I000344
가 해당 블록
Figure PCTKR2019008595-appb-I000345
의 해쉬값으로 계산된다. 블록의 해쉬값을 제일 먼저 계산한 채굴자는 블록
Figure PCTKR2019008595-appb-I000346
을 발표하고 이를 블록체인에 연결하여 확장된 블록체인
Figure PCTKR2019008595-appb-I000347
로 업데이트한다. 다른 참여자들은 발표된 블록
Figure PCTKR2019008595-appb-I000348
을 검증하고 이에 대한 합의로 자신들의 블록체인을
Figure PCTKR2019008595-appb-I000349
로 업데이트한다.
도 13의 테이블은 발표된 블록
Figure PCTKR2019008595-appb-I000350
의 세부 내용이다.
기존의 블록체인에서 필요로 하는 도 1의 테이블 내용과 비교하여 제안하고자 하는 블록체인에서 필요로 하는 도 13의 테이블에서 추가된 내용을 살펴보면, 먼저, 난이도 계수 K(수학식 15 참조)와 채굴자의 공개키 pk가 추가되었다. 거래
Figure PCTKR2019008595-appb-I000351
는 도 7의 데이터 테이블에서 설명하였듯이 더 세분화되어 기록된다. 블록
Figure PCTKR2019008595-appb-I000352
에서 처음으로 승인되는 거래의 상태
Figure PCTKR2019008595-appb-I000353
= '승인'이고, 거래수정 해쉬퍼즐의 해법을 위한 추가 데이터
Figure PCTKR2019008595-appb-I000354
가 필요하지 않기 때문에
Figure PCTKR2019008595-appb-I000355
은 빈 비트열, 즉, Null이다.
이제, 거래를 수정하는 방법에 대해 알아보자. 먼저, 블록
Figure PCTKR2019008595-appb-I000356
에 기록되어 있는 거래
Figure PCTKR2019008595-appb-I000357
에 대한 수정 요청이 있었다고 가정해 보자. 여기서, 현재 회전
Figure PCTKR2019008595-appb-I000358
이 진행되고 있는 상황임을 감안하면
Figure PCTKR2019008595-appb-I000359
임은 자명하다. 또한, 수정이 요청된 거래
Figure PCTKR2019008595-appb-I000360
는 원래의 거래 내용은
Figure PCTKR2019008595-appb-I000361
이였는데 이를
Figure PCTKR2019008595-appb-I000362
로 수정하도록 요청받았다고 가정해 보자. 이를 달성하기 위해 거래
Figure PCTKR2019008595-appb-I000363
의 이해당사자들은 수학식 18의 작업증명(거래수정)을 수행한다.
Figure PCTKR2019008595-appb-M000018
을 만족하는 넌스값 r을 계산한다.
여기서,
Figure PCTKR2019008595-appb-I000364
는 수정이 요청된 거래
Figure PCTKR2019008595-appb-I000365
의 목표값(
Figure PCTKR2019008595-appb-I000366
)이다. 수학식 13을 만족하는 넌스값
Figure PCTKR2019008595-appb-I000367
Figure PCTKR2019008595-appb-I000368
을 만족하기 때문에 거래
Figure PCTKR2019008595-appb-I000369
의 내역
Figure PCTKR2019008595-appb-I000370
Figure PCTKR2019008595-appb-I000371
로 수정하고, 빈 비트열
Figure PCTKR2019008595-appb-I000372
Figure PCTKR2019008595-appb-I000373
으로 교체(원래, 빈 비트열이었던
Figure PCTKR2019008595-appb-I000374
는 이제 난수와 같은 넌스값
Figure PCTKR2019008595-appb-I000375
으로 교체되고, 이 넌스값을 새로운
Figure PCTKR2019008595-appb-I000376
로 여기게 된다)하면 블록
Figure PCTKR2019008595-appb-I000377
에서 거래
Figure PCTKR2019008595-appb-I000378
를 수정하는 효과를 얻을 수 있다. 이때, 거래
Figure PCTKR2019008595-appb-I000379
이 수정된 블록
Figure PCTKR2019008595-appb-I000380
은 원래의 블록 해쉬값
Figure PCTKR2019008595-appb-I000381
에 대해 유효성이 검증된다. 만약, 거래를 삭제하는 경우라면
Figure PCTKR2019008595-appb-I000382
을 빈 비트열(
Figure PCTKR2019008595-appb-I000383
=null)로 교체하는 경우에 해당된다.
이제, 수정이 요청된 거래
Figure PCTKR2019008595-appb-I000384
를 수정하는 명령어와 관련정보를 모아서 거래
Figure PCTKR2019008595-appb-I000385
를 만드는 과정을 살펴보도록 하자.
먼저, 수학식 18를 만족하는 넌스값
Figure PCTKR2019008595-appb-I000386
의 계산결과를 수학식 19라 하자.
Figure PCTKR2019008595-appb-M000019
수정이 요청된 거래
Figure PCTKR2019008595-appb-I000387
의 이해당사들은 자신들의 수정 명령을 이용하여 다음과 같이 거래
Figure PCTKR2019008595-appb-I000388
를 생성한다.
도 14는 거래
Figure PCTKR2019008595-appb-I000389
의 내용
Figure PCTKR2019008595-appb-I000390
Figure PCTKR2019008595-appb-I000391
로 수정하는 명령으로 이루어진 거래
Figure PCTKR2019008595-appb-I000392
의 내용
Figure PCTKR2019008595-appb-I000393
의 데이터를 보여주고 있다. 여기서, TMC는 수정을 다음 단계를 순차적으로 진행하는 명령들로 이루어져 있다.
블록
Figure PCTKR2019008595-appb-I000394
의 거래
Figure PCTKR2019008595-appb-I000395
의 수정 과정은 도 15와 같다.
단계 1(S1510): 거래수정 작업증명 검증
Figure PCTKR2019008595-appb-I000396
의 유효성 검증 (수학식 18, 수학식 19)
단계 2(S1520): 블록
Figure PCTKR2019008595-appb-I000397
의 목표값
Figure PCTKR2019008595-appb-I000398
의 무결성 검증 (수학식 16)
단계 3(S1530): 거래
Figure PCTKR2019008595-appb-I000399
의 원래의
Figure PCTKR2019008595-appb-I000400
에 대한 목표값
Figure PCTKR2019008595-appb-I000401
검증 (수학식 14)
단계 4(S1540): 거래
Figure PCTKR2019008595-appb-I000402
Figure PCTKR2019008595-appb-I000403
를 이용하여 수정요청의 유효성 검증
단계 5(S1550): 거래
Figure PCTKR2019008595-appb-I000404
수정
Figure PCTKR2019008595-appb-I000405
Null(수정요청이 삭제인 경우) or 변화 없음
Figure PCTKR2019008595-appb-I000406
거래
Figure PCTKR2019008595-appb-I000407
의 상태
Figure PCTKR2019008595-appb-I000408
'수정'
단계 6(S1560): 블록
Figure PCTKR2019008595-appb-I000409
의 Merkle tree 정보
Figure PCTKR2019008595-appb-I000410
업데이트
마지막으로,
Figure PCTKR2019008595-appb-I000411
는 TMC에 대한 이해당사들의 서명으로 TMC에 대한 이해당사들의 서명의 무결성을 검증하는데 사용한다. 이렇게 생성된 거래
Figure PCTKR2019008595-appb-I000412
의 상태는
Figure PCTKR2019008595-appb-I000413
'명령'으로 표현된다.
현재의 회전
Figure PCTKR2019008595-appb-I000414
에 추가될 블록
Figure PCTKR2019008595-appb-I000415
에는 처음으로 승인되는 거래들뿐만 아니라 이미 기록된 거래의 수정을 위한 수정명령으로 이루어진 거래들도 있다. 네트워크의 노드가 블록
Figure PCTKR2019008595-appb-I000416
을 인정한다는 것은 자신이 가지고 있는 블록체인에 블록
Figure PCTKR2019008595-appb-I000417
을 추가하는 것 외에도 해당 블록에 포함되어 있는 거래수정명령 거래의 명령에 따라 자신이 가지고 있는 블록체인을 수정하여 업데이트함을 의미한다. 물론, 중간에 하나의 검증에서라도 실패하는 순간 블록체인은 원래의 상태로 복귀하고 블록
Figure PCTKR2019008595-appb-I000418
은 무시될 것이다.
따라서, 본 실시예에서는 승인된 이후 변화가 없는 거래, 승인된 이후 수정된 거래, 블록체인에 기록된 특정 거래의 수정을 위한 명령으로 이루어진 거래와 같이 3종류의 다른 형태의 거래를 사용하여 거래승인과 거래수정을 통합하여 블록을 채굴하는 방법을 제안한다.
이때, 거래승인의 계산과정에서 차후 거래의 수정이 가능하게 하기 위하여 거래에 대한 목표값을 계산하고, 목표값에 대한 거래승인 작업증명 해쉬퍼즐을 이용하여 블록의 발굴을 검증하고, 블록에 대한 검증의 증명으로 새로운 블록을 기존의 블록체인에 추가할 수 있다.
또한, 수정이 요청된 거래의 목표값에 대한 해쉬퍼즐을 수정이 요청된 거래의 이해당사자들이 해결하여 거래수정명령을 만들어 하나의 거래로 생성할 수 있고, 거래수정명령으로 이루어진 거래들을 포함한 블록을 기존의 블록체인에 추가함으로써 수정이 요청된 거래들을 수정하여 업데이트하여 이미 블록체인에 기록된 거래들을 수정할 수 있다.
이처럼 본 발명의 실시예들에 따르면, 이미 기록된 거래에 대한 수정가능성을 제공함으로써 블록체인의 활용분야를 확대할 수 있으며, 개인정보 보호법 관련 규정에 의해 거래내역에 내재된 개인 정보의 삭제가 요구되는 경우 이를 기술적으로 해결할 수 있다. 또한, 이미 기록된 거래에 대한 수정가능성을 다수의 거래에 대해 적용할 수 있게 하여 블록체인의 활용분야를 확대하는데 도움이 될 것이다. 특히, 개인정보 보호법 관련 규정에 의해 거래내역에 내재된 개인 정보의 삭제가 요구되는 경우 이를 기술적으로 해결하는 방안을 제시할 수 있다. 또한, 또한, 거래를 작업증명 난이도, 유형 또는 목적별로 분류하여 각 부블록체인별로 각기 다른 작업증명방법과 암호화폐를 사용할 수 있는 유연성과 다양한 블록체인을 하나의 주블록체인에 연결하여 관리하는 기술을 제공할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 이때, 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수 개의 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 어플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (20)

  1. 컴퓨터 시스템에서 실행되는 블록체인 기반 거래 관리 방법에 있어서,
    상기 컴퓨터 시스템은 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고,
    상기 블록체인 기반 거래 관리 방법은 상기 적어도 하나의 프로세서에 의해 수행되는 것으로,
    거래의 승인을 증명받기 위한 거래승인 블록 및 거래의 수정을 증명받기 위한 거래수정 블록을 이용하여 거래의 승인과 수정을 구별하여 블록의 채굴을 진행하는 단계
    를 포함하는 블록체인 기반 거래 관리 방법.
  2. 제1항에 있어서,
    상기 블록의 채굴을 진행하는 단계는,
    상기 거래승인 블록의 계산 과정에서 거래의 수정이 가능하도록 거래에 대한 목표값을 설정하는 단계
    를 포함하는 블록체인 기반 거래 관리 방법.
  3. 제2항에 있어서,
    상기 블록의 채굴을 진행하는 단계는,
    상기 목표값에 대한 해쉬퍼즐을 이용하여 상기 거래승인 블록에 대한 작업을 증명하는 단계
    를 더 포함하는 블록체인 기반 거래 관리 방법.
  4. 제2항에 있어서,
    상기 블록의 채굴을 진행하는 단계는,
    상기 목표값의 위변조를 방지하기 위해 상기 목표값에 대한 채굴자의 전자서명을 해당 블록 내에 포함시키는 단계
    를 더 포함하는 블록체인 기반 거래 관리 방법.
  5. 제2항에 있어서,
    상기 블록의 채굴을 진행하는 단계는,
    수정이 요청된 거래의 목표값에 대한 해쉬퍼즐을 이용하여 상기 거래수정 블록에 대한 작업을 증명하는 단계
    를 더 포함하는 블록체인 기반 거래 관리 방법.
  6. 제5항에 있어서,
    상기 블록의 채굴을 진행하는 단계는,
    거래수정 명령이 포함된 상기 거래수정 블록을 블록체인에 추가함으로써 이미 기록된 거래를 수정하여 블록체인을 업데이트 하는 단계
    를 더 포함하는 블록체인 기반 거래 관리 방법.
  7. 컴퓨터 시스템에서 실행되는 다중 블록체인 방법에 있어서,
    상기 컴퓨터 시스템은 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고,
    상기 다중 블록체인 방법은 상기 적어도 하나의 프로세서에 의해 수행되는 것으로,
    각 거래의 내용이나 유형에 따라 수정에 필요한 작업증명의 난이도를 결정한 후 상기 난이도에 따라 상기 거래에 대한 목표값을 계산하는 단계; 및
    거래수정이 가능하도록 상기 목표값에 대한 작업증명을 통해 거래승인을 수행하는 단계
    를 포함하는 다중 블록체인 방법.
  8. 제7항에 있어서,
    상기 수행하는 단계는,
    하나의 주블록체인(main blockchain)과 복수 개의 부블록체인(sub blockchain)으로 구성된 계층적 블록체인을 생성하는 것으로,
    상기 부블록체인은 난이도별로 분류된 거래수정을 다루는 블록체인이고,
    상기 주블록체인은 거래의 승인과 함께 상기 부블록체인을 상기 주블록체인에 연결하여 상기 부블록체인에 기록된 데이터를 상기 주블록체인에 기록하는 것
    을 특징으로 하는 다중 블록체인 방법.
  9. 제7항에 있어서,
    상기 수행하는 단계는,
    하나의 주블록체인과 복수 개의 부블록체인으로 구성된 계층적 블록체인을 생성하는 것으로,
    상기 작업증명의 난이도에 따라 수정이 요청된 거래에 대한 수정명령으로 이루어진 상기 부블록체인을 상기 주블록체인에 연결하는 단계
    를 포함하는 다중 블록체인 방법.
  10. 제9항에 있어서,
    상기 연결하는 단계는,
    상기 부블록체인을 상기 주블록체인의 해쉬값이 특정 조건을 만족하는 블록에 연결함으로써 상기 부블록체인을 상기 주블록체인에 연결하는 단계
    를 포함하는 다중 블록체인 방법.
  11. 제9항에 있어서,
    상기 연결하는 단계는,
    상기 부블록체인을 상기 주블록체인에 연결함으로써 상기 부블록체인에 기록된 특정 거래에 대한 수정명령을 전체 블록체인에 적용하여 업데이트하는 단계
    를 포함하는 다중 블록체인 방법.
  12. 제9항에 있어서,
    상기 수행하는 단계는,
    상기 부블록체인 별로 각기 다른 작업증명 방법과 암호화폐를 사용하는 단계
    를 더 포함하는 다중 블록체인 방법.
  13. 제9항에 있어서,
    상기 수행하는 단계는,
    상기 부블록체인이 거래의 승인을 위해 사용됨에 따라 상기 부블록체인에 수정이 요청된 거래에 대한 수정명령으로 이루어진 하위 블록체인을 연결하는 단계
    를 더 포함하는 다중 블록체인 방법.
  14. 컴퓨터 시스템에서 실행되는 블록 채굴 방법에 있어서,
    상기 컴퓨터 시스템은 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고,
    상기 블록 채굴 방법은 상기 적어도 하나의 프로세서에 의해 수행되는 것으로,
    주어진 거래가 승인되어 블록체인에 기록된 이후 변화가 없는 제1 상태(승인)와, 주어진 거래가 승인되어 블록체인에 기록된 이후 수정된 제2 상태(수정), 및 블록체인에 기록된 거래를 수정하기 위한 명령으로 이루어진 제3 상태(명령)로 구별되는 거래를 이용하여 거래의 승인과 수정을 통합한 블록 채굴을 진행하는 단계
    를 포함하는 블록 채굴 방법.
  15. 제14항에 있어서,
    상기 거래의 승인과 수정을 통합한 블록 채굴을 진행하는 단계는,
    수정이 요청된 거래의 목표값에 대한 해쉬퍼즐을 이용하여 거래 수정 명령으로 이루어진 거래를 생성하는 단계
    를 포함하는 블록 채굴 방법.
  16. 제14항에 있어서,
    상기 거래의 승인과 수정을 통합한 블록 채굴을 진행하는 단계는,
    거래 수정 명령으로 이루어진 거래와 다른 거래를 하나의 블록에 통합하여 채굴한 블록을 블록체인에 추가함으로써 수정이 요청된 거래를 수정하여 업데이트 하는 단계
    를 포함하는 블록 채굴 방법.
  17. 제14항에 있어서,
    상기 거래의 승인과 수정을 통합한 블록 채굴을 진행하는 단계는,
    각 거래에 대한 목표값을 계산하는 단계; 및
    상기 목표값에 대한 해쉬퍼즐을 이용하여 블록체인에 기록된 거래를 수정하는 단계
    를 포함하는 블록 채굴 방법.
  18. 제17항에 있어서,
    상기 블록체인에 기록된 거래를 수정하는 단계는,
    수정이 요청된 거래의 목표값에 대한 해쉬퍼즐을 이용하여 해당 거래의 거래수정 작업증명을 수행하는 단계
    를 포함하는 블록 채굴 방법.
  19. 제17항에 있어서,
    상기 블록체인에 기록된 거래를 수정하는 단계는,
    거래 수정 명령으로 이루어진 거래를 포함하는 블록을 블록체인에 추가함으로써 수정이 요청된 거래를 수정하여 업데이트 하는 단계
    를 더 포함하는 블록 채굴 방법.
  20. 제17항에 있어서,
    상기 거래의 승인과 수정을 통합한 블록 채굴을 진행하는 단계는,
    상기 목표값의 위변조를 방지하기 위해 상기 목표값에 대한 채굴자의 전자서명을 해당 블록 내에 포함시키는 단계
    를 더 포함하는 블록 채굴 방법.
PCT/KR2019/008595 2019-01-22 2019-07-11 기록된 거래의 수정이 가능한 블록체인을 위한 방법 및 장치 WO2020153552A1 (ko)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
KR20190008301 2019-01-22
KR10-2019-0008301 2019-01-22
KR10-2019-0033315 2019-03-25
KR1020190033315A KR102164779B1 (ko) 2019-01-22 2019-03-25 기록된 거래의 수정이 가능한 블록체인
KR10-2019-0047725 2019-04-24
KR1020190047726A KR102189668B1 (ko) 2019-04-24 2019-04-24 탈중앙화된 계층적 다중 블록체인 방법
KR1020190047725A KR102189667B1 (ko) 2019-04-24 2019-04-24 탈중앙화된 블록체인에서 거래의 승인과 수정을 통합한 블록 채굴 방법
KR10-2019-0047726 2019-04-24

Publications (1)

Publication Number Publication Date
WO2020153552A1 true WO2020153552A1 (ko) 2020-07-30

Family

ID=71608641

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/008595 WO2020153552A1 (ko) 2019-01-22 2019-07-11 기록된 거래의 수정이 가능한 블록체인을 위한 방법 및 장치

Country Status (2)

Country Link
US (1) US20200234293A1 (ko)
WO (1) WO2020153552A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11934425B1 (en) * 2019-02-04 2024-03-19 Harbor Technologies, LLC Synchronizing a centralized state on a distributed chain database with an off-chain state to improve trade authorization practices
GB2583770A (en) * 2019-05-10 2020-11-11 Nchain Holdings Ltd Methods and devices for registering and authenticating miner identity in a blockchain network
US11108820B2 (en) 2019-06-16 2021-08-31 Moac Blockchain Tech Inc Apparatus and method for distinguishing between legitimate and malicious branches of a split blockchain
CN111988402B (zh) * 2020-08-20 2022-06-24 支付宝(杭州)信息技术有限公司 一种数据核验方法、装置及电子设备
CN112819618B (zh) * 2021-01-12 2024-01-23 北京金山云网络技术有限公司 交易信息保存方法、装置、电子设备及存储介质
CN113438073B (zh) * 2021-06-24 2023-05-09 福建师范大学 基于周期且支持指定修改次数的区块链编校方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180307859A1 (en) * 2013-11-01 2018-10-25 Anonos Inc. Systems and methods for enforcing centralized privacy controls in de-centralized systems
KR20180124541A (ko) * 2017-05-12 2018-11-21 주식회사 엑스블록시스템즈 블록체인 시스템 및 블록체인을 이용한 데이터 관리 방법
KR101922963B1 (ko) * 2017-08-28 2018-11-28 아주대학교산학협력단 블록 체인 생성 장치 및 방법

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170059270A (ko) * 2015-11-20 2017-05-30 주식회사 엘지화학 세퍼레이터 및 이를 구비한 전기화학소자
US11544708B2 (en) * 2017-12-29 2023-01-03 Ebay Inc. User controlled storage and sharing of personal user information on a blockchain
US20190303622A1 (en) * 2018-03-28 2019-10-03 Ca, Inc. Bicameral framework for fast and tamper-resistant blockchain validation
US10592873B2 (en) * 2018-05-21 2020-03-17 Microsoft Technology Licensing, Llc Edit transactions for blockchains
US11281796B2 (en) * 2018-06-13 2022-03-22 At&T Intellectual Property I, L.P. Blockchain based information management
US10846762B1 (en) * 2018-07-09 2020-11-24 Turing Technology, Inc. Blockchain based cold email campaign
US11263582B2 (en) * 2018-07-10 2022-03-01 Accenture Global Solutions Limited Distributed ledger system for material monitoring
US11138572B2 (en) * 2018-09-26 2021-10-05 Mastercard International Incorporated Method and system for dispute resolution in a public blockchain
US11016794B2 (en) * 2018-11-30 2021-05-25 Vmware, Inc. Peripheral device access support for containers

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180307859A1 (en) * 2013-11-01 2018-10-25 Anonos Inc. Systems and methods for enforcing centralized privacy controls in de-centralized systems
KR20180124541A (ko) * 2017-05-12 2018-11-21 주식회사 엑스블록시스템즈 블록체인 시스템 및 블록체인을 이용한 데이터 관리 방법
KR101922963B1 (ko) * 2017-08-28 2018-11-28 아주대학교산학협력단 블록 체인 생성 장치 및 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Introduction to Bitcoin Blockchain", 21 December 2016 (2016-12-21), pages 1 - 5, Retrieved from the Internet <URL:https://brunch.co.kr/@ashhan/16> [retrieved on 20190729] *
"Non-official translation: OAS Blockchain Renaissance Project. OAS White Paper", 15 September 2018 (2018-09-15), Retrieved from the Internet <URL:http://vidfolio.kr/wp-content/uploads/2018/10/0AS_whitepaper_v2.pdf> [retrieved on 20191018] *

Also Published As

Publication number Publication date
US20200234293A1 (en) 2020-07-23

Similar Documents

Publication Publication Date Title
WO2020153552A1 (ko) 기록된 거래의 수정이 가능한 블록체인을 위한 방법 및 장치
WO2021008017A1 (zh) 联邦学习方法、系统、终端设备及存储介质
WO2017003051A1 (ko) 랜덤하면서 유일한 코드를 생성하는 전자 장치 및 방법
WO2020004686A1 (ko) 블록체인 dPoC 합의알고리즘 기반 합의 인증 수행 방법
WO2020189927A1 (ko) 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말
WO2020189926A1 (ko) 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말
WO2015137641A2 (ko) 계층적인 룰 구조를 가지고 있는 비즈니스 룰 관리 시스템 및 그 표현 방법
WO2020224247A1 (zh) 基于区块链的数据溯源方法、装置、设备及可读存储介质
WO2020080590A1 (ko) 블록체인 기반의 기업투자 시스템 및 그 제어방법
WO2018076829A1 (zh) 终端数据的处理方法、装置、系统、存储介质及服务器
WO2020141782A1 (ko) 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말
WO2021070983A1 (ko) Vr 훈련 시스템 및 방법
WO2020017767A1 (en) Method and device for controlling access of application
WO2020130331A1 (ko) 블록체인에서 노드들간 블록 및 전자 문서를 공유 및 검증하는 방법
WO2018151356A1 (ko) 다중 스케일 곡률 기반 가시적 벡터 모델 해싱 방법
WO2020141783A1 (ko) 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말
WO2021070984A1 (ko) Vr 훈련 시스템 및 방법
WO2022158847A1 (ko) 멀티 모달 데이터를 처리하는 전자 장치 및 그 동작 방법
WO2021112647A1 (en) Method, apparatus and electronic device for determining word representation vector
WO2021015463A2 (ko) 블록체인을 기반으로 한 대출 서비스 방법 및 이러한 방법을 사용하는 장치
WO2021246632A1 (ko) 전자 지갑, 이를 실행하는 서버, 및 상기 서버를 이용한 블록체인 토큰들의 원자성 교환 방법
WO2020101081A1 (ko) 고 영향 노드의 결정 방법, 고 영향 노드의 결정 장치, 바이럴 마케팅에서의 마케팅 비용 최소화 방법 및 이를 수행하기 위한 시스템
WO2024014797A1 (ko) 강인한 음성인식을 위한 타겟 마스크 및 독립성분분석 기반의 실시간 빔포밍 및 방향 벡터 추정 방법
WO2021045416A2 (ko) 전력 관리 서버 및 컴퓨터 프로그램
WO2020141780A1 (ko) 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19911825

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19911825

Country of ref document: EP

Kind code of ref document: A1