SmartPool's logo

We use Ethereum smart contracts to build a decentralized pooled mining protocol called SmartPool. Our solution implicitly replaces the centralized pool operator by network participants who run the Ethereum network. SmartPool includes several novel data structures and design choices which make its protocol secure and efficient. Specifically, we devise a new mechanism to verify and record miners' contributions to the pool without centralized operators. SmartPool's efficient probabilistic verification drastically reduces both the number of messages and the costs to run the pool for miners. Using a novel data structure called the augmented Merkle tree, SmartPool's batched share submission and efficient payment scheme remove any incentive for submitting invalid batches.