《比特币史话》(上帝掷骰子)读后感

得知读书会《比特币史话》票数最高后,我连夜又逐字逐句、咬文爵字地开始了重读,试图夯实刷新关于区块链的基础认知,脑中重现比特币诞生前后的时空环境,教链宛如中本聪肚里的“蛔虫”,复现了其当时的思路想法,让我们深刻体会到中本聪用西方积淀的理论、技术、逻辑、多学科专业领域知识和技术的融合,发明了人类史上第一个无任何组织可以审查、掌控的统一的度量衡!这是划时代的伟大发明!以至于发明人从此遁迹人间!

我深为教链知识的渊博、专业领域的宽广、信息来源的及时和解读的深邃所折服。

区块链常见的找不到权威正确答案的疑问,教链一一做了专业基础知识和技术方面的原理性的解读。

比如量子计算机攻破问题:

教链讲即使量子霸权成真,即便量子肖尔算法实用,比特币所用的哈希函数也不会被攻破,因为哈希算法天然对量子计算机具有免疫力。支付到“公钥哈希”取代“支付到公钥”,就是为了避免“未花交易输出”的公钥上链公开,从而让比特币资产处于哈希的保护之下,而不再是在椭圆曲线的保护之下,以更好的姿态迎接量子计算机时代的到来。

比如密码学哈希函数的免碰撞性、隐藏性、穷举尝试——暴力破解(迷题友好性)三个性质,书中做了详细讲解。

同时也学习到应用广泛的MD5和SHA-1这两个哈希算法早在2004年已被王小云破解,现在还在大量广泛使用,故在不同的系统应该设置差别大(而不是相近)的不同的密码是最佳的自我保护方式。

了解到中本聪采用的SHA-256哈希函数是非常强壮的,可以持续几十年屹立不倒,但也提出一旦被突破性技术突破或被渐进式突破,对应明确了两种应对方法,可见设计思虑之深远和周密。

中本聪关于比特币地址既短又安全的设计

中本聪为了让比特币地址更短,讲地址是公钥的哈希,而不是(椭圆曲线数字签名 算法的)公钥。中本聪先对公钥做了SHA-256哈希,然后把结果又做了一次RIPEMD-160哈希,得到了比特币地址。这种双层哈希的设计,是中本聪的一个独特手法。在比特币区块挖矿中, 换成了双层SHA-256哈希结构。

中本聪巧妙设计了比特世界之“宙”—时间戳服务器——时间之失——区块链。

关于工作量证明

“亚当·贝克发明的“哈希现金”,就是一种构造简单、使用方便、难度易于调节的“工作量证明”。工作量证明必须有几个特点:第一是无法伪造,任谁都必须老老实实地用笨方法计算出来;第二是生成困难,即证明一方必须付出相当的工作时间,这段工作时间必须足够长,长到具有一定意义,比如可以有效阻止垃圾邮件发送者;第三是验证简单,验证一方可以不费吹灰之力就能检验这个工作证明的真伪。在区块链的数据结构中,“哈希指针”所指示的区块顺序,其本质是空间的, 而非时间的。也就是说,各区块仍如康德所说,是并存的,而非相继的。单纯作为一种数据结构的区块链,只有空间意义,而没有时间意义。没有时间意义的区块链,就真的只是区块链,而不是时间链。没有时间意义的区块链,就仍然必须依赖外部时钟同步性,也就仍然需要依赖外部的中心化控制点。而比特币系统要消除这种外部依赖,实现去中心化并且是无须许可的(Permissionless)网络,应付各节点本地时钟的自然漂移,以及作弊者、攻击者和恶意节点故意篡改本地时间的“时间扭曲攻击”,就需要具有一个内生的、不可篡改的、全局一致的时间,一条时间链,一个具有时间意义的区块链。在2008年比特币白皮书中,中本聪这样写道:“要实现这样一个点到点的分布式时间戳服务,我们就需要使用类似于亚当·贝克的哈希现金这样的工作量证明 系统。”[20-4]正是借助工作量证明,赋予了哈希指针——时间之矢,中本聪才成功地把区块链变成了时间链,实现了比特币系统的点到点形式和去中心化。这一点对于比特币成为可能是如此之关键,以至亚当·贝克一度曾被怀疑是中本聪的真身。

关于时间扭曲攻击的概念

一个区块就是一个工作量证明,即每计算出一个工作量证明才能生成一个区块。,记录比特币交易的各区块所附带的时间记忆就使比特币的区块链变成了时间链。,更具体的,成了“一条工作量证明的链”(A Proof-of-Work Chain)。在这条“工作量证明链”上,时间具有了二重性,既是指内生的区块时间,又是指对应的外部世界的时间。区块时间是比特币系统的内生时间,区块哈希是它的滴答声,它的刻度是区块的高度,相对尺度是区块的数目。而同时,每一个刻度点,也就是每一个区块,都记录了当前区块时间 所对应的外部世界的一个时间(这个外部时间不一定是准确的),唯一不能被伪造的,就是计算“工作量证明”所需要花费的时间。而每一个区块中所记录的工作量证明,就是这个区块是上一个区块在时间上的后继的、有力的、唯一的证明。

如何让内生时间从一个个独立计算的“工作量证明”中自发涌现出来,并保持和外部世界时间的协调一致呢?这是一个十分关键的问题。每个区块所记录的时间戳会有一个相 对性的范围限制要求,这个要求主要有两点[21-2]。第一,不能比本地时间超前2 个小时以上。第二,必须晚于过去11个区块的中位数时间戳,也就是说,我们允许任何一个接入比特币网络的节点能够基于历史来验证时间戳,而不是基于当前本地时间。这样做的原因是,比特币网络的“无许可性”允许任何节点、在任何时刻、无须任何批准自由加入或退出。

让所有人达成共识的唯一方法就是无条件相信最长链是有效链”。

我的疑惑:没看懂时钟同步性是如何解决的?

·END·免责声明:转载此文仅作为区块链知识分享,不构成任何投资建议,投资有风险,请理性看待。

作者:微尘(fangsheng.j)

Jouleverse更多介绍见:https://github.com/Jouleverse

JNS立足于Jouleverse,建设便捷、可信的Web3域名账户系统,成为数字游民进入区块链元宇宙的入口。详情介绍见:https://jnsdao.com《Jouleverse(焦耳宇宙)漫游指南》,整体涵盖了Jouleverse的主要方面,在知识库公开可见,欢迎阅读:

https://how.jouleverse.com/#!contribute/how-to-ramp-up.md


微尘 JNSDAO 2024年09月08日 21:43 广东
https://mp.weixin.qq.com/s/-8K3M1Fi5BfICuQyTkuERg

暂无评论

发送评论 编辑评论


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