KR20210067125A - System and method for trading power based on blockchain - Google Patents

System and method for trading power based on blockchain Download PDF

Info

Publication number
KR20210067125A
KR20210067125A KR1020190156426A KR20190156426A KR20210067125A KR 20210067125 A KR20210067125 A KR 20210067125A KR 1020190156426 A KR1020190156426 A KR 1020190156426A KR 20190156426 A KR20190156426 A KR 20190156426A KR 20210067125 A KR20210067125 A KR 20210067125A
Authority
KR
South Korea
Prior art keywords
transaction
buyer
seller
pair
ciphertext
Prior art date
Application number
KR1020190156426A
Other languages
Korean (ko)
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 KR1020190156426A priority Critical patent/KR20210067125A/en
Priority to PCT/KR2020/007773 priority patent/WO2021107304A1/en
Publication of KR20210067125A publication Critical patent/KR20210067125A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/06Energy or water supply
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
    • Y04S40/20Information technology specific aspects, e.g. CAD, simulation, modelling, system security
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S50/00Market activities related to the operation of systems integrating technologies related to power network operation or related to communication or information technologies
    • Y04S50/12Billing, invoicing, buying or selling transactions or other related activities, e.g. cost or usage evaluation

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Public Health (AREA)
  • Water Supply & Treatment (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

A blockchain-based power trading system and a method thereof are disclosed. The blockchain-based power transaction system according to one aspect of the present invention includes: a user device which receives power transaction information; a power transaction server which receives the power transaction information from the user device, encodes the power transaction information, and encrypts the encoded information; and a blockchain which inputs a ciphertext pair into a seller list or a buyer list, determines whether the transaction is successful using seller ciphertext pairs and buyer ciphertext pairs in the seller list and the buyer list, and transmits success or failure information of transaction to the power trading server, when receiving the ciphertext pair from the power transaction server.

Description

블록체인 기반 전력 거래 시스템 및 방법{SYSTEM AND METHOD FOR TRADING POWER BASED ON BLOCKCHAIN}SYSTEM AND METHOD FOR TRADING POWER BASED ON BLOCKCHAIN

본 발명은 블록체인 기반 전력 거래 시스템 및 방법에 관한 것으로서, 보다 상세하게는 블록체인 기술 기반의 전력거래 환경에서 거래 당사자 이외의 제 3자 는 거래내용을 모르면서도 결과의 무결성 증명에 기여할 수 있는 블록체인 기반 전력 거래 시스템 및 방법에 관한 것이다. The present invention relates to a block chain-based power transaction system and method, and more particularly, a block that can contribute to the proof of the integrity of the result without a third party other than the transaction party knowing the transaction details in a block chain technology-based power transaction environment It relates to a chain-based power trading system and method.

마트 그리드 시스템(Smart Grid System)은 전력회사와 수용가를 이어주는 양방향 시스템으로, 수용가 측에 설치되어 있는 다양한 기기들의 데이터를 중간단계의 데이터집중장치(DCU)를 통하여 수집한 후, 수집된 데이터를 전력회사 서버에 전송하고 반대로 서버에서 수용가로 데이터를 전송하는 양방향 인프라를 말한다. 이러한 스마트 그리드 기술은 다양한 분산자원과 소비자 사이에 여러 정보를 전달하고 의향을 전달함으로써 전력망 운용의 효율을 증대시키는데 많은 역할을 하고 있다. 하지만, 이러한 스마트 그리드 기술은 물리적인 전력망을 운영하는데 초점을 두고 있기 때문에 전력거래에 대한 정산 및 과금의 실시간성은 부족하며, 또한 현물에 대한 금융거래이기 때문에 금융시스템을 따로 구축해야 한다는 문제점 역시 여전히 가지고 있다.The Smart Grid System is a two-way system that connects power companies and consumers. After collecting data from various devices installed on the consumer side through the intermediate data concentrator (DCU), the collected data It is a two-way infrastructure that transmits data to the corporate server and vice versa, from the server to the consumer. Such smart grid technology plays a significant role in increasing the efficiency of power grid operation by delivering various information and intentions between various distributed resources and consumers. However, since this smart grid technology focuses on operating the physical power grid, real-time performance of settlement and charging for electricity transactions is lacking. Also, since it is a financial transaction for in-kind, there is still a problem that a separate financial system must be established. have.

블록체인 기술이란, 신뢰할 수 있는 제 3자 없이도 데이터를 검증할 수 있는 기술이다. 블록 하나에는 이용하고자 하는 거래(데이터)와 이전 블록에 대한 정보를 담고 있으며, 이 블록이 유효함을 정해진 방식으로 검증하여 모든 사람들이 블록이 유효함을 확인한다. 검증을 위한 대표적인 예로는 Proof-of-Work(PoW)라는 특정 난이도에 맞는 hash값을 찾는 방법이 있다. 이 hash값을 찾기 위해서는 computing power를 이용해야 하며, 많은 computing power를 쓴 사용자가 유효한 블록을 검증하였다고 판단하고 블록체인에 블록을 연결하여 공개한다.Blockchain technology is a technology that can verify data without a trusted third party. One block contains information about the transaction (data) to be used and the previous block, and everyone verifies that the block is valid by verifying that the block is valid in a fixed way. A representative example for verification is a method of finding a hash value suitable for a specific difficulty called Proof-of-Work (PoW). To find this hash value, computing power must be used, and it is determined that a user who has used a lot of computing power has verified a valid block, and the block is connected to the block chain and released.

이러한 방식을 이용하여 블록체인은 은행과 같은 제3의 특정 기관이나 관리자 없이 금전적인 거래를 가능하게 하며, 이를 이용한 대표적인 예로 비트코인이 있다. 비트코인은 단순한 금전적인 거래뿐 아니라 데이터를 블록에 올릴 수 있다는 점을 이용하여 간단한 계약을 할 수 있는 거래 또한 가능하게 한다. 이후 등장한 이더리움 블록체인은 비트코인의 단점인 간단한 계약만을 이용할 수 있다는 점을 없애고, 완전한 프로그래밍을 가능하게 하여 다양한 프로그램을 구현할 수 있게 제작하여 암호화폐로의 역할뿐 아니라 플랫폼의 역할도 할 수 있게 되었다. 이러한 장점으로 인해, 간단한 계약거래가 아닌 의료정보 열람 및 공유, 자기소개서 공유 등 좀 더 복잡한 계약 또한 쉽게 구현하고 이용하는 것도 가능하다. 따라서 현재 다양한 분야에서 이 기술을 접목시켜, 제 3자의 개입 없이 P2P 거래가 가능하게 하기 위한 프로젝트들을 진행 중이다.By using this method, the blockchain enables monetary transactions without a specific third party such as a bank or administrator, and Bitcoin is a representative example of this. Bitcoin enables not only simple monetary transactions, but also transactions that can make simple contracts by using the fact that data can be placed in blocks. The Ethereum blockchain, which appeared later, eliminated the disadvantage of Bitcoin, that it could only use simple contracts, and made it possible to implement various programs by enabling complete programming, so that it could play a role as a platform as well as a cryptocurrency. . Due to these advantages, it is also possible to easily implement and use more complex contracts such as reading and sharing medical information and sharing personal statements rather than simple contract transactions. Therefore, we are currently working on projects to enable P2P transactions without the intervention of a third party by grafting this technology in various fields.

그러나 데이터를 블록체인 상의 블록에 올리면, 데이터 내용이 거래 당사자만이 아니라 블록체인을 사용하고 있는 모두에게 공개되는 문제가 생긴다. 즉, 블록체인은 무결성 문제를 효과적으로 해결하지만 데이터의 기밀성 문제가 야기된다.However, when data is uploaded to a block on the blockchain, the problem arises that the data content is disclosed to everyone using the blockchain, not just the parties to the transaction. In other words, the blockchain effectively solves the problem of integrity, but it also raises the problem of data confidentiality.

이에, 거래 당사자 이외의 제 3자는 거래내용을 모르면서도 거래 결과의 무결성을 증명할 수 있는 기술 개발이 요구되고 있다. Accordingly, there is a demand for technology development that can prove the integrity of the transaction result without a third party other than the transaction party knowing the transaction details.

본 발명과 관련된 선행기술로는 등록특허공보 제10-1848896호(2018.04.13 공고, 발명의 명칭 : 블록체인을 이용한 선불형 전력 판매 및 전력 사용 방법)가 있다.As a prior art related to the present invention, there is registered Patent Publication No. 10-1848896 (April 13, 2018 announcement, title of invention: prepaid power sales and power use method using block chain).

본 발명은 전술한 문제점을 개선하기 위하여 안출된 것으로, 본 발명의 일 측면에 따른 목적은 블록체인 기술 기반의 전력거래 환경에서 거래 당사자 이외의 제 3자는 거래내용을 모르면서도 결과의 무결성 증명에 기여할 수 있도록 하는 블록체인 기반 전력 거래 시스템 및 방법을 제공하는 것이다. The present invention has been devised to improve the above problems, and an object according to an aspect of the present invention is to contribute to the verification of the integrity of the result without a third party other than the transaction party knowing the transaction details in a power transaction environment based on block chain technology. It is to provide a blockchain-based power trading system and method that enables

본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제(들)로 제한되지 않으며, 언급되지 않은 또 다른 과제(들)은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The problem to be solved by the present invention is not limited to the problem(s) mentioned above, and another problem(s) not mentioned will be clearly understood by those skilled in the art from the following description.

본 발명의 일 측면에 따른 블록체인 기반 전력 거래 시스템은, 전력 거래 정보를 입력받는 사용자 장치, 상기 사용자 장치로부터 전력 거래 정보를 수신하고, 상기 전력 거래 정보를 인코딩하며, 상기 인코딩된 정보를 암호화하는 전력 거래 서버, 상기 전력 거래 서버로부터 암호문 쌍을 수신하면, 상기 암호문 쌍을 판매자 목록 또는 구매자 목록에 입력하고, 상기 판매자 목록 및 구매자 목록에 있는 판매자 암호문 쌍들 및 구매자 암호문 쌍들을 이용하여 거래 성공 여부를 결정하며, 거래 성공 여부 정보를 상기 전력 거래 서버로 전송하는 블록체인을 포함한다. A block chain-based power transaction system according to an aspect of the present invention includes a user device that receives power transaction information, receives power transaction information from the user device, encodes the power transaction information, and encrypts the encoded information. Upon receiving the cipher text pair from the power transaction server and the power transaction server, the cipher text pair is input to the seller list or the buyer list, and whether the transaction is successful using the seller cipher text pairs and the buyer cipher text pairs in the seller list and the buyer list and a block chain for transmitting information on whether the transaction is successful or not to the power transaction server.

본 발명에서 상기 전력 거래 서버는, 상기 전력 거래 정보의 거래 희망 금액을 인코딩하여 제1 벡터 및 제2 벡터를 생성하는 인코딩부, 상기 제1 벡터에 대한 비밀키를 생성하고, 상기 제2 벡터에 대한 암호문을 생성하며, 상기 생성된 비밀키 및 암호문을 포함하는 암호문 쌍을 블록체인에 전송하는 암호화부를 포함할 수 있다. In the present invention, the power transaction server includes an encoding unit for generating a first vector and a second vector by encoding the desired transaction amount of the power transaction information, a secret key for the first vector, and the second vector. It may include an encryption unit that generates a ciphertext for the ciphertext and transmits a ciphertext pair including the generated secret key and the ciphertext to the block chain.

본 발명에서 상기 인코딩부는, 상기 거래 희망 금액을 기 설정된 단위 전력당 거래 금액 범위와 비교하고, 그 비교결과를 기초로 상기 거래 희망 금액을 인코딩하여 제1 벡터 및 제2 벡터를 생성할 수 있다. In the present invention, the encoding unit may generate a first vector and a second vector by comparing the desired transaction amount with a preset transaction amount range per unit power, and encoding the desired transaction amount based on the comparison result.

본 발명에서 상기 암호화부는, 키 생성 알고리즘을 이용하여 상기 제1 벡터에 대한 비밀키를 생성하고, 암호화 알고리즘을 이용하여 상기 제2 벡터에 대한 암호문을 생성한 후, 상기 비밀키 및 암호문을 포함하는 암호문 쌍을 상기 블록체인으로 전송할 수 있다. In the present invention, the encryption unit generates a secret key for the first vector using a key generation algorithm, generates a cipher text for the second vector using an encryption algorithm, and includes the secret key and the cipher text. A ciphertext pair can be transmitted to the blockchain.

본 발명에서 상기 블록체인은, 상기 전력 거래 서버로부터 암호문 쌍을 수신하면, 상기 암호문 쌍의 요청자를 확인하여, 판매자 목록 또는 구매자 목록에 기록하는 기록 처리부, 상기 판매자 목록의 판매자 암호문 쌍들에 대한 함수 복호화 연산을 적용하여 최솟값에 대한 판매자 암호문 쌍을 찾고, 상기 구매자 목록의 구매자 암호문 쌍들에 대한 함수 복호화 연산을 적용하여 최댓값에 대한 구매자 암호문 쌍을 찾는 비교부, 상기 최솟값에 대한 판매자 암호문 쌍 및 상기 최댓값에 대한 구매자 암호문 쌍을 함수 복호화 연산하여, 거래 성공 여부를 결정하고, 거래 성공 여부 정보를 상기 전력 거래 서버로 전송하는 거래 처리부를 포함할 수 있다. In the present invention, when the block chain receives a pair of encrypted texts from the power transaction server, a record processing unit that checks the requestor of the encrypted text pair and records it in a seller list or a buyer list, and function decryption for the seller encrypted text pairs in the seller list A comparison unit to find a seller ciphertext pair for the minimum value by applying an operation, and a comparison unit to find a buyer ciphertext pair for the maximum value by applying a function decryption operation to the buyer ciphertext pairs in the buyer list, the seller ciphertext pair for the minimum value and the maximum value It may include a transaction processing unit for performing a function decryption operation on the purchaser ciphertext pair, determining whether the transaction is successful, and transmitting information on whether the transaction is successful or not to the power transaction server.

본 발명에서 상기 비교부는, 상기 판매자 목록의 판매자 암호문 쌍들에 대한 함수 복호화 연산을 적용하여 판매자 암호문 쌍에 인코딩된 판매 희망 금액들 간의 대소를 비교함으로써 상기 판매자 목록 중 최솟값에 대한 판매자 암호문 쌍을 찾고, 상기 구매자 목록의 구매자 암호문 쌍들에 대한 함수 복호화 연산을 적용하여 구매자 암호문 쌍에 인코딩된 구매 희망 금액들 간의 대소를 비교함으로써 상기 구매자 목록 중 최댓값에 대한 구매자 암호문 쌍을 찾을 수 있다. In the present invention, the comparison unit finds the seller cipher text pair for the minimum value among the seller list by comparing the magnitude between the desired sales amounts encoded in the seller cipher text pair by applying a function decryption operation to the seller cipher text pairs of the seller list, By applying a functional decryption operation to the buyer ciphertext pairs of the buyer list and comparing the magnitude between the desired purchase amounts encoded in the buyer ciphertext pair, it is possible to find the buyer ciphertext pair for the maximum value in the buyer list.

본 발명에서 상기 거래 처리부는, 상기 최솟값에 대한 판매자 암호문 쌍 및 상기 최댓값에 대한 구매자 암호문 쌍을 함수 복호화하여 내적을 산출하고, 상기 산출된 내적에 기초하여 해당 판매자와 구매자 간의 거래 성공 여부를 결정할 수 있다. In the present invention, the transaction processing unit calculates an inner product by function-decrypting the seller cipher text pair for the minimum value and the buyer cipher text pair for the maximum value, and determines whether the transaction between the seller and the buyer succeeds based on the calculated inner product. have.

본 발명에서 상기 거래 처리부는, 상기 최솟값에 대한 판매자 암호문 쌍의 비밀키와 상기 최댓값에 대한 구매자 암호문 쌍의 암호문에 대해 함수 복호화 연산을 적용함으로써 상기 판매자 목록 중 최솟값에 대해 인코딩된 제1 벡터 및 상기 구매자 목록 중 최댓값에 대해 인코딩된 제2 벡터의 내적 결과를 산출하고, 상기 산출된 내적이 '1'인 경우 상기 판매자와 구매자 간의 거래 성공으로 결정하며, 상기 내적이 '0'인 상기 판매자와 구매자 간의 거래 실패로 결정할 수 있다. In the present invention, the transaction processing unit, the first vector encoded for the minimum value in the seller list by applying a function decryption operation to the secret key of the seller cipher text pair for the minimum value and the cipher text of the buyer cipher text pair for the maximum value, and the Calculate the dot product result of the second vector encoded for the maximum value in the buyer list, and if the calculated dot product is '1', it is determined as a transaction success between the seller and the buyer, and the seller and the buyer whose dot product is '0' It can be determined by the failure of the transaction between them.

본 발명에서 상기 거래 처리부는, 상기 판매자와 구매자 간의 거래 성공으로 결정한 경우, 상기 판매자의 주소 및 전력 거래 정보, 상기 구매자의 주소 및 전력 거래 정보를 상기 전력 거래 서버로 전송할 수 있다. In the present invention, when it is determined that the transaction between the seller and the buyer is successful, the transaction processing unit may transmit the seller's address and power transaction information, and the buyer's address and electricity transaction information to the electricity transaction server.

본 발명의 다른 측면에 따른 블록체인 기반 전력 거래 방법은, 전력 거래 서버가 사용자 장치로부터 전력 거래 정보를 수신하면, 상기 전력 거래 정보를 인코딩하고, 상기 인코딩된 정보를 암호화하는 단계, 블록체인이 상기 전력 거래 서버로부터 암호문 쌍을 수신하면, 상기 암호문 쌍을 판매자 목록 또는 구매자 목록에 입력하고, 상기 판매자 목록 및 구매자 목록에 있는 판매자 암호문 쌍들 및 구매자 암호문 쌍들을 이용하여 거래 성공 여부를 결정하며, 거래 성공 여부 정보를 상기 전력 거래 서버로 전송하는 단계를 포함한다. A block chain-based power transaction method according to another aspect of the present invention includes: when a power transaction server receives power transaction information from a user device, encoding the power transaction information and encrypting the encoded information; Upon receiving the ciphertext pair from the power transaction server, the ciphertext pair is input to the seller list or the buyer list, and the transaction success is determined using the seller ciphertext pairs and the buyer ciphertext pairs in the seller list and the buyer list, and the transaction is successful and transmitting whether or not information to the power transaction server.

본 발명에서 상기 전력 거래 정보를 인코딩하고, 상기 인코딩된 정보를 암호화하는 단계는, 상기 전력 거래 서버가 상기 전력 거래 정보의 거래 희망 금액을 인코딩하여 제1 벡터 및 제2 벡터를 생성하는 단계, 상기 전력 거래 서버가 상기 제1 벡터에 대한 비밀키를 생성하고, 상기 제2 벡터에 대한 암호문을 생성하며, 상기 생성된 비밀키 및 암호문을 포함하는 암호문 쌍을 블록체인에 전송하는 단계를 포함할 수 있다. In the present invention, the encoding of the power transaction information and the encoding of the encoded information may include: generating, by the power transaction server, a first vector and a second vector by encoding the desired transaction amount of the power transaction information; The power transaction server may include generating a secret key for the first vector, generating a cipher text for the second vector, and transmitting a cipher text pair including the generated secret key and cipher text to the block chain. have.

본 발명은 상기 제1 벡터 및 제2 벡터를 생성하는 단계에서, 상기 전력 거래 서버는, 상기 거래 희망 금액을 기 설정된 단위 전력당 거래 금액 범위와 비교하고, 그 비교결과를 기초로 상기 거래 희망 금액을 인코딩하여 제1 벡터 및 제2 벡터를 생성할 수 있다. In the present invention, in the step of generating the first vector and the second vector, the power transaction server compares the desired transaction amount with a preset transaction amount range per unit power, and based on the comparison result, the desired transaction amount may be encoded to generate a first vector and a second vector.

본 발명은 상기 생성된 비밀키 및 암호문을 포함하는 암호문 쌍을 블록체인에 전송하는 단계에서, 상기 전력 거래 서버는 키 생성 알고리즘을 이용하여 상기 제1 벡터에 대한 비밀키를 생성하고, 암호화 알고리즘을 이용하여 상기 제2 벡터에 대한 암호문을 생성한 후, 상기 비밀키 및 암호문을 포함하는 암호문 쌍을 상기 블록체인으로 전송할 수 있다. In the present invention, in the step of transmitting the cipher text pair including the generated secret key and cipher text to the block chain, the power transaction server generates a secret key for the first vector using a key generation algorithm, and performs an encryption algorithm. After generating the ciphertext for the second vector using the ciphertext, the ciphertext pair including the secret key and the ciphertext may be transmitted to the block chain.

본 발명에서 상기 거래 성공 여부 정보를 상기 전력 거래 서버로 전송하는 단계는, 상기 블록체인이 상기 전력 거래 서버로부터 암호문 쌍을 수신하면, 상기 암호문 쌍의 요청자를 확인하여, 판매자 목록 또는 구매자 목록에 기록하는 단계, 상기 블록체인이 상기 판매자 목록의 판매자 암호문 쌍들에 대한 함수 복호화 연산을 적용하여 최솟값에 대한 판매자 암호문 쌍을 찾고, 상기 구매자 목록의 구매자 암호문 쌍들에 대한 함수 복호화 연산을 적용하여 최댓값에 대한 구매자 암호문 쌍을 찾는 단계, 상기 블록체인이 상기 최솟값에 대한 판매자 암호문 쌍 및 상기 최댓값에 대한 구매자 암호문 쌍을 함수 복호화 연산하여, 거래 성공 여부를 결정하고, 거래 성공 여부 정보를 상기 전력 거래 서버로 전송하는 단계를 포함할 수 있다. In the present invention, the step of transmitting the transaction success information to the power transaction server includes, when the block chain receives the encrypted text pair from the power transaction server, confirms the requestor of the encrypted text pair and records it in the seller list or the buyer list The block chain applies a function decryption operation to the seller ciphertext pairs in the seller list to find the seller ciphertext pair for the minimum value, and applies the function decryption operation to the buyer ciphertext pairs in the buyer list to apply the function decryption operation to the buyer for the maximum value Finding a ciphertext pair, the block chain performs a function decryption operation on the seller ciphertext pair for the minimum value and the buyer ciphertext pair for the maximum value, determines whether the transaction is successful, and transmits the transaction success information to the power transaction server may include steps.

본 발명은 상기 최댓값에 대한 구매자 암호문 쌍을 찾는 단계에서, 상기 블록체인은, 상기 판매자 목록의 판매자 암호문 쌍들에 대한 함수 복호화 연산을 적용하여 판매자 암호문 쌍에 인코딩된 판매 희망 금액들 간의 대소를 비교함으로써 상기 판매자 목록 중 최솟값에 대한 판매자 암호문 쌍을 찾고, 상기 구매자 목록의 구매자 암호문 쌍들에 대한 함수 복호화 연산을 적용하여 구매자 암호문 쌍에 인코딩된 구매 희망 금액들 간의 대소를 비교함으로써 상기 구매자 목록 중 최댓값에 대한 구매자 암호문 쌍을 찾을 수 있다. In the present invention, in the step of finding the buyer cipher text pair for the maximum value, the block chain applies a function decryption operation to the seller cipher text pairs in the seller list by comparing the magnitude between the desired sales amounts encoded in the seller cipher text pair. Find the seller cipher text pair for the minimum value in the seller list, apply a function decryption operation to the buyer cipher text pairs in the buyer list, and compare the magnitude between the desired purchase amounts encoded in the buyer cipher text pair to the maximum value in the buyer list Buyer ciphertext pairs can be found.

본 발명은 상기 거래 성공 여부 정보를 상기 전력 거래 서버로 전송하는 단계에서, 상기 블록체인은 상기 최솟값에 대한 판매자 암호문 쌍 및 상기 최댓값에 대한 구매자 암호문 쌍을 함수 복호화하여 내적을 산출하고, 상기 산출된 내적에 기초하여 해당 판매자와 구매자 간의 거래 성공 여부를 결정할 수 있다. In the present invention, in the step of transmitting the transaction success information to the power transaction server, the block chain performs function-decryption of the seller cipher text pair for the minimum value and the buyer cipher text pair for the maximum value to calculate the inner product, and the calculated Based on the dot product, it is possible to determine whether a transaction between the seller and the buyer is successful.

본 발명은 상기 거래 성공 여부 정보를 상기 전력 거래 서버로 전송하는 단계에서, 상기 블록체인은 상기 최솟값에 대한 판매자 암호문 쌍의 비밀키와 상기 최댓값에 대한 구매자 암호문 쌍의 암호문에 대해 함수 복호화 연산을 적용함으로써 상기 판매자 목록 중 최솟값에 대해 인코딩된 제1 벡터 및 상기 구매자 목록 중 최댓값에 대해 인코딩된 제2 벡터의 내적 결과를 산출하고, 상기 산출된 내적이 '1'인 경우 상기 판매자와 구매자 간의 거래 성공으로 결정하며, 상기 내적이 '0'인 상기 판매자와 구매자 간의 거래 실패로 결정할 수 있다. In the present invention, in the step of transmitting the transaction success information to the power transaction server, the block chain applies a function decryption operation to the secret key of the seller cipher text pair for the minimum value and the cipher text of the buyer cipher text pair for the maximum value By doing so, a result of the dot product of the first vector encoded for the minimum value in the seller list and the second vector encoded for the maximum value in the buyer list is calculated, and when the calculated dot product is '1', the transaction between the seller and the buyer is successful , and it may be determined as a transaction failure between the seller and the buyer whose inner product is '0'.

본 발명은 상기 판매자와 구매자 간의 거래 성공으로 결정한 경우, 상기 판매자의 주소 및 전력 거래 정보, 상기 구매자의 주소 및 전력 거래 정보를 상기 전력 거래 서버로 전송할 수 있다. In the present invention, when it is determined that the transaction between the seller and the buyer is successful, the seller's address and electricity transaction information, and the buyer's address and electricity transaction information may be transmitted to the electricity transaction server.

본 발명의 일 실시예에 따른 블록체인 기반 전력 거래 시스템 및 방법은, 블록체인 기반의 함수암호 기법을 이용하여 거래 데이터를 암호화하여 보호함과 동시에, 거래 당사자 이외의 제 3자는 거래 내용을 모르면서도 결과의 무결성 증명에 기여할 수 있다. 즉, 암호화된 상태에서 크기 비교가 가능하기 때문에 거래 내용을 제 3자가 확인하지 못하더라도 크기 비교의 결과는 알 수 있고, 이로 인해 블록체인의 기밀성 문제를 해결할 수 있다. A blockchain-based power transaction system and method according to an embodiment of the present invention encrypts and protects transaction data using a block-chain-based function encryption technique, and at the same time, a third party other than the transaction party does not know the transaction details. It can contribute to the proof of the integrity of the results. In other words, since size comparison is possible in an encrypted state, even if a third party cannot confirm the transaction details, the result of the size comparison can be known, thereby solving the problem of confidentiality of the block chain.

한편, 본 발명의 효과는 이상에서 언급한 효과들로 제한되지 않으며, 이하에서 설명할 내용으로부터 통상의 기술자에게 자명한 범위 내에서 다양한 효과들이 포함될 수 있다. On the other hand, the effects of the present invention are not limited to the above-mentioned effects, and various effects may be included within the range apparent to those skilled in the art from the contents to be described below.

도 1은 본 발명의 일 실시예에 따른 블록체인 기반 전력 거래 시스템을 개략적으로 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 전력 거래 서버를 개략적으로 나타낸 블록도이다.
도 3은 본 발명의 일 실시예에 따른 스마트 컨트랙트를 실행하는 블록체인을 설명하기 위한 블록도이다.
도 4는 본 발명의 일 실시예에 따른 블록체인 기반 전력 거래 방법을 설명하기 위한 도면이다.
1 is a diagram schematically showing a blockchain-based power trading system according to an embodiment of the present invention.
2 is a block diagram schematically illustrating a power transaction server according to an embodiment of the present invention.
3 is a block diagram for explaining a block chain for executing a smart contract according to an embodiment of the present invention.
4 is a diagram for explaining a blockchain-based power transaction method according to an embodiment of the present invention.

이하, 첨부된 도면들을 참조하여 본 발명의 일 실시예에 따른 블록체인 기반 전력 거래 시스템 및 방법을 설명한다. 이 과정에서 도면에 도시된 선들의 두께나 구성요소의 크기 등은 설명의 명료성과 편의상 과장되게 도시되어 있을 수 있다. Hereinafter, a blockchain-based power transaction system and method according to an embodiment of the present invention will be described with reference to the accompanying drawings. In this process, the thickness of the lines or the size of the components shown in the drawings may be exaggerated for clarity and convenience of explanation.

또한, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례에 따라 달라질 수 있다. 그러므로 이러한 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.In addition, the terms to be described later are terms defined in consideration of functions in the present invention, which may vary according to the intention or custom of the user or operator. Therefore, definitions of these terms should be made based on the content throughout this specification.

또한, 본 명세서에서 설명된 구현은, 예컨대, 방법 또는 프로세스, 장치, 소프트웨어 프로그램, 데이터 스트림 또는 신호로 구현될 수 있다. 단일 형태의 구현의 맥락에서만 논의(예컨대, 방법으로서만 논의)되었더라도, 논의된 특징의 구현은 또한 다른 형태(예컨대, 장치 또는 프로그램)로도 구현될 수 있다. 장치는 적절한 하드웨어, 소프트웨어 및 펌웨어 등으로 구현될 수 있다. 방법은, 예컨대, 컴퓨터, 마이크로프로세서, 집적 회로 또는 프로그래밍가능한 로직 디바이스 등을 포함하는 프로세싱 디바이스를 일반적으로 지칭하는 프로세서 등과 같은 장치에서 구현될 수 있다. 프로세서는 또한 최종-사용자 사이에 정보의 통신을 용이하게 하는 컴퓨터, 셀 폰, 휴대용/개인용 정보 단말기(personal digital assistant: "PDA") 및 다른 디바이스 등과 같은 통신 디바이스를 포함한다.Further, the implementations described herein may be implemented as, for example, a method or process, an apparatus, a software program, a data stream, or a signal. Although discussed only in the context of a single form of implementation (eg, only as a method), implementations of the discussed features may also be implemented in other forms (eg, in an apparatus or a program). The apparatus may be implemented in suitable hardware, software and firmware, and the like. A method may be implemented in an apparatus such as, for example, a processor, which generally refers to a computer, a microprocessor, a processing device, including an integrated circuit or programmable logic device, or the like. Processors also include communication devices such as computers, cell phones, portable/personal digital assistants ("PDAs") and other devices that facilitate communication of information between end-users.

도 1은 본 발명의 일 실시예에 따른 블록체인 기반 전력 거래 시스템을 개략적으로 나타낸 도면이다. 1 is a diagram schematically showing a blockchain-based power trading system according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일 실시예에 따른 블록체인 기반 전력 거래 시스템은 사용자 장치(100), 전력 거래 서버(300) 및 블록체인(400)을 포함한다. Referring to FIG. 1 , a block chain-based power transaction system according to an embodiment of the present invention includes a user device 100 , a power transaction server 300 , and a block chain 400 .

사용자 장치(100)는 전력을 구매하는 구매자 또는 전력을 판매하는 판매자일 수 있다. 사용자는 전력의 구매를 원하는지 또는 판매를 원하는지의 거래 방식, 거래하고자 하는 전력량과 거래 희망 금액을 입력할 수 있다. 이때 거래 금액의 범위는 한정되어 있을 수 있다. The user device 100 may be a buyer who purchases electricity or a seller who sells electricity. The user may input a transaction method of whether to purchase or sell electricity, an amount of electricity to be traded, and a desired transaction amount. In this case, the range of the transaction amount may be limited.

사용자 장치(100)는 거래 방식, 거래량 및 거래 희망 금액을 포함하는 전력 거래 정보를 통신망을 통해 전력 거래 서버(300)로 전송한다. The user device 100 transmits power transaction information including a transaction method, a transaction amount, and a desired transaction amount to the power transaction server 300 through a communication network.

도 1에서는 이해의 편의를 위해 하나의 사용자 장치(100)만을 도시하였으나, 다수의 사용자 장치(100)들이 구성될 수 있다. Although only one user device 100 is illustrated in FIG. 1 for convenience of understanding, a plurality of user devices 100 may be configured.

전력 거래 서버(300)는 사용자 장치(100)로부터 전력 거래 정보를 수신하면, 그 전력 거래 정보를 인코딩하고, 인코딩된 정보를 암호화한다. 즉, 전력 거래 서버(300)는 전력 거래 정보의 거래 희망 금액을 인코딩하여 제1 벡터 및 제2 벡터를 생성한다. 그런 후, 전력 거래 서버(300)는 제1 벡터에 대한 비밀키를 생성하고, 제2 벡터에 대한 암호문을 생성하며, 생성된 비밀키 및 암호문을 포함하는 암호문 쌍을 블록체인(400)에 전송한다. When the power transaction server 300 receives power transaction information from the user device 100 , the power transaction information is encoded and the encoded information is encrypted. That is, the power transaction server 300 generates the first vector and the second vector by encoding the desired transaction amount of the power transaction information. Then, the power transaction server 300 generates a secret key for the first vector, generates a cipher text for the second vector, and transmits a cipher text pair including the generated secret key and cipher text to the block chain 400 . do.

이러한 전력 거래 서버(300)에 대한 상세한 설명은 도 2를 참조하기로 한다. A detailed description of the power transaction server 300 will be referred to FIG. 2 .

한편, 도 1에서는 전력 거래를 관리하는 장치를 전력 거래 서버(300)로 칭하여 설명하였으나, 이는 플랫폼, 스마트폰, 스마트 미터, 서버 등이 될 수 있다. 또한, 단순한 플랫폼을 거치는 것 이외에, 다수의 플랫폼을 거쳐서 사용자와 블록체인(400)을 연결하는 것 또한 가능하다. Meanwhile, in FIG. 1 , a device for managing power trade is referred to as a power trade server 300 , but it may be a platform, a smartphone, a smart meter, a server, or the like. In addition, in addition to going through a simple platform, it is also possible to connect the user and the blockchain 400 through multiple platforms.

블록체인(400)은 전력 거래 서버(300)로부터 암호문 쌍을 수신하면, 암호문 쌍을 판매자 목록 또는 구매자 목록에 입력하고, 판매자 목록 중 최솟값을 제시한 판매자의 암호문 쌍을 식별하며, 구매자 목록 중 최댓값을 제시한 구매자의 암호문 쌍을 식별하고, 판매자 목록 중 최솟값을 제시한 판매자의 암호문 쌍 및 구매자 목록 중 최댓값을 제시한 구매자의 암호문 쌍을 이용하여 거래 성공 여부를 결정하며, 거래 성공 여부 정보를 전력 거래 서버(300)로 전송한다. When the block chain 400 receives the ciphertext pair from the power transaction server 300, it inputs the ciphertext pair to the seller list or the buyer list, identifies the ciphertext pair of the seller who presented the minimum value among the seller list, and the maximum value in the buyer list Identifies the ciphertext pair of the buyer who presented , and determines the success of the transaction by using the ciphertext pair of the seller who presented the minimum value among the sellers list and the ciphertext pair of the buyer who presented the maximum value among the buyers list. It is transmitted to the transaction server 300 .

블록체인(400)은 전력 거래 서버(300)에서 암호화된 정보에 대해 최적 매칭을 수행하여 전력 매매가 이루어지도록 할 수 있다. 이때, 블록체인(400)은 함수암호(functional encryption)를 이용하여, 암호화된 거래 정보에 대한 비교를 통해 거래가 매칭되도록 할 수 있다.The block chain 400 may perform an optimal matching on the encrypted information in the power transaction server 300 to enable power trading. In this case, the block chain 400 may use functional encryption to match the transaction through comparison of the encrypted transaction information.

함수암호란, 평문 a와 평문 b를 암호화하여 암호문 벡터 A와 암호문 벡터 B를 생성할 때, 특정 함수에 입력하게 되면 암호화에 이용한 키나 평문 a, b를 모르더라도 a, b에 대한 특정 연산값이 나올 수 있도록 하는 암호 기법이다. 즉, 함수암호란, a와 b의 암호문으로부터 함수 f(a,b)를 계산하되 a와 b 자체의 값은 알 수 없는 기법을 말하며, 본 발명에서는 일 실시예로 두 벡터 a와 b의 내적을 계산하는, 즉, f(a,b) = <a,b>인 내적 함수 암호를 이용하나, 내적 함수 이외의 함수암호 또한 이용할 수 있다. 또한, 본 발명의 일 실시예로 P2P 전력 거래를 고려하나, 본 발명은 데이터의 크기 비교에 기반하는 임의의 거래 방법에 적용될 수 있다.Function cryptography is when plaintext a and plaintext b are encrypted to generate ciphertext vector A and ciphertext vector B. When input to a specific function, the specific operation value for a and b is generated even if you do not know the key used for encryption or plaintext a and b. It is a cryptographic technique that allows That is, the function cipher refers to a technique in which a function f(a,b) is calculated from the ciphertexts of a and b, but the values of a and b themselves are unknown. In the present invention, in one embodiment, the dot product of two vectors a and b A dot product function cipher that computes , that is, f(a,b) = <a,b> is used, but a function cipher other than the inner product function can also be used. In addition, although P2P power transaction is considered as an embodiment of the present invention, the present invention can be applied to any transaction method based on data size comparison.

내적 함수 암호는 키 파라미터 설정, 키 생성, 암호화 및 함수 복호화로 구성될 수 있다. 키 파라미터 설정은 주어진 안전성 요구조건을 만족하는 public parameter pp, master secret key msk를 생성하는 것을 의미할 수 있다. 키 생성은 x벡터에 대해 msk로 비밀키(secret key,

Figure pat00001
)를 생성하는 것을 의미할 수 있다. 암호화는 y벡터에 대해 msk로 암호문(ciphertext,
Figure pat00002
)를 생성하는 것을 의미할 수 있다. 함수 복호화는
Figure pat00003
라고 표기하며, 특정 함수에 비밀키(
Figure pat00004
)와 암호문(
Figure pat00005
)를 제공하면 두 벡터 x와 y의 내적값을 돌려주는 것을 의미할 수 있다. Dot product cryptography can consist of key parameter setting, key generation, encryption, and function decryption. Key parameter setting may mean generating public parameter pp and master secret key msk that satisfy given safety requirements. Key generation is a secret key (secret key, msk) for the x vector.
Figure pat00001
) can mean creating Encryption is ciphertext (ciphertext, msk for the y vector)
Figure pat00002
) can mean creating function decryption
Figure pat00003
, and the secret key (
Figure pat00004
) and ciphertext (
Figure pat00005
) can mean returning the dot product of two vectors x and y.

