<!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>Event Logs of Ethereum-Based Applications</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>H.M.N. Dilum Bandara</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Hendrik Bockrath</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Richard Hobeck</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Christopher Klinkmüller</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Luise Pufahl</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Martin Rebesky</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Wil van der Aalst</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ingo Weber</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Chair of Software and Business Engineering</institution>
          ,
          <addr-line>Technische Universitaet Berlin</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Data61, CSIRO</institution>
          ,
          <addr-line>Sydney</addr-line>
          ,
          <country country="AU">Australia</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>RWTH Aachen University</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Process mining has become an established set of tools and methods for analyzing process data, while blockchain is emerging as a platform for decentralized applications and inter-organizational processes. Approaches and tools have been developed for analyzing blockchain data with process mining methods, including the tools created by us: BlockXES, ELF, and BLF. Recently, we have shown that process mining on blockchain data is valuable, among others for understanding user behavior and for security audits. With this resources paper, we make four diferent data sets available in XES format, stemming from four diferent blockchain applications: Augur, Forsage, CryptoKitties, and ChickenHunt. We describe the method of extraction, data sets, and conduct preliminary analyses to demonstrate feasibility. This publication aims to help researchers and practitioners to understand the application domain, and enables future process mining research on the data sets.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Ethereum Logging Framework</kwd>
        <kwd>Event logs</kwd>
        <kwd>Process Mining</kwd>
        <kwd>Blockchain</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        Process mining [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] has established as a set of tools and methods for analyzing process data.
