ieeexplore.ieee.org Open in urlscan Pro
2a02:26f0:6c00:28e::603  Public Scan

URL: https://ieeexplore.ieee.org/document/9129739
Submission: On March 07 via api from SE — Scanned from DE

Form analysis 1 forms found in the DOM

<form _ngcontent-dbo-c465="" novalidate="" class="search-bar-wrapper ng-untouched ng-pristine ng-valid">
  <div _ngcontent-dbo-c465="" class="drop-down"><label _ngcontent-dbo-c465=""><select _ngcontent-dbo-c465="" aria-label="content type dropdown">
        <option _ngcontent-dbo-c465="">All</option>
        <option _ngcontent-dbo-c465="">Books</option>
        <option _ngcontent-dbo-c465="">Conferences</option>
        <option _ngcontent-dbo-c465="">Courses</option>
        <option _ngcontent-dbo-c465="">Journals &amp; Magazines</option>
        <option _ngcontent-dbo-c465="">Standards</option>
        <option _ngcontent-dbo-c465="">Authors</option>
        <option _ngcontent-dbo-c465="">Citations</option><!---->
      </select></label></div>
  <div _ngcontent-dbo-c465="" class="search-field all">
    <div _ngcontent-dbo-c465="" class="search-field-icon-container">
      <div _ngcontent-dbo-c465="" class="global-search-bar"><xpl-typeahead-migr _ngcontent-dbo-c465="" placeholder="" name="search-term" ulclass="search-within-results ui-autocomplete ui-front ui-menu ui-widget ui-widget-content ui-corner-all"
          minchars="3" _nghost-dbo-c53="">
          <div _ngcontent-dbo-c53="" class="Typeahead text-sm-md-lh"><input _ngcontent-dbo-c53="" type="text" autocomplete="off" aria-label="Enter search text" class="Typeahead-input ng-untouched ng-pristine ng-valid" placeholder=""><!----></div>
        </xpl-typeahead-migr></div><!----><!---->
      <div _ngcontent-dbo-c465="" class="search-icon"><button _ngcontent-dbo-c465="" type="submit" aria-label="Search" class="fa fa-search"></button></div><!---->
    </div><!---->
  </div>
</form>

Text Content

IEEE websites place cookies on your device to give you the best user experience.
By using our websites, you agree to the placement of these cookies. To learn
more, read our Privacy Policy.
Accept & Close




Skip to Main Content


 * IEEE.org
 * IEEE Xplore
 * IEEE-SA
 * IEEE Spectrum
 * More Sites

SUBSCRIBE
SUBSCRIBE

Cart 



Create AccountPersonal Sign In



 * Browse
 * My Settings
 * Help
   

Institutional Sign In

Institutional Sign In
AllBooksConferencesCoursesJournals & MagazinesStandardsAuthorsCitations

ADVANCED SEARCH
Journals & Magazines >IEEE Access >Volume: 8


SECURITY PROPERTIES OF LIGHT CLIENTS ON THE ETHEREUM BLOCKCHAIN

Publisher: IEEE
Cite This
PDF

Santeri Paavolainen; Christopher Carr
All Authors

View Document
8
Paper
Citations
1451
Full
Text Views
Open Access
Comment(s)


 * 
   
 * 
   
 * 
   
 * 
   
 * Alerts
   
   
   ALERTS
   
   Manage Content Alerts
   Add to Citation Alerts
   

Under a Creative Commons License

--------------------------------------------------------------------------------

Abstract
Document Sections
 * I.
   
   Introduction
 * II.
   
   Related Work
 * III.
   
   Ethereum Blockchain
 * IV.
   
   Threat Model and Attack Scenarios
 * V.
   
   Analysis
   

Show Full Outline
Authors
Figures
References
Citations
Keywords
Metrics
More Like This
Footnotes
 * Download PDF
 * View References
 * 
 * Request Permissions
 * Save to
 * Alerts
   
   

The Markov process describes the interplay between the generation of adversarial
blocks and blocks from the honest network where the vertical axis represents the
height o...View more
Abstract:Ethereum is a decentralized blockchain, known as being the second most
popular public blockchain after Bitcoin. Since Ethereum is decentralised the
canonical state is det...View more
Topic: Blockchain Technology: Principles and Applications
Metadata
Abstract:
Ethereum is a decentralized blockchain, known as being the second most popular
public blockchain after Bitcoin. Since Ethereum is decentralised the canonical
state is determined by the Ethereum network participants via a consensus
mechanism without a centralized coordinator. The network participants are
required to evaluate every transaction starting from the genesis block, which
requires a large amount of network, computing, and storage resources. This is
impractical for many devices with either limited computing resources or
intermittent network connectivity. To overcome this drawback Ethereum defines a
light client protocol where the light client fetches the blockchain state from a
node operating as a light protocol server. Light clients are unable to maintain
blockchain state internally, and as a consequence can only perform partial
validation on blocks. Thus they rely on the light server for full block
validation and to provide the updated blockchain state. Light clients connect to
multiple light servers to mitigate the risk of relying on a single potentially
dishonest server. Ethereum light clients are known to suffer from a
probabilistic security model, but they are widely assumed to be secure under
normal operating conditions. In fact, the implicit security assumptions of light
clients have not been formally characterised in the literature. We present and
analyse the probabilistic security guarantees under three different adversarial
scenarios. The results show that for any adversary that is able to manipulate
the network, the security assurances provided by the light protocol are severely
impacted, and in some cases entirely lost. These results clearly demonstrate
that the assumption of normal operating conditions is insufficient to justify
the security assumptions of light clients. Our work also provides insight to the
security of light clients under different security parameters, allowing light
client implementers to more accurately understand the potenti...
(Show More)
Topic: Blockchain Technology: Principles and Applications
Published in: IEEE Access ( Volume: 8)
Page(s): 124339 - 124358
Date of Publication: 30 June 2020
Electronic ISSN: 2169-3536
INSPEC Accession Number: 19800191
DOI: 10.1109/ACCESS.2020.3006113
Publisher: IEEE
Funding Agency:
The Markov process describes the interplay between the generation of adversarial
blocks and blocks from the honest network where the vertical axis represents the
height o...View more
Hide Full Abstract

Contents

--------------------------------------------------------------------------------

CCBY - IEEE is not the copyright holder of this material. Please follow the
instructions via https://creativecommons.org/licenses/by/4.0/ to obtain
full-text articles and stipulations in the API documentation.
SECTION I.


INTRODUCTION

The Ethereum blockchain is a well-known second-generation blockchain technology
[1]. In contrast to earlier blockchain technologies, such as Bitcoin [2],
Ethereum has a far shorter block interval — the period between state transitions
— and allows for expressive smart contracts. Smart contracts are programs whose
program code and execution state are stored on the blockchain. Ethereum has
accounts as explicit entities, in contrast with Bitcoin where transactions are
referred to as unspent transaction outputs — called UTXOs. The two approaches
are distinguished as account-centric blockchain and transaction-centric
blockchain models by Ren and Erkin [3]. They observe that in both blockchain
models, consensus requires that all nodes in the network can reliably acquire
and compute the state transition function. This requirement for consensus
becomes a critical issue when attempting to connect resource constrained devices
to the Ethereum network.

The Ethereum network is a distributed set of computer-participants called nodes,
which have significant resource requirements. A node containing the full block
history requires hundreds of gigabytes of storage. Even a node that discards
much of the historical data still needs gigabytes of available storage [4]. For
devices with limited storage space this may already inhibit them from
participating in the network consensus protocol.

In addition to storing the blockchain history and its current state, a node must
validate and process incoming blocks. Such nodes are also called called
validating nodes or full nodes. For a node to apply the full consensus protocol,
it needs to have sufficient bandwidth and computational capacity. We call a
constrained device any device that lacks the resources to operate as a
consensus-protocol following node. For example, most mobile devices would fall
into the constrained device category, as well as most Internet of Things (IoT)
devices including consumer and industrial embedded applications. Devices which
may have the required storage and processing capacity, but are lacking in either
network connectivity (intermittent connectivity) or availability of power
(battery-powered devices including vehicles) are also considered to be
constrained in this study.

To address the problem of constrained devices many blockchains define light
protocols used by light clients. Bitcoin defines the Simple Payment Verification
(SPV) [2] protocol and Ethereum has the Light Ethereum Subprotocol (LES) [5].
These offload parts of the blockchain consensus and state management protocol to
light protocol servers. In general, light clients are able to quickly identify
the current canonical chain, retrieve and validate block headers, and query the
light servers for further information such as transactions and blockchain state.
While these light protocols are designed for space-efficient and secure data
retrieval, they have the potential to introduce new attack vectors.

Light clients are reliant on light servers to both process blocks and keep them
informed of the current state. Unlike full nodes, light clients cannot determine
if a block it receives is based on, or describes operations that would result in
an invalid blockchain state. They are effectively stateless and rely only on
information from block headers to determine the true chain. This creates a
potential attack vector for light clients, making them more vulnerable to
entities who may wish to deceive them. In reality, some implementations do store
blockchain data so that it is not a stateless process. However, this behavior is
not part of the Ethereum specification and is not a required behavior of a
conforming light client. Moreover, even storing some previous state may not
prove a reliable countermeasure. Consequently light clients are susceptible to
attacks where a malicious entity gains a substantial but not necessarily a
majority of computational power even for a short period of time. This
vulnerability is compounded when availability of local full nodes is decreased,
or a greater percentage are malicious, such as in network partitioning attacks.
Notably, the network may be partitioned even under normal conditions without any
action specifically targeting the network. For example, the Internet may suffer
from routing problems [6] or national security apparatus may temporarily block
Internet access in a large region [7], [8].

It has been previously shown that Ethereum light clients achieve only
probabilistic security assurances.1 However, the overall security is considered
to be high under normal operating assumptions, where “normal” in this case means
that there is complete availability to each node. Al-Bassam et al. [11] write
that light clients operate “well under normal circumstances”, and would suffer
security degradation only if a majority of the consensus controlling nodes (i.e.
miners and full nodes) collude. Leiba et al. [12] similarly state that light
clients are secure against dishonest servers when the majority of miners are
honest and the light client is able to connect to at least one honest node. Many
other works have noted these assumptions or demonstrated the weaker security
assurances offered for light clients [13]–[14][15][16], but have not formally
characterised the security of light clients to the extent our work provides.

Despite the general understanding of light client’s security requirements, there
is no comprehensive and formal description of the properties of light clients on
an Ethereum network. This article addresses that omission. We describe the
behavior of the Light Ethereum Subprotocol (LES), describe formally the common
security assumptions, and evaluate the probability of a successful adversarial
injection of an incorrect block under three different attack scenarios. The
focus is solely on the Ethereum network, however many aspects of this analysis
are valid for other account-centric blockchains.

This work takes a deep look at Ethereum light clients and their potential for
malicious compromise. The contributions this article makes are:

 * A formal definition of adversary’s goals and capabilities, and the different
   attack scenarios we model (Section IV).

 * A definition of different Markov processes to model the adversary’s
   probability of success under different attack scenarios (Section V).

 * Results assessing the security of a light client under the different attack
   scenarios under different relevant security parameters (Section VI).



We also discuss related work in Section II, with Section III covering background
information on the Ethereum blockchain and light clients. Conclusions and
discussion can be found in Section VII. Additionally Appendix A provides
examples of how the adversary could exploit a light client, and Appendix B
provides a detailed description of the Markov process matrix construction.

