分片(Sharding)是一个术语,用于描述将区块链拆分为较小的、分区后的区块链(称为分片)的过程,旨在实现更轻松的数据段管理、提高可扩展性并增加交易速度。[1][2][3]\
分片是区块链中源自传统数据库的一种技术,其目的是为了实现可扩展性,使其每秒能够处理更多交易。分片起源于一种称为数据库分区(也称为水平分区)的技术。该过程涉及将大型数据库划分为较小的单元,称为“分片”。这种划分有助于提高数据库信息的访问效率。[2]
每个分片都由其自身的数据组成,使其与其他分片相比具有独特性和独立性。数据库分片(或简称分片)是数据库或搜索引擎中数据的水平分区。每个分片都保存在单独的数据库服务器实例上,以分散负载。数据库中的某些数据存在于所有分片中,但有些数据仅出现在单个分片中。每个分片充当该数据子集的唯一来源。
分片可以帮助减少网络的延迟或缓慢,因为它将区块链网络拆分为独立的分片。然而,分片也存在一些安全隐患,即分片可能会受到攻击。[7]
分片减轻了处理区块链网络上所有交互和交易的单一链的压力。每个分片都有自己的账本,可以处理自己的交易,并持有一组独特的智能合约。[1][3]
虽然分片看起来可能是区块链可扩展性问题的潜在解决方案,但其实现也面临一些挑战。与区块链分片相关的两个主要缺点是:复杂性和安全性。
以太坊最初由 Vitalik Buterin 开发(作为 以太坊经典),作为一个统一的区块链系统运行。尽管它能够容纳越来越多的去中心化应用和用户,但所有交易必须通过有限的一组矿工。因此,这种集中处理可能导致网络拥堵。[2]
2018年,Vitalik 在一份关于以太坊区块链分片更新概念验证的出版物中添加了一条评论:[17]
“一个尚未完全解决的挑战是确定如何激励以及何时允许跨链连接(cross-links)。”
以太坊分片是一种增加以太坊网络可处理交易数量的方法。该概念涉及将整个以太坊网络拆分为多个部分,称为“分片”。每个分片包含其独立的内部状态,这意味着一组独特的账户余额和智能合约。[14]
在2021年的一篇帖子中,Vitalik 强调了分片的重要性:[15]
“分片是以太坊可扩展性的未来,它将是帮助生态系统支持每秒数千笔交易,并允许世界上大部分地区定期以可负担的成本使用该平台的关键。”
此外,在2018年12月,Buterin 发推文称:[16]
“未来带有分片的权益证明(PoS)区块链的效率将提高‘数千倍’。”
Danksharding 是一种增加以太坊网络可处理交易数量的方法。它是以太坊成为真正可扩展区块链的途径。Danksharding 将为以太坊带来海量空间,供 Rollup 存放其压缩后的交易数据。
该概念涉及将整个以太坊网络拆分为多个部分,称为“分片”。每个分片包含其独立的内部状态,这意味着一组独特的账户余额和智能合约。
以太坊的路线图包括一个名为 Danksharding 的协议升级。该升级旨在使二层网络(Layer 2)上的交易对用户而言尽可能便宜,并应将以太坊扩展到每秒超过 100,000 笔交易。Proto-Danksharding(也称为 EIP-4844)是这一过程中的中间步骤。
Proto-Danksharding 引入了可以发送并附加到区块的数据对象(blob)。这些 blob 中的数据无法被 EVM 访问,并在固定时间段(1-3个月)后自动删除。这意味着 Rollup 可以更便宜地发送其数据,并以更便宜的交易形式将节省的成本传递给终端用户。
由 Rollup 提交的数据 blob 必须经过验证,以确保 Rollup 没有违规行为。这涉及证明者重新执行 blob 中的交易,以检查承诺是否有效。这在概念上与执行客户端使用 Merkle 证明在第一层(Layer 1)检查以太坊交易有效性的方式相同。[13]
Zilliqa 是一个高性能、高安全性的区块链平台,它使用分片进行扩展。Zilliqa 中的分片有多种形式:网络分片、交易分片和计算分片。