블록체인(400)의 예로는 이더리움, 비트코인, 퀀텀 등이 있으며, 본 발명의 한 실시예에서는 이더리움을 예로 하여 설명하기로 한다. Examples of the block chain 400 include Ethereum, Bitcoin, Quantum, and the like, and in one embodiment of the present invention, Ethereum will be described as an example.

본 발명의 일 실시예로, 이더리움 블록체인(400)에서 제공되는 Smart Contract를 이용하여 전력 거래에 대한 암호화를 구현할 수 있다. 판매자와 구매자들이 각각 희망하는 전력 거래량과 거래 희망 금액을 제안하면, 암호화된 정보를 블록체인(400) 상에서 최적 매칭을 수행하여 매매가 이루어지도록 할 수 있다. As an embodiment of the present invention, encryption for power transaction can be implemented using a smart contract provided in the Ethereum block chain 400 . When the seller and the buyer propose the desired power transaction amount and the desired transaction amount, respectively, the encrypted information can be optimally matched on the block chain 400 to be traded.

도 2는 본 발명의 일 실시예에 따른 전력 거래 서버를 개략적으로 나타낸 블록도이다. 2 is a block diagram schematically illustrating a power transaction server according to an embodiment of the present invention.

도 2를 참조하면, 본 발명의 일 실시예에 따른 전력 거래 서버(300)는 인터페이스부(310), 인코딩부(320), 암호화부(330) 및 제어부(340)를 포함한다. Referring to FIG. 2 , the power transaction server 300 according to an embodiment of the present invention includes an interface unit 310 , an encoding unit 320 , an encryption unit 330 , and a control unit 340 .