SECTION II.


RELATED WORK

The interplay between honest miners and a miner attempting in some manner to
subvert the blockchain mining process has previously been addressed by at least
Eyal and Sirer [17], Nayak et al. [18], Sapirsthein et al. [19], and Gervais et
al. [20]. Their work focuses on strategies that can be employed by a miner to
maximize their mining rewards through strategic withholding of mined blocks, and
on how to potentially exploit this benefit thereafter. While the different
mining strategies described in the papers may break the intended purpose of
mining rewards—i.e. to incentivize decentralized miners to reach rapid
consensus—miners in these papers do nonetheless follow the consensus protocol
correctly and attempt to get the mined blocks to be accepted as part of the
blockchain network. This is in contrast to our work, where the adversary never
has the intention to generate blocks that the network would accept.

One can distinguish between attempts to manipulate the blockchain consensus
mechanism to one’s benefit—as above—and attacks against a specific user or
groups of users while they transact on the blockchain. This includes attacks
such as the double-spend attack, Finney attack, and others—see [21], [22] for a
summary. It is also possible to target blockchain nodes directly, for example
using eclipse attacks [23]–[24][25] to manipulate and even isolate blockchain
nodes from other nodes. While most of the results related to eclipse attacks
against blockchain nodes apply only to Bitcoin, it is interesting that Marcus et
al. specifically observe that Ethereum network nodes are more susceptible to
eclipse attacks than Bitcoin nodes [24].

The challenges of constrained devices to blockchain integration is manifold and
complex field. Some approaches look for mechanisms that allow the light client
to reduce the amount of data that has to be transmitted. Kiayias et al.
introduce Non-Interactive Proofs of Proof-of-Work (NIPoPoWs) [26] that allow up
to 90% reduction in the block headers that need to be transmitted over the
network. Bünz et al. further extend the proposed mechanism to light clients on
both Bitcoin and Ethereum [27]. Danzi et al. measure bandwidth requirements of
blockchain clients, and propose radio link layer aggregation [14] and
multicasting schemes [28] to reduce bandwidth requirements. Other similar
approaches have been taken by Palai et al. [15], Pustišek et al. [29], for
example.

While integrating IoT devices with popular public blockchains such as Ethereum
and Bitcoin is often desirable, another approach is to turn the problem around,
and make the integration easier by designing the blockchain technology itself
from start to be more IoT-friendly. Using alternative Sybil protection
mechanisms such as staking in Tendermint [30] can change the dynamics of the
validation process, making it easier for IoT devices even when this has not been
the primary goal of the blockchain design. Blum and Bocek have proposed a
blockchain specifically designed for light clients [31]. If public blockchain
interaction is required, another approach is to use multiple blockchains, and
segregate constrained devices into the more IoT-friendly blockchain, straddling
the two blockchains using interledger techniques [32].

Al-Bassam et al. accurately identify the security problems posed for light
clients, and consider a situation where the majority of the consensus is
colluding against light clients [11]. Their approach is to have nodes employ a
gossip protocol, distributing fraud proofs, i.e. proofs that are easily
verifiable by a constrained device to demonstrate a block to be malicious,
allowing light clients to avoid exposure to invalid block state even without the
need to fully validate all blocks. In their case the fraud proofs are assumed to
be identified by honest nodes. This is in contrast to our scheme, where the
invalid blocks are not sent to the honest network (thus, no honest node could
generate a fraud proof against them). We do not assume a dishonest majority,
either.

While not specifically a protocol problem, Gruber et al. remark that “full nodes
only have little incentives to (correctly) serve lightweight clients” [33]. This
seems like a grave omission in the light client model—miners and full nodes
themselves gain benefit from propagating blocks and headers to other full nodes,
but they gain nothing from providing light protocol services. This leaves the
light servers open for other incentives which may not be detrimental to light
clients.

There are potential mitigation methods that are applicable to light clients in
particular. For example, Marcus et al. describe countermeasures an Ethereum
light client can take to protect itself against adversary attempting to eclipse
it from the honest network [24]. Paavolainen and Nikander [34] propose a
mechanism where the owner of an IoT device sends periodic decentralized beacons
to the device attesting the owner’s view of the canonical blockchain, allowing
the device to determine a trusted blockchain state independently of the light
protocol servers’ intent.

SECTION III.


ETHEREUM BLOCKCHAIN

Ethereum is a public and decentralized blockchain technology, operationally
deployed as a peer network2 [1]. Any node following the defined peer-to-peer
protocol can join the network, retrieve historical blocks and transactions,
submit transactions to the network, and if desired, act as a miner and propose
new blocks to the network. Since the Ethereum network uses a cryptographic
proof-of-work as a Sybil attack protection measure, this requires miners to
invest resources in solving the cryptographic puzzle. To aid understanding,
Table 1 lists the notation used within this section, and throughout.

TABLE 1 Notation Used in This Article. See Sections III–IV for Details





A. BLOCK STRUCTURE

The block header of Ethereum is described in Fig. 1, with the fields that are
referred to in the text in bold. Ommers (or uncle blocks), transactions, and
receipts are not part of the block header, but are considered part of the block,
and are transmitted separately. Unlike other fields, the block state is only
inferred from the block, and is not explicitly defined, or transported, as part
of the block. The majority of the fields are not relevant to this article, and
we refer the reader to the Ethereum documentation [1] for further information.
As in many other blockchains, the block header refers to the previous block by
the hash of that block’s header, termed the parent hash in Ethereum. We refer to
the block header as B , and for a specific block n as Bn . The block header is
often referred by the hash of the block header, hn=hash(Bh) . Since any change
in the information contained within the block header will result in a change of
its hash output, this creates a hash chain from any block n to the starting
block, called the genesis block, block 0.

FIGURE 1.

Ethereum block header diagram.

Show All



A block contains several data structures that are referred to from the block
header, but are not part of the block header itself. For example, the list of
transactions Tn is transferred separately, and is referred to from the header by
the hash of the root node of the transaction trie. The trie is deterministically
populated from the transactions list, and consequently tn=hash(Tn) authenticates
the set of transactions Tn . Therefore the list of transactions in a block
cannot be altered, as any such change would result in a different value for the
transaction root hash.

The block header also contains a hash of the system state rn=hash(Sn) , which is
is the root hash of the Merkle-Patricia trie of all account states. The system
state Sn is not explicitly transmitted between (regular) Ethereum network nodes,
and is instead maintained separately by each participating node. Thus the state
Sn is considered implicit, and not considered to be directly part of the block n
.


B. MINING

A cryptographic puzzle is easy to verify, but difficult to solve. The Ethereum
blockchain uses a cryptographic puzzle as a protection against Sybil attacks,
called a proof-of-work puzzle. The puzzle requires the hash of the block header
to meet specific requirements. A miner can generate variations in the block
header by changing the order of transactions, or more commonly, by changing the
nonce field in the block header. Once a miner can generate a block header that
meets the requirements, it broadcasts the block header through the peer-to-peer
network of participating nodes.

More formally, the goal of the miner is to be able to generate a provisional
block B′n+1 , distribute it to the network, and have it become part of the
honest blockchain as block Bn+1 . We use ′ to indicate that the value is
provisional and the corresponding block has not yet been accepted as part of the
honest chain.

The miner starts by determining the current head of the chain Bn , i.e. finding
the block that along the whole chain to the genesis block B0 accumulates the
largest value for the work function3 W . The next step is to determine the set
of transactions T′n+1 to include in the block. This set of transactions is then
used to update the blockchain state as described in (1) (slightly simplified—see
[1] and [35] for a complete description). This defines a transition from an
earlier state Sn as a function of the state transfer function Π , and executing
the set of transactions T′n+1 , resulting in a new state S′n+1 :
S′n+1=Π(Sn,T′n+1).(1)
View Source\begin{equation*} S'_{n+1}=\Pi (S_{n}, T'_{n+1}).
\tag{1}\end{equation*}

The miner encodes the necessary information of the new state S′n+1 and
transactions T′n+1 as r′n+1 and t′n+1 , includes them in the block header B′n+1
, and checks if the hash of the block header hash(B′n+1) is a valid solution to
the cryptographic puzzle. If it is not, the miner will modify the nonce in the
block header, and repeat until it either succeeds, or it detects a competing
block header Bn+1 broadcast by another miner.

If the miner succeeds, it will broadcast its block header B′n+1 to the network.
If there are no competing block headers, or the miner’s block “wins” the
competition, it will become committed to the chain, so Bn+1=B′n+1 . At this
point it can also be said that at block n+1 the network’s state is Sn+1=S′n+1 as
originally calculated by the miner, thus forming a consensus on the state of the
network.


C. MINING NETWORK

We define the network that is correctly following the Ethereum consensus rules,
as described by the Ethereum protocol, as the honest network. This portion of
the network consists of honest miners, honest validating nodes, and honest light
protocol servers. In contrast to the adversary, as defined in Section IV-A, the
honest network is not attempting to subvert any node on the network.

While the probability of successfully mining a block for any single miner is
very small, the total probability of mining success over a large number of
miners may be modelled using an exponential distribution [17], [18], [36].
Therefore we can identify the honest network’s capacity to produce new, valid
blocks as an exponential distribution Exp(μ0) , with the mean interval between
two successfully mined blocks as μ−10 . For simplicity, we set μ0=1 , and fix
the time scale so that the time expressed is abstracted to [t]=[1μ0]=1 .

The mining network may be partitioned — split into at least two distinct and
mutually exclusive networks. We define the amount of partitioning as γ∈[0,1]
from the viewpoint of some arbitrary light client, so that in normal operating
conditions when no partitioning occurs γ=0 . Without loss of generality we
define a partitioned network as a network split into two parts where: γμ0
hashing power is currently unreachable from the from the light client, and
μ=(1−γ)μ0 is in the portion of the network that is reachable.


D. BLOCK VALIDATION

Any node receiving a new block header can directly verify that the block header
itself is valid. We denote this verification process as Vh(Bn) . This process
ensures both the structural correctness of the block header (length, field
values, etc.), and more importantly checks that the hash of the block header
meets the requirements of the cryptographic puzzle. Since the block header
contains references to auxiliary information not included in the block, such as
the hash of the transaction trie tn , a node can verify that a list of
transactions is part of a block. The transaction list validation is an another
validation that a node may perform, but for the purposes here, we can assume
that Vh represents all validations that can be performed based on the block
header and associated data with modest resource requirements.

A node can determine that the system state referenced in the block header as rn
is correct by evaluating the blockchain state transition function itself
S′n=Π(Sn−1,Tn) , and verifying that hash(S′n)=rn . We denote this verfication as
Vs(Sn−1,Bn,Tn,…) , and the full set of checks as V≡Vh∧Vs , as shown in Fig. 2.

FIGURE 2.

The information used in block validation for the block header validator Vh and
the block state validator Vs .

Show All



The state Sn for any n is not explicitly transmitted as part of the Ethereum
protocol—transmitting it would defeat the whole goal of decentralized security
model where each node relies only on the state it has independently validated.
The inclusion of the root hash of the Merkle-Patricia trie construction of the
current blockchain state, rn in the block header does, however, allow any node
to verify that they share the same view of the blockchain state as the mining
node. As described earlier, the state information Sn required to compute rn can
be several gigabytes in size, and requires processing power and network
bandwidth to maintain. Consequently, along with miners and validating nodes
there is a third network participant, commonly called a light node or a light
client, that is unable to perform state validation Vs . In summary, the three
nodes types are:

