KR20190122430A - Method of de-mixing for Bitcoin mixing services - Google Patents

Method of de-mixing for Bitcoin mixing services Download PDF

Info

Publication number
KR20190122430A
KR20190122430A KR1020180046192A KR20180046192A KR20190122430A KR 20190122430 A KR20190122430 A KR 20190122430A KR 1020180046192 A KR1020180046192 A KR 1020180046192A KR 20180046192 A KR20180046192 A KR 20180046192A KR 20190122430 A KR20190122430 A KR 20190122430A
Authority
KR
South Korea
Prior art keywords
input
output
bitcoin
transaction
combination
Prior art date
Application number
KR1020180046192A
Other languages
Korean (ko)
Other versions
KR102091625B1 (en
Inventor
허준범
홍영기
Original Assignee
고려대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 고려대학교 산학협력단 filed Critical 고려대학교 산학협력단
Priority to KR1020180046192A priority Critical patent/KR102091625B1/en
Publication of KR20190122430A publication Critical patent/KR20190122430A/en
Application granted granted Critical
Publication of KR102091625B1 publication Critical patent/KR102091625B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4016Transaction verification involving fraud or risk level assessment in transaction processing

Abstract

According to the present invention, a de-mixing method of a bitcoin mixing service comprises: an input/output information extracting process of being performed by a server monitoring a bitcoin transaction to extract information about at least one input address, at least one output address, an input amount inputted from each input address and an output amount moved to each output address by using bitcoin transaction information; an input/output matching combination extracting process of extracting an output combination matched with first input amount inputted from each input having each of the input addresses; and an input removing process of determining that corresponding output is matched with corresponding input and removing the corresponding input when the matched output is determined as one. It is possible to identify anonymized illegal bitcoin transaction by excluding the removed corresponding output and repeating the input/output combination extracting process and the input removing process.

Description

비트코인 혼합 서비스의 혼합해제 방법{Method of de-mixing for Bitcoin mixing services}Method of de-mixing for Bitcoin mixing services}

본 발명은 비트코인 혼합 서비스의 혼합해제 방법에 관한 것이다. 보다 상세하게는, 비트코인 혼합 서비스에 따른 익명성을 갖는 불법 거래를 판단하는 방법에 관한 것이다.The present invention relates to a method for demixing Bitcoin mixing service. More specifically, the present invention relates to a method for determining an illegal transaction having anonymity according to a bitcoin mixed service.

비트코인은 Satoshi Nakamoto에 의해 2009년에 만들어진 암호 화폐이다. 비트코인 주소는 한 번만 이용되는 것으로 제안되기 때문에, 각각의 상이한 트랜잭션마다 새로운 주소들이 만들어진다. 비트코인 주소는 소유자의 프라이빗 키로부터 랜덤하게 생성되고 소유자의 익명성에 큰 역할을 하기 때문에, 주소 자체만으로는 특정 사용자가 식별하는 것은 어렵다.Bitcoin is a cryptocurrency created in 2009 by Satoshi Nakamoto. Since bitcoin addresses are proposed to be used only once, new addresses are created for each different transaction. Because Bitcoin addresses are randomly generated from the owner's private key and play a big role in the owner's anonymity, the address itself is difficult for a particular user to identify.

그럼에도 불구하고, 비트코인은 사용자의 익명성(anonymity)을 완전히 보장하는 것이 어려울 수 있다. 따라서, 익명성의 한계를 극복하고 익명성을 향상시키기 위해, 혼합 서비스가 비트코인 생태계에 도입될 수 있다. 혼합 서비스에서, 믹서라고 불리우는 제3자는 외부자의 관점에서 입력/출력 트랜잭션의 연관성을 파악할 수 없게 하는 방식으로 복수의 비트코인 트랜잭션들을 혼합한다.Nevertheless, Bitcoin can be difficult to fully guarantee the anonymity of a user. Thus, to overcome the limitations of anonymity and improve anonymity, mixed services can be introduced into the Bitcoin ecosystem. In a mixed service, a third party, called a mixer, mixes a plurality of Bitcoin transactions in a way that makes it impossible to grasp the association of input / output transactions from an outsider's point of view.

하지만, 이러한 비트코인 트랜잭션 혼합에 의한 익명화로 인해, 비트코인 불법 거래(illegal transaction) 등의 범죄가 발생하는 문제점이 있다. 따라서, 이러한 비트코인 트랜잭션의 익명성을 유지하면서도 불법 거래 등의 범죄를 방지하기 위한 기법이 요구된다.However, due to such anonymization by bitcoin transaction mixing, there is a problem that a crime such as a bitcoin illegal transaction occurs. Therefore, there is a need for a technique for preventing crimes such as illegal transactions while maintaining the anonymity of such Bitcoin transactions.

따라서, 본 발명에서 해결하고자 하는 과제는, 비트코인 혼합 서비스의 혼합해제 방법을 제공하는 것을 목표로 한다.Accordingly, an object of the present invention is to provide a method for unmixing a bitcoin mixed service.

또한, 본 발명에서 해결하고자 하는 과제는, 비트코인 트랜잭션의 익명성을 유지하면서도 불법 거래 등의 범죄를 방지하기 위한 방법을 제공하는 것을 목표로 한다.In addition, an object of the present invention is to provide a method for preventing crimes such as illegal transactions while maintaining the anonymity of Bitcoin transactions.

상기 또는 다른 목적을 달성하기 위해 본 발명의 일 측면에 따르면, 비트 코인 혼합 서비스의 혼합 해제(de-mixing) 방법에서, 상기 혼합 해제 방법은 비트 코인 트랙잭션을 감시하는 서버에 의해 수행되고, 비트 코인 트랜잭션 정보를 이용하여, 적어도 하나의 입력 주소와, 적어도 하나의 출력 주소, 그리고 각각의 입력 주소에서 입력된 입력 금액과, 각각의 출력 주소로 이동된 출력 금액에 관한 정보를 추출하는 입력/출력 정보 추출 과정; 상기 각각의 입력 주소를 갖는 각각의 입력에서 입력된 제1 입력 금액과 매칭되는 출력의 조합을 추출하는 입력/출력 매칭 조합 추출 과정; 및 상기 매칭되는 출력이 하나로 결정되는 경우, 해당 출력을 해당 입력과 매칭되는 것으로 판별하고, 상기 해당 입력을 제거하는 입력 제거 과정을 포함하고, 상기 제거된 해당 입력을 제외하고, 상기 입력/출력 조합 추출 과정 및 상기 입력 제거 과정을 반복하여, 익명화된 불법적인 비트코인 거래의 식별이 가능하다.According to an aspect of the present invention to achieve the above or another object, in the de-mixing method of the bitcoin mixing service, the mixing de-mixing method is performed by a server monitoring the bitcoin transaction, bitcoin Input / output information for extracting information on at least one input address, at least one output address, input amount input from each input address, and output amount moved to each output address using transaction information. Extraction process; An input / output matching combination extraction step of extracting a combination of outputs matching the first input amount inputted at each input having each input address; And an input removing process of determining that the corresponding output is matched with the corresponding input when the matching output is determined as one, and removing the corresponding input, except for the removed corresponding input. By repeating the extraction process and the input removal process, anonymized illegal Bitcoin transactions can be identified.

