比特币史话·20 | 时间之矢(3)

(亚当·贝克,哈希现金发明者。图片来源于网络)

本篇看点:为什么单纯的区块链数据结构没有时间意义?中本聪又是如何把区块链变成时间链的呢?


前情回顾:
【连载】比特币史话 | 哈希(4)
【连载】比特币史话 | 时间之矢(1)
【连载】比特币史话 | 时间之矢(2)

正文:
在上世纪80年代,随着互联网的发展,电子邮件开始兴起。到了90年代,电子邮件得到了广泛的使用,垃圾邮件的问题也日益凸显出来。1992年8月16到20号,在美国加州圣巴巴拉召开了第12届年度国际密码学大会[1]。正是在这次学术会议上,美国哈佛大学计算机科学家辛西娅·德沃克(Cynthia Dwork)和以色列计算机科学家莫妮·纳尔(Moni Naor)提出了一种利用密码学技术对抗垃圾邮件的方法。1997年5月,英国密码学家、密码朋克、企业家亚当·贝克(Adam Back)独立提出了类似的对抗垃圾邮件的方法,并把这种方法叫做“哈希现金”(hashcash)。2002年8月,亚当·贝克又发表了对这一方法的改进,论文标题叫做《哈希现金 – 一种拒绝服务攻击的对抗策略》(Hashcash – A Denial of Serivce Counter-Measure)[2]。[公众号:刘教链]
这种方法的核心思想,就是利用了密码学哈希函数难以被破解的性质,或者说,暴力破解哈希函数需要消耗大量计算时间的特点,反其道而行之,要求每个发信人都必须花费一点点计算时间去破解哈希函数。为了控制时间不要太长,不要求完全破解(也不可能完全破解),只要求部分破解,也就是解出“最开始有若干个0”(若干位“前导0”)的哈希值即可。收信人收到这样的哈希值和原文,就知道发信者的确是耗费了一点点计算时间的。而对于垃圾邮件发送者,每封邮件都要耗费计算时间,就会大大延缓他发送垃圾邮件的速度,并消耗他的计算资源,甚至使之成为一种不划算的事情。要调节破解难度和计算耗时,只需要调整“前导0”的位数要求即可。位数增加,难度上升,耗时增加;位数减少,难度下降,耗时减少。[公众号:刘教链]
美国计算机安全研究者马库斯·雅各布森(Markus Jakobsson)和阿里·尤尔斯(Ari Juels)在1999年发表了论文《工作量证明和面包布丁协议》(Proofs of work and Bread Pudding Protocols),首次创造并使用了今天我们所熟知的“工作量证明”(PoW, Proof of Work)一词。而亚当·贝克发明的“哈希现金”,就是一种构造简单、使用方便、难度易于调节的“工作量证明”。工作量证明必须有几个特点:第一是无法伪造,任谁都必须老老实实用笨方法计算出来;第二是生成困难,即证明一方必须付出相当的工作时间,这段工作时间必须足够长,长到具有一定意义,比如可以有效阻止垃圾邮件发送者;第三是验证简单,验证一方可以不费吹灰之力就能检验这个工作证明的真伪。[公众号:刘教链]
在区块链的数据结构中,“哈希指针”所指示的区块顺序,其本质是空间的,而非时间的,也就是说,各区块仍如康德所说,是并存的(co-existent),而非相继的(successive)。单纯作为一种数据结构的区块链,只有空间意义,而没有时间意义。没有时间意义的区块链,就真的只是区块链,而不是时间链。没有时间意义的区块链,就仍然必须依赖外部时钟同步性,也就仍然需要依赖于外部的中心化控制点。而比特币系统,要消除这种外部依赖,要实现去中心化、并且是无需许可的(permissionless)网络,各节点时钟的自然漂移,以及作弊者、攻击者和恶意节点的故意篡改本地时间的“时间扭曲攻击”,都需要比特币系统具有一个内生的、不可篡改的、全局一致的时间,一条时间链,一个具有时间意义的区块链。[公众号:刘教链]
在2008年比特币白皮书中,中本聪这样写道,“要实现这样一个点到点的分布式时间戳服务,我们需要使用类似于亚当·贝克的哈希现金这样的工作量证明系统”。正是借助于工作量证明,赋予了哈希指针以时间之矢,中本聪才成功地把区块链变成了时间链,实现了比特币系统的点到点形式和去中心化。这一点对于比特币成为可能是如此之关键,以至于亚当·贝克一度被大家怀疑为是中本聪的真身,但是他本人对此予以坚决否认。[公众号:刘教链]


【未完待续】(公众号:刘教链)

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇

您不能复制本页内容(。・_・。)ノI’m sorry~