WO2021079854A1 - 暗号資産のアドレスの汚染度を計算するための装置、方法及びプログラム - Google Patents

暗号資産のアドレスの汚染度を計算するための装置、方法及びプログラム Download PDF

Info

Publication number
WO2021079854A1
WO2021079854A1 PCT/JP2020/039305 JP2020039305W WO2021079854A1 WO 2021079854 A1 WO2021079854 A1 WO 2021079854A1 JP 2020039305 W JP2020039305 W JP 2020039305W WO 2021079854 A1 WO2021079854 A1 WO 2021079854A1
Authority
WO
WIPO (PCT)
Prior art keywords
address
degree
transaction
address represented
output
Prior art date
Application number
PCT/JP2020/039305
Other languages
English (en)
French (fr)
Inventor
峰史 小宮山
Original Assignee
株式会社bitFlyer Blockchain
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 株式会社bitFlyer Blockchain filed Critical 株式会社bitFlyer Blockchain
Publication of WO2021079854A1 publication Critical patent/WO2021079854A1/ja

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
    • 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

Definitions

  • the present invention relates to an apparatus, method and program for calculating the degree of contamination of the address of a cryptographic asset.
  • Remittance of crypto assets such as Bitcoin is done between addresses.
  • a concern in the distribution of crypto assets is the involvement of the address to which the criminal proceeds were sent.
  • the cryptocurrency assets from the exchange can be remitted. It becomes difficult to detect that the leaked address is involved.
  • transaction monitoring for crypto assets that monitors suspicious transactions between addresses is required as a so-called anti-money laundering (AML).
  • AML anti-money laundering
  • a transaction for remittance from sender X to recipient Y by registering a list of addresses specified as transfer destinations of criminal proceeds (hereinafter also referred to as "contaminated addresses") is the transaction.
  • a method of determining whether or not a contaminated address is included in a series of past addresses that have contributed to the balance of one or more remittance source addresses in the above can be considered.
  • the present invention has been made in view of such problems, and an object of the present invention is to provide a device, a method, and a program for quantitatively expressing the suspiciousness of the address of the sender of cryptographic assets. There is.
  • the first aspect of the present invention is a method of calculating the degree of contamination of the address of a cryptographic asset, which is a block having a blockchain height i (i is a positive integer).
  • the pollution degree of the address represented by each input is obtained by referring to the association between the address and the pollution degree using the address represented by each input of the transaction as a key.
  • the calculation is the total value of the totals.
  • the degree of contamination of the contaminated address generated by any transaction included in the block of the height i is determined before the acquisition. It is characterized by further including a step to be stored in the attachment.
  • any one of the first to third aspects if a flag is recorded in the association for the address represented by any input of the transaction, the degree of contamination thereof. Is excluded from the total.
  • the above-mentioned is characterized in that the recalculation regarding the association is performed from any block before the height of the new contaminated address.
  • the recalculation is different from the first server that performs the calculation regarding the association with the block newly added to the blockchain. It is characterized by being executed on the server of.
  • the height of the block for which the calculation has been completed on the second server is the same as the height of the block for which the calculation has been completed on the first server. It is characterized by later switching a valid server from the first server to the second server.
  • the crypto asset is Bitcoin, Ethereum, Ripple, Tether, Litecoin, Bitcoin Cash, Ethereum Classic, Monacoin, and the like. It is characterized by being one of Risk, EOS, Nem, Bitcoin SV, and ERC20 token.
  • a ninth aspect of the present invention is a program for causing a computer to execute a method of calculating the degree of contamination of the address of a cryptographic asset, in which the blockchain height i (i is positive).
  • the address represented by each input of the input is used as a key to refer to the association between the address and the degree of pollution of the address represented by each input of the input.
  • the total value of the total or the corresponding value, or the amount of transfer to the address represented by each output or the corresponding amount, whichever is smaller, is calculated as the additional pollution degree. It is characterized by including a step of updating the association with respect to the address represented by each output according to the additional pollution degree of the address represented by each output.
  • the tenth aspect of the present invention is a device for calculating the degree of contamination of the address of a cryptographic asset, and the j-th (j is a positive) included in a block having a blockchain height i (i is a positive integer).
  • the pollution degree of the address represented by each input is acquired by referring to the association between the address and the pollution degree using the address represented by each input of the transaction as a key, and each input of the transaction is performed.
  • the amount transferred from the represented address, the corresponding amount, or the smaller of the pollution levels of the addresses represented by each of the inputs is summed for all inputs, and for each output of the transaction, the sum of the totals or the sum of them.
  • the smaller of the corresponding value, the amount transferred to the address represented by each output, or the corresponding amount is calculated as the additional pollution degree, and each output is calculated according to the additional pollution degree of the address represented by each output. It is characterized in that the association is updated with respect to the address represented by.
  • the suspicion of the address of the transfer source of the cryptographic asset is defined as the degree of contamination, and for each transaction of the blockchain, the correspondence between the address and the degree of contamination is referred to, and the transaction is described.
  • the suspicion of each address can be quantitatively expressed by calculating the pollution degree propagation for each output from one or more inputs and updating the association.
  • FIG. 1 shows an apparatus for calculating the degree of contamination of the address of a cryptographic asset according to an embodiment of the present invention.
  • degree of contamination is defined as a concept that quantitatively expresses the suspicion of the address from which the cryptographic asset is transferred, that is, the presence or absence of contribution from the contaminated address to the balance history of the address. ..
  • the device 100 can access the blockchain network 110 composed of a plurality of nodes via a computer network, and can read the blockchain stored in each node.
  • a blockchain has a plurality of ordered blocks, each block having one or more transactions.
  • transaction 200 has two inputs and three outputs.
  • Each input represents the address 211-1 of the transfer source of the asset and the transfer amount 201-2 from the address, and each output represents the address 202-1 of the transfer destination of the asset and the transfer amount 202-2 to the address.
  • the form in which each input expresses these varies, and may be expressed indirectly as well as directly.
  • each input represents one of the outputs contained in another transaction, and reference to that output identifies the address and transfer amount of that input.
  • the device 100 includes a communication unit 101 such as a communication interface, a processing unit 102 such as a processor and a CPU, and a storage unit 103 including a storage device such as a memory and a hard disk or a storage medium, and provides a program for performing each process. It can be configured by execution, and device 100 may include one or more devices or servers.
  • the program may include one or more programs, and may be recorded on a computer-readable storage medium to be a non-transient program product.
  • the program can be stored in a storage device or storage medium accessible from the storage unit 103 or the device 100, and executed in the processing unit 102.
  • the device 100 further includes a database 104, and stores the correspondence between the address and the degree of contamination there.
  • the database 104 is provided separately from the storage unit 103, but the storage unit 103 may be provided with the function of the database 104. In any case, it is sufficient that the device 100 can refer to the correspondence between the address stored in the storage device or the storage medium accessible from the storage unit 103, the database 104, or the device 100 and the degree of contamination.
  • FIG. 3 shows an example of the correspondence between the address and the degree of contamination according to this embodiment. It is assumed that 1CDE is specified as the transfer destination address of the criminal proceeds 55 BTC. In this case, the amount transferred to the address or the amount corresponding to the address is defined as the degree of pollution and is expressed in the unit of Power. In FIG. 3, the transfer amount is defined as the degree of pollution, but an amount corresponding to the transfer amount, such as an amount proportional to the transfer amount, may be calculated as the pollution degree.
  • the height i (i is a positive integer) of the block including the transaction in which the asset is transferred to the contaminated address may be stored in association with the address. Further, the association 300 can be provided with a flag as to whether or not the address is a clean address.
  • An address with a positive pollution level is a history of involvement in suspicious transactions, even if the asset is subsequently transferred to another address and the balance at that address decreases. It is preferable not to reduce the degree of pollution according to the decrease in the amount of pollution, and it is conceivable that the degree of pollution once generated is not reduced at all.
  • FIG. 4 shows a device for calculating the degree of contamination of the address of the cryptographic asset according to the present embodiment.
  • the device 100 identifies a transaction included in each block of the blockchain stored in the blockchain network, and the transfer amount 201-2 from the address represented by each input of the transaction or corresponding thereto. The smaller of the amount or the degree of contamination is summed for all inputs (S401). The degree of contamination of the address represented by each input can be obtained by referring to the association 300. In the examples shown in FIGS. 2 and 3, since the address 1ABC is 0 and the address 1CDE is 55, the total value is 55.
  • the device 100 calculates, for each output of the transaction, the smaller of the total value or the transfer amount 202-2 to the address represented by the output as the additional pollution degree to be added to the address represented by the output. (S402).
  • the value is 55 for the address 1EFG and 10 for the address 1HHH.
  • an amount corresponding to the amount of transfer such as an amount proportional to the amount of transfer, may be calculated as the additional pollution degree.
  • an example is taken in the case where there is no transaction whose remittance source is the contaminated address 1CDE in the block having a height of 14460.
  • address 1CDE it matches the address represented by one of the inputs, and in this case, in order to exclude the influence of its own pollution degree, from the above total value 55, the amount of movement 201-2 from address 1CDE or the degree of pollution The smaller of these, that is, the value 0 obtained by subtracting 55, is used as the new value, and the smaller of the values transferred to the address 1CDE 202-2 is used as the pollution degree to be added. In this case, it is 0, and the degree of contamination after addition is 55, which is the same as before addition.
  • the value obtained by subtracting the sum of the movement amount 201-2 from the address 1CDE or the pollution degree, whichever is smaller, is used as a new value for those inputs.
  • the smaller of the transfer amount to address 1CDE than 202-2 is the pollution degree to be added. In this way, the value corresponding to the total value and the transfer amount 202-2 may be compared.
  • FIG. 5 shows the correspondence shown in FIG. 3 reflecting the addition of the degree of contamination.
  • the height of the address 1EFG, 1HHH, etc. which is not a contaminated address, refers to the height of the block containing the transaction that first caused the positive pollution degree at the address.
  • the same calculation is performed for other transactions in the block with height 14461, and the same calculation is performed for blocks after height 14462, so that any transaction in the block with height 14460 can generate criminal proceeds. It is possible to quantitatively represent the contribution from the relocated contaminated address 1CDE. For example, if a new contaminated address that has undergone a transfer of criminal proceeds is discovered by any transaction within a block of height 14470, that new association is obtained by calculation up to the block of height 14469.
  • the pollution degree is calculated by reflecting the existence of a new pollution address by starting the calculation for the block with a height of 14470 by referring to the correspondence that memorizes and reflects the pollution degree of the polluted address. Can be done. Although the format is somewhat similar to that shown in FIG.
  • the contaminated address is simply included in the series of addresses that contributed to the balance history. It is possible to quantitatively evaluate suspicion, not whether or not it is possible.
  • Embodiments of the present invention are applicable to various crypto assets, such as Bitcoin, Ethereum, Ripple, Tether, Litecoin, Bitcoin Cash, Ethereum Classic, Monacoin, Risk, EOS, Nem, etc.
  • Bitcoin SV and ERC20 tokens are examples, but are not limited to these.
  • a hacker leaks 100 BTC from an exchange, divides it into 10,000 addresses from the contaminated address of the transfer destination, further relocates them, and further relocates from those addresses to detect the involvement of the contaminated address. It may be difficult, but if a hacker eventually tries to consolidate the balance of those addresses into one address and exchange it for fiat currency, the degree of pollution will be cumulatively added to that address and pollution will occur. Increased detectability of address involvement.
  • the exchange B Inquires about the degree of pollution of the device 100 using the address 1 of the remittance source as a key, and when the degree of pollution satisfies a predetermined condition, it is possible not to perform further remittance from the user A's account, exchange to legal currency, or the like. If the remittance is made to the address 3 of the retail store C instead of the exchange B, the retail store C may not complete the settlement as an abnormality in the payment of the product price.
  • method just in case, even if some method, program, terminal, device, server or system (hereinafter referred to as "method") has an aspect of performing an operation different from the operation described in the present specification, each of the present inventions
  • the aspect is intended to be the same operation as any of the operations described in the present specification, and the existence of an operation different from the operation described in the present specification means that the method and the like are described in each of the present inventions. It is added that it is not outside the scope of the aspect.
  • FIG. An example of a program An example of the program for calculating the degree of pollution described above is shown in FIG. This is written about Bitcoin in the programming language C #, and in the 4th to 14th lines, the amount of transfer from the address represented by each input txIn txIn. prev. Value or the degree of contamination of the address badAddress []. The smaller of the powers is summed, and up to the 25th line, for each output txOut, the total value sigma or the amount transferred to the address txOut. The smaller of the values is calculated as the added pollution degree addedPower.
  • badAddress is a correspondence table that holds the correspondence between the pollution address and the pollution degree. Then, up to the 44th row, one transaction tx is reflected in the corresponding table badAddress.
  • the address txOut From the 20th line to the 24th line, the address txOut. If addr matches the address represented by any of the inputs, add the sum of the total value sigma minus the smaller of the amount of movement from the matched address or the degree of pollution. The total used in the calculation of the degree of pollution addedPower. The value is thisPower.
  • Clean address Cryptocurrency exchanges have a large number of users and receive a large number of remittances to each user's address managed by the exchange.
  • the exchange receives the remittance, it remembers the user's balance and the remittance destination address itself is the address of the exchange as the address outside the exchange or as the input of subsequent transactions to another address on the exchange. Often used. Since exchanges receive remittances from various addresses, if the degree of pollution is calculated, the exchange will have a large number of addresses with a degree of pollution.
  • addresses with such a degree of pollution are used as addresses of exchanges, and if transactions with exchanges as remittancers should not be evaluated as suspicious, they should be treated exceptionally. Therefore, as shown in FIGS. 3 and 5, the association between the address and the degree of contamination may have a flag for each address as to whether or not it is a clean address.
  • the flag when the flag is 1, it means that it is a clean address that has a degree of pollution but is handled exceptionally.
  • the processing of the 9th to 12th lines is a clean address, that is, when the address represented by the input is a clean address, the address does not contribute to the additional pollution degree. It is a process.
  • the address 1ABC receives 20 BTC of criminal proceeds by any transaction in the block having a height of 14459, and there is no transaction in the block whose remittance source is the address 1BC. Further, it is assumed that there is no transaction whose remittance source is the contaminated address 1ABC even in the block having a height of 14460.
  • the pollution degree is calculated for the transaction 200 in the block having a height of 14461, the correspondence between the address and the pollution degree is the addition of the pollution degree 20 of the address 1ABC to FIG.
  • the correspondence between the address and the degree of contamination is stored according to all blocks, fixed intervals, or some other standard, and is accessible from the device 110.
  • the pollution degree is calculated for the latest block added to the blockchain network 110.
  • a second server is provided to recalculate the degree of pollution triggered by the registration, and the calculation is completed on the second server. It is conceivable to switch the valid server that responds to the inquiry from the first server to the second server after the resulting block matches the block for which the calculation has been completed on the first server.
  • the device 100 may include a first server and a second server, and further include a third server that switches between them as needed.
  • the server contains an instance.

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