상기 또는 다른 목적을 달성하기 위해 본 발명의 일 측면에 따르면, 비트 코인 혼합 서비스의 혼합 해제(de-mixing) 방법을 수행하는 서버는, 비트 코인 트랜잭션 정보를 수신하는 인터페이스; 및 상기 비트 코인 트랜잭션 정보를 이용하여, 적어도 하나의 입력 주소와, 적어도 하나의 출력 주소, 그리고 각각의 입력 주소에서 입력된 입력 금액과, 각각의 출력 주소로 이동된 출력 금액에 관한 정보를 추출하고, 상기 각각의 입력 주소를 갖는 각각의 입력에서 입력된 제1 입력 금액과 매칭되는 출력의 조합을 추출하고, 상기 매칭되는 출력이 하나로 결정되는 경우, 해당 출력을 해당 입력과 매칭되는 것으로 판별하고, 상기 해당 입력을 제거하는 제어부를 포함하고, 상기 제어부는 상기 제거된 해당 입력을 제외하고, 상기 입력/출력 조합 추출 과정 및 상기 입력 제거 과정을 반복하여, 익명화된 불법적인 비트코인 거래의 식별이 가능하다.According to an aspect of the present invention to achieve the above or another object, a server that performs a de-mixing method of the bitcoin mixing service, the interface for receiving bitcoin transaction information; And extracting information on at least one input address, at least one output address, an input amount input from each input address, and an output amount moved to each output address using the bitcoin transaction information. Extracting a combination of outputs matched with a first input amount input from each input having each input address, and when the matching output is determined as one, determining the output as matching with the corresponding input, And a control unit for removing the corresponding input, wherein the control unit repeats the input / output combination extraction process and the input removal process, except for the removed corresponding input, so that anonymized illegal bitcoin transaction can be identified. Do.

본 발명에 따른 비트코인 혼합 서비스의 혼합해제 방법은, 비트코인 익명화에 따른 불법 거래를 방지할 수 있다는 장점이 있다.The method of unmixing the bitcoin mixed service according to the present invention has an advantage of preventing illegal transactions due to bitcoin anonymization.

본 발명에 따른 비트코인 혼합 서비스의 혼합해제 방법은, 비트코인 거래 시에 공개되는 정보만으로 비트코인 트랜잭션의 익명성을 유지하면서도 불법 거래를 방지할 수 있다는 장점이 있다.Mixing release method of the bitcoin mixed service according to the present invention, there is an advantage that can prevent illegal transactions while maintaining the anonymity of the bitcoin transaction only by information that is disclosed at the time of bitcoin transactions.

도 1은 본 발명에 따른 비트코인 혼합 서비스의 개념도를 나타낸다.
도 2는 본 발명에 따른 비트코인 혼합 서비스의 혼합해제 방법의 흐름도를 나타낸다.
도 3은 본 발명의 다른 실시 예에 따른 비트코인 혼합 서비스의 혼합해제 방법의 흐름도를 나타낸다.
도 4는 본 발명에 따른 비트코인 혼합 서비스와 혼합해제를 위한 트랜잭션의 예시를 나타낸다.
도 5는 본 발명에 따른 비트코인 트랜잭션 서비스를 수행하고 감시하는 트랜잭션 시스템을 나타낸다.
1 illustrates a conceptual diagram of a bitcoin mixed service according to the present invention.
2 shows a flowchart of a method for unmixing a bitcoin mixing service according to the present invention.
3 is a flowchart illustrating a method of unmixing a bitcoin mixing service according to another embodiment of the present invention.
4 shows an example of a transaction for unmixing with the Bitcoin mixing service according to the present invention.
5 illustrates a transaction system for performing and monitoring a Bitcoin transaction service in accordance with the present invention.

상술한 본 발명의 특징 및 효과는 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 명세서에서 사용한 용어는 단지 특정한 실시 예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다.The above-described features and effects of the present invention will become more apparent from the following detailed description taken in conjunction with the accompanying drawings, and thus, those skilled in the art to which the present invention pertains may easily implement the technical idea of the present invention. Could be. As the inventive concept allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the text. However, this is not intended to limit the present invention to a specific disclosure, it should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention. The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention.

각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다.In describing each drawing, like reference numerals are used for like elements.

제1, 제2등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.Terms such as first and second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another.

예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. "및/또는" 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.For example, without departing from the scope of the present invention, the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component. The term “and / or” includes any combination of a plurality of related items or any item of a plurality of related items.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art.

일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않아야 한다.Terms such as those defined in the commonly used dictionaries should be construed as having meanings consistent with the meanings in the context of the related art, and shall not be construed in ideal or excessively formal meanings unless expressly defined in this application. Should not.

이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈", "블록" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. The suffixes "module", "block", and "unit" for components used in the following description are given or mixed in consideration of ease of specification, and do not have distinct meanings or roles by themselves. .

이하, 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 당해 분야에 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 설명한다. 하기에서 본 발명의 실시 예를 설명함에 있어, 관련된 공지의 기능 또는 공지의 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. Hereinafter, with reference to the accompanying drawings, preferred embodiments of the present invention will be described to be easily carried out by those of ordinary skill in the art. In the following description of the embodiments of the present invention, when it is determined that the detailed description of the related known functions or known configurations may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted.

이하, 본 발명에 따른 비트코인 혼합 서비스의 혼합해제 방법 및 혼합해제 시스템에 대해 상세하게 검토한다. 이와 관련하여, 본 발명에 따른 비트코인 혼합 방법에 대해 먼저 살펴보면 다음과 같다.Hereinafter, a detailed description will be given of a method of unmixing a bitcoin mixing service and a unmixing system according to the present invention. In this regard, the bitcoin mixing method according to the present invention will be described first.

비트코인 혼합 서비스는 주소들 간에 연결을 단절(break)하여 익명성(anonymity)을 향상시킨다. 이와 관련하여, 도 1은 본 발명에 따른 비트코인 혼합 서비스의 개념도를 나타낸다. 도 1을 참조하면, 복수의 입력 A, B, C와 복수의 출력 D, E, F로 구성된다. 이때, 믹서(혼합기)는 외부자 관점에서 입력 및 출력 트랜잭션 간에 연관 관계를 파악하기 불가능한 방식으로 입력 및 출력 트랜잭션을 혼합한다. 따라서, 익명성 (또는 익명화) 레벨은 연관된 트랜잭션들의 개수에 의해 결정된다.Bitcoin mixed services improve the anonymity by breaking connections between addresses. In this regard, Figure 1 shows a conceptual diagram of a bitcoin mixed service according to the present invention. Referring to Figure 1, it consists of a plurality of inputs A, B, C and a plurality of outputs D, E, F. At this time, the mixer (mixer) mixes the input and output transactions in such a way that it is impossible to determine the correlation between the input and output transactions from the outsider's point of view. Thus, the anonymity (or anonymity) level is determined by the number of associated transactions.

이러한 익명성 레벨은 입력 개수에 비례하고, 분석을 위한 첫 번째 단계는 혼합 서비스에 연관된 트랜잭션들을 획득하는 것이다. 한편, 본 발명에 따른 혼합해제 방법은 트랜잭션 시간 및 비트코인(BTC) 값과 같은 다른 정보를 이용하여 익명화 레벨을 감소시키는 것이다. 예를 들어, 입력 A 및 출력 F의 값이 3 BTC이면, 이러한 두 입력/출력 조합은 높은 확률로 상호 간에 연결된다고 판단된다. 하지만, 이러한 혼합 서비스는 이러한 트랜잭션 시간 및 비트코인(BTC) 값 이외에도 다음과 같은 다양한 파라미터를 반영할 수 있다.This level of anonymity is proportional to the number of inputs, and the first step for analysis is to acquire transactions related to the mixed service. On the other hand, the mixed release method according to the present invention is to reduce the anonymization level by using other information such as transaction time and bitcoin (BTC) value. For example, if the value of input A and output F is 3 BTC, it is determined that these two input / output combinations are connected to each other with high probability. However, the mixed service may reflect various parameters in addition to the transaction time and bitcoin (BTC) values as follows.

이와 관련하여, 본 발명에 따른 혼합 서비스 및 해제 방법에서 제공되는 능력(capability) 및 파라미터에 대해 살펴보면 다음과 같다.In this regard, the capacities and parameters provided in the mixed service and release method according to the present invention will be described as follows.

- 혼합 서비스 비용(Mixing Service Fee): 이는 사용자에 의해 설정되거나 또는 혼합 서비스에 의해 랜덤하게 결정될 수 있다. 혼합 비용의 랜덤성은 입력 및 출력 트랜잭션을 연관시키는 것을 어렵게 만든다.Mixing Service Fee: This may be set by the user or randomly determined by the mixing service. The randomness of mixed costs makes it difficult to correlate input and output transactions.

