KR20180102269A - System and method for supporting external interface based on block chain - Google Patents

System and method for supporting external interface based on block chain Download PDF

Info

Publication number
KR20180102269A
KR20180102269A KR1020170028644A KR20170028644A KR20180102269A KR 20180102269 A KR20180102269 A KR 20180102269A KR 1020170028644 A KR1020170028644 A KR 1020170028644A KR 20170028644 A KR20170028644 A KR 20170028644A KR 20180102269 A KR20180102269 A KR 20180102269A
Authority
KR
South Korea
Prior art keywords
block
external
external device
call
transaction
Prior art date
Application number
KR1020170028644A
Other languages
Korean (ko)
Other versions
KR102050007B1 (en
Inventor
박수용
고동휘
윤인재
Original Assignee
서강대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 서강대학교산학협력단 filed Critical 서강대학교산학협력단
Priority to KR1020170028644A priority Critical patent/KR102050007B1/en
Publication of KR20180102269A publication Critical patent/KR20180102269A/en
Application granted granted Critical
Publication of KR102050007B1 publication Critical patent/KR102050007B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Telephonic Communication Services (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

According to an embodiment of the present invention, a method for supporting an external service based on a block chain comprises the steps of: calling, by a block generation node, an external device by receiving a call command of the external device from a user; receiving, by the block generation node, external response data including a signature from the external device; verifying the signature and storing the external response data in a block to propagate the block to other nodes of a network by the block generation node; and verifying validity of the external response data stored in the block by a block verification node of other nodes receiving the block.

Description

블록체인 기반 외부 서비스 지원 시스템 및 그 방법{SYSTEM AND METHOD FOR SUPPORTING EXTERNAL INTERFACE BASED ON BLOCK CHAIN} TECHNICAL FIELD [0001] The present invention relates to a block chain based external service support system, and more particularly,

본 발명은 블록체인 기반 스마트 계약에서 외부 인터페이스를 위한 분산 합의 시스템 및 그 방법에 관한 것으로, 더욱 상세하게는 블록체인 기반 스마트 계약에서 외부 기기 호출을 가능하게 하는 외부 기기 호출 인터페이스와 공개키 검증을 이용한 블록체인 기반 외부 서비스 지원 시스템 및 그 방법에 관한 것이다.The present invention relates to a distributed agreement system and method for an external interface in a block chain-based smart contract, and more particularly, to a distributed agreement system and method for an external interface in a block chain-based smart contract using an external device call interface and a public key verification Block chain-based external service support system and method thereof.

비트코인은 제3의 신용 보증 기관 없이 디지털로 거래가 가능한 암호화 화폐이다. 비트코인은 거래 결과의 신뢰도를 보장하기 위해 블록체인 구조를 제안하였다. 블록체인을 이용해 비트코인은 거래 무결성 보장 및 거래 명세 조작 방지, 이중 지불 공격(Double Spending Attack) 방지가 되는 암호화 화폐 네트워크를 구성하였다. Bit coin is an encrypted currency that can be digitally traded without a third credit guarantee institution. Bit - coin proposed a block - chain structure to guarantee the reliability of transaction results. Using the block chain, bit coin constitutes an encrypted money network that guarantees transaction integrity, prevents transaction specification manipulation, and prevents double spending attacks.

블록체인은 네트워크의 모든 참여자가 같은 데이터를 가지게 하는 분산 합의 기법이다. 블록체인 아키텍처를 이용해 비트코인은 참여가 자유로운 동등 계층망 구조 네트워크(Peer-to-Peer Network)인 비동기 통신 환경에서 비잔틴 장군 문제를 해결하였다.A block chain is a distributed aggregation scheme that allows all participants in a network to have the same data. Using a block-chain architecture, BitCoin solves the Byzantine general problem in an asynchronous communication environment where peer-to-peer networks are free to participate.

블록체인 네트워크 참여자는 노드 혹은 채굴자(miner)라 불리는 네트워크를 유지하여 보상을 얻는 참여자와 네트워크 유지에는 참여하지 않고 트랜잭션을 보내는 행동만하는 지갑이라 불리는 참여자가 있다. 모든 노드는 블록체인 분산합의에 참여하여 모든 노드가 같은 트랜잭션을 공유한다.A block-chain network participant is a participant who obtains rewards by maintaining a network called a node or miner, and a participant called a wallet which acts to send transactions without participating in network maintenance. All nodes participate in a block chain distributed agreement and all nodes share the same transaction.

블록체인은 데이터 저장 효율성을 위하여 모든 트랜잭션을 독립적으로 저장하는 것이 아닌 블록이라는 데이터 구조에 저장한다. 또한 블록에 저장된 트랜잭션은 순서가 있다. 분산 합의 과정에서 네트워크의 모든 노드는 단위 시간당 하나의 트랜잭션 순서가 있는 블록을 공유하는 방식으로 Atomic broadcast를 구현하였다. 블록체인 각 노드는 도 1에 도시된 바와 같이 블록이 하나로 연결된 구조를 저장하고 있다. A block chain stores all transactions in a data structure called a block, rather than storing them independently for data storage efficiency. Also, the transactions stored in the block are in order. All nodes in the network implement Atomic broadcast in a distributed sharing process by sharing blocks with one transaction sequence per unit time. Each node of the block chain stores a structure in which blocks are connected together as shown in FIG.

한편, 스마트 계약을 통해 많은 서비스를 운용하기 위해서는 블록체인 네트워크 안의 데이터와 서비스뿐만 아니라 인터넷 등 외부에 있는 데이터와 서비스에 접근할 수 있어야 한다. 그러나 현 블록체인 기반 스마트 계약에서는 외부 데이터나 서비스를 호출할 수 없다. 따라서 블록체인에 없는 데이터나 서비스를 사용하려면 블록체인 위에 다시 구축해야 한다. 또한, 블록체인의 데이터는 모두 공개되기 때문에 민감한 정보가 필요한 서비스는 블록체인에서 운용할 수 없다.On the other hand, in order to operate many services through smart contract, it is necessary to access data and services in the block chain network as well as data and services outside the Internet. However, current block chain-based smart contracts can not invoke external data or services. Therefore, if you want to use data or services that are not in a block chain, you need to rebuild it on the block chain. In addition, since all data in the block chain is disclosed, services that require sensitive information can not be operated in a block chain.

종래의 블록체인 기반 스마트 계약에서 외부 기기 호출을 하지 못하는 이유는 스마트 계약을 모든 노드에서 실행하기 때문이다.The reason why the conventional block chain-based smart contract can not make an external device call is because the smart contract is executed by all the nodes.

도 2는 현 블록체인에서 외부 기기를 호출할 경우의 작동 순서를 추상화하여 도시한다. 블록 검증 노드는 실제로는 굉장히 많을 수 있다. 블록생성 노드가 외부 기기를 호출하여 스마트 계약 실행을 완료 시켜 실행 결과를 저장하여 블록 검증 노드에 보내면 블록 검증 노드는 똑같이 스마트 계약을 실행시켜 실행 결과를 확인할 것이다. 현재 비트코인 네트워크의 노드 수는 약 5,000여개이며 이더리움 네트워크 참여자는 약 6,000여 개이다. 스마트 계약에 외부 기기 호출을 허용한다면 외부 기기는 모든 노드의 호출을 감당할 수 있어야 하며 이 과정에서 엄청난 트래픽이 발생한다. 또한 2.2의 응답 결과와 6.2의 응답 결과가 다를 수 있다. 이 경우는 블록체인 분산 합의 자체가 깨질 수 있어 네트워크 안정성에 영향을 줄 수 있다.FIG. 2 shows an operation sequence in the case where an external device is called in the current block chain. Block validation nodes can actually be quite large. When the block generating node completes the smart contract execution by calling the external device, stores the execution result, and sends the result to the block verification node, the block verification node executes the smart contract and confirms the execution result. Currently, there are about 5,000 nodes in the bit coin network and about 6,000 in the Ethernet network participants. If the smart contract allows external device calls, the external device must be able to handle calls to all nodes, and this will generate tremendous traffic. In addition, the results of 2.2 and 6.2 may differ. In this case, the block chain dispersion sum itself may be broken, which may affect the network stability.

앞서 언급한 문제 때문에 블록체인에 데이터가 구축되지 않은 은행 레거시 시스템의 정보를 필요로 서비스나, 블록체인에 데이터나 알고리즘이 공유되면 안되는 신용 평가 서비스, 고객 개인정보가 포함되는 서비스, 외부 기기의 작동을 필요로 하는 외부 기기 실행 서비스, 날씨 보험과 같이 외부 센서의 데이터를 필요로 하는 서비스의 경우 현 블록체인에서 운영할 수 없다.A bank that does not have data in the block chain because of the problems mentioned above, a service that requires information from legacy systems, a credit evaluation service that should not share data or algorithms in the block chain, services that contain customer personal information, Service that requires external sensor data, such as external device execution service or weather insurance, can not be operated in the current block chain.

(논문) “블록체인 기술 개념 및 적용현황”(2016년5월11일, 한국전자통신연구원. 김영삼 외 3인. 정보통신기술진흥센터 p.2~p.12)(Thesis) "Block Chain Technology Concept and Application Status" (May 11, 2016, Korea Electronics and Telecommunications Research Institute, Youngsan Kim et al., Information and Communication Technology Promotion Center, p.2 ~ p.12)

따라서, 본 발명이 해결하고자 하는 과제는 외부기기 호출 불가 문제를 해결하기 위하여 블록 생성 노드와 블록 검증 노드의 트랜잭션 적용 방법을 분리함으로써, 블록 생성 노드는 블록 생성할 때 외부 디바이스 호출 요청이 있으면 직접 호출하고 그 응답을 블록에 저장하고, 외부 디바이스는 공개키 기반 구조로 자신의 응답에 서명하여 보내며, 블록 검증 노드는 공개키 검증을 통해 블록에 저장된 응답이 올바르게 구성되었는지 확인하여 트랜잭션을 검증하는 방법을 통해, 응답 내용을 모든 네트워크가 합의할 수 있고 외부 기기에 발생하는 트래픽을 줄일 수 있는 기술적 수단을 제공하는데 있다.Accordingly, a problem to be solved by the present invention is to separate a block generating node and a transaction applying method of a block verifying node in order to solve a problem that an external device can not be called, so that, when a block generating node generates a block, And the external device sends its signature to the public key infrastructure, and the block verification node verifies the transaction by verifying that the response stored in the block is correctly configured through public key verification. And to provide a technical means by which the response content can be agreed by all networks and reduce the traffic generated in external devices.

본 발명의 일실시 예에 따른 블록체인 기반 외부 서비스 지원방법은 블록 생성 노드가 사용자로부터 외부기기 호출명령을 수신함에 따라 외부기기를 호출하는 단계와, 상기 블록 생성 노드가 상기 외부기기로부터 서명을 포함하는 외부 응답 데이터를 수신하는 단계와, 상기 블록 생성 노드가 상기 서명을 검증하고, 상기 외부 응답 데이터를 블록에 저장하여 네트워크의 다른 노드들에게 상기 블록을 전파하는 단계 및 상기 블록을 전파받은 다른 노드들의 블록 검증 노드가 상기 블록에 저장된 상기 외부 응답 데이터의 유효성을 검증하는 단계를 포함한다. The block chain-based external service support method according to an embodiment of the present invention includes the steps of: calling an external device when the block generating node receives an external device call command from a user; The method comprising: receiving external response data, the block generating node verifying the signature, storing the external response data in a block to propagate the block to other nodes in the network, and transmitting the block to another node And verifying the validity of the external response data stored in the block.

본 발명의 다른 실시 예에 따르면 상기 외부기기를 호출하는 단계는, 외부기기 호출 인터페이스에 따라 외부기기 호출 데이터를 생성하여 상기 외부기기로 전송하고, 상기 외부기기 호출 데이터는 호출 메시지, 현재 생성할 블록 높이, 트랜잭션 해시, 및 트랜잭션 내 호출 순번을 포함하고, 공개키를 동봉한다.According to another embodiment of the present invention, in the step of calling the external device, the external device call data is generated and transmitted to the external device according to the external device call interface, and the external device call data includes a call message, Height, transaction hash, and in-transaction call sequence, and encloses the public key.

본 발명의 다른 실시 예에 따르면 상기 블록 생성 노드가 상기 서명을 검증하고, 상기 외부 응답 데이터를 블록에 저장하는 단계는 각 상기 외부 응답 데이터의 상기 블록 높이를 제거하고, 동일 트랜잭션에서 발생한 응답은 하나의 트랜잭션 해시만 저장하고 나머지 해시는 제거하여 겹치는 데이터를 제거한다.According to another embodiment of the present invention, the block generation node verifies the signature, and the step of storing the external response data in a block includes removing the block height of each external response data, And the remaining hashes are removed to remove the overlapping data.

본 발명의 다른 실시 예에 따르면 상기 호출된 외부기기가 상기 호출 데이터에 상응하는 작업을 수행하는 단계와, 외부 응답 인터페이스에 따라 상기 공개키를 자신의 비밀키로 서명하여 외부 응답 데이터를 생성하는 단계 및 상기 외부 응답 데이터를 상기 블록 생성 노드에 전달하여 호출에 응답하는 단계를 더 포함한다.According to another embodiment of the present invention, the called external device performs an operation corresponding to the call data, signing the public key with its secret key according to an external response interface to generate external response data, And transmitting the external response data to the block generating node to respond to the call.

본 발명의 다른 실시 예에 따르면 상기 블록 검증 노드가 상기 블록에 저장된 상기 외부 응답 데이터의 유효성을 검증하는 단계는, 상기 블록에 저장된 트랜잭션들이 요청하는 스마트 계약을 실행하는 단계 및 상기 스마트 계약 실행 도중 상기 외부기기를 호출하는 명령어에 따라 상기 외부기기를 호출하는 대신, 상기 블록에 저장된 상기 외부 응답 데이터로서 외부기기 호출 인터페이스 및 외부 응답 데이터의 서명을 검증하는 단계를 포함한다.According to another embodiment of the present invention, the step of the block verification node verifying the validity of the external response data stored in the block includes the steps of: executing a smart contract requested by the transactions stored in the block; And verifying the signature of the external device call interface and external response data as the external response data stored in the block instead of calling the external device according to a command to call the external device.

본 발명의 다른 실시 예에 따르면 상기 블록 검증 노드는 상기 외부기기에 대한 호출 인터페이스 및 응답 메시지의 서명이 검증되고, 상기 전파된 블록에 포함된 나머지 트랜잭션을 실행시킨 결과값이 상기 블록에 포함된 트랜잭션 실행 결과값과 일치하면, 상기 해당 블록을 저장하는 단계를 더 포함한다.According to another embodiment of the present invention, the block verification node verifies the signature of the paging interface and the response message to the external device, and when the result of executing the remaining transaction included in the propagated block is a transaction included in the block And storing the corresponding block if it matches the execution result value.

본 발명의 다른 실시 예에 따르면 사용자로부터 외부기기 호출명령을 수신하는 단계는, 상기 사용자로부터 스마트 계약 실행을 위한 트랜잭션을 수신하고, 상기 트랜잭션에서 요청한 스마트 계약의 실행에 관련하여 상기 외부기기 호출명령을 수신한다.According to another embodiment of the present invention, the step of receiving an external device call command from a user includes receiving a transaction for executing a smart contract from the user, and transmitting the external device call command in association with execution of a smart contract requested in the transaction .

본 발명의 실시 예에 따른 블록체인 기반 외부 서비스 지원 시스템은 외부기기를 호출하고, 상기 외부기기로부터 서명을 포함하는 외부 응답 데이터를 수신하며, 상기 서명을 검증하여 상기 외부 응답 데이터를 블록에 저장하고, 네트워크의 다른 노드들에게 상기 블록을 전파하는 블록 생성 노드 및 상기 전파받은 블록에 저장된 상기 외부 응답 데이터의 유효성을 검증하는 것으로 상기 외부기기에 대한 호출을 대체하는 블록 검증 노드를 포함한다.A block chain-based external service support system according to an embodiment of the present invention calls an external device, receives external response data including a signature from the external device, verifies the signature, stores the external response data in a block A block generation node for propagating the block to other nodes of the network, and a block verification node for replacing a call to the external device by verifying the validity of the external response data stored in the propagated block.

본 발명의 다른 실시 예에 따르면 상기 블록 생성 노드는, 외부기기 호출 인터페이스에 따라 외부기기 호출 데이터를 생성하여 상기 외부기기로 전송하고, 상기 외부기기 호출 데이터는 호출 메시지, 현재 생성할 블록 높이, 트랜잭션 해시 및 트랜잭션 내 호출 순번을 포함하고, 공개키를 동봉한다.According to another embodiment of the present invention, the block generation node generates external device call data according to an external device call interface and transmits the external device call data to the external device, and the external device call data includes a call message, Includes the hash and the call sequence number in the transaction, and encloses the public key.

본 발명의 다른 실시 예에 따른 상기 블록 생성 노드는, 상기 서명을 검증하여 상기 외부 응답 데이터를 블록에 저장할 때, 상기 외부 응답 데이터의 블록 높이를 제거하고, 동일 트랜잭션에서 발생한 응답은 하나의 트랜잭션 해시만 저장하고 나머지 해시는 제거하여 겹치는 데이터를 제거한다.The block generation node according to another embodiment of the present invention removes the block height of the external response data when verifying the signature and storing the external response data in a block, and the response generated in the same transaction is a single transaction hash And remove the remaining hashes to remove the overlapping data.

본 발명의 다른 실시 예에 따른 상기 외부기기는 상기 호출 데이터에 상응하는 작업을 수행하고, 외부 응답 인터페이스에 따라 상기 공개키를 자신의 비밀키로 서명하여 외부 응답 데이터를 생성하며, 상기 외부 응답 데이터를 상기 블록 생성 노드에 전달하여 호출에 응답한다.The external device according to another embodiment of the present invention performs an operation corresponding to the paging data, generates external response data by signing the public key with its secret key according to an external response interface, To the block generation node, and responds to the call.

본 발명의 다른 실시 예에 따른 상기 블록 검증 노드는, 상기 블록에 저장된 트랜잭션들이 요청하는 스마트 계약을 실행하는 도중 상기 외부기기를 호출하는 명령어에 따라 상기 외부기기를 호출하는 대신, 상기 블록에 저장된 상기 외부 응답 데이터로서, 외부기기 호출 인터페이스 및 외부 응답 데이터의 서명을 검증한다.The block verification node according to another embodiment of the present invention may be configured such that instead of calling the external device according to a command to call the external device while executing the smart contract requested by the transactions stored in the block, As the external response data, the signature of the external device call interface and the external response data is verified.

본 발명의 다른 실시 예에 따른 상기 블록 검증 노드는 상기 외부기기에 대한 호출 인터페이스 및 응답 메시지의 서명이 검증되고, 상기 전파된 블록에 포함된 나머지 트랜잭션을 실행시킨 결과값이 상기 블록에 포함된 트랜잭션 실행 결과값과 일치하면, 상기 해당 블록을 저장한다.The block verification node according to another embodiment of the present invention verifies the signature of the paging interface and the response message to the external device and verifies whether the result of executing the remaining transaction included in the propagated block is a transaction included in the block And stores the corresponding block if it matches the execution result value.

본 발명의 다른 실시 예에 따른 상기 블록 생성 노드는 상기 사용자로부터 스마트 계약 실행을 위한 트랜잭션을 수신하고, 상기 트랜잭션에서 요청한 스마트 계약의 실행에 관련하여 상기 외부기기 호출명령을 수신한다.The block generation node according to another embodiment of the present invention receives a transaction for executing a smart contract from the user and receives the external device call command in connection with execution of a smart contract requested in the transaction.

본 발명의 일실시 예에 따르면, 외부기기 호출 불가 문제를 해결하기 위하여 블록 생성 노드와 블록 검증 노드의 트랜잭션 적용 방법을 분리함으로써, 블록 생성 노드는 블록 생성할 때 외부 디바이스 호출 요청이 있으면 직접 호출하고 그 응답을 블록에 저장하고, 외부 디바이스는 공개키 기반 구조로 자신의 응답에 서명하여 보내며, 블록 검증 노드는 공개키 검증을 통해 블록에 저장된 응답이 올바르게 구성되었는지 확인하여 트랜잭션을 검증하는 방법을 통해, 응답 내용을 모든 네트워크가 합의할 수 있고 외부 기기에 발생하는 트래픽을 줄일 수 있다.According to an embodiment of the present invention, in order to solve the problem that the external device can not be called, the block generation node separates the transaction application method of the block validation node, so that the block generation node directly calls the external device call request The response is stored in a block, the external device signs and sends its response to the public key infrastructure, and the block verification node verifies the transaction by verifying that the response stored in the block is correctly configured through public key verification. , The response contents can be agreed by all the networks, and the traffic generated in the external device can be reduced.

도 1은 일반적인 블록체인 각 노드의 블록구조를 도시하는 도면이다.
도 2는 종래 블록체인에서 외부 기기를 호출할 경우의 작동 순서를 도시하는 도면이다.
도 3은 종래 트랜잭션을 통한 서비스 응답 방식의 절차를 표시한 순서도이다.
도 4는 현재 서비스되는 블록체인 스마트 계약에서 직접 외부 인터넷 서비스에 호출을 가능하게 해주는 오라클 서비스를 도시한다.
도 5는 본 발명의 일실시예에 따른 블록체인 기반 외부 서비스 지원 시스템의 개략적인 구성과 동작 흐름을 나타내는 도면이다.
도 6은 본 발명의 일실시예에 따른 외부기기 호출 인터페이스를 도시한다.
도 7은 본 발명의 실시 예에 따른 외부 응답 인터페이스를 도시한다.
도 8은 본 발명의 실시 예에 따른 외부기기의 응답 구조를 도시한다.
도 9 내지 도 11은 본 발명의 실시 예에 따른 블록체인 기반 외부 서비스 지원 시스템의 성능을 나타내는 그래프이다.
1 is a diagram showing a block structure of each node in a general block chain.
2 is a diagram showing an operation procedure when an external device is called in a conventional block chain.
3 is a flowchart showing a procedure of a service response method through a conventional transaction.
FIG. 4 illustrates an Oracle service that enables a call to an external Internet service directly from the currently serviced block-chain smart contract.
FIG. 5 is a diagram showing a schematic configuration and operation flow of a block-chain-based external service support system according to an embodiment of the present invention.
6 illustrates an external device call interface according to an embodiment of the present invention.
7 illustrates an external response interface according to an embodiment of the present invention.
8 shows a response structure of an external device according to an embodiment of the present invention.
9 to 11 are graphs illustrating performance of a block-chain-based external service support system according to an embodiment of the present invention.

본 발명의 실시 예들을 설명하기에 앞서, 기존의 블록체인 기반의 외부기기와 통신하는 방식에서 발생하는 문제점들을 검토한 후, 이들 문제점을 해결하기 위해 본 발명의 실시 예들이 채택하고 있는 기술적 수단을 개괄적으로 소개하도록 한다.Prior to describing the embodiments of the present invention, after investigating problems occurring in a method of communicating with an external device based on an existing block chain, technical solutions adopted by embodiments of the present invention to solve these problems This is an overview.

도 3은 트랜잭션을 통한 서비스 응답 방식의 절차를 표시한 순서도이다. 도 3에 도시된 바와 같이 사용자가 스마트 계약 실행을 요청하는 트랜잭션을 보내면 스마트 계약은 외부 기기 호출이 필요한 지점 전까지 스마트 계약을 실행하고, 호출에 필요한 데이터를 저장한다. 외부 기기는 스마트 계약의 상태를 감시(monitoring)한다. 스마트 계약에서 새로운 서비스 요청 데이터가 저장된 것을 파악하면 서비스는 해당 요청에 대한 응답을 트랜잭션을 통해 보낸다. 스마트 계약은 응답을 받으면 그 후에 처리돼야 할 명령어를 처리하고 스마트 계약의 상태를 업데이트한다.3 is a flowchart showing a procedure of a service response method through a transaction. As shown in FIG. 3, when the user sends a transaction requesting execution of a smart contract, the smart contract executes the smart contract until the point where the external device call is required, and stores the data necessary for the call. The external device monitors the status of the smart contract. When a smart contract recognizes that new service request data is stored, the service sends a response to the request through a transaction. When a smart contract receives a response, it processes the instructions that need to be processed afterwards and updates the status of the smart contract.

트랜잭션을 이용한 응답 기법을 이용하여 스마트 계약을 할 경우 적어도 두 개의 블록이 생성되어야 스마트 계약을 완료할 수 있다. 사용자의 첫 스마트 계약호출이 스마트 계약 상태를 변화시키기 위한 하나의 블록이 필요하며 외부 기기가 응답하기 위한 또 하나의 블록이 필요하다. 이러한 방법은 실행 결과가 트랜잭션으로 보장되지 못하고 새로운 요청에 대한 올바른 응답을 준다는 보장을 못해준다.If a smart contract is made using transactional response, at least two blocks must be created before the smart contract can be completed. The user's first smart contract call needs one block to change the smart contract status and another block for the external device to respond. This method does not guarantee that the execution result is not guaranteed by the transaction and gives the correct response to the new request.

또한, 만약 응답 때문에 동적으로 새로운 호출이 생성되는 스마트 계약의 경우 동적으로 생성된 호출 개수만큼의 블록이 추가되어야 서비스가 완료되기 때문에 서비스 응답시간이 늦어지게 된다. Also, in case of smart contract in which a new call is dynamically generated due to the response, the service response time is delayed because the service is completed by adding blocks as many as the number of dynamically generated calls.

따라서, 스마트 계약 작성자로서는 스마트 계약만 작성해서 블록체인에 올리면 개발이 완료되는 것이 아닌, 외부 기기와 블록체인 네트워크를 감시하는 별도의 시스템 구축을 필요로 하는 상황이다.Therefore, as a smart contract writer, it is necessary to construct a separate system that monitors external devices and block-chain networks, rather than completing the development by only creating a smart contract and putting it in a block chain.

한편, 도 4는 현재 서비스되는 블록체인 스마트 계약에서 직접 외부 인터넷 서비스에 호출을 가능하게 해주는 오라클 서비스를 도시한다.Meanwhile, FIG. 4 shows an Oracle service that enables a call to an external Internet service directly in a current block-chain smart contract.

도 4를 참조하면, Oraclize가 동작하는 방식을 나타내고, Oraclize를 통해 인터넷상의 외부서비스를 호출할 수 있음을 알 수 있다.Referring to FIG. 4, it is shown that Oraclize operates and Oraclize can call an external service on the Internet.

Oraclize는 블록체인 네트워크에서 서비스 호출을 모든 네트워크 참여자 수만큼 실행하여 서비스가 과부하되는 것을 막기 위해 대리자를 두어 서비스 호출을 대신 처리한다. Oraclize implements a service call in the block-chain network for as many network participants as possible, so that the service call is handled by placing a delegate to prevent the service from being overloaded.

즉, Oraclize는 인터넷 서비스 호출을 대신 받아주고 Internet Source(인터넷 서비스)에 한 번 접근한다. 이를 통해 외부 기기에 과도한 부하가 발생하는 것을 방지하며 모든 네트워크 참여자들이 같은 서비스 응답을 가질 수 있게 하였다.In other words, Oraclize accepts Internet service calls instead and accesses Internet Source once. This prevents excessive load on external devices and allows all network participants to have the same service response.

그러나, Oraclize는 외부 기기 부하를 자신의 서비스에 대한 부하로 전환 시켰을 뿐 근본적 해결책을 제시하지는 못했다. Oraclize는 서비스 부하에 대한 보상으로 사용자들에게 호출 수수료를 받는다. 또한, 모든 외부 기기 호출을 Oraclize를 통해 하는 중앙화된 서비스이다. 모든 서비스 호출이 Oraclize 거치기 때문에 Oraclize에 장애가 생기면 모든 서비스 호출에 문제가 생길 수 있다.However, Oraclize has turned the external device load into a load on its own service, but has not offered a fundamental solution. Oraclize receives a call fee for users as compensation for service load. It is also a centralized service that makes all external device calls through Oraclize. If all the service calls go through Oraclize and Oraclize fails, there may be problems with all service calls.

예를 들어, Oraclize 서비스가 공격당해 내용을 조작하거나, 작동을 중단하면 Oraclize를 통해 외부 기기를 호출하는 모든 서비스에 문제가 생길 것이다.For example, if the Oraclize service manipulates the content of an attack or stops working, it will cause problems with any service that calls an external device through Oraclize.

따라서, 본 발명의 실시 예는 종래에 블록체인 기반 스마트 계약이 외부 기기를 직접 호출하지 못하는 문제를 해결하기 위한 기술적 수단을 제안한다. 이를 위해, 본 발명의 실시 예는 블록 생성 노드만 외부기기를 직접 호출하고, 블록 검증 노드에서는 응답 데이터의 유효성만 검증하는 새로운 분산 합의 기법과 이에 필요한 외부 기기 호출 인터페이스를 개시한다. Therefore, the embodiment of the present invention proposes a technical means for solving the problem that the block-chain-based smart contract can not directly call an external device. To this end, the embodiment of the present invention discloses a new distributed summing technique for only calling an external device directly to a block generating node, and verifying only the validity of response data in a block validating node, and an external device calling interface required for this.

이하에서는 도면을 참조하여 본 발명의 실시 예들을 구체적으로 설명하도록 한다. 다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In the following description and the accompanying drawings, detailed description of well-known functions or constructions that may obscure the subject matter of the present invention will be omitted. It is to be noted that the same constituent elements are denoted by the same reference numerals as possible throughout the drawings.

도 5는 본 발명의 일실시예에 따른 블록체인 기반 외부 서비스 지원 시스템의 개략적인 구성과 동작 흐름을 나타내는 도면이다.FIG. 5 is a diagram showing a schematic configuration and operation flow of a block-chain-based external service support system according to an embodiment of the present invention.

도 5를 참조하면, 먼저 블록체인 기반 외부 서비스 지원 시스템은 블록 생성 노드(510) 및 블록 검증 노드(530)를 포함하여 구성된다.Referring to FIG. 5, a block chain-based external service support system includes a block generation node 510 and a block verification node 530.

블록 생성 노드(510)는 외부기기(550)를 호출하고, 외부기기(550)로부터 서명을 포함하는 외부 응답 데이터를 수신하며, 상기 서명을 검증하여 상기 외부 응답 데이터를 블록에 저장하고, 네트워크의 다른 노드들에게 상기 블록을 전파한다.The block generation node 510 calls the external device 550, receives external response data including a signature from the external device 550, verifies the signature, stores the external response data in a block, And propagates the block to other nodes.

블록 생성 노드(510)는 도 6에 도시된 외부기기 호출 인터페이스에 따라 외부기기 호출 데이터를 생성하여 외부기기(550)로 전송하고, 외부기기 호출 데이터는 호출 메시지, 현재 생성할 블록 높이, 트랜잭션 해시 및 트랜잭션 내 호출 순번을 포함하고, 공개키를 동봉한다.The block generation node 510 generates external device call data according to the external device call interface shown in FIG. 6 and transmits the external device call data to the external device 550. The external device call data includes a call message, a block height to be generated, And a call sequence number within the transaction, and encloses the public key.

블록 높이와 트랜잭션 해시를 통해 어떤 트랜잭션에서 호출했는지 알 수 있으며 호출 순번은 같은 트랜잭션에서 몇 번째 호출인지 알 수 있게 해준다. 블록 체인 네트워크는 악의적인 노드의 공격을 막을 수 있어야 하므로 외부 기기(550)는 해당 노드가 악의적인 노드가 원하는 결과가 올 때까지 호출을 반복하는 것을 알 수 있어야 한다. 본 발명에서 호출 인터페이스는 이런 것들을 구분할 수 있다. 또한, 스마트 계약에서 알고 있는 공개키를 동봉하였기 때문에 다른 기기를 호출하고 응답을 저장하는 것을 방지할 수 있다.The block height and transaction hash let you know what transaction was called and the call sequence number tells you how many calls are in the same transaction. Since the block-chain network should be able to prevent the malicious node from attacking, the external device 550 must know that the malicious node repeats the call until the malicious node reaches the desired result. The call interface in the present invention can distinguish between these. In addition, since the public key known in the smart contract is enclosed, it is possible to prevent other devices from being called and storing the response.

블록 생성 노드(510)는 외부 기기(550)로부터 수신된 서명을 검증하여 외부 응답 데이터를 블록에 저장할 때, 상기 외부 응답 데이터의 블록 높이를 제거하고, 동일 트랜잭션에서 발생한 응답은 하나의 트랜잭션 해시만 저장하고 나머지 해시는 제거하여 겹치는 데이터를 제거한다.When the block generation node 510 verifies the signature received from the external device 550 and stores the external response data in the block, the block generation node 510 removes the block height of the external response data, and the response generated in the same transaction is a single transaction hash And remove the remaining hashes to remove the overlapping data.

블록 검증 노드(530)는 전파받은 블록에 저장된 상기 외부 응답 데이터의 유효성을 검증하는 것으로 외부기기에 대한 호출을 대체한다. 그리고, 블록 검증 노드(530)는 외부기기(550)에 대한 호출 인터페이스 및 응답 메시지의 서명이 검증되고, 상기 전파된 블록에 포함된 나머지 트랜잭션을 실행시킨 결과값이 상기 블록에 포함된 트랜잭션 실행 결과값과 일치하면, 상기 해당 블록을 저장한다.The block verification node 530 replaces the call to the external device by verifying the validity of the external response data stored in the propagated block. The block verification node 530 verifies the signature of the paging interface and the response message to the external device 550. If the result of executing the remaining transactions included in the propagated block is the transaction execution result Value, the corresponding block is stored.

도 7은 본 발명의 실시 예에 따른 외부 응답 인터페이스를 도시한다. 블록 생성 노드(510)가 외부 응답 인터페이스를 블록에 저장하면 블록 검증 노드(530)가 이 데이터를 검증한다. 따라서 블록 생성 노드(510)가 기기의 응답을 조작할 수 없어야 하며 블록 검증 노드(530)는 올바른 기기에서 온 데이터이며 올바른 호출 데이터에 대한 응답인지 확인할 수 있어야 한다. 외부 응답 인터페이스에는 블록 생성 노드(510)가 보낸 호출 데이터와 외부 기기(550)가 보낸 외부 응답 메시지 및 서명이 동봉되어 있다. 블록 검증 노드(530)는 서명 검증을 통해 올바른 기기에서 나온 데이터가 맞는지 올바른 호출 데이터에 대한 응답이 맞는지 검증할 수 있다.7 illustrates an external response interface according to an embodiment of the present invention. When the block generation node 510 stores the external response interface in the block, the block verification node 530 verifies the data. Thus, the block generation node 510 should not be able to manipulate the device response and the block verification node 530 should be able to verify that the data is from the correct device and that it is a response to the correct call data. In the external response interface, the call data sent from the block generation node 510, the external response message sent from the external device 550, and the signature are enclosed. The block verification node 530 can verify whether the data from the correct device is correct or not by correcting the response to the correct call data through signature verification.

한편, 본 발명에서 외부 기기(550)는 비대칭 키 쌍을 가지고 있어야 한다. 블록체인 네트워크의 블록 생성 노드(510)가 외부 기기(550)에 요청을 보낼 경우 요청에 대한 응답을 자신의 비밀키로 서명하여 보낸다. 블록 생성 노드(510)는 외부 기기(550)에서 수신된 모든 응답을 블록에 저장하여 네트워크에 전파하고, 블록 검증 노드(530)는 검증 시 블록의 모든 응답을 검증하는 것으로 호출을 대체한다.In the present invention, the external device 550 must have an asymmetric key pair. When the block generation node 510 of the block-chain network sends a request to the external device 550, the response to the request is signed with its own secret key. The block generation node 510 stores all the responses received from the external device 550 in blocks and propagates them to the network, and the block verification node 530 replaces the call by verifying all responses of the block at the time of verification.

이하, 도 5를 참조하여 블록체인 기반 외부 서비스 지원 방법에 대해 설명하기로 한다.Hereinafter, a block chain-based external service support method will be described with reference to FIG.

사용자가 스마트 계약 실행을 위해 트랜잭션을 보내면(1), 블록 생성 노드(510)는 블록 생성을 위해 트랜잭션을 모은다(2). 그 후 블록 생성 노드(510)는 실행 결과를 만들어 블록에 저장하기 위해 트랜잭션에서 요청한 스마트 계약을 실행한다(3). 도 5에서 3의 하위 과정은 스마트 계약 실행 중 외부 기기 호출 명령을 대면했을 때(3.1) 수행하는 외부 기기 호출 과정을 나타낸다. When the user sends a transaction for smart contract execution (1), the block generation node 510 collects the transaction for block generation (2). The block generation node 510 then executes the smart contract requested in the transaction to create the execution result and store it in the block (3). In FIG. 5, the sub-process 3 indicates an external device call process performed when the external device call command is encountered during the smart contract execution (3.1).

블록 생성 노드(510)는 호출 명령에 따라 도 6에 도시된 호출 인터페이스에 따라 호출 데이터를 생성하여 외부기기를 호출한다(3.2). 여기서, 호출 데이터는 호출 메시지, 현재 생성할 블록 높이, 트랜잭션 해시, 및 트랜잭션 내 호출 순번을 포함하고, 공개키를 동봉한다.The block generation node 510 generates call data according to the call interface shown in FIG. 6 according to the call command and calls an external device (3.2). Here, the call data includes a call message, a block height to be generated at present, a transaction hash, and a call sequence number in a transaction, and encloses a public key.

외부 기기(550)는 호출 데이터에 따라 알맞은 작업을 수행하고(3.3), 호출 정보와 묶어 서명하여 응답 인터페이스에 따라 외부 응답 데이터를 생성하고 이를 이용하여 블록 생성 노드(510)에 응답한다(3.4). 구체적으로, 외부 기기(550)는 외부 응답 인터페이스에 따라 상기 공개키를 자신의 비밀키로 서명하여 외부 응답 데이터를 생성하고, 이를 블록 생성 노드(510)에 전송한다.The external device 550 performs an appropriate operation according to the paging data (3.3), and signs and signs the paging information to generate external response data according to the response interface, and responds to the block generating node 510 using the external response data (3.4) . Specifically, the external device 550 generates the external response data by signing the public key with its secret key according to the external response interface, and transmits the external response data to the block generating node 510.

블록 생성 노드(510)는 해당 서명이 올바른지 검증하여 블록에 저장한다(3.5). 그 후 네트워크의 다른 노드들에 블록을 전파한다(4).The block generation node 510 verifies whether the signature is correct and stores it in the block (3.5). It then propagates the block to other nodes in the network (4).

도 8은 과정 (2)가 끝나고 완성된 블록에 저장되는 응답 구조를 도시한다. 이때 저장 효율성을 위해 각 응답의 블록 높이를 제거하고, 같은 트랜잭션에서 발생한 응답은 하나의 트랜잭션 해시만 저장하고 나머지 해시는 제거한다. 이러한 구조를 통해 겹치는 데이터를 제거하여 저장 효율성을 증가시킬 수 있다.FIG. 8 shows a response structure in which the process (2) ends and is stored in the completed block. At this time, the block height of each response is removed for storage efficiency, and the response generated in the same transaction stores only one transaction hash and removes the remaining hash. Such a structure can increase the storage efficiency by eliminating overlapping data.

도 5의 과정 (5)는 블록 검증 노드(530)가 새로운 블록을 받고 검증하는 과정을 도시한다. 블록 검증 노드(530)는 블록에 저장된 스마트 계약의 실행 결과가 올바른지 확인하기 위해 새로운 블록을 전파 받으면 블록에 저장된 트랜잭션들이 요청하는 스마트 계약을 실행한다(5). The process (5) of FIG. 5 shows a process in which the block verification node 530 receives and verifies a new block. The block verification node 530 executes the smart contract requested by the transactions stored in the block if the new block is propagated to confirm that the execution result of the smart contract stored in the block is correct (5).

스마트 계약 실행 도중 외부 기기를 호출하는 명령어를 대면하면(5.1), 블록 검증 노드(530)는 외부 기기 호출을 하는 대신 블록에 저장된 외부 응답 데이터를 검증한다(5.2). 이를 위해 호출 인터페이스가 올바른지 검증하고, 응답 메시지의 서명이 올바른지 검증한다.(5.1), the block verification node (530) verifies the external response data stored in the block (5.2) instead of calling the external device. To do this, verify that the calling interface is correct and verify that the response message is signed correctly.

과정 (5)를 통해 트랜잭션 검증이 완료되면 해당 블록을 저장한다(6). 구체적으로, 블록 검증 노드(530)는 외부기기(550)에 대한 호출 인터페이스 및 응답 메시지의 서명이 검증되고, 상기 전파된 블록에 포함된 나머지 트랜잭션을 실행시킨 결과값이 상기 블록에 포함된 트랜잭션 실행 결과값과 일치하면, 상기 해당 블록을 저장한다.When the transaction verification is completed through the process (5), the corresponding block is stored (6). Specifically, the block verification node 530 verifies the signature of the paging interface and the response message to the external device 550, and verifies whether the result of executing the remaining transaction included in the propagated block is a transaction execution If it matches the result value, the corresponding block is stored.

도 9 내지 도 11은 본 발명의 실시 예에 따른 블록체인 기반 외부 서비스 지원 시스템의 성능을 나타내는 그래프이다.9 to 11 are graphs illustrating performance of a block-chain-based external service support system according to an embodiment of the present invention.

실험은 노드 5, 10, 15개에 대해 블록 10개를 만드는 작업을 수행하였고, 블록 10개 생성 완료 시간과 네트워크 트래픽을 비교하였다. 각 블록 처리 시에 블록 생성 규칙에 따라 6개의 트랜잭션을 처리하며 각각의 트랜잭션은 외부 기기 호출을 6번씩 요청한다. 외부 기기는 호출 한번 당 SHA256 해시를 10번 돌린 결과값을 응답한다.Experiments were performed to create 10 blocks for nodes 5, 10, and 15, and the network completion time and the completion time of 10 blocks were compared. Each block processes 6 transactions according to the block generation rule, and each transaction requests an external device call 6 times. The external device responds to the result of turning the SHA256 hash 10 times per call.

도 9는 Oraclize와 본 발명의 실시예에 의한 블록체인 기반 외부 서비스 지원 시스템의 트랜잭션 처리 완료 시간을 비교한 그래프를 도시한다. 도 9의 그래프를 참조하면, 블록체인 네트워크에서의 트랜잭션 처리 완료는 해당 트랜잭션 요청에 대한 올바른 결괏값이 모든 블록에 전파되었음을 의미한다. 마지막 블록이 생성된 시간에서 처음 트랜잭션을 요청한 시간을 트랜잭션 처리 완료 시간으로 계산한다. 모든 노드의 평균 트랜잭션 처리 완료 시간을 계산하였다.9 is a graph showing a comparison of transaction completion time of Oraclize with the block chain-based external service support system according to the embodiment of the present invention. Referring to the graph of FIG. 9, the completion of the transaction processing in the block-chain network means that the correct defect value for the corresponding transaction request is propagated to all the blocks. The time at which the first transaction is requested at the time the last block is created is calculated as the transaction completion time. The average transaction completion time of all nodes was calculated.

본 발명의 실시 예에 따른 블록체인 기반 외부 서비스 지원 시스템이 기존 Oraclize 보다 약 54% 정도 성능이 향상됨을 보여 주고 있다. Oraclize를 통한 서비스 호출은 Oraclize 서버에 직접 메시지를 보내어 응답 결과를 받아 블록을 검증해야 하지만 본 발명에서 블록에 저장된 내용의 공개키를 검증하는 방법은 특정 시스템에 트래픽을 일으키지 않고 직접 공개키 검증을 하므로 성능을 향상시킬 수 있다. It is shown that the block chain-based external service support system according to the embodiment of the present invention improves performance by about 54% compared to the existing Oraclize. In the service call through Oracle, the message is directly sent to the Oraclize server, and the block is verified by receiving the response result. However, in the present invention, the method of verifying the public key of the contents stored in the block is a direct public key verification without causing traffic to a specific system Performance can be improved.

도 10은 블록체인 네트워크에서 호출하는 외부 기기들에 발생하는 트래픽 양을 노드 개수 별로 나타낸 그래프이다. 트래픽 양은 각 기기에 들어오고 나오는 모든 데이터를 합쳐 바이트 단위로 표시하였다. 그래프에서 나타나듯이 두 기법 모두 기기에서 발생하는 트래픽은 거의 같다. 이는 두 기법 모두 외부 기기를 단 한 번만 호출하게 하는 기법이기 때문이다. 10 is a graph showing the amount of traffic generated in external devices called in a block-chain network by the number of nodes. The amount of traffic is summed up in bytes for all data coming in and out of each device. As shown in the graph, the traffic generated by both devices is almost the same. This is because both techniques call the external device only once.

그러나 Oraclize 서비스에서는 엄청난 트래픽이 발생하는데 이는 Oraclize 서비스가 모든 노드의 호출을 받고 모든 노드들에게 올바른 응답을 하기 때문이다. 모든 노드의 요청을 받고 모든 노드에게 응답을 보내기 때문에 노드 수에 비례해 트래픽 양이 증가한다. 노드 수가 많아질수록 Oraclize 서비스 부담이 커질 것이다.However, the Oraclize service generates tremendous traffic because the Oraclize service receives calls from all nodes and responds correctly to all nodes. The amount of traffic increases in proportion to the number of nodes because it receives the request of all nodes and sends a response to all nodes. As the number of nodes increases, the Oraclize service burden will increase.

도 11은 블록체인 네트워크 참여 노드들의 트래픽 양을 비교한 그래프를 도시한다. 도 11을 참조하면, 노드의 평균 트래픽 양이 Oraclize쪽이 더 높은 이유는 각각의 노드가 모두 Oraclize와 통신을 하기 때문이다. 블록 검증마다 모든 노드가 Oraclize와 통신을 하므로 상당히 높게 나온다. 본 발명에서 제안하는 기법에 비해 노드 별로 4배 이상 많은 트래픽이 발생한다. 노드 수가 적을수록 살짝 더 트래픽이 높게 나오는데 이는 블록을 10개만 만들기 때문에 하나의 노드가 만드는 블록의 양이 더 많으므로 평균 트래픽 양이 더 높게 나오는 것이다.11 shows a graph comparing the amount of traffic of the block-chain network participating nodes. Referring to FIG. 11, the average traffic amount of the nodes is higher because the nodes are all communicating with Oraclize. Every block verifies that all nodes communicate with Oraclize, which is quite high. Compared to the scheme proposed in the present invention, traffic is generated four times more than the number of nodes. The smaller the number of nodes, the higher the traffic volume. This is because the number of blocks created by one node is higher because the number of blocks is only 10, so the average traffic volume is higher.

한편, 블록체인 네트워크의 악의적인 노드는 블록체인 스마트 계약과 외부 기기 간 인터페이스의 보안 취약점을 이용하여 응답 내용을 조작하거나 이전의 응답 내용을 필요할 때 재사용 하려고 시도할 수 있다.On the other hand, a malicious node in a block-chain network may attempt to manipulate the response content or attempt to reuse the previous response content when needed, using security weaknesses of the interface between the block-chain smart contract and the external device.

먼저 악의적인 노드가 응답 내용을 조작하려고 할 수 있다. 그러나 본 발명에 의한 블록체인 기반 외부 서비스 지원 시스템은 외부 기기 호출 시 사전에 공개키를 기입하여 호출하고 응답에는 그 공개키에 해당하는 서명이 있어야 한다. 따라서 악의적인 노드가 필요한 응답을 만드는 것은 불가능하다.First, the malicious node may try to manipulate the response. However, in the block chain-based external service support system according to the present invention, a public key is written and called in advance when an external device is invoked, and a response must have a signature corresponding to the public key. It is therefore impossible to create a response that requires malicious nodes.

또한 악의적인 노드가 경제적 이득을 위해 이전에 사용하였던 응답을 재사용하려고 시도 할 수 있다. 그러나 응답에는 호출 데이터 전체에 대한 서명이 들어있고 따라서 서명은 호출 데이터에 따라 바뀐다. 다른 호출에는 다른 서명 데이터가 나올 수 밖에 없다. 또한 호출에는 만드려는 블록의 높이, 트랜잭션 해시, 트랜잭션 내 호출 순번이 기입되어 있고 블록 검증 노드들은 호출 데이터가 자신들이 생성한 호출 데이터와 같은지 검증하기 때문에 이전에 사용했던 응답을 다시 사용할 수 없다.A malicious node may also attempt to reuse a previously used response for economic gain. However, the response contains a signature for the entire call data and therefore the signature changes depending on the call data. Other calls will have different signature data. The call also contains the height of the block to be created, the transaction hash, and the sequence number of the call in the transaction, and the block verification nodes can not reuse the previously used response because they verify that the call data is the same as the call data they generated.

악의적인 노드가 원하는 응답을 얻을 때까지 호출을 계속 시도할 수도 있다. 이 경우 블록체인 자체에서는 막을 수 없지만 호출 인터페이스는 유일하기 때문에 외부 기기에서 같은 호출이 반복해서 들어왔을 경우 저장한 데이터를 다시 재전송 하거나 같은 호출에는 다시 응답하지 않는 방식으로 대응할 수 있다.The malicious node may continue to attempt to make a call until the desired response is obtained. In this case, the block chain itself can not be blocked, but the call interface is unique. Therefore, if the same call is repeatedly received from an external device, the stored data can be retransmitted again or the response can be made to the same call again.

본 발명의 일실시 예에 따르면, 외부기기 호출 불가 문제를 해결하기 위하여 블록 생성 노드와 블록 검증 노드의 트랜잭션 적용 방법을 분리함으로써, 블록 생성 노드는 블록 생성할 때 외부 디바이스 호출 요청이 있으면 직접 호출하고 그 응답을 블록에 저장하고, 외부 디바이스는 공개키 기반 구조로 자신의 응답에 서명하여 보내며, 블록 검증 노드는 공개키 검증을 통해 블록에 저장된 응답이 올바르게 구성되었는지 확인하여 트랜잭션을 검증하는 방법을 통해, 응답 내용을 모든 네트워크가 합의할 수 있고 외부 기기에 발생하는 트래픽을 줄일 수 있다.According to an embodiment of the present invention, in order to solve the problem that the external device can not be called, the block generation node separates the transaction application method of the block validation node, so that the block generation node directly calls the external device call request The response is stored in a block, the external device signs and sends its response to the public key infrastructure, and the block verification node verifies the transaction by verifying that the response stored in the block is correctly configured through public key verification. , The response contents can be agreed by all the networks, and the traffic generated in the external device can be reduced.

한편, 본 발명의 실시 예들은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.Meanwhile, the embodiments of the present invention can be embodied as computer readable codes on a computer readable recording medium. A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored.

컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등의 형태로 구현하는 것을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의하여 용이하게 추론될 수 있다.Examples of the computer-readable recording medium include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like. In addition, the computer-readable recording medium may be distributed over network-connected computer systems so that computer readable codes can be stored and executed in a distributed manner. In addition, functional programs, codes, and code segments for implementing the present invention can be easily deduced by programmers skilled in the art to which the present invention belongs.

이상에서 본 발명에 대하여 그 다양한 실시 예들을 중심으로 살펴보았다. 본 발명에 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.The present invention has been described above with reference to various embodiments. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is defined by the appended claims rather than by the foregoing description, and all differences within the scope of equivalents thereof should be construed as being included in the present invention.

500: 블록체인 기반 외부 서비스 지원 시스템
510: 블록 생성 노드
530: 블록 검증 노드
550: 외부 기기
500: Block Chain Based External Service Support System
510: Block Generation Node
530: block verification node
550: External device

Claims (15)

블록 생성 노드가 사용자로부터 외부기기 호출명령을 수신함에 따라 외부기기를 호출하는 단계;
상기 블록 생성 노드가 상기 외부기기로부터 서명을 포함하는 외부 응답 데이터를 수신하는 단계;
상기 블록 생성 노드가 상기 서명을 검증하고, 상기 외부 응답 데이터를 블록에 저장하여 네트워크의 다른 노드들에게 상기 블록을 전파하는 단계; 및
상기 블록을 전파받은 다른 노드들의 블록 검증 노드가 상기 블록에 저장된 상기 외부 응답 데이터의 유효성을 검증하는 단계;를 포함하는, 블록체인 기반 외부 서비스 지원방법.
Calling an external device upon receiving an external device call command from a user;
The block generating node receiving external response data including a signature from the external device;
The block generating node verifying the signature, storing the external response data in a block, and propagating the block to other nodes in the network; And
And verifying the validity of the external response data stored in the block by a block verification node of other nodes that have propagated the block.
제 1 항에 있어서,
상기 외부기기를 호출하는 단계는,
외부기기 호출 인터페이스에 따라 외부기기 호출 데이터를 생성하여 상기 외부기기로 전송하고,
상기 외부기기 호출 데이터는 호출 메시지, 현재 생성할 블록 높이, 트랜잭션 해시, 및 트랜잭션 내 호출 순번을 포함하고, 공개키를 동봉하는, 블록체인 기반 외부 서비스 지원방법.
The method according to claim 1,
The step of calling the external device comprises:
Generates external device call data according to an external device call interface, and transmits the external device call data to the external device,
Wherein the external device call data includes a call message, a block height to be generated at present, a transaction hash, and a call sequence number in a transaction, and the public key is enclosed.
제 2 항에 있어서,
상기 블록 생성 노드가 상기 서명을 검증하고, 상기 외부 응답 데이터를 블록에 저장하는 단계는,
각 상기 외부 응답 데이터의 상기 블록 높이를 제거하고, 동일 트랜잭션에서 발생한 응답은 하나의 트랜잭션 해시만 저장하고 나머지 해시는 제거하여 겹치는 데이터를 제거하는, 블록체인 기반 외부 서비스 지원방법.
3. The method of claim 2,
Wherein the step of verifying the signature by the block generation node and storing the external response data in a block comprises:
Wherein the block height of each of the external response data is removed, and a response generated in the same transaction is stored in only one transaction hash, and the remaining hashes are removed to remove the overlapping data.
제 2 항에 있어서,
상기 호출된 외부기기가,
상기 호출 데이터에 상응하는 작업을 수행하는 단계;
외부 응답 인터페이스에 따라 상기 공개키를 자신의 비밀키로 서명하여 외부 응답 데이터를 생성하는 단계; 및
상기 외부 응답 데이터를 상기 블록 생성 노드에 전달하여 호출에 응답하는 단계;를 더 포함하는, 블록체인 기반 외부 서비스 지원방법.
3. The method of claim 2,
Wherein the called external device,
Performing an operation corresponding to the call data;
Signing the public key with its private key according to an external response interface to generate external response data; And
And forwarding the external response data to the block generation node to respond to the call.
제 1 항에 있어서,
상기 블록 검증 노드가 상기 블록에 저장된 상기 외부 응답 데이터의 유효성을 검증하는 단계는,
상기 블록에 저장된 트랜잭션들이 요청하는 스마트 계약을 실행하는 단계; 및
상기 스마트 계약 실행 도중 상기 외부기기를 호출하는 명령어에 따라 상기 외부기기를 호출하는 대신, 상기 블록에 저장된 상기 외부 응답 데이터로서 외부기기 호출 인터페이스 및 외부 응답 데이터의 서명을 검증하는 단계;를 포함하는, 블록체인 기반 외부 서비스 지원방법.
The method according to claim 1,
Wherein validating the external response data stored in the block by the block verification node comprises:
Executing a smart contract requesting transactions stored in the block; And
And verifying the signature of the external device call interface and the external response data as the external response data stored in the block instead of calling the external device according to a command to call the external device during execution of the smart contract. A block chain based external service support method.
제 5 항에 있어서,
상기 블록 검증 노드는 상기 외부기기에 대한 호출 인터페이스 및 응답 메시지의 서명이 검증되고, 상기 전파된 블록에 포함된 나머지 트랜잭션을 실행시킨 결과값이 상기 블록에 포함된 트랜잭션 실행 결과값과 일치하면, 상기 해당 블록을 저장하는 단계를 더 포함하는, 블록체인 기반 외부 서비스 지원방법.
6. The method of claim 5,
The block verification node verifies the signature of the call interface and response message to the external device, and if the result of executing the remaining transactions included in the propagated block matches the transaction execution result value included in the block, Further comprising the step of storing the block.
제 1 항에 있어서,
상기 사용자로부터 외부기기 호출명령을 수신하는 단계는,
상기 사용자로부터 스마트 계약 실행을 위한 트랜잭션을 수신하고, 상기 트랜잭션에서 요청한 스마트 계약의 실행에 관련하여 상기 외부기기 호출명령을 수신하는, 블록체인 기반 외부 서비스 지원방법.
The method according to claim 1,
The step of receiving an external device call command from the user comprises:
Receiving a transaction for smart contract execution from the user and receiving the external device call command in connection with execution of a smart contract requested in the transaction.
제 1 항 내지 제 7 항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램이 기록된 컴퓨터 판독가능 기록매체.A computer-readable recording medium storing a program for causing a computer to execute the method according to any one of claims 1 to 7. 외부기기를 호출하고, 상기 외부기기로부터 서명을 포함하는 외부 응답 데이터를 수신하며, 상기 서명을 검증하여 상기 외부 응답 데이터를 블록에 저장하고, 네트워크의 다른 노드들에게 상기 블록을 전파하는 블록 생성 노드; 및
상기 전파받은 블록에 저장된 상기 외부 응답 데이터의 유효성을 검증하는 것으로 상기 외부기기에 대한 호출을 대체하는 블록 검증 노드;를 포함하는, 블록체인 기반 외부 서비스 지원 시스템.
Receiving an external response data including a signature from the external device, verifying the signature, storing the external response data in a block, and transmitting the block to other nodes of the network, ; And
And a block verification node for replacing a call to the external device by verifying the validity of the external response data stored in the propagated block.
제 9 항에 있어서,
상기 블록 생성 노드는,
외부기기 호출 인터페이스에 따라 외부기기 호출 데이터를 생성하여 상기 외부기기로 전송하고,
상기 외부기기 호출 데이터는 호출 메시지, 현재 생성할 블록 높이, 트랜잭션 해시 및 트랜잭션 내 호출 순번을 포함하고, 공개키를 동봉하는, 블록체인 기반 외부 서비스 지원 시스템.
10. The method of claim 9,
Wherein the block generation node comprises:
Generates external device call data according to an external device call interface, and transmits the external device call data to the external device,
Wherein the external device call data includes a call message, a block height to be currently generated, a transaction hash, and a call sequence number in a transaction, and the public key is enclosed.
제 10 항에 있어서,
상기 블록 생성 노드는,
상기 서명을 검증하여 상기 외부 응답 데이터를 블록에 저장할 때, 상기 외부 응답 데이터의 블록 높이를 제거하고, 동일 트랜잭션에서 발생한 응답은 하나의 트랜잭션 해시만 저장하고 나머지 해시는 제거하여 겹치는 데이터를 제거하는, 블록체인 기반 외부 서비스 지원 시스템.
11. The method of claim 10,
Wherein the block generation node comprises:
Wherein when the signature is verified and the external response data is stored in a block, a block height of the external response data is removed, a response generated in the same transaction is stored in only one transaction hash, and the remaining hashes are removed, Block Chain Based External Service Support System.
제 10 항에 있어서,
상기 외부기기는,
상기 호출 데이터에 상응하는 작업을 수행하고, 외부 응답 인터페이스에 따라 상기 공개키를 자신의 비밀키로 서명하여 외부 응답 데이터를 생성하며, 상기 외부 응답 데이터를 상기 블록 생성 노드에 전달하여 호출에 응답하는, 블록체인 기반 외부 서비스 지원 시스템.
11. The method of claim 10,
The external device
Generating an external response data by signing the public key with its own secret key according to an external response interface, transmitting the external response data to the block generating node, and responding to the call, Block Chain Based External Service Support System.
제 9 항에 있어서,
상기 블록 검증 노드는,
상기 블록에 저장된 트랜잭션들이 요청하는 스마트 계약을 실행하는 도중 상기 외부기기를 호출하는 명령어에 따라 상기 외부기기를 호출하는 대신, 상기 블록에 저장된 상기 외부 응답 데이터로서, 외부기기 호출 인터페이스 및 외부 응답 데이터의 서명을 검증하는, 블록체인 기반 외부 서비스 지원 시스템.
10. The method of claim 9,
The block verification node comprising:
Instead of calling the external device in response to a command to call the external device while executing the smart contract requested by the transactions stored in the block, the external response data stored in the block includes the external device call interface and external response data An external service support system based on block chaining to verify signatures.
제 13 항에 있어서,
상기 블록 검증 노드는,
상기 외부기기에 대한 호출 인터페이스 및 응답 메시지의 서명이 검증되고, 상기 전파된 블록에 포함된 나머지 트랜잭션을 실행시킨 결과값이 상기 블록에 포함된 트랜잭션 실행 결과값과 일치하면, 상기 해당 블록을 저장하는, 블록체인 기반 외부 서비스 지원 시스템.
14. The method of claim 13,
The block verification node comprising:
The signature of the call interface and the response message to the external device is verified and if the result of executing the remaining transactions included in the propagated block coincides with the transaction execution result value included in the block, , Block chain based external service support system.
제 9 항에 있어서,
상기 블록 생성 노드는,
상기 사용자로부터 스마트 계약 실행을 위한 트랜잭션을 수신하고, 상기 트랜잭션에서 요청한 스마트 계약의 실행에 관련하여 상기 외부기기 호출명령을 수신하는, 블록체인 기반 외부 서비스 지원 시스템.
10. The method of claim 9,
Wherein the block generation node comprises:
Receive a transaction for smart contract execution from the user and receive the external device call command in connection with execution of a smart contract requested in the transaction.
KR1020170028644A 2017-03-07 2017-03-07 System and method for supporting external interface based on block chain KR102050007B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170028644A KR102050007B1 (en) 2017-03-07 2017-03-07 System and method for supporting external interface based on block chain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170028644A KR102050007B1 (en) 2017-03-07 2017-03-07 System and method for supporting external interface based on block chain

Publications (2)

Publication Number Publication Date
KR20180102269A true KR20180102269A (en) 2018-09-17
KR102050007B1 KR102050007B1 (en) 2020-01-08

Family

ID=63722005

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170028644A KR102050007B1 (en) 2017-03-07 2017-03-07 System and method for supporting external interface based on block chain

Country Status (1)

Country Link
KR (1) KR102050007B1 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101950856B1 (en) * 2018-11-20 2019-02-22 주식회사 윅스콘 System and method for managementing information using blockchain
KR102081159B1 (en) * 2018-11-08 2020-02-25 엔에이치엔 주식회사 A Blockchain system and a method for a plurality of nodes in the Blockchain system to verify and propagate messages
KR20200077830A (en) * 2018-12-21 2020-07-01 이화여자대학교 산학협력단 Managing method for test data based on blockchain node apparatus of blockchain
KR102150210B1 (en) * 2019-09-16 2020-09-01 (주) 모로보기 Blockchain network
KR102251607B1 (en) 2019-12-10 2021-05-13 (주)더아머베어러 Passport system for managing integrated distribution of international logistics based block chain
KR20210056744A (en) 2019-11-11 2021-05-20 한국전자기술연구원 External information recognizing and information providing method using blockchain
KR20210099032A (en) 2018-12-12 2021-08-11 미라이얼 가부시키가이샤 board storage container
US11405198B2 (en) 2019-02-13 2022-08-02 TEEware Co., Ltd. System and method for storing and managing keys for signing transactions using key of cluster managed in trusted execution environment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150144645A (en) * 2014-06-17 2015-12-28 어준선 Method for creating, providing and replaying digital content by using information on digital currency and terminal and computer-readable recording medium using the same
KR20160050876A (en) * 2014-10-31 2016-05-11 코나아이 (주) Bitcoin dealing method using public key and private key stored in smart card
KR101628009B1 (en) * 2015-04-20 2016-06-13 주식회사 코인플러그 System for dealing a digital currency with block chain
JP2016200954A (en) * 2015-04-09 2016-12-01 株式会社Orb Virtual currency management program and virtual currency management method
KR101701131B1 (en) * 2016-04-28 2017-02-13 주식회사 라피 Data recording and validation methods and systems using the connecting of blockchain between different type

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150144645A (en) * 2014-06-17 2015-12-28 어준선 Method for creating, providing and replaying digital content by using information on digital currency and terminal and computer-readable recording medium using the same
KR20160050876A (en) * 2014-10-31 2016-05-11 코나아이 (주) Bitcoin dealing method using public key and private key stored in smart card
JP2016200954A (en) * 2015-04-09 2016-12-01 株式会社Orb Virtual currency management program and virtual currency management method
KR101628009B1 (en) * 2015-04-20 2016-06-13 주식회사 코인플러그 System for dealing a digital currency with block chain
KR101701131B1 (en) * 2016-04-28 2017-02-13 주식회사 라피 Data recording and validation methods and systems using the connecting of blockchain between different type

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
(논문) "블록체인 기술 개념 및 적용현황"(2016년5월11일, 한국전자통신연구원. 김영삼 외 3인. 정보통신기술진흥센터 p.2~p.12)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102081159B1 (en) * 2018-11-08 2020-02-25 엔에이치엔 주식회사 A Blockchain system and a method for a plurality of nodes in the Blockchain system to verify and propagate messages
KR101950856B1 (en) * 2018-11-20 2019-02-22 주식회사 윅스콘 System and method for managementing information using blockchain
KR20210099032A (en) 2018-12-12 2021-08-11 미라이얼 가부시키가이샤 board storage container
KR20200077830A (en) * 2018-12-21 2020-07-01 이화여자대학교 산학협력단 Managing method for test data based on blockchain node apparatus of blockchain
US11405198B2 (en) 2019-02-13 2022-08-02 TEEware Co., Ltd. System and method for storing and managing keys for signing transactions using key of cluster managed in trusted execution environment
KR102150210B1 (en) * 2019-09-16 2020-09-01 (주) 모로보기 Blockchain network
KR20210056744A (en) 2019-11-11 2021-05-20 한국전자기술연구원 External information recognizing and information providing method using blockchain
KR102251607B1 (en) 2019-12-10 2021-05-13 (주)더아머베어러 Passport system for managing integrated distribution of international logistics based block chain

Also Published As

Publication number Publication date
KR102050007B1 (en) 2020-01-08

Similar Documents

Publication Publication Date Title
KR20180102269A (en) System and method for supporting external interface based on block chain
US11790370B2 (en) Techniques for expediting processing of blockchain transactions
US11809608B2 (en) Methods and systems for using digital signatures to create trusted digital asset transfers
JP7543288B2 (en) COMPUTER-IMPLEMENTED SYSTEM AND METHOD FOR CONDUCTING TRANSFERS VIA A BLOCKCHAIN NETWORK
US20220318907A1 (en) Systems and methods for generating secure, encrypted communications across distributed computer networks for authorizing use of cryptography-based digital repositories in order to perform blockchain operations in decentralized applications
KR102050129B1 (en) Block chain supporting multiple one-way functions used for verification of blocks
US20190370479A1 (en) Method for providing simplified account registration service and user authentication service, and authentication server using same
KR101932277B1 (en) Distributed Ledger Device and Distributed Ledger Method for Sharing User Information using Blockchain
US11108566B2 (en) Methods and systems for using digital signatures to create trusted digital asset transfers
US20210400042A1 (en) Systems and methods for controlling access to a blockchain
KR101837167B1 (en) Method for issuing and paying money in use of merkle tree structure on the basis of unspent transaction output protocol, and server using the same
CN112994892A (en) Cross-chain interaction method, device and system and electronic equipment
CN110149323B (en) Processing device with ten-million-level TPS (platform secure protocol) contract processing capacity
CN112087502B (en) Method, device and equipment for processing request and storage medium
CN111476670B (en) Block chain rollback insurance method, apparatus and storage medium
JP6951649B2 (en) Block verification device, block verification method, and program
US20210089356A1 (en) Data Processing System using Directed Acyclic Graph and Method of use thereof
US20200364699A1 (en) Method and System for Usage of Cryptocurrency, Preventing Financial Crime
US11991189B2 (en) Intrusion detection for computer systems
US20230237476A1 (en) Electronic wallet, server for executing the same, and method for atomic exchange of blockchain tokens using the server
JP2020047216A (en) Charge information generation program, charge information generation device and charge information generation method
KR20190076837A (en) Distributed Ledger Device and Distributed Ledger Method for Sharing User Information using Blockchain
KR20190076812A (en) Distributed Ledger Device and Distributed Ledger Method for Sharing User Information using Blockchain
KR20190076813A (en) Distributed Ledger Device and Distributed Ledger Method for Sharing User Information using Blockchain
CN115001701B (en) Method and device for authorization authentication, storage medium and electronic equipment

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)