Miners that are able to generate new blocks Bn+1 that pass the full set of
validations V . To do this, they validate other incoming blocks to identify the
canonical chain and maintain the state S .

Validating nodes perform all validations V on blocks arriving from other nodes
and reject invalid blocks. Validating nodes maintain the state S .

Light clients communicate with other nodes to receive information on new blocks.
They will query light protocol servers for any blockchain state they need. Light
clients can perform header validation Vh , but not state validation Vs .

While miners and validating nodes form a peer-to-peer network where all nodes
are peers (miners are different only in internal behavior, not external), light
clients rely on some of the nodes to act as a intermediary to the light client.
This client-server model defines a protocol differing from the normal
peer-to-peer protocol, a light client protocol, described below.


E. LIGHT CLIENT PROTOCOL

Light nodes can still perform Vh validation. This allows them to identify the
canonical chain i.e. the chain with the largest amount of work that forms a
unbroken chain of blocks to the genesis block B0 . This chain is verified by the
light client to follow the consensus protocol for Vh validation. Additionally,
while the light client is unable to calculate Sn on its own, it can still use
the inclusion of the state root rn to validate a proof of inclusion for any
account in the full blockchain state. The proof of inclusion is a subset of the
full Merkle-Patricia state trie, with a path starting from the root and
descending to the subset of state requested by the client. The light node can
retrace the path up to the root node and verify that the root hash matches rn
from the target block. In practice, this means that assuming the client has the
canonical block header, it can authenticate all state responses from light
servers, and reject any responses that do not match the established consensus on
the canonical chain.

When a light node uses another node for state management and retrieval, it is
called a light client. It operates a light protocol to communicate with the full
node, and is known as a light server. This mechanism is general to other types
of blockchains, such as SPV for Bitcoin. For Ethereum it is known as the Light
Ethereum Subprotocol (LES) [5].

An overview of the process of a light client using LES protocol is shown in Fig.
3. If the client wants to identify the balance of a specific account, it first
identifies the canonical chain by performing header validation on all block
headers it receives, and identifies the chain with the largest amount of work.
Next, the client queries the server for the target account information at some
predetermined block depth k . If the canonical blockchain head is Bn , then the
client is interested in the state from block n−k . The server replies with the
specific account state data, and the proof of inclusion as the required hashes
of the Merkle-Patricia tree. The client calculates the hash of the retrieved
subset of the state data, and ascends up the inclusion proof until it reaches
its own root hash r′n−k , which it then compares against the rn−k from the block
header Bn−k .

FIGURE 3.

Overview of the behavior of a light client using the Light Ethereum Subprotocol.

Show All



Since the value of k is controlled by the client, it can be tuned to different
values depending on the client’s requirements. For deciding on a suitable k
value the general guidance is to consider overall security requirements and
risks [37]. For example, if the light client needs to quickly act on a state
change (such as a payment transaction), then it has to use a lower k value.
Similarly, if the client does not have to react to rapid changes it can safely
use a higher k value. As an upper bound k=30 seems to be a reasonable choice
since some cryptocurrency exchanges use it before processing real-world money
transfers based on deposits on the Ethereum blockchain [38].

A light client is assumed to contact a large number of light servers,
potentially chosen at random. The number N of servers the client connects to is
determined by the client. The client may receive information about different
chain heads from different servers. This may happen if there are forks in the
blockchain for instance. However, since the client can independently determine
the total amount of work each chain represents, it can be assumed to be able to
determine the canonical chain. It is expected that the honest chain — in the
long run — will always contain the most amount of work. Consequently the common
assumption is that the canonical chain, representing the largest amount of work
is also the honest chain. Note that the client does not determine the canonical
chain by voting —if it receives just one copy of the chain with the most work,
it will consider that chain to be the canonical chain even if all other servers
it communicates with provide an alternate chain.


F. ETHEREUM NETWORK CHARACTERISTICS

For evaluation purposes we need to note some characteristic features of the
Ethereum blockchain network that is often also referred to as the homestead
network. The mean block interval in this network varies slightly (μ−10 in our
notation), although it is commonly approximated as 15 seconds.

The capacity of the Ethereum network to determine whether a particular block
header meets the required properties of the cryptographic puzzle is called
hashrate. Since hashrate is a way of describing the speed of block creation,
sometimes the terms mining power, hashing power etc. are used to express the
same idea. The main Ethereum network—as of writing of this article—has an
aggregate hashrate4 of 180×1012 per second (terahashes/s, TH/s). For comparison,
a high-end GPU card5 attains a hash rate of 88 MH/s representing less than one
millionth of the hashrate of the full network. Since the likelihood of
successfully finding a new block for a single GPU-based miner is very low, most
miners join so-called mining pools which aggregate its members’ hashrate and
divide mining rewards in proportion to the contribution of each member. At the
time of writing the largest single Ethereum mining pool controls about 30% of
the total hashrate, the 10th biggest pool has 1.4% of the total mining power,
and the top 10 mining pools hold in aggregate over 80% of all hashing power.

SECTION IV.


THREAT MODEL AND ATTACK SCENARIOS

Next we consider the general threat model and three different attack scenarios
against which we evaluate the vulnerability of a light client on the Ethereum
network. First we describe the adversary and its goals and capabilities,
explaining what the adversary needs to accomplish in relation to the honest
network to succeed. Then, three different attack scenarios are described that
provide more specific context on the behavior of the light client and the
adversary.


A. ADVERSARY

We assume an adversary can mine blocks at a mean rate λ−1 , i.e. its relative
mining power in relation to the honest network is λ/μ0 . The adversary also
controls a set of dishonest light protocol servers which are not affected by any
network partition γ>0 . For a summary of the configuration regarding a light
client’s network environment please see Fig. 4. In summary, the adversary
controls an adversarial network consisting of dishonest miners and dishonest
light protocol servers.

FIGURE 4.

Scenario with adversarial and honest network, and a target node. A target node
with honest and adversarial networks, including partitioning. DM = dishonest
miner, DS = dishonest server, HM = honest miner, HV = honest validating node, HS
= honest server.

Show All



In our model, the adversary is targeting a specific target node that exclusively
uses the light protocol to interact with the Ethereum network. The specific goal
of this adversary is to inject an adversarial block to the target, and have the
target consider the injected block part of the canonical chain. Consequently,
the target may change its behavior in a manner that is exploitable by the
adversary. For a more detailed discussion and examples on how the adversary can
use an injected adversarial block to their advantage, see Appendix A.


B. ADVERSARIAL CHAIN

The adversary generates a fork in the blockchain—the adversarial chain—that does
not have to conform to the Ethereum state transfer rules. Therefore the
adversary is permitted to generate blocks that fail state validation. The
invalid blocks would be rejected immediately by the honest network, but this
does not concern the adversary as it does not have any need to distribute the
invalid blocks to the honest network. Instead, the adversary wants to inject the
invalid blocks to the targeted light client so that it will use the adversarial
state S~n . This state is not consistent with the state transformation rules of
the honest network:
S~n=Π~(Sn−1,T~n)∧S~n≠Π(Sn−1,T~n).(2)
View Source\begin{equation*} {\tilde {S}}_{n} = \tilde \Pi (S_{n-1},{\tilde
{T}}_{\!n}) \land {\tilde {S}}_{n} \ne \Pi (S_{n-1},{\tilde
{T}}_{\!n}).\tag{2}\end{equation*}

The state is encoded in the adversarial block B~n that, due to (2), would fail
the state validation Vs . This deviation is however, undetectable by the light
client as by definition, it is unable to perform state validation. The
adversarial block must, however, still pass the Vh validation at the client,
i.e. it must contain a valid proof-of-work.

The adversarial chain is the sequence of blocks mined by the adversary
(B~n−m,…,B~n) . The adversarial chain consists of blocks that would not be
accepted to the honest chain as they fail state validation. We similarly
identify adversarial transactions of block n as T~n , the adversarial state S~n
, and the resulting state root hash r~n . In our analysis the state transfer
function Π~ does not necessarily have to follow the defined Ethereum state
transfer rules, i.e. ∃S,T:Π(S,T)≠Π~(S,T) .

For the adversary to successfully manipulate the client’s view of the network
state it must generate a chain that the light node would accept as the canonical
chain and reply to the client node’s state requests with extracts from the
adversarial state S~ . This implies the following three requirements:

 1. The client must connect to a light protocol server that the adversary
    controls;

 2. An adversary must be able to convince the client to recognize the
    adversarial chain as the canonical chain. This requires that the work
    function of the adversarial chain is larger than that of the honest chain;

 3. The adversarial chain must be deep enough so that the client with depth
    parameter k will use an adversarial block B~n−k instead of an honest block
    Bn−k .



This process is demonstrated in Fig. 5 where the adversary has forked the honest
chain at block n=0 . The vertical lines represent samples in time. The ΔW is the
difference of work between the honest and adversarial chains; h is the height of
the adversarial chain from the fork. The lines from the client represent the
block the client would be using at different block depth k values. When the
client is presented with both chains, it would select the adversarial chain if
ΔW>0 and select the honest chain when ΔW≤0 .

FIGURE 5.

Conflict between honest and adversarial chains with respect to the client. B0 is
the block the adversary forks its chain from (not necessarily the genesis
block).

Show All



As an example, the adversary in Fig. 5 has initially succeeded in mining a block
B~1 . This results in the adversary having a parallel chain of height h=1 and
the difference in the work function of the two chains is favourable to the
adversary with ΔW=1 . Since the adversarial chain contains more work than the
honest chain, a light client would accept the adversarial chain. However, when
the honest chain mines B1 , the work difference between the two chains decreases
to zero and the adversary cannot be certain that its chain would be selected. In
our model we conservatively assume that ties are always resolved to the honest
network.

Moreover, the adversary would not necessarily succeed at block B~1 if the block
depth parameter k of the client is over zero. For example, with the final state
in the diagram where the adversarial chain is at B~4 and the honest chain is at
B3 i.e. ΔW=1 and h=4 , the client using k=4 would bypass all of the adversarial
blocks and use state from the honest block B0 , with the adversary consequently
failing. Conversely, if k<h∧ΔW>0 the adversary would be able to provide
adversarial state S~ from its own block and succeed. Our goal is to determine
the probability of a a success for an adversary.


C. ATTACK SCENARIOS

While the goal of the adversary is to inject its own block to the target node,
the general context of the attack affects the timing and constraints of the
attack. IoT devices and other types of light clients vary significantly in their
capabilities and how they are deployed. How the device operates on the
blockchain affects the type of attacks an adversary can initiate. We have
decided to condense these variations into three different attack scenarios A1–A3
that we believe are useful abstractions of real-world attacks.

 1. The target node performs one read-only operation on the blockchain at
    unpredictable time t0 , whereby it reads state from the blockchain at depth
    k . The goal of the attacker is to ensure the state that is used is obtained
    from an adversarial block.

 2. The target node connects to the network at time t0 that is not known to the
    attacker a priori, and disconnects at time t1=t0+Δt . Unlike in the A1
    scenario, the adversary needs to inject state that is dependent on
    information available at t0 , thus forcing the adversary to generate a fresh
    fork. The adversary has Δt time to successfully construct an adversarial
    chain that the target accepts.

 3. Similar to A2, but the client does not have a natural timeout (t1 is
    unbounded). Hence the adversary has indefinite time Δt for the injection
    attack.



