Author

Topic: 纸贵科技CTO陈昌:不同区块链技术路线的定位与发展方向 (Read 50 times)

member
Activity: 70
Merit: 10
2017年11月9日至10日,2017亚洲区块链技术及应用峰会将在深圳盛大开幕。中国已经把区块链技术列入了“十三五”规划,金融行业尤其关注区块链技术。近日,中国银行正在紧锣密鼓地网罗区块链专家,而不少银行已经有了区块链技术的落地应用,包括证券、保险、基金等也在发力区块链技术。虽然目前区块链大热,但行业监管不足、项目主体不够清晰等痛点还在拖累区块链技术的发展与应用。为更好的“关注区块链技术本身,加强投资者教育”,2017亚洲区块链技术及应用峰会在创新之都——深圳盛大开幕。大会对区块链技术监管、全球发展趋势、金融行业应用等方面进行研讨,诸多大咖将与您一起刷新行业认知、展望行业前景。纸贵科技CTO陈昌在峰会现场进行了以《不同区块链技术路线的定位于发展方向》为主题的演讲,以下是演讲实录。大家下午好,我是纸贵科技的CTO陈昌,今天给大家带来的分享也和上午的圆桌讨论有关,上午讨论了共有链和私有链的区别,我今天借这个机会尝试给大家总结一下我的看法,尤其是不同区块链技术路线的定位、差异和方向。我们先了解一下区块链的技术演化路径是什么。从最早说起,大最熟悉的就是比特币,从技术上讲,它并不是完全从头到尾的创新,而是组合了已有的成果,组合得非常完美。一直跑到现在,比特币没有出过太大的问题,是一个非常完美的实验。我相信坐在这里,大家也是冲着区块链来,而不是某一种币。可以说它们的发展方向已经完全不同了。从区块链上探索诞生出什么样的场景应用,而比特币是做完全去货币化的通用系统。2014年以太坊的诞生把区块链带火了起来,以太坊给区块链带来了什么?最重要的贡献就是把智能合约这个概念引入到了区块链当中。有了智能合约这样一个通用的可以编程的平台,我们就可以说区块链在这其中释放了在应用领域的更大潜力。大家看图,这是来源于一个在线的网站,可以看在以太坊上部署了多少应用,构建了非常大的生态系统来完成,作为一个开发者来说,尤其是共有链的支持者非常支持和信仰代码基础。到了2015年的时候,有一个项目叫做超级帐本,今天也是非常著名,有非常多的应用落地的项目。它和公有链模式不同,宣告的区块链不再仅仅是完全开放可以是在一些联盟,甚至私有的环境下构建一个多中心或者弱中心的分布式帐本。而且超级帐本这个项目和之前有区别,它的推动者主要是大企业和比较成熟的开发者。所以他们更多关注的是商业场景上的应用,例如银行联盟、供应链联盟。它和公有链最大的区别是引入了控制,带来了权限审查。共有链不同,大家都是平等的,都是开放的,可以看到所有的数据。以超级帐本为代表的联盟链架构通常说自己可以扩展,可插拔,也就是说各种各样的模块可以配置,搭建一个区块链网络,会有很多区块链的组合。我做到可插拔以后,可以定制一定区块链。今天上午有一个问题非常有意思,到底私有链是否算区块链?如果说对它进行一次通用的总结,最主要是这三个概念。第一是交易,交易就是对区块链帐本内容的一次操作,在数字货币内一次转帐,是一笔交易。区块是一段时间以内发生的交易结合,链是由这些区块一个一个串起来的。我想说的是,只要满足这个数据结构,你都可以称它是区块链。而满足这个数据结构,不用去中心化,联盟链的很多场景仍然是区块链,只要满足这个数据结构就一定是,我也是间接回答了上午的问题。上午还有一个嘉宾说到将来可能会有区块树、区块图,这种项目也很有意思,可能会成为将来区块链技术的进一步衍生的方向。回到今天的主题,我想给大家做一做分类,做一做不同路线的定位,到底他们的差异是什么。首先讲三个概念。第一是公有链,任何人都可以参与使用维护,最典型的就是比特币、以太坊,信息完全公开。第二是私有链,有什么实际的商业用途吗?不见得,但是它更多是由开发者来使用,例如构建一套使用环境。第三是联盟链,介于两者之间,正是因为有不信任,以往的每个人记一笔帐,就有很多信息摩擦,由联盟链就能够提升效率。我用这张表来给大家说一下区块链的演化。最早是比特币想做公开的数字货币,向下的以太坊网络想构建一个世界计算机。第三个是超级帐本这样的项目,是想做带权限的分布式帐本的处理。右边首先是加密代币,公有链完全支持。智能合约层面,比特币一般不支持智能合约,它有基本的脚本,但是这个脚本功能很弱。然后是共识,或者说整个网络的一致性。共识是做什么事情?一个区块链分布式网络有这么多节点,你肯定要对交易的合法性等内容大致一致,也就是说要完全一致性。公有链,我们不需要懂技术,想象一下这么多人要达成一致一定代价很大。所以它做了很多协调,那种共识是基于概率的,我们转帐时看到等待时间很长。但是一定是防范容错的。联盟链场景不一样,既然节点数已经这么少了,肯定可以让大家达成一致的代价变小。通常来讲,它们的一致性是确定性的,而且不一定是拜占廷容错。假设没有人攻击我。还有权限,以太坊和比特币没有权限控制,但是联盟链网络需要权限控制。这个表格的内容只是代表性的情况,现在很多技术都在融合,所以不可能用一张表让大家一概而论。下面是公有链,一个词开放,它的理念是完全开放。只要有互联网,就可以成为一个节点,可以自由的加入、退出。正因为如此,部署在这链上的任何规则都是透明,你很难篡改规则和内容。遇到攻击怎么办?如果网络本身协议没有办法防范,就会产生很大的经济损失,例如丢币,上两天还发生了一个钱包事件,都是在这种网络环境下会发生的。公有链开发者是一些想改变世界的极客,他们会从底层的算法层面做一些创新和开拓。联盟链的特点是什么?首先,联盟链网络参与方很多,不像共有链通常是用户和矿工。联盟链最基本的有网络运维者,共有链是开发者,开发好,部署出去,理论上讲不用管,这个网络可以永远运行下去,哪怕发起者不在了,退出了,它还在。网络运维者在不断的运维这个网络。还有应用开发者、应用使用者。而且在联盟链里面,这些用户都是做一些2B的,而不是2C的。我需要有身份的认证,通常由证书机构来完成。还要引入监管者,这是联盟链的特点,允许监管者,有些角色有更高的权限,不像公有链所有节点都是平等的,联盟链的监管者能看到更多的内容。联盟链还会有平台集成,户互相访问业务逻辑,两边都有传统的数据源。先说联盟链和公有链的最大区别,就是有权限控制,这是多层面的。左边这张图是一个简单的三家银行构成联盟链的场景。如果引入通道这个概念,其实通道和通道之间彼此的信息是不共享的,如果银行A和B形成一个通道,银行B和C形成一个通道,它们之间信息是不共享的。不是所有人能发起所有交易,交易也分不同的类型。右边这张图是PKI架构,我们的身份证书管理通常是由它完成,所以它也是信任场景的基石。接下来说性能问题。联盟链存在的意义就是要在性能上胜过公有链,这是除了刚才权限以外的第二点。通常联盟链怎么做这个事情?首先分析一下到底一个区块链网络的节点都有哪些任务。它要去做存储、区块链数据结构的存储,运行智能合约,还要做网络共识等等,要负责很多事情。所以很容易想到的是,是否每一个节点要把所有事情都负责了呢?我们先看智能合约,它往往是计算密集型的,而帐本是存储密集型共识既是网络密集型,在很多时候也是计算密集型。还有联盟链的特殊需求是安全,这就是信任密集型。如果把不同的能力从一个不同的节点中解耦开,就有了方法。不是每个结点要负责上面的工作,可以分散给不同的人,适合做什么工作就去做什么工作。首先由超级帐本提出的能力,这些都是联盟链为了解决性能问题做的优化。在超级帐本以前的版本当中,这些核心的记帐节点每个人都是独立的,每个人要负责所有的工作。之后1.0新版本当中,这些功能拉出来,有不同的节点负责,还有一些节点专门负责对网络中的交易进行排序。接下来说一下不同的区块链共识机制的差异。仍然是以公有链和联盟链来做区分。首先我们了解一个本质,公有链提供的是匿名场景下的最坏保证,因为太开放了,所以会有各种各样的攻击。我们看CFT和BFT都是经济模型。例如挖矿或者以太坊,如果你作恶了,获得的惩罚比起最后带来的收益要大得多,这就是经济利益的博弈。联盟链因为彼此之间有信任的基础,所以把这个作为假设,就可以换取性能的提升。一个联盟链项目能否做共有链?一定不能轻易做。还有记帐权的区别,公有链通常来说,所有人都可以成为记帐节点,但是联盟链有人制订。例如我们公司做的版权存证的链,政府就需要成为记帐节点或者内容提供商,与业务本身无关或者权重太小的人不可以。下面是容错能力,分为CFT和BFT。BFT是模拟网络中有人作恶,可以防范到25%或者50%以下的作恶节点。CFT是只能防范网络中的节点。这就是他们的区别。通常共有一定是BFT,联盟链两者都有。例如有四个节点,其中一个节点常识作恶或者受到攻击,就会对公有链产生威胁。最后是网络维护,联盟链方面,本身这些参与者就是要共建一个商业模型,这是天然的激励。下面说智能合约的差异。通用的讲,就是无状态的、事件驱动的代码。你会产生很多的代价,会受到经济上的制裁。而且以太坊写智能合约的时候,会发现不能生成随即数,所以对公有链来说,需要进行一些能力上的限制。联盟链有一些信任的假设,所以不强调在写智能合约的进行能力限制,所以引入了一些主流开发语言。如果真的有人写出来一些攻击性的智能合约,通常审计方卡掉了。如果受到了攻击,你想修复这个攻击,往往需要很大的代价。公有链的合约也不能升级,这很好理解,如果合约升级了,那么在合约一开始部署的时候,去中心化的思想就已经去掉了。但是联盟链可以升级,如果发现了bug或者要引入新的东西,都可以升级。如果你设计得模块化非常好,也可以实现业务的升级。我还是想说钱包的问题,它昨天受到了攻击,表面的合约调用库合约,库合约被攻击,表面合约就不能用了。最后我们看,公有链和联盟链接下来的发展方向和侧重点是什么?公有链有很多很有意思的研究方向,前几天在墨西哥召开的以太坊会议上,也提到了这个问题。以太坊的经济激励模型也在不断多元化,包括同态加密和零知识证明,这些都是共有链爱好者们非常感兴趣的。最后是跨链协议,很可能会成为区块链今年到明年非常有意思的研究方向。我们再看联盟链。联盟链的开发者也好,运维者也好,会把很多精力放在如何去生产环境下面真正跑起来一个商业应用。首先会考虑自己的运营成本,接下来是如何与中心化的系统集成和共存,包括我的业务交易如何合理传递,不同系统之间如何公平分工。还会考虑故障排查、数据隔离。因为联盟链毕竟节点有限,受到攻击鲁棒性不如共有链,就考虑各种各样的数据迁移和灾备。还有联盟链与主流技术架构的融合,有了融合之后就可以做一些自动化的运维和和传统数据存储能力结合起来。右边是IBM的一张图,是在企业内部构建一条联盟链,和企业原本的数据系统如何进行完美的集成的一张图。最后介绍一个概念,叫做区块链即服务,每个人对它都有不同的理解,但是个人理解这个服务更适合于联盟链场景。它用于降低区块链的使用门槛,一方面面向开发者,另一方面面向区块链的使用者或者试用者。通常部署在云计算基础之上,对外提供运行时的服务管理。最后说一下纸贵区块链现在已经有的成果和之后可能会发布的一些项目。左边是我们开发的一条联盟链,最早是超级帐本1.0版本,我们在之上做了很多模块替换,联盟链各种各样的模块可以替换,是插件化的,也做了新的数据结构和交易模型的引入。我们基于这个平台,把之前在公有链上的所有和版权存证相关的应用都迁移到了联盟链之上。除了跑了一年的版权相关的业务,也提供面向不同行业的解决方案,包括食品、溯源、物联网、政府机构等等。因为我们的技术团队有3个超级帐本的长期开发者,我们现在虽然在开发自己的链,也不断的给社区贡献代码。我们有来自以太坊的非常长期的应用开发者。大家客观的想各种各样的路线,不要觉得哪种好或者不好,只要了解清楚了它们的定位,就知道它们能做什么事情。我们也在尝试开发一些有意思的项目,例如联盟链和联盟链的跨链协议,预计明年公布。主持人:谢谢陈总给我们带来的演讲。我们可以在下面继续和陈总进行技术上的交流,感谢陈总给我们带来的技术分享。
Jump to: