区块链技术基础教程:原理、方法及实践
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

Preface 前言

背景与动机

具体哪一年第一次听说区块链这个词,我已经记不清了,但对当时那种新奇的感觉记忆犹新。在我每个学年开设的软件质量保证课程中,“软件新技术介绍”部分是从2017年开始引入区块链知识点的,因为有课件可查,所以我记得清楚。到2019年,随着中共中央政治局组织集体学习区块链,区块链技术的热度到达了顶峰,全国各地的各级政府都开始学习和了解这项新技术。凭着前面几年的学习和积累,在朋友和同事们的鼓励和支持下,我也应邀开始进行“区块链技术及应用”科普讲座,听众经常达300多人。

为了做好每场报告,我学习了很多相关材料,深切地感受到大家对区块链技术满怀期待,越来越觉得应该把区块链的知识系统梳理一下,形成一本讲义,并准备申请在南京大学计算机系给本科生和研究生开设一门课程。

恰逢2020年的全球新冠肺炎疫情,大家都居家办公,无人来访,我也不能访问别人,正好安心读书,安心著书立说。于是先做一本讲义,试用了三年时间,改进后再出版为教材。

其实,促成这本教材的关键是2020年年初我遇见了30年前的学长郑志强教授,他目前担任得克萨斯大学达拉斯分校Ashbel Smith讲席教授,是信息系统和金融学双聘教授,博士毕业于沃顿商学院信息系统专业,是信息系统领域国际知名学者,目前研究领域包括区块链、金融科技、智慧健康等。郑教授在区块链研究中专长于数据资产的通证化设计和管理,带领团队自主开发了多项区块链应用,包括水产品区块链溯源、数据算法交易等。他还为多家金融科技初创公司提供技术支持,包括资产通证化估值和管理、供应链金融区块链化等。他是在美国管理学院最早一批开设区块链课程的教授,从2015年开始就讲授区块链技术和应用。

我的博士生陆超逸从2017年开始,一直研究分布式系统的测试与形式化验证。2019年年初,他响应政府号召,顺应时代发展潮流,开始转战区块链系统的测试和形式化验证。他对这个领域进行了系统的调研和深入的研究,并为本书的编写做了大量的工作。

高维忠是美国甲骨文公司的资深程序员,也是我在南京大学和园的邻居,一直对区块链怀有很高的兴趣。我们晚上一起在南京大学和园西边的九乡河公园散步时,经常讨论区块链的精髓和各种应用,探索下一个区块链的杀手级应用会出现在哪里,以及区块链如何像互联网那样深刻地改变人们的生活。

内容组织

市面上关于区块链的书有不少,但缺乏把区块链核心技术、工程开发及应用系统地讲述透彻且适合于中高级层次(如研究生)学习的教材。本书首先阐述区块链在数字经济中的意义;然后从区块链基础技术入手,系统地解释了加密算法、共识、分布式计算、通证、去中心化、智能合约等核心技术在区块链中如何实现;其后分别开单章全面介绍比特币、以太坊、超级账本三个目前最通用的区块链体系,涵盖公有链、联盟链和私有链的三大体系,总结了区块链的一般技术体系,并专门介绍了公有链技术架构和BaaS;之后,介绍了区块链工程开发,包括常用的以太坊体系的Solidity和超级账本体系的Fabric,以及区块链项目开发中的软件测试方法、区块链的安全与监控;再后,结合实例介绍了各种应用场景,如溯源、存证、票据、支付、供应链金融等,并着眼于未来,探讨了区块链的一些可能应用,如通证经济、去中心化金融、数据交易等;最后,本书以讨论区块链的未来发展收尾,探讨了新兴技术(如量子计算和零知识证明)对区块链的影响,以及未来区块链如何与大数据、物联网、人工智能相结合。

致谢

本书编写过程中得到了南京大学计算机系各位老师的帮助,这里特别感谢计算机系副主任仲盛教授,以及陈力军教授、申富饶教授和柏文阳副教授等给予的鼓励和支持。感谢江苏省计算机学会金莹秘书长的大力支持。

感谢2017~2022年这6年来选修我的区块链技术与应用课程的本科生和研究生,他们为我的讲义提出了很多有价值的意见和建议。

本书的编写得到国家自然科学项目“智能软件测试的若干关键问题研究”(项目编号:62072226)的资助。区块链技术已经成为信息技术的基础,将来也是智能化软件的基础,未来要做好这个关于智能化软件测试的研究项目,深入研究区块链技术与应用是必不可少的基础。同时,我们也得到了南京大学软件新技术国家重点实验室、南京大学计算机科学与技术系、华为科技有限公司等项目和单位的支持,在此一并表示感谢。

编者于南京大学仙林校区计算机科学与技术楼

2022年5月10日