W3.Hitchhiker:多项式承诺正在重塑整个区块链
小编:记得关注哦 来源:Xiang 原文题目:多项式承诺,正在重塑整个区块链 不同多项式承诺计划列表
上表中,FRI 是 Starkware 采用的多项式承诺计划,能够完成量子级别的保险,但证明的数据量却是最大;IPA 是 Bulletproof 和 Halo2 零学问算法默许的多项式承诺计划,考证时间相对较长,采用的项目有门罗币,zcash 等,前两者是不需求初始可信设置的。 由上图能够看出在证明大小与考证时间上,KZG 多项式承诺的优势比较大,KZG 承诺也是目前应用最广的一种多项式承诺方式。但 KZG 是基于椭圆曲线,配对函数,需求初始可信设置的。 ETH 升级道路与多项式承诺的关联 在 ETH 相关生态及其未来升级道路中,都能够看到多项式承诺的踪迹。
The Merge: 现时的以太坊主链和 Beacon Chain 将会兼并,原本的 PoW (工作量证明) 共识将会转变成 PoS (权益证明)。 The Surge: 添加 DAS(数据可抽样性功用),极大的进步ETH的扩展性,经过Danksharding增强 rollup 性能。 The Verge: 引入 Verkle 树 (Verkle Trees) 的设计来优化以太坊上的数据存储。 The Purge: 经过剔除历史数据和消弭技术债务,考证者不再需求运用大量硬盘空间去中止考证工作。 The Splurge: 四个不同部分升级后的谐和,旨在减少错误 (Bugs) 的呈现和确保网络能畅顺运作,还有就是 EVM 改进和添加账号笼统模型等。 其中 The Surge 升级将自创多项式承诺技术完成数据可抽样性功用,The Verge 升级将应用多项式承诺来优化其数据结构,ETH L2 的 zkrollup 也都采用了多项式承诺来完成其零学问证明带来的性能拓展。 什么是 KZG 多项式承诺 此文这里只引见较好了解的 KZG 多项式承诺,KZG 多项式承诺(KZG Polynomial Commitment)也被称为卡特多项式承诺计划,是 Kate,Zaverucha 和 Goldberg 一同发表的。在一个多项式计划中,证明者计算一个多项式的承诺,并能够在多项式的恣意一点中止翻开,该承诺计划能证明多项式在特定位置的值与指定的值分歧。 之所以被称为承诺,是由于当一个承诺值(椭圆曲线上的一个点)发送给某对象(考证者)时,证明者不能够改动当前计算的多项式。他们只能够对一个多项式提供有效的证明;当试图作弊时,它们要不无法提供证明,要不证明被考证者拒绝。 KZG 数学原理 细致可参考 Qi Zhou 博士在 Dapp Learning 解说的关于 KZG 视频。 在了解 KZG 之前,能够先了解一下多项式、群、环、域、椭圆曲线、生成元、配对公式、朗格朗日插值等数学定义。
具有可信设置的多项式承诺
单个证明 卡特证明单个数据的公式推衍如下,由于椭圆曲线群只支持加法同态,无法支持多项式之间的乘法,这是就需求经过配对函数处置, 由于椭圆曲线群并不支持运算多项式之间的乘法运算,所以此时得采用配对函数去处置。
由于椭圆曲线群并不支持运算多项式之间的乘法运算,所以此时得采用配对函数去处置。 批量证明
细致应用场景 多项式承诺应用方向总结起来能够分为 3 大类
1. 数据可用性 DAS (数据可用性抽样) 中心目的:数据缺失则无法经过大多数节点抽查 尽力做到:占用带宽小,抽样过程所需计算量小 纠删码(celestia)
纠删码会增加额外数据块,这种状况很容易经过抽样调查发现,从而提升保险性。 以上图为例,有 4 个数据,一次只能抽样一个,假定一个数据有问题,每个用户抽样发现错误的概率是 1/4,但是参与两数据块后,还是一个数据有问题,用户抽样发现的概率能够高达 1/2(3/6)。这样就能大幅提升保险性。 KZG 也可完成纠删码,应用拉格朗日公式: 好比把 (0,3),(1,6) 带入公式可得,y=3x+3 y1,y2 能够了解为要保存的数据, 对应点(2,8)(3,12) 等等,其中 y 值能够作为纠删码数据,其中恣意两个点都能够推出原多项式公式系数。
不同数据可用性项目组成 Celestia = Tendermint (cosmos) + 2d 纠删码 + 狡诈证明 + Namespace merkle tree + IPFS 基础设备(数据存储用的 IPFS Blockstore,传输网络用的 IPFS 的 Libp2p 与 bitswap,数据模型用的 IPFS 的 Ipld) Polygon Avail = Substrate(Polkadot) + 2d 纠删码 + KZG 多项式承诺 + IPFS 基础设备 ETHprotoDankSharding = Blobs 数据(数据可用性的存储,交流现有的 calldata)+ 2d 纠删码 + KZG 多项式承诺(未定,计划目前仍在讨论)+ ETH 基础设备 EIP-4844 升级将在 The Merge 之后的下一个以太坊分叉升级中引入“proto-danksharding”并添加blob买卖类型(EIP-4844),这有望将第 2 层 Rollup 的可扩展性进步,同时为完成完整分片(sharding)铺平道路。 Blob Transaction
(1)一个买卖最多包含 2 个 Blob,即 256 KiB (2)一个 Block 最多包含 16 个,即 2 MiB;Target 是 8 个,即 1 MiB(可扩展) 3.Blob 以 KZG Commitment Hash 作为 Hash,用于数据考证,作用和 Merkle 相似 4.节点同步链上的 Blob Transaction 后,Blob 部分会在一段时间后过时删除
L2 需求经过更新目前在 L1 的合约,以支持 DankSharding。 Celestia 经过狡诈证明完成。当见证人发现数据没有被正确采用删码技术,那么这个人就会将狡诈证明提交从而来提示其他节点。但是这里需求最少诚实假定(至少衔接到一个诚实节点)和同步假定(当有人给我发送狡诈证明的时分,需求确保我能在一定时间内收到通知)。 protoDanksharding 后的以太坊和 Polygon Avail 则采用了 KZG 多项式承诺(KZG commitments) 的措施。 KZG 多项式承诺计划,理论上要优于狡诈证明计划,带宽需求更小,抽样所需计算量也更小,也免去了狡诈证明中的包含少数诚实假定和同步假定等的保险假定。 未来 ETH 也有意引入抗后量子密码学(参考 stark,采用哈希,不在运用椭圆曲线作为基础),避免量子计算机攻击。 2. 数据结构优化 Verkle Tree Verkle Tree 的概念在 2018 年推出,作为 ETH 升级的一个重要部分,其相比于 Merkle Tree,在 Proof 的大小上,有着很大的提升;关于范围在十亿级别的数据,Merkle Tree 的 proof 大约需求 1kB,而关于 Verkle Tree, 它将小于 150Bytes。 与 Merkle Tree 一样 Verkle Tree 也能完成 Proof of Inclusion(PoI),而且只需 KZG root 和 Data 就能考证,不需求额外的 Proof,更省 带宽。 1.需求:Stateless Client (1)节点不存完好的 State Tree,只获取需求的 State 来考证 Block (2)Portal Network (3)对 State Tree 的 PoI 有更高的性能请求 2.回想 Data Availability 里的 KZG commitment a.每个 leaf 都是 polynomial 上的点 b.constant size proof,和 leaf 数量无关
3.Verkle Tree
在不同树结构中构建证明,更新证明,以及证明所需的复杂度:
Verkle 计划不需求以太坊客户端下载完好的状态数据,使得 ETH 考证者轻节点成为可能(以至可支持手机运转),多项式承诺(Verkle 树的多项式承诺计划,早期思索的 KZG,近期还是思索用 IPA)需求的证明空间复杂度大幅降低,带宽量需求量也大幅减少。 3. 零学问证明系统
早期 zk 技术(Groth16)属于线性 PCP 类。 除请求可信设置外,主要缺陷是假如需求为不同的计算(不同的电路/多项式)提供证明,都需求一次新的设置。近期 zk 技术 PIOP 类支持通用初始设置和透明设置(不需求信任假定)。 新的 zk 证明系统通常能够描画为 PIOP(Polynomial Interactive Oracle Proof,多项式交互预言证明)+ PCS(Polynomial Commitment Scheme,多项式承诺计划)。前者可被视为是证明者用来压服考证者的商定程序,然后者运用数学措施确保该程序不会遭到破坏。项目方能够按需修正 PIOP,且能够在不同 PCS 中中止选择。
由 Amber 文章里的图能够看到 zk 系公链项目采用 KZG 计划的最多,有 Ploygon Hermez,Scoll,Zksync2.0,Aztec,Aleo,Manta,以太坊基金会支持的 PSE(隐私与扩展探求团队)也采用的 KZG 计划。而 Starknet,Risc0,Polygon Miden 采用的是 FRI 计划,Ploygon Zkvm(Hermez) 则是 FRI 与 KZG 的分离。 值得一提是,一些新的零学问证明系统支持多项式承诺计划的切换,KZG 未来也能够切换成其他多项式承诺计划。 总的来说,多项式承诺正在重塑整个区块链的架构,不论是在链的数据结构优化上,模块化区块链的数据可用性上,还是零学问证明系统上都将大有作为。其他中央能否还存在应用场景也是十分值得探求与跟进的。 |