开发者必读:从Zcash和Aleo的技术出发,理解隐私交易的设计原理_ION:CTI

zerocash)更为相近,类似的Key结构,类似的Note结构,类似的称呼。本文是基于Zcash最新的论文和Aleo的ZEXE做的比较,虽然在具体的细节上有所不同,比如Key结构,具体使用的密码学方法;但是在high-level的设计上大体相同。

除了前面所讲述的技术细节外,仍然存在一些其他的技术细节暂未涉及,比如delegateprover方案,零知识证明算法,递归/聚合方案等,有兴趣的同学可继续研究。

1.关于Zcash?

一个简短的视频了解Zcash,大概需要2分钟。

https://zcash.readthedocs.io/en/latest/rtd_pages/basics.html

特点:

?匿名版的BTC,类UTXO模型

?只能做支付场景,不具备可编程性

协议升级,我们只关注最新版本。主要介绍Zcash里的各个核心概念。

Zcashprotocolspecification:section3.1,page12)

你可以在Zcashprotocolspecification:section4.2.3,page36了解这些Key的计算方式。

Web3 API 提供商 Moralis 现允许开发者自托管 Moralis 服务器:9月10日消息,Web3 API 提供商 Moralis 表示,作为向 Moralis 2.0 过渡的一部分,现允许开发者自托管 Moralis 服务器。Moralis 2.0 旨在允许开发人员将 Web3 集成到任何技术堆栈中,将支持使用 EVM 链进行身份验证等功能,最终将使开发人员能够将 Moralis 与所有 Web 和移动框架以及与 Unreal Engine 和 Unity 等游戏集成一起使用。[2022/9/10 13:21:01]

Zcashprotocolspecification:section3.2,page14)

在Zcash的协议中,因为隐私的需求,note是不能公开的,因此,需要计算对应的commitment来代表这个note,计算方式如下:

Zcashprotocolspecification:section3.2,page15)

Zcashprotocolspecification:section4.6,page41)

隐私输入是:

证明statement为:

Zcashprotocolspecification:section4.17.1,page40)

日本开发者Goda Takeshi发文提出连续公共物品资助:8 月 22 日,日本开发者 Goda Takeshi 在链上治理基础设施 Dora Factory 开发者社区发表文章\"连续公共物品资助\" (Continuous Common Good Funding)。文章描述了连续公共物品,以及通过改进联合曲线机制(Bonding Curve)实现对公共物品进行连续资助。

在此机制中,现有 Defi 生态可对公共物品定价,而曲线进行发行量调控。连续公共物品资助可以与 Optimism 和 Vitalik Buterin 共同提议的「可回溯公共物品资助\" (Retroactive Public Good Funding) 进行机制整合,由结果预言机 (Result Oracle) 直接通过连续公共物品资助购买公共物品的项目代币。[2021/8/22 22:29:39]

???花费的note的完整性,和noteplaint唯一绑定

???花费的note的有效性,cmtree的存在性证明

???Value承诺的完整性,和rcv,oldvalue,newvalue唯一绑定

???Nullifier的完整性,防止doublespend,维护一个花费的noteset

以太坊核心开发者eric.eth考虑创建EIP,以将区块奖励从2 ETH减少到1 ETH:以太坊核心开发者eric.eth表示,为了符合以太坊对最低必要发行量的承诺,已经开始分析我们为安全支付的费用(与对EIP-1234的分析一致)。eric.eth称正在考虑创建一个EIP,将区块奖励从2 ETH减少到1 ETH。

据悉eric.eth在EIP-1234中分析表示,区块奖励和向矿工支付的交易费用,是为了确保网络的安全。对比BTC和ETH网络,将区块奖励和交易费用都转换为美元,并跨时间进行比较。两者非常接近,有时ETH实际上向矿工支付的费用比BTC高。因此从不同区块链,很难比较网络安全和财务费用。因此使用市值作为衡量指标来分析网络是否向矿工支付了过高的价格。ETH市值金是BTC市值的34%,因此向矿工的支付是过度的(ETH和BTC矿工获得的奖励的美元价值接近,但ETH市值低),并证明减少区块奖励是合理的。

今日此前消息,矿工提出针对EIP-1559的提案EIP-3368,拟将当前区块奖励从2 ETH增加至3 ETH。[2021/3/13 18:42:09]

???花费的note的合法性

???地址的完整性

???新note的完整性

???flag的合法性

Blockstream首席战略官:并没有人在故意攻击比特币核心开发者:9月8日早间,Blockstream首席战略官Samson Mow发推称,不认为有人在攻击、故意围攻或忘恩负义地对待比特币的核心开发者。他们只是在表达自己的观点,即任何形式的在比特币中都没有位置。当然,有些人的声音可以更冷静一些。随后,Samson Mow又发推称,我们需要更多像ZmnSCPxj(匿名比特币开发者)这样的比特币开发者。与此同时,就在今日早间,Bitcoin.org网站共同所有者Cobra发推称,Chaincode Labs挖走了Blockstream最好的开发人员Pieter Wuille,并透露称,Blockstream正通过Twitter攻击Chaincode Labs的关联开发人员以作为回应。[2020/9/8]

Zcashprotocolspecification:section7.1,page119)

整个交易结构包含四个部分:

???Publicinfo(1-5)

???Transparenttransactionsinfo(6-9)

???Saplingtransactionsinfo(10-16)

???Orchardtransactioninfo(17-25)