暗号資産の送金元のアドレスの疑わしさを定量的に表す。まず、装置100は、ブロックチェーンネットワークに記憶されたブロックチェーンの各ブロックについて、当該ブロックに含まれるトランザクションを特定し、当該トランザクションの各入力が表すアドレスからの移転量201-2若しくはこれに対応する量又は汚染度のうちの小さい方をすべての入力について合計する(S401)。次に、装置100は、当該トランザクションの各出力について、当該合計値又は当該出力が表すアドレスへの移転量202-2のうちの小さい方を当該出力が表すアドレスに加算される加算汚染度として計算する(S402)。そして、各出力が表すアドレスが対応づけに含まれる場合には汚染度に加算汚染度を加算し、対応づけに含まれない場合には加算汚染度を汚染度として当該アドレスと当該汚染度との対応づけを追加して、対応づけを更新する(S403)。

Description

暗号資産のアドレスの汚染度を計算するための装置、方法及びプログラム
 本発明は、暗号資産のアドレスの汚染度を計算するための装置、方法及びプログラムに関する。
 ビットコインを初めとする暗号資産の送金はアドレス間で行われる。暗号資産の流通において懸念される問題は犯罪収益の送金先となったアドレスの関与である。たとえば、取引所から不正に引き出した暗号資産を複数のアドレスに送金し、そのようにして送金を受けた各アドレスからさらに複数のアドレスに送金することを繰り返すことで、取引所からの暗号資産の流出先となったアドレスが関与していることの検知が困難になっていく。暗号資産が社会により根付いていくためには、いわゆるマネーロンダリング対策(AML)として、アドレス間の疑わしい取引を監視する暗号資産のためのトランザクションモニタリングが求められている。
 一例として、犯罪収益の移転先として特定されたアドレス(以下「汚染アドレス」とも呼ぶ。)の一覧を登録しておき、送金者Xから受取者Yへの送金を行うためのトランザクションについて、当該トランザクションにおける1又は複数の送金元アドレスの残高に寄与した過去の一連のアドレスに汚染アドレスが含まれるか否かを判定する手法が考えられる。
 しかしながら、このようは手法によってトランザクションモニタリングを行うとすれば、汚染アドレスから少額の送金を多数のアドレスに対して一方的に行うことで、本来はなんら犯罪に関わりのない多数のアドレスが、当該アドレスの残高に寄与した過去の一連のアドレスに汚染アドレスを含むものとなってしまい、現実的ではない。
 本発明は、このような問題点に鑑みてなされたものであり、その目的は、暗号資産の送金元のアドレスの疑わしさ(suspiciousness)を定量的に表すための装置、方法及びプログラムを提供することにある。
 このような問題点を解決するために、本発明の第1の態様は、暗号資産のアドレスの汚染度を計算する方法であって、ブロックチェーンの高さi(iは正の整数)のブロックに含まれるj番目(jは正の整数)のトランザクションにつき、前記トランザクションの各入力が表すアドレスをキーとしてアドレスと汚染度との対応づけを参照して前記各入力が表すアドレスの汚染度を取得するステップと、前記トランザクションの各入力が表すアドレスからの移転量若しくはこれに対応する量又は前記各入力が表すアドレスの汚染度のうちの小さい方をすべての入力について合計するステップと、前記トランザクションの各出力につき、前記合計の合計値若しくはこれに対応する値又は前記各出力が表すアドレスへの移転量若しくはこれに対応する量のうちの小さい方を加算汚染度として計算するステップと、前記各出力が表すアドレスの前記加算汚染度に応じて前記各出力が表すアドレスについて前記対応づけを更新するステップとを含むことを特徴とする。
 また、本発明の第2の態様は、第1の態様において、前記トランザクションの出力が表すアドレスが、前記トランザクションのいずれかの入力が表すアドレスと一致する場合、前記計算は、前記合計の合計値から前記一致したアドレスからの移動量若しくは汚染度のうちの小さい方を引いた値又は前記出力が表すアドレスへの移転量若しくはこれに対応する量のうちの小さい方を加算汚染度として計算することを特徴とする。
 また、本発明の第3の態様は、第1又は第2の態様において、前記取得の前に、前記高さiのブロックに含まれるいずれかのトランザクションにより発生する汚染アドレスの汚染度を前記対応づけに記憶するステップをさらに含むことを特徴とする。
 また、本発明の第4の態様は、第1から第3のいずれかの態様において、前記トランザクションのいずれかの入力が表すアドレスについて前記対応づけにフラグが記録されている場合にはその汚染度を前記合計の対象から除外することを特徴とする。
 また、本発明の第5の態様は、第1から第4のいずれかの態様において、各汚染アドレスが発生したブロックの高さ及び汚染度の一覧に新たな汚染アドレスが登録された後に、前記新たな汚染アドレスの高さより前のいずれかのブロックから、前記対応づけに関する再計算を行うことを特徴とする。
 また、本発明の第6の態様は、第5の態様において、前記再計算は、前記ブロックチェーンに新たに追加されるブロックに対する前記対応づけに関する前記計算を行う第1のサーバとは異なる第2のサーバにおいて実行することを特徴とする。
 また、本発明の第7の態様は、第6の態様において、前記第2のサーバにおいて計算が完了したブロックの高さが前記第1のサーバにおいて計算が完了したブロックの高さと同一となった後に有効なサーバを前記第1のサーバから前記第2のサーバに切り替えることを特徴とする。
 また、本発明の第8の態様は、第1から第7のいずれかの態様において、前記暗号資産は、ビットコイン、イーサリウム、リップル、テザー、ライトコイン、ビットコインキャッシュ、イーサリウムクラシック、モナコイン、リスク、EOS、ネム、ビットコインSV、ERC20トークンのいずれかであることを特徴とする。
 また、本発明の第9の態様は、コンピュータに、暗号資産のアドレスの汚染度を計算する方法を実行させるためのプログラムであって、前記方法は、ブロックチェーンの高さi(iは正の整数)のブロックに含まれるj番目(jは正の整数)のトランザクションにつき、前記トランザクションの各入力が表すアドレスをキーとしてアドレスと汚染度との対応づけを参照して前記各入力が表すアドレスの汚染度を取得するステップと、前記トランザクションの各入力が表すアドレスからの移転量若しくはこれに対応する量又は前記各入力が表すアドレスの汚染度のうちの小さい方をすべての入力について合計するステップと、前記トランザクションの各出力につき、前記合計の合計値若しくはこれに対応する値又は前記各出力が表すアドレスへの移転量若しくはこれに対応する量のうちの小さい方を加算汚染度として計算するステップと、前記各出力が表すアドレスの前記加算汚染度に応じて前記各出力が表すアドレスについて前記対応づけを更新するステップとを含むことを特徴とする。
 また、本発明の第10の態様は、暗号資産のアドレスの汚染度を計算する装置であって、ブロックチェーンの高さi(iは正の整数)のブロックに含まれるj番目(jは正の整数)のトランザクションにつき、前記トランザクションの各入力が表すアドレスをキーとしてアドレスと汚染度との対応づけを参照して前記各入力が表すアドレスの汚染度を取得して、前記トランザクションの各入力が表すアドレスからの移転量若しくはこれに対応する量又は前記各入力が表すアドレスの汚染度のうちの小さい方をすべての入力について合計し、前記トランザクションの各出力につき、前記合計の合計値若しくはこれに対応する値又は前記各出力が表すアドレスへの移転量若しくはこれに対応する量のうちの小さい方を加算汚染度として計算し、前記各出力が表すアドレスの前記加算汚染度に応じて前記各出力が表すアドレスについて前記対応づけを更新することを特徴とする。
 本発明の一態様によれば、暗号資産の移転元のアドレスの疑わしさを汚染度と定義し、ブロックチェーンが有する各トランザクションにつき、アドレスと汚染度との対応づけを参照して、当該トランザクションの1又は複数の入力から各出力に対する汚染度の伝播を計算し、当該対応づけを更新することによって、各アドレスの疑わしさを定量的に表すことができる。
本発明の一実施形態にかかる暗号資産のアドレスの汚染度を計算するための装置を示す図である。 本発明の一実施形態にかかるトランザクションの形式を模式的に示す図である。 本発明の一実施形態にかかるアドレスと汚染度との対応づけの一例を示す図である。 本発明の一実施形態にかかる暗号資産のアドレスの汚染度を計算するための方法の流れ図である。 本発明の一実施形態にかかるアドレスと汚染度との対応づけの更新結果の一例を示す図である。 本発明の一実施形態にかかる計算を行うためのプログラムの一例を示す図である。 本発明の一実施形態にかかる計算を行うためのプログラムの一例の続きを示す図である。
 以下、図面を参照して本発明の実施形態を詳細に説明する。
 図1に、本発明の一実施形態にかかる暗号資産のアドレスの汚染度を計算するための装置を示す。本明細書において、暗号資産の移転元のアドレスの疑わしさ、すなわち、当該アドレスの残高履歴に対する汚染アドレスからの寄与の有無を定量的に表す概念として「汚染度(degree of contamination)」を定義する。
 装置100は、複数のノードにより構成されるブロックチェーンネットワーク110にコンピュータネットワークを介してアクセス可能であり、各ノードに記憶されるブロックチェーンを読み出すことができる。ブロックチェーンは、順序付けられた複数のブロックを有し、各ブロックは、1又は複数のトランザクションを有する。
 各トランザクションの詳細は、ブロックチェーンの種類によって異なるが、図2に示すようにM個の入力とN個の出力とを有する。図示の例では、トランザクション200は、2個の入力と3個の出力とを有する。各入力は、資産の移転元のアドレス201-1と当該アドレスからの移転量201-2を表し、各出力は、資産の移転先のアドレス202-1と当該アドレスへの移転量202-2を表す。各入力がどのような形式でこれらを表現するかはさまざまであり、直接的に表す場合に限らず間接的に表す場合がある。たとえば、ビットコインの場合においては、各入力は、別のトランザクションに含まれるいずれかの出力を表し、当該出力を参照することによって、当該入力のアドレス及び移転量が特定される。
 装置100は、通信インターフェースなどの通信部101と、プロセッサ、CPU等の処理部102と、メモリ、ハードディスク等の記憶装置又は記憶媒体を含む記憶部103とを備え、各処理を行うためのプログラムを実行することによって構成することができ、装置100は1又は複数の装置ないしサーバを含むことがある。また、当該プログラムは1又は複数のプログラムを含むことがあり、また、コンピュータ読み取り可能な記憶媒体に記録して非一過性のプログラムプロダクトとすることができる。当該プログラムは、記憶部103又は装置100からアクセス可能な記憶装置又は記憶媒体に記憶しておき、処理部102において実行することができる。
 装置100は、さらにデータベース104を備え、アドレスと汚染度との対応づけをそこに記憶する。図1の例では、データベース104を記憶部103とは別個に設けているが、記憶部103にデータベース104の機能を担わせてもよい。いずれにしても、装置100が記憶部103、データベース104又は装置100からアクセス可能な記憶装置又は記憶媒体に記憶されたアドレスと汚染度との対応づけを参照可能であればよい。
 図3に、本実施形態にかかるアドレスと汚染度との対応づけの一例を示す。犯罪収益55BTCの移転先アドレスとして1CDEが特定されたとする。この場合に当該アドレスへの移転量又はそれに対応する量を汚染度とし、Powerという単位で表す。図3では移転量を汚染度としているが、移転量に比例する量等、移転量に応じた量を汚染度として算出するようにしてもよい。対応づけ300には、汚染アドレスに資産を移転したトランザクションを含むブロックの高さi(iは正の整数)をアドレスに対応づけて記憶してもよい。また、対応づけ300には、アドレスがクリーンアドレスか否かのフラグを設けることができる。クリーンアドレスについては後述する。正の値の汚染度が生じたアドレスは、その後に別のアドレスに資産の移転を行い、当該アドレスにおける残高が減少したとしても、汚染度は疑わしい取引に関与した履歴を表すものであり、残高の減少に応じた汚染度の減少は行わないことが好ましく、一度生じた汚染度は一切減少させないことも考えられる。
 図4に、本実施形態にかかる暗号資産のアドレスの汚染度を計算するための装置を示す。まず、装置100は、ブロックチェーンネットワークに記憶されたブロックチェーンの各ブロックについて、当該ブロックに含まれるトランザクションを特定し、当該トランザクションの各入力が表すアドレスからの移転量201-2若しくはこれに対応する量又は汚染度のうちの小さい方をすべての入力について合計する(S401)。各入力が表すアドレスの汚染度は、対応づけ300を参照して取得することができる。図2及び3に示した例では、アドレス1ABCについては0、アドレス1CDEについては55であるから、合計値は55となる。
 次に、装置100は、当該トランザクションの各出力について、当該合計値又は当該出力が表すアドレスへの移転量202-2のうちの小さい方を当該出力が表すアドレスに加算される加算汚染度として計算する(S402)。図2に示した例では、アドレス1EFGについては55、アドレス1HHHについては10となる。各出力が表すアドレスへの移動量202-2そのものではなく、移転量に比例する量等、移転量に応じた量を加算汚染度として算出するようにしてもよい。ここで、高さ14460のブロックにおいて、汚染アドレス1CDEを送金元とするトランザクションは存在しない場合を例としている。
 アドレス1CDEについては、入力のうちの1つが表すアドレスと一致し、この場合は自らの汚染度の影響を除くために、上記合計値55から、アドレス1CDEからの移動量201-2又は汚染度のうちの小さい方、すなわち55を引いた値0を新たな値として、アドレス1CDEへの移転量202-2と比較して小さい方を加算される汚染度とする。この場合は0であり、加算後の汚染度は加算前と同じ55となる。また、複数の入力がアドレス1CDEと一致するアドレス表す場合には、それらの入力について、アドレス1CDEからの移動量201-2又は汚染度のうちの小さい方を合計した値を引いて新たな値として、アドレス1CDEへの移転量202-2と比較して小さい方を加算される汚染度とする。このように合計値に対応する値と移転量202-2とを比較することがある。
 そして、各出力が表すアドレスが対応づけに含まれる場合には汚染度に加算汚染度を加算し、対応づけに含まれない場合には加算汚染度を汚染度として当該アドレスと当該汚染度との対応づけを追加して、対応づけを更新する(S403)。図5に、図3に示す対応づけに汚染度の加算を反映させたものを示す。ここで、汚染アドレスではないアドレス1EFG、1HHHなどの高さは、当該アドレスに正の汚染度を最初に生じさせたトランザクションを含むブロックの高さを指す。
 高さ14461のブロック内の他のトランザクションについても同様の計算を行い、高さ14462以降のブロックについても、同様の計算を行うことで、高さ14460のブロック内のいずれかのトランザクションによって犯罪収益の移転を受けた汚染アドレス1CDEからの寄与を定量的に表すことが可能となる。たとえば、高さ14470のブロック内のいずれかのトランザクションによって犯罪収益の移転を受けた新たな汚染アドレスが発見された場合には、高さ14469のブロックまでの計算によって得られた対応づけにその新たな汚染アドレスの汚染度を記憶して反映させた対応づけを参照して、高さ14470のブロックについての計算を開始することで、新たな汚染アドレスの存在を反映させて汚染度を計算することができる。図3に形式としていくらか類するものであるが、各汚染アドレスの汚染時の高さ及び汚染度の一覧又は定義を当該対応づけとは別途登録しておき、各汚染アドレスの汚染時の高さのブロックについての計算の際に対応づけに当該汚染アドレスの汚染度を反映させることが考えられる。
 このように、汚染アドレスを登録し、その他のアドレスの残高履歴に対する当該汚染アドレスからの寄与の程度を汚染度として計算することによって、単に汚染アドレスが残高履歴に寄与した一連のアドレスの中に含まれるか否かではなく、定量的に疑わしさを評価することが可能となる。
 本発明の実施形態は、さまざまな暗号資産に対して適用可能であり、例示として、ビットコイン、イーサリウム、リップル、テザー、ライトコイン、ビットコインキャッシュ、イーサリウムクラシック、モナコイン、リスク、EOS、ネム、ビットコインSV、ERC20トークンが挙げられ、これらに限るものではない。
 一例として、ハッカーが取引所から100BTCを流出させ、その移転先の汚染アドレスから1万個のアドレスに分けてさらに移転させて、それらのアドレスからさらに移転させることで、汚染アドレスの関与を検知しにくくすることが考えられるが、最終的にハッカーがそれらのアドレスの残高を1つのアドレスに集約して法定通貨と交換しようとすれば、汚染度が当該アドレスに累積的に加算されていき、汚染アドレスの関与の検知可能性が高まる。
 また、一例として、ユーザー端末120からブロックチェーンネットワーク110に、ユーザーAのアドレス1から暗号資産の取引所Bが管理するユーザーAのアドレス2に対する送金を行うトランザクションがブロードキャストされた場合に、取引所Bは送金元のアドレス1をキーとして装置100にその汚染度を問い合わせ、汚染度が所定の条件を満たすときには、ユーザーAのアカウントからのさらなる送金、法定通貨への交換などを行わないことができる。取引所Bではなく小売店Cのアドレス3に送金が行われた場合には、小売店Cは商品代金の支払の異常として決済を完了させないことができる。
 なお、「××のみに基づいて」、「××のみに応じて」、「××のみの場合」というように「のみ」との記載がなければ、本明細書においては、付加的な情報も考慮し得ることが想定されていることに留意されたい。また、一例として、「aの場合にbする」という記載は、明示した場合を除き、「aの場合に常にbする」こと、「aの直後にbする」ことを必ずしも意味しないことに留意されたい。
 また、念のため、なんらかの方法、プログラム、端末、装置、サーバ又はシステム(以下「方法等」)において、本明細書で記述された動作と異なる動作を行う側面があるとしても、本発明の各態様は、本明細書で記述された動作のいずれかと同一の動作を対象とするものであり、本明細書で記述された動作と異なる動作が存在することは、当該方法等を本発明の各態様の範囲外とするものではないことを付言する。
 プログラムの一例 
 上述の汚染度の計算のためのプログラムの一例を図6に示す。これは、プログラミング言語C#によりビットコインについて書かれたものであり、4行目から14行目までで、各入力txInが表すアドレスからの移転量txIn.prev.value又は当該アドレスの汚染度badAddress[].powerのうちの小さい方を合計が行われ、25行目までで、各出力txOutについて当該合計値sigma又は当該アドレスへの移転量txOut.valueのうちの小さい方を加算汚染度addPowerとして計算する。ここで、badAddressは、汚染アドレスと汚染度との対応づけを保持する対応テーブルである。そして、44行目までで、1つのトランザクションtxの対応テーブルbadAddressへの反映が行われる。
 20行目から24行目では、出力が表すアドレスtxOut.addrが、いずれかの入力が表すアドレスと一致する場合に、合計値sigmaから当該一致したアドレスからの移動量若しくは汚染度のうちの小さい方を引いた値を加算汚染度addPowerの計算に用いる合計値thisPowerとしている。
 クリーンアドレス 
 暗号資産の取引所は、多数のユーザーを抱え、当該取引所が管理する各ユーザーのアドレスに対する送金を多数受け取る。取引所は、送金を受け取った場合、ユーザーの残高を記憶し、送金先のアドレス自体は、取引所のアドレスとして取引所の外部のアドレス又は取引所の別のアドレスへのその後のトランザクションの入力として用いられることが多い。取引所にはさまざまなアドレスからの送金があることから、汚染度を計算すれば、取引所は汚染度を有するアドレスを多数保有することとなる。
 しかしながら、こうした汚染度を有するアドレスは、取引所のアドレスとして用いられるのであり、取引所を送金者とする取引を疑わしいものと評価すべきでないとすれば、例外的に取り扱う必要がある。したがって、アドレスと汚染度との対応づけが、図3及び5に示すようにクリーンアドレスか否かのフラグを各アドレスについて有するようにしてもよい。ここでは、フラグが1の場合に汚染度を有するものの例外的に取り扱うクリーンアドレスであることを意味している。図6のプログラムでは、9行目から12行目の処理がクリーンアドレスである場合には行われない、すなわち、入力が表すアドレスがクリーンアドレスである場合には加算汚染度に当該アドレスは寄与しない処理となっている。
 再計算 
 新たな汚染アドレスが発見されたならば、各汚染アドレスの汚染時の高さ及び汚染度の一覧に当該新たな汚染アドレスを登録し、アドレスと汚染度との対応づけの再計算を行う必要が生じる。
 たとえば、高さ14459のブロック内のいずれかのトランザクションによって、アドレス1ABCは犯罪収益を20BTC受け取っており、当該ブロック内にはアドレス1BCを送金元とするトランザクションは存在しないものとする。また、高さ14460のブロック内にも汚染アドレス1ABCを送金元とするトランザクションは存在しないものとする。この場合、高さ14461のブロック内のトランザクション200について汚染度の計算を行うときには、アドレスと汚染度との対応づけは、図3にアドレス1ABCの汚染度20が追加されたものになる。過去の汚染アドレスが発見された場合には、当該汚染アドレスが発生したブロックより前のいずれかのブロックについて計算されたアドレスと汚染度との対応づけまで戻り、再計算を行わなければ、その他のアドレスの残高履歴に対する当該新たな汚染アドレスからの寄与の程度が考慮されていないこととなる。
 こうした再計算を可能とするために、アドレスと汚染度との対応づけは、すべてのブロック、一定間隔、その他のなんらかの基準に従って記憶しておき、装置110からアクセス可能とされることが好ましい。
 装置100がアドレスをキーとした汚染度の問い合わせに対して継続的に汚染度の回答を可能とするためには、ブロックチェーンネットワーク110に追加された最新のブロックについての汚染度の計算を行う第1のサーバとは別途、新たな汚染アドレスが汚染アドレスの一覧に登録された際に、たとえば登録を契機として汚染度の再計算を行う第2のサーバを設け、第2のサーバにおいて計算が完了したブロックが第1のサーバにおいて計算が完了したブロックと一致した後に、問い合わせに対して回答を行う有効なサーバを第1のサーバから第2のサーバに切り替えることが考えられる。この場合、装置100は、第1のサーバ及び第2のサーバを備え、さらに必要に応じてこれらの切り替えを行う第3のサーバを備えることができる。ここで、サーバはインスタンスを含む。
 100 装置
 101 通信部
 102 処理部
 103 記憶部
 104 データベース
 110 ブロックチェーンネットワーク
 120 ユーザー端末
 200 トランザクション
 201-1 移転元のアドレス
 201-2 移転元アドレスからの移転量
 202-1 移転先のアドレス
 202-2 移転先のアドレスへの移転量
 300 アドレスと汚染度との対応づけ

