一分钟读书俱乐部:《区块链技术驱动金融》系列(五)隐秘性的应用:
原文精选:现在来看一下隐秘性的应用。具体来说,我们把想做的事情称为承诺(commitment)。这里承诺是一个数字化过程,可以类比为以下动作:首先选定一个数字,将数字装进信封,然后将该信封放到一个人人都看得到的桌子上。这样做以后,可以说你就信封里的数字做出了承诺,在打开信封前,虽然你已经做出了承诺,对其他人来说它还是秘密。在之后,你可以打开信封,来展示承诺的数值。
![](https://img.haomeiwen.com/i10728888/9e798e3073aae77f.jpg!thumbnail)
承诺协议 一个承诺协议方案由两个算法构成:
● com:=commit(msg, nonce),承诺函数将信息(msg)和一个临时随机数(nonce)作为输入,输出就是一个“承诺”。
● verify(com, msg, nonce),验证函数将某个承诺输出(com)、临时随机数(nonce)及信息(msg)作为输入,如果com==commit(msg, nonce),则返回“真”(true);反之则返回“假”(false)。
读书笔记: 1,我们想要做的事情都是一个承诺。
2,比如有一个信封,里面有一个数字,你对这个数字做出承诺。虽然其他人都能
看到这个信封,但是看不到数字,也就是对其他人还是具有隐秘性。
3,打开信封后,其他人都看到了数字,你展示了承诺。
原文精选:我们要求以下两个安全特性要成立:
● 隐秘性:已知com,没有可行的方法找到msg。
● 约束性:没有可行的办法找到两组(msg, nonce)和(msg’, nonce’),msg≠msg’,而commit(msg, nonce)==commit(msg’, nonce’)。
为了使用承诺方案,我们首先需要产生一个临时随机数。然后将这个临时随机数与承诺信息msg一起代入承诺函数,计算承诺函数输出值com,然后公布该输出。这个过程就如同将封好的信封放到一个人人能看到的桌上那样。之后,如果我们希望展示之前的承诺值,我们首先公布用于产生承诺的临时随机数,并公布信息msg。此时任何人都可以验证这时公布的msg是否为之前诺,这个阶段就如同打开信封。
读书笔记: 1,使用承诺方案,首先需要产生一个临时随机数。
2,这个临时随机数(数字)与承诺信息msg(信封)一起代入承诺函数,计算承
诺函数输出值com,然后公布该输出(只展示了信封)。
3,任何人都可以验证这时公布的msg是否为之前的承诺(相当于打开信封)。
一叶之秋带你一分钟速读经典书籍,每天一分钟(只需阅读读书笔记部分),天天获新知。
一叶之秋——非著名股票分析师
CCTV证券资讯频道特邀分析师
币乎,币问内测作者;区分节点分析师
金色财经,币世界专栏作家
《区块链编年史》 《区块链重塑未来》系列作者
量价时空战法体系,一分钟读书俱乐部创始人
公众号:区块链项目评测
007er