173 research outputs found
Brief Announcement: Ordered Reliable Broadcast and Fast Ordered Byzantine Consensus for Cryptocurrency
The problem of transaction reordering in blockchains, also known as the blockchain anomaly [Christopher Natoli and Vincent Gramoli, 2016], can lead to fairness limitations [Kelkar et al., 2020] and front-running activities [Philip Daian et al., 2020] in cryptocurrency. To cope with this problem despite f < n/3 byzantine processes, Zhang et al. [Zhang et al., 2020] have introduced the ordering linearizability property ensuring that if two transactions or commands are perceived by all correct processes in the same order, then they are executed in this order. They proposed a generic distributed protocol that first orders commands and then runs a leader-based consensus protocol to agree on these orders, hence requiring at least 11 message delays. In this paper, we parallelize the ordering with the execution of the consensus to require only 6 message delays. For the ordering, we introduce the ordered reliable broadcast primitive suitable for broadcast-based cryptocurrencies (e.g., [Daniel Collins et al., 2020]). For the agreement, we build upon the DBFT leaderless consensus protocol [Tyler Crain et al., 2018] that was recently formally verified [Bertrand et al., 2021]. The combination is thus suitable to ensure ordering linearizability in consensus-based cryptocurrencies (e.g., [Tyler Crain et al., 2021])
A Concurrency-Optimal Binary Search Tree
The paper presents the first \emph{concurrency-optimal} implementation of a
binary search tree (BST). The implementation, based on a standard sequential
implementation of an internal tree, ensures that every \emph{schedule} is
accepted, i.e., interleaving of steps of the sequential code, unless
linearizability is violated. To ensure this property, we use a novel read-write
locking scheme that protects tree \emph{edges} in addition to nodes.
Our implementation outperforms the state-of-the art BSTs on most basic
workloads, which suggests that optimizing the set of accepted schedules of the
sequential code can be an adequate design principle for efficient concurrent
data structures
- …