- 지연 (Delay): 혼합 서비스가 입력 트랜잭션을 혼합하자마자 혼합 서비스가 출력 트랜잭션을 생성하면, 시간-기반 공격은 쉽게 가능하다. 따라서, 혼합 서비스는 일정 범위 내에서 지연을 설정하여 이러한 공격을 회피할 수 있다. 따라서, 이러한 트랜잭션들 간 지연 시간을 이용하여 공격 회피뿐만 아니라, 익명화 해제 시에도 이를 이용하여 후술할 부정합 문제를 해결할 수 있다. 하지만, 지연의 범위가 증가할수록, 혼합 이후에 입력 및 출력 트랜잭션을 연관시키는 것이 어려워지거나 시간이 많이 소요될 수 있다.Delay: If the mixed service creates an output transaction as soon as the mixed service mixes the input transactions, a time-based attack is easily possible. Therefore, the mixed service can avoid such an attack by setting a delay within a certain range. Therefore, the delay time between these transactions can be used to solve the mismatch problem, which will be described later, in addition to evading an attack, and also in case of anonymization release. However, as the range of delay increases, it may become more difficult or time-consuming to associate input and output transactions after mixing.

- 최대_출력_주소 (Max_output_address): 혼합 서비스는 입력을 복수의 출력으로 분할할 수 있다. 또한, 각 입력에 대해 상이한 지연 시간을 설정할 수 있다. 따라서, 상이한 지연으로 트랜잭션을 분할(split)하는 것은 혼합해제 서비스를 더 어렵게 할 수 있다. 따라서, 상이한 혼합 파라미터들의 조합이 혼합 서비스 분석을 위하여 고려될 수 있다.Max_output_address: A mixed service can split its input into multiple outputs. In addition, different delay times can be set for each input. Thus, splitting a transaction with different delays can make the demixing service more difficult. Thus, a combination of different mixing parameters can be considered for mixed service analysis.

- 트랜잭션 비용(Transaction Fee): 트랜잭션이 생성될 때마다 비트코인은 채굴자(miner)에게 트랜잭션 비용을 부과할 수 있다. 따라서, 고객이 비트코인을 몇 개의 조각으로 분할하면, 거래 비용은 증가한다. 이와 관련하여, 혼합 서비스는 각각의 주소에 대하여 비용을 부가할 수 있다.Transaction Fee: Every time a transaction is created, Bitcoin can charge a transaction fee to the miner. Therefore, if the customer splits Bitcoin into several pieces, the transaction cost increases. In this regard, the mixed service may add costs for each address.

한편, 도 2는 본 발명에 따른 비트코인 혼합 서비스의 혼합해제 방법의 흐름도를 나타낸다. 도 2를 참조하면, 비트코인 혼합 서비스의 혼합해제 방법은 입출력 정보 추출 과정(S110), 입력/출력 조합 추출 과정(S120), 입력 제거 과정(S130)을 포함한다. 또한, 비트코인 혼합 서비스의 혼합해제 방법은 입력/출력 매칭 완료 여부 판단 과정(S140)을 더 포함할 수 있다.On the other hand, Figure 2 shows a flow chart of a method of mixing the bitcoin mixing service according to the present invention. Referring to FIG. 2, a method of mixing a bitcoin mixed service includes an input / output information extraction process (S110), an input / output combination extraction process (S120), and an input removal process (S130). In addition, the mixing release method of the bitcoin mixing service may further include a process of determining whether the input / output matching is complete (S140).

이와 관련하여, 비트코인 혼합 서비스의 혼합해제 방법은 혼합 서비스 및/또는 혼합해제를 수행하는 서버에 의해 수행될 수 있다.In this regard, the demixing method of the bitcoin mixing service may be performed by a server performing the mixing service and / or the demixing.

입출력 정보 추출 과정(S110)에서, 비트 코인 트랜잭션 정보를 이용하여, 적어도 하나의 입력 주소와, 적어도 하나의 출력 주소, 그리고 각각의 입력 주소에서 입력된 입력 금액과, 각각의 출력 주소로 이동된 출력 금액에 관한 정보를 추출한다.In the input / output information extraction process (S110), using bitcoin transaction information, at least one input address, at least one output address, an input amount input from each input address, and an output moved to each output address Extract information about the amount.

입력/출력 조합 추출 과정(S120)에서, 상기 각각의 입력 주소를 갖는 각각의 입력에서 입력된 제1 입력 금액과 매칭되는 출력의 조합을 추출한다.In the input / output combination extraction process (S120), a combination of outputs matching the first input amount inputted at each input having the respective input address is extracted.

입력 제거 과정(S130)에서, 상기 매칭되는 출력이 하나로 결정되는 경우, 해당 출력을 해당 입력과 매칭되는 것으로 판별하고, 상기 해당 입력을 제거한다.In the input removing process (S130), when the matching output is determined as one, the corresponding output is determined to be matched with the corresponding input, and the corresponding input is removed.

입력/출력 매칭 완료 여부 판단 과정(S140)에서, 모든 입력에 대해 매칭에 따른 입력 제거 과정(S130)이 완료되었는지 여부를 판단한다.In the input / output matching completion determination step (S140), it is determined whether the input removal process (S130) according to the matching is completed for all the inputs.

한편, 입력/출력 매칭 완료 여부 판단 과정(S140)에서 모든 입력에 대해 매칭이 완료되지 않았다고 판단되면, 상기 제거된 해당 입력을 제외하고, 상기 입력/출력 조합 추출 과정 (S120) 및 상기 입력 제거 과정(S130)이 반복될 수 있다.On the other hand, if it is determined that the matching is not completed for all inputs in the input / output matching determination process (S140), except for the removed input, the input / output combination extraction process (S120) and the input removal process (S130) may be repeated.

한편, 본 발명의 다른 실시 예에 따른 비트코인 혼합 서비스의 혼합해제 방법의 다른 방식으로 구현될 수 있다. 이와 관련하여, 도 3은 본 발명의 다른 실시 예에 따른 비트코인 혼합 서비스의 혼합해제 방법의 흐름도를 나타낸다. 이때, 비트코인 혼합 서비스의 혼합해제 방법은 도 2에서 설명한 바와 같이 입출력 정보 추출 과정(S110), 입력/출력 조합 추출 과정(S120), 입력 제거 과정(S130)을 포함한다. 한편, 도 3의 혼합해제 방법은, 불법 거래 여부 판단 과정(S145) 및 입력/출력 조합 제거 과정(S150)을 더 포함할 수 있다. 이때, 불법 거래 여부 판단 과정(S145)은 모든 입력 제거 과정(S130)에 따른 모든 입력/출력 매칭 가능한 조합에 대해 수행될 수 있다. 또는, 입력 제거 과정(S130)에서 새롭게 검출된 입력/출력 매칭 조합에 대해서만 수행할 수 있다. 또는, 일정한 시간 주기 (또는, 특정 개수의 입력 제거 과정(S130))마다 새롭게 검출된 입력/출력 매칭 조합에 대해서만 수행할 수 있다. On the other hand, it can be implemented in another manner of the method for unmixing the bitcoin mixing service according to another embodiment of the present invention. In this regard, Figure 3 shows a flowchart of a method for unmixing the bitcoin mixing service according to another embodiment of the present invention. In this case, the mixing release method of the bitcoin mixing service includes an input / output information extraction process (S110), an input / output combination extraction process (S120), and an input removal process (S130) as described in FIG. 2. Meanwhile, the mixed release method of FIG. 3 may further include an illegal transaction determination process (S145) and an input / output combination removal process (S150). In this case, the illegal transaction determination process (S145) may be performed for all input / output matchable combinations according to all input removal processes (S130). Alternatively, the operation may be performed only on the input / output matching combination newly detected in the input removing process (S130). Alternatively, the operation may be performed only on newly detected input / output matching combinations for a certain time period (or a certain number of input removal processes S130).