For all scenarios A1–A3, we assume the adversary needs to inject only one
invalid state that is independent of later actions by the adversary or the
target node. We define this as 1-inject attack.

Since these attack scenarios are general, let us describe potential examples
where they would be applicable and the questions we want to answer. The A1
scenario is a stationary scenario, where the adversary needs to inject
information known a priori, while the client connect time t0 is unknown. Upon
establishing a connection, the client will perform only a single state check,
i.e. Δt is zero or very close to it. A simple but practical example of this case
would be someone attempting to falsely convince someone else that they have a
1-million ether balance. The adversary has to constantly maintain an adversarial
chain that it has to present at any time that client chooses. This leads to the
first question:

 1. What is the probability of the adversary of having a successful adversarial
    chain at any randomly chosen point in time?



A battery-powered device provides an example of the A2 scenario. The device
periodically connects to the network remaining connected until the battery
completely drains. If the battery is charged by solar power, the next reconnect
time can not be accurately predicted. This scenario is also applicable to other
situations with a natural timeout where the attack fails if no adversarial block
is injected within the time limit Δt . A merchant waiting for commitment on an
Ethereum payment would become suspicious after an excessive delay, for example.
Specifically, in the A2 scenario an adversary is not able to “pre-prepare” the
attack, and they must start creation of the adversarial chain at t0 . This could
occur because the adversary needs to inject a specific identifier to the
blockchain state, which must be first obtained from the client. This raises the
second question:

 1. What is the adversary’s probability of 1-inject success within Δt time?



Finally, if the client either does not have a timeout at all (t→∞ ), or the
adversary is able to control t1 by choosing the time of attack when they have a
successful adversarial chain, the adversary will eventually always succeed. For
example, if the target is a smart lock which reads the list of allowed key card
identifiers from a smart contract, the attacker can physically wait near the
target, and attempt a break-in only when an acceptable adversarial chain has
been achieved. The relevant question is not the probability of success, but of
the time required, leading to the third question:

 1. What is the expected time needed for the adversary to gain a specific
    success probability?



For all three scenarios the adversary may be able to achieve γ>0 by exploiting
naturally occuring Internet outages. We can assume that some honest mining
capacity remains, however not all: 0<γ<1 . If an adversary is able to perform
active attacks, they may be able to completely isolate a client from all honest
servers resulting in γ=0 .

In practice, isolating miners from each other is difficult due to their large
geographic dispersion. An adversary with physical or proximate access to the
target may be more successful in isolating the client from honest servers.
Nonetheless, we conclude that an attacker may be able to either exploit a
previously partitioned Ethereum network, or to purposefully generate a partition
to their benefit.

SECTION V.


ANALYSIS

With the formalism of light client behavior and the adversary’s goals defined,
the next step is to develop a model based on these definitions that allows us to
evaluate the security of the light client under different operating conditions.
This is defined as a Markov process whose construction depends on the client’s
depth k parameter and the attack scenario.


A. CONNECTIONS TO HONEST AND DISHONEST SERVERS

Meeting requirement R1 is dependent on whether a light node connects to a server
controlled by an adversary. In this step the client will pick out a random set
of N nodes it will connect to. While this process is technically selection
without replacement, we assume the overall population is sufficiently large that
we can describe the whole source population using a continuous variable
f=M0N0+M0 , which represents the proportion of dishonest light server nodes,
within the population of dishonest nodes M0 and honest nodes N0 , that the light
client may connect to. Therefore, the probability of a light client connecting
to M dishonest nodes follows the Bernoulli trial distribution B(N,f) ,
P(Mdishonest nodes)=(NM)fM(1−f)N−M.(3)
View Source\begin{equation*} P(\text {$M$dishonest nodes}) = \binom {N}{M}f^{M}
{(1-f)}^{N-M}.\tag{3}\end{equation*}

We can identify three different limiting cases that are relevant to later
analysis of an adversarial success probability.

 1. The client connects to only honest nodes (M=0 ).

 2. The client connects only to dishonest nodes (M=N ).

 3. The client connects to at least one honest and dishonest nodes (0<M<N ).



For simplicity, we observe that C1 and C2 are degenerate cases of the full
analysis model (developed later) and do not have to be considered separately:

 1. If M=0 , the adversary has no possibility of success, as we assume honest
    servers are also validating nodes and would refuse to propagate the
    adversarial chain to the target node (effectively λ=0 ).

 2. If M=N , this is functionally equivalent to γ=1⇒μ=0 , as any new blocks from
    the honest network will not reach the target node.



If N is sufficiently large a light client is highly likely to connect to at
least one dishonest server even with modest f :
P(M>0)=1−P(M=0)=1−(1−f)N.(4)
View Source\begin{equation*} P(M > 0) = 1-P(M=0) =
1-{(1-f)}^{N}.\tag{4}\end{equation*}

This is shown in Fig. 6. It is also possible that an adversary using other
methods such as network proximity or active connection manipulation to
artificially boost P(M>0) above the value from (4). Consequently we assume the
target node connects to at least one honest and to at least one dishonest node
(case C3).

FIGURE 6.

Probability of a client connecting to at least one dishonest light server as a
function of the proportion of dishonest servers f in the server population, and
the number N of connections the client establishes.

Show All




B. NON-CAPTIVE MODEL (A1)

We describe the interplay between the honest network and the adversary using a
continuous-time Markov process. Markov processes have been previously used for
blockchain miner analysis by Eyal and Sirer [17] to describe selfish mining
strategy, while Nayak et al. [18] extend the selfish mining model with two-phase
Markov process to evaluate alternative mining strategies.

In our model, the adversary has to meet two specific criteria regarding the
adversarial chain. The adversarial chain must have more work than the honest
chain to meet the R2 requirement. Also, the adversary must be able to generate a
sufficiently deep chain to meet the R3 requirement. This latter requirement is
dependent on the client’s choice of k , the block depth parameter.

These criteria are tracked in the Markov process states as (h,ΔW) parameters,
where h is the phase of the model, and ΔW is the work difference between
adversarial and honest chains. We encode the depth of the adversarial chain in
the phase parameter h=0,1,… up to level h=k+1 which subsumes all chain depths
that are sufficiently deep to meet R3 (h>k ). The work difference ΔW is the
difference between work in the adversarial chain and work in the honest chain,
and consequently R2 is met when ΔW>0 .

The model includes two different processes: λ -process for adversarial mining
and μ -process for honest network miners.6 The transition rates for these
processes are λ and μ respectively and are state- and time-independent. (Network
partitioning is incorporated via the μ=(1−γ)μ0 definition.) Fig. 7 displays an
example with k=2 on how the states can be arranged in a meaningful way to
describe the system model starting from the initial state (0, 0). The model has
four different types of state transitions. The simplest one is λ -transition,
i.e. the adversary successfully mines a block, when the adversarial chain is not
yet deep enough to satisfy R2 requirement as described below (the notation is in
the format transition:condition⇒new state , with the current state defined by h
and ΔW ).

 1. λ:h≤k⇒(h+1,ΔW+1)
    
    Thus, when the system is on k+1 phase, an λ -transition remains on the
    current phase, and increases ΔW :

 2. λ:h=k+1⇒(h,ΔW+1)
    
    When the honest network mines a block, our model resets to the initial state
    if the work difference grows so large that more λ -transitions would be
    needed than from the initial state. If this is not yet the case, it will
    simply reduce ΔW (move one step left in the figure):

 3. μ:ΔW=1−k⇒(0,0)

 4. μ:ΔW>1−k⇒(h,ΔW−1)

FIGURE 7.

Markov process for a light client with block depth k=2 , applicable for attack
scenario A1. This model has an infinite birth-death process tracking the ΔW
value.

Show All



From Fig. 7 we can characterise some additional features. The black circle in
the figure represents the state where the adversary mines the first block that
fails Vs validation. The red circles represent states where the adversary is
able to convince the light node to accept invalid state, where h>k∧ΔW>0 . The
solid arrows represent transitions where the adversary successfully mines a
block (λ -transition) and dashed arrows (leading from right to left), are those
where the honest network successfully mines a block — a μ -transition. While
this model is bounded at the left by ΔW≥1−k , it may have indefinitely large ΔW
in the k+1 phase. This is described by an infinite birth-death process from the
last state with inbound λ -transition from (k+1,k+1) state.

The model is formally defined as a Q=qi,j transition matrix where qi,j is the
transition intensity from state i to state j . More specifically for k=2 the
matrix Q2 is (Λ=−λ−μ in the diagonal) (5), as shown at the bottom of the next
page.

Show All



Please see Appendix B for details on how to succinctly describe the Q matrix by
using generator matrices for each phase of the model.


C. CAPTIVE MODEL (A2 & A3)

The model in Section V-B describes the probabilities of the adversary succeeding
in injecting an invalid block to a light client at any specific time. It is not,
however, suitable for analysing the cumulative probability, i.e. the likelihood
of an adversary succeeding at, or before, a specific time.

Unlike the non-captive model, the captive model as described in Fig. 8 is finite
and has an absorbing state. The absorption state (k+1,≥1) applies for all
success transitions. This allows us to evaluate the success probability of
scenarios A2 and A3 as a function of time as now the model captures the
cumulative probability of success for any time at or before given t .

FIGURE 8.

Markov process for a light client with block depth k=2 , applicable for attack
scenarios A2 and A3. This model includes a captive state.

Show All



The transitions in the captive model are mostly similar to the non-captive model
for h<k , but differ for phases k and k+1 . In the captive model when the
adversary mines a block the simplest transition is a straightforward transition
to a non-success state in the next phase:

 1. λ:h≤k∧ΔW<0⇒(h+1,ΔW+1)
    
    When the system is in phase k+1 , but still far away from the success state
    it will keep in the same phase:

 2. λ:h=k+1∧ΔW<0⇒(h,ΔW+1)
    
    There is only one success state, so all transitions that would in
    non-captive model end up in h>k∧ΔW>0 state end up in the same, single
    absorbing success state:

 3. λ:h≥k∧ΔW≥0⇒(k+1,≥1)
    
    When the honest network mines a block the transitions are similar as in
    non-captive model. The system may reset to (0, 0) state, or stay in phase
    but decrease the work difference. Note however, that there is no μ
    -transition out of the success state.

 4. μ:ΔW=1−k⇒(0,0)

 5. μ:h<k∧ΔW≤0⇒(h,ΔW−1)



The captive model is finite, and its size is solely determined by the k
parameter. As it has an absorbing state that can be reached from all other
states, eventually the probability of being in state πk+1,≥1→1 as t→∞ . Thus, if
λ>0 and given enough time, the adversary will always succeed in the captive
model.


D. NUMERICAL APPROXIMATION

The underlying non-captive Markov process (Section V-B) is irreducible and
infinite. The process does have a limiting distribution if λ<μ and this can be
solved analytically by noting that the birth-death process has a recurrence
relation and can be replaced by a single term. However, there are limits—in
practice, an analytical solution using symbolic mathematics software seems to be
out of reach for k>6 for calculating the limiting distribution, and for k>2 for
a time-dependent (derivative) solution.

Since we are interested in both large k>10 values as well as determining the
time evolution of the adversarial success probability this necessitates the use
of numerical methods. This requires truncation of the Q matrix to a finite size
and approximation of t→∞ to a finite value to determine the equilibrium
probability distribution.

