前言

2017年年初,IBM宣布在德国慕尼黑设立物联网事业部,旨在围绕区块链、安全,通过Watson物联网技术,从嵌在机器、汽车、无人驾驶飞机、滚珠轴承、设备部件甚至医院中的数十亿传感器中获取实时数据,构建全新的物联网。

身处物联网行业的我,隐约感觉到区块链将会成为新的研究方向,为传统行业带来新的助力。随后,我查阅了大量相关资料,想尽可能多地了解区块链。一个偶然的机会,我结识了南京一家区块链初创公司的技术负责人,并受邀加入他们的团队,开始全身心投入区块链行业中。

我的初始工作围绕以太坊开源项目展开,范围包括白皮书、黄皮书、源码、工具、共识算法、智能合约、雷电网络、零知识证明等。短短几个月的时间,我学习到的新知识比过去几年加起来还要多。没过几个月,本书的另外两位作者史钦锋和程杰也加入团队,并一起成立了以太坊技术研究小组。在大家的共同努力下,我们从理论到实践,完整地总结出一套借助以太坊技术实现区块链应用落地的技术方案。

一路走来,我们深深感受到区块链理论涉及的概念之多,技术涉及的门类之广。这对于一个初学者来说实属不易。另外,一些不法分子利用区块链技术创新之名,行招摇撞骗、掳掠钱财之实。作为相关从业人员,我们有能力,也有必要尽自己的微薄之力,将自己所学和心得体会用文字记录下来,让广大的读者客观理性地认识这个新事物。如若读者能就其中一两点产生共鸣,激发创新、创造的热情,那实在是意外的收获。

本书仅仅针对以太坊开源项目。回想笔者的工作经历,虽然也接触过其他项目,但总体比较来看,以太坊是最适合初学者入门的技术栈。因为以太坊技术社区在全球范围最完善,参考资料多;以太坊核心团队最具备极客精神,开发速度快;以太坊主网上线运行时间长,经历了最严苛的安全性检验;以太坊的目标最远大,它要成为世界的计算机。

本书共分11章。书中不仅归纳总结了以太坊项目的整体现状,也对未来的发展和技术走向进行了总体预测和分析。

第1章 从比特币说起,谈以太坊项目的起源,对项目整体情况做了概述。

第2章 从理论入手,介绍了以太坊知识体系的诸多概念,比如密码学、共识和图灵完备特性。

第3章 从架构入手,介绍了以太坊设计的整体思路、模块划分以及核心功能实现。

第4章 讨论共识,共识是区块链最核心的问题,共识的设计也是区块链的难点所在。从PoW到PoA,再到PoS,我们比较了各种共识算法的优缺点,也分析了不同算法的适用场景。

第5~7章 围绕智能合约展开讨论。智能合约是以太坊的最大创新点,它将区块链变成了可以服务任何行业、任何场景的可编程平台。从开发步骤、技术原理到底层实现,覆盖了智能合约软件支持的方方面面。对于偏向区块链技术应用的开发者,我们建议将学习重点放在第5章;对于偏向底层的区块链协议开发者,相信第6、7章会带给你不少收获。

第8章 指导读者熟练掌握以太坊周边的工具,在不开发代码的情况下,完成与以太坊网络的交互。

第9章 介绍了以太坊技术的企业级应用以及企业以太坊联盟的标准化进展。

第10章 对跨链方案进行了探讨。由于目前跨链技术还不成熟,本章仅对大体的技术方向做了介绍。跨链也被视为后以太坊时代的区块链技术热点,将引领区块链3.0时代的到来。

第11章 分析了以太坊现阶段面临的发展瓶颈,并对可能的解决方案进行了展望。

本书内容包罗万象,有项目概述、架构设计、实现细节和开发方法,适合对区块链理论和实现感兴趣的读者阅读,也适合作为技术手册,供读者遇到具体问题时查阅参考。由于区块链技术发展迅速,水平有限,书中难免存在错误或不当之处,希望得到广大读者的批评指正。后续,我们将通过线上专栏(https://zhuanlan.zhihu.com/c_210509549)的方式,保持和读者的沟通,并针对大家感兴趣的话题进行讨论。

感谢带领我进入区块链行业的技术大咖Denny,感谢曾经一起工作的同事,也感谢为本书出版费尽心血的华章出版社的各位老师。在本书的编写过程中,占用了很多陪伴家人的时间,但得到了家人充分的鼓励与支持,深深地感谢他们。

王欣