Blockchain [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] is emerging as a platform for decentralized applications and inter-organizational
processes. Approaches and tools have been developed for analyzing blockchain data with process
mining methods, including the tools created by us: BlockXES [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], ELF [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], and BLF [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].Although
challenging [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], we recently showed that process mining on blockchain data is valuable, among
others to understand user behavior and for security audits [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
      </p>
      <p>With this resource paper, we publish a collection of event logs from blockchain-based
decentralized applications (DApps). The event logs are available in XES format and currently cover
four DApps:
1. Augur, a prediction and betting marketplace;
2. Forsage, an investment application, which turns out to be a Ponzi scheme;
3. CryptoKitties, a game where virtual cats can be bred and traded as assets;
4. ChickenHunt, a game for collecting chickens and upgrading the avatar.</p>
      <p>
        All four applications and their data are available on the public Ethereum blockchain. Still,
extracting the data is non-trivial [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], and with this publication, we also release the artifacts
for the data extraction. In particular, we use the open-source Ethereum Logging Framework
(ELF) [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], which takes a manifest as input. Manifests define which on-chain data to extract, and
how to transform and format it, e.g., as CSV or XES files. They can hence be used for various
purposes. For example, users can query log entry data from a given smart contract address over
a range of blocks. For each of the four DApps, a manifest was crafted and used with ELF to
extract data from a full Ethereum archival node. The collection of event logs is made available
via a website1. For each data set it includes the ELF manifest, the XES event log, links to the
DApp source code and website, a description of the XES log content, and preliminary analysis
results.
      </p>
      <p>In the following, we describe the data sets and conduct preliminary analyses to demonstrate
feasibility. This publication aims to help researchers and practitioners to understand the
application domain, and enables future process mining research on the data sets, e.g., for
analysis and evaluation purposes.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Description of the data sets</title>
      <p>
        All data sets are made available as event logs in XES format. The events we extracted from
the DApps were encoded in the blocks of the public Ethereum blockchain. Data extraction for
each DApp started with the first block after its deployment and ends with block 12,243,999
(one block before the Berlin Hard Fork)2. Note that we extracted data from Augur at an earlier
point for our case study in [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. Hence, the respective log only covers data until block 10,336,628.
While the logs have a varying number of attributes depending on the events generated by
the corresponding DApp, each log has a common set of attributes, namely Case ID, Activity,
Complete Timestamp, and lifecycle:transition. The additional attributes are described on the
website accompanying this paper (see Footnote 1). The timestamps of the events correspond to
the timestamps of the block they were extracted from. Additionally, the logs contain DApp or
Ethereum-specific attributes, e.g., gasPaid or receivingContract in Augur. Table 1 presents key
ifgures of the data sets.
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. Preliminary analysis</title>
      <p>
        For the preliminary analysis, we focus on the event log of ChickenHunt. For Augur, an extensive
case study has been published recently [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. Preliminary analyses of Forsage and CryptoKitties
1https://ingo-weber.github.io/dapp-data/
2https://blog.ethereum.org/2021/03/08/ethereum-berlin-upgrade-announcement/
can be found on the accompanying website (see Footnote 1).
      </p>
      <p>ChickenHunt is an incremental game that is deployed as a DApp on Ethereum. The game’s
goal is to collect chickens through farming and attacking other players. Players also have the
option to upgrade the attack (“Upgrade Hunter”), defense (“Upgrade Depot”), and collection
capabilities (“Upgrade Pet”) of their avatars. The player pays the gas costs for the Ethereum
transactions. The game concept includes two types of incentives for playing. Shareholder:
through certain transactions, players can become shareholders of the game; and financial
reward: players can sacrifice collected chickens for Ether.</p>
      <p>We loaded the event log into several process mining tools to analyze the players’ behavior,
(a) Most common traces in ChickenHunt
(b) DFG with only upgrade activities
but here we focus on results obtained with ProM. In Fig. 1a, the most common behavior of
players is shown: 107 players out of the 715 cases join chicken hunt and never did anything
else. Several frequent traces show players joining, and then being attacked (one or more times)
without doing anything else. Some players follow a similar pattern, but first they succeed with
bringing chickens to the altar. These insights could help understand why players stop early, and
be used by the developers when working on improvements to promote the user base to grow.</p>
      <p>Players who actively play the game have highly varied individual traces: 402 distinct traces
exist for the 715 cases. In Fig. 1b, we analyzed the order and frequency of the diferent types of
upgrades. Upgrading the hunter avatar is the most popular choice, and by far the most frequent
ifrst and last upgrade. In other words, active players may also upgrade their pet and their depot,
but they typically come back to upgrade their hunter further. These insights, too, appear to be
of value for the providers of such a game.</p>
      <p>Next, we direct our attention to attack behavior. The dotted chart in Fig. 2 shows only the
events from joining, attacking, and sufering from an attack. It can be observed that only a few
players attack others, but a large number of players are sufering from attacks. Additionally, the
attacks appear to happen in synchronized waves, as indicated by the vertical patterns in the
dotted chart. The reasons behind those waves may well be connected to the gas prices (and
accordingly the fees) per transaction on Ethereum3: from a visual comparison of the timelines,
higher gas prices on Ethereum may well correlate with periods without attacks on ChickenHunt.
Presumably, the attackers stole chickens from ordinary users, brought them to the altar, and
received Ether in return, all of which entailing transactions with associated fees. If the returns
in Ether are not high enough, the fees may well render this operation a financial loss.</p>
    </sec>
    <sec id="sec-4">
      <title>4. Conclusion</title>
      <p>With this paper, we provide a collection of four event logs extracted from blockchain applications,
with detailed descriptions and preliminary analyses. The collection is publicly available (see
Footnote 1). Currently, it comprises a set of four event logs that were extracted with the tool
ELF from DApps deployed and executed on the public Ethereum blockchain. In the paper,
we included an analysis based on the ChickenHunt event log, which serves as evidence that
insights can be discovered from these logs with standard process mining techniques. For the
other logs, analyses are available via the website. The data can be analyzed in much more detail
by applying additional process mining methods, and presumably holds blockchain-specific and
independent insights which we invite the community to explore.</p>
      <p>We plan to amend the collection with additional data sets. In addition, we invite other
researchers to contribute their data sets via the openly accessible GitHub repository4.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>W. M. P. van der Aalst</surname>
          </string-name>
          , Process mining: Data science in action, Springer-Verlag, Berlin,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>X.</given-names>
            <surname>Xu</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Weber</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Staples</surname>
          </string-name>
          ,
          <source>Architecture for Blockchain Applications</source>
          , Springer,
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>C.</given-names>
            <surname>Klinkmüller</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ponomarev</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. B.</given-names>
            <surname>Tran</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.</given-names>
            <surname>Weber</surname>
          </string-name>
          ,
          <string-name>
            <surname>W. M. P. van der Aalst</surname>
          </string-name>
          ,
          <article-title>Mining blockchain processes: Extracting process mining data from blockchain applications</article-title>
          ,
          <source>in: BPM (Blockchain Forum)</source>
          ,
          <year>2019</year>
          , pp.
          <fpage>71</fpage>
          -
          <lpage>86</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>C.</given-names>
            <surname>Klinkmüller</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Weber</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ponomarev</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. B.</given-names>
            <surname>Tran</surname>
          </string-name>
          , W. Aalst,
          <article-title>Eficient Logging for Blockchain Applications</article-title>
          , Computing Research Repository (CoRR) in arXiv abs/
          <year>2001</year>
          .10281 (
          <year>2020</year>
          ). URL: https://arxiv.org/abs/
          <year>2001</year>
          .10281.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>P.</given-names>
            <surname>Beck</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Bockrath</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Knoche</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Digtiar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Petrich</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Romanchenko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Hobeck</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Pufahl</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Klinkmüller</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Weber</surname>
          </string-name>
          ,
          <article-title>A blockchain logging framework for mining blockchain data</article-title>
          ,
          <source>in: BPM (Demos &amp; Resources Forum)</source>
          ,
          <year>2021</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>C.</given-names>
            <surname>Di Ciccio</surname>
          </string-name>
          , et al.,
          <article-title>Blockchain-based traceability of inter-organisational business processes</article-title>
          ,
          <source>in: BMSD</source>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>R.</given-names>
            <surname>Hobeck</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Klinkmüller</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. M. N. D.</given-names>
            <surname>Bandara</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.</given-names>
            <surname>Weber</surname>
          </string-name>
          , W. van der Aalst,
          <article-title>Process mining on blockchain data: A case study of augur</article-title>
          , in: BPM,
          <year>2021</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>