We truncate the matrix using a b parameter (length of the birth-death chain) by
dynamically increasing it from an initial value until the absolute change of the
probability of the last birth-death process state is below a threshold (10−6),
or we hit a maximum size for the birth-death process (bmax=1000 ). We justify
the use of a maximum truncation length by noting that this limit only occurs
when λ≈μ which we consider to be an unlikely long-term equilibrium due to the
dynamic nature of the honest mining pool, and thus less relevant to our
analysis. In practice we see smooth behavior in the results for the region
around λ≈μ .

By using a truncated Q matrix the time evolution of the state probabilities
π¯=(π1,…,πn) is from initial state π¯0=(1,0,…) in [t]=[μ−10] units:
π¯(t)=π¯0eQt.(6)
View Source\begin{equation*} \bar \pi (t) = \bar \pi _{0} e^{\mathbf {Q}
t}.\tag{6}\end{equation*}

This can be used to compute the time evolution of the probability distribution.
Finally, to calculate the equilibrium distribution we approximate t→∞ as
t=107/max(λ,μ) . This was empirically determined to be sufficiently large, as
using larger t values would have less than 10−4 change in the absolute result.

The Markov process with a captive state (aka absorbing state, Section V-C) is
finite and does not need to be truncated. Therefore the captive model matrix
size is solely determined by the parameter k . However, due to the absorbing
state the model can take require a large time value to reach a steady state, we
use an accurate binary search only for small t values, and for larger values
provide only an approximate lower bound.

SECTION VI.


RESULTS

The results are presented for the three different questions posed in Section
IV-C.

Q1. What is the adversary’s probability of having a successful adversarial chain
at any random point in time? The equilibrium probabilities of the non-captive
model are shown in Fig. 9.

FIGURE 9.

Probability of success by the attacker using non-captive model as a function of
ρ=λ/μ ratio at the equilibrium state e.g. when t→∞ , and for different k values.
It is possible to read different γ values from the graph by the relation of
μ=(1−γ)μ0 .

Show All



The equilibrium model is time-independent, and consequently only the ratio ρ=λ/μ
has an impact. The graph shows ρ∈[0,1.5] and various k values. The overall
result is as expected—a larger k parameter gives lower success probability for
the adversary (i.e. higher security for the light client), and the ρ value has
to be substantial before the instantaneous success probability is at p=0.1 level
even for a low k=1 value.

The literature does not generally give details on what is considered a “normal
environment” for light clients to operate securely. We assume this means λ≪μ⇒ρ≪1
and k≥3 . For example, consider an attacker controlling mining power equivalent
to 5% of the honest network (λ=0.05,μ=1⇒ρ=0.05 ). The probability p of success
in the non-captive model’s equilibrium limit is p=0.16⋅10−3 for k=3 , and
p=0.11⋅10−6 for k=7 . The probability diminishes rapidly for larger k values
(p(k=30)=0.27⋅10−24 ). These results are in line with the view that light
clients are secure under the assumption of an honest majority of computing power
and a passive attacker. This corresponds to a scenario where the timing of the
activity is controlled by the client, such as checking whether a very recent
transaction—whose timing cannot be influenced by the attacker—is deep enough in
the chain.

We also consider a situation where the attacker is able to subvert a major
mining pool on the honest network. For example, subverting 30% of the honest
network equals to λ=0.3,μ=0.7⇒ρ=3/7≈0.43 . In this case the equilibrium
probabilities would be significantly different: p=0,15 for k=3 , p=0.038 for k=7
, p=9⋅10−3 for k=12 , and p=1,2⋅10−3 for k=20 . This result must be interpreted
as meaning that an adversary would have approximately 4% probability of
successfully injecting an invalid state to the light client with k=7 when the
adversary is attempting to maintain an adversarial chain with previously known
invalid state.

Q2. What is the adversary’s probability of 1-inject success within Δt time? The
dynamic captive model takes the time evolution of the success probability into
account, and provides a view into situations where the adversary has only a
limited amount of time to perform the attack to perform a 1-inject attack. In
this scenario, the attacker starts mining an adversarial chain at a specific
point in time, and has Δt time to succeed in the attack. This can be a situation
where the adversary has to interact with the client, or when the client
generates a transaction, and the adversary has Δt time until the client checks
for the status of the transaction. As can be seen in Fig. 10, the success
probability increases as Δt increases.

FIGURE 10.

The time development of attacker’s success probability using captive model for
different λ ratios along the horizontal axis, and for different μ values along
the vertical graphs axis (corresponding to different γ partitioning values, e.g.
μ=(1−γ)μ0 ). The individual lines correspond to k={3,7,13,21,30} from top to
bottom. The time units are normalized to μ−10 e.g. value of one represents the
block interval in the original honest portion of the network. Please note that
both axes in the graphs are logarithmic.

Show All



Using the same adversary as in earlier results, we will first look at a modest
mining power that is well within reach of a well-resourced adversary, λ=0.05,μ=1
. The adversary’s success probability increases over time, and for a client with
k=7 block depth, p(t=20)=0,46⋅10−6 , p(t=240)=12⋅10−6 , p(t=5760)=0,3⋅10−3 , and
p(t=2102400)=0,1 (these correspond to 5 minutes, 1 hour, 1 day, and 1 year
respectively). Under this scenario, an adversary with a modest λ=0.05 mining
power has a 10% probability of success at least once within a year against a
light client with block depth k=7 . The probablity increases rapidly for lower k
, for example p(k=3,t=240)=0,019 representing a significant probability of
success over just one hour.

If we take the adversary capable of subverting a 30% mining pool, it can gain
substantial success probability even if able to operate the mining pool for only
one hour (t=240 ). For low k values the success probability is very high, for
example p(k=3)=1 . Even for a relatively high k=12 , the adversary has over 25%
probability of successful state injection against a light client when leveraging
the subverted miner.

Q3. What is the expected time needed for the adversary to gain a specific
success probability? We have summarised a selection of k , λ and μ values for
p={0.5,0.9,0.99} in Table 2. The results show the same general pattern as
observed above: the time required for success increase as k increases.
Conversely, the required time decreases as λ/μ ratio decreases. Therefore,
achieving even a 50% success probability in unfavourable conditions (λ=0.05,k=7
) requires over six years.

TABLE 2 The Time t (in μ−10 Units) That is Required to Reach Specific
Probability p for Success in Injecting at Least One Adversarial Block to the
Target Node. Results are Shown With Two Significant Digits. For t>107 the
Required Time is Approximate Only. The Wall-Clock Time is Approximately 25
Minutes for 100 μ−10 , 4 Hours for 1000 μ−10 , Almost 2 Days for 104, 17 Days
for 105, Half Year for 106 and Almost 5 Years for 107 Block Intervals. All
Results are Shown With Two Digits of Accuracy




The situation changes drastically, again, for an adversary capable of subverting
a mining pool. Targeting a light node with k=7 , the adversary can achieve 50%
success rate in np block intervals (), and 99% success probability in less than
(np block intervals). Even for a very high value k=30 the corresponding 50%
success chance occurs in (t=44000 ), and 99% probability in just over (t=290000
).

SECTION VII.


CONCLUSIONS

Our results reject many of the common assumptions on light client security.
While light clients may be considered secure against invalid block injections
from adversaries under “common” scenarios, these are optimistic scenarios—with a
short attack window, an honest majority, and no network partitioning. However,
the situation changes drastically as one moves away from these optimistic
assumptions. Even with only modest hashing power, an adversary has a
statistically significant probability of success under partial network
isolation. We also see that if an adversary is able to subvert an existing
mining pool on the Ethereum network, its success probability increases
substantially.

The security of light clients is further eroded when we consider adversaries who
able to manipulate the operating environment of the target node. The adversary
may have access to the device, and even without tampering with the device
itself, it could manipulate its network accessibility or power availability. GSM
and WiFi jammers are relatively easy to obtain and deploy, allowing a malicious
entity the ability to control availability of the network that a client is
connected to. It has already been shown that the security assurances of an
eclipsed light client are severely reduced. Our model (at γ=1 ) confirms that.

We also demonstrate that even without isolating the client, or partitioning the
network, a patient adversary that can mount 1-injection attack can gain
significant success probability if willing to wait (for days or months). The
naive IoT-based lock example from Appendix A-C could be attacked by a patient
adversary—they set up a person on-site who waits for a signal when the attack is
successful, who then dashes over to the lock with a fake key card.

A secure system cannot rely on optimistic situations, and must be secure under
an active adversary. We believe there is a clear need for a formal blockchain
model that would not only consider the adversary’s mining power, but take into
account partitioning and eclipsing scenarios.

For constrained devices our recommendation would be not to use light client
protocols for any devices which are not under trusted human supervision or
interaction, e.g. any off-site or industrial applications in particular. If
interaction with public blockchains is required, we would recommend to look into
ledger-to-ledger bridging approaches [39], or employ a trusted third party to
attest and pin down the blockchain state [34]. For other light clients we see at
k≥12 the time for 1-inject success under somewhat “reasonable but powerful
adversary” assumptions is several hundred block intervals or more. If a human is
in the loop, this delay of several hours would probably raise healthy suspicion.
In general, we believe a light client should choose a k value significantly
larger than for a validating node for the same use case.

It is interesting to note that one might naively assume that a light client is
more secure against eclipse attacks (connecting to only dishonest servers) with
large values of N . However, as N increases the client is more and more likely
to connect to at least one dishonest server. Since the adversary in our model
requires only one connection to dishonest server to be able to complete, this
means that as N increases, in some circumstances the light node becomes
increasingly susceptible to attack.

We identify potential mitigation strategies and areas of further research. The
most pressing mitigation would be to ensure all blockchain-related operations
come with a hard timeout, after which the client should abort the operation and
require retry, or fall back to a safe mode requiring manual (human)
intervention. If this is not feasible, the device could use heuristics to
determine when a partition occurs, and change to a safe operating mode until
normal Ethereum connectivity is restored. We do also recognise that if these
safe mode protocols are not designed correctly they could also become a
potential attack vector.

Ethereum blockchain is not the only applicable blockchain technology, and even
other variants and proposed protocol changes within the “Ethereum family” may
provide different level of security for light clients. For example, a
proof-of-stake mechanism would change the adversarial model significantly and in
our opinion whether a proof-of-stake mechanism would be more or less secure to a
light client is not immediately obvious. We see this also as a potentially
useful area of further research.

While we discuss the threat of 1-inject attacks, further elaboration of the
scenarios with potentially an analysis of existing smart contracts on whether
they can be securely operated by light clients under 1-inject threat model or
not could be beneficial. Similarly, analysing vulnerability of a light client to
2-inject attacks under different operating regiments would potentially allow
identification of secure operating regimes under more complex adversarial light
client interactions.

Finally, the analysis is limited by our assumptions. For example, Ethereum
allows slow changes to the difficulty of the cryptographic puzzle in response to
changes in the network hashing power. This means that a partitioned network will
over time adapt so that it will again reach a similar block interval as the full
network. We do not take this into account. While we believe that this assumption
has very little effect, it is a notable divergence from the Ethereum protocol.
Similarly, we believe that the adversary’s strategy as defined in Section IV-A
is most likely sub-optimal. This does not invalidate our results, but does mean
that our results represent a conservative lower bound on the adversary’s success
probability, and thus also the upper bound for light client security under the
described attack.


ACKNOWLEDGMENT

The authors would like to thank Prof. Colin Boyd for the work he put into a
draft of another earlier article, which eventually lead us to the topic
considered in this article. They also would like to thank Signe-Anita Lindgrén
for her help during the proofreading of the final version.


