当前位置:区块链之家 > 区块链技术 > Zkopru全面介绍

什么是Zkopru?

发布:2023-08-09 12:20:01 59


Zkopru是一种基于零知识证明的隐私保护技术,用于在以太坊网络上进行的私密交易,它采用了批量验证的方式,可以将多个交易合并为一个,并通过一次性证明验证其正确性,提高了交易的效率和隐私性,与传统的链下扩展方案不同,Zkopru在以太坊主链上进行交易,并通过zk-SNARKs算法保护交易隐私,通过使用零知识证明,Zkopru能够隐藏交易的数量、发送者和接收者,确保交易的匿名性和不可追踪性,Zkopru是一种创新的隐私保护技术,为以太坊网络上的私密交易提供了可行的解决方案,下面看下详细内容。

Zkopru全面介绍

Zkopru是什么?Zkopru这个名称是由zk-transaction + Optimistic Roll-Up的字首组成,这个layer 2的协议包含了使用零知识证明来保护交易的隐私(zk-transaction)、再搭配Optimistic Rollup来管理layer 2。

Zkopru和Zk Rollup有什么不同?

Zk Rollup连同layer 2的链的state transition都是由零知识证明来处理,但缺点是目前零知识证明技术的成本较高,包含在链下产生证明和在链上验证证明(链下产生证明耗费时间,链上验证证明则耗费gas)。

注:接下来提到的(零知识证明、circuit)的链下成本都是指时间多寡,而链上成本则都是指gas多寡)

另外目前的Rollup协议都是使用merkle tree来储存当前的链的状态(例如使用者的余额、nonce或是UTXO) —如果使用者要证明他有$20,则他必须要提供merkle proof ,而这个merkle proof的大小及hash次数也会因为选择的merkle tree的高度而有不同。

而这个因素再搭配上hash的成本在EVM和circuit会有不同,导致协议如果使用在EVM成本较便宜的hash function,则circuit的hash成本会较高;反之亦然。

目前还没有安全的hash function是在EVM或circuit里都是便宜的,所以协议设计者必须做出妥协。可想而知,Zk Rollup便是使用在circuit便宜但是在EVM贵的hash function,这导致当使用者要离开layer 2回到layer 1时(这个步骤在这里称作withdraw),他成本会很高(因为要在EVM里验证他持有资产的拥有权,这可以是一个merkle proof或zk proof)。

Zkopru和Optimistic Rollup有什么不同?

而这个成本相对的也反映了采用Optimistic Rollup的好处—只有在特殊情况下(例如协议里的Operator作恶)才需要付出较高的成本,其他时间大家则享受极低成本的使用费。

但使用Optimistic的方式也有附带的缺点:challenge period。轻节点使用者需要等待challenge period来确保交易不会被推翻、withdraw过程需要等待challenge period(以下称withdraw period)过了才能将钱提回到layer 1。

所以使用哪种Rollup就要看协议设计者如何依照他们的使用需求去权衡。

那为什么不使用Optimistic Rollup就好?

因为需要零知识证明来保护交易隐私!

前提

zkopru使用和Bitcoin相同的UTXO model

transfer的付款方、收款方和金额都是被保护住、看不到的,但zkopru和其他隐私币一样,不需要付款方和收款方合作即可由付款方单独完成transfer。

但也和隐私币一样,收款方必须去监看链上每一笔交易并尝试解密来得知是否有人transfer给自己

基本使用流程

Deposit

使用者将ether、ERC20或ERC721代币转入zkopru位于layer 1的合约,触发event。协议的Operator会监看合约并搜集deposit event,然后将这些deposit一起放入下一个(zkopru的)区块里。

Transfer

如同Bitcoin的UTXO,zkopru里使用者必须要证明其对某UTXO有拥有权才能花费该UTXO。要被花费的UTXO会被放到transaction格式里的inputs栏位, outputs栏位的UTXO则是填入收款方的公钥和收款金额(outputs的UTXO就会是新产生的UTXO)。

