Sin7y团队解读:理解隐私交易的设计原理(从Zcash和Aleo的技术出发)

邀请好友注册并登录,获取价值高达60000元的数字货盲盒。

引言

从论文的角度看,Aleo的可编程隐私设计所采用的的隐私设计和早期的Zcash的白皮书(zerocash)更为相近,类似的Key结构,类似的Note结构,类似的称呼(nf在zerocash里称为sn, serial number)。本文是基于Zcash最新的论文和Aleo的ZEXE做的比较,虽然在具体的细节上有所不同,比如Key结构,具体使用的密码学方法;但是在high-level的设计上大体相同。

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

Zcash 1. 关于Zcash?

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

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

特点:

? 匿名版的BTC,类UTXO模型

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

2. 主要概念

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

2.1 Key components

Sin7y团队解读:理解隐私交易的设计原理(从Zcash和Aleo的技术出发)1

图片来源

(Zcash protocol specification: section 3.1, page 12)

Sin7y团队解读:理解隐私交易的设计原理(从Zcash和Aleo的技术出发)2

你可以在Zcash protocol specification: section 4.2.3, page 36了解这些Key的计算方式。

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

2.2 Note

note是 Zcash 协议中的基本单元,类似于BTC中的UTXO;在Zcash中,所有交易的输入和输出都是notes。当然,Zcash也支持非匿名的交易,这样和BTC的交易模式一样。

所以,要想更深入的了解Zcash,得先需要了解note的数据结构:

Sin7y团队解读:理解隐私交易的设计原理(从Zcash和Aleo的技术出发)3

Sin7y团队解读:理解隐私交易的设计原理(从Zcash和Aleo的技术出发)4

图片来源

(Zcash protocol specification: section 3.2, page 14)

Sin7y团队解读:理解隐私交易的设计原理(从Zcash和Aleo的技术出发)5

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

Sin7y团队解读:理解隐私交易的设计原理(从Zcash和Aleo的技术出发)6

Sin7y团队解读:理解隐私交易的设计原理(从Zcash和Aleo的技术出发)7

图片来源

(Zcash protocol specification: section 3.2, page 15)

2.3 Action transfer

一笔交易里,可能包含多个action transfer,每个 action transfer 会花费老的note,生成新的note,其数据结构如下:

Sin7y团队解读:理解隐私交易的设计原理(从Zcash和Aleo的技术出发)8

图片来源

(Zcash protocol specification: section 4.6, page 41)

Sin7y团队解读:理解隐私交易的设计原理(从Zcash和Aleo的技术出发)9

2.4 Action statement

公共输入是:

Sin7y团队解读:理解隐私交易的设计原理(从Zcash和Aleo的技术出发)10

隐私输入是:

Sin7y团队解读:理解隐私交易的设计原理(从Zcash和Aleo的技术出发)11

证明statement为:

Sin7y团队解读:理解隐私交易的设计原理(从Zcash和Aleo的技术出发)12

图片来源(Zcash protocol specification: section 4.17.1, page 40)

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

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

?Value承诺的完整性,和rcv, old value, new value唯一绑定

?Nullifier的完整性,防止double spend,维护一个花费的note set

?花费的note的合法性

?地址的完整性

?新note的完整性

?flag的合法性

2.5 交易结构和示例

2.5.1 交易结构

Sin7y团队解读:理解隐私交易的设计原理(从Zcash和Aleo的技术出发)13

图片来源(Zcash protocol specification: section 7.1, page 119)

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

?Public info (1 – 5)

?Transparent transactions info (6 – 9)

?Sapling transactions info (10 – 16)

?Orchard transaction info (17 – 25)

2.5.2 从?transparent 到?shield

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

Public info (1 – 5)

Transparent transactions info (6 – 9)

ⅰ. tx_in_*:实际值

ⅱ. tx_out_*:默认值

Sapling transactions info (10 – 16)

ⅰ. All:默认值

Orchard transaction info (17 – 25)

ⅰ.All:实际值

2.5.3 从?shield 到?shield

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

Public info (1 – 5)

Transparent transactions info (6 – 9)

ⅰ.?All:默认值

Sapling transactions info (10 – 16)

ⅰ.?All:默认值

Orchard transaction info (17 – 25)

ⅰ.?All:实际值

2.5.4 从?shield 到?transparent

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

Public info (1 – 5)

Transparent transactions info (6 – 9)

ⅰ.?tx_in_*:默认值

ⅱ.?tx_out_*:实际值

Sapling transactions info (10 – 16)

ⅰ.?All:默认值

Orchard transaction info (17 – 25)

ⅰ.?All:实际值

2.6 如何实现隐私?

Unlinkable

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

Private

ⅰ.?Sender address:

交易信息里不包含sender地址且 spendAuthSig为一次性签名(每次都不一样,所以公钥不同,rk)。

ⅱ.?Receiver address:

交易里不包含receiver的地址 且 新的Note plaint用的是recevier的公钥加密(接受者的隐私地址也是一次性的)。

ⅲ. Value:

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

Aleo 1. 和Zcash的异同

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

