Search

EP-3899838-B1 - TRACING FLOW OF TAGGED FUNDS ON A BLOCKCHAIN

EP3899838B1EP 3899838 B1EP3899838 B1EP 3899838B1EP-3899838-B1

Inventors

  • MCCLELLAND, Keagan
  • HILL, MATTHEW

Dates

Publication Date
20260506
Application Date
20191219

Claims (15)

  1. A method of tracing flow of tagged funds on a blockchain network, the method comprising: obtaining (1002), by a blockchain network participant that operates as a full node in a network of a blockchain, at least a portion of a blockchain ledger, the blockchain ledger representing a global transaction history of funds on the blockchain; receiving (1004), by a transmitter and pursuant to a request from the blockchain network participant, an identifier of funds on the blockchain ledger; replaying (1006), by a transaction replayer that is representative of a first application program, the identifier of funds against the global transaction history to yield a spending history of the identifier of funds, wherein replaying the identifier of funds against the global transaction history includes comparing the identifier of funds against the global transaction history to generate a list of transaction outputs that are children of the identifier of funds; receiving (1008), by the transmitter, a tagging profile, the tagging profile including a set of tagged transaction outputs on the blockchain ledger and weight values associated therewith, wherein each of the weight values is indicative of an amount of risk associated with the funds included in a corresponding one of the set of tagged transaction outputs; replaying (1010), by the transaction replayer, the tagging profile against the global transaction history to yield a propagation profile, the propagation profile including transaction outputs and weight values associated therewith derived from the tagging profile, wherein replaying the tagging profile against the global transaction history includes comparing the tagging profile against the global transaction history to find additional outputs of interest that were combined with outputs arising from the tagging profile; determining (1012), by a funds weighting evaluator that is representative of a second application program, whether the spending history of the identifier of funds satisfies an intersection condition with respect to the propagation profile; transmitting (1014), by the transmitter, an alert notification to a network participant if the intersection condition is satisfied; blocking, by a payment gatekeeper that is representative of a third application program, a requested transaction if the intersection condition is satisfied; and issuing, by the payment gatekeeper, a new transaction so as to return funds associated with the requested transaction if the intersection condition is satisfied.
  2. The method of claim 1, wherein the identifier of funds and the spending history are equivalent.
  3. The method of claim 1, wherein the intersection condition is satisfied only if a weight value of a transaction output in the spending history of the identifier of funds intersects with a transaction output in the propagation profile having a weight value above a trigger threshold.
  4. The method of claim 1, wherein the alert notification includes at least one intersecting transaction output and a weight value associated with the at least one intersecting transaction output.
  5. The method of claim 1, wherein an operation that replays the tagging profile against the global transaction history includes assigning an equal weighting value to any outputs from a transaction in the global transaction history wherein at least one input to the transaction is associated with a weighting value.
  6. The method of claim 1, further comprising: returning, by the payment gatekeeper, funds associated with the at least one intersecting transaction output to a sender of the funds.
  7. The method of claim 1, wherein the identifier of funds includes any of: a. a block height on the blockchain; and b. a set of transaction outputs derived from an extended public key (xpub).
  8. The method of claim 1, wherein the tagging profile includes a blacklist of transaction outputs.
  9. A system (902) for tracing flow of tagged funds on a blockchain (904), the system comprising: a blockchain network participant (912) that operates as a full node in a network of the blockchain, the blockchain network participant being configured to obtain at least a portion of a blockchain ledger representing a global transaction history (902) of funds on the blockchain; a transmitter (910) at which to receive an identifier of funds (908) on the blockchain ledger pursuant to a request from the blockchain network participant (912) and a tagging profile (916) including a set of tagged transaction outputs on the blockchain ledger and weight values associated therewith, wherein each of the weight values is indicative of an amount of risk associated with the funds included in a corresponding one of the set of tagged transaction outputs; a transaction replayer (914) that is representative of a first application program that is executable by the system, the transaction replayer (914) being configured to replay the identifier of funds against the global transaction history to yield a spending history of the identifier of funds, wherein replaying the identifier of funds against the global transaction history includes comparing the identifier of funds against the global transaction history to generate a list of transaction outputs that are children of the identifier of funds, and replay the tagging profile against the global transaction history to yield a propagation profile, wherein replaying the tagging profile against the global transaction history includes comparing the tagging profile against the global transaction history to find additional outputs of interest that were combined with outputs arising from the tagging profile; a funds weighting evaluator (920) that is representative of a second application program that is executable by the system, the funds weighting evaluator being configured to determine whether the spending history of the identifier of funds satisfies an intersection condition with respect to the propagation profile; and a payment gatekeeper (918) that is representative of a third application program that is executable by the system, the payment gatekeeper (918) being configured to block a requested transaction if the intersection condition is satisfied and issue a new transaction so as to return funds associated with the requested transaction.
  10. The system of claim 9, wherein the transmitter sends an alert notification to a market participant if the intersection condition is satisfied.
  11. The system of claim 9, wherein the tagging profile is based at least in part on any of: a. an identification of stolen funds; and b. funds associated with a market participant and an alert notification that indicates an economic interaction between funds in the spending history of the identifier of funds with the market participant.
  12. The system of claim 9, wherein the global transaction history of funds on the blockchain is local to the full node.
  13. The method of claim 1 further comprising: generating the identifier of funds on the blockchain ledger; requesting an application of the tagging profile against the identifier of funds; and receiving an intersection profile including an indication of whether the intersection condition is satisfied.
  14. The method of claim 13, wherein an operation that requests the application of the tagging profile includes any of: a. transmitting the tagging profile; and b. a request for application of one or more known tagging profiles.
  15. The method of claim 13, wherein the intersection profile includes any of: a. an identity of one or more market participants associated with the indication of whether the spending history of the identifier of funds intersects with the propagation profile, and optionally wherein the intersection profile includes an extent to which the spending history of the identifier of funds intersects with the one or more market participants based at least in part on the weight values; and b. a weight of the indication of whether the spending history of the identifier of funds intersects with the propagation profile.