한편, 도 2 및 도 3에서의 비트코인 혼합 서비스의 혼합해제 방법과 관련하여 상세하게 검토하면 다음과 같다. 이와 관련하여, 도 4는 본 발명에 따른 비트코인 혼합 서비스와 혼합해제를 위한 트랜잭션의 예시를 나타낸다. 또한, 표 1은 본 발명에 따른 혼합해제 서비스의 구체적인 알고리즘을 나타낸다. On the other hand, in detail with respect to the mixing release method of the bitcoin mixing service in Figures 2 and 3 as follows. In this regard, Figure 4 shows an example of a transaction for unmixing with the Bitcoin mixed service according to the present invention. In addition, Table 1 shows a specific algorithm of the mixed release service according to the present invention.

Figure pat00001
Figure pat00001

이러한 혼합해제 알고리즘에 대해 예를 들어 구체적으로 살펴보면 다음과 같다. 도 4를 참조하면, 혼합 서비스에 대하여 3개의 입력 트랜잭션 A, B, C와 3개의 출력 트랜잭션 D, E, F를 가정할 수 있다. 입력/출력 트랜잭션 관계를 파악하기 위하여, 제1 트랜잭션을 이용하여 알고리즘이 시작될 수 있다. 입력 트랜잭션에 대응하는 가능한 출력 트랜잭션들을 파악하기 위해, 다음의 두 가지 경우가 후보 입력 트랜잭션으로 고려될 수 있다: 입력 트랜잭션 A의 비트코인 값과 동일한 값을 갖는 (1) 트랜잭션 D, 또는 (2) 트랜잭션 E + F. 이때, 출력이 하나로 결정될 수 없기 때문에, 이러한 상태를 임시로 저장하고, 다음 입력을 확인할 수 있다. 다음 트랜잭션 B에 대하여, B와 매칭될 수 있는 출력 트랜잭션은 단지 E임을 알 수 있다. 따라서, 알고리즘에 의하면, 대응하는 출력 E를 제거하고, A에 대하여 하나의 단일 출력을 결정할 수 있다. 이때, 입력 트랜잭션 A에 대하여 출력 트랜잭션은 D임을 알 수 있다. 마지막 입력 트랜잭션 C에 대하여 출력 트랜잭션은 F임을 알 수 있다. For example, the mixing cancellation algorithm will be described in detail as follows. Referring to FIG. 4, three input transactions A, B, and C and three output transactions D, E, and F may be assumed for the mixed service. To determine the input / output transaction relationship, an algorithm can be started using the first transaction. In order to identify possible output transactions corresponding to an input transaction, the following two cases can be considered as candidate input transactions: (1) transaction D, or (2) having the same value as the bitcoin value of input transaction A Transaction E + F. At this point, since the output cannot be determined as one, we can temporarily store this state and check the next input. For the next transaction B, it can be seen that the output transaction that can match B is only E. Thus, the algorithm can eliminate the corresponding output E and determine one single output for A. At this time, it can be seen that the output transaction is D for the input transaction A. We can see that for the last input transaction C, the output transaction is F.

따라서, 제안된 혼합해제 알고리즘은 혼합 서비스와 연관된 트랜잭션들과의 관계를 파악하기 위해 재귀적으로 진행된다. 한편, 이러한 혼합해제 방법은 입력/출력 매칭을 위해 비트코인 값뿐만 아니라, 혼합 지연(mixing dealy), 혼합 서비스 비용(mixing service fee) 및 출력 주소의 개수 등과 같은, 다양한 혼합 파라미터들을 갖는 더욱 복잡한 시나리오들을 고려해야 한다.Therefore, the proposed demixing algorithm proceeds recursively to grasp the relationship with the transactions associated with the mixed service. On the other hand, this unmixing method is a more complex scenario with various mixing parameters such as mixing dealy, mixing service fee and number of output addresses, as well as bitcoin values for input / output matching. Should be considered.

표 1을 참조하면, 상기 입력/출력 매칭 조합 추출 과정(S110)에서, 입력 Input i 에 대하여, Input i * time Input i * time + Max_delay 시간 범위 내에서 출력 세트 OUTPUT'를 추출한다. 이때, 상기 입력 Input i 는 i번째 입력에 대해서 1의 값을 갖고, 나머지 입력에 대해서는 0의 값을 갖는다. 또한, 비트코인 출력값은 입력Input i 보다 작기 때문에 Input i 보다 큰 값은 OUTPUT'에서 제거한다.Referring to Table 1, in the input / output matching combination extraction process (S110), for input Input i , Input i * time and Input i Extract the output set OUTPUT 'within the time + Max_delay time range. In this case, the input Input i has a value of 1 for the i-th input and a value of 0 for the remaining inputs. Also, since the bitcoin output value is smaller than the input Input i , the value larger than Input i is removed from OUTPUT '.

또한, 기설정된 Max_out이 될 때까지 상기 출력 세트 OUTPUT'의 모든 조합을 저장하여 출력 서브셋 OUTPUT subset 을 추출할 수 있다.In addition, the output subset OUTPUT subset may be extracted by storing all combinations of the output set OUTPUT 'until a preset Max_out is obtained.

한편, 표 1의 '혼합해제(De-mixing)' 알고리즘은 제안된 혼합해제 절차를 위한 의사-코드를 설명한다. 알고리즘에서, N은 입력 개수를 M은 출력 개수를 나타낸다. Max_out은 최대 개수의 출력 주소를 나타내고, M의 범위는 N ≤ M ≤ N * Max_out이다. Max_delay는 혼합 서비스에 의해 제공되는 최대 지연을 나타낸다. INPUT = {Input1, Input2, ..., InputN} 및 OUTPUT = {Output1, Output2, ..., OutputN}은 각각 입력 트랜잭션 및 출력 트랜잭션의 세트를 나타낸다. Input i * time Input i 트랜잭션이 발생하는 시간을 나타낸다.Meanwhile, the 'De-mixing' algorithm of Table 1 describes the pseudo-code for the proposed demixing procedure. In the algorithm, N represents the number of inputs and M represents the number of outputs. Max_out represents the maximum number of output addresses, and the range of M is N ≦ M ≦ N * Max_out . Max_delay represents the maximum delay provided by the mixed service. INPUT = {Input 1 , Input 2 , ..., Input N } and OUTPUT = {Output 1 , Output 2 , ..., Output N } represent a set of input and output transactions, respectively. Input i * time represents the time at which the input i transaction occurred.

첫 번째 단계에서, 모든 출력에 대하여, 출력 트랜잭션이 발생한 시간이 Input i * time Input i * time + Max_delay 시간 범위 내인 경우, 입력 트랜잭션보다 작은 출력 값을 가지는 경우, 두가지 조건을 모두 만족할 때, 알고리즘에서는 이를 OUTPUT'에 저장한다. 두 번째 단계에서, 알고리즘에서는 OUTPUT'로부터 모든 가능한 조합들을 계산하고 이를 OUTPUT subset 에 저장한다. M'이 OUTPUT'의 크기이면, OUTPUT subset 의 크기는 아래의 수학식 1과 같이 결정된다.In the first step, for all outputs, the time at which the output transaction took place is Input i * time and Input i * time + Max_delay If within the time range, if the output value is smaller than the input transaction, when both conditions are satisfied, the algorithm stores it in OUTPUT '. In the second step, the algorithm calculates all possible combinations from OUTPUT 'and stores them in the OUTPUT subset . If M 'is the size of OUTPUT', the size of the OUTPUT subset is determined as shown in Equation 1 below.

Figure pat00002
Figure pat00002