APPENDIX A EXAMPLES OF ATTACKS AGAINST A LIGHT CLIENT

Without a deep knowledge of Ethereum security model it is not perhaps
immediately obvious what an adversary is able to achieve by injecting a block B~
to the client. This section describes some of the potential types of attacks the
adversary may be able to achieve under different scenarios.

Important: There are many different methods that can be employed at LES clients
to mitigate many of the attacks below either completely, or decrease adversary’s
success probability significantly. These examples are intended only to
demonstrate the mechanisms at an adversary’s disposal if or when they succeed in
injecting an invalid block B~ into a client.

SECTION A.


DOUBLE-SPENDING ATTACK

The classic double-spending attack is based on the idea that an adversary tricks
the target into thinking they have received a payment from the adversary, while
the adversary successfully manages to keep the payment to themselves. In this
scenario we have the adversary as a buyer, and the target as a seller. The two
parties agree on a payment for goods. The buyer generates a transaction for
sending the required amount of cryptocurrency to the seller’s account. The
seller can look at the transaction and verify the amount and recipient, after
which the seller can submit the transaction to the blockchain network (seller
does not have to trust the buyer to submit the transaction). The seller will
first verify that the transaction has been accepted to a mined block, and then
wait for k blocks until handing out the merchandise.

The double-spending attack has been analysed extensively, see for example Karame
et al. [40], and Liao and Katz [41]. In our model the adversary has no need for
incorrect state S~ , as all that is required in the inclusion of the payment to
the adversarial chain, and the ability to present and maintain this incorrect
view, and present it to the buyer. The adversary would submit a conflicting
transaction to the honest network just like in a normal double-spending attack.

Thus, while a double-spending attack is similarly feasible under our model, it
can be performed by the adversary without the need to generate incorrect blocks
B~ if the transaction itself is acceptable to the honest network. If the
transaction is not valid — for example, the payee is missing sufficient funds —
then the method described in this article becomes relevant.

SECTION B.


FAKE WEALTH

Since the state S~ on the adversarial chain does not have to follow normal state
transition rules, the adversary can simply set his or her own account balance to
an arbitrary amount (say, np 1000000 ethers, equivalent to several million USD).
Under normal state transition rules this balance must be traceable through
transactions to either blockchain rewards, or the genesis block wealth, and
cannot be created out of thin air. These constraints do not, of course, apply to
the adversarial state S~ .

Whether just showing off a fake balance to another device is actually useful is,
though, questionable.

SECTION C.


FOOLING AN IOT DEVICE

Let’s assume there’s a lock that is opened by a near-field communication device
(NFC device) utilizing a secure challenge-response protocol. This allows the
lock to securely establish the identity of the NFC device, while an eavesdropper
is unable to clone the identity due to the presence of the challenge-response
protocol.

Each lock is configured to allow only a specific set of identified NFC devices
to open the lock. The set of allowed NFC identifiers is managed by a smart
contract. The smart contract is periodically queried to provide a list of
identifiers that, if demonstrated via NFC protocol, open the lock. The portion
of a smart contract below demonstrates how the owner of the locks sets the
allowed keys, and how the locks retrieve the set of keys that are allowed to
open the lock.7

contract LockManager {

address owner;

mapping (uint => uint[]) public allowedKeys;

…

function setAllowedKeys(

uint lockId,

uint[] memory fobIds)

public

{

require(msg.sender == owner,

“Only owner can modify keys”);

allowedKeys[lockId] = fobIds;

}

function getAllowedKeys(

uint lockId)

public view returns (uint[] memory)

{

return allowedKeys[lockId];

}

…

}

The underlying assumption is that since the smart contract is secure, the set of
allowed keys can only be changed by the contract owner. Thus, assuming the
owner’s secret key is secure, in Ethereum, any party using the method
getAllowedKeys is guaranteed to retrieve only the values as set by the owner. No
other party is able to generate a transaction that would be accepted by
setAllowedKeys. Since the honest blockchain consists only of blocks that pass
the both Vh and Vs validations, the security of the contract and its data are
presumed.

However, a lock relying on LES protocol can be fooled into accepting a key u~
(“unlocker”) not part of the set of allowed keys Ul for the specific lock l .
This can be accomplished by two different ways if the adversary is able to fool
the lock to accepting an invalid block B~ as a valid representation of the smart
contract state.

The first mechanism is to modify the smart contract’s storage, where values of
all of the smart contract’s variables are stored. The adversary can determine
the location of the allowedKeys mapping in the storage, and calculate the
storage location of the key array for lock l . Thus, the adversary is able to
generate a block B~n where the state of correct execution S~n=π~(Sn−1,T) differs
from the “correct” Sn only by having u~∈U~l in S~n (and thus, in B~n accepted by
the lock), while in the “correct” smart contract state u~∉Ul . Thus, when later
the lock updates its set of allowed keys, it will retrieve block B~ , verify its
Vh validity, and retrieve U~l . At this point is it trivial for the adversary to
use its own key u~ to open the lock.

The second mechanism does not need to alter the smart contract storage at
all—instead it will simply overwrite the whole smart contract (this is possible
in Ethereum because the smart contract address, while unique and permanent, does
not authenticate the smart contract code). In short, the adversary changes the
smart contract’s code to one which always returns the adversary’s key:

contract LockManager {

function getAllowedKeys(

uint /*unused lockId*/)

public view returns (uint[] memory)

{

uint256[] memory keys =; new uint256[](1);

keys[{0}] =; <adversary’s key id>;

return keys;

}

…

}

The smart contract code is referenced via its account data, which in turn
contains hash of the smart contract bytecode (called codeHash). In the Ethereum
model a smart contract’s code is immutable—under correct Π transition rules
there is no valid execution that changes an account’s codeHash. The actual
bytecode M is referenced by its hash hash(M) , meaning that under honest network
assumption the client is able to verify the correctness of the retrieved
contract code by hashing it and comparing to the account’s codeHash value.
However, the adversary is able to modify the smart contract account, and change
the codeHash value to hash(M~) value with M~ being, for example, the version of
the code always returning adversary’s own key identifier.


APPENDIX B GENERATING THE Q MATRIX

We are using generator matrices —matrices as parts of matrices—to help structure
the Q matrix construction. The use of generator matrices allows us to describe
each phase of the Markov process as a “single” row of backward, local, and
forward matrices for the phase. These “meta-rows” are not uniform in size, and
depend on parameters of the model.

SECTION A.


GENERAL CONSTRUCTION

Section V-B describes the Markov process for the adversarial, non-captive model,
and its transition matrix Q, where a Q2 matrix for the non-captive model was
given as an example. While the matrix may look daunting at first, here we show
that it has a recurring structure thanks to the phase-type construction. The use
of generator matrices has been described in the literature, for example, by
Harchol-Balter [42]. We employ this technique to describe a generic generator
structure for any Qk :
Qk=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢L0B1⋱Bh⋱Bk+1F0L1⋱Lh⋱Lk+1F1⋱Fh⋱⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥(7)
View Source\begin{align*} \mathbf {Q_{k}}= \begin{bmatrix} \mathbf {L_{0}} &
\quad \mathbf {F_{0}} \\ \mathbf {B_{1}} & \quad \mathbf {L_{1}} & \quad \mathbf
{F_{1}} \\ {\ddots }& \quad \ddots & \quad \ddots \\ { \mathbf {B_{h}} }& \quad
\mathbf {L_{h}}& \quad \mathbf {F_{h}}\\ {\ddots }& \quad \ddots & \quad \ddots
\\ { \mathbf {B_{k+1}} }& \quad \mathbf {L_{k+1}}\\
\end{bmatrix}\tag{7}\end{align*}

Each phase of the model is described by a single generator row in the above
matrix. All the elements in the Q matrix G , L , and F are themselves matrices
of varying size (m×n ). We refer to these are the backward generator, the local
generator, and the forward generator matrix respectively. The number of states
m(h,k) for each phase h is dependent on the depth parameter k for h∈{0,…,k} for
of a non-captive model portion can expressed as a recurrence relation (see also
Fig. 12):
m(0,k)=m(h,k)=1k+hh≤k.(8)(9)
View Source\begin{align*} m(0,k)=&1 \tag{8}\\ m(h,k)=&k+h\quad h\le
k.\tag{9}\end{align*}

FIGURE 11.

Generic description of the non-captive Markov process. The black circle
represents the first B~ block mined by the adversary, and red circles represent
states where the adversary is able to inject invalid state to the client (e.g.
succeeds). There are an infinite number of success states in non-captive model,
which can be modeled as a simple birth-death process.

Show All

FIGURE 12.

The captive process is similar to the non-captive model except for success
states, which are replaced with a single (k+1,≥1) state that has no outbound μ
-transitions. The captive model is always finite in size. Note that for k=1 the
regular rectangular shape of the ΔW≤0 states breaks—to see how this is left as
an intellectual exercise for the reader.

Show All



Since the value of ΔW can grow without bounds, the size of the Lk+1 matrix is
theoretically infinite, although in practice it is truncated at some point. We
define the truncation length of the ΔW>k+2 portion as b and use it to define m
at phase k+1 :
m(k+1,k)→mb(k+1,k)=∞2k+b+1.(10)(11)
View Source\begin{align*} m(k+1,k)\to&\infty \tag{10}\\
m_{b}(k+1,k)=&2k+b+1.\tag{11}\end{align*}

The captive model mc(h,k) is slightly different on the h=k+1 phase (there is a
corner case for k=1 with only one state on h=k+1 phase instead of two states one
might expect):
mc(h,k)=mc(2,1)=mc(k+1,k)=m(h,k)h<k+11k+1k≠1.(12)(13)(14)
View Source\begin{align*} m^{c}(h,k)=&m(h,k)\quad h < k+1\tag{12}\\
m^{c}(2,1)=&1\tag{13}\\ m^{c}(k+1,k)=&k+1\quad k\ne 1.\tag{14}\end{align*}

We define the total number of states are Mb(k)=∑m(h,k) and Mc(k)=∑mc(h,k) as the
total number of core states for the two models:
Mb(k)=Mc(1)=Mc(k)=3/2k2+5/2k+b+243/2k2+2/2k+2k≠1.(15)(16)(17)
View Source\begin{align*} M_{b}(k)=&{3}/{2} k^{2}+{5}/{2} k+b+2 \tag{15}\\
M^{c}(1) =&4\tag{16}\\ M^{c}(k)=&{3}/{2} k^{2}+{2}/{2} k+2 \quad k\ne
1.\tag{17}\end{align*}

SECTION B.


CORE BACKWARD MATRIX

The number of columns nB in the backward generator matrix Bh for non-captive
models can be expressed as recurrence relation where each phase’s backward
generator matrix is the same width as previous phase’s one plus the number of
columns in the local generator matrix nL of previous phase:
nB(0,k)=nB(h,k)=0nB(h−1,k)+nL(h−1,k)h≤k+1.(18)(19)
View Source\begin{align*} n_{B}(0,k)=&0\tag{18}\\
n_{B}(h,k)=&n_{B}(h-1,k)+n_{L}(h-1,k)\quad h\le k+1.\tag{19}\end{align*}

For the captive model the number of backward generator matrix columns ncB is
almost identical, apart from the lack of birth-death process phase:
ncB(h,k)=nB(h,k)h≤k+1.(20)
View Source\begin{equation*} n^{c}_{B}(h,k) = n_{B}(h,k)\quad h\le
k+1.\tag{20}\end{equation*}

