BRAINS 2022 Keynotes
2022
Conventional wisdom in the blockchain space dictates that Ethereum's account-based ledger model is somehow better suited to supporting smart contracts than Bitcoin's UTxO ledger model.Is that really the case or is it rather a skewed perception stemming from historical development and the differing focus of the Bitcoin and Ethereum project, respectively?In this talk, I will discuss the difference between accounts and UTxOs when it comes to supporting smart contracts.I will argue that the main distinction is one of global versus localised state, much like the difference between imperative and functional programming.The imperative model seems tantalisingly simple, but leads to significant costs in terms of both reasoning about smart contracts and maintaining them on a distributed ledger.Finally, I will sketch an approach to modelling smart contracts as state machines that recovers simplicity, maps well to UTxO ledgers, and opens new avenues for informal and formal reasoning about smart contracts and their correctness.