Claims (10)

  1.  暗号資産のアドレスの汚染度を計算する方法であって、
     ブロックチェーンの高さi(iは正の整数)のブロックに含まれるj番目(jは正の整数)のトランザクションにつき、
     前記トランザクションの各入力が表すアドレスをキーとしてアドレスと汚染度との対応づけを参照して前記各入力が表すアドレスの汚染度を取得するステップと、
     前記トランザクションの各入力が表すアドレスからの移転量若しくはこれに対応する量又は前記各入力が表すアドレスの汚染度のうちの小さい方をすべての入力について合計するステップと、
     前記トランザクションの各出力につき、前記合計の合計値若しくはこれに対応する値又は前記各出力が表すアドレスへの移転量若しくはこれに対応する量のうちの小さい方を加算汚染度として計算するステップと、
     前記各出力が表すアドレスの前記加算汚染度に応じて前記各出力が表すアドレスについて前記対応づけを更新するステップと
    を含むことを特徴とする方法。
  2.  前記トランザクションの出力が表すアドレスが、前記トランザクションのいずれかの入力が表すアドレスと一致する場合、前記計算は、前記合計の合計値から前記一致したアドレスからの移動量若しくは汚染度のうちの小さい方を引いた値又は前記出力が表すアドレスへの移転量若しくはこれに対応する量のうちの小さい方を加算汚染度として計算することを特徴とする請求項1に記載の方法。
  3.  前記取得の前に、前記高さiのブロックに含まれるいずれかのトランザクションにより発生する汚染アドレスの汚染度を前記対応づけに記憶するステップをさらに含むことを特徴とする請求項1又は2に記載の方法。
  4.  前記トランザクションのいずれかの入力が表すアドレスについて前記対応づけにフラグが記録されている場合にはその汚染度を前記合計の対象から除外することを特徴とする請求項1から3のいずれかに記載の方法。
  5.  各汚染アドレスが発生したブロックの高さ及び汚染度の一覧に新たな汚染アドレスが登録された後に、前記新たな汚染アドレスの高さより前のいずれかのブロックから、前記対応づけに関する再計算を行うことを特徴とする請求項1から4のいずれかに記載の方法。
  6.  前記再計算は、前記ブロックチェーンに新たに追加されるブロックに対する前記対応づけに関する前記計算を行う第1のサーバとは異なる第2のサーバにおいて実行することを特徴とする請求項5に記載の方法。
  7.  前記第2のサーバにおいて計算が完了したブロックの高さが前記第1のサーバにおいて計算が完了したブロックの高さと同一となった後に有効なサーバを前記第1のサーバから前記第2のサーバに切り替えることを特徴とする請求項6に記載の方法。
  8.  前記暗号資産は、ビットコイン、イーサリウム、リップル、テザー、ライトコイン、ビットコインキャッシュ、イーサリウムクラシック、モナコイン、リスク、EOS、ネム、ビットコインSV、ERC20トークンのいずれかであることを特徴とする請求項1から7のいずれかに記載の方法。
  9.  コンピュータに、暗号資産のアドレスの汚染度を計算する方法を実行させるためのプログラムであって、前記方法は、
     ブロックチェーンの高さi(iは正の整数)のブロックに含まれるj番目(jは正の整数)のトランザクションにつき、
     前記トランザクションの各入力が表すアドレスをキーとしてアドレスと汚染度との対応づけを参照して前記各入力が表すアドレスの汚染度を取得するステップと、
     前記トランザクションの各入力が表すアドレスからの移転量若しくはこれに対応する量又は前記各入力が表すアドレスの汚染度のうちの小さい方をすべての入力について合計するステップと、
     前記トランザクションの各出力につき、前記合計の合計値若しくはこれに対応する値又は前記各出力が表すアドレスへの移転量若しくはこれに対応する量のうちの小さい方を加算汚染度として計算するステップと、
     前記各出力が表すアドレスの前記加算汚染度に応じて前記各出力が表すアドレスについて前記対応づけを更新するステップと
    を含むことを特徴とするプログラム。
  10.  暗号資産のアドレスの汚染度を計算する装置であって、
     ブロックチェーンの高さi(iは正の整数)のブロックに含まれるj番目(jは正の整数)のトランザクションにつき、
     前記トランザクションの各入力が表すアドレスをキーとしてアドレスと汚染度との対応づけを参照して前記各入力が表すアドレスの汚染度を取得して、前記トランザクションの各入力が表すアドレスからの移転量若しくはこれに対応する量又は前記各入力が表すアドレスの汚染度のうちの小さい方をすべての入力について合計し、
     前記トランザクションの各出力につき、前記合計の合計値若しくはこれに対応する値又は前記各出力が表すアドレスへの移転量若しくはこれに対応する量のうちの小さい方を加算汚染度として計算し、
     前記各出力が表すアドレスの前記加算汚染度に応じて前記各出力が表すアドレスについて前記対応づけを更新することを特徴とする装置。
