Introducing MiningDAO

Ivan Bogatyy
Mining DAO
Published in
6 min readMay 17, 2021

MiningDAO is a protocol aiming to make block production on Ethereum transparent, trustless, and decentralized. The most urgent use-case is miner-extractable value (“MEV”).

The protocol allows anyone to propose entire blocks to be mined, with a reward attached for mining them. Mining pools can select the blocks with highest rewards, all without ever knowing the actual contents of the proposed blocks. We expect MiningDAO to be the most profitable choice for mining pools due to enhanced opportunities for earning MEV. Compared to existing systems, MiningDAO minimizes reliance on centralized servers and assumptions of honest miner behavior.

To showcase MiningDAO, we have built a mining pool that follows the protocol at https://miningdao.io/

Why MiningDAO?

Algorithmic arbitrage on decentralized finance protocols, better known as “miner-extractable value” (MEV) is a large and growing industry. It started small, at approximately $1M/year in 2017 (on Bancor and EtherDelta), and grew to be ~$500M/year by current estimates.

https://explore.flashbots.net/

There are multiple actors in the space that play different roles in MEV. First, there are independent arbitrageurs and algo-trading funds, who aim to maximize their profits within the fixed rules of the game. Second, there are mining pools: they are responsible for forming all Ethereum blocks, and thus make the ultimate decisions on how transactions are included. Until recently, mining pools simply followed the default rules implemented in geth and Parity. Third, there are companies trying to change the way the game is played: BloXroute offers private transactions that avoid public-by-default mempools, Flashbots offers more profitable transaction sets for mining pools, KeeperDAO offers a decentralized “hiding game”. Our approach is largely inspired by SmartPool.

By default, we’d expect most of the MEV to go to miners via arbitrageurs competitively bidding away all the profit. Nevertheless, several mining pools kickstarted attempts to speed up this transition, and capture even greater MEV profits. Ethermine (tied for largest Ethereum pool with Sparkpool) runs its own in-house frontrunning bots. ArcherDAO partnered with several smaller pools (2miners, Ezil, etc) to build and run in-house bots for them, splitting the profits 50/50. These MEV battles, while fascinating to watch, lead to wasted resources and potential consensus instability: consider Salmonella, a clever attack that stole ~120 ETH from Ethermine’s in-house front-running bot, or Ethermine’s revenge, that selectively used transactions from an orphaned block to exploit a Flashbots user. These problems demand a generalized and robust solution.

MiningDAO is building a decentralized and transparent protocol for block formation, where the same rules apply to everyone. We propose an open-source, modular infrastructure, with no secretive lock-in components, where all miners and all block producers participate on equal footing. Anyone with an Ethereum address can propose the next block to be mined (via a block sealhash), and attach a bounty for successfully mining it. The mining pools would then mine on the highest-bounty proposal, brute-forcing nonces while remaining oblivious to the actual contents of the block. Other than putting everyone on equal footing in relation to MEV, this design greatly increases Ethereum’s censorship resistance.

How MiningDAO works

high-level overview of MiningDAO protocol

To simplify, the protocol works like a DEX orderbook for blocks, so if you’re familiar with 0x, it should be easy to visualize what’s going on.

  1. Block producers deposit ETH into a “DEX” smart contract, locked with some time delay.
  2. To propose a block, a block producer signs an off-chain commitment, containing two variables: (a) block sealhash, and (b) proposed block reward.
  3. At any given moment, miners look for the highest-reward block proposal at the current block height, and bruteforce to find a nonce that would seal that block.
  4. Whenever such a nonce is found, it is immediately forwarded to the block producer, as well as posted to the smart contract, with the corresponding block reward taken out of the block producer’s deposit.

Initially, our protocol relies on a centralized coordinator to ensure all nonces are correct and timely (to avoid mining long-stale shares).

Why go beyond Flashbots

Our functionality has substantial similarities to Flashbots, as well as substantial differences, so it’s worth explaining the benefits of our approach.

First, we want to minimize centralization risk in Ethereum block formation. The status quo used to be that top 5 pools produced ~65% of all Ethereum blocks. That’s already risky, but at least no single pool ever got close to 50% hashrate that would let it dominate the network. As it stands, Flashbots routes ~80% of the hashrate, substantially increasing the risk that it can dictate the future Ethereum trajectory (e.g. by routing transactions via a proprietary proxy). We believe alternative coordination mechanisms, focusing on minimalism and decentralization, would benefit the robustness and censorship-resistance of Ethereum.

Second, we believe our technology is a substantially better design. MiningDAO is the first protocol to offer truly private transactions that do not rely on an honesty assumptions by miners. The protocol can work end-to-end without revealing any of the transactions to miners, up until the point a block is mined. Further, our block auction is open-bid, which is substantially more convenient for arbitrageurs: they know in advance whether they’re winning and can always bid up, instead of having to build complicated pricing models based on past history.

Ultimately, we see a parallel here with the evolution of cryptocurrency trading, as it progressed from centralized exchanges running on AWS, to decentralized exchanges running on smart contracts. Our mission is to facilitate a similar evolution for block production on Ethereum.

Roadmap towards full decentralization

The V1 that we launched today is completely permissionless and private for block producers, but not trustless (it requires a centralized coordinator to ensure block producers cannot be exploited by miners). For pools that would like to join, the system is currently whitelist-based to protect against double-claiming work. Below is our plan to further decentralization.

The trustless V2 design will incorporate the following primitives:

  1. SmartPool-style share validation to verify submitted nonces (We intend to log all shares on L2 with merkle root logged in L1)
  2. Gas savings: validating PoW on every block is prohibitively costly (~3M gas), but an optimistic challenge-response validation can obviate this cost (i.e. only run the ~3M gas verification in case of disputes)
  3. ChainLink “first seen” oracle for pending transactions to punish timing-based griefing attacks

How to participate

We are building an open, permissionless system, where anyone can participate on equal footing.

As such, we are providing the following endpoints for participants:

  • For miners: we have launched our own MiningDAO pool, which automatically mines the best available block template. The pool takes zero fees. MiningDAO runs multiple failover block producers (both vanilla and MEV-extracting), so that mining in the MiningDAO pool is guaranteed to yield more ETH than any non-MEV-extracting pool. Here are the instructions for how to point your rigs to MiningDAO pool.
  • For mining pools: we welcome all mining pools to supplement their income via MiningDAO block templates. If you have any questions about how to integrate MiningDAO with your hashrate, please send us an email at contact@miningdao.io.
  • For arbitrageurs: we have two endpoints available. For easy onboarding, we welcome Flashbots-style transaction bundles. For more sophisticated or composite strategies, we welcome block producers to bid on block templates directly.

Learn more

--

--