基本信息
- 出版社 : 机械工业出版社; 第1版 (2018年7月9日)
- 出版日期 : 2018年5月1日
- 品牌 : 北京华章图文信息有限公司
- 语言 : 简体中文
- 文件大小 : 4869 KB
- 纸书页数 : 471页
- 吴寿鹤 (作者)
- 下载格式:azw3、epub、mobi
内容简介
近年来区块链技术逐步占据各大技术类网站的头条,各种基于区块链特性的想法和创新层出不穷。这些繁荣是区块链技术在幕后默默支撑的,可是人们经常忽略区块链的技术而把投资、融资、保值等金融属性和区块链画上了等号。其实区块链本质上还是一门技术。区块链技术源于比特币,经过近几年的发展,已经超越比特币逐步形成一门单独的技术体系。目前区块链技术已经渗透到各行各业中,比如区块链技术同大数据、人工智能等技术产生了让人意想不到的化学反应。我们有理由相信区块链技术在未来一定会成为IT基础技术之一,成为每个IT技术人员必备的基础技能。
前言
前言
为何写作本书
近年来区块链技术逐步占据各大技术类网站的头条,各种基于区块链特性的想法和创新层出不穷。这些繁荣是区块链技术在幕后默默支撑的,可是人们经常忽略区块链的技术而把投资、融资、保值等金融属性和区块链画上了等号。其实区块链本质上还是一门技术。区块链技术源于比特币,经过近几年的发展,已经超越比特币逐步形成一门单独的技术体系。目前区块链技术已经渗透到各行各业中,比如区块链技术同大数据、人工智能等技术产生了让人意想不到的化学反应。我们有理由相信区块链技术在未来一定会成为IT基础技术之一,成为每个IT技术人员必备的基础技能。
同时我们也可以看到区块链技术在国内外的发展非常迅速。在国外,IBM发起了超级账本项目,并把超级账本项目的源码捐献给了Linux基金,借助社区的力量来发展。全球已经有将近200多个公司和组织加入了超级账本,成为超级账本项目的会员。当然其他巨头也随之跟进,微软早就和以太坊达成了战略合作协议。互联网巨头Google、社交媒体行业的龙头Facebook等在区块链领域均有所布局。
但是在繁荣的背后我们也应该看到危机,目前区块链技术在实际项目中的应用还存在不少问题。我们认为出现这种情况是因为目前区块链技术的实用化还存在以下障碍:
·技术新,学习资料匮乏。区块链技术是最近几年刚刚兴起的一门综合技术,目前资料特别是中文资料还是比较缺乏的。
·技术种类多,有一定的学习成本。区块链是一门综合型的技术,如果把每个单项技术列出来学习并不难,但是当把这些技术组合起来之后学习难度就大大增加了。
·可借鉴的成功案例少。由于区块链技术是一门比较新的技术,因此目前缺少比较成功的案例。即使诸如IBM等巨头开发了一些成功案例,但是由于各种各样的原因,目前并没有公开,这些都给广大技术人员学习区块链技术特别是把区块链技术应用到具体项目中造成了一定的障碍。
这些问题的存在是我们编写“区块链开发实战”系列图书的目的,第一批有两本书同时面世,分别是基于Hyperledger Fabric和以太坊进行区块链开发实战。我们希望读者通过这两本书,在了解区块链的基本概念和核心技术的同时,能够将区块链技术更多应用到具体的项目中,解决现有技术无法解决的一些行业痛点。
读者对象
这两本书都非常适合区块链开发工程师、区块链架构师、区块链技术爱好者阅读。
其中:
·Hyperledger Fabric部分更适合对Hyperledger Fabric和比特币技术感兴趣的相关技术人员;
·以太坊部分更适合以太坊爱好者、以太坊DAPP开发者、比特币开发者等。
主要内容
《区块链开发实战:Hyperledger Fabric关键技术与案例分析》
这本书以Hyperledger Fabric和比特币这两个典型区块链技术平台的核心技术、开发方法和相关的项目案例为核心内容,此外,还提供了大量的命令脚本和代码示例供读者参考,力图使读者在最短的时间内掌握这两个平台的使用方法。
全书分为三个部分:
·第一部分(第1~2章):首先从基本认识的角度对区块链进行了宏观上的介绍,包括区块链技术的起源和演进过程、区块链核心技术及其特性、区块链技术的缺点和常见错误认识,以及区块链技术的应用领域和常见的技术框架;然后介绍了进行区块链开发需要掌握的技术和使用的工具。
·第二部分(第3~13章):主要讲解了Hyperledger Fabric的核心技术、原理、开发方法,以及多个项目案例。包括Hyperledger的全面介绍、Fabric的技术特性和快速入门、Fabric的核心模块和账号体系、Fabric的智能合约和编程接口、Fabric的系统架构与设计、Fabric项目案例的开发流程和方法,以及几个综合性的案例,如区块链浏览器、供应链金融、食品溯源等。
·第三部分(附录):主要讲解了比特币的原理、运行方式、重要模块和编程接口,同时还讲解了一个比特币客户端的案例。
《区块链开发实战:以太坊关键技术与案例分析》
本书详细讲解了以太坊和比特币这两个典型的区块链技术平台的技术特性、原理、开发方法,同时也配有多个综合性的项目实例。
全书分为三个部分:
·第一部分(第1~2章):首先从基本认识的角度对区块链进行了宏观上的介绍,包括区块链技术的起源和演进过程、区块链核心技术及其特性、区块链技术的缺点和常见错误认识,以及区块链技术的应用领域和常见的技术框架;然后介绍了进行区块链开发需要掌握的技术和使用的工具。
·第二部分(第3~11章):主要讲解了以太坊的基本使用、技术特性、工作原理、开发方法和项目案例。首先介绍了以太坊的各种核心概念——编译、安装、运行,以及私有链的搭建和运行等基础内容;其次详细讲解了Solidity语法、Solidity IDE、Solidity智能合约的编译部署,以及Solidity的智能合约框架Truffle;最后讲解了DApps开发的方法和流程。
·第三部分(附录及后记):主要讲解了比特币的原理、运行方式、重要模块和编程接口,同时还讲解了一个比特币客户端的案例。
为什么两本书有重复内容
大家可能注意到,两本书有部分内容是重复的,这么安排并不是为了凑篇幅,而是经过精心考虑的。主要原因如下:
·以太坊和Hyperledger Fabric是两个不同的技术平台,涉及的技术都非常多,读者一般不会同时学习并在这两个平台上进行开发,于是我们没有将这两个主题的内容放到一本书中,这样便于读者按需选择。
·两本书的前两章是相同的,因为这两章的内容对两个平台的用户来说是通用的,而且是都需要了解和学习的。
·两本书关于比特币的内容是相同的,因为比特币系统是出现最早、运行最稳定的区块链技术平台,它的很多概念和核心技术对其他区块链平台有非常好的借鉴意义,值得所有区块链开发者学习。
主要特色
这两本书是作者在参与众多区块链项目之后提炼而成,具有以下特点:
·既没有高深的理论也没有晦涩难懂的公式,力求通过最简单通俗的语言和大量的图表让读者能够了解区块链技术的精髓。
·提供大量的命令脚本和相关程序的源代码文件,这些命令脚本和源代码文件都来自实际的项目,我们整理后展现给读者,通过这些命令和源代码读者可以了解到相关区块链技术平台的操作细节。
·提供了大量的项目案例,这些项目案例能够帮助读者更好地理解区块链技术和业务场景的结合。
·与国内专业的区块链技术社区——“区块链兄弟”深度合作,社区中有两本书的专题页面,读者可以到社区中与作者和其他读者进行深入交流。
本书相关源代码下载地址:https://github.com/blockchain-technical-practice。
致谢
这本书能够完成首先要感谢机械工业出版社华章公司的杨福川先生为本书的顺利出版付出的努力。同时我们要感谢区块链技术社区的全体“兄弟”,你们对区块链的探索和执着是我们创作的动力,你们对区块链的付出和努力给我们提供了创作的素材。在编写这本书的过程中无论是提问题的“兄弟”,还是回答问题的专家“兄弟”,感谢你们。最后我们还要感谢所有加入的区块链技术讨论组,在和你们的交流中我们发现了本书的价值。
本书编写小组
2018年2月于上海
精彩书摘
人类自诞生以来,一直对物质移动的速度有着孜孜不倦的追求和探索。在人类探索和改造世界的过程中,绝大多数具有颠覆性的技术创新都与物质传递的速度有着非常密切的联系。比如轮子改变人和物体传递的方式,铁轨改变人和物体传递的效率,电力的出现改变了能量的传递方式,互联网的诞生则是彻底颠覆了信息传递的方式和效率。
区块链技术被认为是轮子、铁轨、电力、互联网之后,又一个具备颠覆性的核心技术。作为一种构建价值互联网的底层技术,区块链改变的将是价值传递的方式。区块链的出现将解决人类社会诞生以来一直在思考的问题——如何获取未知的信任。区块链技术到底是怎样一种技术?本章将从宏观角度介绍这个问题。
提到区块链技术,比特币是无法回避的一个重要部分,因为比特币是迄今为止出现最早、规模最大、运行最稳定、技术最成熟的基于区块链技术的应用。2008年一个网名叫“中本聪”的人发表了一篇名为《比特币:一个点对点的电子现金系统》的论文。在该论文中,“中本聪”描绘了一个完全去中心化的电子现金系统,在这个系统中每一个参与者都是独立并且对等的,这些参与者不依赖于通货保障或者结算交易验证保障的中央权威。
为了实现这套系统,相关的技术社区利用密码学中的椭圆曲线数字签名算法(ECDSA)来实现数据的加密,基于P2P网络来实现数据的分布式存储,从而实现了一个去中心化的,不可逆、不可篡改的特殊数据存储系统。这套系统就是目前被称为区块链技术的雏形。比特币就是构建在区块链技术之上典型的成功应用。比特币系统这些年来稳定而且高效的运行,证明了这些技术理论的正确性和可靠性。
随着业界对比特币系统技术架构的深入了解,人们发现这些技术除了应用在比特币上面之外,还能应用在其他领域。于是相关技术社区将这些技术抽象之后给它们起了一个统一的名字:区块链。从此区块链脱离比特币成为一门单独的技术。
目前区块链已经成为一个独立的技术名词,而不是依赖于某个具体产品的附属技术。区块链这个技术名词,从不同的角度看会有不同的解释。
·从网络的角度看:区块链的底层网络模型提供了分布式数据存储的完美实现,比特币系统从诞生至今没有发生过一次宕机事件,这有利地证明了该网络模型的稳定和高效。
·从底层技术的角度看:区块链更像是一个数据结构,用区块存储数据,把区块按照顺序链接起来组成区块链,从而达到防止数据被篡改的目的。
·从密码学的角度看:区块链利用椭圆曲线数字签名算法来保证数据的完整性和真实性。
·从数据存储的角度看:区块链更像是一个分布式数据库,不但数据的存储是分布式的(以共享账本为例,所有的数据可以对等地存储在所有参与数据记录的节点中,而非集中存储于中心化的机构节点中),而且数据的产生也是分布式的(账本所有的节点集体维护,而非一个单独的中心机构来维护)。
区块链技术源于比特币但是高于比特币,发展至今,已经形成一个非常完整的技术栈。区块链技术栈中的每个单项技术并不是新发明的技术,如果将这些单项技术单独提取出来,都是比较普通的,但正是这些普通的技术通过精巧地组合之后诞生了一项足以颠覆世界的新技术。这和鸡尾酒非常相识,组成鸡尾酒的每个单独的原料都非常普通,但是组合之后就产生了非常神奇的化学反应,从而诞生了一个让人痴迷的新事物。