인터페이스부(310)는 사용자 장치(100)로부터 거래 방식, 거래량 및 거래 희망 금액을 포함하는 전력 거래 정보를 통신망을 통해 수신한다. The interface unit 310 receives power transaction information including a transaction method, a transaction amount, and a desired transaction amount from the user device 100 through a communication network.

인코딩부(320)는 전력 거래 정보를 인코딩하여 제1 벡터 및 제2 벡터를 생성한다. 이때, 인코딩부(320)는 전력 거래 정보의 거래 희망 금액을 인코딩할 수 있다. 또한, 인코딩부(320)는 인터페이스부(310)로부터 전달받은 전력 거래 정보들을 내적 결과값으로 크기를 비교할 수 있도록 인코딩할 수 있다. The encoding unit 320 encodes the power transaction information to generate a first vector and a second vector. In this case, the encoding unit 320 may encode the desired transaction amount of the power transaction information. In addition, the encoding unit 320 may encode the power transaction information received from the interface unit 310 so that the size can be compared as an inner product result value.

즉, 인코딩부(320)는 인코딩이 가능한 단위 전력당 거래 금액 값의 범위(P)를 확인할 수 있다. 여기서, 단위 전력당 거래 금액 값의 범위는 미리 설정된 범위일 수 있다. 그런 후, 인코딩부(320)는 거래 희망 금액을 단위 전력당 거래 금액 범위와 비교하고, 그 비교결과에 기초하여 제1 벡터를 생성한다. 예컨대, 인코딩부(320)는 거래 희망 금액보다 작은 인덱스는 0, 이외의 인덱스는 1의 형태를 가지는 제1 벡터를 생성할 수 있다. 또한, 인코딩부(320)는 거래 희망 금액을 one-hot 인코딩하여 제2 벡터를 생성할 수 있다. That is, the encoding unit 320 may check the range P of the transaction amount value per unit power that can be encoded. Here, the range of the transaction amount value per unit power may be a preset range. Then, the encoding unit 320 compares the desired transaction amount with the transaction amount range per unit power, and generates a first vector based on the comparison result. For example, the encoding unit 320 may generate a first vector having a form of 0 for an index smaller than the desired transaction amount, and 1 for an index other than the desired transaction amount. Also, the encoding unit 320 may generate a second vector by one-hot encoding the desired transaction amount.