因为要保护交易的隐私,新的UTXO的资讯是不会泄露出去的,第三方只会看到该UTXO的hash值。那收款方要怎么知道一个UTXO是不是他的呢?

sender会利用自己的私钥、收款方的公钥及一个随机值,透过密钥交换协议来产生一个临时的共享密钥。付款方用此共享密钥加密收款方所需的资讯(包含transfer的代币种类和金额),而收款方会监看每一笔交易并试着用自己的私钥组出一个共享密钥然后去解密,如果解密完的资料不是乱码而是合理的,则可确认收到钱。

Withdraw

使用者产生withdraw类别的交易,等待协议Operator收进区块里,然后再等待withdraw period过去,即可送出merkle proof来将钱提领回layer 1。

注:提领回layer 1之后的收款方和金额都是公开透明的,隐私不再受保护。

零知识证明

zkopru里一共有三种类型的merkle tree来储存所需的状态,分别是UTXO tree、Nullifier tree以及Withdrawal tree。

  • UTXO tree纪录所有产生过的UTXO,包含新的和已经花掉的。
  • Nullifier tree纪录被花掉的UTXO的nullifier值。一个UTXO的nullifier由该UTXO的相关资讯算出,而且只能得出唯一一个nullifier。这个nullifier能够证明该UTXO已被花掉,但同时又不会泄露是哪个UTXO被花掉。听起来很饶口,但这就是零知识证明的能力。
  • Withdrawal tree纪录withdraw类别的交易的资讯,使用者要提领回layer 1就需要这棵merkle tree的merkle proof。也是就说,前面说的Operator会把withdraw交易放到这棵merkle tree里,然后等待withdrawal period过后,再由使用者提供merkle proof来领走。

这里以transfer为例来说明其中一部分的circuit在做什么事

当使用者要产生一笔transfer,他首先要证明inputs里的UTXO都是合法的,这包含了证明:

  1. 他拥有这个UTXO—藉由提供签章来证明
  2. 这个UTXO是真的存在的—藉由证明该UTXO的hash值存在UTXO tree里
  3. 这个UTXO没有被花过—藉由证明该UTXO的nullifier值不存在Nullifier tree里

接者是outputs,新产生的UTXO的hash值会被放进UTXO tree里。

最后是比对inputs金额加总等于outputs金额加总再加上交易手续费。

而这些都在circuit里完成,第三方没办法得知实际的inputs、outputs或nullifiers等等,第三方只能知道新的UTXO的hash值以及运算过程是正确的—也就是这些tree都被正确的更新了。

其他特色

Mass migration

原本每个使用者要把资产换到另外一个layer 2协议,他必须申请withdraw、等待withdraw period,然后把资产deposit到另外一个layer 2协议。

zkopru支持使用者成批的搬移资产到另外一个layer 2协议—共享经济。

Instant withdrawal

如果其他需要等待withdraw period的应用来说,withdraw period是一个UX痛点。zkopru的instant withdrawal提供急着withdraw的一方和不急着withdraw的一方一个管道能互惠。

急的一方提供一点手续费,对自己的withdraw交易做签名并广播出去。不急的一方在听到这个签名后,可以将这个签名送到zkopru合约并附上withdraw金额(扣掉自己该收的手续费)。

这笔钱会直接转给急的一方,然后急的一方的withdraw拥有权便会转移到不急的一方手上,不急的一方再慢慢等到withdraw period过了再提领。

估计效能

目前在初版的效能估计中,一笔transfer平均耗费8800 gas;而TPS则是105。zkopru还在积极更新迭代中,所以这个效能会在提升。

以上就是什么是Zkopru?Zkopru是什么意思?的详细内容,更多关于Zkopru的资料请关注码农之家其它相关文章!