动态 | TON开发者及投资者在SEC诉讼案中支持Telegram:金色财经报道,未受美国证券交易委员会(SEC)对Telegram提起的诉讼的影响,该公司区块链项目的开发者和投资者已组成了社区治理非营利组织TON社区基金会。该基金会首先的行动之一就是为Telegram辩护,在周五向纽约南区地方法院提交了法庭之友陈述。该陈述声称“社区有大约2000名活跃参与者”,并且“ TON区块链已全面运行,可以在5秒钟内发布。”之所以没有这样做,是因为SEC于10月提起的针对Telegram的诉讼中止了该区块链的启动。据悉,TON社区基金会由TON Labs的公关经理Fedor Skuratov创立,该基金会的网站已于周四晚上上线。到目前为止,该基金会共有22个成员,包括TON Labs、经纪公司Da Vinci Capital、钱包应用程序Atomic Wallet和Button Wallet、TON China和TON France以及多家科技初创公司。Telegram本身并未列出。[2020/2/15]

2.5.2从?transparent到?shield

Orchard协议里包含两种地址,transparentaddress(TA)和shieldaddress(SA)。一般,为了执行隐私交易,需要先从TA往SA转账,此时对应的交易结构应为:

??Publicinfo(1-5)

??Transparenttransactionsinfo(6-9)

ⅰ.tx_in_*:实际值

ⅱ.tx_out_*:默认值

??Saplingtransactionsinfo(10-16)

ⅰ.All:默认值

??Orchardtransactioninfo(17-25)

ⅰ.??All:实际值

2.5.3从?shield到?shield

Orchard协议里包含两种地址,transparentaddress(TA)和shieldaddress(SA)。一般,为了执行隐私交易,需要先从TA往SA转账,此时对应的交易结构应为:

??Publicinfo(1-5)

??Transparenttransactionsinfo(6-9)

ⅰ.?All:默认值

??Saplingtransactionsinfo(10-16)

ⅰ.?All:默认值

??Orchardtransactioninfo(17-25)

ⅰ.?All:实际值

2.5.4从?shield到?transparent

Orchard协议里包含两种地址,transparentaddress(TA)和shieldaddress(SA)。一般,为了执行隐私交易,需要先从TA往SA转账,此时对应的交易结构应为:

??Publicinfo(1-5)

??Transparenttransactionsinfo(6-9)

ⅰ.?tx_in_*:默认值

ⅱ.?tx_out_*:实际值

??Saplingtransactionsinfo(10-16)

ⅰ.?All:默认值

??Orchardtransactioninfo(17-25)

ⅰ.?All:实际值

??Unlinkable

生成的note用cm表示,花费的note用nf表示,nf和cm之间无任何联系,因此,任何人都无法通过这些信息去判断任何一个被生成的note是在哪一笔交易里被花费的。

??Private

ⅰ.?Senderaddress:

交易信息里不包含sender地址且spendAuthSig为一次性签名。

ⅱ.?Receiveraddress:

交易里不包含receiver的地址且新的Noteplaint用的是recevier的公钥加密。

ⅲ.Value:

用pedersencommitment形式隐藏Note,且通过bindsig来保证交易的balance属性。

1.和Zcash的异同

Zcash只能执行基于OUTX模型的隐私交易,不具备可编程性;因此,Aleo和Zcash最主要的区别是隐私可编程性;相同点是都支持隐私属性。

2.1Unit

和Zcash的note不同,Aleo里的基本操作单元是record,下面让我们看一下两者的主要区别:

Zcashprotocolspecification:section3.2,page14)

Zexeprotocolspecification:section3.1,page17)

虽然具体参数名称不相同,但是从功能角度来看,两者之间具有对应关系:

分别对应note拥有者的地址信息,承诺相关信息,nf/sn相关信息,value相关信息。

所以,两者结构基本类似;主要的区别在于record里的birthpredicate,deathpredicate。这是两个Boolean类型的函数,代表着,当一个record在birth(generate)和death(spend)阶段,分别需要满足的条件,这一块是支持user-defined,因此具有可编程性。

Zexeprotocolspecification:section3.1,page17)

和Zcash(2.5.1)的交易主要结构相比,仍然相似:

??消费的record对应的序列号sn,在Zcash里用nf表示,都是具有全局唯一性。

?新生成的record对应的承诺。

?新生成record的plaint,包括拥有者信息,对应的birth/deathpredicate等。

Zexeprotocolspecification:section2.4,page13)

需要证明:

??Oldrecord的有效性

??Oldrecord的合法性

??Newrecord的有效性

??Birth/Deathpredicate的有效性

3.1为什么都是utox-based,不是account-based?

Remark2.3

https://zips.z.cash/protocol/protocol.pdf

2.(Aleo)Zexeprotocolspecification:

https://eprint.iacr.org/2018/962.pdf

3.协议升级:https://z.cash/upgrade/

4.zerocash:https://eprint.iacr.org/2014/349.pdf

关于我们

Sin7y成立于2021年,由顶尖的区块链开发者组成。我们既是项目孵化器也是区块链技术研究团队,探索EVM、Layer2、跨链、隐私计算、自主支付解决方案等最重要和最前沿的技术。

微信公众号:Sin7Y

GitHub?|?Twitter?|?Telegram?|?Medium|?Mirror?|?HackMD?|?HackerNoon

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

水星链

[0:15ms0-0:660ms