예를 들어, 단위 전력당 거래 금액 값의 범위(P)가 P={1, ..., 10}이고, 거래 희망 금액으로 '5'를 넣었다면, 인코딩부(320)는 5보다 작은 인덱스는 0, 그 외의 인덱스는 1의 형태를 가지는 제1 벡터(Ua,

Figure pat00006
)를 생성할 수 있다. 또한, 인코딩부(320)는 거래 희망 금액을 one-hot 인코딩하여 제2 벡터(Ub,
Figure pat00007
)를 생성할 수 있다. For example, if the range (P) of the value of the transaction amount per unit power is P={1, ..., 10}, and '5' is put as the desired transaction amount, the encoding unit 320 is an index smaller than 5 is 0, and other indices are 1 in the form of a first vector (Ua,
Figure pat00006
) can be created. In addition, the encoding unit 320 one-hot encodes the desired transaction amount to a second vector (Ub,
Figure pat00007
) can be created.

암호화부(330)는 제1 벡터에 대한 비밀키를 생성하고, 제2 벡터에 대한 암호문을 생성하며, 생성된 비밀키 및 암호문을 포함하는 암호문 쌍을 블록체인(400)에 전송한다. 즉, 암호화부(330)는 키 생성 알고리즘을 이용하여 제1 벡터에 대한 비밀키를 생성하고, 암호화 알고리즘을 이용하여 제2 벡터에 대한 암호문을 생성한 후, 비밀키 및 암호문을 포함하는 암호문 쌍을 블록체인(400)으로 전송한다. 여기서, 키 생성 알고리즘 및 암호화 알고리즘은 종래의 알고리즘을 이용할 수 있다. The encryption unit 330 generates a secret key for the first vector, generates a cipher text for the second vector, and transmits a cipher text pair including the generated secret key and the cipher text to the block chain 400 . That is, the encryption unit 330 generates a secret key for the first vector using a key generation algorithm, generates a cipher text for the second vector using the encryption algorithm, and then a pair of cipher texts including the secret key and the cipher text. is transmitted to the block chain 400 . Here, the key generation algorithm and the encryption algorithm may use a conventional algorithm.

