原文精选:零币通过铸币过程而产生,而且任何人都可以铸造一个标准面值的零币。为简便起见,我们认为零币只有一种面值,每一个零币价值一个基础币。虽然任何人都可以铸造一个零币,但是产生的零币并不自动具备任何价值——你不可能获得免费的钱。只有把零币放到区块链网络上,并且通过消耗一个基础币的方式,它才能具备价值。
为了铸造一个零币,你需要使用加密学承诺。回顾一下我们在第1章讲过的内容,承诺方案类似于将一个值放入一个信封,并将信封置于所有人的视野中(见图6.11)。
铸造零币的过程分为三步:
1.生成一个序列号S和一个随机密钥r。
2.计算一个函数Commit(S,r),这是序列号S的承诺。
3.如图6.12所示,在区块链上发布该承诺,这需要消耗一个基础币,此币不可再被花费,进而创建了一个零币。此时并S和r仍然是保密的。
读书笔记:
1,零币并不自动具备任何价值,,只有把零币放到区块链网络上,并且通过消耗基础币的方式,才具备价值。
2,为了将一个零币置于区块链中,需要创建一个铸币交易。
原文精选:为了消耗一个零币并赎回新的基础币,你需要证明你之前已经铸造了一个零币,你可以通过公开之前的承诺也就是说公示S和r的值来证明这一点,但是这样显然就建立了一个你的旧的基础币和新的基础币之间的关联,那么我们怎样才能打破这个关联呢? 这个时候就用到零知识验证了,在任何时间节点,区块链网络上都有很多的承诺对象——我们将其命名为c1,c2,…,cn。
以下是消耗一个具有序列号S的零币以赎回一个新基础币的步骤:
● 创建一个特殊的“花费”交易,这个交易包含序列号S和一个具备零知识验证的声
明:“我知道在承诺对象(S,r)中的r在以下的集合里:{c1,c2,...,cn}”。
● 矿工将会验证你的零知识验证,这将给予你打开区块链中一个零币承诺的能力,
而你并不需要真的打开它。
● 矿工也会查询序列号S,确认这个零币没有在之前的花费交易中被使用过(为了防
止双重消费)。
● 你的花费交易的输出将形成一个新的零币,你应使用你所拥有的一个地址来作为
输出地址。
读书笔记:
花费交易展示了之前铸币交易中所锁定的序列号S,以及S和之前的铸币交易的关联性的零知识验证。不像一个铸币交易或者一个普通的比特币/基础币的交易),这个花费交易没有输入地址,因此也没有签名,只有一个零知识验证的证明来确立它的有效性。
一叶之秋带你一分钟速读经典书籍,每天一分钟(只需阅读读书笔记部分),天天获新知。
一叶之秋——非著名股票分析师
CCTV证券资讯频道特邀分析师
币乎,币问内测作者;区分认证分析师
金色财经,币世界专栏作家
《区块链编年史》 《区块链重塑未来》系列作者
量价时空战法体系,一分钟读书俱乐部创始人
公众号:区块链项目评测
007er
网友评论