세 번째 단계에서, 각각의 OUTPUT subset 의 합과 (1-fee)가 동일하면, 알고리즘에서는 이를 Result 세트에 부가한다. 만약, 그 크기가 1이면, 알고리즘에서는 연관된 출력이 정확히 파악되었다고 판단할 수 있다. 매칭된 출력이 OUTPUT에서 제거되어, 다음 절차에서는 포함되지 않게 된다. 이후에 알고리즘에서는 이전에 저장된 상태로부터 전술된 단계를 재귀적인 방식으로 다시 반복한다. 모든 입력 중 어느 하나라도 Result 세트의 크기가 1이 아니면, 알고리즘에서는 주어진 입력 트랜잭션과 연관된 유일한 출력 트랜잭션을 결정할 수 없다. 하지만, 본 발명에 따르면, 가능한 출력들의 개수가 상당히 감소할 수 있어, 익명화가 수행된 경우에도 대다수의 입력/출력 트랜잭션 간 매칭이 가능하다. 이는 본 발명의 알고리즘에 따르면, 균일하게 분산된 세트로부터 후보 출력들을 선택하는 것보다 감소된 후보 개수의 가능한 출력들을 더 높은 확률로 결정할 수 있다는 것을 의미한다. 따라서, 본 발명에 따른 재귀적 방식의 혼합해제 방법이 익명화가 수행된 경우에도, 익명화 해제를 통해 불법거래 등의 검출에 효과적임을 알 수 있다.In the third step, if the sum of each OUTPUT subset equals (1-fee), the algorithm adds it to the Result set. If the magnitude is 1, the algorithm can determine that the associated output has been correctly identified. The matched output is removed from the OUTPUT and will not be included in the next procedure. The algorithm then repeats the above steps again in a recursive manner from the previously stored state. If any of the inputs does not have a size of Result set 1, the algorithm cannot determine the only output transaction associated with a given input transaction. However, according to the present invention, the number of possible outputs can be significantly reduced, so that a large number of input / output transactions can be matched even when anonymization is performed. This means that, according to the algorithm of the present invention, it is possible to determine with a higher probability the reduced number of candidate outputs is possible than selecting candidate outputs from a uniformly distributed set. Therefore, even when anonymization is performed in the recursive mixed mixing method according to the present invention, it can be seen that anonymization is effective for detecting illegal transactions and the like.

복잡도의 관점에서, 최악의 경우는 매칭이 전혀 검출되지 않는 경우에 발생할 수 있다. 이때, OUTPUT의 크기가 감소하지 않기 때문에, 알고리즘의 단계 2에서 OUTPUT'의 모든 가능한 조합들을 계산할 필요가 있다. 하나의 입력에 대하여, 조합 동작이 |OUTPUT subset |번 수행되어야 하므로, 총 시간 복잡도는

Figure pat00003
이다.In terms of complexity, the worst case can occur when no match is detected at all. At this time, since the size of the OUTPUT does not decrease, it is necessary to calculate all possible combinations of OUTPUT 'in step 2 of the algorithm. For one input, the combined operation must be performed | OUTPUT subset | times, so the total time complexity is
Figure pat00003
to be.

반면에, 최선의 경우는 각각의 매칭된 출력 주소가 즉시 검출되는 경우이다. 이러한 경우에, M'의 크기는 1로 수렴한다.On the other hand, the best case is when each matched output address is detected immediately. In this case, the size of M 'converges to one.

한편, 상기 입력 세트 INPUT의 모든 입력들에 대하여 상기 Result 세트의 크기가 1이면 상기 입력/출력 조합 추출 과정(S120) 및 상기 입력 제거 과정(S130)의 반복을 중지할 수 있다. 이때, 상기 Result 세트의 크기가 1이 아닌 입력이 존재하면, 상기 Result 세트의 크기가 1로 결정되어 제거된 입력에 대응하는 출력을 제2 서버로 제공할 수 있다.Meanwhile, when the result set has a size of 1 for all inputs of the input set INPUT, the repetition of the input / output combination extraction process S120 and the input removal process S130 may be stopped. In this case, if an input of which the size of the result set is not 1 is present, the size of the result set is determined to be 1 and an output corresponding to the removed input may be provided to the second server.

또한, 상기 Result 세트의 크기가 1이 아닌 입력에 대하여, 가능한 출력들의 조합과 각 출력들의 조합에 대한 확률을 상기 제2 서버로 제공할 수 있다.In addition, for an input of which the size of the result set is not 1, a combination of possible outputs and a probability of each output combination may be provided to the second server.

이러한 Result 세트의 크기가 1이 아닌 입력이 발생하는 현상을 부정합(Mismatch)으로 지칭할 수 있다. 이때, 입력/출력 매칭이 이루어진 아닌 입력에 대해서도 가능한 조합들과 이들 중 어느 조합이 가장 높은 확률을 갖는 조합인지를 판단할 수 있다. 예를 들어, 전술된 혼합해제 방법에서 각 단계들의 반복에서 가능한 입력/출력 조합들 중 최종 결정되지 않은 조합들에 가중치를 부여할 수 있다. 이러한 반복 과정에서 부여된 가중치의 합에 기반하여, 가중치의 합이 임계치를 넘고 불법 거래가 발생한 것으로 판단되면 해당 입력/출력에 대한 비트코인 트랜잭션을 일시 보류할 수 있다.Mismatch may be referred to as an occurrence of an input other than the size of the result set. In this case, it is possible to determine whether the combinations that are possible with respect to the input having no input / output matching and which combination have the highest probability. For example, in the demixing method described above, weights may be weighted among the undetermined combinations of possible input / output combinations in the repetition of the respective steps. Based on the sum of the weights given in this iteration process, if the sum of the weights exceeds the threshold and it is determined that an illegal transaction has occurred, the bitcoin transaction for the corresponding input / output may be temporarily suspended.

한편, 전술된 부정합은 입력 트랜잭션이 고유한 출력 트랜잭션과 연관될 수 없는 경우로 정의한다. 부정합과 관련하여 다음과 같이 두 가지 경우를 고려할 수 있다. 먼저, 부정합은 동일한 입력 값을 갖는 경우에 발생할 수 있다. 이와 관련하여, 표 2는 부정합 케이스 1에 대한 타입, 시간 및 값을 나타낸다.On the other hand, the aforementioned mismatch is defined as a case where an input transaction cannot be associated with a unique output transaction. With regard to mismatch, two cases can be considered as follows. First, mismatches can occur when they have the same input value. In this regard, Table 2 shows the type, time and value for mismatch case 1.

Figure pat00004
Figure pat00004

표 2를 참조하면, tA2, tA3 및 tA4는 tA1의 입력이고, tB2, tB3 및 tB4는 tB1의 입력이다. tA1과 tB1이 동일한 입력 값을 갖기 때문에, 출력 주소의 개수가 상이하더라도, 아래의 수학식 2와 같이 출력 값의 합은 동일하게 된다. Referring to Table 2, t A2 , t A3 and t A4 are inputs of t A1 , and t B2 , t B3 and t B4 are inputs of t B1 . Since t A1 and t B1 have the same input value, even if the number of output addresses is different, the sum of the output values becomes the same as in Equation 2 below.

Figure pat00005
Figure pat00005

다음으로, 입력 값이 동일하지 않더라도 부정합이 발생할 수 있다. 표 3은 부정합 케이스 2에 대한 타입, 시간 및 값을 나타낸다. Next, a mismatch may occur even if the input values are not the same. Table 3 shows the types, times, and values for mismatch case 2.

Figure pat00006
Figure pat00006

표 3을 참조하면, tC2, tC3 및 tC4는 tC1의 입력이고, tD2, tD3, tD4 및 tD5는 tD1의 입력이다. 이때, tC2 + tC4 = tD2 + tD3 + tD4 + tD5 를 만족하면, 아래의 수학식 3과 같이 두 가지 경우가 가능한 후보 세트가 된다.Referring to Table 3, t C2 , t C3 and t C4 are inputs of t C1 , t D2 , t D3 , t D4 And t D5 is the input of t D1 . Where t C2 + t C4 = t D2 + t D3 + t D4 + t D5 If is satisfied, two cases are possible candidate sets as shown in Equation 3 below.

Figure pat00007
Figure pat00007

요약하면, 전술된 두 가지 케이스에서, 주어진 출력 세트들 TX 및 TY에 대하여, TX에서 생성된 서브세트 TXi의 합이 TY에서 생성된 서브세트 TYi의 합이 동일하면, 부정합이 발생할 수 있다.In summary, in the two cases described above, if the sum of the subset T Xi generated in T X equals the sum of the subset T Yi produced in T Y , for a given output sets T X and T Y This can happen.

