原文作者:Xiang|W3.Hitchhiker
原文编辑:Evelyn|W3.Hitchhiker
不同多项式承诺方案列表
上表中,FRI是Starkware采用的多项式承诺方案,可以实现量子级别的安全,但证明的数据量却是最大;IPA是Bulletproof和Halo2零知识算法默认的多项式承诺方案,验证时间相对较长,采用的项目有门罗币,zcash等,前两者是不需要初始可信设置的。
由上图可以看出在证明大小与验证时间上,KZG多项式承诺的优势比较大,KZG承诺也是目前应用最广的一种多项式承诺方式。但KZG是基于椭圆曲线,配对函数,需要初始可信设置的。
ETH升级路线与多项式承诺的关联
在ETH相关生态及其未来升级路线中,都可以看到多项式承诺的踪影。
PoW(工作量证明)共识将会转变成PoS(权益证明)。
TheVerge:
引入Verkle树(VerkleTrees)的设计来优化以太坊上的数据存储。
Lookonchain:巨鲸购买超过1500万美元的stETH:7月25日消息,Lookonchain数据显示,某巨鲸花费了517万USDC以1844美元的价格购买了2802枚stETH。巨鲸在一小时前还用1000万USDC兑换了5421枚ETH,然后将所有ETH换成了stETH。[2023/7/25 15:56:06]
TheSplurge:
四个不同部分升级后的协调,旨在减少错误(Bugs)的出现和确保网络能畅顺运作,还有就是EVM改进和添加账号抽象模型等。
其中TheSurge升级将借鉴多项式承诺技术实现数据可抽样性功能,TheVerge升级将利用多项式承诺来优化其数据结构,ETHL2的zkrollup也都采用了多项式承诺来实现其零知识证明带来的性能拓展。
什么是KZG多项式承诺
此文这里只介绍较好理解的KZG多项式承诺,KZG多项式承诺也被称为卡特多项式承诺方案,是Kate,Zaverucha和Goldberg一起发表的。在一个多项式方案中,证明者计算一个多项式的承诺,并可以在多项式的任意一点进行打开,该承诺方案能证明多项式在特定位置的值与指定的值一致。
Eight Roads Ventures任命前Coinbase Japan CEO为合伙人:6月22日消息,由富达投资支持Eight Roads Ventures任命前Coinbase Japan首席执行官Nao Kitazawa为合伙人。Kitazawa自2018年加入Coinbase以来一直负责Coinbase在日本的业务。此前,他还曾担任日本机器人咨询公司Money Design的首席运营官。[2023/6/22 21:54:19]
之所以被称为承诺,是因为当一个承诺值发送给某对象(验证者)时,证明者不可以改变当前计算的多项式。他们只能够对一个多项式提供有效的证明;当试图作弊时,它们要不无法提供证明,要不证明被验证者拒绝。
KZG数学原理
详细可参考QiZhou博士在DappLearning讲解的关于KZG视频。
在理解KZG之前,可以先了解一下多项式、群、环、域、椭圆曲线、生成元、配对公式、朗格朗日插值等数学定义。
由于椭圆曲线群并不支持运算多项式之间的乘法运算,所以此时得采用配对函数去解决
安全团队:BSC链上Level Finance被盗资金目前仍存放在攻击者地址内:金色财经报道,根据区块链安全审计公司Beosin旗下的Beosin EagleEye安全风险监控、预警与阻断平台监测显示,2023年5月2日BSC链上的Level__Finance 项目被攻击,损失资金高达一百万美元。通过分析代码得知,攻击者地址0x61bb...12e创建了攻击合约0xf08a...629,随后利用攻击合约调用了被攻击合约0x9770...63a的claimMultiple函数,由于被攻击合约在users奖励计算后没有进行对应的users账本清除,导致同一个epoch的claimed奖励可以被反复领取。攻击者多次调用函数使用同一个epoch来反复领取Level Token,随后将领取的Level Token在多个pair中swap成3345个BNB(约109万美元),被盗资金目前仍存放在攻击者地址内(0x70319d1c09e1373fc7b10403c852909e5b20a9d5),Beosin将持续对被盗资金监控。[2023/5/2 14:38:03]
批量证明
BTC最后活跃5-7年的供应量达到一个月低点:金色财经报道,Glassnodes数据显示,BTC最后活跃时间为5-7年的供应量刚刚达到1,630,490.757 BTC,达到一个月低点。[2023/4/17 14:07:17]
具体应用场景
多项式承诺应用方向总结起来可以分为3大类
数据可用性
数据结构优化
零知识证明系统
1.数据可用性
DAS
核心目的:数据缺失则无法通过大多数节点抽查
尽力做到:占用带宽小,抽样过程所需计算量小
纠删码
纠删码会增加额外数据块,这种情况很容易通过抽样调查发现,从而提升安全性。
以上图为例,有4个数据,一次只能抽样一个,假设一个数据有问题,每个用户抽样发现错误的概率是1/4,但是加入两数据块后,还是一个数据有问题,用户抽样发现的概率可以高达1/2。这样就能大幅提升安全性。
KZG也可实现纠删码,利用拉格朗日公式:
法官批准将Celsius旗下GK8出售给Galaxy Digital:金色财经报道,根据周二发布的法院命令,作为加密借贷公司Celsius破产程序的一部分,法官Martin Glen已批准将加密货币托管平台GK8出售给Galaxy Digital。
Galaxy Digital在本月早些时候赢得了GK8的拍卖,其中交易条款没有进行披露,但Galaxy发言人Michael Wursthorn早些时候表示,交易价格大大低于Celsius一年前的收购价。据报道,Celsius于2021年11月以1.15亿美元的价格收购了GK8。[2022/12/14 21:43:18]
比如把(0,3),(1,6)带入公式可得,y=3x3
y1,y2可以理解为要保存的数据,
对应点(3,12)等等,其中y值可以作为纠删码数据,其中任意两个点都可以推出原多项式公式系数。
不同数据可用性项目组成
Celestia=Tendermint(cosmos)2d纠删码欺诈证明NamespacemerkletreeIPFS基础设施
PolygonAvail=Substrate(Polkadot)2d纠删码KZG多项式承诺IPFS基础设施
ETHprotoDankSharding=Blobs数据2d纠删码KZG多项式承诺ETH基础设施
EIP-4844升级将在TheMerge之后的下一个以太坊分叉升级中引入“proto-danksharding”并添加blob交易类型,这有望将第2层Rollup的可扩展性提高,同时为实现完全分片铺平道路。
BlobTransaction
增加一种新的交易类型,这种交易包含额外的存储空间——Blobs
Blob开始只有128KiB的存储空间
一个交易最多包含2个Blob,即256KiB
一个Block最多包含16个,即2MiB;Target是8个,即1MiB
Blob以KZGCommitmentHash作为Hash,用于数据验证,作用和Merkle类似
节点同步链上的BlobTransaction后,Blob部分会在一段时间后过期删除
L2需要通过更新目前在L1的合约,以支持DankSharding。
Celestia通过欺诈证明实现。当见证人发现数据没有被正确采用删码技术,那么这个人就会将欺诈证明提交从而来提醒其他节点。但是这里需要最少诚实假设和同步假设。
protoDanksharding后的以太坊和PolygonAvail则采用了KZG多项式承诺(KZGcommitments)的方法。
KZG多项式承诺方案,理论上要优于欺诈证明方案,带宽需求更小,抽样所需计算量也更小,也免去了欺诈证明中的包括少数诚实假设和同步假设等的安全假设。未来ETH也有意引入抗后量子密码学(参考stark,采用哈希,不在使用椭圆曲线作为基础),避免量子计算机攻击。
2.数据结构优化VerkleTree
VerkleTree的概念在2018年推出,作为ETH升级的一个重要部分,其相比于MerkleTree,在Proof的大小上,有着很大的提升;对于规模在十亿级别的数据,MerkleTree的proof大约需要1kB,而对于VerkleTree,它将小于150Bytes。
与MerkleTree一样VerkleTree也能实现ProofofInclusion,而且只需KZGroot和Data就能验证,不需要额外的Proof,更省带宽。
1.需求:StatelessClient
节点不存完整的StateTree,只获取需要的State来验证Block
PortalNetwork
对StateTree的PoI有更高的性能要求
2.回顾DataAvailability里的KZGcommitment
每个leaf都是polynomial上的点
constantsizeproof,和leaf数量无关
3.VerkleTree
在不同树结构中构建证明,更新证明,以及证明所需的复杂度:
Verkle方案不需要以太坊客户端下载完整的状态数据,使得ETH验证者轻节点成为可能(甚至可支持手机运行),多项式承诺需要的证明空间复杂度大幅降低,带宽量需求量也大幅减少。
3.零知识证明系统
早期zk技术属于线性PCP类。除要求可信设置外,主要缺点是如果需要为不同的计算提供证明,都需要一次新的设置。近期zk技术PIOP类支持通用初始设置和透明设置。
新的zk证明系统通常可以描述为PIOPPCS。前者可被视为是证明者用来说服验证者的约定程序,而后者使用数学方法确保该程序不会遭到破坏。项目方可以按需修改PIOP,且可以在不同PCS中进行选择。
由Amber文章里的图可以看到zk系公链项目采用KZG方案的最多,有PloygonHermez,Scoll,Zksync2.0,Aztec,Aleo,Manta,以太坊基金会支持的PSE也采用的KZG方案。而Starknet,Risc0,PolygonMiden采用的是FRI方案,PloygonZkvm(Hermez)则是FRI与KZG的结合。
值得一提是,一些新的零知识证明系统支持多项式承诺方案的切换,KZG未来也可以切换成其他多项式承诺方案。
总的来说,多项式承诺正在重塑整个区块链的架构,不论是在链的数据结构优化上,模块化区块链的数据可用性上,还是零知识证明系统上都将大有作为。其他地方是否还存在应用场景也是非常值得探索与跟进的。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。