Kadcast: a Structured Approach to Broadcast in Blockchain Networks

Kadcast: a Structured Approach to Broadcast in Blockchain Networks

Kadcast: A Structured Approach to Broadcast in Blockchain Networks Elias Rohrer Florian Tschorsch [email protected] [email protected] Technical University of Berlin Technical University of Berlin Berlin, Germany Berlin, Germany ABSTRACT even further from the Nakamoto consensus [12, 20, 49]. Further- In order to propagate transactions and blocks, today’s blockchain more, it has been shown that the block propagation delay has severe systems rely on unstructured peer-to-peer overlay networks. In eects on the consistency of blockchain networks, leading to higher such networks, broadcast is known to be an inecient operation rates of stale blocks and blockchain forks [27]. As this opens oppor- in terms of message complexity and overhead. In addition to the tunities for fraud [15, 50], alleviating the network-layer deciencies impact on the system performance, inecient or delayed block is not only a matter of performance, but also a pressing issue of propagation may have severe consequences regarding security and fairness and security. While it has been shown that unsolicited block fairness of the consensus layer. Therefore, we introduce Kadcast, propagation has the largest impact on the stale block rate [27], it a novel peer-to-peer protocol for block propagation in blockchain leads to ooding the network with block data, which the network networks. Kadcast utilizes the well-known structured overlay topol- architectures currently deployed in the blockchain landscape can- ogy of Kademlia to realize an ecient broadcast operation with not handle. The emergence of third-party relay networks [25, 35] tunable overhead. As our protocol is based on UDP, we incorporate emphasize the need for an improved propagation mechanism. We forward error correction (FEC) to increase reliability while still however consider them orthogonal to our work, because they do maintaining its lightweight protocol architecture. To this end, we not address the inherent shortcomings of blockchain networks. build a probabilistic model to analyze Kadcast’s resilience to packet In this paper, we present Kadcast, a new broadcast overlay for losses as well as random and adversarial node failures. Moreover, we blockchain networks, based on the Kademlia [40] architecture. Kad- evaluate Kadcast’s block delivery performance, broadcast reliability, cast allows for a more ecient broadcast operation with tunable eciency, and security based on advanced network simulations, redundancy and overhead. To this end, we exploit the structured which conrm the merits of the Kadcast protocol. overlay topology to delegate broadcast responsibilities for subtrees with decreasing height. By combining redundant execution of our algorithm with forward error correction (FEC), we achieve a high degree of reliability and resilience in the face of packet loss, as 1 INTRODUCTION well as random and adversarial node failures. Kadcast is design- Bitcoin [42] fundamentally challenged the role of banks by enabling compatible with many open and decentralized blockchain systems. decentralized money transfer on the Internet. It builds upon a peer- Our evaluation shows that Kadcast distributes blocks on average to-peer network to implement an electronic cash system, where 30 % faster than the currently deployed blockchain protocols in nodes can interact directly without intermediaries. Following its a Bitcoin-like scenario, and even faster under an Ethereum-like genesis in 2008, a high number of blockchain networks emerged. parametrization with smaller block intervals and block sizes. Kad- In these systems, nodes may issue transactions by broadcasting cast increases the eciency of block propagation, making room to them in the overlay network. Validator nodes collect and verify introduce additional features such as unsolicited block push. The transactions and periodically consolidate them into blocks, which simulations indicate that Kadcast achieves similar, often better, se- are appended to a replicated, immutable ledger—the blockchain. curity results in terms of the stale block rate, in particular for the Blocks are broadcast in the network as well, which gives every Ethereum-like case. node the capability to verify correctness locally. That is, nodes run Our key contributions can be summarized as follows: (1) We a distributed agreement protocol to enable state replication. design an ecient broadcast protocol for blockchain networks, Broadcast is accordingly the most commonly used network op- which exploits Kademlia’s structured architecture. (2) We introduce eration in blockchain networks. However, current implementations parallelization and FEC to improve the reliability and resilience are typically based on unstructured overlay networks, which is of our algorithm in a completely adjustable and predictable way. not necessarily favorable for this kind of operation: while being (3) We discuss attack vectors, provide mitigation strategies against relatively robust, broadcast in unstructured overlays suers from Sybil and Eclipse attacks, and analyze the network’s resilience to high message overhead, as duplicates are introduced to the system. adversarial nodes obstructing block delivery. (4) We conducted a To reduce the load, many networks spread block messages only by comprehensive simulation study and evaluated the performance, gossiping to a subset of neighbors, which in turn might introduce reliability, eciency, and security of Kadcast in comparison to additional propagation delays. “VanillaCast”, a paradigmatic blockchain protocol, which general- To date, the scalability of blockchain protocols is a huge concern, izes the currently prevalent networking layer of blockchains. To and the ineciency of the utilized network protocols is a limiting this end, we developed a new simulation framework for blockchain factor for innovations striving for higher transaction rates, such as increased limits for block sizes, block rates, or changes that depart networks, bns, which focuses on networking aspects, and which Required we make accessible to the research community. Superous The remainder of this paper is structured as follows. First, we describe primitives of information dissemination currently found in the blockchain landscape and introduce the VanillaCoin mod- el in Section 2. In Section 3, we introduce Kadcast, including its overlay construction, block propagation algorithm, and adjustable reliability factors. Subsequently, we analyze Kadcast’s security and discuss various threats and mitigation strategies in Section 4. We present our simulation model and evaluation results in Section 5. In Section 6, we discuss related work and emphasize the novelty of Figure 1: Example broadcast in an unstructured overlay. our approach, before we conclude the paper in Section 7. 2 BLOCKCHAIN NETWORKS consistent in the partial synchronous network model [26, 33, 34, 45], In this section, we portray the workings of blockchain systems in i.e., under the assumption that blocks are delivered to all nodes in a generalized form. To this end, we rst introduce a straw man a timely fashion (with regard to an upper bound). blockchain design and then discuss the information dissemination The resulting VanillaCoin blocks are of a certain block size and method most prevalent in current blockchain networks. are issued at a rate roughly following a certain block interval. These parameters are especially interesting from a networking perspec- 2.1 VanillaCoin: A Paradigmatic Blockchain tive, since they not only determine the transaction throughput of For the sake of clarity, we introduce a prototypical blockchain the system, but also the bandwidth limit the networking layer has protocol, VanillaCoin, that mirrors the quintessential operations to be able to handle, which is known to be a bottleneck in scaling of current blockchain systems. This allows us to describe how blockchain systems [12]. blockchain networks generally function, while abstracting from To summarize, the VanillaCoin protocol combines the concept of the particularities of specic implementations. distributed state machine replication with a consensus mechanism The central purpose of VanillaCoin is to keep track of the current to implement a byzantine fault tolerant agreement protocol. state of accounts, which are bound to cryptographic key pairs. Entities that are in possession of this key material function as 2.2 Information Dissemination in Blockchain account owners and are able to issue publicly veriable transactions, Networks i.e., transitions in the account state. Note that this is independent As we have seen, VanillaCoin mimics the typical blockchain op- of the nature of the managed state: it can solely consist of a simple erations, and as these systems, VanillaCoin heavily relies on the (nancial) account balance, as for example in Bitcoin, or hold more networking layer for transaction and block propagation. In partic- complex data, as in Ethereum. Moreover, we do not specify how the ular, it requires an ecient broadcast operation, since most data account owners come to possession of the required key materials, items are typically transferred to all participants in the network. as the VanillaCoin model aims to capture open blockchain networks In the following, we give a blueprint of VanillaCoin’s networking as well as networks with restricted access, i.e., so-called private layer, VanillaCast, which again abstracts from the specics of each blockchains. That is, the owners might be able to simply create new individual blockchain system. However,

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    14 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us