한편, 전술된 반복 과정마다 발생한 부정합에 대해 가능한 조합의 확률이 생성될 수 있다. 예컨대, 트랜잭션 청약 시간과 체결 시간 및 거래량과 거래 가격 등의 공개 정보에 기반하여, 발생한 부정합 중 실제 이루어진 트랜잭션의 확률 값이 부여될 수 있다. 이러한 각 반복 과정마다 트랜잭션의 확률 값의 합에 따른 입력/출력들의 조합에 대한 확률이 다른 서버인 제2 서버로 제공될 수 있다.On the other hand, probabilities of possible combinations for mismatches occurring for each of the aforementioned repetition processes may be generated. For example, based on disclosure information such as a transaction subscription time and a closing time and a transaction amount and a transaction price, a probability value of a transaction actually made during a mismatch occurring may be given. For each such iterative process, a probability of a combination of input / outputs according to the sum of probability values of a transaction may be provided to a second server, which is another server.

한편, 이러한 비트코인 혼합 서비스와 이에 대한 혼합해제는 트랜잭션의 익명화(anonymity)와 익명화에 따른 불법거래(illegal transaction)를 방지를 위한 것이다. 따라서, 불법거래로 판단되는 트랜잭션에 대해서는 이러한 혼합해제 방법을 이용한 익명화 해제가 더욱 중요하다.On the other hand, such a bitcoin mixed service and the mixed release is to prevent the transaction (anonymity) and the illegal transaction (illegal transaction) due to anonymization. Therefore, it is more important to release anonymization using this mixed release method for transactions considered to be illegal transactions.

이와 관련하여, 상기 비트 코인 혼합 서비스에 의해 상기 각각의 입력과 상기 각각의 출력에 대한 정보는 익명화(anonymity)가 이루어진다. 이때, 상기 입력/출력 조합 추출 과정(S120) 및 상기 입력 제거 과정(S130)을 반복하여, 상기 익명화에 대한 해제를 수행할 수 있다.In this regard, the information about each input and each output is anonymized by the bitcoin mixing service. In this case, the input / output combination extraction process (S120) and the input removal process (S130) may be repeated to release the anonymization.

도 3을 참조하면, 불법 거래 여부 판단 과정(S145)에서, 상기 비트코인 트랜잭션이 불법 거래(illegal transaction)인지 여부를 판단한다. 이와 관련하여, 상기 익명화에 대한 해제를 통해 획득된 상기 각각의 입력과 상기 각각의 출력에 대한 정보와 이들의 트래픽 특성에 기반하여, 상기 비트코인 트랜잭션이 불법 거래(illegal transaction)인지 여부를 판단할 수 있다.Referring to FIG. 3, in the process of determining whether an illegal transaction is performed (S145), it is determined whether the bitcoin transaction is an illegal transaction. In this regard, based on the information on each of the inputs and the respective outputs obtained through the release of the anonymization and their traffic characteristics, it may be determined whether the bitcoin transaction is an illegal transaction. Can be.

한편, 상기 비트코인 트랜잭션이 불법 거래로 판단되면, 상기 불법 거래와 연관된 입력과 출력 간에 모든 가능한 입력/출력 조합들을 제거하는 입력/출력 조합 제거 과정(S150)을 더 포함할 수 있다.On the other hand, if the bitcoin transaction is determined to be an illegal transaction, the method may further include an input / output combination removal process (S150) of removing all possible input / output combinations between the input and output associated with the illegal transaction.

반면에, 상기 비트코인 트랜잭션이 불법 거래가 아닌 것으로 판단되면, 상기 입력/출력 매칭 조합 추출 과정(S120) 및 상기 입력 제거 과정(S130)을 반복할 수 있다. 이때, 상기 반복은 도 2에서 도시된 바와 같이, 모든 입력에 대하여 입력/출력 조합이 매칭되거나, 또는 부정합(Mismatch) 케이스를 제외한 모든 입력에 대하여 입력/출력 조합이 매칭된 것으로 판단될 때까지 수행될 수 있다.On the other hand, if it is determined that the bitcoin transaction is not an illegal transaction, the input / output matching combination extraction process S120 and the input elimination process S130 may be repeated. In this case, the repetition is performed until the input / output combination is matched for all inputs or as shown in FIG. 2, or the input / output combination is determined to be matched for all inputs except mismatch cases. Can be.

한편, 상기 입력/출력 조합 제거 과정(S150)에서, 상기 불법 거래와 연관된 입력과 출력 간에 모든 가능한 입력/출력 조합들을 제거한 이후에, 다음과 같은 과정이 수행될 수 있다. 즉, 상기 불법 거래와 연관되지 않은 입력과 출력 간에 상기 입력/출력 정보 추출 과정(S110)을 수행하고, 상기 입력/출력 매칭 조합 추출 과정(S120) 및 상기 입력 제거 과정(S130)을 반복할 수 있다.Meanwhile, in the process of removing the input / output combination (S150), after removing all possible input / output combinations between the input and the output associated with the illegal transaction, the following process may be performed. That is, the input / output information extraction process (S110) may be performed between the input and the output not associated with the illegal transaction, and the input / output matching combination extraction process (S120) and the input elimination process (S130) may be repeated. have.

이상에서는 본 발명에 따른 비트코인 혼합 서비스의 혼합해제 방법에 대해 살펴보았다. 한편, 전술된 비트코인 혼합 서비스의 혼합해제 방법은 비트코인 트랜잭션 서비스를 관리 및 감시하는 서버에 의해 수행될 수 있다. 이와 관련하여, 도 5는 본 발명에 따른 비트코인 트랜잭션 서비스를 수행하고 감시하는 트랜잭션 시스템을 나타낸다. 도 5를 참조하면, 트랜잭션 시스템은 입력 트랙잭션 A, B, C를 수행하는 송신 단말(110, 120, 130)과 출력 트랙잭션 D, E, F를 수행하는 수신 단말(210, 220, 230)을 포함한다. 또한, 이러한 송신 단말(110, 120, 130)과 수신 단말(210, 220, 230) 간의 비트코인 트랙잭션을 수행하고 이를 관리 및 감시하는 서버(300)를 더 포함한다. 또한, 서버(300)와 독립적으로 트랜잭션에 대한 관리 및 감시를 수행하는 제2 서버(400)를 더 포함할 수 있다.In the above, the mixing release method of the bitcoin mixing service according to the present invention has been described. Meanwhile, the above-described method of unmixing the bitcoin mixed service may be performed by a server managing and monitoring the bitcoin transaction service. In this regard, Figure 5 illustrates a transaction system for performing and monitoring a Bitcoin transaction service in accordance with the present invention. Referring to FIG. 5, a transaction system includes transmitting terminals 110, 120, and 130 performing input transactions A, B, and C and receiving terminals 210, 220, 230 performing output transactions D, E, and F. do. In addition, the server 300 further includes a server 300 that performs, manages and monitors bitcoin transactions between the transmitting terminals 110, 120, 130 and the receiving terminals 210, 220, 230. In addition, the server 300 may further include a second server 400 that manages and monitors a transaction independently of the server 300.

또한, 서버(300)는 비트 코인 트랜잭션 정보를 수신하는 인터페이스(310)와 비트코인 트랜잭션을 수행하고 이를 제어하는 제어부(320)를 포함한다. 제어부(320)는 상기 비트 코인 트랜잭션 정보를 이용하여, 적어도 하나의 입력 주소와, 적어도 하나의 출력 주소, 그리고 각각의 입력 주소에서 입력된 입력 금액과, 각각의 출력 주소로 이동된 출력 금액에 관한 정보를 추출한다. 또한, 제어부(320)는 상기 각각의 입력 주소를 갖는 각각의 입력에서 입력된 제1 입력 금액과 매칭되는 출력의 조합을 추출하고, 상기 매칭되는 출력이 하나로 결정되는 경우, 해당 출력을 해당 입력과 매칭되는 것으로 판별한다. 또한, 제어부(320)는 상기 해당 입력을 제거하는 제어부를 포함하고, 상기 제어부는 상기 제거된 해당 입력을 제외하고, 상기 입력/출력 조합 추출 과정 및 상기 입력 제거 과정을 반복할 수 있다. In addition, the server 300 includes an interface 310 for receiving bitcoin transaction information and a controller 320 for performing and controlling the bitcoin transaction. The controller 320 uses the bitcoin transaction information to determine at least one input address, at least one output address, an input amount input from each input address, and an output amount moved to each output address. Extract the information. In addition, the controller 320 extracts a combination of outputs matching the first input amount input from each input having the respective input address, and if the matching output is determined as one, the corresponding outputs and the corresponding inputs are determined. Determine as a match. In addition, the controller 320 may include a controller for removing the corresponding input, and the controller may repeat the input / output combination extraction process and the input removal process, except for the removed input.

