Paper 2021/577
Soft Power: Upgrading Chain Macroeconomic Policy Through Soft Forks
Dionysis Zindros
Abstract
Macroeconomic policy in a blockchain system concerns the algorithm that decides the payment schedule for miners and thus its money mint rate. It governs the amounts, distributions, beneficiaries and conditions required for money supply payments to participants by the system. While most chains today employ simple policies such as a constant amount per block, several cryptocurrencies have sprung up that put forth more interesting policies. As blockchains become a more popular form of money, these policies inevitably are becoming more complex. A chain with a simple policy will often need to switch over to a different policy. Until now, it was believed that such upgrades require a hard fork -- after all, they are changing the money supply, a central part of the system, and unupgraded miners cannot validate blocks that deviate from those hard-coded rules. In this paper, we present a mechanism that allows a chain to upgrade from one policy to another through a soft fork. Our proposed mechanism works in today's Ethereum blockchain without any changes and can support a very generic class of monetary policies that satisfy a few basic bounds. Our construction is presented in the form of a smart contract. We showcase the usefulness of our proposal by describing several interesting applications of policy changes. Notably, we put forth a mechanism that makes Non-Interactive Proofs of Proof-of-Work unbribable, a previously open problem.
Metadata
- Available format(s)
- Category
- Applications
- Publication info
- Published elsewhere. Financial Cryptography Workshop on Trusted Smart Contracts 2021
- Keywords
- blockchainsmart contractsoft fork
- Contact author(s)
- dionyziz @ gmail com
- History
- 2021-05-03: received
- Short URL
- https://ia.cr/2021/577
- License
-
CC BY
BibTeX
@misc{cryptoeprint:2021/577, author = {Dionysis Zindros}, title = {Soft Power: Upgrading Chain Macroeconomic Policy Through Soft Forks}, howpublished = {Cryptology {ePrint} Archive, Paper 2021/577}, year = {2021}, url = {https://eprint.iacr.org/2021/577} }