PCT/JP2020/039305 2019-10-21 2020-10-19 暗号資産のアドレスの汚染度を計算するための装置、方法及びプログラム WO2021079854A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019192323A JP2021068130A (ja) 2019-10-21 2019-10-21 暗号資産のアドレスの汚染度を計算するための装置、方法及びプログラム
JP2019-192323 2019-10-21

Publications (1)

Publication Number Publication Date
WO2021079854A1 true WO2021079854A1 (ja) 2021-04-29

Family

ID=75620513

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/039305 WO2021079854A1 (ja) 2019-10-21 2020-10-19 暗号資産のアドレスの汚染度を計算するための装置、方法及びプログラム

Country Status (2)

Country Link
JP (1) JP2021068130A (ja)
WO (1) WO2021079854A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109636370A (zh) * 2018-12-04 2019-04-16 中国地质大学(武汉) 一种针对区块链数字货币的反洗钱分析方法
US10380594B1 (en) * 2018-08-27 2019-08-13 Beam Solutions, Inc. Systems and methods for monitoring and analyzing financial transactions on public distributed ledgers for suspicious and/or criminal activity

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10380594B1 (en) * 2018-08-27 2019-08-13 Beam Solutions, Inc. Systems and methods for monitoring and analyzing financial transactions on public distributed ledgers for suspicious and/or criminal activity
CN109636370A (zh) * 2018-12-04 2019-04-16 中国地质大学(武汉) 一种针对区块链数字货币的反洗钱分析方法

