<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>A Petri net-based model for investigating disposable addresses in Bitcoin system</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Andrea Pinna</string-name>
          <email>a.pinna@diee.unica.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>DIEE Dept., University of Cagliari Piazza D'Armi</institution>
          ,
          <addr-line>09100 Cagliari</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The most Bitcoin users are very careful about keeping their anonymity. In this work we investigate the use of disposable addresses, a very common method adopted by users to protect their identity and propose a method to recognize these addresses, We applied it on the rst 180,000 blocks of the Bitcoin Blockchain. Results highlighted that a large part of Bitcoin transactions involves disposable addresses. Further, they showed that many of these transactions form chains whose length is characterized by a power-law distribution.</p>
      </abstract>
      <kwd-group>
        <kwd>Blockchain</kwd>
        <kwd>Chains</kwd>
        <kwd>Disposable Addresses</kwd>
        <kwd>De-Anonymization</kwd>
        <kwd>Petri nets</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        In 2008, Satoshi Nakamoto invented a payment system, called "Bitcoin cash
system", which allows electronic payments without the need for centralized
system (eg. credit institutions) [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Bitcoin is a decentralized system running on a
peer-to-peer network. It is free and is based on a public ledger called Blockchain.
      </p>
      <p>The Blockchain is a shared database containing a continuously growing list
of blocks of Bitcoin transactions. It does not store information about the users'
identity, and hence identifying the users through the only analysis of the Blockchain
is a hard work. Bitcoin system guarantees the pseudo-anonymity (pseudonymity).
Users can exchange bitcoins through their pseudonyms called addresses. A
Bitcoin address is an alphanumeric identi er that represents the sender (input
section) or the destination (output section) of the Bitcoin transaction. The balance
of each address is computed as the value of the unspent transactions output
(UTXO).</p>
      <p>
        In order to preserve and reinforce the anonymity of the Bitcoin users, many
strategies have been proposed. Some of these strategies improve the privacy and
anonymity including mixing protocols (eg. CoinShu e, CoinJoin and CoinParty
[
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]), and others are based on the TOR network. One of the most known
strategy to preserve and reinforce the anonymity is the massive use of disposable
addresses. This strategy consists in using an address only one time. In other
words, a user uses a new Bitcoin address each time she receives a new
payment or executes a new payment. Despite the adoption of these strategies, to
de-anonymize the users' identity can be possible. Recent researches try to
deanonymize the users' identity by using external data [
        <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
        ] and others propose
clustering heuristic to form user networks [
        <xref ref-type="bibr" rid="ref3 ref5">3, 5</xref>
        ] . In this study we propose an
original strategy, based on a Petri net formalism with the aim to recognize the
disposable addresses, and hence the chains of transactions in which these
addresses are involved. We applied it on the rst 180,000 blocks nding interesting
results about the number and the statistical distribution of the lengths of these
addresses chains.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Proposed Method</title>
      <p>We modeled the Blockchain as a Petri net, a bipartite oriented graph N , de ned
as N = (P ; T; P re; P ost), where P is the set of the places (addresses), T is the
set of the transitions (transactions), P re is the Pre-incidence matrix and P ost
is the Post-incidence matrix. The element ij in the Pre matrix de nes how many
times the address i is in the input section of the transaction j, instead, in the
Post matrix, it de nes how many times the address i is in the output section of
the transaction j. After having built of the Petri net N , we focused our attention
on the chains of disposable addresses, and hence on the transactions having only
one address, a, in the input section and only two addresses, b and c, in the
output section. In more detail, the address a in the input section is used by
a user u1 to send bitcoins to one of the addresses in the output section, b,
belonging to a user u2. The other address, c, in the output section is created
by the user u1 to collect the change. We created the set of potentially disposable
addresses Ad, starting from the set A of the addresses and from the set of
the transactions in the Blockchain.</p>
      <p>Let d be the set of transaction d such that:
d
= f d : jIN ( d)j = 1; jOU T ( d)j = 2; IN ( d) 2 Ad;
9
2 OU T ( d) :
2 Ad; 8 d 2
dg:</p>
      <p>In order to build a chain, for each d we need to know the previous
transactions dp = P REV ( d). Using P re and P ost matrices, it is very easy to look
for these previous transactions. We call ds d the set of transaction ds that
could be considered the starting point of a chain because it does not have a
previous transaction inside d . We denote with ds the address in input to a
transaction ds. Finally, we call N EXT ( d) the transaction d0 which has, in the
input section, the disposable address that is contained in the output section of
the transaction d. To nd the chains c of disposable addresses, we de ned and
implemented the following algorithm:
1. Let C = ; be a set of empty chains, c,
2. for each ds 2 ds:
(a) take a empty chain, c,
(b) insert ds in c
3. for each c 2 C</p>
      <p>A Petri net-based model for investigating disposable addresses
(a) take the last element inserted in c, d,
(b) while 9 d0 = N EXT ( d)</p>
      <p>i. insert d0 in c,</p>
      <p>The algorithm returns a set C of chains c. Each chain c contains the
transactions ordered by execution order.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Results</title>
      <p>We processed the rst 180,000 blocks, analysing the Json les downloaded from
the website blockchain.info. We built a Petri net model composed of 3,730,480
places (or addresses), 3,142,019 transitions (or transactions), and of the
connections between nodes, expressed by Pre and Post matrices.</p>
      <p>Description</p>
      <p>Value
Potential disposable address d 2,897,577</p>
      <p>Involved transaction d 1,350,010</p>
      <p>Number of chains c 122,155</p>
      <p>The computation of the chains is a three steps process. The rst step is
to identify the potential disposable addresses. The second step is to recognize
transactions in which are involved disposable addresses. The third step is to
build chains. The result of the performed analysis are illustrated in Tab 1 e 2.
The analysis allow us to compute the dimensions of sets of potential disposable
addresses and the transactions, which are involved in the computation, and the
number of found chains ( see Tab. 1). We found that over one third of addresses
inside the Blockchain are actually disposable addresses. The chains length is
highly variable. The found longest chain contains 3,658 transactions and involves
an equal number of disposable addresses. The rst ve chains ordered by length,
the number of blocks where each chain appears (calculated as the di erence
between the ending block number and starting block number) and the rate of
transaction execution per block (calculated as the ratio between the length of
the chain and the number of blocks) are summarized in Tab. 3. It is interesting
to note that some long chains were executed in the time of few tens of blocks (in
temporal terms, in few hours). We computed the Complementary Cumulative
Distribution Function (CCDF) of the lengths. The graph of the distribution, in
Log-Log scale, is showed in Fig. 1. This distribution follows a Power-law in the
tail (starting from a length about 20).
4</p>
    </sec>
    <sec id="sec-4">
      <title>Conclusion</title>
      <p>This work focuses on the problem of the anonymity in the Bitcoin system, and
in particular, on the massive use of disposable addresses to protect the user'</p>
      <p>Statistics</p>
      <p>Value</p>
      <p>Min Max Mean
2.00 3,658.00 11.05</p>
      <p>Median
3.00</p>
      <p>Variance
1230.629
identity. We modeled Bitcoin Blockchain as A Petri net-based model, and
analyzed the connections between place (bitcoin addresses) and transitions (bitcoin
transactions) thanks to the Petri net formalismm, speci cally thanks to Pre and
Post matrices Results show that over one-third of the addresses registered in
the Blockchain are actually disposable addresses. The lengths of the chains are
very inhomogeneous and their statistical distributions follow partially a power
low. Further, we found that the chains are executed quickly, without waiting
for con rmation. In future works we will analyse a higher number of blocks and
more complex techniques of anonymization.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Biryukov</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Khovratovich</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pustogarov</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>Deanonymisation of clients in bitcoin p2p network</article-title>
          .
          <source>CCS '14 Proceedings of the 2014 ACM SIGSAC Conference on Computer and Communications Security Pages 15-29 (April</source>
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Koshy</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Koshy</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Henze</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>McDaniel</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>An analysis of anonymity in bitcoin using p2p network tra c</article-title>
          .
          <source>Lecture Notes in Computer Science</source>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Meiklejohn</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pomarole</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jordan</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Levchenko</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>McCoy</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Voelkrt</surname>
            ,
            <given-names>G.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Savage</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>A stful of bitcoins: Characterizing payments among men with no names</article-title>
          .
          <source>Communications of the ACM</source>
          , Vol.
          <volume>59</volume>
          NO. 4
          <source>(April</source>
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Nakamoto</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Bitcoin: A peer-to-peer electronic cash system</article-title>
          (May
          <year>2009</year>
          ), http: //www.bitcoin.org/bitcoin.pdf
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Ron</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shamir</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Quantitative analysis of the full bitcoin transaction graph</article-title>
          . In: Sadeghi,
          <string-name>
            <surname>A.R</surname>
          </string-name>
          . (ed.)
          <source>Financial Cryptography and Data Security, Lecture Notes in Computer Science</source>
          , vol.
          <volume>7859</volume>
          , pp.
          <volume>6</volume>
          {
          <fpage>24</fpage>
          . Springer Berlin Heidelberg (
          <year>2013</year>
          ), http: //dx.doi.org/10.1007/978-3-
          <fpage>642</fpage>
          -39884-
          <issue>1</issue>
          _
          <fpage>2</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Ziegeldorf</surname>
            , J.,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grossmann</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Henze</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Inden</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wehrle</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Coinparty: Secure multi-party mixing of bitcoins</article-title>
          .
          <source>CODASPY 2015 - Proceedings of the 5th ACM Conference on Data and Application Security and Privacy</source>
          pp.
          <fpage>75</fpage>
          -
          <lpage>86</lpage>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>