Sharding is a way to address scalability problem in blockchain technologies. Ethereum, a prominent blockchain technology, has included sharding in its roadmap to increase its throughput. The plan is also to include multiple execution environments. We address the problem of atomic cross shard value transfer in the presence of multiple execution environments. We leverage on the proposed Ethereum architecture, more specificially on Beacon chain and crosslinks, and propose a solution on top of the netted-balance approach that was proposed for EE-level atomic \eth transfers. We split a cross-shard transfer into two transactions: a debit and a credit. First, the debit transaction is processed at the source shard. The corresponding credit transaction is processed at the destination shard in a subsequent block. We use {\em netted} shard states as channels to communicate pending credits and pending reverts. We discuss various scenarios of debit failures and credit failures, and show our approach ensures atomicity even in the presence of a Byzantine Block proposer. The benefits of our approach are that we do not use any locks nor impose any constraints on the Block Proposer to select specific transactions. However we inherit the limitation of an expensive operation from the netted-balance approach of querying partial states from all other shards. We also show a bound on the size of such inter-shard state reads.
翻译:硬化是解决块链技术伸缩问题的一种方法。 显著的块链技术 Etheum 在其路线图中包括了增加其吞吐量的碎片。 该计划还包含多个执行环境。 我们在多个执行环境中处理原子交叉硬值转移问题。 我们利用拟议的Etheum架构,更具体地在Beacon链和交叉链接上进行杠杆化,并在为EE-E级原子转移提议的净平衡方法之上提出解决方案。 我们把交叉硬转移分为两个交易:借方和信用。 首先,借方交易在源碎片处处理。 相应的信用交易在多个执行环境中在目标碎片处处理。 我们利用硬质化状态作为沟通信用尚未还原的渠道。 我们讨论各种借方失败和信用失败的情景,并展示我们的方法确保原子化,即使是在Byzantine Block提议者在场的情况下。 我们的方法的好处是,我们不使用任何锁项,也不将任何固定的债项交易限制在源码上。 相应的软质交易在后, 我们选择了固定式的固定式的固定状态中进行。