한편, 전술된 명세서에서의 비트코인 혼합 서비스 및 이의 해제 방법에 해당하는 모든 동작들을 제어부(320)가 수행할 수 있다. 또한, 제어부(320)는 제2 서버(400)와 협력하여 트랜잭션에 대한 혼합해제를 수행할 수 있다. 구체적으로, 제어부(320)는 Result 세트의 크기가 1로 결정되어 제거된 입력에 대한 출력만을 제2 서버(400)로 제공할 수 있다. 또한, 제어부(320)는 상기 Result 세트의 크기가 1이 아닌 입력에 대하여, 가능한 출력들의 조합과 각 출력들의 조합에 대한 확률을 상기 제2 서버(400)로 제공할 수 있다.Meanwhile, the controller 320 may perform all operations corresponding to the bitcoin mixed service and the release method thereof in the aforementioned specification. In addition, the controller 320 may cooperate with the second server 400 to perform a mixed release of the transaction. In detail, the controller 320 may provide the second server 400 with only the output for the input in which the size of the result set is determined to be 1 and thus removed. In addition, the controller 320 may provide the second server 400 with a combination of possible outputs and a probability of a combination of the outputs with respect to an input whose size of the result set is not 1.

이러한 본 발명에 따른 비트코인 혼합 서비스의 혼합해제 방법과 트랜잭션 시스템의 기술적 효과에 대해 살펴보면 다음과 같다.The technical effects of the mixed release method and transaction system of the bitcoin mixed service according to the present invention are as follows.

이와 관련하여, 본 발명에 따른 비트코인 혼합 서비스의 혼합해제 방법은, 비트코인 익명화에 따른 불법 거래를 방지할 수 있다는 장점이 있다.In this regard, the mixed release method of the bitcoin mixing service according to the present invention has the advantage that it is possible to prevent illegal transactions due to bitcoin anonymization.

본 발명에 따른 비트코인 혼합 서비스의 혼합해제 방법은, 비트코인 거래 시에 공개되는 정보만으로 비트코인 트랜잭션의 익명성을 유지하면서도 불법 거래를 방지할 수 있다는 장점이 있다.Mixing release method of the bitcoin mixed service according to the present invention, there is an advantage that can prevent illegal transactions while maintaining the anonymity of the bitcoin transaction only by information that is disclosed at the time of bitcoin transactions.

소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능뿐만 아니라 각각의 구성 요소들은 별도의 소프트웨어 모듈로도 구현될 수 있다. 상기 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다. 적절한 프로그램 언어로 쓰여진 소프트웨어 어플리케이션으로 소프트웨어 코드가 구현될 수 있다. 상기 소프트웨어 코드는 메모리에 저장되고, 제어부(controller) 또는 프로세서(processor)에 의해 실행될 수 있다.According to the software implementation, each component as well as the procedures and functions described herein may be implemented as separate software modules. Each of the software modules may perform one or more functions and operations described herein. Software code may be implemented in software applications written in a suitable programming language. The software code may be stored in a memory and executed by a controller or a processor.

Claims (8)

비트코인 혼합 서비스의 혼합해제(de-mixing) 방법에서,
비트코인 트랜잭션 정보를 이용하여, 적어도 하나의 입력 주소와, 적어도 하나의 출력 주소, 그리고 각각의 입력 주소에서 입력된 입력 금액과, 각각의 출력 주소로 이동된 출력 금액에 관한 정보를 추출하는 입출력 정보 추출 과정;
상기 각각의 입력 주소를 갖는 각각의 입력에서 입력된 제1 입력 금액과 매칭되는 출력의 조합을 추출하는 입력/출력 조합 추출 과정; 및
상기 매칭되는 출력이 하나로 결정되는 경우, 해당 출력을 해당 입력과 매칭되는 것으로 판별하고, 상기 해당 입력을 제거하는 입력 제거 과정을 포함하고,
상기 제거된 해당 입력을 제외하고, 상기 입력/출력 조합 추출 과정 및 상기 입력 제거 과정을 반복하는 것을 특징으로 하는, 비트코인 혼합 서비스.
In the de-mixing method of bitcoin mixing service,
Input / output information for extracting information on at least one input address, at least one output address, input amount input from each input address, and output amount moved to each output address using bitcoin transaction information Extraction process;
An input / output combination extraction process of extracting a combination of outputs matching the first input amount inputted at each input having the respective input address; And
If the matching output is determined as one, the input is determined to be matched with the corresponding input, and the input removing process of removing the corresponding input includes:
Except for the removed input, repeating the input / output combination extraction process and the input removal process, Bitcoin mixed service.
제1항에 있어서,
상기 입력/출력 매칭 조합 추출 과정에서, 입력 Input i 에 대하여, Input i * time Input i * time + Max_delay 시간 범위 내에서 출력 세트 OUTPUT'를 추출 ― 상기 입력 Input i 는 i번째 입력에 대해서 1의 값을 갖고, 나머지 입력에 대해서는 0의 값을 가짐 ― 하고,
기설정된 Max_out이 될 때까지 상기 출력 세트 OUTPUT'의 모든 조합을 저장하여 출력 서브셋 OUTPUT subset 을 추출하는 것을 특징으로 하는, 비트코인 혼합 해제 방법.
The method of claim 1,
In the input / output matching combination extraction process, for input Input i , Input i * time and Input i extract the output set OUTPUT 'within the time + Max_delay time range-the input Input i has a value of 1 for the i-th input and a value of 0 for the remaining inputs,
And extracting the output subset OUTPUT subset by storing all combinations of the output set OUTPUT 'until a preset Max_out is obtained.
제2항에 있어서,
상기 입력 제거 과정에서,
Input i * (1 - fee) 비트코인 값을 상기 OUTPUT subset 의 각각과 비교하고,
상기 비교 결과 값이 동일하면, 상기 입력 Input i 를 입력 세트 INPUT에서 제거하고, 대응하는 OUTPUT subset 을 상기 출력 세트 OUTPUT'에서 제거하고,
상기 제거된 입력 Input i Result 세트의 크기를 1로 결정하는 것을 특징으로 하는, 비트코인 혼합 해제 방법.
The method of claim 2,
In the input removal process,
Input i Compare the bitcoin value of (1-fee) with each of the OUTPUT subsets ,
If the comparison result is the same, remove the input Input i from the input set INPUT, remove the corresponding OUTPUT subset from the output set OUTPUT ',
And determining the size of the result set of the removed input Input i as 1.
제3항에 있어서,
상기 입력 세트 INPUT의 모든 입력들에 대하여 상기 Result 세트의 크기가 1이면 상기 반복을 중지하고,
상기 Result 세트의 크기가 1이 아닌 입력이 존재하면, 상기 Result 세트의 크기가 1로 결정되어 제거된 입력에 대한 출력만을 제2 서버로 제공하는 것을 특징으로 하는, 비트코인 혼합 해제 방법.
The method of claim 3,
If the size of the result set is 1 for all inputs of the input set INPUT, the repetition is stopped;
And if there is an input of which the size of the result set is not 1, the size of the result set is determined to be 1 so that only the output for the input removed is provided to the second server.
제4항에 있어서,
상기 Result 세트의 크기가 1이 아닌 입력에 대하여, 가능한 출력들의 조합과 각 출력들의 조합에 대한 확률을 상기 제2 서버로 제공하는 것을 특징으로 하는, 비트코인 혼합 해제 방법.
The method of claim 4, wherein
And providing, for an input of which the size of the Result set is not 1, a combination of possible outputs and a probability of a combination of each output to the second server.
제1항에 있어서,
상기 비트코인 혼합 서비스에 의해 상기 각각의 입력과 상기 각각의 출력에 대한 정보는 익명화(anonymity)가 이루어지고,
상기 입력/출력 조합 추출 과정 및 상기 입력 제거 과정을 반복하여, 상기 익명화에 대한 해제를 수행하는 것을 특징으로 하는, 비트코인 혼합 해제 방법.
The method of claim 1,
By the bitcoin mixed service, information about each input and each output is anonymized,
And releasing said anonymization by repeating said input / output combination extraction process and said input removal process.
제6항에 있어서,
상기 익명화에 대한 해제를 통해 획득된 상기 각각의 입력과 상기 각각의 출력에 대한 정보와 이들의 트래픽 특성에 기반하여, 상기 비트코인 트랜잭션이 불법 거래(illegal transaction)인지 여부를 판단하는 불법 거래 여부 판단 과정을 더 포함하고,
상기 비트코인 트랜잭션이 불법 거래로 판단되면, 상기 불법 거래와 연관된 입력과 출력 간에 모든 가능한 입력/출력 조합들을 제거하는 입력/출력 조합 제거 과정을 더 포함하는, 비트코인 혼합 해제 방법.
The method of claim 6,
On the basis of the information on each of the input and the respective output obtained through the release of the anonymization and their traffic characteristics, whether the bitcoin transaction is an illegal transaction (illegal transaction) determination whether the illegal transaction Include more courses,
If the bitcoin transaction is determined to be an illegal transaction, further comprising an input / output combination elimination process of removing all possible input / output combinations between the input and output associated with the illegal transaction.
제7항에 있어서,
상기 불법 거래와 연관된 입력과 출력 간에 모든 가능한 입력/출력 조합들을 제거한 이후에,
상기 불법 거래와 연관되지 않은 입력과 출력 간에 상기 입력/출력 정보 추출 과정을 수행하고, 상기 입력/출력 매칭 조합 추출 과정 및 상기 입력 제거 과정을 반복하는 것을 특징으로 하는, 비트코인 혼합 해제 방법.
The method of claim 7, wherein
After removing all possible input / output combinations between input and output associated with the illegal transaction,
And performing the input / output information extraction process between the input and the output not associated with the illegal transaction, and repeating the input / output matching combination extraction process and the input elimination process.
KR1020180046192A 2018-04-20 2018-04-20 Method of de-mixing for Bitcoin mixing services KR102091625B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180046192A KR102091625B1 (en) 2018-04-20 2018-04-20 Method of de-mixing for Bitcoin mixing services

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180046192A KR102091625B1 (en) 2018-04-20 2018-04-20 Method of de-mixing for Bitcoin mixing services