The backward matrix Bh , size m(h,k)×nB(h,k) , has only a single transition to
the first state always from the leftmost e.g. first state in the phase for all
core phases. That is, the backward transition is always to the first phase—state
1.
B0=Bh=[]⎡⎣⎢⎢μ0⋮00⋮⋯⋯⋱⎤⎦⎥⎥0<h≤k+1(21)(22)
View Source\begin{align*} \mathbf {B}_{0}=&\left [{}\right]\tag{21}\\ \mathbf
{B}_{h}=&\begin{bmatrix} \mu & \quad 0 & \quad \cdots \\ 0 & \quad 0 & \quad
\cdots \\ \vdots & \quad \vdots & \quad \ddots \\ \end{bmatrix}\quad 0 < h\le
k+1\tag{22}\end{align*}

The captive model backward generator matrix is same as non-captive model’s.
Bch=Bh(23)
View Source\begin{equation*} \mathbf {B}^{c}_{h} = \mathbf
{B}_{h}\tag{23}\end{equation*}

SECTION C.


LOCAL MATRIX

The size of a local matrix for both non-captive nL(h,k) and captive ncL(h,k) is
always the same, e.g. the number of states in the phase:
nL(h,k)=ncL(h,k)=m(h,k)mc(h,k)(24)(25)
View Source\begin{align*} n_{L}(h,k)=&m(h,k)\tag{24}\\
n^{c}_{L}(h,k)=&m^{c}(h,k)\tag{25}\end{align*}

For non-captive model in all phases 0<h<k+1 , the local generator matrix is
always similar with μ -transitions moving to the previous state in the same
phase, and the diagonal being balanced with the λ -transition in the forward
matrix:
L0=Lh=[−λ]⎡⎣⎢⎢⎢⎢⎢−λ−μμ0⋮0−λ−μμ⋱⋯0−λ−μ⋱⋯⋯⋯⋱⎤⎦⎥⎥⎥⎥⎥0<h<k+1(26)(27)
View Source\begin{align*} \mathbf {L}_{0}=&\begin{bmatrix} -\lambda
\end{bmatrix}\tag{26}\\ \mathbf {L}_{h}=&\begin{bmatrix} -\lambda -\mu & \quad 0
& \quad \cdots & \quad \cdots \\ \mu & \quad -\lambda -\mu & \quad 0 & \quad
\cdots \\ 0 & \quad \mu & \quad -\lambda -\mu & \quad \cdots \\ \vdots & \quad
\ddots & \quad \ddots & \quad \ddots \end{bmatrix}\quad 0 < h < k+1
\\{}\tag{27}\end{align*}

While the first row may appear to be unbalanced, it has a reset μ -transition
that is part of the backward generator matrix Bh .

Since the k+1 phase contains the birth-death process from ΔW>k+2 onwards, the
local generator matrix for it will also have λ -transitions most of the time:
L∗k+1=⎡⎣⎢⎢⎢⎢⎢−λ−μμ0⋮λ−λ−μμ⋱0λ−λ−μ⋱⋯0λ⋱⋯⋯0⋱⋯⋯⋯⋱⎤⎦⎥⎥⎥⎥⎥(28)
View Source\begin{align*} \mathbf {L}^{*}_{k+1} = \begin{bmatrix} -\lambda -\mu
& \quad \lambda & \quad 0 & \quad \cdots & \quad \cdots & \quad \cdots \\ \mu &
\quad -\lambda -\mu & \quad \lambda & \quad 0 & \quad \cdots & \quad \cdots \\ 0
& \quad \mu & \quad -\lambda -\mu & \quad \lambda & \quad 0& \quad \cdots \\
\vdots & \quad \ddots & \quad \ddots & \quad \ddots & \quad \ddots & \quad
\ddots \end{bmatrix} \\{}\tag{28}\end{align*}

If b→∞ this does not stop, but if b is finite then at some point the last state
cannot have a λ transition and needs to be balanced:
Lk+1=⎡⎣⎢⎢−λ−μ⋮⋯λ⋱⋯⋯⋱⋯⋯⋱μ⋯⋱−μ⎤⎦⎥⎥(29)
View Source\begin{align*} \mathbf {L}_{k+1} = \begin{bmatrix} -\lambda -\mu &
\quad \lambda & \quad \cdots & \quad \cdots & \quad \cdots \\ \vdots & \quad
\ddots & \quad \ddots & \quad \ddots & \quad \ddots \\ \cdots & \quad \cdots &
\quad \cdots & \quad \mu & \quad -\mu \end{bmatrix}\tag{29}\end{align*}

For the captive model, the local generator matrix is identical except for k+1
phase where the very last state has no transitions (it is absorbing state).
Lch=Lck+1=Lhh≤k⎡⎣⎢⎢−λ−μ⋮0λ⋱⋯⋯⋱⋯⋯⋱⋯⋯⋱0⎤⎦⎥⎥(30)(31)
View Source\begin{align*} \mathbf {L}^{c}_{h}=&\mathbf {L}_{h} \quad h\le
k\tag{30}\\ \mathbf {L}^{c}_{k+1}=&\begin{bmatrix} -\lambda -\mu & \lambda &
\quad \cdots & \quad \cdots & \quad \cdots \\ \vdots & \quad \ddots & \quad
\ddots & \quad \ddots & \quad \ddots \\ 0 & \quad \cdots & \quad \cdots & \cdots
& 0 \end{bmatrix}\tag{31}\end{align*}

SECTION D.


FORWARD MATRIX

The size of the forward generator matrix depends on the number of states in the
next phase.
nF(h,k)=nF(k+1,k)=nF(k+2,k)=ncF(h,k)=ncF(k,k)=ncF(k+1,k)=nL(h+1,k)h<k+1b0nF(h,k)h<kmcL(k+1,k)0.(32)(33)(34)(35)(36)(37)
View Source\begin{align*} n_{F}(h,k)=&n_{L}(h+1,k)\quad h < k+1\tag{32}\\
n_{F}(k+1,k)=&b\tag{33}\\ n_{F}(k+2,k)=&0\tag{34}\\
n^{c}_{F}(h,k)=&n_{F}(h,k)\quad h < k\tag{35}\\
n^{c}_{F}(k,k)=&m^{c}_{L}(k+1,k)\tag{36}\\
n^{c}_{F}(k+1,k)=&0.\tag{37}\end{align*}

The generator matrix is easiest to describe consisting of a zero matrix, and a
diagonal λ matrix:
Fh=[0m(h,k),nL(h+1,k)−nL(h,k)λIm(h,k)]h≤k(38)
View Source\begin{equation*} \mathbf {F}_{h} = \begin{bmatrix} \mathbf
{0}_{m(h,k),n_{L}(h+1,k)-n_{L}(h,k)} &\quad \lambda \mathbf {I}_{m(h,k)}
\end{bmatrix}\quad h\le k\tag{38}\end{equation*} or put more descriptively,
F0=Fh=[0⋯λ]⎡⎣⎢⎢⎢⎢⎢00⋮⋯λ0⋱⋯0λ⋱⋅⋯0⋱⋯⋯⋯⋮λ⎤⎦⎥⎥⎥⎥⎥0<h≤k(39)(40)
View Source\begin{align*} \mathbf {F}_{0}=&\begin{bmatrix} 0\cdots \lambda
\end{bmatrix}\tag{39}\\ \mathbf {F}_{h}=&\begin{bmatrix} 0 & \quad \lambda &
\quad 0 & \quad \cdots & \quad \cdots \\ 0 & \quad 0 & \quad \lambda & \quad 0 &
\quad \cdots \\ \vdots & \quad \ddots & \quad \ddots & \quad \ddots & \quad
\vdots \\ \cdots & \quad \cdots & \quad \cdot & \quad \cdots & \quad \lambda
\end{bmatrix}\quad 0 < h\le k\tag{40}\end{align*}

For the captive model the forward generator matrix is similar up to the
previous-to-last phase which needs to transition either to the non-absorbing
state (if the target state has ΔW≤0 ), or to the sole absorbing state otherwise.
Fch=Fck=Fhh<k⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢0⋮⋮⋮0λ⋱⋱⋱⋯⋯λ⋱⋱⋯⋯⋯λ⋮λ⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥(41)(42)
View Source\begin{align*} \mathbf {F}^{c}_{h}=&\mathbf {F}_{h}\quad h <
k\tag{41}\\ \mathbf {F}^{c}_{k}=&\begin{bmatrix} 0 & \quad \lambda & \quad
\cdots & \quad \cdots \\ \vdots & \quad \ddots & \quad \lambda & \quad \cdots \\
\vdots & \quad \ddots & \quad \ddots & \quad \lambda \\ \vdots & \quad \ddots &
\quad \ddots & \quad \vdots \\ 0 & \quad \cdots & \quad \cdots & \quad \lambda
\\ \end{bmatrix}\tag{42}\end{align*}

Neither non-captive or captive model have further phases than k+1 , and
consequently there is no forward matrix for phase k+1 .

 * 
 * 

 * 

Authors

Figures

References

Citations

Keywords

Metrics

Footnotes


More Like This
Modeling Perfect and Minimal Rejuvenation for Client Server Systems with
Heterogeneous Load

2008 14th IEEE Pacific Rim International Symposium on Dependable Computing

Published: 2008

Empirical Test Observations in Client-Server Systems

Computer

Published: 2007

Show More



REFERENCES

