Polyhedra 网络主要通过零知识证明技术,为 web3提供操作互操作性,实现资产,消息,和数据在Web2和web3之间共享。
Polyhedra主要的产品有:
- zkBridge: 基于
deVirgo
零知识证明方案的跨链桥; - zkLightClient: 基于LayerZero 协议,实现基于zk的轻客户端;
- ZK-DID: 保护用户隐私的可验证身份系统;
- ZK-NFT: 通过ZK实现隐藏地址(
stealth address
),实现隐私保护的NFT方案。
zkBridge协议
zkBridge利用zkSNARKs 证明方案以使接收链receiver chain
确保某个状态转换在发送链上sender chain
发生。zkBridge 主要由区块头传递网络(block header realy network)和更新合约 (updater contract) 组成。
区块头传递网络从发送者链上获取区块头,生成零知识证明以保证新的区块头的有效性,并将区块头和证明发送到目前链上的更新合约。
更新合约维护轻客户端的状态,当证明验证通过后,自动添加发送链上的区块头,并更新发送链的当前主链。
![](https://img.haomeiwen.com/i7973505/d7a6819b4eb1889c.png)
ZKP方案
zkBridge 主要采用deVirgo 分布式证明系统,其基于 Libra 和 Virgo 设计,通过利用分布式的sumcheck
和 多项式承诺方案,可以大幅加快证明生成,主要的优势:
- 最优的并行性
- 增强的性能
- 递归的组合
![](https://img.haomeiwen.com/i7973505/f65edc3f777c338e.png)
证明过程分两层,第一层采用deVirgo
方案,提升证明者速度,第二层采用Groth16
方案,简化链上合约验证。
区块头传递网络
区块头传递网络主要遵从以下协议;
![](https://img.haomeiwen.com/i7973505/cce551d56b43338c.png)
其中LCS
表示Light Client State, blkH
表示block header,通过ZKP 证明由区块头 更新到
的正确性。
注:文档中提及需要对每个区块头都进行证明。
Updater contract
![](https://img.haomeiwen.com/i7973505/c63867dadd2153d9.png)
其中HEADERUPDATE
合约用于更新区块头, GETHEADER
用于获取区块头。
zkBridge 可用于NFT和Message 传递。
token 踦链示例
zkBridge的核心部分在于一个区块头传递网络block header relay network
,通过以下几步实现token 从 跨链到
:
![](https://img.haomeiwen.com/i7973505/7a3c0b267c9c5ec1.png)
- step 1: 用户将
的 token锁定定
的
合约中;
- Step 2: 用户在合约
的余额状态更新为
;
- Step 3: 区块链传递网络生成区块头更新的证明;
- Step 4: 在链
上的Updater 合约验证证明,并更新区块头;
- Step 5: 通过检查区块头确认用户在
上余额为
;
- Step 6: 在链
上给用户铸造
个tokens.
网友评论