区块链技术源自比特币,是比特币的底层技术。自从2008年一个化名为Satoshi Nakamoto(中文翻译为中本聪)的人发表了一篇论文《比特币: 一种点对点式的电子现金系统》,比特币拉开了极具创新的区块链技术帷幕,让区块链逐渐进入大众视野。2013—2014年,以太坊的概念由程序员出身的Vitalik Buterin提出,其理想在于构建“下一代加密货币与去中心化应用平台”。以太坊首次将智能合约的概念与区块链相结合,并使用区块链为智能合约的执行提供可信的运行环境,使得智能合约的实现成为可能。同时,智能合约的引入,也让区块链的应用场景更加丰富。因此,可以说比特币开辟了区块链,以太坊让区块链有了质的飞跃。
2015年12月,Linux基金会宣布并发起了Hyperledger开源项目,项目的目标是区块链及分布式记账系统的跨行业发展与协作,并着重发展区块链的性能和可靠性,使之可以支持主要的技术、金融和供应链公司中的全球商业交易。Hyperledger项目将采用独立的开放协议和标准,通过框架方法和专用模块,实现区块链的身份服务、访问控制、共识机制和账本管理等核心技术。随后,2017年BM(Daniel Larimer的网名缩写)发起了BlockOne,提出开发类似操作系统的区块链架构平台(Enterprise Operation System,EOS),旨在实现分布式应用的性能扩展,EOS提供帐户、身份验证、账本管理、异步通信以及在数以百计的CPU或群集上的程序调度。2019年6月18日,Facebook发布Libra白皮书,旨在推出一种不追求对美元汇率稳定,而追求实际购买力相对稳定的加密数字货币。不难看出,无论是从追逐利益还是创新技术的角度,区块链技术随着人们对于经济博弈或者技术创新等因素在波澜壮阔地发展着,我们相信,新的技术会不断涌现,新的应用也一定会被实现。
随着技术的发展,区块链的多链、跨链、平行链、主/侧链技术也在不断演进。那么区块链的本质究竟是什么?它具有怎样的价值体现?区块链能在哪些领域起到何种作用?本书先简单从以下角度来阐述区块链的技术本质、信任体系、价值作用以及理性看待区块链的问题等内容。
1. 区块链是一种不可篡改的分布式账本
从技术角度上讲,区块链是一种不可篡改的分布式账本。区块链技术是以密码学算法为基础,基于特定的共识机制,通过构建以块为单位的时序化的链式数据结构,采用P2P网络进行数据同步的一种多节点、自组织、不可篡改、安全可信的分布式账本系统(在后续的技术发展中区块链支持了智能合约和虚拟机)。区块链具有去中心化、集体维护、不可篡改和安全可信等特点。根据其开放程度,区块链技术一般分为公有链、联盟链和私有链。
我们认为,区块链不单纯是一个技术问题或是一个经济学问题,区块链涉及人类文明中关于经济学、博弈论、心理学、哲学、社会学、数学、信息科学(包括密码学、分布式计算、计算机网络、数据库等核心科学技术)等多种学科。
2. 区块链的本质价值是分布式协同信任
在信任模型方面,传统的任务处理是围绕高度集中的中心化系统来处理的,其信任模型主要依赖于第三方机构的可信程度。从信任机制上来说,传统的任务处理是中心化、集中式的单点信任机制,而区块链的任务处理则是多节点、分布式的多点信任机制。因此,区块链的本质价值是分布式协同信任。区块链提供了一种多节点、自组织、可证明的分布式协同信任能力。正因为如此,无论是基于公有链的数字资产还是联盟链的数据存证才有了在技术和机制上的不可篡改、安全可信支撑,最终才形成了由分布式信任体系带来的价值承载。
3. 区块链是一种分布式高阶信任基础设施
关于区块链技术的应用价值,传统的信任支撑是基于对特定权威机构的无条件信任,这种中心化的信任管理缺乏技术和机制上的透明性、对等性、公平性和可验证性。区块链提供了一种分布式的协同信任,它提供了一种公平、对等、分布式的信任基础设施,参与到系统的人可以对相关数据进行独立查证核验,而任何人无法随意篡改已经形成的历史账本数据,系统的可信性和数据的不可篡改性是通过区块链本身的技术和机制来保证的。区块链在底层从技术和机制上提供了一种公平、透明、对等、自组织、分布式的高阶信任支撑,凡是需要用到高阶信任的场景,区块链技术都大有可为。因此,从区块链的应用价值上来说,区块链是一种分布式高阶信任基础设施。区块链可以提供“分布式协同信任、公平透明化监管”。区块链能够为人类文明进步和社会治理发展带来巨大变革。
4. 区块链可在社会治理方面发挥重要作用
在区块链产业应用方面,随着人工智能、大数据、云计算、物联网、5G等技术的快速进展,各行各业的信息和资产都在高速数字化,再进一步数据资产化,形成数字资产。区块链的技术原理让数字时代价值流转的每一步操作都可以公开、透明、有迹可循且不可篡改,这会让数字经济时代的每一笔交易都变得更加真实可信,其分布式网络的特征保证了数据的安全性和开放性,区块链的智能合约可有效地约束链上交易者的行为。从产业应用角度,区块链可在商品防伪、食品安全、公益慈善、公证信用、社会服务、智慧交通、能源电力等社会治理和社会服务等多个方面发挥作用。
5. 必须理性看待区块链相关问题及风险
在区块链技术问题及潜在风险方面,我们需要正确看待,理性应对,切忌急功近利,急于求成,不可盲目推崇或一哄而上。事实上,区块链由于其技术原理和工作机制,处理性能相比中心化的系统来说天然低效,不可能比中心化的系统更快,这就要求我们对区块链的应用领域和应用方式理性看待,客观评估。同时,须谨防不当的意识形态或舆情信息上链(特别是公有链); 须注意区块链金融风险以及区块链技术方面的安全问题。这些需要政府和监管机构合理引导和适度监管。我们应针对不同的区块链应用需求,认真做好区块链业务逻辑设计,扎实做好技术创新和应用支撑。只有这样才能把区块链技术和产业创新发展真正落到实处,区块链才能最终有效推动社会治理和社会进步。
本书章节结构
北京邮电大学区块链技术及安全实验室属于接触、研究区块链较早的团队,对区块链技术已经投入大量的研究和实践,积累了许多宝贵的经验。希望通过本书,将我们长期以来的技术积累和经验分享给读者,消除读者对区块链技术的一些误区,让不了解区块链技术的读者对区块链能够有一个系统而详尽的全新认识,让想要从事区块链工作的读者能够掌握一些区块链开发的实战技巧,为想要深入研究区块链的读者厘清未来的发展趋势和研究方向。
本书分为3篇,共22章,基本涵盖了大部分区块链技术知识点,适用于不同类型读者阅读。
第1篇为基础篇,主要介绍区块链技术的普适原理,对区块链技术的两大核心技术——密码学和共识机制进行了详细讲解,适用于区块链技术的初学者以及想要了解区块链技术原理的爱好者。
第1章本书的开篇,首先介绍了区块链的一般原理及涉及的主要技术,给出了区块链技术的分层架构,探讨了一些区块链的基本概念,如区块链发展阶段、区块链分类及适配性、区块链的发展前景等,从宏观角度带领读者初步认识区块链。
第2章介绍区块链的安全基石——密码学,详细讲解现阶段区块链中涉及的常见密码学技术,如非对称加密、数字签名、Hash摘要、Merkle树以及零知识证明等技术,介绍了我国商用密码算法基本情况,展望了量子计算后的密码学发展趋势。
第3章介绍共识算法,讨论区块链的信任基石——共识机制,介绍共识机制的起源背景,讲解了不同假设条件下分布式共识机制的研究成果,并详细分析了区块链诞生后,适用于区块链平台的常见共识机制。
第2篇为技术篇,本部分又分为三大块,分别介绍比特币、以太坊和Hyperledger Fabric,以这三种典型区块链平台的技术原理和实际操作开发为目标,适用于区块链技术的从业者和想要深入掌握区块链技术的IT开发人员。
第4章介绍比特币的起源及发展史,并以比特币官方钱包BitcoinCore为例,指引读者获取比特币、使用比特币,对比特币平台有初步认识。
第5章介绍比特币的几大基础技术概念,密钥地址、交易以及脚本,不仅从原理上进行讲解,并使用命令行操作工具查看地址和交易的实际格式和转换过程,方便读者理解。
第6章介绍比特币系统中的区块链技术原理,包括技术参考架构、区块结构、网络传输、挖矿和共识等,引领读者了解比特币区块链的运行原理。
第7章介绍比特币区块链近几年的进阶技术,包括隔离见证和闪电网络,使读者了解比特币的未来发展情况。
第8章介绍比特币区块链的实战操作,包括在各个系统版本下比特币源码的编译和运行,搭建私有链发行自己的Altcoin,并为自己的代币搭建区块链浏览器。
第9章对以太坊区块链进行总体描述,介绍了以太坊区块链中的几个核心概念,账户、交易、区块、节点、挖矿和共识、EVM虚拟机等。
第10章介绍以太坊区块链的分层架构,并分别介绍每一层的核心功能和技术原理,引领读者了解以太坊区块链的运行原理。
第11章介绍以太坊区块链作为区块链2.0时代的代表所具有的典型功能,包括平台本身的链相关应用和基于以太坊智能合约的DApp应用,让读者了解以太坊区块链到底能做什么。
第12章介绍如何获取以太坊源代码,编译并搭建自己的私有链,包括启动节点、多节点组网、引导节点配置及多节点启动等内容。
第13章介绍以太坊智能合约开发的全过程,包括智能合约语言Solidity,以及智能合约的整个生命周期——编译、部署、调用、销毁和测试方法等,并通过开发ERC20数字资产带领读者了解智能合约的开发和使用过程。
第14章主要针对以太坊区块链的实操训练,包括DApp的介绍和一个实际的DApp开发案例,带领读者使用Web3.js+Remix+Node.js实现一个发行数字资产和锁仓的DApp。
第15章介绍以太坊区块链近几年的进阶新技术,包括使用以太坊实现的联盟链Quorum,解决以太坊区块链可扩展性的分片技术,以完善整个区块链生态为目标的侧链技术,使读者了解以太坊的未来发展情况和方向。
第16章介绍超级账本的诞生背景和发展,详细讲解Hyperledger Fabric的基础技术原理,包括Fabric的技术架构、网络架构、账本数据、共识机制、通道化数据、交易流程和智能合约等基本概念及运行原理。
第17章介绍Fabric的网络部署及部署过程,从搭建基础环境到简单构建Fabric网络,也包括一些基本操作,如启动节点、通道管理以及链码管理等。
第18章主要针对超级账本区块链上智能合约开发的实操练习,介绍不同类型链码的结构及Fabric SDK的使用,最后使用HyperledgerComposer去开发一个区块链项目,读者能从整体上了解如何开发一个区块链项目。
第3篇为进阶篇,主要介绍区块链技术一些更高阶技术,包括区块链技术现在所面临的一些技术问题,详细讲解了区块链技术现阶段所存在的安全问题及区块链智能合约的安全检测。同时,也对目前关于区块链的最前沿技术进行了介绍。该部分适用于想对区块链技术有更加深入了解的读者。
第19章介绍目前区块链发展在技术层面上所面临的问题,主要分为三个方面,区块链技术本身的局限性、共识算法的问题和可扩展性问题。
第20章介绍区块链在安全方面所面临的问题,从技术分层上详细讲解了在设计区块链平台时每一层所需要考虑的安全问题。同时,介绍了区块链的隐私保护问题,讲解了目前可能能够用来解决区块链隐私问题的密码学技术。
第21章列举了智能合约,特别是以Solidity开发的以太坊智能合约中常见的安全漏洞,介绍了一些检测智能合约漏洞的工具和形式化验证方法。
第22章介绍了现阶段区块链发展的一些新的前沿技术,包括跨链技术、EOS区块链和DAG区块链。
读者对象
高等院校区块链研究师生
区块链技术从业者
区块链应用开发人员
区块链技术爱好者
致谢
本书编写过程中,得到清华大学出版社卢先和常务副总编辑、副社长的大力支持,并建议成立编委会,对本丛书提出了“高标准、严要求、出精品”的编写宗旨,卢社长对本套丛书寄予了很高的期望并提出了具体的要求。在本套丛书规划和建设方面,北京大学区块链研究中心主任陈钟教授、清华大学信息学院邢春晓副院长、清华大学计算机系徐恪主任及赛迪区块链研究院刘权院长和各位编委对本套丛书的选题原则、编写要求、质量把关等方面提出了诸多宝贵意见和建议,要求本套丛书“成熟一本,出版一本。严控质量,宁缺毋滥”,才使得本套丛书最终得以立项和启动。
衷心感谢北京大学陈钟教授、清华大学徐恪教授、赛迪区块链研究院刘权院长在百忙之中为本书写了寄语。同时,感谢北京邮电大学网络空间安全学院陶小峰院长、李小勇副院长,北京邮电大学信息安全中心主任杨义先教授、钮心忻教授、罗守山教授、王励成教授、李丽香教授、彭海朋教授等同事的大力支持,他们在百忙之中为本书的编写提出了许多宝贵意见,给予了我们很大帮助和鼓励,在此一并表示诚挚的谢意。
在本书编写过程中,我们要真诚地感谢邹均博士,邹博士的两本区块链书籍《区块链技术指南》和《区块链核心技术与应用》给了我们很大的启发,也是我们实验室团队许多学生的必读物,邹博士在区块链方面的深刻独到见解以及勤奋努力,让我们深受鼓舞,一直是我们心中很有水平的区块链学者之一。本书第3章内容“共识算法”由邹博士提供,对邹博士的大力支持再次表示感谢。
非常感谢中国传媒大学的姜正涛老师,他在繁忙的教学和学术科研中抽出时间来对区块链的核心组件“密码学”做出了详尽的阐述。在本书编写的过程中,姜老师在密码学方面给予了我们很大的支持,本书第2章内容由姜老师提供。
非常感谢本书的作者高宏民、彭雪银和孙嘉慧,他们在实验室团队科研工作之余抽出时间编写了这本书,并且经过多次修改。没有这些作者辛苦的努力,就不会有这本书。
衷心感谢清华大学出版社闫红梅老师在本书撰写过程中给予我们的大力支持和帮助,闫老师对书稿的内容提出了许多宝贵的修改意见和建议,使书稿的质量有了很大提升。同时,感谢刘键老师为本书不厌其烦地设计了多个版本的封面。
感谢我们北京邮电大学区块链及安全技术联合实验室全体成员,包括王真、张宇青、王小畅、王凌云、赵伟哲、戚娟、翟志斌、刘佳薇、孟嘉霖、彭如月、李曦凌、侯雨桐、陈晗、孟佳霖、刘嘉微、翟志斌、张茜、王思蝶等博士生和硕士研究生; 感谢已经毕业的闫玺玺、张德栋、唐鑫、蒋铭等博士生对我们给予的大力支持; 感谢课题组已毕业的范志强、宋志毅、黄宇轩、陈云超、周远大、王一涵、曹啸、汤涯云、李烨昊、李天博、尚丹、刘亚楠、樊炳新、李兆罚等优秀硕士生对实验室师弟、师妹给予的温馨关心和帮助; 感谢我们团队的杨娟、王云辉、梁孔德、李艳芳、胡月等人员,特别是梁孔德在技术方面做了大量卓有成效的工作,给团队起了带头示范作用。这一切都让我们实验室大家庭团结、温馨而极具活力。
在本书编写过程中参考和引用了大量的文献资料,在此,向被引用文献的作者表示衷心感谢!尽管我们在本书撰写过程中力求准确、严谨,但由于作者水平有限,加之时间仓促,特别是区块链技术的发展非常快速,在书稿撰写到出版过程中,有一些技术已经做了升级换代,书中难免存在缺点与疏漏之处,敬请广大学者、专家、同行予以批评指正,并请提出宝贵意见和建议。
编者
2020年12月