예를 들면, 암호화부(330)는 키 생성 알고리즘을 이용하여 제1 벡터(

Figure pat00008
)에 대한 비밀키(secret key,
Figure pat00009
)를 생성하고, 암호화 알고리즘을 이용하여 제2 벡터(
Figure pat00010
)에 대한 암호문(
Figure pat00011
)를 생성한 후 암호문 쌍
Figure pat00012
을 블록체인(400)에 전달할 수 있다. For example, the encryption unit 330 uses a key generation algorithm to generate the first vector (
Figure pat00008
) for the secret key,
Figure pat00009
) and using an encryption algorithm to create a second vector (
Figure pat00010
) for the ciphertext (
Figure pat00011
) after generating the ciphertext pair
Figure pat00012
can be transmitted to the blockchain 400 .

암호화부(330)는 거래 방식, 사용자 식별정보 등을 암호문 쌍과 함께 블록체인(400)으로 전송할 수 있다. The encryption unit 330 may transmit a transaction method, user identification information, etc. together with the cipher text pair to the block chain 400 .

한편, 인코딩부(320) 및 암호화부(330)는 컴퓨팅 장치상에서 프로그램을 실행하기 위해 필요한 프로세서 등에 의해 각각 구현될 수 있다. 이처럼 인코딩부(320) 및 암호화부(330)는 물리적으로 독립된 각각의 구성에 의해 구현될 수도 있고, 하나의 프로세서 내에서 기능적으로 구분되는 형태로 구현될 수도 있다. Meanwhile, the encoding unit 320 and the encryption unit 330 may be implemented by a processor or the like required to execute a program on a computing device, respectively. As such, the encoding unit 320 and the encryption unit 330 may be implemented by physically independent components, or may be implemented in a functionally separate form within one processor.

제어부(340)는 인터페이스부(310), 인코딩부(320) 및 암호화부(330)를 포함하는 전력 거래 서버(300)의 다양한 구성부들의 동작을 제어하는 구성으로, 적어도 하나의 연산 장치를 포함할 수 있는데, 여기서 상기 연산 장치는 범용적인 중앙연산장치(CPU), 특정 목적에 적합하게 구현된 프로그래머블 디바이스 소자(CPLD, FPGA), 주문형 반도체 연산장치(ASIC) 또는 마이크로 컨트롤러 칩일 수 있다.The control unit 340 is a component that controls the operation of various components of the power transaction server 300 including the interface unit 310 , the encoding unit 320 , and the encryption unit 330 , and includes at least one computing device. In this case, the arithmetic unit may be a general-purpose central processing unit (CPU), a programmable device device (CPLD, FPGA) that is suitably implemented for a specific purpose, an application-specific processing unit (ASIC), or a microcontroller chip.

도 3은 본 발명의 일 실시예에 따른 스마트 컨트랙트를 실행하는 블록체인을 설명하기 위한 블록도이다. 3 is a block diagram for explaining a block chain for executing a smart contract according to an embodiment of the present invention.

도 3을 참조하면, 본 발명의 일 실시예에 따른 스마트 컨트랙트를 실행하는 블록체인(400)은 기록 처리부(410), 비교부(420), 및 거래 처리부(430)를 포함한다. Referring to FIG. 3 , a block chain 400 executing a smart contract according to an embodiment of the present invention includes a record processing unit 410 , a comparison unit 420 , and a transaction processing unit 430 .

기록 처리부(410)는 전력 거래 서버(300)로부터 암호문 쌍을 수신하면, 암호문 쌍의 요청자를 확인하여, 암호문 쌍을 판매자 목록 또는 구매자 목록에 기록한다. When the recording processing unit 410 receives the cipher text pair from the power transaction server 300 , it checks the requestor of the cipher text pair and records the cipher text pair in the seller list or the buyer list.

즉, 기록 처리부(410)는 암호문 쌍과 함께 수신받은 거래 방식을 이용하여 요청자가 구매자 또는 판매자인지 확인할 수 있다. 기록 처리부(410)는 요청자가 판매자인 경우 암호문 쌍을 판매자 목록에 기록하고, 구매자인 경우 암호문 쌍을 구매자 목록에 기록할 수 있다. That is, the record processing unit 410 may determine whether the requester is a buyer or a seller using the received transaction method together with the ciphertext pair. The record processing unit 410 may record the cipher text pair in the seller list if the requester is a seller, and may record the cipher text pair in the buyer list if the requester is a buyer.

비교부(420)는 판매자 목록의 판매자 암호문 쌍들에 대한 함수 복호화 연산을 적용하여 판매자 암호문 쌍에 인코딩된 판매 희망 금액들 간의 대소를 비교함으로써 판매자 목록 중 최솟값에 대한 판매자 암호문 쌍을 찾고, 구매자 목록의 구매자 암호문 쌍들에 대한 함수 복호화 연산을 적용하여 구매자 암호문 쌍에 인코딩된 구매 희망 금액들 간의 대소를 비교함으로써 구매자 목록 중 최댓값에 대한 구매자 암호문 쌍을 찾는다. 즉, 비교부(420)는 판매자 목록에서의 최솟값에 대한 암호문 쌍, 구매자 목록에서의 최댓값에 대한 암호문 쌍을 식별하기 위한 함수 복호화를 수행할 수 있다. 구체적으로, 비교부(420)는 판매자 A의 비밀키와 판매자 B의 암호문을 함수 복호화하여 내적 1 또는 0을 얻고 이를 이용하여 대소 관계를 판별하는 일을, 여러 판매자 쌍에 대해 반복함으로써, 판매자 목록에서 판매 희망 금액이 최소인 판매자의 암호문 쌍을 획득할 수 있다. 또한, 비교부(420)는 구매자 A의 비밀키와 구매자 B의 암호문을 함수 복호화하여 내적 1 또는 0을 얻고 이를 이용하여 대소 관계 판별하는 일을, 여러 구매자 쌍에 대해 반복함으로써, 구매자 목록에서 구매 희망 금액이 최대인 구매자의 암호문 쌍을 획득할 수 있다.The comparison unit 420 finds the seller cipher text pair for the minimum value among the seller list by comparing the magnitude between the desired sales amounts encoded in the seller cipher text pair by applying a function decryption operation to the seller cipher text pairs in the seller list, and By applying a functional decryption operation to the buyer ciphertext pairs, the purchaser ciphertext pair is found for the maximum value in the buyer list by comparing the magnitude between the desired purchase amounts encoded in the buyer ciphertext pair. That is, the comparison unit 420 may perform a function decryption for identifying the ciphertext pair for the minimum value in the seller list and the ciphertext pair for the maximum value in the buyer list. Specifically, the comparison unit 420 performs function-decryption of the secret key of the seller A and the cipher text of the seller B to obtain an inner product 1 or 0 and using this to determine the magnitude relationship, repeating the work for several seller pairs, the seller list You can acquire the cryptographic pair of the seller with the minimum desired sale amount. In addition, the comparison unit 420 performs function-decryption of the secret key of the buyer A and the cipher text of the buyer B to obtain an inner product 1 or 0, and using this to determine the magnitude relationship, by repeating for several pairs of buyers, purchase from the buyer list It is possible to obtain the ciphertext pair of the buyer with the maximum desired amount.

상술한 바와 같이 비교부(420)는 판매자 목록에서 판매 희망 금액이 최소인 판매자의 암호문 쌍을 획득할 수 있고, 구매자 목록에서 구매 희망 금액이 최대인 구매자의 암호문 쌍을 획득할 수 있다. As described above, the comparison unit 420 may obtain a pair of cipher texts of a seller having a minimum desired sale amount from the seller list, and may obtain a cipher text pair of a buyer having a maximum desired purchase amount from the buyer list.

예를 들어, 판매자 목록 또는 구매자 목록에서 비교하고자 하는 두 사용자 U, N의 암호문 쌍을 각각

Figure pat00013
,
Figure pat00014
라 하면, 비교부(420)는
Figure pat00015
를 이용하여 암호문 쌍
Figure pat00016
,
Figure pat00017
에 대한 함수 복호화를 진행함으로써 U가 제시한 값과 N이 제시한 값을 모르는 상태로 이들에 대한 대소 비교를 할 수 있다. 만약 U의 거래 희망 금액이 5이면,
Figure pat00018
이고, N의 거래 희망 금액이 6이면,
Figure pat00019
일 것이므로
Figure pat00020
의 결과, 즉
Figure pat00021
Figure pat00022
의 내적이 1이 되어 N의 거래 희망 금액이 더 큰 것을 확인할 수 있다. 또한, N의 거래 희망 금액이 4이면,
Figure pat00023
이므로
Figure pat00024
의 결과가 0이 되어 N의 거래 희망 금액이 더 적은 것을 확인할 수 있다. 이러한 방식을 이용하여 스마트 컨트랙트 실행자는 다수 사용자의 요청들을 비교함으로써 각각 판매자 목록 중 최솟값에 대한 암호문 쌍, 구매자 목록 중 최댓값에 대한 암호문 쌍을 확인할 수 있다. 이때, 최솟값과 최댓값이 무엇인지는 알 수 없을 수 있다.For example, the ciphertext pairs of two users U and N that you want to compare in the seller list or the buyer list
Figure pat00013
,
Figure pat00014
If , the comparison unit 420 is
Figure pat00015
ciphertext pair using
Figure pat00016
,
Figure pat00017
By performing function decoding for , it is possible to compare the magnitudes of the values presented by U and the values presented by N without knowing them. If U's desired transaction amount is 5,
Figure pat00018
and if the desired transaction amount of N is 6,
Figure pat00019
because it will be
Figure pat00020
the result of, i.e.
Figure pat00021
Wow
Figure pat00022
It can be confirmed that the dot product of N becomes 1, indicating that the desired transaction amount of N is larger. In addition, if the desired transaction amount of N is 4,
Figure pat00023
Because of
Figure pat00024
As the result of is 0, it can be confirmed that the desired transaction amount of N is smaller. By using this method, the smart contract executor can check the ciphertext pair for the minimum value in the seller list and the ciphertext pair for the maximum value in the buyer list by comparing the requests of multiple users. In this case, it may not be known what the minimum and maximum values are.

거래 처리부(430)는 판매자 목록에서의 최솟값에 대한 암호문 쌍, 및 구매자 목록에서의 최댓값에 대한 암호문 쌍을 함수 복호화하여, 판매자 목록에서의 최솟값이 무엇인지, 구매자 목록에서의 최댓값이 무엇인지 모르는 상태로 이들에 대한 대소 비교만 함으로써 거래 성공 여부를 결정하고, 거래 성공 여부 정보를 전력 거래 서버(300)로 전송한다.The transaction processing unit 430 function-decrypts the ciphertext pair for the minimum value in the seller list, and the ciphertext pair for the maximum value in the buyer list, what is the minimum value in the seller list, and the state does not know what the maximum value in the buyer list is to determine whether the transaction succeeds or not by only comparing the magnitudes of these, and transmits information on whether the transaction is successful to the power transaction server 300 .

