<!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>
      <journal-title-group>
        <journal-title>Beimel, Dolev, Buses for anonymous message delivery, Journal of Cryptology</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.1109/MASCOT.2008.4770566</article-id>
      <title-group>
        <article-title>Towards K-Anonymous Payments in Ethereum</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Francesco Buccafurri</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Vincenzo De Angelis</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sara Lazzaro</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Giorgia Sigilli</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>IMT School for Advanced Studies Lucca</institution>
          ,
          <addr-line>Lucca</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>ITASEC'24: Italian Conference on Cybersecurity</institution>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>University Mediterranea of Reggio Calabria</institution>
          ,
          <addr-line>Via dell'Università 25,89124, Reggio Calabria</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>University of Calabria</institution>
          ,
          <addr-line>Via P.Bucci, 87036 Arcavacata di Rende (CS)</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2008</year>
      </pub-date>
      <volume>16</volume>
      <issue>2003</issue>
      <fpage>25</fpage>
      <lpage>39</lpage>
      <abstract>
        <p>It is well known that pseudonymity in blockchains such as Bitcoin or Ethereum does not really hide the identity of the author of a payment. A number of attacks have been documented in the literature to deanonymize blockchain transactions. This is also the case of fully anonymous blockchains such as Monero and ZCash for which trafic analysis methods can be used. The goal of this paper is to outline a solution to the above problem in the most general (and dificult) case, namely that of pseudonymous blockchains. We restrict to the case of blockchains supporting smart contracts, with specific reference to Ethereum. Borrowing an approach used in the context of anonymous communication networks, we design a solution supporting -anonymous payments against every eavesdropper, including the network adversary. Roughly, the idea is to organize users in rings of cover transactions, through which users indistinguishably exchange actual data or random noise and the initiator is hidden within the ring. Importantly, no of-chain communication is required.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Blockchain</kwd>
        <kwd>Anonymous Payments</kwd>
        <kwd>Trafic Analysis</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>Blockchain is a distributed ledger that keeps track of the occurrence of events. An entity can
generate a transaction toward another entity to exchange a value. This transaction is validated
by peers participating in the network, and thus does not require any third-trusted party to be
validated.</p>
      <p>
        A relevant feature ofered by the most known blockchains (e.g., Ethereum and Bitcoin) is
pseudonymity. Each user is associated with an address (not directly linked to the real identity of
the user) that allows them to send and receive cryptocurrency. Nevertheless, all the transactions
a user makes with the same address are linked among them. In the literature, several works
were proposed concerning the de-anonymization of blockchain addresses [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] also in the case a
single user leverages multiple addresses [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
      </p>
      <p>
        Diferent blockchains such as Monero and ZCash ofer full anonymity [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] in place of
pseudonymity, by making the transactions made by the same user unlinkable to each other.
However, as shown in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], efective de-anonymization attacks based on network analysis can be
performed even against anonymous blockchains. On the other hand, the problem of anonymous
payments in pseudonymous blockchains is relevant per se, even if a solution was found in a
fully anonymous blockchain. Indeed, pseudonymous blockchains play a dominant role in the
blockchain landscape and their cryptocurrencies are often widely preferred.
      </p>
      <p>As a matter of fact, transactions generate trafic in the network. Therefore, no resistance
against the network adversary playing as a global eavesdropper can be achieved if this aspect
is not taken into account. Obviously, the trivial idea of interposing an anonymous routing
protocol (even resistant to the global observer) between the client and the pseudonymous
blockchain cannot work, because the goal is not to hide the network address of the client but
their blockchain address, which would be anyway public.</p>
      <p>
        However, anonymous communication networks [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] can be a reference from which to draw
