描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302520580
目前图书市场已有一些介绍比特币、区块链的书籍,但基本上都侧重于应用、投资或社会学等方面,缺少对区块链底层技术的系统性、细致性阐述,往往浮于表面概念、见解观点的探讨,甚至不乏谬误,更缺乏专门的教学用书。《解构区块链》将在一定程度上改变这一不足,为学习者提供准确、全面、严谨的知识体系。
《解构区块链》将从比特币入手,在了解其基本原理的基础上,首先让学习者掌握相关的密码学中的关键算法和认知、互联网中的对等网络概念与技术,再进一步剖析比特币系统和区块链技术的详细技术架构,达到完全掌握其技术原理的目的;其次对核心的区块链技术进行各个方面的扩展改进、探讨典型的行业应用,使学习者更深刻地理解区块链的本质,并能扬长避短、灵活运用。《解构区块链》的相关内容(包括知识体系、逻辑结构)已多次在研究生课程、高级研修(培训)班、专题讲座和演讲中使用,取得很好的效果。
然而《解构区块链》并不负责解答所有疑问,诸如“我这个项目能否运用区块链技术?怎么用?”等。因此,在区块链技术方面,《解构区块链》是一部“三不”书——
首先不是“预言书”。虽然《解构区块链》不可避免会涉及一些观点和判断,也有启发性的案例讨论,但并不专注于阐述行情走势、未来趋势、价值衡量、行业预测、社会影响等比较主观的话题,这些都应该是学习者掌握区块链技术原理后自然、自发、自觉的思考。
其次不是“编程书”。《解构区块链》确实将深入区块链技术到比特级别构造的程度,据此开发软件是可行的,而且部分算法用代码形式阐述,可更多是为了清楚说明问题的需要。
*后不是“投资书”。《解构区块链》并没有投资分析、指南、路线之类的内容,主要是可以让技术好奇者豁然开朗的细节。
作者简介
凌力,1992年毕业于复旦大学计算机科学系,获理学硕士学位。现任复旦大学信息科学与工程学院通信科学与工程系副教授。研究方向包括:云计算,物联网,网络与信息安全。开设“网络安全”、“网络协议”、“高级网络”等多门研究生、本科生课程。现任上海市科委、上海市经信委、浦东新区等多个区县的信息技术专家。主持并完成IPv6技术研究、高速安全智能接入控制设备研制、面向服务漫游的个人信息站研发、可信交易支撑技术体系及应用等十多个科研项目,并多次获得省部级科技成果奖。在各级学术刊物发表十多篇论文,已出版《高级网络概论》《网络协议与网络安全》等六部著作。主持规划设计“市民信箱”“家校互动”“市民云”等多个上海市政府实事项目的平台。
第1章货币认知
1.1货币简史
1.2数字货币
1.3交易与记账
1.4虚拟货币
1.4.1信任机制
1.4.2共识机制
1.5数字资产
1.6虚拟币困境
第2章比特币认知
2.1比特币起源
2.2比特币基本概念
2.2.1比特币区块链
2.2.2比特币生成
2.2.3比特币交易
2.2.4比特币地址
2.2.5比特币网络
2.3比特币系统
2.3.1比特币挖矿
2.3.2比特币系统组成
第3章密码学基础
3.1密码学基本概念
3.2对称密钥加密
3.2.1分组加密技术原理
3.2.2SM4算法
3.2.3DES算法
3.3非对称密钥加密
3.3.1非对称密钥加密技术原理
3.3.2RSA算法
3.3.3ElGamal算法
3.3.4ECC算法
3.4单向函数加密
3.4.1单向函数技术原理
3.4.2CRC算法
3.4.3MD算法
3.4.4RIPEMD算法
3.4.5SHA算法
3.5单向陷门函数
3.6量子密码
第4章数字签名技术
4.1数字签名技术原理
4.2MAC算法
4.3DSA算法
4.4ECDSA算法
4.5数字证书
4.6环签名
4.7盲签名
第5章对等网络技术
5.1对等网络技术架构
5.2对等网络典型技术
5.3共识算法
5.3.1拜占庭容错算法
5.3.2实用拜占庭容错算法
5.3.3比特币共识机制证明
第6章比特币技术原理
6.1比特币区块链技术原理
6.1.1版本号
6.1.2时间戳
6.1.3前一区块头哈希
6.1.4难度位
6.1.5计数器
6.1.6交易账本树根哈希
6.1.7比特币区块体
6.2比特币挖矿技术原理
6.2.1比特币挖矿准备
6.2.2比特币挖矿工作量证明
6.2.3比特币挖矿共识机制
6.3比特币地址技术原理
6.3.1比特币私钥生成方法
6.3.2比特币公钥生成方法
6.3.3比特币地址生成方法
6.4比特币交易技术原理
6.4.1比特币交易数据结构
6.4.2比特币交易规则
6.4.3比特币交易输入
6.4.4比特币交易输出
6.4.5比特币脚本系统
6.4.6比特币交易验证
6.5比特币通信协议
6.5.1结点联络类协议和消息
6.5.2区块交换类协议和消息
6.5.3交易交换类协议和消息
6.5.4网络管理类协议和消息
第7章比特币应用体系
7.1比特币钱包
7.1.1用户密钥创建方法
7.1.2简单支付验证SPV
7.1.3Bloom过滤器
7.2比特币交易点
7.3比特币价值
第8章区块链技术原理
8.1区块链概念
8.2区块链类型
8.3区块链技术特点
8.3.1区块链技术优势
8.3.2区块链技术弱点
8.3.3区块链分叉风险
8.3.4区块链升级风险
8.4虚拟币系统扩展
8.4.1染色币
8.4.2竞争币
8.4.3域名币
8.4.4比特消息
8.4.5以太坊
8.4.6区块链应用程序Dapp
8.4.7区块链社区
8.5克隆比特币
第9章区块链技术演进
9.1区块链扩展
9.1.1侧链
9.1.2树链
9.1.3块格
9.1.4DAG链
9.2共识机制扩展
9.2.1权益证明PoS
9.2.2权益授权证明DPoS
9.2.3重要性证明PoI
9.2.4其他共识机制
9.3超级账本
9.4智能合约
9.5闪电网络
9.6区块压缩
9.7隐私信息混淆
第10章区块链安全威胁
10.1区块链安全认知
10.2直接威胁
10.2.1缺陷攻击
10.2.2共识攻击
10.2.3脚本攻击
10.2.4协议攻击
10.2.5密钥攻击
10.2.6账号攻击
10.3间接威胁
10.3.1通信窃听
10.3.2拒绝服务
10.3.3劫持攻击
10.3.4恶意程序
10.3.5不良应用
第11章区块链安全防范
11.1资金安全
11.2交易安全
11.3信息安全
11.4协议安全
11.5系统安全
11.6设备安全
第12章区块链技术应用
12.1区块链体系架构设计
12.2基于钱包的Dapp设计
12.3云计算与区块链
12.4物联网与区块链
12.5大数据与区块链
12.6区块链 行业应用
12.6.1区块链 电子金融
12.6.2区块链 电子商务
12.6.3区块链 电子政务
12.6.4区块链 防伪溯源
12.6.5区块链 信用评估
12.6.6区块链 存管公证
12.6.7区块链 投票选举
12.6.8区块链 慈善捐助
12.6.9区块链 共享经济
既然以比特币为代表的虚拟币们虚火升腾、泡沫横溢,监管部门对其严加管束,大多数民众也并不感冒,那么为什么还要学习、研究区块链?
其实这正是笔者写作本书的原因。
区块链技术来源于比特币,但可脱离于比特币。比特币和其他虚拟币存在的问题是由盲目炒币、黑产交易等引起的,当“币”的属性被剥离后,区块链技术就因其创新的思想、独特的结构、灵巧的配置脱颖而出,备受政府、企业及研究者关注和青睐。从不同领域、不同行业的视角来观察区块链技术,似乎都可以找到区块链技术与自身业务的结合点和应用场景,甚至受到启发形成新的业务模式,促成转型升级。
但是,如果缺乏对区块链技术清晰、正确、系统的认识,实际应用就成为无本之木、无源之水,更严重的是可能走偏方向,造成不可挽回的损失。所以本书的唯一目的就是通过解构区块链技术的方方面面,对技术进行深层剖析,不仅知其然,而且知其所以然。当朦朦胧胧的神秘面纱被掀掉后,展现在眼前的将是“高清版”的区块链技术,一些原有的疑惑、误解或偏见自然就会随之烟消云散。
然而本书并不负责解答所有疑问,诸如“我这个项目能否运用区块链技术?怎么用?”等。因此,在区块链技术方面,本书是一本“三不”书。
首先,不是“预言书”。虽然本书不可避免会涉及一些观点和判断,也有启发性的案例讨论,但并不专注于阐述行情走势、未来趋势、价值衡量、行业预测、社会影响等比较主观的话题,这些都应该是学习者掌握区块链技术原理后自然、自发、自觉的思考。
其次,不是“编程书”。本书确实将深入区块链技术到比特级别构造的程度,据此开发软件是可行的,而且部分算法用代码形式阐述,可更多是为了能清楚说明问题。
最后,不是“投资书”。本书并没有投资分析、指南、路线之类的内容,主要是可以让技术好奇者豁然开朗的细节。
就像互联网上日新月异的各种技术一样,区块链技术也是一项正在风口浪尖上的创新技术。只有不断学习、跟踪、了解、把握这些新技术,才能不被后浪拍在沙滩上。
编者2019年4月
“一轮明月不孤单,
晚起朝落无埋怨。
吴刚吃惊尔登门,
嫦娥煮饭待客欢。”
Alice吟起诗来,Bob倒是比吴刚还吃惊,不过Bob可不是等闲之辈,立马看出端倪来。
“好的,一起吃饭!”Bob一语双关,又加了一句: “你是孔子学院毕业的?”
Alice哈哈大笑,“你答应得这么爽快,显然漏掉了半句话。”见Bob一脸蒙圈,Alice调皮地说: “友情提示,你只看到一条斜线,划个V字试试?”
无论是民间的谜语、藏头诗,还是军队的密电码,无论是娱乐、游戏,还是决定生死存亡的行动,都有隐藏信息的需要。加密与破译的对抗有许多惊心动魄的故事,有些被拍成了令人荡气回肠的电影。例如《U571》和《模仿游戏》,表现的是同一个历史事件的前后两段,先是盟军巧妙地从轴心国潜艇上猎取恩尼格玛(Enigma,意为谜)密码机,然后是布莱切利庄园一群以“计算机和人工智能之父”艾伦·图灵(Alan Turing)为代表的密码专家,成功破译史上最强密码,最终挽救了千百万生命,拯救了世界。再例如《风语者》,印第安原住民纳瓦霍族人应征入伍,成为通信兵,他们用独特的方言来进行无线电通信,让敌方听到了也完全不知所云,技术上毫无破解之道。
3.1密码学基本概念
信息加密(information encryption)作为保障消息安全传递的一种方式,其历史相当久远,可能要追溯到公元前2000年。虽然那个时代的技术与当代不可同日而语,但已具备加密的概念和雏形。例如在畅销书《失落的密符》中有这样一系列的情节: 追寻宝藏的教授偶然得到一串字母“YUOEMSTDIINHREKY”,但不知何意,束手无策中被线索指引到一幅壁画前,在不起眼的角落发现了画中的一个幻方(magic square),于是豁然开朗。
幻方是一种n×n的格子,称为n阶幻方,要求将数字1~n2不重复、不遗漏地填入各个格子,使得每行、每列、每条对角线的数字之和(称为幻和)都相等。优秀的幻方还能做到四个象限的数字之和也相等,如图3.1(a)和(b)所示分别为两名大数学家亲自设计的幻方: 4阶丢勒幻方(Durers magic square)和8阶富兰克林幻方(Franklins magic square)。n阶幻方的幻和可以计算为n2×(n2 1)。
图3.1幻方示例
于是执着寻宝的教授将16个密文字母按顺序填到丢勒幻方中,再对照幻方中对应的数字,按从小到大的次序写下字母,一句话就出现了: “YOUR MIND IS THE KEY”(你的思想是关键),其中KEY(也有钥匙之意)与Bob的话一样也是个双关语。
早期的加密方法只用于字母等文字信息,以手工处理为主,一般采用“置换法”,例如以一定规律打乱字母次序、将字母替换为另一个字母、用数字来表示字母等,这类方法被称为古典加密法。受限于较弱的密码分析能力,这些技术在当时还是具有较强的先进性和安全性的。
然而,随着数据统计能力的提高,各种置换法共同存在的大漏洞逐渐显示出来,就是无论怎么改头换面,文章中各字母出现的频率(即字频)并没有改变。因此,破译者并不需要费劲猜测加密手段,也不需要拼命尝试,只要有足够长的密文,就可以根据密文字母的字频对照图3.2的数据,推测出各个字母的原形。例如,字母e在英文单词中很常用,字频最高; 字母t位居次席,且作为首字母的概率遥遥领先,无疑是随处可见的定冠词“the”在起作用。虽然恩尼格密码机将古典加密法推向极致,通过快、中、慢三个转轮实现字母映射关系为每字母一变,复杂性大增,难以简单通过字频来分析,但本质上仍然属于替换法范畴,很难抵抗穷举排序等暴力攻击。
图3.2英文字母字频柱状图和首字母字频折线图
1946年2月14日,随着世界上第一台计算机艾尼阿克(ENIAC)的诞生,密码分析技术跨入了新阶段,曾经威名远播的Greece、Caesar、Playfair、Vigenere、Vernam、Hill等古典加密法永远退出了历史舞台。同时伴随着高等数学研究不断取得新成果,信息加密领域开启了“数学 电脑”的现代加密法时代,加密技术也升级成为密码科学。
现代密码技术几乎都是针对二进制数据,不论数据是文本、图片、音频、视频还是程序。如图3.3所示,信息加密的基本原理是: 把明文(plaintext)用加密(encryption)方法结合密钥(key)生成保密的密文(cryptograph或ciphertext),只有使用正确的解密(decryption)方法结合解密密钥才能成功还原出明文。换句话说,如果运用的解密方法不符,特别是解密密钥不正确,即使采用高性能计算机,破译的难度依然极大。
图3.3加密和解密原理图
信息加密“五要素”模型是原则性的框架,可以依不同技术而有所变化,例如,加密和解密密钥可以是不同数值,可以不使用密钥,也可以不支持解密。需要注意的是,所谓明文并非是“可读”的代名词,而只是一次加密过程的输入或一次解密过程的输出,已经加密的密文也可以成为另一次加密的“明文”,即加密可以无限迭代、层层嵌套。多次加密的过程是一种栈式运算,后进行的加密应该先作解密。
现代加密法有三大类技术,如图3.4所示,包括: 对称密钥加密、非对称密钥加密、单向函数加密。加密技术的合理运用可以产生三方面的作用。
保密性: 通过改变原始信息的数据构成,使得信息即使遭窃取、截获、泄露,也难以获取原始信息,达到保护信息内容安全的目的。
完整性: 敏锐发现信息内容发生的任何变化,如信息被篡改(或传输过程发生误码)、伪造,从而保障原始信息的“原封不动”。
确权性: 鉴别并确定信息的归属方,一方面可以用来证明信息的真正拥有者(所有权),另一方面也可用以判定信息来源,防止抵赖。
图3.4现代加密法分类
信息加密技术是一把“双刃剑”,既有防范自己的信息受到侵害的作用,又有投入成本上升、系统复杂性增大、信息传递延迟等副作用。同时,加密和破解永远是“矛尖还是盾固”的关系,一个在明处,一个在暗处,即便采用最先进的信息加密技术,也达不到绝对的安全,安全始终具有相对性。
(1) 计算相对性——普通电脑难以破译的密码,高性能电脑或许就能轻松攻破,因为难度实际上取决于计算能力; 还有可能研究出一种数学方法,可以极大地降低计算工作量。
(2) 时间相对性——目前很安全的密码,随着时间的推移,安全性会衰减,因为在攻击者持续不断地尝试下,被攻破的概率将逐步上升。
(3) 价值相对性——信息的价值越高,受到攻击的可能性就越大; 反之,假如破解成本远高于信息的价值,那么信息基本就是“高枕无忧”的。
正因为如此,应避免过度运用加密技术,而是应该根据信息对象属性、应用场景等各种因素来设计合理的保密方案。
3.2对称密钥加密
对称密钥加密(symmetric key cryptography),又称为私钥加密、单钥加密,因同一个密钥既用于加密又用于解密而得名。
密钥实际上就是一串二进制数据。既然对称加密方法的密钥也要用于解密,那么密钥一定要被妥善保护好、绝不示人,这是其称为私钥的原因。又由于密文的合法接受者也需要这个私钥,所以如何在通信双方间安全地分享密钥就显得非常重要。
对称密钥加密是实现信息保密的主要手段,具有如下技术特点:
密钥是关键(Key is key)。现代加密技术的加密算法可以公布,加密代码也可以公开,只要保护好密钥,密文就是安全的。
密钥长度决定安全性。密钥越长则加密强度越大,因为穷举密钥几乎是尝试破解的唯一方式,那么密钥每增加1位,就可以给破解者的计算工作量增加1倍,密钥增加1字节,破解工作量就是原来的256倍,相当于原本1天就可破解,现在则需要将近1年。
对称加密算法被设计为具有很高的计算效率,可面向大量数据的加密,如文件、数据库、流媒体等,然而密钥的安全生成、安全分发、安全存储、安全使用需要较大的管理工作量。
对称密钥加密可分为流式加密和分组加密两大类,前者适用于流媒体应用,例如在线播放音乐或视频,后者应用范围更广,适用于绝大多数需要数据加密的场合。常用的对称密钥加密技术有BLOWFISH、TEA、DES、AES、IDEA、SM4、RC4等,本章选取其中具有代表性的SM4和DES来展开算法细节。
在比特币核心系统中并没有直接采用对称密钥加密技术,这应该与比特币提倡信息透明化有关,而且存储的信息也比较单一。但是在区块链扩展应用中,当需要对保存的私密信息进行保护时,对称密钥加密技术就有用武之地了。
评论
还没有评论。