1.G. Wood, "Ethereum: A secure decentralised generalised transaction ledger",
Ethereum Project Yellow Paper, vol. 151, pp. 1-32, Apr. 2014.
Show in Context Google Scholar
2.S. Nakamoto, Bitcoin: A Peer-To-Peer Electronic Cash System, 2008, [online]
Available: https://bitcoin.org/bitcoin.pdf.
Show in Context Google Scholar
3.Z. Ren and Z. Erkin, "VAPOR: A value-centric blockchain that is scale-out
decentralized and flexible by design" in Financial Cryptography and Data
Security. FC, Cham, Switzerland:Springer, vol. 11598, pp. 487-507, 2019,
[online] Available:
https://link.springer.com/chapter/10.1007/978-3-030-32101-7_29.
Show in Context CrossRef Google Scholar
4.A. Schoedon, The Ethereum-Blockchain Size Will not Exceed 1TB Anytime Soon,
Nov. 2017, [online] Available:
https://dev.to/5chdn/the-ethereum-blockchain-size-will-not-exceed-1tb-anytime-soon-58a.
Show in Context Google Scholar
5.Light Ethereum Subprotocol (LES), May 2019, [online] Available:
https://github.com/ethereum/devp2p/blob/master/caps/les.md.
Show in Context Google Scholar
6.M. J. Levy, The Deep-Dive Into How Verizon and a BGP Optimizer Knocked Large
Parts of the Internet Offline Monday, Jun. 2019, [online] Available:
https://blog.cloudflare.com/the-deep-dive-into-how-verizon-and-a-bgp-optimizer-knocked-large-parts-of-the-internet-offline-monday/.
Show in Context Google Scholar
7.Evidence of Internet Disruptions in Russia During Moscow Opposition Protests,
Aug. 2019, [online] Available:
https://netblocks.org/reports/evidence-of-internet-disruptions-in-russia-during-moscow-opposition-protests-XADErzBg.
Show in Context Google Scholar
8.C. Hogg, China Restores Xinjiang Internet, May 2010, [online] Available:
http://news.bbc.co.uk/2/hi/asia-pacific/8682145.stm.
Show in Context Google Scholar
9.V. Gramoli, "From blockchain consensus back to Byzantine consensus", Future
Gener. Comput. Syst., vol. 107, pp. 760-769, Jun. 2020.
Show in Context CrossRef Google Scholar
10.C. Natoli and V. Gramoli, "The balance attack or why forkable blockchains are
ill-suited for consortium", Proc. 47th Annu. IEEE/IFIP Int. Conf. Dependable
Syst. Netw. (DSN), pp. 579-590, Jun. 2017.
Show in Context View Article Full Text: PDF (1080KB) Google Scholar
11.M. Al-Bassam, A. Sonnino and V. Buterin, "Fraud and data availability proofs:
Maximising light client security and scaling blockchains with dishonest
majorities", arXiv:1809.09044, 2018, [online] Available:
http://arxiv.org/abs/1809.09044.
Show in Context Google Scholar
12.O. Leiba, Y. Yitzchak, R. Bitton, A. Nadler and A. Shabtai, "Incentivized
delivery network of IoT software updates based on trustless
proof-of-distribution", Proc. IEEE Eur. Symp. Secur. Privacy Workshops
(EuroS&PW), pp. 29-39, Apr. 2018.
Show in Context View Article Full Text: PDF (367KB) Google Scholar
13.L. da Costa, A. Neto, B. Pinheiro, W. Cordeiro, R. Araújo and A. Abelém,
"Securing light clients in blockchain with DLCP", Int. J. Netw. Manage., vol.
29, pp. e2055, 2019.
Show in Context CrossRef Google Scholar
14.P. Danzi, A. E. Kalor, C. Stefanovic and P. Popovski, "Delay and
communication tradeoffs for blockchain systems with lightweight IoT clients",
IEEE Internet Things J., vol. 6, no. 2, pp. 2354-2365, Apr. 2019.
Show in Context View Article Full Text: PDF (1668KB) Google Scholar
15.A. Palai, M. Vora and A. Shah, "Empowering light nodes in blockchains with
block summarization", Proc. 9th IFIP Int. Conf. New Technol. Mobility Secur.
(NTMS), pp. 1-5, Feb. 2018.
Show in Context View Article Full Text: PDF (236KB) Google Scholar
16.N. Alexopoulos, S. M. Habib and M. Mühlhäuser, "Towards secure distributed
trust management on a global scale: An analytical approach for applying
distributed ledgers for authorization in the IoT", Proc. Workshop IoT Secur.
Privacy (IoT S&P), pp. 49-54, 2018.
Show in Context Google Scholar
17.I. Eyal and E. G. Sirer, "Majority is not enough: Bitcoin mining is
vulnerable" in Financial Cryptography and Data Security, Berlin,
Germany:Springer, pp. 436-454, 2014.
Show in Context CrossRef Google Scholar
18.K. Nayak, S. Kumar, A. Miller and E. Shi, "Stubborn mining: Generalizing
selfish mining and combining with an eclipse attack", Proc. IEEE Eur. Symp.
Secur. Privacy (EuroS&P), pp. 305-320, Mar. 2016.
Show in Context View Article Full Text: PDF (1721KB) Google Scholar
19.A. Sapirshtein, Y. Sompolinsky and A. Zohar, "Optimal selfish mining
strategies in bitcoin" in Financial Cryptography and Data Security, Springer,
pp. 515-532, 2016.
Show in Context Google Scholar
20.A. Gervais, G. O. Karame, K. Wüst, V. Glykantzis, H. Ritzdorf and S. Capkun,
"On the security and performance of proof of work blockchains", Proc. ACM SIGSAC
Conf. Comput. Commun. Secur., pp. 3-16, Oct. 2016.
Show in Context Google Scholar
21.M. Saad, J. Spaulding, L. Njilla, C. A. Kamhoua, D. Nyang and A. Mohaisen,
"Overview of attack surfaces in blockchain" in Blockchain for Distributed
Systems Security, Hoboken, NJ, USA:Wiley, pp. 51-66, 2019, [online] Available:
https://onlinelibrary.wiley.com/doi/pdf/10.1002/9781119519621.
Show in Context CrossRef Google Scholar
22.J. Joshi and R. Mathew, "A survey on attacks of bitcoin", Proc. Int. Conf.
Comput. Netw. Big Data IoT (ICCBI), pp. 953-959, 2020.
Show in Context CrossRef Google Scholar
23.E. Heilman, A. Kendler, A. Zohar and S. Goldberg, "Eclipse attacks on
bitcoin’s peer-to-peer network", Proc. USENIX Secur. Symp., pp. 129-144, 2015.
Show in Context Google Scholar
24.Y. Marcus, E. Heilman and S. Goldberg, "Low-resource eclipse attacks on
Ethereum’s peer-to-peer network", Proc. IACR Cryptol. ePrint Arch., vol. 2018,
no. 236, pp. 1-15, 2018.
Show in Context Google Scholar
25.A. E. Yves-Christian, B. Hammi, A. Serhrouchni and H. Labiod, "Total eclipse:
How to completely isolate a bitcoin peer", Proc. 3rd Int. Conf. Secur. Smart
Cities Ind. Control Syst. Commun. (SSIC), pp. 1-7, Oct. 2018.
Show in Context View Article Full Text: PDF (2017KB) Google Scholar
26.A. Kiayias, A. Miller and D. Zindros, "Non-interactive proofs of
proof-of-work", 2017, [online] Available: http://eprint.iacr.org/2017/963.
Show in Context Google Scholar
27.B. Bünz, L. Kiffer, L. Luu and M. Zamani, "Flyclient: Super-light clients for
cryptocurrencies", 2019, [online] Available: http://eprint.iacr.org/2019/226.
Show in Context Google Scholar
28.P. Danzi, A. E. Kalor, C. Stefanovic and P. Popovski, "Repeat-authenticate
scheme for multicasting of blockchain information in IoT systems", Proc. IEEE
Globecom Workshops (GC Wkshps), pp. 1-7, Dec. 2019.
Show in Context View Article Full Text: PDF (802KB) Google Scholar
29.M. Pustišek, A. Umek and A. Kos, "Approaching the communication constraints
of Ethereum-based decentralized applications", Sensors, vol. 19, no. 11, pp.
2647, 2019.
Show in Context CrossRef Google Scholar
30.A. Amoordon and H. Rocha, "Presenting tendermint: Idiosyncrasies weaknesses
and good practices", Proc. IEEE Int. Workshop Blockchain Oriented Softw. Eng.
(IWBOSE), pp. 44-49, Feb. 2019.
Show in Context View Article Full Text: PDF (179KB) Google Scholar
31.R. Blum and T. Bocek, "Superlight–a permissionless light-client only
blockchain with self-contained proofs and BLS signatures", Proc. IFIP IEEE Symp.
Integr. Netw. Service Manage., pp. 36-41, Apr. 2019.
Show in Context Google Scholar
32.V. A. Siris, P. Nikander, S. Voulgaris, N. Fotiou, D. Lagutin and G. C.
Polyzos, "Interledger approaches", IEEE Access, vol. 7, pp. 89948-89966, 2019.
Show in Context View Article Full Text: PDF (6882KB) Google Scholar
33.D. Gruber, W. Li and G. Karame, "Unifying lightweight blockchain client
implementations", Proc. Workshop Decentralized IoT Secur. Standards, pp. 1-8,
2018.
Show in Context CrossRef Google Scholar
34.S. Paavolainen and P. Nikander, "Decentralized beacons: Attesting the ground
truth of blockchain state for constrained IoT devices", Proc. Global IoT Summit
(GIoTS), pp. 1-6, Jun. 2019.
Show in Context View Article Full Text: PDF (858KB) Google Scholar
35.E. Hildenbrandt, M. Saxena, X. Zhu, N. Rodrigues, P. Daian, D. Guth, et al.,
KEVM: A Complete Semantics of the Ethereum Virtual Machine, Aug. 2017, [online]
Available: https://www.ideals.illinois.edu/handle/2142/97207.
Show in Context Google Scholar
36.Y. Sompolinsky and A. Zohar, "Bitcoin’s security model revisited",
arXiv:1605.09193, 2016, [online] Available: http://arxiv.org/abs/1605.09193.
Show in Context Google Scholar
37.N. Carter, It’s the Settlement Assurances Stupid, Aug. 2019, [online]
Available:
https://medium.com/nic__carter/its-the-settlement-assurances-stupid-5dcd1c3f4e41.
Show in Context Google Scholar
38.Cryptocurrency Deposit Processing Times, Nov. 2019, [online] Available:
http://support.kraken.com/hc/en-us/articles/203325283-Cryptocurrency-deposit-processing-times.
Show in Context Google Scholar
39.P. Nikander, J. Autiosalo and S. Paavolainen, "Interledger for the industrial
Internet of Things", Proc. IEEE 17th Int. Conf. Ind. Informat. (INDIN), vol. 1,
pp. 908-915, Jul. 2019.
Show in Context View Article Full Text: PDF (1425KB) Google Scholar
40.G. O. Karame, E. Androulaki and S. Capkun, "Double-spending fast payments in
bitcoin", Proc. ACM Conf. Comput. Commun. Secur. (CCS), pp. 906-917, 2012.
Google Scholar
41.K. Liao and J. Katz, "Incentivizing blockchain forks via whale transactions"
in Financial Cryptography and Data Security, Cham, Switzerland:Springer, pp.
264-279, 2017, [online] Available:
https://link.springer.com/chapter/10.1007%2F978-3-319-70278-0_17.
CrossRef Google Scholar
42.M. Harchol-Balter, Performance Modeling and Design of Computer Systems:
Queueing Theory in Action, Cambridge, U.K.:Cambridge Univ. Press, 2013.
Google Scholar


IEEE PERSONAL ACCOUNT

 * Change username/password


PURCHASE DETAILS

 * Payment Options
 * View Purchased Documents


PROFILE INFORMATION

 * Communications Preferences
 * Profession and Education
 * Technical interests


NEED HELP?

 * US & Canada: +1 800 678 4333
 * Worldwide: +1 732 981 0060
 * Contact & Support


FOLLOW

 * 
 * 
 * 

About IEEE Xplore | Contact Us | Help | Accessibility | Terms of Use |
Nondiscrimination Policy | IEEE Ethics Reporting | Sitemap | Privacy & Opting
Out of Cookies

A not-for-profit organization, IEEE is the world's largest technical
professional organization dedicated to advancing technology for the benefit of
humanity.

© Copyright 2022 IEEE - All rights reserved.


IEEE ACCOUNT

 * Change Username/Password
 * Update Address


PURCHASE DETAILS

 * Payment Options
 * Order History
 * View Purchased Documents


PROFILE INFORMATION

 * Communications Preferences
 * Profession and Education
 * Technical Interests


NEED HELP?

 * US & Canada: +1 800 678 4333
 * Worldwide: +1 732 981 0060
   
 * Contact & Support

 * About IEEE Xplore
 * Contact Us
 * Help
 * Accessibility
 * Terms of Use
 * Nondiscrimination Policy
 * Sitemap
 * Privacy & Opting Out of Cookies

A not-for-profit organization, IEEE is the world's largest technical
professional organization dedicated to advancing technology for the benefit of
humanity.
© Copyright 2022 IEEE - All rights reserved. Use of this web site signifies your
agreement to the terms and conditions.