KR20210067125A - System and method for trading power based on blockchain - Google Patents
System and method for trading power based on blockchain Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 239000013598 vector Substances 0.000 claims description 79
- 238000012545 processing Methods 0.000 claims description 25
- 230000005611 electricity Effects 0.000 claims description 18
- 238000010586 diagram Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 4
- 238000012795 verification Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/06—Energy or water supply
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q2220/00—Business processing using cryptography
- G06Q2220/10—Usage protection of distributed data files
-
- Y—GENERAL 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
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS 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/00—Systems 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/20—Information technology specific aspects, e.g. CAD, simulation, modelling, system security
-
- Y—GENERAL 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
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS 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/00—Market activities related to the operation of systems integrating technologies related to power network operation or related to communication or information technologies
- Y04S50/12—Billing, 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
Description
본 발명은 블록체인 기반 전력 거래 시스템 및 방법에 관한 것으로서, 보다 상세하게는 블록체인 기술 기반의 전력거래 환경에서 거래 당사자 이외의 제 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
사용자 장치(100)는 전력을 구매하는 구매자 또는 전력을 판매하는 판매자일 수 있다. 사용자는 전력의 구매를 원하는지 또는 판매를 원하는지의 거래 방식, 거래하고자 하는 전력량과 거래 희망 금액을 입력할 수 있다. 이때 거래 금액의 범위는 한정되어 있을 수 있다. The
사용자 장치(100)는 거래 방식, 거래량 및 거래 희망 금액을 포함하는 전력 거래 정보를 통신망을 통해 전력 거래 서버(300)로 전송한다. The
도 1에서는 이해의 편의를 위해 하나의 사용자 장치(100)만을 도시하였으나, 다수의 사용자 장치(100)들이 구성될 수 있다. Although only one
전력 거래 서버(300)는 사용자 장치(100)로부터 전력 거래 정보를 수신하면, 그 전력 거래 정보를 인코딩하고, 인코딩된 정보를 암호화한다. 즉, 전력 거래 서버(300)는 전력 거래 정보의 거래 희망 금액을 인코딩하여 제1 벡터 및 제2 벡터를 생성한다. 그런 후, 전력 거래 서버(300)는 제1 벡터에 대한 비밀키를 생성하고, 제2 벡터에 대한 암호문을 생성하며, 생성된 비밀키 및 암호문을 포함하는 암호문 쌍을 블록체인(400)에 전송한다. When the
이러한 전력 거래 서버(300)에 대한 상세한 설명은 도 2를 참조하기로 한다. A detailed description of the
한편, 도 1에서는 전력 거래를 관리하는 장치를 전력 거래 서버(300)로 칭하여 설명하였으나, 이는 플랫폼, 스마트폰, 스마트 미터, 서버 등이 될 수 있다. 또한, 단순한 플랫폼을 거치는 것 이외에, 다수의 플랫폼을 거쳐서 사용자와 블록체인(400)을 연결하는 것 또한 가능하다. Meanwhile, in FIG. 1 , a device for managing power trade is referred to as a
블록체인(400)은 전력 거래 서버(300)로부터 암호문 쌍을 수신하면, 암호문 쌍을 판매자 목록 또는 구매자 목록에 입력하고, 판매자 목록 중 최솟값을 제시한 판매자의 암호문 쌍을 식별하며, 구매자 목록 중 최댓값을 제시한 구매자의 암호문 쌍을 식별하고, 판매자 목록 중 최솟값을 제시한 판매자의 암호문 쌍 및 구매자 목록 중 최댓값을 제시한 구매자의 암호문 쌍을 이용하여 거래 성공 여부를 결정하며, 거래 성공 여부 정보를 전력 거래 서버(300)로 전송한다. When the
블록체인(400)은 전력 거래 서버(300)에서 암호화된 정보에 대해 최적 매칭을 수행하여 전력 매매가 이루어지도록 할 수 있다. 이때, 블록체인(400)은 함수암호(functional encryption)를 이용하여, 암호화된 거래 정보에 대한 비교를 통해 거래가 매칭되도록 할 수 있다.The
함수암호란, 평문 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, )를 생성하는 것을 의미할 수 있다. 암호화는 y벡터에 대해 msk로 암호문(ciphertext, )를 생성하는 것을 의미할 수 있다. 함수 복호화는 라고 표기하며, 특정 함수에 비밀키()와 암호문()를 제공하면 두 벡터 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. ) can mean creating Encryption is ciphertext (ciphertext, msk for the y vector) ) can mean creating function decryption , and the secret key ( ) and ciphertext ( ) can mean returning the dot product of two vectors x and y.
블록체인(400)의 예로는 이더리움, 비트코인, 퀀텀 등이 있으며, 본 발명의 한 실시예에서는 이더리움을 예로 하여 설명하기로 한다. Examples of the
본 발명의 일 실시예로, 이더리움 블록체인(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
도 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
인터페이스부(310)는 사용자 장치(100)로부터 거래 방식, 거래량 및 거래 희망 금액을 포함하는 전력 거래 정보를 통신망을 통해 수신한다. The
인코딩부(320)는 전력 거래 정보를 인코딩하여 제1 벡터 및 제2 벡터를 생성한다. 이때, 인코딩부(320)는 전력 거래 정보의 거래 희망 금액을 인코딩할 수 있다. 또한, 인코딩부(320)는 인터페이스부(310)로부터 전달받은 전력 거래 정보들을 내적 결과값으로 크기를 비교할 수 있도록 인코딩할 수 있다. The
즉, 인코딩부(320)는 인코딩이 가능한 단위 전력당 거래 금액 값의 범위(P)를 확인할 수 있다. 여기서, 단위 전력당 거래 금액 값의 범위는 미리 설정된 범위일 수 있다. 그런 후, 인코딩부(320)는 거래 희망 금액을 단위 전력당 거래 금액 범위와 비교하고, 그 비교결과에 기초하여 제1 벡터를 생성한다. 예컨대, 인코딩부(320)는 거래 희망 금액보다 작은 인덱스는 0, 이외의 인덱스는 1의 형태를 가지는 제1 벡터를 생성할 수 있다. 또한, 인코딩부(320)는 거래 희망 금액을 one-hot 인코딩하여 제2 벡터를 생성할 수 있다. That is, the
예를 들어, 단위 전력당 거래 금액 값의 범위(P)가 P={1, ..., 10}이고, 거래 희망 금액으로 '5'를 넣었다면, 인코딩부(320)는 5보다 작은 인덱스는 0, 그 외의 인덱스는 1의 형태를 가지는 제1 벡터(Ua, )를 생성할 수 있다. 또한, 인코딩부(320)는 거래 희망 금액을 one-hot 인코딩하여 제2 벡터(Ub, )를 생성할 수 있다. 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
암호화부(330)는 제1 벡터에 대한 비밀키를 생성하고, 제2 벡터에 대한 암호문을 생성하며, 생성된 비밀키 및 암호문을 포함하는 암호문 쌍을 블록체인(400)에 전송한다. 즉, 암호화부(330)는 키 생성 알고리즘을 이용하여 제1 벡터에 대한 비밀키를 생성하고, 암호화 알고리즘을 이용하여 제2 벡터에 대한 암호문을 생성한 후, 비밀키 및 암호문을 포함하는 암호문 쌍을 블록체인(400)으로 전송한다. 여기서, 키 생성 알고리즘 및 암호화 알고리즘은 종래의 알고리즘을 이용할 수 있다. The
예를 들면, 암호화부(330)는 키 생성 알고리즘을 이용하여 제1 벡터()에 대한 비밀키(secret key, )를 생성하고, 암호화 알고리즘을 이용하여 제2 벡터()에 대한 암호문()를 생성한 후 암호문 쌍을 블록체인(400)에 전달할 수 있다. For example, the
암호화부(330)는 거래 방식, 사용자 식별정보 등을 암호문 쌍과 함께 블록체인(400)으로 전송할 수 있다. The
한편, 인코딩부(320) 및 암호화부(330)는 컴퓨팅 장치상에서 프로그램을 실행하기 위해 필요한 프로세서 등에 의해 각각 구현될 수 있다. 이처럼 인코딩부(320) 및 암호화부(330)는 물리적으로 독립된 각각의 구성에 의해 구현될 수도 있고, 하나의 프로세서 내에서 기능적으로 구분되는 형태로 구현될 수도 있다. Meanwhile, the
제어부(340)는 인터페이스부(310), 인코딩부(320) 및 암호화부(330)를 포함하는 전력 거래 서버(300)의 다양한 구성부들의 동작을 제어하는 구성으로, 적어도 하나의 연산 장치를 포함할 수 있는데, 여기서 상기 연산 장치는 범용적인 중앙연산장치(CPU), 특정 목적에 적합하게 구현된 프로그래머블 디바이스 소자(CPLD, FPGA), 주문형 반도체 연산장치(ASIC) 또는 마이크로 컨트롤러 칩일 수 있다.The
도 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
기록 처리부(410)는 전력 거래 서버(300)로부터 암호문 쌍을 수신하면, 암호문 쌍의 요청자를 확인하여, 암호문 쌍을 판매자 목록 또는 구매자 목록에 기록한다. When the
즉, 기록 처리부(410)는 암호문 쌍과 함께 수신받은 거래 방식을 이용하여 요청자가 구매자 또는 판매자인지 확인할 수 있다. 기록 처리부(410)는 요청자가 판매자인 경우 암호문 쌍을 판매자 목록에 기록하고, 구매자인 경우 암호문 쌍을 구매자 목록에 기록할 수 있다. That is, the
비교부(420)는 판매자 목록의 판매자 암호문 쌍들에 대한 함수 복호화 연산을 적용하여 판매자 암호문 쌍에 인코딩된 판매 희망 금액들 간의 대소를 비교함으로써 판매자 목록 중 최솟값에 대한 판매자 암호문 쌍을 찾고, 구매자 목록의 구매자 암호문 쌍들에 대한 함수 복호화 연산을 적용하여 구매자 암호문 쌍에 인코딩된 구매 희망 금액들 간의 대소를 비교함으로써 구매자 목록 중 최댓값에 대한 구매자 암호문 쌍을 찾는다. 즉, 비교부(420)는 판매자 목록에서의 최솟값에 대한 암호문 쌍, 구매자 목록에서의 최댓값에 대한 암호문 쌍을 식별하기 위한 함수 복호화를 수행할 수 있다. 구체적으로, 비교부(420)는 판매자 A의 비밀키와 판매자 B의 암호문을 함수 복호화하여 내적 1 또는 0을 얻고 이를 이용하여 대소 관계를 판별하는 일을, 여러 판매자 쌍에 대해 반복함으로써, 판매자 목록에서 판매 희망 금액이 최소인 판매자의 암호문 쌍을 획득할 수 있다. 또한, 비교부(420)는 구매자 A의 비밀키와 구매자 B의 암호문을 함수 복호화하여 내적 1 또는 0을 얻고 이를 이용하여 대소 관계 판별하는 일을, 여러 구매자 쌍에 대해 반복함으로써, 구매자 목록에서 구매 희망 금액이 최대인 구매자의 암호문 쌍을 획득할 수 있다.The
상술한 바와 같이 비교부(420)는 판매자 목록에서 판매 희망 금액이 최소인 판매자의 암호문 쌍을 획득할 수 있고, 구매자 목록에서 구매 희망 금액이 최대인 구매자의 암호문 쌍을 획득할 수 있다. As described above, the
예를 들어, 판매자 목록 또는 구매자 목록에서 비교하고자 하는 두 사용자 U, N의 암호문 쌍을 각각 , 라 하면, 비교부(420)는 를 이용하여 암호문 쌍 , 에 대한 함수 복호화를 진행함으로써 U가 제시한 값과 N이 제시한 값을 모르는 상태로 이들에 대한 대소 비교를 할 수 있다. 만약 U의 거래 희망 금액이 5이면, 이고, N의 거래 희망 금액이 6이면, 일 것이므로 의 결과, 즉 와 의 내적이 1이 되어 N의 거래 희망 금액이 더 큰 것을 확인할 수 있다. 또한, N의 거래 희망 금액이 4이면, 이므로 의 결과가 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 , If , the
거래 처리부(430)는 판매자 목록에서의 최솟값에 대한 암호문 쌍, 및 구매자 목록에서의 최댓값에 대한 암호문 쌍을 함수 복호화하여, 판매자 목록에서의 최솟값이 무엇인지, 구매자 목록에서의 최댓값이 무엇인지 모르는 상태로 이들에 대한 대소 비교만 함으로써 거래 성공 여부를 결정하고, 거래 성공 여부 정보를 전력 거래 서버(300)로 전송한다.The
거래 처리부(430)가 수행하는 대소 비교 연산은 비교부(420)가 수행하는 대소 비교 연산과 유사한 방식으로 수행될 수 있다. 즉, 거래 처리부(430)는 판매자 목록에서의 최솟값에 대한 암호문 쌍 및 구매자 목록에서의 최댓값에 대한 암호문 쌍을 함수 복호화하여 내적을 산출하고, 산출된 내적에 기초하여 해당 판매자와 구매자 간의 거래 성공 여부를 결정할 수 있다. 이때, 거래 처리부(430)는 판매자 목록 중 최솟값에 대한 암호문 쌍의 비밀키와 구매자 목록 중 최댓값에 대한 구매자 암호문 쌍의 암호문에 대해 함수 복호화 연산을 적용함으로써 판매자 목록 중 최솟값에 대해 인코딩된 제1 벡터 및 구매자 목록 중 최댓값에 대해 인코딩된 제2 벡터 간의 내적 결과를 산출하고, 산출된 내적이 '1'인 경우 구매자 목록에서의 최댓값이 판매자 목록에서의 최솟값보다 크거나 같아 판매자와 구매자 간의 거래 성공으로 결정할 수 있고, 내적이 '0'인 경우 판매자와 구매자 간의 거래 실패로 결정할 수 있다.The comparison operation performed by the
거래 처리부(430)는 판매자와 구매자 간의 거래 성공으로 결정한 경우, 판매자의 주소 및 전력 거래 정보, 구매자의 주소 및 전력 거래 정보를 전력 거래 서버(300)로 전송할 수 있다. When it is determined that the transaction between the seller and the buyer is successful, the
상기의 모든 과정은 블록체인(400) 상의 smart contract에 의해 이루어지므로 조작이 불가능하며, 따라서 거래 결정 과정의 무결성이 보장될 수 있다. 그러나 모든 거래 금액은 암호화되어 있으므로, 거래 희망 금액이나 매칭된 금액 등의 정보를 보호할 수 있다. Since all the above processes are performed by the smart contract on the
도 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
S420 단계가 수행되면, 전력 거래 서버(300)는 전력 거래 정보를 인코딩하여 제1 벡터 및 제2 벡터를 생성한다(S430). 즉, 전력 거래 서버(300)는 거래 희망 금액을 단위 전력당 거래 금액 범위와 비교하고, 그 비교결과에 기초하여 제1 벡터를 생성할 수 있다. 또한, 전력 거래 서버(300)는 거래 희망 금액을 one-hot 인코딩하여 제2 벡터를 생성할 수 있다. When step S420 is performed, the
S430 단계가 수행되면, 전력 거래 서버(300)는 제1 벡터에 대한 비밀키를 생성하고, 제2 벡터에 대한 암호문을 생성하며(S440), 생성된 비밀키 및 암호문을 포함하는 암호문 쌍을 블록체인(400)에 전송하여 기록한다(S450). 즉, 전력 거래 서버(300)는 키 생성 알고리즘을 이용하여 제1 벡터에 대한 비밀키를 생성하고, 암호화 알고리즘을 이용하여 제2 벡터에 대한 암호문을 생성한 후, 비밀키 및 암호문을 포함하는 암호문 쌍을 블록체인(400)으로 전송할 수 있다. 그러면, 블록체인(400)은 암호문 쌍과 함께 수신받은 거래 방식을 이용하여 요청자가 구매자 또는 판매자인지 확인하고, 요청자가 판매자인 경우 암호문 쌍을 판매자 목록에 기록하고, 구매자인 경우 암호문 쌍을 구매자 목록에 기록할 수 있다. When step S430 is performed, the
S450 단계가 수행되면, 블록체인(400)은 판매자 목록의 판매자 암호문 쌍들에 대한 함수 복호화 연산을 적용하여 판매자 목록 중 최솟값에 대한 판매자 암호문 쌍을 찾고, 구매자 목록의 구매자 암호문 쌍들에 대한 함수 복호화 연산을 적용하여 구매자 목록 중 최댓값에 대한 구매자 암호문 쌍을 찾는다(S460). 즉, 블록체인(400)은 판매자 목록의 판매자 암호문 쌍들에 대한 함수 복호화 연산을 적용하여 판매자 암호문 쌍에 인코딩된 판매 희망 금액들 간의 대소를 비교함으로써 판매자 목록 중 최솟값에 대한 판매자 암호문 쌍을 찾고, 구매자 목록의 구매자 암호문 쌍들에 대한 함수 복호화 연산을 적용하여 구매자 암호문 쌍에 인코딩된 구매 희망 금액들 간의 대소를 비교함으로써 구매자 목록 중 최댓값에 대한 구매자 암호문 쌍을 찾을 수 있다. When step S450 is performed, the
S460 단계가 수행되면, 블록체인(400)은 최솟값에 대한 판매자 암호문 쌍 및 최댓값에 대한 구매자 암호문 쌍을 함수 복호화하여 내적을 산출하고(S470), 산출된 내적에 기초하여 거래 성공 여부를 결정하며(S480), 거래 성공 여부 정보를 전력 거래 서버(300)로 전송한다(S490). 즉, 블록체인(400)은 판매자 목록 중 최솟값에 대해 인코딩된 제1 벡터 및 구매자 목록 중 최댓값에 대해 인코딩된 제2 벡터 간의 내적 결과를 산출하고, 산출된 내적이 '1'인 경우 구매자 목록에서의 최댓값이 판매자 목록에서의 최솟값보다 크거나 같아 판매자와 구매자 간의 거래 성공으로 결정할 수 있고, 내적이 '0'인 경우 판매자와 구매자 간의 거래 실패로 결정할 수 있다.When step S460 is performed, the
상술한 바와 같이 본 발명의 일 실시예에 따른 블록체인 기반 전력 거래 시스템 및 방법은, 블록체인 기반의 함수암호 기법을 이용하여 거래 데이터를 암호화하여 보호함과 동시에, 거래 당사자 이외의 제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 벡터 및 제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.
상기 인코딩부는,
상기 거래 희망 금액을 기 설정된 단위 전력당 거래 금액 범위와 비교하고, 그 비교결과를 기초로 상기 거래 희망 금액을 인코딩하여 제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. .
상기 암호화부는,
키 생성 알고리즘을 이용하여 상기 제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.
상기 블록체인은,
상기 전력 거래 서버로부터 암호문 쌍을 수신하면, 상기 암호문 쌍의 요청자를 확인하여, 판매자 목록 또는 구매자 목록에 기록하는 기록 처리부;
상기 판매자 목록의 판매자 암호문 쌍들에 대한 함수 복호화 연산을 적용하여 최솟값에 대한 판매자 암호문 쌍을 찾고, 상기 구매자 목록의 구매자 암호문 쌍들에 대한 함수 복호화 연산을 적용하여 최댓값에 대한 구매자 암호문 쌍을 찾는 비교부; 및
상기 최솟값에 대한 판매자 암호문 쌍 및 상기 최댓값에 대한 구매자 암호문 쌍을 함수 복호화 연산하여, 거래 성공 여부를 결정하고, 거래 성공 여부 정보를 상기 전력 거래 서버로 전송하는 거래 처리부를 포함하는 것을 특징으로 하는 블록체인 기반 전력 거래 시스템.
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.
상기 비교부는,
상기 판매자 목록의 판매자 암호문 쌍들에 대한 함수 복호화 연산을 적용하여 판매자 암호문 쌍에 인코딩된 판매 희망 금액들 간의 대소를 비교함으로써 상기 판매자 목록 중 최솟값에 대한 판매자 암호문 쌍을 찾고, 상기 구매자 목록의 구매자 암호문 쌍들에 대한 함수 복호화 연산을 적용하여 구매자 암호문 쌍에 인코딩된 구매 희망 금액들 간의 대소를 비교함으로써 상기 구매자 목록 중 최댓값에 대한 구매자 암호문 쌍을 찾는 것을 특징으로 하는 블록체인 기반 전력 거래 시스템.
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.
상기 거래 처리부는,
상기 최솟값에 대한 판매자 암호문 쌍 및 상기 최댓값에 대한 구매자 암호문 쌍을 함수 복호화하여 내적을 산출하고, 상기 산출된 내적에 기초하여 해당 판매자와 구매자 간의 거래 성공 여부를 결정하는 것을 특징으로 하는 블록체인 기반 전력 거래 시스템.
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.
상기 거래 처리부는,
상기 최솟값에 대한 판매자 암호문 쌍의 비밀키와 상기 최댓값에 대한 구매자 암호문 쌍의 암호문에 대해 함수 복호화 연산을 적용함으로써 상기 판매자 목록 중 최솟값에 대해 인코딩된 제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
상기 거래 처리부는,
상기 판매자와 구매자 간의 거래 성공으로 결정한 경우, 상기 판매자의 주소 및 전력 거래 정보, 상기 구매자의 주소 및 전력 거래 정보를 상기 전력 거래 서버로 전송하는 것을 특징으로 하는 블록체인 기반 전력 거래 시스템.
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
상기 전력 거래 정보를 인코딩하고, 상기 인코딩된 정보를 암호화하는 단계는,
상기 전력 거래 서버가 상기 전력 거래 정보의 거래 희망 금액을 인코딩하여 제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.
상기 제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.
상기 생성된 비밀키 및 암호문을 포함하는 암호문 쌍을 블록체인에 전송하는 단계에서,
상기 전력 거래 서버는 키 생성 알고리즘을 이용하여 상기 제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.
상기 거래 성공 여부 정보를 상기 전력 거래 서버로 전송하는 단계는,
상기 블록체인이 상기 전력 거래 서버로부터 암호문 쌍을 수신하면, 상기 암호문 쌍의 요청자를 확인하여, 판매자 목록 또는 구매자 목록에 기록하는 단계;
상기 블록체인이 상기 판매자 목록의 판매자 암호문 쌍들에 대한 함수 복호화 연산을 적용하여 최솟값에 대한 판매자 암호문 쌍을 찾고, 상기 구매자 목록의 구매자 암호문 쌍들에 대한 함수 복호화 연산을 적용하여 최댓값에 대한 구매자 암호문 쌍을 찾는 단계; 및
상기 블록체인이 상기 최솟값에 대한 판매자 암호문 쌍 및 상기 최댓값에 대한 구매자 암호문 쌍을 함수 복호화 연산하여, 거래 성공 여부를 결정하고, 거래 성공 여부 정보를 상기 전력 거래 서버로 전송하는 단계를 포함하는 것을 특징으로 하는 블록체인 기반 전력 거래 시스템.
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
상기 최댓값에 대한 구매자 암호문 쌍을 찾는 단계에서,
상기 블록체인은, 상기 판매자 목록의 판매자 암호문 쌍들에 대한 함수 복호화 연산을 적용하여 판매자 암호문 쌍에 인코딩된 판매 희망 금액들 간의 대소를 비교함으로써 상기 판매자 목록 중 최솟값에 대한 판매자 암호문 쌍을 찾고, 상기 구매자 목록의 구매자 암호문 쌍들에 대한 함수 복호화 연산을 적용하여 구매자 암호문 쌍에 인코딩된 구매 희망 금액들 간의 대소를 비교함으로써 상기 구매자 목록 중 최댓값에 대한 구매자 암호문 쌍을 찾는 것을 특징으로 하는 블록체인 기반 전력 거래 방법.
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 .
상기 거래 성공 여부 정보를 상기 전력 거래 서버로 전송하는 단계에서,
상기 블록체인은 상기 최솟값에 대한 판매자 암호문 쌍 및 상기 최댓값에 대한 구매자 암호문 쌍을 함수 복호화하여 내적을 산출하고, 상기 산출된 내적에 기초하여 해당 판매자와 구매자 간의 거래 성공 여부를 결정하는 것을 특징으로 하는 블록체인 기반 전력 거래 방법.
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.
상기 거래 성공 여부 정보를 상기 전력 거래 서버로 전송하는 단계에서,
상기 블록체인은 상기 최솟값에 대한 판매자 암호문 쌍의 비밀키와 상기 최댓값에 대한 구매자 암호문 쌍의 암호문에 대해 함수 복호화 연산을 적용함으로써 상기 판매자 목록 중 최솟값에 대해 인코딩된 제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.
상기 판매자와 구매자 간의 거래 성공으로 결정한 경우, 상기 판매자의 주소 및 전력 거래 정보, 상기 구매자의 주소 및 전력 거래 정보를 상기 전력 거래 서버로 전송하는 것을 특징으로 하는 블록체인 기반 전력 거래 방법.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.
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)
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)
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)
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 |
-
2019
- 2019-11-29 KR KR1020190156426A patent/KR20210067125A/en unknown
-
2020
- 2020-06-16 WO PCT/KR2020/007773 patent/WO2021107304A1/en active Application Filing
Cited By (4)
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 |