inspiration, giving the flow of transactions the role that trafic has in networks. This is the
way we follow in this paper, in which we address the problem in pseudonymous blockchains
supporting smart contracts. Specifically, we refer to Ethereum [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. In this preliminary work, we
propose a solution to achieve anonymity guarantees in pseudonymous blockchains resisting
trafic analysis attacks. We aim to hide the sender activity (i.e., the fact that a user generates a
transaction) in an anonymity set of  users also against a global adversary observing the entire
trafic exchanged in the network (even at the network layer). Specifically, we organize users in
rings of cover transactions, through which actual data or random noise are indistinguishably
exchanged so that the initiator of a payment is hidden within the ring. Importantly, our approach
does not require of-chain communication channels.
      </p>
      <p>It is worth noting that our solution has completely ethical goals. Indeed, we are aware that
anonymity in payments is often pursued by the crime. However, this is not the case of our
solution, in which anonymous payments are allowed only to registered services and, then,
potentially subject to verification.</p>
      <p>
        This paper is a work-in-progress paper. Therefore, the proposal is only sketched and some
components (also regarding the security analysis) still need to be processed. Moreover, even
though the design of the solution is done on the basis of the features ofered by Ethereum and
its smart contracts [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], no implementation is included in this preliminary paper.
      </p>
      <p>The structure of the paper is the following. In section 2, we investigate the related literature.
We describe the proposed solution in Section 3. Its security is analyzed in Section 4. Finally, in
Section 5, we draw our conclusion.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Related work</title>
      <p>In this section, we provide a brief overview of the literature related to our work.</p>
      <p>Our goal is to implement payments on Ethereum ensuring -anonymity for the payment
initiator, making them undetectable even by network adversaries with uncertainty less than
1/, where  represents a parameter for the desired degree of anonymity.</p>
      <p>
        Transaction anonymity could certainly be achieved using anonymous blockchains like ZCash
[
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] and Monero [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. However, even in these cases, the transaction initiator can be detected
through trafic analysis [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Various studies have been presented in the literature regarding
de-anonymization of blockchain addresses, as highlighted in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], even when a single user utilizes
multiple addresses, as discussed in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
      </p>
      <p>
        In pseudonymous blockchains, several approaches have been proposed, typically based on
transaction mixing, to make transactions untraceable, such as [
        <xref ref-type="bibr" rid="ref3">3, 10, 11, 12</xref>
        ].
      </p>
      <p>
        In particular, [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] discusses the challenge of achieving anonymity in blockchain
transactions, examines threats, surveys anonymity-provisioning methods, and proposes guidelines for
efective blockchain-based e-cash systems and future research directions.
      </p>
      <p>[10] delves into resolving privacy concerns stemming from Bitcoin transparent nature by
introducing concepts of “micropayment channels", which enable secure, immediate, and
confidential transactions. It addresses storage limitations, facilitates transactions involving untrusted
intermediaries, and showcases its viability in currencies.</p>
      <p>[11] explores the balance between the trustless aspect of decentralized currencies and the
compromised privacy of transactions. It proposes enhancing regulatory compliance and tracking
of tainted coins by introducing privacy-preserving mechanisms.</p>
      <p>[12] proposes an Ethereum solution to provide anonymous services with accountability
guarantees.</p>
      <p>However, no one of the above proposals considers the threat model of a global (network)
adversary.</p>
      <p>Other works that combine blockchain and -anonymity do not address the execution of
anonymous payments, namely [13] and [14]. These solutions utilize blockchain as a framework
for data management and leverage -anonymity for anonymous data sending and exchanging.
Despite this, these works do not achieve the goal of our work.</p>
      <p>
        As highlighted in the introduction, we borrow from the context of Anonymous
Communication Networks (ACNs) [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] the idea of using cover trafic in P2P overlay routing methods to
obtain unobservability of the sender. In our case, the counterpart of the trafic is the flow of
transactions.
      </p>
      <p>
        As observed in [15], the existing routing methods for P2P overlay networks, which resist
the global passive adversary [16], mostly require the inclusion of cover trafic [
        <xref ref-type="bibr" rid="ref5">17, 5, 18, 19</xref>
        ] to
conceal their operation. In alternative to secure-multi-party-based protocols, like DC-nets [20],
the inclusion of cover trafic is needed to obtain protection against the global adversary [21].
      </p>
      <p>There are two primary strategies that utilize cover trafic. The first approach, known as “buses"
[22, 23, 24], involves the sender following a predefined route to anonymously communicate with
the destination. These works introduce innovative protocols for anonymous communication,
drawing inspiration from public transportation systems. They aim to conceal trafic patterns
and ensure message anonymity, ofering either deterministic or randomized approaches. The
second approach, known as “mixnets" [25, 26], generally ofers lower latency but requires
more cover trafic. In particular, the approach presented in [ 26] is burdened by substantial
communication overhead. [27] discusses challenges in onion mixnets within anonymous
communication networks, to obtain sender anonymity against the global adversary. Also [? ]
deals with anonymous communications, emphasizing privacy in public networks. The study
also examines verifiable mixnets and their applicability to electronic voting, concluding with a
brief mention of other anonymity-based systems.</p>
      <p>The idea of our work is to use cover transactions instead of cover trafic. However, a
mixnetbased solution would not be feasible due to the large amount of cover trafic required [ 19]. For
these reasons, our work is based on the buses approach.</p>
      <p>[28, 29] present some similarities with our approach since they deal with the idea of flow
security. The focus is the examination of security attributes within computer systems, in
particular enduring properties. These approaches denote that if a system maintains security at
any given instance, subsequent states also retain security. Information flow security properties
have emerged as a fundamental mechanism for upholding the confidentiality of classified
information. These properties serve to manage the transfer of information among distinct
groups of entities characterized by difering security levels.</p>
      <p>Their goal difers from ours, as they may prioritize diferent objectives. Consequently, the
methodologies they employ may not align with our specific needs, so their methods are not
directly applicable in our context.</p>
    </sec>
    <sec id="sec-3">
      <title>3. The Proposed Approach</title>
      <p>Our approach enables users to transfer money in an anonymous way in a pseudonymous
blockchain. In addition, our solution does not require any of-chain interaction, thus all the
operations are performed through the blockchain.</p>
      <sec id="sec-3-1">
        <title>3.1. Overview</title>
        <p>The core concept of this solution involves grouping users into sets named rings (as illustrated
in Figure 1). A ring serves as an anonymity set, ensuring that when a user within a ring
initiates a payment, their identity remains indistinguishable from other ring users. The solution
incorporates an information-hiding mechanism within the ring, achieved through the continuous
circulation of cover transactions.</p>
        <p>These cover transactions are blockchain transactions moving sequentially between adjacent
ring users. They may carry either actual or dummy data. These data are probabilistically
encrypted by a user with the Ethereum public key of their next in the ring. This way, no external
party can tell whether a given transaction is carrying dummy or actual data.</p>
        <p>At a broader level, the solution utilizes a smart contract where users initially deposit an equal
amount of currency. This deposited sum can be spent later in an anonymous way. Each ring
user is linked to a pseudonym, distinct from their Ethereum address. Users maintain private
ledgers that associate pseudonyms with balances. However, the mapping between pseudonyms
and Ethereum addresses is unknown to the users.</p>
        <p>To execute an anonymous payment, a user awaits a cover transaction containing dummy
data, which is then replaced with actual data detailing the intended payment (e.g., pseudonym
of the sender, recipient, amount). This transaction is forwarded in the ring hop by hop so
that, at the end, its content is shared with all the users. Given the pseudonymous, each user in
the ring updates their private ledger (i.e., decrements the balance of the pseudonymous of a
given quantity). In this manner, each user in the ring is aware that a particular pseudonym has
initiated a payment but does not know the corresponding Ethereum address.</p>
        <p>Ultimately, the smart contract executes the actual payment after receiving a specified number
of confirmations from ring users.</p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. Realm Construction</title>
        <p>The main idea of our solution revolves around arranging a collection of users into a cyclically
ordered set, named ring, as depicted in Figure 1. A set of rings is called realm. The realm is
managed through a smart contract, say .  has three main goals: (1) management
of the users willing to join the system (potential senders of anonymous payments), (2) building
of the rings from the realm, and (3) management of the service providers (potential recipients
of anonymous payments).</p>
        <p>We now describe how  reaches goal (1). To enter a realm, each user  should deposit a
sum of cryptocurrency  =  +  +  in the smart contract .  is the amount that
can be later on spent in an anonymous way.  is a security deposit that serves as an incentive
for users to collaborate in the ring.  stands for the fee necessary to cover the management of
each ring.</p>
        <p>Each ring is composed of  +  users.  is a parameter defining the anonymity degree of
the system, and  is the assumed maximum number of non-collaborating users in a ring. The
meaning of  and  is that, when at most  users do not collaborate, we can obtain that the
initiator of a payment is still indistinguishable among  users against a network eavesdropper
(thus, obtaining -anonymous payments).</p>
        <p>Now, we describe how the rings of a realm are built, i.e., goal (2). The ring construction
should happen in a fully decentralized way, such that no of-chain interaction is required. To
reach this goal, we propose a mechanism based on a Distributed Hash Table (DHT) that allows
the users to find the ring to which they belong, through their Ethereum address. However,
if this computation depended only on the Ethereum address of each user, another problem
would arise. Indeed, for an anonymous payment to be executed, our solution requires at least 
confirmations among the  +  users in a ring. Then, an adversary could perform a sibyl attack
by generating a lot of Ethereum addresses to find at least  addresses that would belong to the
same ring. This way, they would be able to control the ring and spend the cryptocurrencies of
the other users.</p>
        <p>We recall that each user joining the system should pay an initial sum of cryptocurrency. This
also works as a disincentive for an adversary to try joining the system with multiple Ethereum
addresses. Moreover, if users were not able to precompute the ring in which they would fall,
the adversary would have to generate (and pay for) a greater number of addresses to increase
their chance of having at least  addresses in the same ring. Then, the economic efort required
from the adversary would be high.</p>
        <p>To achieve this, we propose the following mechanism. Suppose the realm includes  users
being split into rings of size  +  . As above mentioned, each user deposits a given amount of
cryptocurrency in the smart contract  to become part of a ring. To do this, the users simply
invoke a function of  that collects their deposits and stores their Ethereum addresses.
However, the rings are not formed until the ℎ user asks to join a ring. When the ℎ user
joins the realm, the invoked function performs in a slightly diferent way. After collecting the
deposit and storing the Ethereum address of the ℎ user, the function retrieves and stores the
height of the last block included in the blockchain. The idea is to use the hash of a future block
whose distance is a fixed number from the stored one. Thus its hash serves as an unpredictable
value to implement the DHT and prevent any adversary from precomputing the rings to which
the users belong.</p>
        <p>Specifically, when the block including the last transaction is mined and added to the
blockchain, any entity can invoke another function that retrieves the digest of such a block, say
. Then, for each user  with Ethereum address ℎ, a value  = (ℎ||) is computed
and associated with ℎ, where  denotes a cryptographic hash function. Then, these values
are ordered in an increasing way to form the rings. Specifically, the first  +  values form the
ifrst ring, the next  +  values form the second ring, and so on. Observe that, since  is not
known before the last user joins the system, the users cannot precompute in advance the rings
they fall.</p>
        <p>Ultimately, each ring is created by deploying a smart contract (per ring), say , in the
blockchain.  is responsible for the execution of anonymous payments. A thorough
explanation of how these payments can be issued is given in Section 3.3.</p>
        <p>We now explain how  handles the service providers willing to be potential recipients
of the anonymous payments, i.e., goal (3). These providers are the sole entities that can receive
anonymous payments. In the system, there are a number of Attribute Authorities that can
dynamically add to the system Service Providers. Attribute Authorities are responsible for the
verification of the requirements of the Service Providers to belong to the system.</p>
      </sec>
      <sec id="sec-3-3">
        <title>3.3. Anonymous payments</title>
        <p>In this section, we describe the anonymous payment mechanism in a ring. This mechanism is
handled via the smart contract  associated with the ring.</p>
        <p>Consider a user  willing to initiate an anonymous payment of  Ethers to a service
provider  . First,  should wait for a cover transaction, containing dummy data, from
their previous user in the ring. Then,  should replace the dummy data with the actual data
 = ⟨ , , , , ℎ′ ,  ⟩, wherein  is a random identifier for data , and ℎ′
represents the Ethereum address of another randomly chosen user ′ in the ring, referred to as
the exit-user.   is a signature computed over ⟨ , , , , ℎ′ ⟩ verifiable using  ,
i.e., a public key serving as pseudonymous for .</p>
        <p>Then,  is encrypted with the Ethereum public key of the user succeeding  in the ring and
transmitted via a cover transaction. We recall that no external party should be able to state if a
cover transaction is carrying dummy data or actual data.</p>
        <p>The cover transaction completes a full loop in the ring, with all users locally storing its data
and verifying the signature   using  . Upon reaching  again, the same cover transaction
is sent to the next user in the ring. This process repeats for a second loop until it reaches the
exit-user, say ′. At this point, ′ empties the cover transaction, i.e., replaces the actual data
within such a transaction with dummy data.</p>
        <p>In the meanwhile, each user in the ring tosses a biased coin, and then with probability  ,

each user invokes a function of  to authorize the payment passing ⟨, , ⟩ as input.</p>
        <p>When the smart contract  receives at least  authorizations, it transfers the amount
 from its local balance to  . Here,  ( 2 + 1 ≤  ≤ ) is a system parameter serving as
a safeguard against malicious or non-cooperating users attempting to obstruct a legitimate
payment.</p>
        <p>Finally, all users in the ring update the balance associated with   in their internal ledger.</p>
        <p>Figure 1 shows a graphical representation of this procedure.</p>
      </sec>
      <sec id="sec-3-4">
        <title>3.4. Participant incentives</title>
        <p>Our solution requires that each sender of payment should be at least -anonymous, i.e., they
should be disguised among at least  other users in the ring. Thus, given that the ring is
composed of  +  users, in a ring there may be at most  non-collaborating users, otherwise
the anonymity threshold  cannot be satisfied. We recall that the amount  of cryptocurrency
(initially deposited) by each ring user  is fixed in advance. So if  depletes the amount  before
other users in the ring, they will not be able to make additional anonymous payments but must
continue to collaborate to facilitate the anonymous payments of other users within the ring. Thus
this user may be disincentivised to further collaborate in the ring, since collaborating implies
paying for making the cover transaction circulating in the ring and sending confirmations to
the smart contract. To prevent this, we introduce a security deposit mechanism. Each user ,
in joining the system, must deposit an amount . This deposit will be fully refunded to the
users who collaborate until the end of the ring. A huge deposit  would certainly make users
collaborate till the end. However, this is little realistic. Similarly, a small deposit  may not be
enough to incentivize users. To estimate a plausible value for , we first need to estimate the
ring lifetime and thus the maximum amount of expenses necessary to carry out the anonymous
payments until the end of the ring. To do so, we split the ring lifetime into epochs. We denote
by  an epoch of the ring and by  the sum of all the deposits from ring users left in the
epoch . In the first epoch (say ˆ), ^ = ∑︀(=+1 ) . Then, we set a minimum threshold 
for each payment that, as we will see, does not prevent the user from paying less than .
Since we aim to guarantee service continuity for all the users, an epoch ends once a user , after
payments, terminates the amount . Thus, the maximum number of payments in an epoch 
is given by ∑︀(=+1)  , where  is the amount of cryptocurrency for user  (initially set to )
left for the anonymous payments at the epoch .</p>
        <p>Observe that, since in general the amount of cryptocurrency that a user is willing to pay to a
service provider may not be an integer multiple of , each payment may generate a change.
We say  the entire amount of changes. At the end of each epoch, the changes will be returned
to their owner in the ring (i.e., each user in the ring updates their private ledger accordingly).
Observe that, an epoch  ends once at least a user  terminates the amount  but still owns
a fraction of the changes . Once  is ended, we compute the amount of deposit necessary to
advance the next epoch, say ′. The idea is that, at the end of the epoch , we can compute the
amount of deposit ′ necessary to cover (in the worst case) the expenses in the subsequent
epoch ′. Thus it will depend on the maximum number of payments that will be done during ′.
Again, this number can be estimated according to the following formula: ∑︀(=+1)′ .</p>
        <p>Then the diferences between the deposit in the current epoch ( ) and the deposit necessary
for the next epoch (′ ) will be given to each user ring. To incentivize collaboration among
users in the ring, a portion of the deposit will be returned to ring users according to a score
associated with how collaborative they were during each epoch. Specifically, given a user , the
amount of deposit they will receive back is given by the following formula: ,· (− ′ ) , where
∑︀+
=1 ,
, is the score associated with  during epoch . The computation of the score is left as future
work.</p>
        <p>Observe that, since the end of an epoch happens when at least one user makes a payment, it
is always guaranteed that ′ &lt; . So the process converges.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Security Analysis</title>
      <p>In this section, we analyze the security of our solution. Our analysis is founded on a basic
assumption, which we call A1, that at most  users are not collaborative in each ring. It is
justified by the proposed incentive mechanism. Indeed, when users do not collaborate, they lose
part of all of their security deposit. In addition, also the wallet amount is lost when a user does
not collaborate. Indeed, we recall, that the payments are intended only to registered service
providers. Then, users cannot transfer their remaining amount to another wallet under their
control.</p>
      <p>Adversary Model. We consider a global adversary with the capability of capturing all the
network trafic exchanged by the users.</p>
      <p>Observe that, in the blockchain network, any participant can observe the transactions
performed by all users. However, all participants but those directly connected to the sender, do
not see the IP address of the originator of a transaction. Our adversary is then much more
powerful than standard users. In practice, it might correspond with one or more Internet Service
Providers.</p>
      <p>Security Goal. Our solution achieves sender anonymity [30]: the adversary cannot identify the
initiator of a payment (sender) with probability greater than 1 .</p>
      <p>To show this, we follow an approach similar to [19].</p>
      <p>By Assumption A1, we consider the worst-case scenario in which in the ring of the sender
there are  collaborative users.</p>
      <p>When a cover transaction is forwarded hop-by-hop, thanks to probabilistic encryption, the
adversary cannot distinguish if it contains dummy data or the details of a payment. Then, the
adversary cannot identify the sender when they fill the cover transaction with actual data.</p>
      <p>Therefore, the only way for the adversary to identify the sender is to detect a possible
transition from actual/dummy data or dummy/actual data of a cover transaction at another
point of the ring and try to draw some information starting from this observation.</p>
      <p>The only point of the ring from which the adversary can draw such information is the exit
user.</p>
      <p>We have to consider two cases.</p>
      <p>The first case is when the cover transaction including the details of the payment reaches
the exit user. In this case, they send the first confirmation of the payment towards the smart
contract. The adversary can observe this confirmation to infer that a payment is performed.
However, since before reaching the exit user, the cover transaction containing the details of the
payment, performs at least a complete loop of the ring, these details may be inserted by any of
the  collaborative users in the ring.</p>
      <p>Thus, in this case, the sender cannot be identified with a probability greater than 1</p>
      <p>The second case occurs after all the confirmations are sent to the smart contract. In this case,
the exit user inserts dummy data in the cover transaction so that it can be used for the next
payment. This can be observed by the adversary.</p>
      <p>However, the next observation of the adversary is again when another exit user sends the
ifrst confirmation to the smart contract. This cannot happen before a complete loop of the ring
is performed. Then, we are again in the first case and the sender cannot be identified with
probability greater than 1 .</p>
      <p>Another possible exploitable information for the attacker could be the confirmations. Indeed,
the attacker could guess that the initiator of the payment is within (or without) the set of users
sending the confirmation. This, in principle, could reduce the size of the anonymity set below
the value . However, this is not the case because every user sends the confirmation with
probability  . Therefore, no bias occurs and no guess is possible for the attacker.</p>
    </sec>
    <sec id="sec-5">
      <title>5. Conclusion</title>
      <p>In this preliminary paper, we present a solution to achieve -anonymity in Ether payments to
allowed registered services. Anonymity is reached in the most severe threat model, namely
a global observer also capable of analyzing network trafic. The solution needs to be further
processed (in some components) and implemented, also to test its feasibility in terms of costs.
Indeed, a critical aspect to be analyzed is the cost of transactions and execution of smart
contracts. However, from a first rough analysis not included in this paper for its incompleteness,
costs appear unproblematic even for appreciable anonymity degrees.</p>
      <p>A possible criticism of our solution could regard its plausibility in terms of customer
acceptance and expected benefits. About this, we observe that our solution is not diferent from
existing closed-loop prepaid payment systems in the domain of standard currencies. Moreover,
prepaid systems in which money withdrawal is not allowed also exist, based on cards, phone
credit or other kinds of electronic wallets. The benefits of our solution can be found in the
ever-increasing demand for privacy that, sometimes, intersects with censorship resistance.</p>
      <p>As future work, we plan to explore all the above aspects in depth, addressing both technical
and business issues. Another possible future work is to study the migration of our approach,
thought for payments in cryptocurrencies, to permissioned blockchains such as Hyperledger
Fabric [31]. This issue is not trivial, because payments should be implemented by fungible
tokens and, thus, we should investigate how to preserve the anonymity features of our solution
when using tokens.</p>
    </sec>
    <sec id="sec-6">
      <title>Acknowledgments</title>
      <p>This work is partially supported by project SERICS (PE00000014) under the MUR National
Recovery and Resilience Plan funded by the European Union - NextGenerationEU.
tocurrency with enhanced accountability, IEEE Transactions on Dependable and Secure
Computing 18 (2021) 679–691. doi:10.1109/TDSC.2019.2910058.
[10] M. Green, I. Miers, Bolt: Anonymous payment channels for decentralized currencies, in:
Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications
Security, CCS ’17, Association for Computing Machinery, New York, NY, USA, 2017, p. 473–489.</p>
      <p>URL: https://doi.org/10.1145/3133956.3134093. doi:10.1145/3133956.3134093.
[11] C. Garman, M. Green, I. Miers, Accountable privacy for decentralized anonymous
payments, in: Financial Cryptography and Data Security: 20th International Conference, FC
2016, Christ Church, Barbados, February 22–26, 2016, Revised Selected Papers 20, Springer,
2017, pp. 81–98. doi:https://doi.org/10.1007/978-3-662-54970-4_5.
[12] F. Buccafurri, V. De Angelis, S. Lazzaro, A blockchain-based framework to enhance
anonymous services with accountability guarantees, Future Internet 14 (2022). URL:
https://www.mdpi.com/1999-5903/14/8/243. doi:10.3390/fi14080243.
[13] Y. Long, Y. Chen, W. Ren, H. Dou, N. N. Xiong, Depet: A decentralized privacy-preserving
energy trading scheme for vehicular energy network via blockchain and k - anonymity,
IEEE Access 8 (2020) 192587–192596. doi:10.1109/ACCESS.2020.3030241.
[14] B. Sowmiya, E. Poovammal, A heuristic k-anonymity based privacy preserving for student
management hyperledger fabric blockchain, Wireless Personal Communications 127 (2022)
1359–1376. doi:https://doi.org/10.1007/s11277-021-08582-1.
[15] F. Buccafurri, V. de Angelis, S. Lazzaro, Mqtt-a: A broker-bridging p2p architecture
to achieve anonymity in mqtt, IEEE Internet of Things Journal 10 (2023) 15443–15463.
doi:10.1109/JIOT.2023.3264019.
[16] F. Buccafurri, V. D. Angelis, M. Francesca Idone, C. Labrini, Wip: An onion-based routing
protocol strengthening anonymity, in: 2021 IEEE 22nd International Symposium on a
World of Wireless, Mobile and Multimedia Networks (WoWMoM), 2021, pp. 231–235.
doi:10.1109/WoWMoM51794.2021.00041.
[17] T. Grube, M. Thummerer, J. Daubert, M. Mühlhäuser, Cover trafic: A trade of anonymity
and eficiency, in: Security and Trust Management: 13th International Workshop, STM
2017, Oslo, Norway, September 14–15, 2017, Proceedings 13, Springer, 2017, pp. 213–223.
doi:https://doi.org/10.1007/978-3-319-68063-7_15.
[18] F. Buccafurri, V. De Angelis, M. F. Idone, C. Labrini, S. Lazzaro, Achieving sender anonymity
in tor against the global passive adversary, Applied Sciences 12 (2022). URL: https://www.
mdpi.com/2076-3417/12/1/137. doi:10.3390/app12010137.
[19] F. Buccafurri, V. De Angelis, M. F. Idone, C. Labrini, A protocol for anonymous short
communications in social networks and its application to proximity-based services, Online Social
Networks and Media 31 (2022) 100221. URL: https://www.sciencedirect.com/science/article/
pii/S2468696422000258. doi:https://doi.org/10.1016/j.osnem.2022.100221.
[20] M. R. Nosouhi, S. Yu, K. Sood, M. Grobler, Hsdc–net: Secure anonymous messaging in
online social networks, in: 2019 18th IEEE International Conference On Trust, Security
And Privacy In Computing And Communications/13th IEEE International Conference
On Big Data Science And Engineering (TrustCom/BigDataSE), 2019, pp. 350–357. doi:10.
1109/TrustCom/BigDataSE.2019.00054.
[21] G. Danezis, C. Diaz, A Survey of Anonymous Communication Channels, Technical
Report MSR-TR-2008-35, 2008. URL: https://www.microsoft.com/en-us/research/publication/</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>H. H.</given-names>
            <surname>Sun Yin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Langenheldt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Harlev</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. R.</given-names>
            <surname>Mukkamala</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Vatrapu</surname>
          </string-name>
          ,
          <article-title>Regulating cryptocurrencies: a supervised machine learning approach to de-anonymizing the bitcoin blockchain</article-title>
          ,
          <source>Journal of Management Information Systems</source>
          <volume>36</volume>
          (
          <year>2019</year>
          )
          <fpage>37</fpage>
          -
          <lpage>73</lpage>
          . doi:
          <volume>10</volume>
          .1080/ 07421222.
          <year>2018</year>
          .
          <volume>1550550</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>D.</given-names>
            <surname>Ermilov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Panov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Yanovich</surname>
          </string-name>
          ,
          <article-title>Automatic bitcoin address clustering</article-title>
          ,
          <source>in: 2017 16th IEEE International Conference on Machine Learning and Applications (ICMLA)</source>
          ,
          <year>2017</year>
          , pp.
          <fpage>461</fpage>
          -
          <lpage>466</lpage>
          . doi:
          <volume>10</volume>
          .1109/ICMLA.
          <year>2017</year>
          .0-
          <fpage>118</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>N.</given-names>
            <surname>Andola</surname>
          </string-name>
          ,
          <string-name>
            <surname>Raghav</surname>
            ,
            <given-names>V. K.</given-names>
          </string-name>
          <string-name>
            <surname>Yadav</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Venkatesan</surname>
            ,
            <given-names>S. Verma,</given-names>
          </string-name>
          <article-title>Anonymity on blockchain based e-cash protocols-a survey</article-title>
          ,
          <source>Computer Science Review</source>
          <volume>40</volume>
          (
          <year>2021</year>
          )
          <article-title>100394</article-title>
          . URL: https://www.sciencedirect.com/science/article/pii/S1574013721000344. doi:https://doi. org/10.1016/j.cosrev.
          <year>2021</year>
          .
          <volume>100394</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>A.</given-names>
            <surname>Biryukov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Tikhomirov</surname>
          </string-name>
          ,
          <article-title>Deanonymization and linkability of cryptocurrency transactions based on network analysis</article-title>
          ,
          <source>in: 2019 IEEE European Symposium on Security and Privacy (EuroS&amp;P)</source>
          ,
          <year>2019</year>
          , pp.
          <fpage>172</fpage>
          -
          <lpage>184</lpage>
          . doi:
          <volume>10</volume>
          .1109/EuroSP.
          <year>2019</year>
          .
          <volume>00022</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>F.</given-names>
            <surname>Shirazi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Simeonovski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. R.</given-names>
            <surname>Asghar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Backes</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Diaz</surname>
          </string-name>
          ,
          <article-title>A survey on routing in anonymous communication protocols</article-title>
          ,
          <source>ACM Comput. Surv</source>
          .
          <volume>51</volume>
          (
          <year>2018</year>
          ). URL: https: //doi.org/10.1145/3182658. doi:
          <volume>10</volume>
          .1145/3182658.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>S.</given-names>
            <surname>Tikhomirov</surname>
          </string-name>
          ,
          <article-title>Ethereum: State of knowledge and research perspectives</article-title>
          , in: A.
          <string-name>
            <surname>Imine</surname>
            ,
            <given-names>J. M.</given-names>
          </string-name>
          <string-name>
            <surname>Fernandez</surname>
            ,
            <given-names>J.-Y.</given-names>
          </string-name>
          <string-name>
            <surname>Marion</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          <string-name>
            <surname>Logrippo</surname>
          </string-name>
          , J. Garcia-Alfaro (Eds.),
          <source>Foundations and Practice of Security</source>
          , Springer International Publishing, Cham,
          <year>2018</year>
          , pp.
          <fpage>206</fpage>
          -
          <lpage>221</lpage>
          . doi:https://doi. org/10.1007/978-3-
          <fpage>319</fpage>
          -75650-9_
          <fpage>14</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>F.</given-names>
            <surname>Buccafurri</surname>
          </string-name>
          , V. De Angelis,
          <string-name>
            <given-names>G.</given-names>
            <surname>Lax</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Musarella</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Russo</surname>
          </string-name>
          ,
          <article-title>An attribute-based privacypreserving ethereum solution for service delivery with accountability requirements</article-title>
          ,
          <source>in: Proceedings of the 14th International Conference on Availability, Reliability and Security</source>
          , ARES '19,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery, New York, NY, USA,
          <year>2019</year>
          . URL: https: //doi.org/10.1145/3339252.3339279. doi:
          <volume>10</volume>
          .1145/3339252.3339279.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>G.</given-names>
            <surname>Kappos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Yousaf</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Maller</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Meiklejohn</surname>
          </string-name>
          ,
          <article-title>An empirical analysis of anonymity in zcash</article-title>
          ,
          <source>in: 27th USENIX Security Symposium (USENIX Security 18)</source>
          ,
          <year>2018</year>
          , pp.
          <fpage>463</fpage>
          -
          <lpage>477</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Yang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Susilo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Yu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. H.</given-names>
            <surname>Au</surname>
          </string-name>
          , D. Liu, Traceable monero: Anonymous cryp-
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>