Modern blockchain applications benefit from the ability to specify sequencing constraints on the transactions that interact with them. This paper proposes a principled and axiomatically justified way of adding sequencing constraints on smart contract function calls that balances expressivity with the tractability of block production. Specifically, we propose a system in which contract developers are allowed to set an integer global priority for each of their calls, so long as that the call's chosen priority is no higher than the priority of any of its referenced calls. Block builders must then simply sequence transactions in priority order (from high to low priority), breaking ties however they would like. We show that this system is the unique system that satisfies five independent axioms.
翻译:现代区块链应用得益于能够对与其交互的交易设定排序约束。本文提出一种原则性且公理化的方法,用于在智能合约函数调用中添加排序约束,以在表达能力和区块生产的可处理性之间取得平衡。具体而言,我们提出一种系统,允许合约开发者为每个调用设置整数全局优先级,只要该调用选择的优先级不高于其引用的任何调用的优先级。区块构建者随后只需按优先级顺序(从高到低)对交易进行排序,平局情况可任意处理。我们证明,该系统是满足五个独立公理的唯一系统。