Description

FIELD OF THE INVENTION The present disclosure relates to forensic analysis of funds transferred on a blockchain. BACKGROUND OF THE INVENTION Blockchains are shared ledgers that are periodically updated according to a set of network consensus rules. Some blockchain shared ledgers track the movement of funds (e.g., units of monetary value that may be viewed as being "coins" or units of cryptocurrency). Participants in the blockchain network may choose to conduct business (e.g., provide goods and/or services) in exchange for these units of funds. In some cases, network participants may wish to avoid certain "tainted" units of funds for business and/or regulatory reasons (e.g., if the funds are suspected of having been stolen, if the funds are associated with a legal jurisdiction in which the network participant is not authorized to do business, if the funds have been associated with terrorist or other criminal activity, if the funds are associated with a known credit risk, etc.). There could be legal requirements in certain jurisdictions to check blockchain funds against lists of known bad funds (e.g., stolen, used for terrorism, associated with a country subject to economic sanctions, etc.) before accepting the funds in the course of business. Some blockchains are based on an unspent transaction output (UTXO) model wherein units of funds are discrete and not fractionally spendable, similar to physical paper bills of a fiat currency. When spending a UTXO, there is likely to be at least one "change" output associated with the transaction since it is unlikely that the size of a UTXO exactly matches the amount the spender wishes to transfer. Thus, knowledge of a particular tainted UTXO becomes stale when the UTXO is spent and the tainted funds are split between a recipient and a change address controlled by the spending entity. A blockchain network participant is therefore unlikely to be able to follow the movement of funds and accurately determine whether a particular unit of funds should not be accepted for business purposes. Moreover, tainted funds can be combined with "clean" funds, thus complicating the question of whether a network participant may accept a payment. Accordingly, there is a need for a system to track movement of tainted or otherwise classified funds over time on a blockchain for a network participant to determine whether it is permissible to handle a particular unit of funds (e.g., the output of a particular UTXO) according to the network participant's criteria. ANDERSON ROSS ET AL: "Making Bitcoin Legal", 24 November 2018 (2018-11-24), ADVANCES IN DATABASES AND INFORMATION SYSTEMS; [LECTURE NOTES IN COMPUTER SCIENCE; LECT.NOTES COMPUTER], SPRINGER INTERNATIONAL PUBLISHING, CHAM, PAGE(S) 243 - 253, ISBN: 978-3-319-10403-4, discloses a FIFO tracking powerful analytic tool that in addition to trace forward from a stolen bitcoin to see where it went, it can trace backwards from any UTXO and get its entire genealogy. BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS The accompanying figures, where like reference numerals refer to identical or functionally similar elements throughout the separate views, together with the detailed description below, are incorporated in and form part of the specification, and serve to further illustrate embodiments of concepts that include the claimed invention, and explain various principles and advantages of those embodiments. FIG. 1 is an example block diagram of an example relationship between a source of funds and an auditor tracing the flow those funds with respect to a tagging profile on a blockchain.FIG. 2 is a time-series diagram of a tagging profile replayed against a global transaction history over time on a blockchain shared ledger to yield a propagation profile of unspent transaction outputs.FIG. 3 is a signal diagram of a process of tracing the flow of tagged funds on a blockchain network.FIG. 4 is a time plot illustrating the creation of an example propagation profile from a tagging profile and the creation of a spending history from an identification of funds as each is replayed against a global transaction history.FIG. 5 is another time diagram illustrating an example relationship among blockchain addresses with an identifier of funds, a spending profile, a tagging profile, and a propagation profile.FIG. 6 is a diagram illustrating a dilution effect of combining clean funds with funds deemed tainted according to a tagging profile.FIG. 7 is a diagram illustrating an example relationship among a digital asset services provider auditing the flow of blockchain funds of a customer with respect to counterparties to transactions with the customer.FIG. 8 is a diagram illustrating an example generation of tagging profiles by a digital asset services provider.FIG. 9 is a block diagram of an example system for tracing flow of tagged funds on a blockchain.FIG. 10 is a flowchart of an example workflow for tracing flow of tagged funds on a blockchain.FIG. 11