KR101964254B1 - Person to person trading method and apparatus by using blockchain and distributed hash table - Google Patents
Person to person trading method and apparatus by using blockchain and distributed hash table Download PDFInfo
- Publication number
- KR101964254B1 KR101964254B1 KR1020170000517A KR20170000517A KR101964254B1 KR 101964254 B1 KR101964254 B1 KR 101964254B1 KR 1020170000517 A KR1020170000517 A KR 1020170000517A KR 20170000517 A KR20170000517 A KR 20170000517A KR 101964254 B1 KR101964254 B1 KR 101964254B1
- Authority
- KR
- South Korea
- Prior art keywords
- transaction
- request information
- block chain
- transaction request
- terminal
- Prior art date
Links
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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/22—Payment schemes or models
- G06Q20/223—Payment schemes or models based on the use of peer-to-peer networks
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/02—Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
- G06Q20/027—Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP] involving a payment switch or gateway
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3823—Payment protocols; Details thereof insuring higher security of transaction combining multiple encryption tools for a transaction
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
Abstract
본 발명의 기술적 사상에 의한 일 양태에 따른 P2P 거래 방법은, 송금자 단말로부터 제1 거래 요청 정보를 수신하는 단계와, 제1 거래 요청 정보로부터 확인되는 수금자 단말로 거래 요청을 하는 단계와, 수금자 단말로부터 제2 거래 요청 정보를 수신하는 단계와, 제1 거래 요청 정보에 기초하여 제1 블록체인 해시 값을 획득하고, 제2 거래 요청 정보에 기초하여 제2 블록체인 해시 값을 획득하는 단계, 및 제1 및 제2 블록체인 해시 값에 따라 DHT(distributed hash table) 시스템으로 거래를 요청하여 제1 및 제2 거래 요청 정보에 따라 입출금이 수행되도록 하는 단계를 포함한다.According to an aspect of the present invention, there is provided a P2P transaction method comprising: receiving first transaction request information from a sender terminal; requesting a transaction to a receiver terminal identified from first transaction request information; Receiving second transaction request information from the receiver terminal, obtaining a first block chain hash value based on the first transaction request information, and obtaining a second block chain hash value based on the second transaction request information And requesting a transaction from a distributed hash table (DHT) system according to the first and second block chain hash values to allow the deposit and withdrawal to be performed according to the first and second transaction request information.
Description
본 발명의 기술적 사상은 P2P 거래에 관한 것으로, 보다 상세하게는, 블록체인과 DHT를 이용한 P2P 거래 방법 및 장치에 관한 것이다.The technical idea of the present invention relates to a P2P transaction, and more particularly, to a P2P transaction method and apparatus using a block chain and a DHT.
본 연구는 미래창조과학부 및 정보통신기술진흥센터의 대학 ICT 연구센터육성지원사업의 연구결과로 수행되었음(IITP-2016-R27181600030001002).This study was conducted as a result of the research project of the future ICT Research Center of the Creation Science Department and the Information and Communication Technology Promotion Center (IITP-2016-R27181600030001002).
최근 모바일 거래 시장이 크게 성장하게 되면서, 해당 거래 시장과 관련된 다양한 기술들이 주목받고 있다. 그 중 P2P 거래 시장은 사용자-사용자 간의 거래라는 점에서 주목받고 있으며, 기존의 은행권 외에도 다양한 온라인 거래 업체 및 IT 회사들도 참여하고 있다. 하지만 다양한 기업들의 참여와 서로 다른 독자적인 거래 방식으로 인해 사용자들이 불편을 겪고 있다. As the mobile transaction market has recently grown, various technologies related to the trading market have been attracting attention. Among them, the P2P trading market is attracting attention as a transaction between users and users. In addition to existing banknotes, various online trading companies and IT companies also participate. However, users are experiencing discomfort due to the involvement of various companies and their unique trading methods.
또한, 모바일이라는 환경의 특성으로 인해 기존 모바일 보안 위협을 비롯해 새로운 보안위협들이 발생하고 있다. 따라서 다양한 보안 기술들이 P2P 거래 환경에 적합하게 개발되어야 한다. 또한, 금융거래라는 측면에서 이용되는 사용자의 계좌번호, 금융거래 관련 정보 등 민감한 개인정보들을 보호하기 위한 기술이 필요하다. In addition, due to the characteristics of mobile environment, new security threats such as existing mobile security threats are occurring. Therefore, various security technologies should be developed for P2P trading environment. In addition, there is a need for a technique for protecting sensitive personal information such as user's account number and financial transaction information used in the context of financial transactions.
본 발명의 기술적 사상에 따른 블록체인 및 DHT를 이용한 P2P 거래 방법 및 장치가 이루고자 하는 기술적 과제는, P2P 거래에 따른 중간자 공격, DDoS 공격 등을 차단하는 데 있다.The technical problem to be solved by the P2P transaction method and apparatus using the block chain and the DHT according to the technical idea of the present invention is to block the meson attack and the DDoS attack according to the P2P transaction.
또한, 본 발명의 기술적 사상에 따른 블록체인 및 DHT를 이용한 P2P 거래 방법 및 장치가 이루고자 하는 기술적 과제는, 예민한 개인 정보의 유출을 방지하는 데 있다.Also, a technical problem of a P2P transaction method and apparatus using a block chain and a DHT according to the technical idea of the present invention is to prevent leakage of sensitive personal information.
본 발명의 기술적 사상이 이루고자 하는 기술적 과제는 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The technical problem to be solved by the technical idea of the present invention is not limited to the above-mentioned problems, and other matters not mentioned can be clearly understood by those skilled in the art from the following description.
본 발명의 기술적 사상에 의한 일 양태에 따른 P2P 거래 방법은, 송금자 단말로부터 제1 거래 요청 정보를 수신하는 단계; 상기 제1 거래 요청 정보로부터 확인되는 수금자 단말로 거래 요청을 하는 단계; 상기 수금자 단말로부터 제2 거래 요청 정보를 수신하는 단계; 상기 제1 거래 요청 정보에 기초하여 제1 블록체인 해시 값을 획득하고, 상기 제2 거래 요청 정보에 기초하여 제2 블록체인 해시 값을 획득하는 단계; 및 상기 제1 및 제2 블록체인 해시 값에 따라 DHT(distributed hash table) 시스템으로 거래를 요청하여 상기 제1 및 제2 거래 요청 정보에 따라 입출금이 수행되도록 하는 단계를 포함할 수 있다.According to an aspect of the present invention, there is provided a P2P transaction method comprising: receiving first transaction request information from a sender terminal; Requesting a transaction to a receiver terminal identified from the first transaction request information; Receiving second transaction request information from the receiver terminal; Obtaining a first block chain hash value based on the first transaction request information and obtaining a second block chain hash value based on the second transaction request information; And requesting a transaction from a distributed hash table (DHT) system according to the first and second block chain hash values to allow the deposit and withdrawal to be performed according to the first and second transaction request information.
예시적인 실시예에 따르면, 상기 P2P 거래 방법은, 상기 송금자 단말로부터 제1 거래 요청 정보의 수신 전에 상기 송금자 단말로부터 송금자 비밀키를 수신하는 단계를 더 포함할 수 있되, 상기 송금자 단말로부터 제1 거래 요청 정보를 수신하는 단계는, 상기 송금자 단말에 의해 상기 비밀키로 암호화된 제1 거래 요청 정보를 상기 기 수신한 비밀키로 복호화하는 단계를 포함할 수 있다.According to an exemplary embodiment, the P2P transaction method may further include receiving a sender secret key from the sender terminal before receiving the first transaction request information from the sender terminal, The receiving of the first transaction request information may include decoding the first transaction request information encrypted with the secret key by the sender terminal using the previously received secret key.
예시적인 실시예에 따르면, 상기 P2P 거래 방법은, 상기 송금자 단말로부터 제1 거래 요청 정보의 수신 전에 상기 송금자 단말과 송금자 공개키 및 중앙 서버 공개키를 교환하는 단계를 더 포함할 수 있되, 상기 송금자 단말로부터 제1 거래 요청 정보를 수신하는 단계는, 상기 제1 거래 요청 정보와 함께 수신되는 공개키를, 상기 기 수신된 송금자 공개키 및 중앙 서버 공개키 중 적어도 하나와 비교하여 상기 송금자 단말을 인증하는 단계를 더 포함할 수 있다.According to an exemplary embodiment, the P2P transaction method may further include exchanging the sender terminal, the sender public key and the central server public key before receiving the first transaction request information from the sender terminal Wherein the receiving of the first transaction request information from the sender terminal comprises comparing the public key received together with the first transaction request information to at least one of the received sender public key and the central server public key And authenticating the sender terminal.
예시적인 실시예에 따르면, 상기 P2P 거래 방법은, 상기 수금자 단말로부터 제2 거래 요청 정보의 수신 전에 상기 수금자 단말로부터 수금자 비밀키를 수신하는 단계를 더 포함할 수 있되, 상기 수금자 단말로부터 제2 거래 요청 정보를 수신하는 단계는, 상기 수금자 단말에 의해 상기 비밀키로 암호화된 제2 거래 요청 정보를 상기 기 수신한 비밀키로 복호화하는 단계를 포함할 수 있다.According to an exemplary embodiment, the P2P transaction method may further include receiving a receiver's private key from the receiver terminal before receiving second transaction request information from the receiver terminal, The receiving of the second transaction request information may include decoding the second transaction request information encrypted with the secret key by the receiver terminal with the secret key received.
예시적인 실시예에 따르면, 상기 P2P 거래 방법은, 상기 수금자 단말로부터 제2 거래 요청 정보의 수신 전에 상기 수금자 단말과 수금자 공개키 및 중앙 서버 공개키를 교환하는 단계를 더 포함할 수 있되, 상기 수금자 단말로부터 제2 거래 요청 정보를 수신하는 단계는, 상기 제2 거래 요청 정보와 함께 수신되는 공개키를, 상기 기 수신된 수금자 공개키 및 중앙 서버 공개키 중 적어도 하나와 비교하여 상기 수금자 단말을 인증하는 단계를 더 포함할 수 있다.According to an exemplary embodiment, the P2P trading method may further include exchanging the receiver key public key and the central server public key with the receiver terminal before receiving the second transaction request information from the receiver terminal Wherein the step of receiving the second transaction request information from the receiver terminal further comprises the step of comparing the public key received together with the second transaction request information with at least one of the receiver's public key and the central server public key And authenticating the receiver terminal.
예시적인 실시예에 따르면, 상기 P2P 거래 방법은, 상기 제1 거래 요청 정보를 연산하여 송금자의 계좌 정보 및 송금 정보를 획득하는 단계; 및 상기 제2 거래 요청 정보를 연산하여 수금자의 계좌 정보 및 수금 정보를 획득하는 단계를 더 포함할 수 있다.According to an exemplary embodiment of the present invention, the P2P transaction method further comprises: calculating the first transaction request information to obtain account information and remittance information of a sender; And acquiring the account information and the collection information of the receiver by calculating the second transaction request information.
예시적인 실시예에 따르면, 상기 P2P 거래 방법은, 상기 제1 및 제2 거래 요청 정보를 역직렬화(deserialization)하는 단계를 포함할 수 있다.According to an exemplary embodiment, the P2P transaction method may include deserializing the first and second transaction request information.
예시적인 실시예에 따르면, 상기 제1 및 제2 블록체인 해시 값을 획득하는 단계는, 상기 송금자 단말로부터 수신되는 공개키 및 상기 송금자의 계좌 정보를 해싱하여 상기 제1 블록체인 해시 값을 획득하고, 상기 수금자 단말로부터 수신되는 공개키 및 상기 수금자의 계좌 정보를 해싱하여 상기 제2 블록체인 해시 값을 획득하는 단계를 포함할 수 있다.The obtaining of the first and second block chain hash values may be performed by hashing the public key received from the sender terminal and the account information of the sender to obtain the first block chain hash value And obtaining the second block chain hash value by hashing the public key received from the receiver terminal and the account information of the receiver.
예시적인 실시예에 따르면, 상기 제1 및 제2 블록체인 해시 값에 따라 DHT 시스템으로 거래를 요청하는 단계는, 상기 제1 블록체인 해시 값과 상기 송금 정보에 기초하여 생성되는 상기 제1 블록체인 트랜잭션 및 상기 제2 블록체인 해시 값과 상기 수금 정보에 기초하여 생성되는 제2 블록체인 트랜잭션을 상기 DHT 시스템으로 전송하는 단계를 포함할 수 있다.According to an exemplary embodiment of the present invention, the step of requesting a transaction to the DHT system according to the first and second block chain hash values may include: And transferring a second block chain transaction to the DHT system that is generated based on the transaction and the second block chain hash value and the collection information.
예시적인 실시예에 따르면, 상기 P2P 거래 방법은, 상기 DHT 시스템에 의한 입출금이 완료되면, 상기 송금자 단말과 상기 수금자 단말로 거래 완료 메시지를 전송하는 단계를 더 포함할 수 있다.According to an exemplary embodiment, the P2P transaction method may further include transmitting a transaction completion message to the sender terminal and the receiver terminal when the deposit / withdrawal by the DHT system is completed.
예시적인 실시예에 따르면, 상기 DHT 시스템에 포함된 복수의 노드들 중 상기 제1 및 제2 블록체인 해시 값 각각에 대응하는 제1 및 제2 노드에 의해 상기 입출금이 수행될 수 있다.According to an exemplary embodiment, the deposit and withdrawal may be performed by first and second nodes corresponding to the first and second block-chain hash values of a plurality of nodes included in the DHT system.
본 발명의 기술적 사상에 의한 다른 양태에 따른 중앙 서버는, 송금자 단말로부터 제1 거래 요청 정보를 수신하고, 수금자 단말로부터 제2 거래 요청 정보를 수신하는 사용자 연동부; 상기 제1 거래 요청 정보에 기초하여 제1 블록체인 해시 값을 획득하고, 상기 제2 거래 요청 정보에 기초하여 제2 블록체인 해시 값을 획득하는 중앙 처리부; 및 상기 제1 및 제2 블록체인 해시 값에 따라 DHT(distributed hash table) 시스템으로 거래를 요청하여 상기 제1 및 제2 거래 요청 정보에 따라 입출금이 수행되도록 하는 시스템 연동부를 포함할 수 있다.According to another aspect of the present invention, there is provided a central server comprising: a user interlocking unit for receiving first transaction request information from a sender terminal and receiving second transaction request information from a receiver terminal; A central processing unit for obtaining a first block chain hash value based on the first transaction request information and obtaining a second block chain hash value based on the second transaction request information; And a system interworking unit for requesting a transaction from a distributed hash table (DHT) system according to the first and second block chain hash values and performing a deposit and withdrawal according to the first and second transaction request information.
본 발명의 기술적 사상에 의한 다른 양태에 따른 P2P 거래 시스템은, 송금자 단말로부터 수신되는 제1 거래 요청 정보 및 수금자 단말로부터 수신되는 제2 거래 요청 정보에 기초하여 제1 블록체인 해시 값과 제2 블록체인 해시 값을 획득하고, 상기 제1 및 제2 블록체인 해시 값에 기초하여 입출금 거래를 요청하는 중앙 서버; 및 상기 중앙 서버로부터 거래 요청이 수신되면, 상기 제1 및 제2 거래 요청 정보에 기초하여 입출금을 수행하는 DHT(distributed hash table) 시스템을 포함할 수 있다.A P2P trading system according to another aspect of the present invention includes a first block chain hash value and a second block transaction value based on first transaction request information received from a sender terminal and second transaction request information received from a receiver terminal, A central server for obtaining a two-block chain hash value and requesting a deposit and withdrawal transaction based on the first and second block chain hash values; And a distributed hash table (DHT) system for performing deposit and withdrawal based on the first and second transaction request information when a transaction request is received from the central server.
본 발명의 기술적 사상에 의한 실시예들에 따른 블록체인 및 DHT를 이용한 P2P 거래 방법 및 장치는 P2P 거래에 따른 중간자 공격, DDoS 공격 등을 차단할 수 있다.The block chain and the P2P transaction method and apparatus using the DHT according to the embodiments of the present invention can prevent a meson attack, a DDoS attack, and the like due to a P2P transaction.
또한, 본 발명의 기술적 사상에 의한 실시예들에 따른 블록체인 및 DHT를 이용한 P2P 거래 방법 및 장치는 예민한 개인 정보의 유출을 방지할 수 있다.In addition, the P2P transaction method and apparatus using the block chain and the DHT according to the embodiments of the present invention can prevent the leakage of sensitive personal information.
본 명세서에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 일반적인 블록체인의 구조를 설명하기 위한 예시적인 도면이다.
도 2는 분산 해시 테이블의 Chord 알고리즘에 따른 주소 공간을 도시하는 예시적인 도면이다.
도 3은 분산 해시 테이블의 Chord 알고리즘에 따른 Succesor-List와 그를 이용한 데이터의 복제를 나타내는 예시적인 도면이다.
도 4는 일반적인 P2P 거래 방법을 설명하기 위한 예시적인 도면이다.
도 5는 본 발명의 기술적 사상에 의한 일 실시예에 따른 P2P 거래 시스템을 도시하는 도면이다.
도 6은 본 발명의 기술적 사상에 의한 일 실시예에 따른 P2P 거래 방법을 설명하기 위한 순서도이다.
도 7은 본 발명의 기술적 사상에 의한 일 실시예에 따른 키(key)의 사전 교환 절차를 설명하기 위한 도면이다.
도 8은 본 발명의 기술적 사상에 의한 일 실시예에 따른 P2P 거래 방법을 설명하기 위한 도면이다.
도 9는 본 발명의 기술적 사상에 의한 일 실시예에 따른 중앙 서버의 일부 구성을 개략적으로 나타낸 블록도이다.BRIEF DESCRIPTION OF THE DRAWINGS A brief description of each drawing is provided to more fully understand the drawings recited herein.
1 is an exemplary diagram for explaining the structure of a general block chain.
2 is an exemplary diagram showing an address space according to the Chord algorithm of the distributed hash table.
3 is an exemplary diagram showing the Succesor-List according to the Chord algorithm of the distributed hash table and the replication of data using the Succesor-List.
4 is an exemplary diagram for explaining a general P2P transaction method.
FIG. 5 is a diagram illustrating a P2P trading system according to an embodiment of the present invention.
FIG. 6 is a flowchart illustrating a P2P transaction method according to an embodiment of the present invention.
7 is a diagram for explaining a pre-exchange procedure of a key according to an embodiment of the present invention.
FIG. 8 is a view for explaining a P2P transaction method according to an embodiment of the present invention.
9 is a block diagram schematically showing a configuration of a central server according to an embodiment of the present invention.
본 발명의 기술적 사상은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나, 이는 본 발명의 기술적 사상을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 기술적 사상의 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are intended to provide further explanation of the invention as claimed. However, it should be understood that the technical idea of the present invention is not limited to the specific embodiments but includes all changes, equivalents, and alternatives included in the technical idea of the present invention.
본 발명의 기술적 사상을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 기술적 사상의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제1, 제2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS [0027] In the following description of the present invention, a detailed description of known technologies will be omitted when it is determined that the technical idea of the present invention may be unnecessarily obscured. In addition, numerals (e.g., first, second, etc.) used in the description of the present invention are merely an identifier for distinguishing one component from another.
또한, 본 명세서에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.Also, in this specification, when an element is referred to as being " connected " or " connected " with another element, the element may be directly connected or directly connected to the other element, It should be understood that, unless an opposite description is present, it may be connected or connected via another element in the middle.
또한, 본 명세서에 기재된 "~부", "~기", "~자", "~모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 프로세서(Processor), 마이크로 프로세서(Micro Processer), 마이크로 컨트롤러(Micro Controller), CPU(Central Processing Unit), GPU(Graphics Processing Unit), APU(Accelerate Processor Unit), DSP(Digital Signal Processor), ASIC(Application Specific Integrated Circuit), FPGA(Field Programmable Gate Array) 등과 같은 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. The terms "to", "to", "to", "to", and "module" in the present specification mean units for processing at least one function or operation, A micro processor, a central processing unit (CPU), a graphics processing unit (GPU), an Accelerate Processor Unit (APU), a digital signal processor (DSP), an application specific integrated circuit (ASIC) (Field Programmable Gate Array), or the like, or a combination of hardware and software.
그리고 본 명세서에서의 구성부들에 대한 구분은 각 구성부가 담당하는 주기능 별로 구분한 것에 불과함을 명확히 하고자 한다. 즉, 이하에서 설명할 2개 이상의 구성부가 하나의 구성부로 합쳐지거나 또는 하나의 구성부가 보다 세분화된 기능별로 2개 이상으로 분화되어 구비될 수도 있다. 그리고 이하에서 설명할 구성부 각각은 자신이 담당하는 주기능 이외에도 다른 구성부가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성부 각각이 담당하는 주기능 중 일부 기능이 다른 구성부에 의해 전담되어 수행될 수도 있음은 물론이다.It is to be clarified that the division of constituent parts in this specification is merely a division by each main function of each constituent part. That is, two or more constituent parts to be described below may be combined into one constituent part, or one constituent part may be divided into two or more functions according to functions that are more subdivided. In addition, each of the constituent units described below may additionally perform some or all of the functions of other constituent units in addition to the main functions of the constituent units themselves, and that some of the main functions, And may be carried out in a dedicated manner.
이하에서는, 관련 기술들을 설명한 후 본 발명의 기술적 사상에 의한 실시예들을 차례로 상세히 설명한다.Hereinafter, the related arts will be described, and then the embodiments according to the technical idea of the present invention will be described in detail.
기존의 은행권에서 지원하고 있는 P2P 거래 방식에서는 은행 별로 다른 데이터베이스를 보유하고 있는 형태를 취하고 있다. 사용자간의 거래를 위해서는 은행 서버나 중개 서버 또는 정부 기관을 거쳐야 하며 은행 데이터베이스 간의 통신도 필요로 한다. 금융거래에 필요한 민감한 정보가 많은 곳을 거치게 되면서 정보가 노출될 위험성도 높아진다. In the case of P2P transactions supported by existing banknotes, banks have different databases. Transactions between users must go through a bank server, a mediation server, or a government agency, and also require communication between bank databases. The risk of exposure to information increases as more sensitive information is required for financial transactions.
최근 금융권에서 주목하고 있는 블록체인 기술은 네트워크 내 모든 참여자가 공동으로 거래 정보를 검증, 기록 및 보관하는 기술이다. 또한, 거래 장부가 분산 저장되어 있어 모든 컴퓨터를 해킹하지 않는 한 조작이 불가능하다는 장점이 있으며, 서버가 처리할 수 있는 용량을 초과하는 정보를 한꺼번에 보내 서버를 다운시키는 디도스(DDoS)와 같은 공격에도 안전하다. The block chain technology, which is attracting attention from the financial sector in recent years, is a technology in which all participants in the network jointly verify, record and store transaction information. In addition, there is an advantage in that it can not be operated unless all the computers are hacked because the transaction book is stored in a distributed manner. In addition, attacks such as DDoS that downsize the server by sending information exceeding the capacity that the server can handle safe.
그리고 분산 해시 테이블(DHT) 기술은 데이터와 서버를 동일한 주소 공간에 배치하는 기술로, 중앙 서버 없이도 데이터를 관리하는 서버를 찾는 룩업(lookup) 성능이 좋으며, 부하가 집중되지 않고 분산시키는 장점으로 인해, 극단적으로 큰 규모의 노드들도 관리할 수 있다. Distributed hash table (DHT) technology is a technique for placing data and servers in the same address space. It has a good lookup performance for finding a server that manages data without a central server. , As well as extremely large nodes.
본 발명의 일 실시예에서는 기존의 P2P 거래 방식의 문제점을 고려하여 블록체인과 분산 해시 테이블을 통해 가용성이 높고 안전한 P2P 거래 방식을 제안한다.In an embodiment of the present invention, a P2P transaction method with high availability and high security is proposed through a block chain and a distributed hash table considering the problems of the existing P2P transaction method.
블록체인Block chain
블록체인 기술은 비트코인(Bitcoin)을 위해 개발된 기반 기술로, 가상 화폐로 거래할 때 발생할 수 있는 해킹을 막기 위한 기술이다. 현재에는 사용처에 따라 다양한 형태로 변형되어 사용되고 있으나 기본적인 구조는 유사하다.Block Chain technology is a technology developed for Bitcoin, a technique to prevent hacking that may occur when trading with virtual currency. At present, it is used in various forms depending on the usage, but the basic structure is similar.
블록체인은 퍼블릭 블록체인(Public Blockchain), 프라이빗 블록체인(Private Blockchain), 하이브리드 또는 컨소시엄 블록체인(Hybrid or Consortium Blockchain)으로 구분될 수 있다.The block chain can be classified into a public block chain, a private block chain, and a hybrid or consortium block chain.
퍼블릭 블록체인은 불특정 다수의 사용자들이 참여할 수 있으며, 공개된 네트워크를 통해 운용한다. 많은 사용자들이 참여하기 때문에 거래 속도가 느리다는 단점이 존재한다. 대표적으로는 비트코인, 이더리움과 같은 가상화폐들이 존재한다.The public block chain can participate in an unspecified number of users and operates through a public network. There is a disadvantage that the transaction speed is slow because many users participate. Typically, there are virtual coins such as bit coin and etherium.
프라이빗 블록체인의 경우 개인화된 블록체인의 형태로 퍼블릭 블록체인과 달리 1개의 주체가 모든 권한을 가지는 형태의 블록체인이며, 거래에 참여하는 모든 사용자들은 중앙기관의 허가를 필요로 한다. 대표적인 예로는 나스닥 체인(Nasdaq Chain)이 있다.In the case of a private block chain, in the form of a personalized block chain, unlike a public block chain, a subject is a block chain of a type with full authority, and all users involved in the transaction need permission from the central authority. A typical example is the Nasdaq Chain.
다음으로 컨소시엄 블록체인의 경우, 반중앙형 블록체인으로 퍼블릭 블록체인과 프라이빗 블록체인을 혼합시켜놓은 형태를 지니고 있다. 미리 협의 또는 선정된 N개의 주체들만이 블록체인에 참여하고 블록에 대한 증명은 주체들 간에 합의된 룰을 통해 이루어진다. 퍼블릭 블록체인에 비해 네트워크 확장이 용이하고 거래 속도가 빠르다는 장점이 존재한다.Next, in the case of a consortium block chain, it is a half-center type block chain in which a public block chain and a private block chain are mixed. Only N subjects that have been negotiated or selected in advance participate in the block chain, and proof of the block is achieved through agreed rules between the subjects. Compared to the public block chain, there is an advantage that the network is easy to expand and the transaction speed is fast.
블록체인 기술에서는 공개성과 분산성이라는 특성으로 인해 위변조에 대응하는 거래 기록 및 확정 메커니즘이 존재하며 그 종류는 5가지이다.In the block chain technology, transaction record and confirmation mechanism corresponding to forgery and falsification exists due to the characteristics of disclosure and dispersibility, and there are five kinds.
첫 번째로는 Proof-of-work 구조로 비트코인과 같은 공개 블록체인에서 많이 사용한다. 블록을 만들기 위해서 사용자는 해시 알고리즘을 풀어서 증명을 하고, 전체 블록체인 노드에 중개하고 가장 마지막 블록에 자신이 증명한 블록을 연결한다. 해당 블록을 위변조하기 위해서는 proof-of-work의 과정을 한 번 더 거쳐야 한다.The first is a proof-of-work structure that is often used in public block chains such as bit coins. To create a block, the user solves the hash algorithm to prove it, brokers it to the entire block chain node, and concatenates the block it proves to the last block. The proof-of-work process has to go through one more time in order to forge and modify the block.
두 번째로는 Proof-of-stake 구조로 proof-of-work의 단점을 보완하기 위한 시스템이다. proof-of-work 구조의 경우 전체 네트워크의 채굴을 50%이상 독점하는 사람 혹은 단체가 있을 경우, 수수료 상승, 고의적 거래기록 누락 등의 문제점이 발생할 수 있다. proof-of-stake 구조의 경우 소유자가 자신이 가진 자산을 스스로가 증명하는 구조이다.Second, it is a system to supplement the shortcomings of proof-of-work with a proof-of-stake structure. In case of proof-of-work structure, if there is a person or group monopolizing more than 50% of the entire network, problems such as increase in commission and deliberate transaction record may occur. In the case of a proof-of-stake structure, the owner proves his or her own assets.
세 번째로는 Consensus-by-bet 구조이다. 해당 구조는 네트워크에 참여하는 사람들의 동의를 통해서 블록체인의 거래를 승인하는 방식으로, 한 사람이나 단체가 네트워크를 독점하기 어렵다는 점을 이용한 구조이다. 이 때, 승인에 참여하는 노드들은 보증금을 걸고 승인에 참여하며 이중거래와 같이 잘못된 곳에 승인을 해줄 경우 보증금을 돌려받지 못하게 된다.The third is Consensus-by-bet structure. The structure is a structure that approves the transactions of the block chain through the consent of the people participating in the network, and it is a structure that one person or organization can not monopolize the network. At this time, the nodes participating in the approval are obliged to deposit the bond, to participate in the approval, and if the approval is given to the wrong place, such as the double transaction, the bond can not be returned.
네 번째로는 Trust 방식으로 기본적으로 네트워크에 신뢰할 수 있는 사람들만이 참여한다고 전제하에 이 방식을 사용한다. 사용자들은 전체 네트워크를 믿지 않지만 스스로가 믿을 수 있다고 판단되는 노드를 선택적으로 신뢰한다. Byzantine agreement protocol을 기반으로 하는 consensus 방식을 적용하는 구조로, 네트워크에 참여하는 노드들의 투표와 동의를 통해서 블록체인의 거래를 승인한다.Fourth, we use the Trust method, assuming that only people who are trusted by the network are basically involved. Users do not trust the entire network, but selectively trust the node that they believe is trustworthy. It adopts a consensus scheme based on the Byzantine agreement protocol, and approves transactions in the block chain through voting and agreement of nodes participating in the network.
마지막 다섯 번째로는 Membership 방식으로 네트워크를 관장하는 단수 혹은 복수의 주체가 명확할 때 사용하는 방식이다. 기본적으로 허가를 얻은 노드들만 승인 작업에 참여하기 때문에 행위를 계약관계 등으로 제약하는 것이 가능하다.Finally, the fifth method is to use when a single entity or a plurality of entities that manage the network in a membership method is clear. Basically, only authorized nodes participate in the approval process, so it is possible to restrict the action to the contractual relationship.
블록체인은 도 1과 같이 이전 블록헤더의 해시값, Merkle root, 전자서명, 현재 블록의 해시값, 타임스탬프 등으로 이루어진 블록헤더(11), Merkle Root, 트랜잭션 등으로 이루어진 블록 데이터(12)로 구성되어 있다. 블록체인은 위에서 언급한 것과 같이 사용처에 따라 다양한 형태로 변형되어 사용될 수 있으며 블록을 구성하는 값과 블록 해시를 계산하는 방법도 다양하게 변형될 수 있다.1, a block chain is composed of a
DHTDHT (분산 해시 테이블)(Distributed hash table)
분산 해시 테이블은 해싱을 통하여 생성된 데이터 키 값과 ID의 짝들을 시스템을 구성하는 전체 노드들에 균일하게 분산하기 위해 제안된 lookup 방식이다. 데이터의 키 값과 ID를 이용하여 모든 노드들과 데이터들을 동일한 주소 공간에 할당하는 방식으로 데이터와 노드들의 정보를 한번에 관리하기에 용이하고, 자동화된 시스템 업데이트가 가능하므로 관리의 필요성이 없다. 대표적인 DHT 알고리즘에는 Chord, Pastry, CAN 등이 존재하지만, 본 명세서에서는 Chord 알고리즘에 대해 설명한다.The distributed hash table is a proposed lookup scheme for uniformly distributing pairs of data key values and IDs generated through hashing to all the nodes constituting the system. All nodes and data are allocated to the same address space by using key value and ID of data, so it is easy to manage information of data and nodes at once, and there is no need of management because it enables automatic system update. Representative DHT algorithms include Chord, Pastry, and CAN, but the Chord algorithm is described in this specification.
Chord 알고리즘은 버클리 대학에서 만들어진 방법으로 m-bit(0 ~ 2m-1)의 원형으로 배치된 주소 공간에 각각의 노드와 데이터의 키의 값을 할당하는 방법이다. 해싱 함수를 이용하여 주소 공간으로 사상이 이루어지고, 주소 공간 내에 존재하는 데이터 키 k보다 크거나 같은 노드를 k의 successor라고 하며 라우팅 효율을 높이기 위해 사용한다. 도 2는 Chord 네트워크를 구성하고 있는 3bit 주소 공간을 나타낸다.The Chord algorithm is a method of assigning a key value of each node and data to a m-bit (0 to 2 m -1) circular address space in a way that was created by the University of Berkeley. A hash function is used to map to the address space. A node that is greater than or equal to the data key k in the address space is called a successor of k and is used to increase routing efficiency. 2 shows a 3-bit address space constituting the Chord network.
도 2를 참조하면, 0, 1, 3의 3개의 노드가 네트워크 상에 존재하고 있으며 데이터 키 1, 2, 6의 successor로서 시스템에 참여하고 있다. Chord 알고리즘에서는 각각의 노드들이 finger table이라는 주소 공간의 크기에 따라 크기가 달라지는 라우팅 정보 유지 공간을 보유하고 있다. finger table은 m-bit일 때, m개의 행으로 이루어지는데 각각의 행에서는 현재 노드의 위치를 기준으로 2n(1≤n≤m)에 해당하는 데이터의 successor 정보를 저장하고 있다.Referring to FIG. 2, three
새로운 노드의 참가 및 기존 노드의 이탈 등을 처리하기 위해 각각의 노드들은 predecessor, successor 정보를 보유하고 있으며 해당 정보를 통해 노드의 참가 및 이탈을 자동으로 처리할 수 있다.Each node has predecessor and successor information in order to handle the participation of a new node and the departure of an existing node, and can automatically handle participation and departure of the node through the corresponding information.
본 명세서에 기재된 일 실시예에서 이용하는 DHT에서는 Chord 알고리즘을 사용하며 Chord 알고리즘은 Successor-List라는 신뢰도 향상 기법을 사용한다. Successor-List란 Chord에서 설명된 데이터 구조로, r개의 successor들을 저장하는 리스트이다. Successor-List에 존재하는 r개의 successor들에게 데이터를 분산시켜 둠으로써 한 successor가 실패하더라도, Successor-list에 있는 모든 successor가 실패하지 않는 이상, 리스트에 존재하는 가장 가까운 successor로부터 정보를 얻어와 신뢰할 수 있는 시스템을 구성할 수 있다. 도 3은 Successor-List와 그를 이용한 데이터의 복제를 나타낸 도면이다.In the DHT used in the embodiment described herein, the Chord algorithm is used and the Chord algorithm uses a reliability improvement technique called a Successor-List. Successor-List is a data structure described in Chord, which stores r successors. By distributing the data to the r successors in the Successor-List, even if one successor fails, information is obtained from the nearest successor in the list, The system can be configured. 3 is a diagram showing Successor-List and data replication using the Successor-List.
일반적인 P2P 거래 방식Typical P2P transaction method
기존의 P2P 거래 방식은 참여하는 엔티티의 종류에 따라 크게 NONBANK-CENTRIC P2P, BANK-CENTRIC P2P, BANK-CENTRIC P2P(Consortium Model) 3가지로 나눌 수 있다. 본 명세서에서 제안하는 일 실시예는 BANK-CENTRIC P2P(Consortium Model)과 유사한 형태를 취하므로 BANK-CENTRIC P2P(Consortium Model)을 설명한다.The existing P2P trading method can be divided into three types according to the types of participating entities: NONBANK-CENTRIC P2P, BANK-CENTRIC P2P, and BANK-CENTRIC P2P (Consortium Model). One embodiment proposed in this specification takes a form similar to the BANK-CENTRIC P2P (Consortium Model), so it describes the BANK-CENTRIC P2P (Consortium Model).
BANK-CENTRIC P2P(이하 컨소시엄 모델)은 거래 요청자, 피거래 요청자, 거래 요청자의 은행, 피거래 요청자의 은행, 컨소시엄, 정부 기관과 같은 엔티티로 이루어져있으며 자세한 프로토콜은 도 4와 같다.The BANK-CENTRIC P2P (Consortium Model) consists of entities such as a transaction requester, a transaction requester, a bank of a transaction requester, a bank of a transaction requester, a consortium, and a government entity.
Step 1. Payer는 은행 웹사이트에 접속해, Payee에게 P2P 서비스를 통해 100만원 전송 요청하고, Payee의 이름, 이메일 주소와 휴대폰 번호를 입력한다.
Step 2. Payer의 은행에서는 Payer가 충분한 금액을 보유하고 있는지 확인한다.
Step 3. Payer의 은행에서 컨소시엄에 거래 정보를 전송한다.
Step 4. 컨소시엄은 Payee의 이메일 주소 또는 휴대폰 번호를 통해 컨소시엄에 가입된 은행에 계좌가 있는지 확인하고 계좌가 있을 경우, Payee의 은행에 정보를 전송한다.
Step 5. 컨소시엄이 Payee에게 거래에 대해 알리기 위해, 이메일 또는 메시지를 전송한다.
Step 6. Payee는 은행 웹사이트에 접속해 거래에 동의하고, 입금받을 계좌를 선택한 후, 거래 완료를 기다리고 있음을 알린다.
Step 7. Payee의 은행은 컨소시엄에 Payee가 거래에 동의했음을 알리고 Payee의 계좌 정보를 전송한다.
Step 8. 컨소시엄은 Payee의 은행으로부터 받은 메시지를 Payer의 은행에 전달한다.
Step 9. 컨소시엄은 Payer에게 Payee가 거래에 동의했음을 이메일 또는 메시지를 통해 알린다.Step 9. The consortium informs Payer via email or message that Payee has agreed to the transaction.
Step 10. Payer의 은행은 Payer에게 인출을 알린다.
Step 11. Payer의 은행은 컨소시엄을 통해 받은 Payee의 계좌 정보에 입금을 알리는 정보와 ACH파일을 Fed에게 전송한다.
Step 12. Fed는 Payee의 은행에게 Payee의 은행 계좌에 돈을 지급할 것을 알리며 ACH 파일을 전송한다.
Step 13. Fed는 Payer의 은행 계좌로부터 돈을 인출하고, Payee의 은행 계좌에 돈을 입금할 것을 예약한다.
Step 14. Payee의 은행에서 Payee에게 계좌에 입금되었음을 알린다.
컨소시엄 모델의 문제점은 효율성 측면과 안전성 측면으로 나누어 볼 수 있다. 효율성 측면을 보게 되면, 은행-은행 간의 직접적인 거래의 안전성, 신뢰성이 떨어지므로 신뢰성이 높은 Fed를 통해 ACH 파일을 송수신하며 안전성, 신뢰성을 추구하고자 한다. 하지만 결과적으로는 거래를 위한 단계가 증가하고 Fed를 통해 ACH 파일을 송수신함으로써 거래의 속도가 늦어지고 있는 실정이다.The problems of the consortium model can be divided into efficiency and safety. In terms of efficiency, the safety and credibility of direct bank-to-bank transactions deteriorate. Therefore, we want to pursue safety and reliability by sending and receiving ACH files through highly reliable Feds. However, as a result, the number of transactions is increasing and transactions are slowed down by sending and receiving ACH files through the Fed.
P2P 거래 방식을 도입할 때 안전성 측면에 대해서도 분석을 해야 한다. 위의 컨소시엄 모델의 경우 중요한 개인정보라고 할 수 있는 금융거래 정보가 사용자-은행, 은행-컨소시엄, 은행-Fed 사이에서 왕복하게 된다. 중요한 개인정보가 자주 송수신됨에 따라 중간자 탈취 등을 통한 중요 개인정보의 노출의 위험도가 높아지게 되고, Fed와 은행 사이에서 오가는 ACH와 금융 정보의 위변조 등의 위험이 존재한다. When introducing the P2P transaction method, the safety aspect should be analyzed. In the case of the above consortium model, financial transaction information, which can be considered important personal information, is transferred between the user-bank, the bank-consortium, and the bank-Fed. As important personal information is frequently transmitted and received, there is a risk of exposure of important personal information through the capture of intermediaries and the risk of forgery and alteration of ACH and financial information between the Fed and the bank.
이하에서는, 도 5 내지 도 9를 참조하여 본 발명의 일 실시예에 따른 P2P 거래 방법에 대해 설명한다.Hereinafter, a P2P transaction method according to an embodiment of the present invention will be described with reference to FIGS. 5 to 9. FIG.
도 5는 본 발명의 일 실시예에 따른 P2P 거래 시스템을 도시하는 예시적인 도면이다.5 is an exemplary diagram illustrating a P2P trading system in accordance with an embodiment of the present invention.
송금자 단말(510)은 수금자에게 일정 액수의 돈을 송금하고자 하는 송금자가 사용하는 단말이며, 수금자 단말(530)은 송금자로부터 일정 액수의 돈을 입금받고자 하는 수금자가 사용하는 단말이다. 도 5는 송금자 단말(510)을 스마트폰으로, 수금자 단말(530)은 데스크탑 PC인 것으로 도시하고 있지만, 송금자 단말(510)과 수금자 단말(530)은 이들 스마트폰 및 데스크탑 PC에 한정되는 것은 아니며, 테블릿 PC, 노트북, PDA, 웨어러블 기기 등 네트워크 접속 기능을 갖는 다양한 종류의 단말 장치를 포함할 수 있다.The
중앙 서버(550)는 예를 들어, 웹 서버를 포함할 수 있다. 송금자 단말(510)은 중앙 서버(550)에 접속하여 수금자 단말(530)과의 거래 요청을 하고, 중앙 서버(550)는 수금자 단말(530)로부터 거래 요청에 따른 정보를 수신한다. 중앙 서버(550)는 송금자 단말(510)로부터 수신되는 정보 및 수금자 단말(530)로부터 수신되는 정보에 기초하여 DHT 시스템(570)으로 입출금 거래 요청을 한다.The
본 발명의 일 실시예에서 DHT 시스템(570)은 사용자의 계좌 정보를 유지하는 은행 서버, 증권회사 서버 등을 하나의 노드(575)로 하여 구성된다. 각 노드(575)들은 DHT에 따른 노드의 역할과 블록체인 노드의 역할을 함께하며, 사용자의 은행별 계좌 및 보유 금액 등의 정보를 분산 해시 테이블에 저장하고 있다.In one embodiment of the present invention, the
송금자 단말(510), 중앙 서버(550), 수금자 단말(530) 및 DHT 시스템(570) 간은 안전한 채널을 통해 서로 간에 통신할 수 있다.The
도 6은 본 발명의 일 실시예에 따른 P2P 거래 방법을 설명하기 위한 순서도이다.6 is a flowchart illustrating a P2P transaction method according to an embodiment of the present invention.
S610 단계에서, 중앙 서버(550)는 송금자 단말(510)로부터 제1 거래 요청 정보를 수신한다. 제1 거래 요청 정보는 송금자의 계좌번호, 송금 액수 및 수금자 정보 등을 포함할 수 있다.In step S610, the
S620 단계에서, 중앙 서버(550)는 제1 거래 요청 정보로부터 확인되는 수금자 단말(530)로 거래 요청을 한다.In step S620, the
S630 단계에서, 중앙 서버(550)는 수금자 단말(530)로부터 제2 거래 요청 정보를 수신한다. 제2 거래 요청 정보는 수금자의 계좌번호, 수금 액수 및 송금자 정보 등을 포함할 수 있다.In step S630, the
S640 단계에서, 중앙 서버(550)는 제1 거래 요청 정보에 기초하여 제1 블록체인 해시 값을 획득하고, 제2 거래 요청 정보에 기초하여 제2 블록체인 해시 값을 획득한다. 제1 블록체인 해시 값은 송금자의 계좌를 관리하는 노드(575)의 주소에 대응하며, 제2 블록체인 해시 값은 수금자의 계좌를 관리하는 노드(575)의 주소에 대응할 수 있다.In step S640, the
S650 단계에서, 중앙 서버(550)는 제1 블록체인 해시 값 및 제2 블록체인 해시 값에 따라 DHT 시스템(570)으로 거래를 요청한다.In step S650, the
DHT 시스템(570)의 각 노드(575)들은 중앙 서버(550)의 거래 요청에 따라, 제1 블록체인 해시 값 및 제2 블록체인 해시 값에 대응하는 노드들로 거래 요청 정보를 포워딩하며, 제1 블록체인 해시 값에 대응하는 노드와 제2 블록체인 해시 값에 대응하는 노드는 거래 요청에 따른 입출금을 수행하고, 입출금 수행에 따라 갱신된 분산 해시 테이블을 다른 노드들과 공유하여 무결성을 유지할 수 있다.Each
한편, 중앙 서버(550)는 송금자 단말(510) 및 수금자 단말(530)과 사전 키 교환 절차를 수행할 수 있는데, 이에 대해서는 도 7을 참조하여 설명한다. 도 7 및 후술하는 도 8에서 사용되는 기호의 정의는 다음의 표 1과 같다. Meanwhile, the
도 7은 중앙 서버(550)와 사용자 단말(송금자 단말(510) 및 수금자 단말(530))(700)과 키(key)를 교환하는 절차를 설명하기 위한 도면이다.7 is a diagram for explaining a procedure of exchanging a key with the
S710 단계에서, 사용자 단말(700)은 전자서명 키 쌍(pkA,s sig, skA,s sig) 및 비밀키(skA,s enc)를 생성한다.In step S710, the
S720 단계에서, 사용자 단말(700)은 공개키(pkA,s sig) 및 비밀키(skA,s enc)를 중앙 서버(550)로 전송한다. In step S720, the
S730 단계에서, 중앙 서버(550)는 전자서명 키 쌍(pks,A sig, sks,A sig)을 생성한다.In step S730, the
S740 단계에서, 중앙 서버(550)는 생성한 전자서명 키 쌍 중 공개키(pks,A sig)를 사용자 단말(700)로 전송한다.In step S740, the
이로써, 사용자 단말(700)은 자신이 생성한 전자서명 키 쌍(pkA,s sig, skA,s sig)과, 비밀키(skA,s enc) 및 중앙 서버(550)로부터 수신한 공개키(pks,A sig)를 보유하며, 중앙 서버(550)는 자신이 생성한 전자서명 키 쌍(pks,A sig, sks,A sig)과, 사용자 단말(700)로부터 수신한 공개키(pkA,s sig) 및 비밀키(skA,s enc)를 보유하게 된다.Thus, the
상기 키 교환 절차는 사용자가 P2P 거래 서비스를 이용하기 위해 중앙 서버(550)의 웹 사이트에 로그인을 한 후 이루어질 수 있다. 로그인을 한 후에 이루어지는 모든 통신은 SSL(secure socket layer)을 통해 이루어진다. The key exchange procedure may be performed after the user logs in the web site of the
도 8은 본 발명의 일 실시예에 따른 송금자 단말(510), 수금자 단말(530), 중앙 서버(550) 및 DHT 시스템(570)의 구체적인 동작을 설명하기 위한 도면이다.FIG. 8 is a view for explaining a concrete operation of the
도 7에서 키 교환 절차가 완료되면, 송금자 단말(510)은 중앙 서버(550)에 접속한 후, 제1 거래 요청 정보(CA)를 자신의 비밀키(skA,s enc)로 암호화(S805)한 후, 암호화된 제1 거래 요청 정보(skA,s enc(CA))와 자신의 식별자(IDA) 및 자신이 보유하고 있는 어느 하나의 공개키(pkkA sig)를 중앙 서버(550)로 전송한다(S810). 상기 제1 거래 요청 정보(CA)는 송금자 단말(510)이 계좌 정보(accountA)와 송금 정보(cA)를 직렬화하여 생성한 것이다.7, when the
중앙 서버(550)는 우선 수신된 공개키(pkkA sig)를 자신이 보유하고 있는 공개키(즉, 자신이 생성한 공개키 및 송금자 단말(510)로부터 수신한 공개키)(pks,A sig, pkA,s sig)와 비교하여(S815) 송금자 단말(510)을 인증한다.The
중앙 서버(550)는 암호화된 제1 거래 요청 정보(CA)를 송금자 단말(510)로부터 기 수신한 복호화키(skA,S enc)로 복호화하여 제1 거래 요청 정보(CA)를 획득한다(S820).The
중앙 서버(550)는 제1 거래 요청 정보(CA)로부터 확인되는 수금자 단말(530)로 송금자의 식별자(IDA)를 전송하여 거래 요청을 한다(S825).The
수금자 단말(530)은 제2 거래 요청 정보(CB)를 자신의 비밀키(skB,s enc)로 암호화(S830)한 후, 암호화된 제2 거래 요청 정보(skB,s enc(CB))와 자신의 식별자(IDB) 및 자신이 보유하고 있는 어느 하나의 공개키(pkkB sig)를 중앙 서버(550)로 전송한다(S835). 제2 거래 요청 정보(CB)는 수금자 단말(530)이 계좌 정보(accountB)와 수금 정보(cB)를 직렬화하여 생성한 것이다.
중앙 서버(550)는 수신된 공개키(pkkB sig)를 자신이 보유하고 있는 공개키(즉, 자신이 생성한 공개키 및 수금자 단말(530)로부터 수신한 공개키)(pks,B sig, pkB,s sig)와 비교하여(S840) 수금자 단말(530)을 인증한다.The
중앙 서버(550)는 암호화된 제2 거래 요청 정보(CB)를 수금자 단말(530)로부터 기 수신한 복호화키(skB,S enc)로 복호화하여 제2 거래 요청 정보(CB)를 획득한다(S845).The
중앙 서버(550)는 수금자의 식별자(IDB)를 송금자 단말(510)로 전송하여 수금자로부터의 거래 승인이 되었다는 것을 알린다(S850).The
중앙 서버(550)는 제1 거래 요청 정보(CA)를 역직렬화(deserialization)하여 송금자의 계좌 정보(accountA)와 송금 정보(cA)를 획득하고, 제2 거래 요청 정보(CB)를 역직렬화하여 수금자의 계좌 정보(accountB)와 수금 정보(CB)를 획득한다(S855). 상기 송금자의 계좌 정보(accountA)는 송금자가 이용하는 은행명 및 계좌 번호를 포함할 수 있으며, 송금 정보(cA)는 송금 액수 정보 및 수금자 정보(예를 들어, 수금자의 식별자)를 포함할 수 있다. 또한, 상기 수금자의 계좌 정보(accountB)는 수금자가 이용하는 은행명 및 계좌 번호를 포함할 수 있으며, 수금 정보(cB)는 수금 액수 정보 및 송금자 정보(예를 들어, 송금자의 식별자)를 포함할 수 있다.The
중앙 서버(550)는 송금자의 계좌 정보(accountA)와 S810에서 수신한 공개키(pkkA sig)를 직렬화시킨 후, 해싱(hashing)하여 제1 블록체인 해시 값(HA)을 획득하고, 수금자의 계좌 정보(accountB)와 S835 단계에서 수신한 공개키(pkkB sig)를 직렬화시킨 후, 해싱하여 제2 블록체인 해시 값(HB)을 획득한다(S860). 앞서 살펴본 바와 같이, 제1 블록체인 해시 값(HA)은 송금자의 계좌를 관리하는 노드의 주소에 대응하며, 제2 블록체인 해시 값(HB)은 수금자의 계좌를 관리하는 노드의 주소에 대응하는데, 이와 같이, 각 노드의 주소가 계좌 정보의 해시 값으로부터 생성된다는 점에서 DHT 시스템(570) 내의 특정 노드를 검색하는 것이 용이해질 수 있다.The
다음으로, 중앙 서버(550)는 제1 블록체인 해시 값(HA)과 송금 정보(cA)의 해시 값에 기초하여 제1 블록체인 트랜잭션(L[HA])을 생성하고, 제2 블록체인 해시 값(HB)과 송금 정보(cB)의 해시 값에 기초하여 제2 블록체인 트랜잭션(L[HB])을 생성한다(S865).Next, the
중앙 서버(550)는 DHT 시스템(570)으로 제1 블록체인 트랜잭션(L[HA])과 제2 블록체인 트랜잭션(L[HB])을 전송하여, 송금 정보(cA)의 해시 값(h(cA)) 및 수금 정보(cB)의 해시 값(h(cB))에 따라 입출금 처리가 되도록 요청한다(S870).The
DHT 시스템(570)의 각 노드들은 Successor_list를 참고하여 list내에 존재하는 다음 노드로 제1 블록체인 트랜잭션(L[HA])과 제2 블록체인 트랜잭션(L[HB])을 전송하여 결국, 제1 블록체인 해시 값(HA)에 대응하는 노드(예를 들어, a 노드)로 송금 정보(cA)의 해시 값(h(cA))이 전달되도록 하고, 제2 블록체인 해시 값(HB)에 대응하는 노드(예를 들어, b 노드)로 수금 정보(cB)의 해시 값(h(cB))이 전달되도록 한다. a 노드 및 b 노드 각각은 송금 정보(cA)의 해시 값(h(cA)) 및 수금 정보(cB)의 해시 값(h(cB))에 따라 분산 해시 테이블을 수정 또는 갱신한다(S875). 수정 또는 갱신된 분산 해시 테이블은 다른 노드들에게 공유된다. 또한, a 노드에 의한 분산 해시 테이블의 수정 및 b 노드에 의한 분산 해시 테이블의 수정에 따라 송금자의 계좌에서 수금자의 계좌로 일정 금액이 이체된다.Each node of the
DHT 시스템(570)은 중앙 서버(550)로 분산 해시 테이블의 수정 완료 메시지를 전달하고(S880), 중앙 서버(550)는 송금자 단말(510) 및 수금자 단말(530)로 거래 완료 메시지를 전달한다(S885).The
도 9는 본 발명의 일 실시예에 따른 중앙 서버(550)의 구성을 도시하는 블록도이다. 9 is a block diagram showing a configuration of a
도 9를 참조하면, 본 발명의 일 실시예에 따른 중앙 서버(550)는 사용자 연동부(551), 시스템 연동부(553), 인증부(555) 및 중앙 처리부(557)를 포함할 수 있다. 사용자 연동부(551), 시스템 연동부(553), 인증부(555) 및 중앙 처리부(557)는 적어도 하나의 프로세서로 구현될 수 있으며, 도시되지 않은 메모리에 저장된 프로그램에 따라 동작할 수 있다.9, the
사용자 연동부(551)는 송금자 단말(510) 및 수금자 단말(530)과 연동한다. 구체적으로, 사용자 연동부(551)는 송금자 단말(510) 및 수금자 단말(530)과 사전에 키 교환을 하고, 송금자 단말(510)로부터 제1 거래 요청 정보를 수신하며, 수금자 단말(530)로부터 제2 거래 요청 정보를 수신한다.The
시스템 연동부(553)는 DHT 시스템(570)과 연동한다. 구체적으로, 시스템 연동부(553)는 중앙 처리부(557)에 의해 생성되는 제1 블록체인 해시 값과 제2 블록체인 해시 값을 기초로 DHT 시스템(570)에게 입출금 처리를 요청한다.The
인증부(555)는 송금자 단말(510)로부터 수신되는 공개키와 수금자 단말(530)로부터 수신되는 공개키를, 기 보유하고 있는 공개키와 비교하여 송금자 단말(510) 및 수금자 단말(530)을 인증하고, 송금자 단말(510)에 의해 암호화된 제1 거래 요청 정보와 수금자 단말(530)에 의해 암호화된 제2 거래 요청 정보를 기 수신한 복호화키로 복호화를 한다.The
중앙 처리부(557)는 복호화된 제1 거래 요청 정보와 복호화된 제2 거래 요청 정보를 역직렬화하여 계좌 정보, 송금 정보 및 수금 정보를 획득하고, 획득한 정보들과 공개키에 기초하여 상기 제1 블록체인 해시 값과 제2 블록체인 해시 값을 획득한다.The
또한, 중앙 처리부(557)는 제1 블록체인 해시 값과 해싱된 송금 정보에 기초하여 제1 블록체인 트랜잭션을 생성하고, 제2 블록체인 해시 값과 해싱된 수금 정보에 기초하여 제2 블록체인 트랜잭션을 생성한다.In addition, the
제1 블록체인 트랜잭션과 제2 블록체인 트랜잭션은 시스템 연동부(553)를 통해 DHT 시스템(570)으로 전송되어 전술한 바와 같이, 송금자와 수금자 사이의 입출금이 처리될 수 있다.The first block chain transaction and the second block chain transaction are transmitted to the
본 발명의 일 실시예에 따른 P2P 거래 방법에 의하면 중간자 공격 및 DDoS 공격 등의 방어에 매우 효과적일 수 있다.According to the P2P transaction method according to the embodiment of the present invention, it can be very effective in defending the meson attack and the DDoS attack.
중간자 공격은 거래가 진행되는 순간부터 발생할 수 있는 공격으로써, 본 발명의 일 실시예에서는 P2P 거래 서비스를 이용하기 위해서 송금자 단말(510)이 중앙 서버(550)에 접속(또는 로그인)하는 순간부터 암호화 통신이 이루어지며, 사용자 단말과 중앙 서버(550) 사이에 주고받는 모든 거래 정보는 사전 키 교환 절차에서 주고받은 비밀키를 통해 암호화되어 보호된다. 또한, 중앙 서버(550)와 DHT 시스템(570) 사이에 이루어지는 통신은 DHT의 열람 및 수정 요청이 유일하고, DHT에 열람 및 수정 요청에서 전송되는 정보는 사용자 계좌 정보의 해시값이므로, 공격자가 중간에 ACH 파일 또는 금융거래 정보를 탈취해 위변조 시킬 수 없고, 사용자의 계좌, 전화번호 등의 개인정보를 탈취할 수 없다. The intermediary attack is an attack that may occur from the moment the transaction proceeds. In an embodiment of the present invention, the intermediary attack is performed from the moment the
또한, DHT 시스템(570)에 저장되는 정보를 탈취한다 해도 공격자는 해시값만을 얻을 수 있어 중간자 공격에 대하여 안전하다.Also, even if the information stored in the
또한, DHT 시스템(570)에서 각각의 은행들이 폐쇄된 컨소시엄 블록체인의 노드들이 되면서 DHT의 노드 역할을 하게 되므로, A은행에 DDoS 공격이 발생한다 해도 주변 은행이 보유한 분산 장부를 통해 사용자들은 가용성의 침해 없이 서비스를 이용할 수 있게 된다.In addition, since each bank in the
이상, 본 발명의 기술적 사상을 바람직한 실시예를 들어 상세하게 설명하였으나, 본 발명의 기술적 사상은 상기 실시예들에 한정되지 않고, 본 발명의 기술적 사상의 범위 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 여러 가지 변형 및 변경이 가능하다.While the present invention has been described in connection with what is presently considered to be practical exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, Various modifications and variations are possible.
510: 송금자 단말
530: 수금자 단말
550: 중앙 서버
551: 사용자 연동부
553: 시스템 연동부
555: 인증부
557: 중앙 처리부
570: DHT 시스템
575: 노드510: Sender terminal
530:
550: central server
551: user interlocking part
553: system interlocking part
555:
557:
570: DHT system
575: Node
Claims (13)
상기 제1 거래 요청 정보로부터 확인되는 수금자 단말로 거래 요청을 하는 단계;
상기 수금자 단말로부터 제2 거래 요청 정보를 수신하는 단계;
상기 제1 거래 요청 정보에 기초하여 제1 블록체인 해시 값을 획득하고, 상기 제2 거래 요청 정보에 기초하여 제2 블록체인 해시 값을 획득하는 단계; 및
상기 제1 및 제2 블록체인 해시 값에 따라 DHT(distributed hash table) 시스템으로 거래를 요청하여, 상기 DHT 시스템에 포함된 복수의 노드들 중 상기 제1 및 제2 블록체인 해시 값 각각에 대응하는 제1 및 제2 노드에 의해 입출금이 수행되도록 하는 단계;
를 포함하는, 중앙 서버에 의한 P2P 거래 방법.
Receiving first transaction request information from a sender terminal;
Requesting a transaction to a receiver terminal identified from the first transaction request information;
Receiving second transaction request information from the receiver terminal;
Obtaining a first block chain hash value based on the first transaction request information and obtaining a second block chain hash value based on the second transaction request information; And
Requesting a transaction from a distributed hash table (DHT) system in accordance with the first and second block chain hash values and transmitting a hash value corresponding to each of the first and second block chain hash values among a plurality of nodes included in the DHT system Causing the first and second nodes to perform a deposit and withdrawal;
The P2P transaction method comprising:
상기 P2P 거래 방법은,
상기 송금자 단말로부터 제1 거래 요청 정보의 수신 전에, 상기 송금자 단말로부터 송금자 비밀키를 수신하는 단계;를 더 포함하되,
상기 송금자 단말로부터 제1 거래 요청 정보를 수신하는 단계는,
상기 송금자 단말에 의해 상기 비밀키로 암호화된 제1 거래 요청 정보를 상기 미리 수신한 비밀키로 복호화하는 단계;를 포함하는, P2P 거래 방법.
The method according to claim 1,
The P2P transaction method comprises:
And receiving the sender's private key from the sender terminal before receiving the first transaction request information from the sender terminal,
Wherein the receiving of the first transaction request information from the sender terminal comprises:
And decrypting the first transaction request information encrypted with the secret key by the sender terminal with the previously received secret key.
상기 P2P 거래 방법은,
상기 송금자 단말로부터 제1 거래 요청 정보의 수신 전에, 상기 송금자 단말과 송금자 공개키 및 중앙 서버 공개키를 교환하는 단계;를 더 포함하되,
상기 송금자 단말로부터 제1 거래 요청 정보를 수신하는 단계는,
상기 제1 거래 요청 정보와 함께 수신되는 공개키를, 상기 미리 수신된 송금자 공개키 및 중앙 서버 공개키 중 적어도 하나와 비교하여 상기 송금자 단말을 인증하는 단계;를 더 포함하는, P2P 거래 방법.
The method according to claim 1,
The P2P transaction method comprises:
Exchanging the sender terminal with the sender public key and the central server public key before receiving the first transaction request information from the sender terminal,
Wherein the receiving of the first transaction request information from the sender terminal comprises:
And authenticating the sender terminal by comparing the public key received together with the first transaction request information with at least one of the previously received sender public key and the central server public key, .
상기 P2P 거래 방법은,
상기 수금자 단말로부터 제2 거래 요청 정보의 수신 전에, 상기 수금자 단말로부터 수금자 비밀키를 수신하는 단계;를 더 포함하되,
상기 수금자 단말로부터 제2 거래 요청 정보를 수신하는 단계는,
상기 수금자 단말에 의해 상기 비밀키로 암호화된 제2 거래 요청 정보를 상기 미리 수신한 비밀키로 복호화하는 단계;를 포함하는, P2P 거래 방법.
The method according to claim 1,
The P2P transaction method comprises:
Receiving the receiver's private key from the receiver terminal before receiving the second transaction request information from the receiver terminal,
Wherein the receiving of the second transaction request information from the receiver terminal comprises:
And decoding the second transaction request information encrypted with the secret key by the receiver terminal with the previously received secret key.
상기 P2P 거래 방법은,
상기 수금자 단말로부터 제2 거래 요청 정보의 수신 전에, 상기 수금자 단말과 수금자 공개키 및 중앙 서버 공개키를 교환하는 단계;를 더 포함하되,
상기 수금자 단말로부터 제2 거래 요청 정보를 수신하는 단계는,
상기 제2 거래 요청 정보와 함께 수신되는 공개키를, 상기 미리 수신된 수금자 공개키 및 중앙 서버 공개키 중 적어도 하나와 비교하여 상기 수금자 단말을 인증하는 단계;를 더 포함하는, P2P 거래 방법.
The method according to claim 1,
The P2P transaction method comprises:
Exchanging the receiver key public key and the central server public key with the receiver terminal before receiving the second transaction request information from the receiver terminal,
Wherein the receiving of the second transaction request information from the receiver terminal comprises:
And authenticating the receiver terminal by comparing the public key received together with the second transaction request information with at least one of the previously received receiver's public key and the central server public key, .
상기 P2P 거래 방법은,
상기 제1 거래 요청 정보를 연산하여 송금자의 계좌 정보 및 송금 정보를 획득하는 단계; 및
상기 제2 거래 요청 정보를 연산하여 수금자의 계좌 정보 및 수금 정보를 획득하는 단계;
를 더 포함하는, P2P 거래 방법.
The method according to claim 1,
The P2P transaction method comprises:
Calculating the first transaction request information to obtain account information and remittance information of a sender; And
Calculating the second transaction request information to obtain account information and collection information of the receiver;
The P2P transaction method further comprising:
상기 P2P 거래 방법은,
상기 제1 및 제2 거래 요청 정보를 역직렬화(deserialization)하는 단계;를 포함하는, P2P 거래 방법.
The method according to claim 6,
The P2P transaction method comprises:
And deserializing the first and second transaction request information.
상기 제1 및 상기 제2 블록체인 해시 값을 획득하는 단계는,
상기 송금자 단말로부터 수신되는 공개키 및 상기 송금자의 계좌 정보를 해싱하여 상기 제1 블록체인 해시 값을 획득하고, 상기 수금자 단말로부터 수신되는 공개키 및 상기 수금자의 계좌 정보를 해싱하여 상기 제2 블록체인 해시 값을 획득하는 단계;를 포함하는, P2P 거래 방법.
The method according to claim 6,
Wherein the obtaining of the first and second block chain hash values comprises:
A hash value obtained by hashing the public key received from the sender terminal and the account information of the sender to obtain the first block chain hash value, hashing the public key received from the receiver terminal and the account information of the receiver, And obtaining a block chain hash value.
상기 제1 및 제2 블록체인 해시 값에 따라 DHT 시스템으로 거래를 요청하는 단계는,
상기 제1 블록체인 해시 값과 상기 송금 정보에 기초하여 생성되는 제1 블록체인 트랜잭션 및 상기 제2 블록체인 해시 값과 상기 수금 정보에 기초하여 생성되는 제2 블록체인 트랜잭션을 상기 DHT 시스템으로 전송하는 단계;를 포함하는, P2P 거래 방법.
The method according to claim 6,
The step of requesting a transaction to the DHT system according to the first and second block chain hash values comprises:
A first block chain transaction generated based on the first block chain hash value and the transfer information and a second block chain transaction generated based on the second block chain hash value and the collection information to the DHT system A P2P transaction method, comprising:
상기 P2P 거래 방법은,
상기 DHT 시스템에 의한 입출금이 완료되면, 상기 송금자 단말과 상기 수금자 단말로 거래 완료 메시지를 전송하는 단계;를 더 포함하는, P2P 거래 방법.
The method according to claim 1,
The P2P transaction method comprises:
And transferring a transaction completion message to the sender terminal and the receiver terminal when the deposit and withdrawal by the DHT system is completed.
상기 제1 거래 요청 정보에 기초하여 제1 블록체인 해시 값을 획득하고, 상기 제2 거래 요청 정보에 기초하여 제2 블록체인 해시 값을 획득하는 중앙 처리부; 및
상기 제1 및 제2 블록체인 해시 값에 따라 DHT(distributed hash table) 시스템으로 거래를 요청하여, 상기 DHT 시스템에 포함된 복수의 노드들 중 상기 제1 및 제2 블록체인 해시 값 각각에 대응하는 제1 및 제2 노드에 의해 입출금이 수행되도록 하는 시스템 연동부;
를 포함하는, 중앙 서버.
A user interlocking unit for receiving first transaction request information from a sender terminal and receiving second transaction request information from a receiver terminal;
A central processing unit for obtaining a first block chain hash value based on the first transaction request information and obtaining a second block chain hash value based on the second transaction request information; And
Requesting a transaction from a distributed hash table (DHT) system in accordance with the first and second block chain hash values and transmitting a hash value corresponding to each of the first and second block chain hash values among a plurality of nodes included in the DHT system A system interlocking unit for causing the first and second nodes to perform the deposit and withdrawal;
And a central server.
상기 중앙 서버로부터 거래 요청이 수신되면, 복수의 노드들 중 상기 제1 및 제2 블록체인 해시 값 각각에 대응하는 제1 및 제2 노드에 의해 입출금을 수행하는 DHT(distributed hash table) 시스템;
을 포함하는, P2P 거래 시스템.
Acquiring a first block chain hash value and a second block chain hash value based on first transaction request information received from a sender terminal and second transaction request information received from a receiver terminal, A central server for requesting a deposit and withdrawal transaction based on a chain hash value; And
A distributed hash table (DHT) system for performing a deposit / withdrawal by a first node and a second node corresponding to the first and second block chain hash values, respectively, of a plurality of nodes when receiving a transaction request from the central server;
The P2P transaction system.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170000517A KR101964254B1 (en) | 2017-01-03 | 2017-01-03 | Person to person trading method and apparatus by using blockchain and distributed hash table |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170000517A KR101964254B1 (en) | 2017-01-03 | 2017-01-03 | Person to person trading method and apparatus by using blockchain and distributed hash table |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180079847A KR20180079847A (en) | 2018-07-11 |
KR101964254B1 true KR101964254B1 (en) | 2019-04-01 |
Family
ID=62917442
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170000517A KR101964254B1 (en) | 2017-01-03 | 2017-01-03 | Person to person trading method and apparatus by using blockchain and distributed hash table |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101964254B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220141493A (en) | 2021-04-13 | 2022-10-20 | 주식회사 노틸러스 | Apparatus of processing linked data |
KR102471210B1 (en) | 2022-03-07 | 2022-11-29 | 주식회사 비트코인그룹 | Method and system for data analysis service mediation based on blockchain and homomorphic encryption |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101979254B1 (en) * | 2018-08-01 | 2019-05-17 | 주식회사 스트리미 | Apparatus for matching transactions for exchanging cryptocurrencies and method thereof |
KR102273549B1 (en) * | 2018-08-23 | 2021-07-06 | 주식회사 퀀텀게이트 | System and method for providing traffic safety based on blockchain |
KR102013527B1 (en) * | 2018-08-28 | 2019-08-22 | 최은철 | System and method for trading raw material using blockchain |
KR102178583B1 (en) | 2018-11-13 | 2020-11-13 | 주식회사 싸이투코드 | Contract apparatus and method of blockchain using digital contents orginal key |
KR102120330B1 (en) | 2018-11-13 | 2020-06-08 | 주식회사 싸이투코드 | Contract apparatus and method of blockchain using location information |
KR102217987B1 (en) * | 2018-11-22 | 2021-02-18 | 김경준 | Management system for blockchain |
SG11201903527QA (en) | 2018-11-30 | 2019-05-30 | Alibaba Group Holding Ltd | Platform for atomic transfer of smart assets within blockchain networks |
SG11201903539PA (en) | 2018-11-30 | 2019-05-30 | Alibaba Group Holding Ltd | Platform for atomic transfer of smart assets within blockchain networks |
KR102175949B1 (en) * | 2018-12-10 | 2020-11-09 | 한국전자통신연구원 | Method and apparatus for generating block in blockchain system |
KR20200081533A (en) * | 2018-12-27 | 2020-07-08 | 서강대학교산학협력단 | Blockchain Consensus Method based Improved Dynamic Blind Voting for Internet of Things Environment |
KR102096643B1 (en) * | 2018-12-31 | 2020-04-02 | 주식회사 미탭스플러스 | Apparatus for KYC using KYC blockchain |
KR102096642B1 (en) * | 2018-12-31 | 2020-04-02 | 주식회사 미탭스플러스 | Apparatus for KYC using KYC blockchain |
KR102096644B1 (en) * | 2018-12-31 | 2020-04-02 | 주식회사 미탭스플러스 | Apparatus for KYC using KYC blockchain |
KR102096646B1 (en) * | 2018-12-31 | 2020-04-02 | 주식회사 미탭스플러스 | Apparatus for KYC using KYC blockchain |
KR102096640B1 (en) * | 2018-12-31 | 2020-04-02 | 주식회사 미탭스플러스 | Apparatus for KYC using Token Balance within KYC blockchain |
KR102096645B1 (en) * | 2018-12-31 | 2020-04-02 | 주식회사 미탭스플러스 | Apparatus for KYC using KYC blockchain |
KR102096641B1 (en) * | 2018-12-31 | 2020-04-02 | 주식회사 미탭스플러스 | Apparatus and Method for KYC using KYC blockchain |
KR20200084162A (en) | 2019-01-02 | 2020-07-10 | 서강대학교산학협력단 | Payment system and payment method based on a blockchain lightning network |
WO2020197514A1 (en) * | 2019-03-27 | 2020-10-01 | Koc Universitesi | A distributed hash table based blockchain architecture for resource constrained environments |
KR102142275B1 (en) * | 2019-07-25 | 2020-08-07 | 주식회사 바디프랜드 | Apparatus and method for approving deposit of cryptocurrency |
CN111694851B (en) * | 2020-05-28 | 2023-06-16 | 平安科技(深圳)有限公司 | Transaction processing method of distributed transaction and related equipment |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101590076B1 (en) * | 2015-11-18 | 2016-02-01 | 주식회사 웨이브스트링 | Method for managing personal information |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101394996B1 (en) * | 2012-05-25 | 2014-05-27 | 주식회사 한국외환은행 | Remittance transaction service method based on payee |
KR20160050876A (en) * | 2014-10-31 | 2016-05-11 | 코나아이 (주) | Bitcoin dealing method using public key and private key stored in smart card |
KR101660627B1 (en) * | 2015-02-03 | 2016-09-28 | 한양대학교 에리카산학협력단 | Method and apparatus for protecting transasction of encrypted currency |
-
2017
- 2017-01-03 KR KR1020170000517A patent/KR101964254B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101590076B1 (en) * | 2015-11-18 | 2016-02-01 | 주식회사 웨이브스트링 | Method for managing personal information |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220141493A (en) | 2021-04-13 | 2022-10-20 | 주식회사 노틸러스 | Apparatus of processing linked data |
KR102471210B1 (en) | 2022-03-07 | 2022-11-29 | 주식회사 비트코인그룹 | Method and system for data analysis service mediation based on blockchain and homomorphic encryption |
Also Published As
Publication number | Publication date |
---|---|
KR20180079847A (en) | 2018-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101964254B1 (en) | Person to person trading method and apparatus by using blockchain and distributed hash table | |
AU2022204758B2 (en) | Network topology | |
CN110582793B (en) | Anonymity and traceability of digital property transactions on a distributed transaction consensus network | |
US10715531B2 (en) | Network topology | |
CN108418680B (en) | Block chain key recovery method and medium based on secure multi-party computing technology | |
US20220166634A1 (en) | Method and apparatus for generating blockchain transaction | |
KR20190075771A (en) | Authentication System Using Block Chain Through Distributed Storage after Separating Personal Information | |
TW202040391A (en) | Computer-implemented systems and methods for implementing transfers over a blockchain network | |
TW202029086A (en) | Block chain-based evidence storage method and device | |
KR20210041459A (en) | The encrypted data sharing system based on block chain and IPFS(InterPlanetary File System) | |
JP7327473B2 (en) | Virtual currency system, terminal, server, virtual currency transaction method and program | |
CN113393225B (en) | Digital currency encryption payment method and system | |
WO2022206446A1 (en) | Methods and apparatuses for generating, verifying and storing transaction voucher, device, and system | |
KR102483369B1 (en) | The user data storage and sharing system based on DID | |
KR20210041458A (en) | The data sharing system by group based on block chain and IPFS(InterPlanetary File System) | |
Ravindran et al. | A review paper on regulating bitcoin currencies | |
CN112384939A (en) | Computer-implemented system and method for out-of-chain exchange of distributed ledger-related transactions | |
EP4181457A1 (en) | Quantum based method and system for performing cryptocurrency asset transactions | |
CN112258169A (en) | Parallel signature system and method based on key generation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |