区块链技术研究
2020-12-23
(招商局公路网络科技控股股份有限公司战略发展部,北京 100022)
引言
随着密码学、分布式网络、共识算法、点对点网络等技术的飞速发展,区块链诞生条件日趋成熟,比特币的诞生成为区块链的标志性事件,之后以太坊开创性地将智能合约和区块链结合起来,目前区块链技术已经在各行各业展开研究和应用。
一、区块链技术的起源
探寻区块链的机制和发展,比特币永远是无法绕过的话题。区块链技术最早可以追溯到比特币系统中,2008年一个笔名为中本聪的人(或团队)发布了一篇名为《比特币—一种点对点的电子现金系统》的文章,又在2009年公开了其早期的实现代码,比特币就此诞生。
中本聪并没有直接提出区块链这一概念,但其解决交易记录,真实有效并不可篡改的方案可以看作区块链技术的雏形。
区块链技术几乎与比特币是同一时间诞生,当时中本聪分别提到了区块以及链的概念,不过并没有明确提出完整的区块链概念,区块链是在比特币的基础上,被许多研究人员挖掘出的技术。
综合有关区块链技术的研究,我们认为区块链技术是一种由多方集体共同维护,使用密码学保证传输和访问安全,能够实现数据去中心化一致存储、不可篡改、去除第三方信任机构的记账技术[1]。
二、区块链的基本分类
区块链根据网络扩展性、节点的可参与性及其功能价值,可以分为公有链、私有链和联盟链三种模式。
表1 公有链、联盟链及私有链对比分析表
三、区块链的核心技术
1.非对称加密算法
非对称加密算法,就是了使用公钥和私钥在不直接传递解开密码的密钥的情况下,使加密的信息解密,也就是说,加密的方式和解密的过程可以是完全不对称的关系。
2.摘要算法
区块链采用密码学摘要算法技术,保证区块链账本的完整性不被破坏。摘要算法能将二进制数据映射为一串较短的字符串,并具有输入敏感特性,一旦输入的二进制数据,发生微小的篡改,经过摘要运算得到的字符串,将发生非常大的变化。此外,优秀摘要算法还具有冲突避免特性,输入不同的二进制数据,得到的摘要结果字符串是不同的。
3.数字签名
数字签名是在区块链技术中把摘要函数、密钥全部运用到的重要机制。数字签名主要主要有两个作用:第一,发送节点公钥和私钥,因此,确定了消息是由发送节点发送;第二,则是运用摘要函数确保了信息在发送过程中完好无损。
4.时间戳
时间戳主要负责记录每个区块接受信息的时间,确保每条信息的先后顺序,进而保证了每个区块都能做出一致的判断。
5.分布式账本技术
分布式账本技术DLT(Distributed Ledger Technology)本质上是一种可以在多个网络节点、多个物理地址或者多个组织构成的网络中进行数据分享、同步和复制的去中心化数据存储技术[2]。
四、区块链共识算法
1.工作量证明
工作量证明的概念早在1993年就已经被人提出了,工作量证明需要发起人进行一定的运算,1998年,戴伟发布了匿名的分散式电子现金系统(B-Money),引入了工作量证明机制,强调点对点交易和不可更改的特性,之后中本聪将工作量证明应用到比特币上,比特币采用PoW工作量证明来保证分布式网络记账的一致性,这是目前实践看来最为安全的公有链共识算法。
2.权益证明
权益证明最早由在2012年8月发布的PPC(PeerToPeerCoin点点币)系统中首先实现,权益证明是工作量证明的升级共识机制,主要思想是节点记账权的获得难度与节点持有的权益成反比,相对于工作量证明,一定程度减少了数学运算带来的资源消耗,性能也得到了相应的提升,缩短了延迟,但依然是基于哈希运算竞争获取记账权的方式,因此,权益证明也不是完全弥补了工作量证明的不足,它只是在工作量证明的基础之上进行了部分改善。
3.股份授权证明
股份授权证明DPoS是2014年4月由Bitshares 的首席开发者Dan Larimer提出的一种基于代理人机制的PoS算法,股份授权证明比权益证明更加权威,它类似投票机制,由节点选举若干代理人,由代理人验证和记账,是在权益证明的基础上创造出的共识算法。
4.拜占庭容错机制
拜占庭容错机制也是一种采用许可投票、少数服从多数来选举领导者进行记账的共识机制,但该共识机制允许拜占庭容错。
结语
本文从比特币与区块链技术的关联关系出发,描述了实现区块链分布式记账的主要技术原理和框架,从技术原理出发到应用场景落地全方位阐述了区块链的实现方式。