基本信息

编辑推荐
《区块链技术指南》由机械工业出版社出版。
内容简介
作译者
张海宁:VMware中国研发中心云原生应用首席架构师,西蒙弗雷泽大学计算机科学硕士,多年软件全栈开发经验,Harbor企业级容器Registry开源项目负责人,Cloud Foundry中国社区早的技术布道师之一,国内早的iOS开发者。在VMware公司先后负责开源PaaS平台Cloud Foundry、大数据虚拟化、软件定义存储VSAN等领域的技术布道和解决方案推广。目前着重关注区块链、容器和云计算等领域的研究和开发工作。之前曾担任IBM软件工程师、Sun公司解决方案架构师等职务。
唐屹:广州大学教授、理学博士,专注于区块链安全与应用、网络信息安全、分布式计算等,为国外知名安全公司开发过椭圆曲线密码软件,获密码科技进步二等奖(省部级)。主持或参与完成多项自然科学基金与人才计划等重点项目。
李磊:合肥工业大学副教授,Macquarie大学博士。擅长数据挖掘、社会计算、智能计算。获2011年澳洲优博士论文提名,并多次担任IEEE国际会议的程序委员会委员及组织者。在社会计算和区块链等领域发表论文40余篇,被引用350余次。
刘天喜:深圳拓邦股份有限公司总经理助理,高级工程师、北京大学博士。在移动通信、集成电路、移动互联网、物联网等领域深耕多年,擅长技术产业研究、行业分析和战略规划,主导或参与中国工程院、中央网信办、工信部、国资委等十余项产业研究课题。发表学术论文10余篇。
陈晖:区块链PPk开源项目发起人和主要开发者、巴比特网站专栏作者与区块链技术版版主。对网络与通信技术有深入实践与研究,十余年的软件研发和项目管理经验。通过深度实践以比特币为代表的数字加密货币领域,率先提出“区块链 网络通信”将大化发挥区块链革命性价值的观点,并着力以开放开源项目的形式推动区块链与网络通信领域融合的技术创新和应用发展。
曲烈:Macquarie大学博士,曾任Macquarie大学研究员、助教。从事信息安全、密码学、区块链、服务计算以及信息系统等领域的研究。多次在国际知名会议和期刊发表论文,并受邀宣讲。
郑晓明:中国电信云计算分公司工程师、Macquarie大学博士,专注于云计算、云存储、监控系统、推荐系统、模式识别等,近期研究区块链相关技术。
目录
序一:什么是区块链
序二:区块链——未来已来,只是尚未流行
序三:区块链——连接虚拟与现实
序四:区块链——转型之擎
前言
第1章 区块链和比特币初体验/1
1.1 区块链简介/1
1.1.1 区块链起源——比特币/1
1.1.2 区块链和区块链技术的涵义/2
1.1.3 区块链分类/2
1.1.4 区块链价值与应用/7
1.2 区块链体验/10
1.2.1 获取比特币的3种途径/11
1.2.2 通过交易所购买比特币/13
1.2.3 比特币钱包和地址/17
1.2.4 从交易平台提取比特币到钱包/20
1.2.5 比特币交易查询/22
1.3 本章小结/22
第2章 区块链基础/24
前言
1900年9月8日,一场4级强度的飓风横扫德克萨斯州的加尔维斯顿。这个位于墨西哥湾的岛城,靠近德克萨斯海岸,在灾难来临前拥有37?000人口和光明的经济前景。飓风猛烈攻击了这个毫无防备的低海拔城市,给该市带来了巨大的毁坏。飓风风速为每小时225千米,毁掉了3600座建筑,使占整个城市3/4的12个街区彻底消失,死亡人数为8000~10?000人。是迄今为止,美国历史上死亡人数最多的自然灾害。
而2016年8月2日在中国华南沿海登录的“妮妲”台风,风力14级,最高风速每小时151.2千米,台风过境的广东、广西、湖南、贵州、云南5省(自治区),虽然也造成了重大经济损失,但在人员伤亡统计报告中,只有1人失踪。
这两次自然灾害的结果如此不同,归功于人类掌握了计算这个神奇工具。在妮妲形成过程中,美国、日本、中国气象监控部门就不断跟踪,通过监控数据,气象数学模型和强大的计算能力,对台风进行了准确的预报和预警。在台风到来前,有关部门做了积极准备,7.6万人得以紧急转移安置,使得损失得以降到最低。
今天,IT已经渗透到各行各业,人们已经能近距离接触无人驾驶、机器人、虚拟现实(Virtual Reality)、增强现实(Augmented Reality)等先进技术,当人们在享受IT给人们生活带来的各种便利和好处的时候,也日益感受到来自不当使用科技所带来的挑战。例如,国内日益猖獗的电信诈骗,全球范围内黑客的攻击和安全勒索,以及未来基因技术和AI(人工智能)技术给人类所带来的伦理、生活和工作方面的全方位冲击,都使得有识之士开始思考如何应对科技发展所带来的风险。
一直以来,笔者对计算技术有一种既感恩又敬畏的情结。首先感恩我们的时代,计算技术的发展使我们避过很多前人无法避过的灾难;但高速发展的计算技术必然导致机器的智能超过人类自身,因此而产生的未来不确定性也使笔者的敬畏之心油然而生。
笔者也一直有一个预感,未来可能需要针对IT,特别是与业务结合紧密的云计算和智能设备建立监管、问责的机制。笔者的意思不完全是对从事IT或智能设备的人进行监管问责,甚至要考虑对智能设备进行自动问责。这个看似荒谬的想法促使笔者选择了云计算的问责机制(Accountability in Cloud Services)作为博士研究方向。
所谓云计算的问责机制(Accountability),指的是在云计算架构中,能建立一个自动化的问责机制。该机制包括形式化的标准服务合同定义,服务合同的发布,服务合同执行的监控,合同违约方的自动发现,违约方的罚则和执行,以及合同双方争议的仲裁。举个例子来说,今天公有云的提供商,都没有提供能让电脑理解的云服务合同。合同双方的责任、义务和权利没有精确的界定;云服务提供商的服务好坏,是否遵从合同,都没有自动化的方法去检测;服务故障责任也没有办法界定;出现争议也只能靠人工去解决。而云计算的问责机制,旨在建立一个自动化的体系来让电脑自动规范电脑的行为。
可想而知,这个研究课题非常有挑战。在博士研究的过程中,笔者也走了很多弯路,一直没有找到好的解决方法,直到三年前接触到比特币,突然意识到区块链技术是提供问责机制的最理想平台。这是因为区块链技术中的防伪、防篡改、交易可追溯、数字签名和智能合约技术提供了一个公正、可问责(Accountable)、自动执行的技术平台基础。
但是区块链目前还停留在概念炒作阶段,很多关注点还停留在金融应用,特别是虚拟货币方面的应用。笔者认为,区块链未来可能最适合作智能设备的“警察”,为物联网和智能设备的自治管理提供一个基础平台。区块链技术应该推广应用到除金融外的行业,因此萌生了写这本书的念头,作为博士研究工作的一个延续。
而写这本书的另一个原因,也是深感在学习区块链技术过程中碰到的参考资料不足的痛苦,希望能整理过去的学习所得,对区块链初学者有所帮助。
从2008年中本聪发表比特币白皮书算起,区块链技术才走过短短8年的时间。虽然区块链1.0、2.0和3.0的架构理念已经提出并得到一定程度上的认可,但区块链的技术发展仍然处于初级阶段,区块链的应用还刚起步,成熟的区块链应用除了比特币系统,还寥寥无几。在这种情况下写关于区块链的书籍,其实面临一个两难境况。一是区块链的技术变化快,像个移动的靶子;可供参考的资料又少,要准确把握一个快速变化的技术非常困难,而且受限于写笔者的水平,实践经验,写出来的书难免有很多错误,弄不好会贻笑大方。而另一方面,正因为变化快,资料少,广大区块链技术爱好者又渴望能找到一本对他们学习、理解、掌握区块链架构和技术有所帮助的书。
目前在市场上的区块链书籍大致分为两类:一类是以梅兰妮·斯万(Melanie Swan)的《区块链:新经济蓝图及导读》为代表的,谈区块链对整个宏观层面所带来的革命性影响的战略性书籍;一类是以安德鲁·安东普洛斯(Andreas M. Antonpulos)的《精通比特币》,以及普林斯顿大学以阿文·拿瑞延南(Arvind?Narayanan)为首编著的《比特币和密码学技术》为代表的专注于比特币的技术性书籍。这些书籍满足了目前市场上一部分对区块链在行业中的应用有兴趣的偏业务的人士,以及对比特币技术有兴趣的偏技术的人士的需求。
在这两类书籍所覆盖的市场中,其实还有一个很大的空白。我们发现,在对整个区块链架构(包括区块链1.0、2.0和3.0)进行系统性剖析,包括对其中关键技术(密码学、共识算法)等进行系统性论述,对不同的区块链架构形式(联盟链、公共链、私有链、侧链、多链、互联链等)进行系统性介绍的书好像还没有。而这样的书对理解、普及区块链技术,推动区块链应用落地可能会有所帮助。因此,与其等待这样的书籍出现,不如自己行动,为区块链技术的推广尽绵薄之力。笔者也就自不量力,把可能被同行笑话的风险置之脑后,鼓起勇气集合几个对区块链着迷、志同道合的朋友,在条件不成熟,时间比较仓促的情况下,经过不少不眠之夜的努力,克服重重困难,特别是在机械工业出版社华章分社编辑高婧雅的大力协助下,完成了该书。
本书的缺点是显而易见的。
一是因资料匮乏、技术变化快而难免出现技术错误。因此,本书的目的,主要是抛砖引玉,欢迎读者多提宝贵意见,争取在下一版本能纠正大部分的错误,不断完善、提升本书的质量。
二是缺少应用案例。其实目前网上的应用案例也有不少,但是我们认为,如果只是拿别人在网上的案例加工修改,从深度、广度方面都经不起推敲,起不了真正案例的作用。除非由真正落地该应用案例的主要负责人来写,才能使读者有真正的收获。受限于我们的人脉圈子和条件,目前只能请到PPKpub.org开源社区组织者陈晖先生来写一个区块链在标识注册方面的应用案例。在此鸣谢陈晖先生的大力支持,将来也欢迎有更多的区块链应用的领军团队提供应用案例,在未来更新的版本中补上在应用案例方面的短板。
本书特色
1)和目前市场上主流的区块链书籍强调区块链去中心化的概念,以及对业界带来的革命性影响不同,本书主要是从技术的角度,介绍区块链的基础概念,特别是对区块链的架构进行了详细的剖析。
2)对区块链的关键技术,包括区块链架构(1.0、2.0、3.0)、密码学和共识算法等做了一个详尽的介绍。
序言
2015年是国外区块链的元年,世界许多重大组织,包括高盛、花旗银行、英国央行、美国央行等机构纷纷在区块链上面投资。大量的投资从2015年10月开始便进入了区块链,原因是在《华尔街日报》刊登一篇的文章,里面报道区块链经过了多次的实验和验证,许多金融机构证实了区块链是一个颠覆性的技术。之前华尔街日报甚至宣称,区块链是最近500年以来在金融领域最重要的突破。而这500年来有多少科技上的突破,但华尔街日报却说区块链是人类历史上在金融领域最大的突破。这可能是因为出现了一个新的货币媒介,而每一次新货币媒介出现,都会引发社会和经济上的重大改革。
2016年1月,英国首席科学家建议英国政府把区块链技术列为英国国家战略,这是区块链历史上一个重大突破,原因是基于华尔街以及金融机构对区块链的评价。但自从2016年1月以后,区块链的评价是基于科学历史悠久的英国官方的评价。从各样指标来看,英国在科学上的建树经常是排名第二,仅次于美国。而世界科学排名第二的英国甚至把区块链列为国家战略,表示区块链的重要性毋庸置疑,而且有深远的影响。能够成为国家战略必须在科学上被验证过,另外还必须带来巨大的商业价值,两者都不可缺少才能成为国家战略。笔者曾在2016年3月拜访英国首席科学家,他们认为,区块链可以在各行各业使用,带来行业公平,例如:诚实报税、政府监管、反洗钱、国家安全等。
2016年可以说是中国区块链元年,因为在2016年区块链在中国受到极大的重视。首先是1月的时候,人民银行宣布要使用数字货币。然后在30日以后,许多中国的组织单位就开始投资区块链。中国许多大学也开始研究区块链技术,大型金融机构都纷纷表态成立区块链团队来研究区块链,区块链的讨论班以及研讨会如雨后春笋一般大量涌现。
但到底什么是区块链?笔者在2015年开始研究区块链,就发现了一件事情:学生们在实验,提出来的区块链模型、算法,或者架构都是有偏差的,而且有时候偏差甚大,例如,在设计私有区块链的时候把公有区块链的全部思想搬过来。结果不像私有区块链,但也不像原来的公有区块链。另外发觉很多人对相关的算法不熟悉,所以有的时候会有一些错误的看法,例如拜占庭将军的问题是一门专门的学问,而区块链只是用了一个近似的算法,若是把两者混为一谈,就会让人感到迷惑。
再加上在讨论区块链时,有时候会有情绪化、宗教化或者政治化的言语出现,原来在数字货币领域,数字货币的先锋常带有一些政治思想,如无政府主义。再加上原来的数字货币过去有洗钱、犯罪的记录,所以在讨论时,有时候会失去焦点。这一点在英国首席科学家的报告里也有提出来,他们认为应该重视区块链,把区块链当做一门科学技术来看,而且是一门有助于经济的科学技术,而不是吹捧任何政治思想,或传递宗教概念。
笔者从今年初开始多次提出应该以系统工程角度来发展区块链技术,例如基于云计算、软件工程、数据库等系统工程技术来开发区块链,区块链不只是一个加密技术或是数字货币,而是一门系统工程。区块链不是某些特殊政治思想的乌托邦,或洗钱的工具,而是一门科学家和工程师可以研究的系统工程,而且这项技术可以成为国家战略,改变各行各业的流程以及基础设施。英国首席科学家已经做出这样的判断,英国央行也做出了类似的决定,英国政府已经派了两位部长来领导这项计划,这就是我们所期
待的。
所以我非常高兴像邹均、张海宁、唐屹、李磊、刘天喜、陈晖、曲烈、郑晓明这些年轻的学者们开始书写区块链技术,因为现在市面上有关区块链的书都是在讲解区块链的概念及应用场景,但是今天描述区块链技术的书却很少。我们希望读者能多了解区块链技术,多发展区块链技术,并且加以应用。只有我们了解区块链技术之后,才能真正理解区块链的意义,而不会随波逐流,人云亦云,并且有自己的判断,希望读者们能够认真读这本书,了解区块链技术,相信必定会大有收获。
蔡维德
美国亚利桑那州立大学荣誉教授,北航区块链实验室主任
书摘
插图:
早期的矿工由一些技术爱好者组成,他们提供机器用于分布式记账。到了后期,挖矿已经发展成为一种职业,组成了专门从事挖矿的团队。由于挖矿得到的货币数量和机器的运算能力大小成正比,因此从概率上看,采用越快速的硬件,在所有矿工中算力的占比越高,就能够获得越多的货币。矿工们为了获得更高的收益,彼此之间在算力上进行较量,算力低的矿工会因挖不到币而逐渐被淘汰出局。从参与的硬件上看,最开始矿工们采用通用的CPU(中央处理器)来挖矿。后来大家发现GPU(图形处理器)能够提高并行计算能力和吞吐量,效率更高,于是纷纷采用GPU挖矿。再后来,出现了专门为挖矿设计的集成电路(Application Specific Integrated Circuit,ASIC)芯片,目前已经成为挖矿行业主流的硬件设备。
随着全网算力的不断增加,单打独斗的小矿工已经没有规模优势,挖到加密货币的时间非常不确定,运气不好的话可能要几年才能挖到一个有效区块,有点像买彩票中奖一样。为了使收入更加平稳,矿工们可以组成矿池(Mining Pool),由矿池管理者统一分派挖矿的计算任务,挖到的币都归矿池管理者所有。矿池管理者根据各个矿工贡献的算力比例,定期分配挖矿的收入。矿池已经成为加密货币区块链网络算力的主要来源,零散的矿工由于经济上不占优势,基本上已退出了挖矿的行列。
矿池能够给矿工带来相对稳定的收入,但是也带来了新的问题。矿池把原来分散的算力集中起来统一管理,这违背了区块链的去中心化原则,在矿池规模不断增加的过程中,有的矿池在全网的算力达到了相当大的比例,甚至排前几位的矿池的算力总和可以超过全网的51%。图9—5是2016年7月的比特币算力分布情况,可以看到前3大矿池的算力已经大于51%(这3个矿池都在中国)。从理论上说,如果能够控制整个网络达到或超过51%以上的算力,就可以控制区块链的记账权。这样比特币等加密货币依赖的分布式记账方式将被破坏,同一个货币可以多次使用(即重复花费,也叫双花,double spend),这样,信用体系将不复存在,加密货币体系将被彻底摧毁。