一.前言
互联网改变了信息传递的方式,人工智能释放了计算能力,从重复、低效和繁重的工作中把人解放出来。区块链基于其分布式、防篡改、可追溯等特点构建的新型信任机制,将加速生产价值的“数字化”流通,改变价值的传递方式。区块链的开源性、可编程、去中心等特性,将进一步打破信息孤岛,扩展“网络化”运行的边界。机器流程引擎驱动多中心跨主体高效协作,社会资源将实现共商共识共享共治的“智能化”配置,带给区块链应用前景的无限憧憬和想象。
互联网经济以数据为关键生产要素,通过运用网络信息技术提升全要素生产率和优化经济结构。区块链是继云计算、大数据、人工智能之后的又一新兴网络信息技术,其基于技术构建的信任机制,基于合约和规则达成的多节点共识,基于机器驱动的价值自动化流通,将极大的改变当前社会的商业模式,进而引发新一轮的技术创新和产业变革,为数字经济带来新的活力。
二.区块链发展概述
2.1 区块链概念
区块链起源于比特币,是一种综合技术的简称。在经历多年发展后,不断集成当今多种技术于一体,包括分布式账本、共识机制、智能合约、密码学、p2p网络等。在每个区块链系统中,区块即信息块,信息以区块的形式进行集成、打包,并按照实际产生时间的先后顺序进行连接。
2.2 区块链价值
如今,伴随诸多区块链项目的兴起与发展,人们不断见证着区块链为各领域带来的变化,也逐渐认可区块链技术本身所呈现出的价值。其价值主要体现在以下几个方面:
(1)安全:基于去中心化P2P网络技术,区块链系统中所有参与节点将共同完成数据的存储、维护,可有效避免中心化数据系统遭到***时数据泄露的风险。在数据传输过程中,密码学技术提供了安全保障。此外,新区块的产生,是由全网多数节点达成共识后的结果,任意节点都无法实现数据的完全控制,保证区块信息不可篡改;
(2)确权:区块链的另一个价值体现在数据资产所有权的确认上。数据一经上链,即可通过区块链网络确定与用户间的锚定关系,且后续的每一次数据操作都会被准确记录,不可篡改。该特点可对数据资产进行有效保护,防止他人恶意篡改、窃取与利用;
(3)信任:去中心化区块链系统中,数据账本存于各节点,信息公开透明,为数据可信提供了基础保证。由于采用共识机制,各节点需要按照严格的算法规则更新区块信息,从而达成信息共享、多方决策一致,保障数据记录过程的可信性。整个过程中,无需借助第三方机构即可建立信任网络,完成多节点的可信沟通;
(4)自动化:智能合约是一种可编程的数字协议,当合约参与方满足触发条件后,合约条款将自动执行。智能合约的加入,为区块链带来了新的契机,保障部署在区块链上的合同条款可以实现自动、去中心化的计算,从而为诸多领域(尤其针对流程复杂繁琐、效率低下的领域)的效率提升、成本控制起到不可忽视的作用;
(5)信息共享:传统中心化系统常涉及较多环节,参与中介多、流程复杂,耗费成本较高。而区块链系统则实现了各参与节点的去中心化连接,且各节点数据资产可进行点对点自由流通,以降低中间成本。此部分节约成本将以收益的形式,根据对区块链网络的贡献程度按照一定规则分配到各节点,在激励其它节点积极参与的同时,实现全网价值的再分配。
2.3 区块链发展现状
区块链生态构成主要包括区块链网络、基础设施(如资产管理、轻量级节点、交易所)以及运行在区块链网络中的DApp。自2009年比特币网络成功运行以来,区块链各类技术得到了突飞猛进的发展。尤其是底层技术,自2017-2018年至今发展势头明显。基于底层平台,各领域不断进行商业端、用户端的场景落地尝试,DApp应用持续推陈出新。
2.3.1 公有链、联盟链与私有链
区块链平台根据去中心化程度、应用场景的不同,可划分为三类:公有链、联盟链、私有链。不同区块链平台在准入机制、共识算法等诸多方面均存在差异。
公有链公开透明。公有链常被形象化为“区块链世界的操作系统”,此类区块链平台允许节点自由加入网络,且所有节点均有权限查看账本信息。典型的、当前应用最为广泛的公有链平台为以太坊。以太坊提供了图灵完备的编程语言,允许开发者部署智能合约,可帮助处理复杂业务流程。然而,受限于交易处理速度、可扩展性等,以上公链平台难以进行大规模商业应用落地。自2017年以来,区块链逐步成为能够构建更高效社会活动的一种社会关系,成为能够减少摩擦提高效率的新范式。业界开始追求公链底层技术新的突破,探索更加普适、稳定的公链平台,并将基于该类平台的下一个时代定义为区块链3.0.目前,公链3.0平台仍处于探索阶段,大部分主网暂未上线。据各平台对外公布数据,可以预见的是,2018年将是公链2.0平台高速发展的元年,各公链主网将陆续于2018年下半年至2019年完成上线。
联盟链半公开。联盟链通常被用于政府机构、商业机构及公司之间,节点通过准入机制得到授权后方可进入,不同节点所拥有的信息查看权限不同。典型的区块链联盟如超级账本(Hyperleger)、R3。超级账本(Hyperledger)项目由Linux基金会发起,旨在构建跨行业开源区块链商业平台,推动各行业成员协同合作、共建开放平台、简化业务流程。其中,专注于提供企业级区块链解决方案的IBM HyperLeger(也即Fabric)区块链平台备受关注。R3是由美国初创公司R3CEV发起的金融行业区块链联盟,目前已吸引多家国内外金融机构×××。该项目旨在为银行业提供探索区块链技术的渠道,同时开发公布分布式账本平台Corda。
私有链则全部封闭,参与的节点仅在有限范围,数据的访问及使用有严格的管理权限。仅采用区块链技术进行记账,记账权并不公开,且只记录内部的交易,由公司或者个人独享。私有链最大的好处是加密审计,发生错误时也能追溯错误来源,且在特殊情况下,运行着私有链的机构或公司可以很容易地修改区块链的规则、还原交易、修改余额等。这一点似乎略有违背区块链的本质,但是却适用于一些特殊场景需求。例如,全国土地登记,要实现这个功能就必须得使用私有链,毕竟,试图建立一个不受政府控制的土地登记机构,在实践中是不会被政府承认的,另外,由于私有链验证者是内部公开的,交易的成本会很低,并且不存在部分验证节点共谋进行51%***的风险。私有链如Eris Industries,其创建的平台是一个开源的应用程序套件,任何人都可以免费使用。这些应用程序旨在创建全面运行和合法的分布式应用程序(DApps)和分布式自治组织(DAO)。
2.3.2 DApp生态
随着区块链(尤其是底层技术平台技术)的发展,各领域快速进行着区块链应用的原型设计、功能测试,直至最终产品落地。当前,以太坊平台受到诸多开发者的认可与追捧,并基于该平台持续进行技术落地创新,DApp不断涌现。截至2018年6月,以太坊平台已有DApp数量超过1600,生态最为繁荣。其中,较为知名的如世界首款区块链游戏CryptoKitties、以太坊钱包imtoken、社交聊天应用YeeCall等。除以太坊外,其它底层平台也陆续衍生出了各具特色的应用生态,拥有各自典型的DApp,如基于Steem平台的Steemit、基于迅雷链的玩客云、基于公信链的公信宝等。
然而总体来看,DApp发展仍处于初步探索时期。绝大多数DApp在产品设计上尚未成熟,没有充分体现出区块链技术的独特优势。在诸多DApp生态中,暂无可以与传统App相匹敌的爆款DApp出现,用户体量相对较低。
三.区块链整体架构
3.1 区块链行业痛点
3.1.1 当前区块链技术的性能制约
自区块链技术诞生以来,区块链的性能问题一直是倍受业界关注和讨论的核心问题,同时也可能是成为区块链行业发展的壁垒。当前,影响区块链性能的直观指标可总结为四点
(1)出块时间:区块产生的时间间隔;
(2)区块大小:单个区块的实际存储容量;
(3)事务执行速度:单个请求的处理时间。对于包含智能合约的请求,执行速度还受智能合约的执行时间影响;
(4)事务大小:事务数据存储在区块链里的实际大小。
回顾区块链1.0时代的比特币交易系统,性能的制约因素可归纳为区块大小和出块时间。区块链2.0时代的以太坊系统,由于支持通用智能合约,除了区块大小和出块时间之外,只能利用单核CPU的串行计算的低效率同样是制约整体性能的因素。同时,POW机制以较慢的出块时间来降低分叉概率的机制,也是影响区块链整体性能的因素之一。
3.1.2 智能合约的痛点
以太坊的出现,让人们注意到用智能合约可以构建丰富多彩的价值网络。但以太坊本质是一个基于单链架构的通用智能合约系统,所有的智能合约都在一条链上运行。所以以太坊的合约之间没有隔离能力,性能也差强人意。除此之外,以太坊提供的Solidity语言设计上存在欠缺,也缺乏实用的编程库支持,无法跟主流编程语言比较。
深挖智能合约的潜力,丰富的智能合约可以完整的构建一款基于区块链的应用程序,我们叫DApp(Decentralized App)。DApp能够传递有价值可信的信息和服务。区别于现在的App,现在的移动App提供的信息和服务需要主体公司的信用做背书,而在DApp中,背书是由区块链完成的,因此DApp比App具备巨大的优势。DApp取代App,标志着区块链技术3.0时代的到来。为了迎接新的时代,两个技术问题亟待解决:
(1)DApp运行的独立性:每个DApp都可以跑在一条或者多条链上,DApp内部的智能合约相互可以访问,DApp之间的数据通过跨链通讯来实现;
(2)DApp开发的便利性:智能合约的编程语言,短期内应该向当前的软件开发生态靠齐,支持主流编程语言包括C++,JAVA,GO等。但是从长期来看,区块链的智能合约需要有更符合自己特点的原生编程语言。
3.1.3 共识机制的痛点
共识机制本质上是一套博弈系统:共识的产生需要付出一定的代价,矿工努力工作后能获得有效的奖励,通过一奖一罚的博弈保证系统稳定实施。现存的共识机制,在应用层面比较专注于某一特定场景并存在一定程度的短板。比如PBFT比较适用于联盟网络的共享账本技术,POW能耗较高、POS存在中心恶意干涉的可能性等。
在当前的技术背景下,功能过于全面的共识算法无法真正可用。在新一代区块链共识机制的设计过程中,根据实际应用场景,有的放矢选择去中心化、节能、安全等设计原则,对一些原则支持强弱进行取舍,将一定程度上提升系统的整体运行效率。因此,在新一代的区块链系统设计中,可插拨的共识机制可能是未来发展的主要方向:在区块链解决方案中,应该实现兼容多种共识算法,在实际业务落地中有选择性的使用一种最合适的共识机制,甚至整个网络具备让开发者自定义共识机制的能力。
3.1.4 计算和存储的痛点
在当前的区块链技术方案中,始终无法突破单机的存储和计算瓶颈,甚至连单机的多核计算和多盘存储都不能很好的利用。整体性能和扩展性存在一定局限。性能支撑是用户体验的基础,因此区块链支持DApp的良好运转,必须解决计算和存储的弹性扩展问题。
3.1.5 网络建设的痛点
(1)平台化技术的难点
1)基于比特币等公链平台实现DApp的难点
目前公链的技术,如比特币,如果想直接用比特币的区块链网络做自己的事情,有两种模式:
- 将数据写到比特币的Script区里面,业务端理解数据并实施;
- Fork比特币的代码并进行修改,从头开始搭建自己的区块链网络。
通过这些模式创建自己的DApp对网络构建、技术实施的门槛非常高,一定程度上限制了DApp生态的快速发展。
2)基于以太坊公链的快速发展。
基于以太坊的平台化主要面临两方面问题:
- Soliday 这门语言相对较弱,在构建复杂应用的时候,会面临软件工程的问题;
- 以太坊的整体网络性能,不足以支撑一款高频DApp的执行,所以根本无力去支撑整个DApp生态。
(2)区块链建设的难度
公链的建设难度极大,利益纠纷明显。在传统比特币和以太坊的区块链公链建设过程中,需要大量的矿机和电力加入。而EOS的网络建设,需要强大的社区运营以及资源支持。如果每一个DApp的出现,都要自己去建设公链,对开发者来说将是一个巨大的挑战。
原文地址:http://blog.51cto.com/14071992/2316427