通过 ZK-SNARK 证明,数据纠删码的正确性也能够得到验证,然后利用默克尔树的分支来验证各个数据块。另一种验证方式是使用多项式承诺 (polynomial commitment),例如 Kate commitments (KZG 承诺),本质上,该承诺通过一个简单组件进行纠删编码,证明每个要素和正确性验证,这就是以太坊分片所使用的技术。 假设有 100 个区块,并且你不想依赖委员会有效地验证所有区块的正确性。为了实现这个目标,我们需要进行以下措施: 每个客户端在每个区块上进行数据可用性采样,以验证每个区块中的数据是否可用,同时需要下载每个区块几 KB 的数据,即使区块的整体大小为 MB 或更大。仅在所有数据可用性挑战得到正确回应后,客户点才会接受区块。 数据可用性得到验证后,那么验证其正确性将变得更加容易。验证正确性要通过以下两种技术:
两种情况中,无论区块有多大,每个客户端仅需要对区块进行少量验证工作。对于欺诈证明,区块偶尔需要在链上得到充分验证,但这种情况很少发生,因为就算发起一个挑战,成本也十分高昂。 以上就是全文的总结!就以太坊分片而言,短期计划是让分片中的区块只包含数据。也就是说,这些分片的作用纯粹是「数据可用性引擎」,Layer2 rollup 的工作则是使用安全的数据空间,另外还会利用欺诈证明或 ZK-SNARK 技术,实现高交易吞吐量,同时维持安全性。但是,我们还可以创建一个内部系统,「原地」实现高吞吐执行,这是完全有可能实现的。 分片系统的关键特性是什么?有哪些权衡?分片的主要目标是尽可能地继承传统非分片区块链最重要的安全属性,同时无需每个节点验证每笔交易。 分片基本可以满足这些要求。以下是传统区块链的特征:
以下是强安全性的分片区块链特征:
|