Table of Links
Abstract/Zusammenfassung
Publications
Acknowledgements
CHAPTER 1: INTRODUCTION
-
Introduction
1.1 Overview of thesis contributions
1.2 Thesis outline
CHAPTER 2: BACKGROUND
2.1 Blockchains & smart contracts
2.2 Transaction prioritization norms
2.3 Transaction prioritization and contention transparency
2.4 Decentralized governance
2.5 Blockchain Scalability with Layer 2.0 Solutions
CHAPTER 3. TRANSACTION PRIORITIZATION NORMS
-
Transaction Prioritization Norms
3.1 Methodology
3.2 Analyzing norm adherence
3.3 Investigating norm violations
3.4 Dark-fee transactions
3.5 Concluding remarks
CHAPTER 4. TRANSACTION PRIORITIZATION AND CONTENTION TRANSPARENCY
-
Transaction Prioritization and Contention Transparency
4.1 Methodology
4.2 On contention transparency
4.3 On prioritization transparency
4.4 Concluding remarks
CHAPTER 5. DECENTRALIZED GOVERNANCE
-
Decentralized Governance
5.1 Methodology
5.2 Attacks on governance
5.3 Compound’s governance
5.4 Concluding remarks
CHAPTER 6. RELATED WORK
6.1 Transaction prioritization norms
6.2 Transaction prioritization and contention transparency
6.3 Decentralized governance
CHAPTER 7. DISCUSSION, LIMITATIONS & FUTURE WORK
7.1 Transaction ordering
7.2 Transaction transparency
7.3 Voting power distribution to amend smart contracts
Conclusion
Appendices
APPENDIX A: Additional Analysis of Transactions Prioritization Norms
APPENDIX B: Additional analysis of transactions prioritization and contention transparency
APPENDIX C: Additional Analysis of Distribution of Voting Power
Bibliography
4.2 On contention transparency
In this section, we show that contention transparency does not hold in practice as transaction relay networks become popular in Ethereum. This allows miners to include transactions privately and therefore not every miner or even transaction issuers have the full view of all available transactions pending for inclusion.
4.2.1 The rise of private relay networks
With the lucrative market of Decentralized Finance (DeFi) in Ethereum, today, bots engage in predatory front-running behaviors such as sandwich attacks and transactionreplay attacks (Daian et al., 2020; Kiffer et al., 2017; Qin et al., 2022, 2021; Torres et al., 2021; Weintraub et al., 2022; Zhou et al., 2021). Relay networks help users to counter such attacks: They provide users with a private channel for communicating with miners, who have to prove their identity to participate in the relay. Relay networks help users completely bypass the P2P network: Users send their transactions to the relay network, which in turn relays them to its participant miners. The relay network and its participants claim (a) not to front-run these transactions; and (b) to keep them private until they are included in a block (Flashbots, 2022a). These transactions, hence, by construction, experience no front-running issues. Relay networks are centralized; if miners misbehave, they may lose their network membership and forfeit their future profits. Multiple relay networks (e.g., bloXroute (BloXroute Labs, 2022), Taichi Network (SparkPool, 2021), and others (Eden Network, 2022; Ethermine, 2022)) exist today, but we focus on Flashbots (Flashbots, 2022c), the largest relay network for Ethereum.
Flashbots private relay network
As discussed previously, at the time of our analysis, Flashbots is the most popular private relay network in Ethereum. Flashbots’s users bundle one or more transactions in some specific order (Flashbots, 2022b). Miners are expected to mine the entire bundle (retaining the ordering of transactions within the bundle) and place it at the top of their blocks. The miners receive a fee (paid via a direct transfer to their wallets) for including the bundle in addition to the (traditional) fees associated with the transactions in that bundle. If there are two competing bundles—capturing the same financial opportunity, e.g., liquidations—miners will choose the one with the highest reward (i.e., maximizing financial incentives). The other bundle is discarded (since the financial opportunity no longer exists after having been captured by the included bundle), albeit its transactions do not expend any gas. Therefore, except for a network base fee introduced in EIP-1559,[11] arbitrageurs and liquidators can participate without having any balance in their wallet: If they successfully capture a financial opportunity, they pay the miner from the profit secured and pocket the rest (Flashbots, 2022c). Flashbots is a free to use relay network, and they allow anyone to query whether a transaction used their relay network and the private fees paid to the miner (after it has been committed in a block). We use this publicly available data for analyzing the transactions issued (privately) on Flashbots. Flashbots, however, does not list the discarded bundles (or its transactions): we have access, hence, only to committed transactions.
4.2.2 Characterizing private relay networks
Flashbots labels its bundles (and constituent transactions) into one of three categories: (i) flashbots, which represent those sent through their private relay; (ii) rogue, referring to those delivered to a (Flashbots) miner, but via a different relay network; and (iii) miner payout, indicating a bundle containing payouts to users of a mining pool (Weintraub et al., 2022). We found 58.82%, 27.93%, and 13.25% of transactions belonging to the flashbots, miner payout, and rogue categories, respectively. We also noticed that 70,260 (1.01%) of all Flashbots transactions failed to execute after inclusion in a block. A small fraction of transactions is, hence, not successfully executed despite using private relays.
Flashbots also claims to have ≈ 85% of the total Ethereum hash rate (Flashbots, 2022c). Per our analyses, however, the majority of the mining pools (47 out of 48— barring EthPool) use Flashbots, accounting for 99.99% of the total Ethereum hash rate, A recent work also corroborates our findings (Weintraub et al., 2022).
Some of the most powerful mining pools like Spark Pool[12] (which cooperates with Taichi Network (SparkPool, 2021)), Ethermine (Ethermine, 2022), and F2Pool (part of Eden Network (Eden Network, 2022)) offer their own relay networks. As these networks allow transaction issuers to send transactions exclusively to a specific miner, we hypothesize that miners would prefer (or prioritize) these transactions to those sent via the public P2P network. Crucially, payments from these private transactions are guaranteed, while those from publicly issued transactions are not—they are available to any miner willing to commit them. Miners, hence, would likely offer preferential treatment for private transactions.
4.2.3 On preferential treatment of private transactions
We substantiate our hypothesis of preferential treatment for private transactions via an active experiment conducted on September 8th, 2021. We issued 8 transactions, where 4 were sent privately via the Taichi Network, powered by Spark Pool, and 4 through the public Ethereum network (refer Table B.1 in §B.1). We spent 100 Euros for running this experiment.
While running the experiment, we checked if the popular Ethereum blockchain explorers (i.e., Etherscan (Etherscan, 2023b), Blockchain.com (Blockchain.com, 2021), and Blockchair (Blockchair, 2023)) observed any of our private transactions; if they did, it would imply that the Taichi Network leaked the transactions to the public. While the public transactions appeared in these blockchain explorers, right after we sent them through the public P2P network, the private transactions were not observed by any of them until the transactions were included in a block. More importantly, our private transactions were not flagged by Etherscan (which relies on Flashbots API (Flashbots, 2022a) and more recently on EigenPhi (EigenPhi, 2022)) as private, even after inclusion in a block. Measuring the prevalence of private transactions is, hence, challenging; it is likely that our estimates of the volume of private transactions based on such tools represent, hence, a lower bound.
Our results show that Babel Pool included 2 out of our 4 private transactions. Spark Pool technically supports this mining pool, implying that they “collaborate” in committing private transactions sent over the Taichi network (Babel Finance, 2021). Our transactions were included, however, in the appropriate position in the block based on their fees. We delve into the prioritization of transactions in the next section.
We also characterize the prevalence of private transactions in Ethereum and indicate that mining pools can each have a distinct set of private transactions in their Mempool. Users, as a result, can no longer rely on the public Mempool alone to estimate their transaction fee. Given the absence of other data, they are highly likely to end up with a false estimate of the “appropriate” transaction fees for their transactions.
Author:
(1) Johnnatan Messias Peixoto Afonso
[11] The EIP-1559 went live in the Ethereum’s London hard fork upgrade on August 5th, 2021, at block number 12,965,000.
[12] Spark Pool suspended their mining services on September 30th, 2021, due to regulatory requirements introduced by Chinese authorities (Helen Partz, 2021).