Publications (2)

Publication Number Publication Date
KR20190122430A true KR20190122430A (en) 2019-10-30
KR102091625B1 KR102091625B1 (en) 2020-03-20

Family

ID=68463205

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180046192A KR102091625B1 (en) 2018-04-20 2018-04-20 Method of de-mixing for Bitcoin mixing services

Country Status (1)

Country Link
KR (1) KR102091625B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111680735A (en) * 2020-06-02 2020-09-18 浙江大学 Mixed currency service analysis method based on heuristic transaction analysis
KR20210086378A (en) * 2019-12-31 2021-07-08 주식회사 디에스알브이랩스 System and Method For Preventing Fraud Transactions in Distributed Ledger
WO2021137354A1 (en) * 2019-12-31 2021-07-08 주식회사 디에스알브이랩스 System and method for preventing suspicious transactions in distributed ledger
KR20210148040A (en) * 2020-01-21 2021-12-07 고려대학교 산학협력단 Clustering method for cryptocurrency wallet addresses

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160114749A (en) 2015-02-25 2016-10-06 이진희 Dealing method of Crypto-currency base on Blockchain System
JP2016217436A (en) 2015-05-19 2016-12-22 本田技研工業株式会社 Torque converter device
KR20170046664A (en) 2014-08-27 2017-05-02 후지 세이코 가부시키가이샤 Clamping device
KR101799343B1 (en) * 2016-05-16 2017-11-22 주식회사 코인플러그 Method for using, revoking certificate information and blockchain-based server using the same
KR101814989B1 (en) * 2017-07-06 2018-01-05 주식회사 케이뱅크은행 Method of detecting fraud financial trade and server performing the same
KR101835519B1 (en) * 2016-12-29 2018-04-19 주식회사 코인플러그 Method for providing united point service in use of merkle tree structure on the basis of unspent transaction output protocol and server using the same

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170046664A (en) 2014-08-27 2017-05-02 후지 세이코 가부시키가이샤 Clamping device
KR20160114749A (en) 2015-02-25 2016-10-06 이진희 Dealing method of Crypto-currency base on Blockchain System
JP2016217436A (en) 2015-05-19 2016-12-22 本田技研工業株式会社 Torque converter device
KR101799343B1 (en) * 2016-05-16 2017-11-22 주식회사 코인플러그 Method for using, revoking certificate information and blockchain-based server using the same
KR101835519B1 (en) * 2016-12-29 2018-04-19 주식회사 코인플러그 Method for providing united point service in use of merkle tree structure on the basis of unspent transaction output protocol and server using the same
KR101814989B1 (en) * 2017-07-06 2018-01-05 주식회사 케이뱅크은행 Method of detecting fraud financial trade and server performing the same

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
'비트코인 믹싱(mixing)이란? 거래 기록 감추기; Bitcoin Tumbling service', Steemit(2018.11.30. 게재) *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210086378A (en) * 2019-12-31 2021-07-08 주식회사 디에스알브이랩스 System and Method For Preventing Fraud Transactions in Distributed Ledger
WO2021137354A1 (en) * 2019-12-31 2021-07-08 주식회사 디에스알브이랩스 System and method for preventing suspicious transactions in distributed ledger
KR20210148040A (en) * 2020-01-21 2021-12-07 고려대학교 산학협력단 Clustering method for cryptocurrency wallet addresses
CN111680735A (en) * 2020-06-02 2020-09-18 浙江大学 Mixed currency service analysis method based on heuristic transaction analysis
CN111680735B (en) * 2020-06-02 2022-09-06 浙江大学 Mixed currency service analysis method based on heuristic transaction analysis

Also Published As

Publication number Publication date
KR102091625B1 (en) 2020-03-20

Similar Documents

Publication Publication Date Title
KR20190122430A (en) Method of de-mixing for Bitcoin mixing services
WO2021000561A1 (en) Data processing method and device, and electronic apparatus
CN109951547B (en) Transaction request parallel processing method, device, equipment and medium
CN104317749B (en) Information write-in method and device
Van Rompay et al. A leakage-abuse attack against multi-user searchable encryption
CN104980402B (en) Method and device for identifying malicious operation
Dwork et al. Private false discovery rate control
CN108304726A (en) Data desensitization method and device
CN114584294A (en) Method and device for careless scattered arrangement
CN110868286A (en) Method for generating random number based on block chain intelligent contract
Zhao et al. Stabilization of jump linear systems with mode‐dependent time‐varying delays
JP7447127B2 (en) Preventing the sending of accidental copies of data records to a distributed ledger system
Mounzer et al. Integrated security risk management for IT-intensive organizations
CN110941834A (en) Multi-party computing, data auditing and data processing method, system and equipment
CN110234082B (en) Addressing method and device of mobile terminal, storage medium and server
US20210014041A1 (en) Preventing an incorrect transmission of a copy of a record of data to a distributed ledger system
Yu-Ting et al. Real-time risk assessment based on hidden Markov model and security configuration
CN113632063A (en) Device and method for testing sequences generated by a random number generator
CN107622214B (en) Ant colony-based hardware Trojan horse optimization test vector generation method
WO2021098150A1 (en) Receipt data encryption method and apparatus, electronic device, and storage medium
CN109347640B (en) Data processing method and terminal based on block chain dynamic intelligent contract
Ouladj et al. Chosen message strategy to improve the correlation power analysis
Dodis New imperfect random source with applications to coin-flipping
Pechenkin et al. Modeling the search for vulnerabilities via the fuzzing method using an automation representation of network protocols
CN111510437A (en) Communication method and communication device

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