Also Published As

Publication number Publication date
JP2021068130A (ja) 2021-04-30

Similar Documents

Publication Publication Date Title
US11790370B2 (en) Techniques for expediting processing of blockchain transactions
RU2744496C2 (ru) Система и способ для повышения безопасности смарт-контракта в цепочке блоков
US20170330178A1 (en) Protection methods for financial transactions
JP2023184749A (ja) ブロックチェーンに登録されたデジタルアセットを分配する方法及び自律計算エージェント
CN107070848A (zh) 为分析性web应用加密数据
US20200327498A1 (en) Business Process Execution on a Blockchain Platform
WO2019226986A1 (en) Nested blockchain system
CN107615317A (zh) 区块链交易记录的***和方法
CN106528746A (zh) 交易信息查询方法、装置及***
US20220414664A1 (en) Blockchain address risk assessment via graph analysis
CN111488616A (zh) 业务数据区块链的预言机实现方法及装置
AU2018277270A1 (en) Smart contract for copy trading
WO2018192931A1 (en) Delivery versus payment mechanism
WO2019050553A2 (en) SELECTION OF DIGITAL PROPERTIES FOR TRANSACTIONS
CN109785145B (zh) 基于区块链的定点药店融资方法、存储介质及计算机设备
CN117616410A (zh) 计算机分片环境中的多方计算
Garcia Bringas et al. BlockChain platforms in financial services: current perspective
US20180365687A1 (en) Fraud detection
JP6721724B2 (ja) 支払い主体の拡張を促進する方法およびデバイス
WO2021079854A1 (ja) 暗号資産のアドレスの汚染度を計算するための装置、方法及びプログラム
CN109345252A (zh) 一种线上交易控制方法、装置、及计算机设备
CN106875231A (zh) 一种优惠券使用方法及装置
JP6751489B1 (ja) 暗号資産のアドレスの汚染度を計算するための装置、方法及びプログラム
US20210082014A1 (en) Service verification method and apparatus
WO2023091082A1 (en) Methods and systems for transaction processing using a blockchain

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20880189

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20880189

Country of ref document: EP

Kind code of ref document: A1