相关文章

  • DeFi科普系列:PAX是什么?PAX有啥用?PAX安全吗?

    DeFi科普系列:PAX是什么?PAX有啥用?PAX安全吗?

    区块链技术发布:2023-01-04

    这篇文章主要介绍了DeFi科普系列:PAX是什么?PAX有啥用?PAX安全吗?PAX 是由 Paxos 发行的合规美元稳定币。PAX 由 Paxos 信托公司发行,受 NYDFS(纽约州金融服务部)批准并监管,拥有100%美元储备金保障。大家如果感兴趣,可以参考下内容。


  • 比特币当周合约是什么意思?

    比特币当周合约是什么意思?

    比特币发布:2023-06-25

    这篇文章旨在阐述比特币当周合约的概念和意义。比特币当周合约是指在期货市场中,以比特币为标的物进行交易的合约。随着数字货币市场的蓬勃发展,投资者们开始寻求更多的交易方式,不再满足于单一模式。比特币当周合约的推出为投资者提供了更多操作空间和灵活性。它们使投资者能够更加准确地预测比特币价格的走势,并据此制定交易策略。因此,比特币当周合约成为现今期货市场热门的原因之一。希望这篇文章能够给需要的朋友提供有关比特币当周合约的相关资料,供其参考。


  • 区块链扩容的含义是什么?

    区块链扩容的含义是什么?

    区块链技术发布:2023-06-12

    本文旨在探讨区块链扩容的定义及其相关资料。区块链扩容是目前区块链行业从业者十分关注的话题,但仍有很多投资者对此一无所知。下文将解释区块链扩容意味着什么,同时为您带来众多相关信息。


  • DeFi 科普系列:HBTC 是什么?HBTC 有啥用?HBTC 安全吗?

    区块链技术发布:2022-12-12

    这篇文章主要介绍了DeFi 科普系列:HBTC 是什么?HBTC 有啥用?HBTC 安全吗?HBTC (ERC-20) 是火币全球站在以太坊上发行的 BTC 锚定币。大家如果感兴趣,可以参考下内容。


  • DeFi 科普系列:1inch 是什么?1inch 有什么用?1inch 安全吗?

    区块链技术发布:2022-12-09

    这篇文章主要介绍了DeFi 科普系列:1inch 是什么? 1inch 有什么用?1inch 安全吗?1inch是一个链上聚合交易所,汇总了主流DEX间的流动性。具体的请参考下文内容。


  • 比特币节点是什么意思,有什么用?

    比特币节点是什么意思,有什么用?

    比特币发布:2023-02-20

    这篇文章主要介绍了比特币节点是什么意思?比特币节点有什么用?的相关资料,比特币是一种点对点的电子现金系统,更直接地说是节点对节点。很多投资者不明白这个节点的意思,下面跟随小编一起来深入的了解一下比特币节点吧!


  • VELO是什么币?

    VELO是什么币?

    币种百科发布:2023-07-25

    本文将介绍VELO币的种种特点和前景,让你了解这个新兴的加密货币以及它的潜力。


  • 火必怎么提现到银行卡?具体流程是什么?

    火必怎么提现到银行卡?具体流程是什么?

    区块链技术发布:2023-02-03

    这篇文章主要介绍了火必网如何提现到银行卡?火必网APP提现到银行卡操作流程的相关资料,需要的朋友可以参考下本文详细内容介绍


  • Rainbow是什么钱包?如何使用?

    Rainbow是什么钱包?如何使用?

    区块链技术发布:2023-02-25

    这篇文章主要介绍了Rainbow是什么钱包?Rainbow钱包使用教程的相关资料,希望这篇关于Rainbow钱包的详细介绍,能够帮助各位投资者对Rainbow这一数字轻钱包有一个更加全面深入的了解,下面一起来看看Rainbow钱包的使用教程吧!


  • 比特币价值靠什么支撑?比特币究竟是什么?

    比特币价值靠什么支撑?比特币究竟是什么?

    比特币发布:2023-01-18

    给网友朋友们带来一篇关于比特币的教程,这篇文章主要介绍了比特币价值靠什么支撑?比特币究竟是什么?的相关资料,需要的朋友可以参考下本文详细内容介绍


网友讨论

  • 扩展迷