2. Aleo VS Zcash 2.1 Unit

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

Sin7y团队解读:理解隐私交易的设计原理(从Zcash和Aleo的技术出发)14

图片来源

(Zcash protocol specification: section 3.2, page 14)

Sin7y团队解读:理解隐私交易的设计原理(从Zcash和Aleo的技术出发)15

图片来源

(Zexe protocol specification: section 3.1, page 17)

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

Sin7y团队解读:理解隐私交易的设计原理(从Zcash和Aleo的技术出发)16

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

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

2.2 交易结构

Sin7y团队解读:理解隐私交易的设计原理(从Zcash和Aleo的技术出发)17

图片来源

(Zexe protocol specification: section 3.1, page 17)

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

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

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

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

2.3 Prover statement

Sin7y团队解读:理解隐私交易的设计原理(从Zcash和Aleo的技术出发)18

图片来源

(Zexe protocol specification: section 2.4, page 13)

需要证明:

Old record的有效性

Old record的合法性(具备花费record的权利)

New record的有效性

Birth/Death predicate的有效性(类似于Zcash里的Balance校验)

3. 其他 3.1 为什么都是utox-based,不是account-based?

Remark2.3(Zexe protocol specification: section 2.3, page 11)

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

参考

1. (Zcash)Zcash protocol specification(文中前6张图片来源):

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

2. (Aleo)Zexe protocol specification(Figure4/5/6,Remark2.3):

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:Sin7y

Twitter:@Sin7y_Labs

Medium:Sin7y

Mirror:Sin7y

HackMD:Sin7y

HackerNoon:Sin7y

Email:contact@sin7y.org

文章来源于句子百科。

欧易安卓下载:http://www.567btc.com

欧易IOS下载:http://www.567btc.com

注册领取新手礼包!交易手续费返现:20%! 

免责声明: 文章源于会员发布,不作为任何投资建议

如有侵权请联系我们删除,本文链接:https://www.sws100.com/qukuai/173094.html

(0)
句子百科句子百科
上一篇 2023年 1月 15日
下一篇 2023年 1月 15日

相关推荐

  • 比特币反弹是什么意思?

    比特币反弹就是指最近比特币在下跌状态,但是又重新回到上涨状态。比特币成已经成为了越来越多人选择的一种投资方式,比特币有着高收入,高风险的特点,人们都知道,比特币的价格一直在变化着。 英国Think Markets公司的首席市场分析师,纳伊姆·阿斯拉姆(NaeemAslam)表示,比特币价格的下一波上扬需要借助美国证券交易委员会(SEC)的帮忙。 在阿斯拉姆看…

    区块链 2023年 3月 29日
  • Vitalik Buterin:区块链和加密货币间存在“紧密联系”,以至于“缺一不可”

    11月21日消息,以太坊联合创始人Vitalik Buterin在接受海峡时报采访时表示,考虑到新加坡对加密资产类别持怀疑态度,新加坡在加密货币监管方面的善意尝试可能不会奏效。V神说他很欣赏新加坡对加密行业的支持愿意,但这一切可能都是徒劳的。V神表示:“世界各地的监管机构都希望支持新兴技术,但同时也觉得加密货币‘奇怪和可怕’。由于对加密货币缺乏理解和恐惧,监…

    区块链 2022年 12月 9日
  • 虚拟货币怎么来的

    关于虚拟货币怎么来的这个问题很多人都不太了解,下面由句子百科Sws100.com小编为大家详细讲解一下,大家来看下。 1.虚拟货币从何而来?虚拟货币是由中央银行创建的,宣布它存在并在分类账上跟踪它。 2.相当于马来西亚全国一年的耗电总量。 3.(⊙_⊙)每天一篇全球人文与地理微信公众号:地球知识局NO.2067-汉武帝“虚拟货币”作者:朝乾校稿:辜汉膺 / …

    2023年 3月 23日
  • CSO币怎么样?这个项目可以投资吗?

    对于cso新币,还是给予支持,给予1分评级! 首先:水晶CRYSTO战略规划中,团队将交易所水晶Ex作为生态内的重要布局,用以实现流量沉淀和有效盈收的能力,继而建立水晶商城聚拢文化产业供应链中上下游的供应商,后续如早晚读书等合作应用将有效为CRYSTO生态引流,长期教育和引流传统用户,待最后时机成熟之时再将生态组成文娱垂直公链水晶CRYSTO。CSO币规划是…

    区块链 2023年 3月 22日
  • 安卓欧易app最新版本更新 欧易网页版登录入口

    欧易软件介绍: 欧易交易所app是一款非常好用的金融类软件,超多全新的数字货币上线,为各位投资数字货币的小伙伴提供最新、最及时的数字货币市场行情,更好的创造价值。完整和最新的外汇数据为用户提供了最具吸引力和最新的体验。除市场数据外,还为用户提供7*24小时直通车,让用户随时查看,提高对期货的理解和操作,并以现有成本创造最大价值。 欧易交易所app官网版推荐理…

    2022年 11月 6日

联系我们

在线咨询: QQ交谈

邮件:k37759@foxmail.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信