Abstract
分片技术作为以太坊2.0更新的主要目标之一,是为了解决以太坊中的可拓展性问题。分片技术的核心思路是让以太坊从网络上的每个节点都要验证一笔交易的模式,转型到只需要少部分节点来验证每笔交易的模式,只要验证每笔交易的节点足够多,那么整个系统就会仍是安全的。
Background Knowledge
- 状态:系统当前状态的信息集合。在以太坊中包括账户余额、随机数、合约代码、存储数据
- 历史:自创世区块发布以来,按顺序记录在区块链中的所有交易记录
- 状态转移方程:获取状态和交易然后输出一个新的状态的方程。涉及的操作包括减少和增加相关转账用户的账户余额、验证发起人的数字签名以及运行智能合约代码
- 收据:是交易的产物,不存储在状态中,而是存储在Merkle树中,最终被提交到区块中,在分片模型中,收据用来实现分片之间的异步通信
- 轻型客户端:一中队算力资源要求低、与区块链互动的方法。
- 状态根:代表状态的Merkle树的散列根
分片技术的实现
“分片”的大致设计思路是:将区块链网络中的每个区块变为一个子区块链,子区块链中可以容纳若干(目前为 100 个)打包了交易数据的 Collation(大概可以称为“校验块”,为了在分片的情景中将其与区块的概念区分开),这些 Collation 最终组成一个在主链上区块;因为这些 Collation 是整体作为区块存在的,所以其数据必定是全部由某个特定的矿工所打包生成