거래 처리부(430)가 수행하는 대소 비교 연산은 비교부(420)가 수행하는 대소 비교 연산과 유사한 방식으로 수행될 수 있다. 즉, 거래 처리부(430)는 판매자 목록에서의 최솟값에 대한 암호문 쌍 및 구매자 목록에서의 최댓값에 대한 암호문 쌍을 함수 복호화하여 내적을 산출하고, 산출된 내적에 기초하여 해당 판매자와 구매자 간의 거래 성공 여부를 결정할 수 있다. 이때, 거래 처리부(430)는 판매자 목록 중 최솟값에 대한 암호문 쌍의 비밀키와 구매자 목록 중 최댓값에 대한 구매자 암호문 쌍의 암호문에 대해 함수 복호화 연산을 적용함으로써 판매자 목록 중 최솟값에 대해 인코딩된 제1 벡터 및 구매자 목록 중 최댓값에 대해 인코딩된 제2 벡터 간의 내적 결과를 산출하고, 산출된 내적이 '1'인 경우 구매자 목록에서의 최댓값이 판매자 목록에서의 최솟값보다 크거나 같아 판매자와 구매자 간의 거래 성공으로 결정할 수 있고, 내적이 '0'인 경우 판매자와 구매자 간의 거래 실패로 결정할 수 있다.The comparison operation performed by the transaction processing unit 430 may be performed in a similar manner to the comparison operation performed by the comparison unit 420 . That is, the transaction processing unit 430 function-decrypts the ciphertext pair for the minimum value in the seller list and the ciphertext pair for the maximum value in the buyer list to calculate the inner product, and whether the transaction between the seller and the buyer is successful based on the calculated inner product can be decided At this time, the transaction processing unit 430 applies a function decryption operation to the ciphertext of the ciphertext pair secret key for the minimum value among the seller list and the ciphertext of the buyer ciphertext pair for the maximum value in the buyer list, thereby encoding the first vector encoded for the minimum value in the seller list. and a result of the dot product between the second vector encoded for the maximum value in the buyer list, and if the calculated dot product is '1', the maximum value in the buyer list is greater than or equal to the minimum value in the seller list. It can be determined, and when the inner product is '0', it can be determined as a transaction failure between the seller and the buyer.

거래 처리부(430)는 판매자와 구매자 간의 거래 성공으로 결정한 경우, 판매자의 주소 및 전력 거래 정보, 구매자의 주소 및 전력 거래 정보를 전력 거래 서버(300)로 전송할 수 있다. When it is determined that the transaction between the seller and the buyer is successful, the transaction processing unit 430 may transmit the seller's address and power transaction information, the buyer's address and power transaction information to the electricity transaction server 300 .

상기의 모든 과정은 블록체인(400) 상의 smart contract에 의해 이루어지므로 조작이 불가능하며, 따라서 거래 결정 과정의 무결성이 보장될 수 있다. 그러나 모든 거래 금액은 암호화되어 있으므로, 거래 희망 금액이나 매칭된 금액 등의 정보를 보호할 수 있다. Since all the above processes are performed by the smart contract on the block chain 400, manipulation is impossible, and thus the integrity of the transaction decision process can be guaranteed. However, since all transaction amounts are encrypted, information such as a desired transaction amount or a matched amount can be protected.

도 4는 본 발명의 일 실시예에 따른 블록체인 기반 전력 거래 방법을 설명하기 위한 도면이다. 4 is a diagram for explaining a blockchain-based power transaction method according to an embodiment of the present invention.

도 4를 참조하면, 사용자 장치(100)는 거래 방식, 거래량 및 거래 희망 금액을 포함하는 전력 거래 정보를 입력받으면(S410), 입력받은 전력 거래 정보를 전력 거래 서버(300)로 전송한다(S420).Referring to FIG. 4 , when the user device 100 receives power transaction information including a transaction method, a transaction amount, and a desired transaction amount ( S410 ), the user device 100 transmits the received power transaction information to the power transaction server 300 ( S420 ). ).

S420 단계가 수행되면, 전력 거래 서버(300)는 전력 거래 정보를 인코딩하여 제1 벡터 및 제2 벡터를 생성한다(S430). 즉, 전력 거래 서버(300)는 거래 희망 금액을 단위 전력당 거래 금액 범위와 비교하고, 그 비교결과에 기초하여 제1 벡터를 생성할 수 있다. 또한, 전력 거래 서버(300)는 거래 희망 금액을 one-hot 인코딩하여 제2 벡터를 생성할 수 있다. When step S420 is performed, the power transaction server 300 generates a first vector and a second vector by encoding the power transaction information (S430). That is, the power transaction server 300 may compare the desired transaction amount with the transaction amount range per unit power, and generate a first vector based on the comparison result. In addition, the power transaction server 300 may generate a second vector by one-hot encoding the desired transaction amount.

S430 단계가 수행되면, 전력 거래 서버(300)는 제1 벡터에 대한 비밀키를 생성하고, 제2 벡터에 대한 암호문을 생성하며(S440), 생성된 비밀키 및 암호문을 포함하는 암호문 쌍을 블록체인(400)에 전송하여 기록한다(S450). 즉, 전력 거래 서버(300)는 키 생성 알고리즘을 이용하여 제1 벡터에 대한 비밀키를 생성하고, 암호화 알고리즘을 이용하여 제2 벡터에 대한 암호문을 생성한 후, 비밀키 및 암호문을 포함하는 암호문 쌍을 블록체인(400)으로 전송할 수 있다. 그러면, 블록체인(400)은 암호문 쌍과 함께 수신받은 거래 방식을 이용하여 요청자가 구매자 또는 판매자인지 확인하고, 요청자가 판매자인 경우 암호문 쌍을 판매자 목록에 기록하고, 구매자인 경우 암호문 쌍을 구매자 목록에 기록할 수 있다. When step S430 is performed, the power transaction server 300 generates a secret key for the first vector, generates a ciphertext for the second vector (S440), and blocks the ciphertext pair including the generated secret key and the ciphertext. It is transmitted to the chain 400 and recorded (S450). That is, the power transaction server 300 generates a secret key for the first vector using a key generation algorithm, generates a cipher text for the second vector using an encryption algorithm, and then a cipher text including the secret key and the cipher text. The pair can be transmitted to the blockchain 400 . Then, the blockchain 400 checks whether the requester is a buyer or a seller using the transaction method received with the cipher text pair, records the cipher text pair in the seller list if the requester is a seller, and records the cipher text pair on the buyer list if the buyer is the buyer can be recorded in

S450 단계가 수행되면, 블록체인(400)은 판매자 목록의 판매자 암호문 쌍들에 대한 함수 복호화 연산을 적용하여 판매자 목록 중 최솟값에 대한 판매자 암호문 쌍을 찾고, 구매자 목록의 구매자 암호문 쌍들에 대한 함수 복호화 연산을 적용하여 구매자 목록 중 최댓값에 대한 구매자 암호문 쌍을 찾는다(S460). 즉, 블록체인(400)은 판매자 목록의 판매자 암호문 쌍들에 대한 함수 복호화 연산을 적용하여 판매자 암호문 쌍에 인코딩된 판매 희망 금액들 간의 대소를 비교함으로써 판매자 목록 중 최솟값에 대한 판매자 암호문 쌍을 찾고, 구매자 목록의 구매자 암호문 쌍들에 대한 함수 복호화 연산을 적용하여 구매자 암호문 쌍에 인코딩된 구매 희망 금액들 간의 대소를 비교함으로써 구매자 목록 중 최댓값에 대한 구매자 암호문 쌍을 찾을 수 있다. When step S450 is performed, the blockchain 400 applies a function decryption operation to the seller ciphertext pairs in the seller list to find the seller ciphertext pair for the minimum value in the seller list, and performs a function decryption operation for the buyer ciphertext pairs in the buyer list Applied to find the buyer ciphertext pair for the maximum value in the buyer list (S460). That is, the blockchain 400 applies a function decryption operation to the seller ciphertext pairs in the seller list to compare the magnitude between the desired sales amounts encoded in the seller ciphertext pair to find the seller ciphertext pair for the minimum value in the seller list, and the buyer By applying a functional decryption operation to the buyer ciphertext pairs in the list, and comparing the magnitude between the desired purchase amounts encoded in the buyer ciphertext pair, the buyer ciphertext pair for the maximum value in the buyer list can be found.

S460 단계가 수행되면, 블록체인(400)은 최솟값에 대한 판매자 암호문 쌍 및 최댓값에 대한 구매자 암호문 쌍을 함수 복호화하여 내적을 산출하고(S470), 산출된 내적에 기초하여 거래 성공 여부를 결정하며(S480), 거래 성공 여부 정보를 전력 거래 서버(300)로 전송한다(S490). 즉, 블록체인(400)은 판매자 목록 중 최솟값에 대해 인코딩된 제1 벡터 및 구매자 목록 중 최댓값에 대해 인코딩된 제2 벡터 간의 내적 결과를 산출하고, 산출된 내적이 '1'인 경우 구매자 목록에서의 최댓값이 판매자 목록에서의 최솟값보다 크거나 같아 판매자와 구매자 간의 거래 성공으로 결정할 수 있고, 내적이 '0'인 경우 판매자와 구매자 간의 거래 실패로 결정할 수 있다.When step S460 is performed, the block chain 400 function-decrypts the seller ciphertext pair for the minimum value and the buyer ciphertext pair for the maximum value to calculate the inner product (S470), and determines whether the transaction is successful based on the calculated inner product ( S480), the transaction success information is transmitted to the power transaction server 300 (S490). That is, the block chain 400 calculates the dot product result between the first vector encoded for the minimum value in the seller list and the second vector encoded for the maximum value in the buyer list, and when the calculated dot product is '1', in the buyer list If the maximum value of is greater than or equal to the minimum value in the seller list, it can be determined as a transaction success between the seller and the buyer, and when the dot product is '0', it can be determined as a transaction failure between the seller and the buyer.

상술한 바와 같이 본 발명의 일 실시예에 따른 블록체인 기반 전력 거래 시스템 및 방법은, 블록체인 기반의 함수암호 기법을 이용하여 거래 데이터를 암호화하여 보호함과 동시에, 거래 당사자 이외의 제3자는 거래 내용을 모르면서도 결과의 무결성 증명에 기여할 수 있다. 즉, 암호화된 상태에서 크기 비교가 가능하기 때문에 거래 내용을 제3자가 확인하지 못하더라도 크기 비교의 결과는 알 수 있고, 이로 인해 블록체인의 기밀성 문제를 해결할 수 있다. As described above, the blockchain-based power transaction system and method according to an embodiment of the present invention encrypts and protects transaction data using a block-chain-based function encryption technique, and at the same time, a third party other than the transaction party conducts the transaction. Without knowing the content, it can contribute to the proof of the integrity of the result. In other words, since size comparison is possible in an encrypted state, even if a third party cannot confirm the transaction details, the result of the size comparison can be known, thereby solving the problem of confidentiality of the block chain.

본 발명은 도면에 도시된 실시예를 참고로 하여 설명되었으나, 이는 예시적인 것에 불과하며, 당해 기술이 속하는 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호범위는 아래의 특허청구범위에 의해서 정하여져야 할 것이다. Although the present invention has been described with reference to the embodiments shown in the drawings, this is only exemplary, and those skilled in the art to which the art pertains can make various modifications and equivalent other embodiments therefrom. will understand Therefore, the true technical protection scope of the present invention should be defined by the following claims.

100 : 사용자 장치
300 : 전력 거래 서버
310 : 인터페이스부
320 : 인코딩부
330 : 암호화부
340 : 제어부
400 : 블록체인
410 : 기록 처리부
420 : 비교부
430 : 거래 처리부
100: user device
300: power trading server
310: interface unit
320: encoding unit
330: encryption unit
340: control unit
400: Blockchain
410: record processing unit
420: comparison unit
430: transaction processing unit

Claims (18)

