具体描述
本书是一本区块链底层开发入门图书,全书围绕作者开发的区块链模拟器,从原理和程序实现两个方面介绍了区块链开发技术。书中首先通过一个数字货币发行的故事,介绍了区块链的专业术语和工作原理;然后结合区块链模拟器的程序实现过程,介绍了区块链的关键技术细节。毫不夸张地讲,本书是一本手把手带领读者学习区块链开发的图书。
本书共7章。第1章从一个数字货币发行的故事引出了区块链,并围绕该故事介绍了区块链的基本原理和常见概念;第2章对区块链模拟器的基本功能和架构做了具体介绍,并对Python入门知识做了简单介绍;第3章介绍了区块链的加密技术,包括哈希算法、椭圆曲线加密和钱包等,并对热门的格密码进行了初步探讨;第4章介绍了UTXO模型中交易的数据结构,以及交易的创建和独立验证有效性的过程;第5章介绍了区块的数据结构、区块头的组成和意义、梅克尔树的作用和实现、创世区块所包含的内容、区块如何链接成区块链等;第6章以工作量证明(POW)共识算法为例,介绍了区块链达成全网共识的整个过程;第7章从专业技术角度进一步探讨了区块链技术的一些相关话题。
本书内容通俗易懂,讲解犹如庖丁解牛,非常适合区块链开发人员作为自己的*本区块链技术读物,也适合区块链爱好者作为兴趣读物。另外,本书还适合作为区块链培训班的教材及需要了解区块链知识的相关领导干部的学习指导书。
作者简介
裴尧尧 博士,有限元开源框架Feon的开发者。目前任教于湖北工业大学,从事算法研究与教学工作。擅长Python语言,热爱区块链技术,是区块链技术的推崇者。对区块链的底层实现有较为深入的研究,希望能为区块链的发展尽绵薄之力。著有《Python与有限元》一书,广受读者好评。
目录信息
1.1 区块链简要发展史 2
1.1.1 什么是比特币 2
1.1.2 比特币与区块链的关系 2
1.2 什么是中心化 3
1.2.1 交易 3
1.2.2 数字货币 3
1.2.3 复式记账法 4
1.2.4 未消费交易输出 6
1.2.5 中心化 7
1.2.6 区块与区块链 8
1.2.7 创世区块 9
1.3 去中心化原理 11
1.3.1 分布式存储 12
1.3.2 对等网络 12
1.3.3 交易池 14
1.3.4 “挖矿” 16
1.3.5 创币交易 17
1.3.6 工作量证明 18
1.3.7 共识与共识算法 19
1.3.8 确认 20
1.3.9 诚实节点和恶意节点 20
1.3.10 区块链分叉 21
1.3.11 双重支付 24
1.3.12 虚拟机 25
1.3.13 矿机和矿池 26
1.4 遗留的问题 26
第2章 区块链模拟器及Python入门 29
2.1 区块链模拟器GUI简介 30
2.1.1 为什么写区块链模拟器 30
2.1.2 区块链模拟器GUI简介 30
2.2 Python入门 36
2.2.1 为什么是Python 37
2.2.2 Python基础知识 37
2.3 Simchain简介 59
2.3.1 什么是Simchain 59
2.3.2 Simchain设计 61
2.3.3 Simchain使用 67
2.4 区块链四要素 72
第3章 区块链中的加密 73
3.1 为什么需要加密 74
3.2 如何实现加密 74
3.2.1 哈希算法 74
3.2.2 私钥、公钥和地址 82
3.2.3 实数域上的椭圆曲线 88
3.2.4 有限域上的椭圆曲线 90
3.2.5 椭圆曲线加密 97
3.2.6 钱包 105
3.3 可能的破解算法 111
3.3.1 枚举法 111
3.3.2 BSGS算法 112
3.3.3 Pollard's rho算法 114
3.3.4 随机数攻击 115
3.3.5 如何保护私钥安全 117
3.4 格密码初探 118
3.4.1 抗量子计算密码 118
3.4.2 格基础知识 119
3.4.3 格问题 126
3.4.4 最短向量问题 128
3.4.5 最近向量问题 130
3.4.6 GGH数字签名 133
3.4.7 Lyubashevshy数字签名 135
第4章 交易 141
4.1 创建交易 142
4.1.1 交易的格式 142
4.1.2 交易的数据结构 143
4.1.3 UTXO与UTXO集 151
4.1.4 一般交易的创建 157
4.1.5 创币交易的创建 164
4.2 广播交易 165
4.3 验证交易 166
4.3.1 一般交易的验证 166
4.3.2 创币交易的验证 174
4.4 交易传播中的安全 174
4.4.1 签名明文攻击 174
4.4.2 创币交易的安全 176
4.5 可编程的交易 177
4.5.1 比特币脚本 177
4.5.2 脚本引擎的工作原理 177
4.5.3 堆栈机LittleMachine 183
4.5.4 多重签名 191
4.6 交易的“一生” 193
第5章 区块与区块链 195
5.1 区块 196
5.1.1 什么是区块 196
5.1.2 区块的数据结构 196
5.1.3 区块头 200
5.1.4 梅克尔树的构建 201
5.1.5 简易支付验证与SPV节点 205
5.2 区块链 211
5.2.1 区块链的构成 211
5.2.2 创世区块 213
5.2.3 区块链分类 217
第6章 去中心化共识 219
6.1 常见的共识算法 220
6.1.1 区块链中的共识 220
6.1.2 工作量证明POW 221
6.1.3 Raft协议 228
6.2 创建候选区块 233
6.2.1 交易选择策略 234
6.2.2 消失的交易 234
6.2.3 创建创币交易 234
6.2.4 创建候选区块 237
6.3 挖矿、打包、广播区块 239
6.3.1 “挖矿” 239
6.3.2 打包候选区块 239
6.3.3 广播区块 240
6.4 验证区块 241
6.5 区块链分叉 244
6.5.1 偶然分叉 244
6.5.2 硬分叉和软分叉 247
6.6 添加到区块链 248
6.6.1 比特币中的区块添加原则 248
6.6.2 51%攻击 252
6.6.3 Simchain中的区块添加原则 253
6.7 区块的“一生” 262
6.8 知识总结 263
第7章 杂谈 265
7.1 关于区块链常见问题的讨论 266
7.2 关于真假区块链项目的辨别 268
7.3 关于区块链技术的发展趋势 269
7.3.1 抗量子密码学 269
7.3.2 零知识证明 269
7.3.3 代码漏洞检测 271
7.4 关于以太坊与智能合约 271
7.5 关于区块链应用的愿想 272
· · · · · · (收起)
读后感
用户评价
这本厚厚的书,光是拿到手里沉甸甸的质感就让人对内容充满期待。我是一个对技术有浓厚兴趣的业余爱好者,平时总是在网上零散地看一些关于区块链的碎片信息,感觉知识体系一直很零碎,找不到一个清晰的脉络。这本书的封面设计简洁大气,没有那些花里胡哨的图案,直接点明了“从零开始自己动手写”的核心,这对我这种实操型学习者来说简直是福音。我特别欣赏作者在序言中提到的“不追求快速致富,而专注于理解底层逻辑”的理念。市面上太多鼓吹暴富的区块链书籍,让人望而却步,而这本书显然是将重点放在了“构建者”而非“投机者”的培养上。我迫不及待地翻开了第一章,期望能跟随作者的引导,一步步揭开这个看似神秘的技术面纱,真正掌握其核心技术,而不是停留在概念层面。从排版来看,字体大小适中,留白得当,阅读体验感非常好,这对于一本需要长时间钻研的技术书籍来说至关重要。
这本书的价值还体现在其对风险和局限性的坦诚态度上。很多技术书籍为了凸显技术的“高大上”,往往会回避其固有的弱点或潜在的陷阱。但在这本书中,作者在介绍完某个功能强大的特性后,总会紧接着讨论它在安全性、性能扩展性方面可能存在的瓶颈,以及业界目前正在尝试的解决方案。这种辩证的、不偏不倚的分析角度,极大地提升了阅读体验的客观性和可靠性。它教会了我,真正的技术人不仅要懂得如何构建,更要懂得如何批判性地评估自己构建的事物。通过这本书,我对区块链技术有了更成熟、更全面的认识,不再是盲目追捧,而是能从工程实践的角度去审视它的优劣。这对于任何一个想要在这个领域深耕的人来说,都是一笔宝贵的精神财富。
坦率地讲,起初我对“自己动手写”这个标题持保留意见,总觉得这可能需要深厚的计算机背景才能驾驭。然而,阅读过程中的体验完全颠覆了我的预设。作者在描述每一个技术点时,都保持了一种近乎唠叨的细致,但这种“唠叨”恰恰是自学者的救星。例如,在解释非对称加密原理时,书中不仅画出了清晰的流程图,还配有大量的注释来解释为什么需要公钥和私钥的配对,以及它们在数字签名中的具体应用场景。这种对细节的打磨,让那些原本晦涩难懂的概念变得生动具体起来。最让我印象深刻的是,作者在讲解共识机制(比如PoW)时,没有仅仅停留在理论描述,而是用类比的方式,将矿工的竞争过程比喻成一个社区的记账流程,极大地降低了理解门槛。这表明作者投入了巨大的心力来打磨教学方法,力求让每一个有志于学习的人都能跟上节奏。
这本书给我最大的收获在于其“工具箱”式的实用性。它不仅仅停留在概念的普及,而是深入到了实际操作层面,对于那些真正想把区块链技术应用到实际项目中的人来说,这本书的价值是无法估量的。我发现书中的代码示例非常贴合当下主流的技术栈,即便我不是最顶尖的程序员,也能通过书中的引导,搭建出一个可运行的最小可行性产品(MVP)。更重要的是,作者对于代码的每一个关键部分都进行了详尽的解释,告诉你这段代码在整个区块链系统中扮演什么角色,如果不这么写会有什么后果。这种“剖析骨骼”式的教学,培养的是一种底层思维,让我们在未来面对新技术迭代时,也能快速定位问题并理解新机制的本质。它没有承诺让你立刻成为区块链架构师,但它提供了成为一个合格的“区块链实现者”所需的全部蓝图和砖瓦。
我必须说,这本书的结构编排简直是教科书级别的典范。作者显然对初学者的认知曲线有着深刻的理解。它没有一开始就抛出复杂的密码学公式或分布式共识算法的深奥理论,而是非常巧妙地从最基础的计算机科学概念,比如哈希函数、默克尔树的简化理解开始切入。这种层层递进的讲解方式,就像是搭建一座摩天大楼,地基打得越牢固,上层结构才能越稳健。我尤其喜欢其中穿插的“思考题”和“代码实现小结”,它们不是那种为了凑字数的填充物,而是真正引导读者停下来思考,并将理论知识转化为实际操作的桥梁。我尝试着跟着书中的指引,在自己的虚拟机上敲下了几个关键模块的代码,那种亲手搭建出一个小系统的成就感,是任何视频教程都无法比拟的。这本书真正做到了“授人以渔”,让我们不再是区块链世界的旁观者,而是可以亲手参与构建的工程师。
读不懂
读不懂
读不懂
读不懂
读不懂