1703864750
1703864751
1703864752
安全性与随机性
1703864753
1703864754
你可以不经过中央机构而生成一个身份的概念可能看起来有悖常理。毕竟,如果有人刚好就生成了跟你一样的密钥,他不就能偷走你的比特币吗?
1703864755
1703864756
我们给你的回答是,别人生成一个与你的相同256位密钥的概率如此之小,在实践中,我们不需要担心它会发生。总而言之,我们保证这种情况绝不会发生。
1703864757
1703864758
一般来说,与新手的直觉不同的是,概率系统是不可预测且难以推理的,反面的常常是真的——统计学理论使得我们可以精确地量化我们感兴趣的事件的概率,并对该系统行为做出自信的推论。
1703864759
1703864760
但还有一个精妙之处:概率保证只有在密钥为随机产生时为真。在现实系统中,随机的生成常常是薄弱环节。如果两个用户的电脑使用同样的随机来源或者使用可预测的随机,那么理论保证不再适用。所以,在生成密钥时使用良好随机源至关重要,以确保实践保证与理论保证相符。
1703864761
1703864762
乍一看,去中心化身份管理可能极具匿名性及隐秘性。毕竟,你可以自己创建一个看起来很随机的身份,同时也不用告诉任何人你的真实身份是什么。但事实并不是这么简单,随着时间的推移,你创建的身份会做出一系列的声明。人们看到这些声明便知道拥有这个身份的人做出了特定的一系列行为。他们能够开始将细节联系起来,从这一系列的行为推断出你的真实身份。随着时间的推移,一个观察者可以将这些事情联系起来,并推断出这样的结论:“天,这个人的行为好像乔(Joe),可能这个人就是乔。”
1703864763
1703864764
换句话说,在比特币系统中,你不需要明确地注册或揭露你的真实身份,但是你的行为模式本身可能是可识别的。这就是比特币等加密货币的基本隐秘性问题,我们将会在第6章专门讨论这个问题。
1703864765
1703864766
1703864767
1703864768
1703864770
区块链技术驱动金融:数字货币与智能合约技术 1.5 两种简单的加密货币
1703864771
1703864772
现在,让我们从密码术过渡到加密货币。我们之前的密码术干货在这里就要开始发挥作用了,今后我们会逐渐看到各部分之间如何相互联系,也会发现哈希函数和数字签名等密码程序的意义。在本节,我们将讨论两种很简单的加密货币。当然,我们也需要学习本书后面大量的内容,才能深刻阐释比特币本身的运作机制。
1703864773
1703864774
高飞币
1703864775
1703864776
第一个是高飞币(GoofyCoin,此币的创造者叫高飞),它应该是我们能想到的最简单的加密货币。高飞币只有两个规则,第一个规则是指定高飞可以随时创建新币,且这些新创建的币都属于他。
1703864777
1703864778
为创建新币,高飞生成一个他之前从未生成的唯一的货币编号(uniqueCoinID),并建立字符串“CreateCoin [uniqueCoinID]”。然后,他使用秘密签署密钥计算这个字符串的数字签名,该字符串与高飞的签名就构成一单位币。任何人都可以验证该新币包含高飞有效签名,因此该新币为有效币。
1703864779
1703864780
高飞币的第二个规则是,拥有此币的人可以将其转给其他人。转移一只币不是简单地将币数据结构发送给接受者,而是必须通过密码程序来完成。
1703864781
1703864782
假设高飞想把他创建的一只币转给爱丽丝。未达成这个目的,他需要创建一个新的声明表示“将此币支付给爱丽丝”,在此声明中“此币”就是该币的哈希指针。如上所述,身份其实就是公钥,因此“爱丽丝”指的就是爱丽丝的公钥。最后,高飞签署代表该声明的字符串。因为高飞是起初拥有该币的人,他必须签署花掉该币的任何交易。一旦由高飞签署的代表他的交易的这个数据结构存在,爱丽丝便拥有这个币。她可以向任何人证明她拥有这个币,因为她可以展示有高飞有效签名的数据结构。此外,它也指向曾经为高飞所有的一个有效币。因此,该币的有效性及所有权在系统中就不言自明了。
1703864783
1703864784
一旦爱丽丝拥有了这个币,她也可以花掉它。为达到这个目的,她创建了一个声明表示“将这个币付给鲍勃的公钥”,此时“这个币”就是她所有的那个币的哈希指针。当然,爱丽丝要签署该声明。任何看到这个币的人都可以验证鲍勃是其所有人。他们可以根据哈希指针链追溯到该币的创建及验证每一个步骤,这就是其合法所有人签署了一份声明表示“将这个币支付给[新的所有人]”,详见图1.10。
1703864785
1703864786
1703864787
1703864788
1703864789
图1.10 高飞币交易
1703864790
1703864791
注:该图示例了货币创造的过程和被花费过两次的过程。
1703864792
1703864793
总结一下,高飞币的规则是:
1703864794
1703864795
● 高飞可以通过签署声明表示他使用唯一的货币编号来创建一个新币。
1703864796
1703864797
● 币的所有人可以通过签署声明表示“将这个币转给X”(其中X为公钥),将其转给另一个人。
1703864798
1703864799
● 任何人都可以验证一只币的有效性,跟随哈希指针追溯到它是由高飞创建,并验证过程中所有签名。
[
上一页 ]
[ :1.70386475e+09 ]
[
下一页 ]