전력 거래 정보를 입력받는 사용자 장치;
상기 사용자 장치로부터 전력 거래 정보를 수신하고, 상기 전력 거래 정보를 인코딩하며, 상기 인코딩된 정보를 암호화하는 전력 거래 서버; 및
상기 전력 거래 서버로부터 암호문 쌍을 수신하면, 상기 암호문 쌍을 판매자 목록 또는 구매자 목록에 입력하고, 상기 판매자 목록 및 구매자 목록에 있는 판매자 암호문 쌍들 및 구매자 암호문 쌍들을 이용하여 거래 성공 여부를 결정하며, 거래 성공 여부 정보를 상기 전력 거래 서버로 전송하는 블록체인
을 포함하는 블록체인 기반 전력 거래 시스템.
a user device receiving power transaction information;
a power transaction server that receives power transaction information from the user device, encodes the power transaction information, and encrypts the encoded information; and
Upon receiving the ciphertext pair from the power transaction server, input the ciphertext pair into a seller list or a buyer list, and determine whether a transaction is successful using the seller ciphertext pairs and the buyer ciphertext pairs in the seller list and the buyer list, A block chain that transmits success or failure information to the power transaction server
A blockchain-based power trading system that includes
제1항에 있어서,
상기 전력 거래 서버는,
상기 전력 거래 정보의 거래 희망 금액을 인코딩하여 제1 벡터 및 제2 벡터를 생성하는 인코딩부; 및
상기 제1 벡터에 대한 비밀키를 생성하고, 상기 제2 벡터에 대한 암호문을 생성하며, 상기 생성된 비밀키 및 암호문을 포함하는 암호문 쌍을 블록체인에 전송하는 암호화부를 포함하는 것을 특징으로 하는 블록체인 기반 전력 거래 시스템.
According to claim 1,
The power transaction server,
an encoding unit generating a first vector and a second vector by encoding the desired transaction amount of the power transaction information; and
A block comprising an encryption unit for generating a secret key for the first vector, generating a cipher text for the second vector, and transmitting a cipher text pair including the generated secret key and cipher text to a block chain Chain-based power trading system.
제2항에 있어서,
상기 인코딩부는,
상기 거래 희망 금액을 기 설정된 단위 전력당 거래 금액 범위와 비교하고, 그 비교결과를 기초로 상기 거래 희망 금액을 인코딩하여 제1 벡터 및 제2 벡터를 생성하는 것을 특징으로 하는 블록체인 기반 전력 거래 시스템.
3. The method of claim 2,
The encoding unit,
A block chain-based power trading system, characterized in that the desired transaction amount is compared with a preset transaction amount range per unit power, and a first vector and a second vector are generated by encoding the desired transaction amount based on the comparison result. .
제3항에 있어서,
상기 암호화부는,
키 생성 알고리즘을 이용하여 상기 제1 벡터에 대한 비밀키를 생성하고, 암호화 알고리즘을 이용하여 상기 제2 벡터에 대한 암호문을 생성한 후, 상기 비밀키 및 암호문을 포함하는 암호문 쌍을 상기 블록체인으로 전송하는 것을 특징으로 하는 블록체인 기반 전력 거래 시스템.
4. The method of claim 3,
The encryption unit,
After generating a secret key for the first vector using a key generation algorithm, and generating a cipher text for the second vector using an encryption algorithm, a cipher text pair including the secret key and the cipher text is converted into the block chain. A blockchain-based power trading system characterized by transmitting.
제1항에 있어서,
상기 블록체인은,
상기 전력 거래 서버로부터 암호문 쌍을 수신하면, 상기 암호문 쌍의 요청자를 확인하여, 판매자 목록 또는 구매자 목록에 기록하는 기록 처리부;
상기 판매자 목록의 판매자 암호문 쌍들에 대한 함수 복호화 연산을 적용하여 최솟값에 대한 판매자 암호문 쌍을 찾고, 상기 구매자 목록의 구매자 암호문 쌍들에 대한 함수 복호화 연산을 적용하여 최댓값에 대한 구매자 암호문 쌍을 찾는 비교부; 및
상기 최솟값에 대한 판매자 암호문 쌍 및 상기 최댓값에 대한 구매자 암호문 쌍을 함수 복호화 연산하여, 거래 성공 여부를 결정하고, 거래 성공 여부 정보를 상기 전력 거래 서버로 전송하는 거래 처리부를 포함하는 것을 특징으로 하는 블록체인 기반 전력 거래 시스템.
According to claim 1,
The blockchain is
a record processing unit that, upon receiving the ciphertext pair from the power transaction server, checks the requestor of the ciphertext pair and records it in a seller list or a buyer list;
A comparison unit that finds a seller ciphertext pair for the minimum value by applying a function decryption operation to the seller ciphertext pairs of the seller list, and finds a buyer ciphertext pair for the maximum value by applying a function decryption operation to the buyer ciphertext pairs of the buyer list; and
A transaction processing unit that performs a function decryption operation on the seller ciphertext pair for the minimum value and the buyer ciphertext pair for the maximum value, determines whether the transaction is successful, and transmits the transaction success information to the power transaction server Block characterized in that it comprises a Chain-based power trading system.
제5항에 있어서,
상기 비교부는,
상기 판매자 목록의 판매자 암호문 쌍들에 대한 함수 복호화 연산을 적용하여 판매자 암호문 쌍에 인코딩된 판매 희망 금액들 간의 대소를 비교함으로써 상기 판매자 목록 중 최솟값에 대한 판매자 암호문 쌍을 찾고, 상기 구매자 목록의 구매자 암호문 쌍들에 대한 함수 복호화 연산을 적용하여 구매자 암호문 쌍에 인코딩된 구매 희망 금액들 간의 대소를 비교함으로써 상기 구매자 목록 중 최댓값에 대한 구매자 암호문 쌍을 찾는 것을 특징으로 하는 블록체인 기반 전력 거래 시스템.
6. The method of claim 5,
The comparison unit,
By applying a function decryption operation to the seller cipher text pairs of the seller list, by comparing the magnitude between the desired sales amounts encoded in the seller cipher text pair, the seller cipher text pair for the minimum value in the seller list is found, and the buyer cipher text pairs of the buyer list A block chain-based power transaction system, characterized in that by applying a function decryption operation to the purchaser cryptogram pair and comparing the magnitude between the desired purchase amounts encoded in the buyer cryptogram pair, the buyer cryptogram pair for the maximum value in the buyer list is found.
제5항에 있어서,
상기 거래 처리부는,
상기 최솟값에 대한 판매자 암호문 쌍 및 상기 최댓값에 대한 구매자 암호문 쌍을 함수 복호화하여 내적을 산출하고, 상기 산출된 내적에 기초하여 해당 판매자와 구매자 간의 거래 성공 여부를 결정하는 것을 특징으로 하는 블록체인 기반 전력 거래 시스템.
6. The method of claim 5,
The transaction processing unit,
A block chain-based power, characterized in that the seller cipher text pair for the minimum value and the buyer cipher text pair for the maximum value are function-decrypted to calculate an inner product, and based on the calculated inner product, whether a transaction between the seller and the buyer is successful or not trading system.
제7항에 있어서,
상기 거래 처리부는,
상기 최솟값에 대한 판매자 암호문 쌍의 비밀키와 상기 최댓값에 대한 구매자 암호문 쌍의 암호문에 대해 함수 복호화 연산을 적용함으로써 상기 판매자 목록 중 최솟값에 대해 인코딩된 제1 벡터 및 상기 구매자 목록 중 최댓값에 대해 인코딩된 제2 벡터의 내적 결과를 산출하고, 상기 산출된 내적이 '1'인 경우 상기 판매자와 구매자 간의 거래 성공으로 결정하며, 상기 내적이 '0'인 상기 판매자와 구매자 간의 거래 실패로 결정하는 것을 특징으로 하는 블록체인 기반 전력 거래 시스템.
8. The method of claim 7,
The transaction processing unit,
By applying a functional decryption operation to the secret key of the seller ciphertext pair for the minimum value and the ciphertext of the buyer ciphertext pair for the maximum value, the first vector encoded for the minimum value in the seller list and the first vector encoded for the maximum value in the buyer list calculating the result of the dot product of the second vector, determining that the transaction between the seller and the buyer is successful when the calculated dot product is '1', and determining that the transaction fails between the seller and the buyer whose dot product is '0' A blockchain-based power trading system with
제8항에 있어서,
상기 거래 처리부는,
상기 판매자와 구매자 간의 거래 성공으로 결정한 경우, 상기 판매자의 주소 및 전력 거래 정보, 상기 구매자의 주소 및 전력 거래 정보를 상기 전력 거래 서버로 전송하는 것을 특징으로 하는 블록체인 기반 전력 거래 시스템.
9. The method of claim 8,
The transaction processing unit,
When it is determined that the transaction between the seller and the buyer is successful, the seller's address and power transaction information, and the buyer's address and electricity transaction information are transmitted to the electricity transaction server.
전력 거래 서버가 사용자 장치로부터 전력 거래 정보를 수신하면, 상기 전력 거래 정보를 인코딩하고, 상기 인코딩된 정보를 암호화하는 단계; 및
블록체인이 상기 전력 거래 서버로부터 암호문 쌍을 수신하면, 상기 암호문 쌍을 판매자 목록 또는 구매자 목록에 입력하고, 상기 판매자 목록 및 구매자 목록에 있는 판매자 암호문 쌍들 및 구매자 암호문 쌍들을 이용하여 거래 성공 여부를 결정하며, 거래 성공 여부 정보를 상기 전력 거래 서버로 전송하는 단계
를 포함하는 블록체인 기반 전력 거래 방법.
when the power transaction server receives the power transaction information from the user device, encoding the power transaction information, and encrypting the encoded information; and
When the block chain receives the ciphertext pair from the power transaction server, it inputs the ciphertext pair to the seller list or the buyer list, and determines whether the transaction succeeds using the seller ciphertext pairs and the buyer ciphertext pairs in the seller list and the buyer list and transmitting transaction success information to the power transaction server.
A blockchain-based power transaction method that includes
제10항에 있어서,
상기 전력 거래 정보를 인코딩하고, 상기 인코딩된 정보를 암호화하는 단계는,
상기 전력 거래 서버가 상기 전력 거래 정보의 거래 희망 금액을 인코딩하여 제1 벡터 및 제2 벡터를 생성하는 단계; 및
상기 전력 거래 서버가 상기 제1 벡터에 대한 비밀키를 생성하고, 상기 제2 벡터에 대한 암호문을 생성하며, 상기 생성된 비밀키 및 암호문을 포함하는 암호문 쌍을 블록체인에 전송하는 단계를 포함하는 것을 특징으로 하는 블록체인 기반 전력 거래 방법.
11. The method of claim 10,
Encoding the power transaction information, and encrypting the encoded information,
generating, by the power transaction server, a first vector and a second vector by encoding the desired transaction amount of the power transaction information; and
The power transaction server generates a secret key for the first vector, generates a cipher text for the second vector, and transmits a cipher text pair including the generated secret key and cipher text to a block chain. A blockchain-based power transaction method, characterized in that.
제11항에 있어서,
상기 제1 벡터 및 제2 벡터를 생성하는 단계에서,
상기 전력 거래 서버는, 상기 거래 희망 금액을 기 설정된 단위 전력당 거래 금액 범위와 비교하고, 그 비교결과를 기초로 상기 거래 희망 금액을 인코딩하여 제1 벡터 및 제2 벡터를 생성하는 것을 특징으로 하는 블록체인 기반 전력 거래 방법.
12. The method of claim 11,
In the step of generating the first vector and the second vector,
wherein the power transaction server compares the desired transaction amount with a preset transaction amount range per unit power, and encodes the desired transaction amount based on the comparison result to generate first and second vectors Blockchain-based electricity trading method.
제11항에 있어서,
상기 생성된 비밀키 및 암호문을 포함하는 암호문 쌍을 블록체인에 전송하는 단계에서,
상기 전력 거래 서버는 키 생성 알고리즘을 이용하여 상기 제1 벡터에 대한 비밀키를 생성하고, 암호화 알고리즘을 이용하여 상기 제2 벡터에 대한 암호문을 생성한 후, 상기 비밀키 및 암호문을 포함하는 암호문 쌍을 상기 블록체인으로 전송하는 것을 특징으로 하는 블록체인 기반 전력 거래 방법.
12. The method of claim 11,
In the step of transmitting the ciphertext pair including the generated secret key and ciphertext to the block chain,
The power transaction server generates a secret key for the first vector using a key generation algorithm, generates a cipher text for the second vector using an encryption algorithm, and then a cipher text pair including the secret key and the cipher text A block chain-based power transaction method, characterized in that it is transmitted to the block chain.
제10항에 있어서,
상기 거래 성공 여부 정보를 상기 전력 거래 서버로 전송하는 단계는,
상기 블록체인이 상기 전력 거래 서버로부터 암호문 쌍을 수신하면, 상기 암호문 쌍의 요청자를 확인하여, 판매자 목록 또는 구매자 목록에 기록하는 단계;
상기 블록체인이 상기 판매자 목록의 판매자 암호문 쌍들에 대한 함수 복호화 연산을 적용하여 최솟값에 대한 판매자 암호문 쌍을 찾고, 상기 구매자 목록의 구매자 암호문 쌍들에 대한 함수 복호화 연산을 적용하여 최댓값에 대한 구매자 암호문 쌍을 찾는 단계; 및
상기 블록체인이 상기 최솟값에 대한 판매자 암호문 쌍 및 상기 최댓값에 대한 구매자 암호문 쌍을 함수 복호화 연산하여, 거래 성공 여부를 결정하고, 거래 성공 여부 정보를 상기 전력 거래 서버로 전송하는 단계를 포함하는 것을 특징으로 하는 블록체인 기반 전력 거래 시스템.
11. The method of claim 10,
Transmitting the transaction success information to the power transaction server comprises:
when the block chain receives the cipher text pair from the power transaction server, checking the requestor of the cipher text pair and recording it in a seller list or a buyer list;
The block chain applies a function decryption operation to the seller ciphertext pairs of the seller list to find the seller ciphertext pair for the minimum value, and applies the function decryption operation to the buyer ciphertext pairs in the buyer list to obtain the buyer ciphertext pair for the maximum value finding; and
The block chain performs a function decryption operation on the seller cipher text pair for the minimum value and the buyer cipher text pair for the maximum value, determining whether the transaction is successful, and transmitting information on whether the transaction is successful or not to the power transaction server A blockchain-based power trading system with
제14항에 있어서,
상기 최댓값에 대한 구매자 암호문 쌍을 찾는 단계에서,
상기 블록체인은, 상기 판매자 목록의 판매자 암호문 쌍들에 대한 함수 복호화 연산을 적용하여 판매자 암호문 쌍에 인코딩된 판매 희망 금액들 간의 대소를 비교함으로써 상기 판매자 목록 중 최솟값에 대한 판매자 암호문 쌍을 찾고, 상기 구매자 목록의 구매자 암호문 쌍들에 대한 함수 복호화 연산을 적용하여 구매자 암호문 쌍에 인코딩된 구매 희망 금액들 간의 대소를 비교함으로써 상기 구매자 목록 중 최댓값에 대한 구매자 암호문 쌍을 찾는 것을 특징으로 하는 블록체인 기반 전력 거래 방법.
15. The method of claim 14,
In the step of finding the buyer ciphertext pair for the maximum value,
The block chain applies a function decryption operation to the seller ciphertext pairs of the seller list to find the seller ciphertext pair for the minimum value in the seller list by comparing the magnitude between the desired sales amounts encoded in the seller ciphertext pair, and the buyer A block chain-based power transaction method, characterized in that by applying a functional decryption operation to the buyer cryptogram pairs in the list to find the buyer cryptogram pair for the maximum value in the buyer list by comparing the magnitude between the desired purchase amounts encoded in the buyer cryptogram pair .
제14항에 있어서,
상기 거래 성공 여부 정보를 상기 전력 거래 서버로 전송하는 단계에서,
상기 블록체인은 상기 최솟값에 대한 판매자 암호문 쌍 및 상기 최댓값에 대한 구매자 암호문 쌍을 함수 복호화하여 내적을 산출하고, 상기 산출된 내적에 기초하여 해당 판매자와 구매자 간의 거래 성공 여부를 결정하는 것을 특징으로 하는 블록체인 기반 전력 거래 방법.
15. The method of claim 14,
In the step of transmitting the transaction success information to the power transaction server,
The block chain function-decrypts the seller cipher text pair for the minimum value and the buyer cipher text pair for the maximum value to calculate an inner product, and determines whether a transaction between the seller and the buyer succeeds based on the calculated inner product Blockchain-based electricity trading method.
제16항에 있어서,
상기 거래 성공 여부 정보를 상기 전력 거래 서버로 전송하는 단계에서,
상기 블록체인은 상기 최솟값에 대한 판매자 암호문 쌍의 비밀키와 상기 최댓값에 대한 구매자 암호문 쌍의 암호문에 대해 함수 복호화 연산을 적용함으로써 상기 판매자 목록 중 최솟값에 대해 인코딩된 제1 벡터 및 상기 구매자 목록 중 최댓값에 대해 인코딩된 제2 벡터의 내적 결과를 산출하고, 상기 산출된 내적이 '1'인 경우 상기 판매자와 구매자 간의 거래 성공으로 결정하며, 상기 내적이 '0'인 상기 판매자와 구매자 간의 거래 실패로 결정하는 것을 특징으로 하는 블록체인 기반 전력 거래 방법.
17. The method of claim 16,
In the step of transmitting the transaction success information to the power transaction server,
The block chain applies a functional decryption operation to the secret key of the seller ciphertext pair for the minimum value and the ciphertext of the buyer ciphertext pair for the maximum value, whereby the first vector encoded for the minimum value in the seller list and the maximum value in the buyer list Calculates the result of the dot product of the second vector encoded with respect to , and if the calculated dot product is '1', it is determined as a transaction success between the seller and the buyer, and as a transaction failure between the seller and the buyer whose dot product is '0' A blockchain-based power transaction method characterized by determining.
제17항에 있어서,
상기 판매자와 구매자 간의 거래 성공으로 결정한 경우, 상기 판매자의 주소 및 전력 거래 정보, 상기 구매자의 주소 및 전력 거래 정보를 상기 전력 거래 서버로 전송하는 것을 특징으로 하는 블록체인 기반 전력 거래 방법.
18. The method of claim 17,
When it is determined that the transaction between the seller and the buyer is successful, the block chain-based electricity transaction method, characterized in that the seller's address and power transaction information, and the buyer's address and electricity transaction information are transmitted to the electricity transaction server.
KR1020190156426A 2019-11-29 2019-11-29 System and method for trading power based on blockchain KR20210067125A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190156426A KR20210067125A (en) 2019-11-29 2019-11-29 System and method for trading power based on blockchain
PCT/KR2020/007773 WO2021107304A1 (en) 2019-11-29 2020-06-16 Blockchain-based electric power transaction system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190156426A KR20210067125A (en) 2019-11-29 2019-11-29 System and method for trading power based on blockchain

