这些小众的区块链技术流派不容忽视

640?wx_fmt=png


 孟岩

渡鸦区块链专栏作者


640?wx_fmt=png



小众门派


上述区块链开发的三大主流平台,从活跃度、受关注和参与人数来说,远远超过其他平台。但俗话说莫欺少年穷,一些眼下还默默无闻的平台也不容忽视

Hyperledger的另一个一级孵化项目Sawtooth Lake是Intel开发的区块链平台,是一个很少被关注的项目,大概是因为被同在Hyperledger旗下的Fabric给掩盖了,再加上名字拗口,所以很少看到有人讨论它,项目活跃度也不高。

640?wx_fmt=jpeg

国内翻译为锯齿湖


但其实Sawtooth Lake是一个挺有想法的区块链项目,设计十分精心。它以数字金融资产管理为目标,整体架构清晰,模块化程度高,因此可定制能力也强。概念上独创了“交易族(transaction family)”概念,而且还支持PoET和Quorum两种共识机制。

当节点数量很多(公有链环境)时,使用第6代Intel Core CPU所提供的SGX扩展功能提供一种称为时间流逝证明(PoET)的机制来形成共识,这种机制与比特币所采用的PoW同属“抽彩票”式的共识算法,但杜绝了通过ASIC专用硬件“作弊”的可能性,排除了比特币出现的算力过于集中的隐患,可靠性由Intel CPU硬件来保障,是公有链系统里很有价值的一个共识机制。

另一方面,当节点数量少且受控时,Sawtooth Lake可以采用Quorum共识机制,这是由Ripple提出并验证的共识机制,非常适合于联盟链场景,这样Sawtooth Lake就摇身一变成为很好用的联盟链了。

Sawtooth Lake采用Python开发,并提供了Java SDK。由于这两种语言的流行度,实际上它应该有很大的潜在开发者人群。事实上,R3 CEV曾经测试过Sawtooth Lake并进行了成功的证券交易实验。当前它主要的问题是受关注度不足,不知Intel是否有足够的耐心和毅力坚持到底。如果Intel战略更明确一些,支持力度更大一些,我建议大家可以对它投以更多的关注。

640?wx_fmt=jpeg


R3 Corda是一个备受关注的分布式账本项目。 R3是由数十家银行和金融机构支持的区块链企业,融资上亿美元,号称汇集了一票高手,潜心研究符合金融行业需求的分布式账本系统。Corda是R3分布式账本系统中的核心,在千呼万唤之后,于11月30日正式开源。

Corda采用JetBrain原创的小众语言Kotlin开发,对Java世界敞开大门,这是令人点赞的。此外,Corda更重要的特色是其与现有世界里大银行、大型中心机构的全面妥协、全面合作的姿态,这与以太坊革命无罪、造反有理的形象形成鲜明对比。

Corda在设计中有多项独特考虑,就是为了对接现有的业务规则。比如在其他几乎所有区块链平台里,每一个交易对于各节点来说都是可见的,可见才能验证,能验证才谈得上共识,所以交易的全网可见性是顺理成章的。但是现实世界里金融机构之间的交易,只有交易相关方才能看到交易详情,工行与建行的一笔交易,绝无必要让招行看到。

为了对接这个现实,Corda设计了与众不同的机制,牺牲了交易验证的全局可见性,确保只有交易相关方才能看到和验证交易本身。可是另一方面,银行业务是被重度监管的业务,不能因为你用了区块链系统,就把洋洋洒洒的巴塞尔协议晾在一边,监管机构的职能如何体现?这是其他区块链系统里考虑不多的。

而Corda设计了独特的Notary和Oracle节点,为监管体系进入留下了空间。仔细品味,这些都是给现实世界当中的大机构预留的美差。这些设计上的考虑,无疑大大增强了Corda被现有大型金融机构采纳的机会。不过这一切看上去很美好,但目前Corda的实现基本上是个花架子,设想的种种,不少处于TODO状态。

另外两个值得点名的区块链门派分别是Chain和BigchainDB。前者跟Visa有合作,后者是一个基于RethinkDB开发的分布式账本,两者各有各的思路和特色,也拿到了为数可观的投资,不排除未来能有大的发展。限于篇幅,在这里不展开介绍了。

640?wx_fmt=jpeg


区块链开发所需具备的技术基础


可以预见,未来从事区块链开发的主要有三类开发者,一类是开发基于区块链的Web或移动App这种开发者所需要的技能与今天的Web和移动开发者并无二致,这里就不赘述了。

第二类开发者是开发智能合约的。这类开发者使用类似Solidity这样的智能合约语言,或者直接用Go、Java、Python等语言开发。开发智能合约所要求的语言和算法技术水平不高,什么并发、多线程之类的东西一般用不到,普通开发者均可胜任。但是智能合约的难点在于业务与安全。

本质上智能合约就是以代码写成的商业合同,必须对于业务有非常清晰的认识,对于安全有着深刻的理解,才能够写出正确的智能合约。因此,我认为未来智能合约的开发者,可能反而是具体应用领域的行业专家出身居多,因为让他们掌握Python语言,远比让程序员去理解进出口贸易规则或者商业票据业务要容易得多。

第三类开发者,就是区块链核心应用系统和核心平台的开发者。这部分人当然必须是技术高手,按现在通俗的说法,得是后端专家。从语言上讲,C++、Java、Python、Go、JavaScript都有可能要触及。从基础知识来说,要求对密码学、分布式系统、网络编程、系统架构和部署都有相当程度的理解和实践经验。这种开发者显然将是区块链技术浪潮当中的弄潮儿,也将是最大的受益者之一。

640?wx_fmt=jpeg


特别要点一下密码学。密码学是大多数开发人员的短板,但若要在区块链核心技术领域搞出能够碾压竞品的创新点,密码学是最有可能出成果的地方。不用说搞出什么密码学突破,就是将密码学现有成果充分运用在区块链里,都可能会搞出一些逆天的创新来。

比如用零知识证明协议(zero-knowledge proof)构造高度匿名化的区块链系统,比如用私有计算外包(private computing outsourcing)技术让别的节点既能够验证交易,又对交易本身的内容一无所知,这都是能够激发大量商业模式创新的技术,等待密码学黑客们发掘和实现。因此,我相信密码学成为显学的时代即将到来。

区块链是一项前景无限、极具颠覆性和想象空间的技术,它有潜力带来一个完全不同的商业时代,塑造新一代的互联网,也有可能被传统势力合谋异化。无论如何,区块链为创业者和程序员提供了又一次弄潮的机会,在这片蓝海上将演出一场怎样的大戏,我们且拭目以待。


作者简介:孟岩 ([email protected]

IBM大中华区高级经理

渡鸦区块链专栏作者


曾负责IBM智慧地球、智慧城市、认知计算等重大技术战略在中国的推广和落地。

一年前开始关注区块链技术及其行业应用前景,对比特币、以太坊、超级总账和BigchainDB四个主要区块链技术流派都进行过考察和研究,形成了在中国应用区块链技术的观点和思路。 


640?wx_fmt=png

转载/投稿请扫描以下二维码联系

640?wx_fmt=png

阅读更多

更多精彩内容