作者:孟岩,IBM大中华区高级经理,曾负责IBM智慧地球、智慧城市、认知计算等重大技术战略在中国的推广和落地。一年前开始关注区块链技术及其行业应用前景,对比特币、以太坊、超级总账和BigchainDB四个主要区块链技术流派都进行过考察和研究,形成了在中国应用区块链技术的观点和思路。
责编:贾维娣(jiawd@csdn.net)微信联系jiaweidi1214加入“CSDN物联网技术交流群”,与更多专家、技术同行进行热点、难点技术交流。
本文为《程序员》原创文章,未经允许不得转载,更多精彩文章请订阅2017年《程序员》
如果你关注区块链技术长达几个月,可能也会跟我一样,对没完没了的原理介绍、前景描绘、行业探讨和链圈新闻产生了审美疲劳。没错,区块链必须与行业紧密结合,它也有颠覆人类协作方式之洪荒巨力,但是说到底它还是一个技术活,是要写代码的,在咖啡厅里整天坐而论道是造不出金链子来的。技术人员的逻辑简单直接,这个事情有没有前(钱)途?有,那怎么干?
本文试图对区块链有关技术流派和主流平台进行一个概览,作为学习区块链技术体系的导览,意在抛砖引玉,促进区块链开发社区的讨论与共识。
区块链技术的流派
未战先谋局,你想投入区块链开发这个领域,至少先要搞清楚现在有哪些玩家,各自的主张和实力如何。
划分区块链技术流派并无一定之规,据我所见,或可有以下四种方式:
第一是按照节点准入规则,划分为公有链、私有链和联盟链。公有链的代表自然是比特币和以太坊,私有链则以R3 Corda声名最盛,联盟链的代表作品是Hyperledger名下的Fabric。公有链注重匿名性与去中心化,而私有链及联盟链注重高效率,而且还往往设置了准入门槛。公有链、私有链与联盟链之间的这些不同都在技术中有所体现,比如私有链和联盟链假设节点数目不大,可以采用PBFT算法来形成共识。而公有链假设有大量且不断动态变化的节点网络,用PBFT效率太低,只能采用类似抽彩票的算法来确定意见领袖。这就意味着,私有链与联盟链很难变成公有链,而用公有链来作联盟链或私有链虽然容易,却也并非即插即用。此种差异,学者不可不察。
第二是按照共享目标,划分为共享账本和共享状态机两派。比特币是典型的共享账本,而Chain和BigchainDB也应属此类,这几个区块链系统在各个节点之间共享一本总账,因此对接金融应用比较方便。另一大类区块链系统中,各个节点所共享的是可完成图灵完备计算的状态机,如以太坊、Fabric,它们都通过执行智能合约而改变共享状态机状态,进而达成种种复杂功能。
第三是按