Publications (1)

Publication Number Publication Date
KR20210067125A true KR20210067125A (en) 2021-06-08

Family

ID=76130308

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190156426A KR20210067125A (en) 2019-11-29 2019-11-29 System and method for trading power based on blockchain

Country Status (2)

Country Link
KR (1) KR20210067125A (en)
WO (1) WO2021107304A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113688405A (en) * 2021-07-08 2021-11-23 电子科技大学 Bidirectional authentication hybrid encryption method based on block chain
CN115204852A (en) * 2022-09-19 2022-10-18 广州海颐软件有限公司 Power transaction multi-market collaborative management system and method based on block chain technology
KR20230027730A (en) 2021-08-20 2023-02-28 (사)한국에너지융합협회 Power trading brokerage flatform and method

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113852598B (en) * 2021-08-06 2022-10-21 中标慧安信息技术股份有限公司 Internet of things data transaction process recording method based on block chain
CN117155680A (en) * 2023-09-13 2023-12-01 重庆大学 Privacy protection matching method and system for electric power data transaction

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3380984A4 (en) * 2015-11-24 2019-07-31 Ben-Ari, Adi A system and method for blockchain smart contract data privacy
KR101976401B1 (en) * 2017-08-17 2019-05-09 한국전력공사 Block-Chain based Electricity power trading system, Method thereof, and Computer readable Storage medium having the method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113688405A (en) * 2021-07-08 2021-11-23 电子科技大学 Bidirectional authentication hybrid encryption method based on block chain
KR20230027730A (en) 2021-08-20 2023-02-28 (사)한국에너지융합협회 Power trading brokerage flatform and method
CN115204852A (en) * 2022-09-19 2022-10-18 广州海颐软件有限公司 Power transaction multi-market collaborative management system and method based on block chain technology
CN115204852B (en) * 2022-09-19 2022-11-29 广州海颐软件有限公司 Power transaction multi-market collaborative management system and method based on block chain technology

Also Published As

Publication number Publication date
WO2021107304A1 (en) 2021-06-03

Similar Documents

Publication Publication Date Title
KR20210067125A (en) System and method for trading power based on blockchain
CN109347878B (en) Decentralized data verification and data security transaction system and method
CN109889504B (en) Decentralized data access right transaction method and system
JP2023509340A (en) Methods and systems for confirmation and transfer of property rights, electronic devices and storage media
KR20200106130A (en) Method and device for protecting sensitive data of transaction activity based on smart contract in blockchain
JP2021529397A (en) Systems and methods for blockchain address and owner verification
KR102302955B1 (en) Blockchain and cloud-based asset trading platform server that enables real asset trading through tokenization of assets and operating method thereof
CN111767582B (en) Electronic bidding method, device, equipment and storage medium based on block chain
CN109711841B (en) Data transaction method and system, platform and storage medium
CN112435026B (en) Method and device for protecting file transaction information by using zero-knowledge proof and electronic equipment
WO2021169767A1 (en) Data processing method and apparatus, device and medium
Tsai Supply chain financing scheme based on blockchain technology from a business application perspective
CN108805574B (en) Transaction method and system based on privacy protection
CN111210217A (en) Data processing method, device and storage medium
CN115203749A (en) Data transaction method and system based on block chain
CN109615376A (en) A kind of method of commerce and device based on zero-knowledge proof
CN114514550A (en) Partitioning requests into blockchains
WO2013153628A1 (en) Calculation processing system and calculation result authentication method
CN113051587B (en) Privacy protection intelligent transaction recommendation method, system and readable medium
KR102494873B1 (en) Transaction execution device to implement a virtual machine based on a zero-knowledge proof circuit for general operation verification
Carbonell et al. Secure multiparty payment with an intermediary entity
CN114417389A (en) Method for storing user asset limit through addition homomorphic encryption in block chain
CN114565382A (en) Transaction account anonymous payment method and system
KR20230040996A (en) Systems and methods for encrypted dark messaging continuity and bid negotiation over peer-to-peer (P2P) communication
Li et al. Achieving fair and accountable data trading for educational multimedia data based on blockchain