The Bitcoin Backbone Protocol with Chains of Variable Difficulty
Reaching Agreement in the Presence of Faults