文丨互链脉搏·曹元
从2017年年底,有人提出了区块链将进入3.0阶段。尤其是进入2018年,行业普遍认为这一年是区块链3.0元年。所谓区块链3.0,目前的共识是区块链应用到实体经济。
区块链每一阶段的迭代,都有标志性的技术主网上线。比如区块链1.0是数字货币时代,标志为2009年比特币主网上线,之后的莱特币、瑞波币都是围绕数字货币而应用。
区块链2.0是线上智能合约时代,标志是2014年以太坊主网上线,之后的无论是公链项目如海外的IOTA、恒星链,国内的NEO、量子链,还是联盟链的R3、超级账本大都也是基于智能合约发展起来。
区块链3.0是专注于赋能实体经济的主网上线。具有标志意义的是去年4月,迅雷发布百万TPS的迅雷链;而后6月份EOS主网上线,也被认为是区块链3.0的代表。这一代区块链系统核心解决应用落地的性能问题,而后的联盟链系统,比如百度超级链、腾讯区块链、蚂蚁区块链等都在性能上大大领先2.0时代的产品。
以迅雷链旗帜鲜明上线区块链3.0为节点,已经过去一年,围绕着区块链应用落地,技术不断改进。
一、 性能大幅提升
在区块链1.0、2.0时代,应用场景局限于线上虚拟的数字资产交易,无论是比特币、基于以太坊的游戏、交易所,其所谓的交易资产本质都是线上虚拟的。区块链的开发者也并非不希望落地,但性能不足是主因。
去年,以太坊的创始人Vitalik Buterin直接承认:“公链的效率还不够高,因此很难说服人们接受使用现阶段的公链,使用过程存在很多不便,例如确认时间较长,交易费用较高等等。”
区块链1.0、2.0典型产品的性能
(制表:互链脉搏)
互链脉搏选取区块链1.0、2.0时代的典型区块链系统包括比特币的Bitcoin Core 0.14版本、以太坊的Metropolis(vByzantium)阶段版本以及超级账本的Fabric 1.0版本。这些版本在2017年都有比较重大的版本更新。其吞吐量最高的是超级账本Fabric 1.0,理论TPS上千,但用户实际反馈的TPS在300-500。即便如此,在应对大规模交易时,仍然会有压力。VISA的吞吐量可是24000TPS。在交易确认时间方面,2.0的公链系统如果落地应用,用户体验之差,仿佛回到了互联网前时代。更别说,无论是比特币、以太坊还是超级账本,其使用都有很大的交易成本。
于是,区块链3.0的产品率先解决的就是区块链的性能问题,区块链1.0、2.0时代的产品也纷纷向提高性能升级。
(制表:互链脉搏)
互链脉搏选取了区块链3.0时代的三个区块链项目代表:迅雷链、EOS以及百度超级链,另外也将比特币和以太坊的迈向3.0的升级方案进行对比,观察它们提高区块链性能的方式。
在基础架构上,多链模式成为提高性能的主要方式。迅雷链的同构多链,EOS的侧链以及百度超级链的根链+平行链,还有以太坊的分片技术基本都采用这种思路。
因为区块链分布式的特点,单链计算能力有限,在规范架构下多链并行,是短时间快速提高性能的方式。比特币因为它需要确保唯一性,并不适合多链通信,因此则采用闪电网络技术,闪电网络是在两个无需信任的节点之间通过多签的方式,双方抵押同等数量的比特币来建立一个双向支付通道,在这个双向支付通道中进行交易行为的一个比特币的二层(Layer 2)网络。简单来说,交易在链外进行。
除了架构层,共识机制的改变也是提升记账性能的技术手段。上述区块链项目,除了比特币,都进化出了权益证明记账的模式,就是POS当中的“S”( stake)。迅雷链的S换成了A(ability),即有能力的节点,本质也是一种权益证明。
实践起来,新兴的区块链系统显然更占优势。迅雷链去年4月份一经上线,就实现百万TPS;百度超级链单系统的性能达到了10万TPS;EOS单链也能实现4000的TPS。
比特币和以太坊若要提升性能,都面临着硬分叉的挑战,以太坊自觉地设置了“难度炸弹”时间段。这也是它们的开发团队早在2017年从提出设想到现在未能落地的重要原因。
然而,技术的迭代不是为了性能而性能,而是为了实体产业的应用——这也是区块链3.0的要义。从迅雷链上线一周年至今,跑在迅雷链的实体应用正在渐渐增多,包括共享经济、溯源、餐饮、电商、版权等。百度通过超级链系统,也布局了版权、法院存证等项目。但EOS上面目前没有跑什么实体经济的应用,严格来说EOS是区块链3.0的产品,但仍是2.0的服务。
二、 分布式存储匹配区块链系统
除了性能大幅提升,从2018年4月份以来,区块链3.0时代的技术提升还出现存储能力及拓展性提升方面。
仅仅处理数字货币的记账问题,比特币、以太坊这样的产品已经产生压力,以比特币为例,每10分钟产生一个区块,区块大小为1MB,每年的区块增长速度为24 * 60 / 10 * 365 = 51.3GB,10年后,大概需要5T空间。假设一个区块链系统百万TPS,按照一个交易数据100字节计算,1天的区块数据量为1000000 * 100 * 60 * 60 * 24 = 7.8TB,一年的区块数据量为7.8 * 365 = 2868TB。
进入到区块链3.0阶段,用户对存储的需求进一步提高。还需要包括智能合约代码以及用户上传的图片、视频等等,所以,区块链1.0、2.0时代的产品无法满足存储要求。
因此区块链3.0需要新的存储系统支持。
互链脉搏继续选取区块链3.0产品迅雷链、EOS和百度超级链,对比2.0时代以太坊产品,看区块链存储大文件的能力。
从严格来说,没有什么人会在以太坊上存储大文件,以太坊使用显卡挖矿,本身就不是为了存储大文件的。当用户发起一笔交易时,会以 ETH 计价给出单位 Gas 的价格。矿工已经配置了最低的 Gas 价格,较高的最低 Gas 价格会给矿工带来更多的利润,但是会需要放弃更多的交易。这就形成了一个用单位 Gas 来交易 ETH 的市场。代码消耗的 Gas 越少,执行代码所需的资源就会越有效率。以太坊有几种存储相关的模式:易失性栈访问:堆栈(Stack);易失性存储器访问:内存(Memory);非易失性:存储(Storage)。
其中最昂贵的是非易失性存储。当数据大小为几 KB 时,使用内存操作与使用堆栈操作的 Gas 成本是差不多的,但当数据大小增加时,成本呈指数级增加。这种关系如下图所示:
(图片制作:Albert Palau)
如果采用非易失性存储,那么输入1MB的内容,需要支付3.28个以太币作为GAS(慢速),按照4月18日市场价格,即需要11.5万元人民币。
(图片制作:Albert Palau)
以太坊面临的问题,是区块链2.0及之前的系统通常存在的问题,它们更多优先区块链的链上交易行为。
为了解决存储成本高,更好和物理世界的连接,区块链3.0系统普遍采用了其他的储存技术。迅雷链自己研发了TCFS系统,EOS采用IPFS,百度超级链则使用百度云的CFS系统。
但值得注意的是,百度云的CFS系统是中心化的存储系统。事实上许多区块链BAAS平台都是中心化的云来进行存储,包括阿里云、腾讯云、亚马逊的AWS云等。但中心云宕机、丢失数据的情况时有发生,尤其是边缘计算、区块链的的发展,迫切需要更安全、匹配性更高的存储技术。
将这分布式存储和区块链两项技术结合在一起,用户可以在分布式存储网络中存储大量信息,并将不可变的永久地址放在区块链事务中。分布式存储网络将提供可公开访问的数据库,而区块链提供公开验证机制,两者协调作战。TCFS和IPFS都属于分布式存储技术。
但目前的发展来看,去年8月迅雷链配套的TCFS上线。近期迅雷链对TCFS进行了升级,将存储层进行了抽象,实现适配多种存储引擎,以适应不同数据量场景的要求。相比而言,目前EOS的IPFS合时上线还不可知。
从使用价格来说,TCFS的存储费用是以太坊的数百万分之一,甚至低于百度云这样的中心化存储。
部分区块链存储比较
(制表:互链脉搏)
从应用角度,搭建在迅雷链上的HGBC(Human Genome Block Chain) 已经将基因检测数据存放在TCFS上。一个完整的基因检测数据50-60GB,其隐私性需要绝对保护,分布式存储的TCFS提供和迅雷链实现了对该业务的支撑。
三、 拓展性大幅提升
为了应用能够快速、高效落地,第三代区块链系统在拓展性方面进行了许多技术迭代,这也是区块链3.0产品的特点。
众所周知,区块链如果需要应用落地,良好的、拓展性强的开发环境必不可少。区块链的开发环境就是区块链虚拟机。区块链虚拟机是区块链智能合约的运行环境,可把它看作是软件模拟的可执行合约指令的虚拟计算机(包含CPU、内存、存储)。类似于 CPU 可以执行汇编指令,区块链虚拟机可以执行合约指令。
每个参与到区块链网络的节点,都会运行一个虚拟机。向区块链网络发送一笔调用合约的合法交易,会触发每个节点的虚拟机执行该合约代码,并将执行结果记录下来。
区块链2.0的代表产品,以太坊开发了EVM虚拟机,同期的产品大都将该虚拟机作为标配。包括联盟链系统超级账本等也采用EVM虚拟机。
但EVM所使用的Solidity 让很多想转型区块链开发的程序员望而却步。尤其是作为一个初学者,部署时会经常失败,找不到原因,区块同步也十分缓慢。
这阻碍了区块链快速应用落地的效率。随着区块链应用对虚拟机以及智能合约的要求的增多,区块链虚拟机在技术上也在逐渐的进行完善,区块链3.0中,虚拟机主要在以下几个方面有所发展:
(1)智能合约多语言的支持;
(2)更快的运行速度;
(3)更加丰富的系统工具支持;
(4)虚拟机更安全。
EOS为了解决该问题,采用了WASM虚拟机。编程者可以采用熟悉的C/C++进行开发。某种程度上,因为这一改变,部署在EOS上的DAPP快速增长。
不同区块链系统的虚拟机比较
(制表:互链脉搏)
四、 区块链3.0技术未尽事宜
当性能、存储、拓展性问题相继解决后,区块链研发人员作出设想,区块链3.0大规模应用,会形成一链一应用的局面,互联网世界诟病的“数据烟囱”在区块链世界非但没有解决,数据割裂的情况更严重了。
这里面有两大难题需要解决:
1.链和链之间的数据打通问题,也可以理解为链与链的通信问题;
2.链上数据的安全性和隐私性问题。
事实上,开发人员也都创造了解决方案,但效率低下,尚不足以支撑区块链3.0的应用。
研发人员发明了多种跨链技术包括:
1、公证人机制(Notary schemes);
2、侧链/中继(Sidechains/relays);
3、哈希锁定(Hash-locking);
4、分布式私钥控制(Distributed private key control)。
5、“公证人机制+侧链”混合技术。
早期跨链技术以瑞波和BTC Relay为代表,它们更多关注的是资产转移;现有跨链技术以Polkadot和Cosmos为代表,更多关注的是跨链基础设施,它们也被成为区块链3.0的基础设施。
今年3月Cosmos上线一度成为区块链界的热点,足见业内对跨链技术的期盼。根据Cosmos的介绍,其分为三步走,现在完成了第一个阶段,正在等待网络稳定,就可以经过社区链上投票决定何时打开转账功能,那就进入到第二阶段,第三阶段是 IBC 的实现。
目前该项目的出块速度接近7秒,并且TPS极低。虽然实验室测试该项目能够实现千级的TPS,但距离实际上线还有很长时日。
隐私的安全和保护是困扰区块链3.0的另一大难题。互联网世界存在一种游戏规则:个人或企业的数据,自己无法掌控,而被互联网平台使用。区块链出现,让人们看到了解决这一问题的曙光,个人或企业的数据,可以安全加密被记录,权益也可以被区块链所定。但是数据只有流动才能创造价值,如何在不侵犯隐私的情况下对数据进行计算使用,在许多区块链项目落地应用时,都遇到类似的问题。
密码学专家也早早提出了很多措施,比较著名的就是同态加密、零知识证明等。
同态加密是一种无需对加密数据进行提前解密就可以执行计算的方法。通过使用同态加密技术在区块链上存储数据可以达到平衡,不会对区块链属性造成任何重大的改变。
零知识证明(ZKPs)是一种密码学技术,是一种在无需泄露数据本身情况下证明某些数据运算的一种零知识证明,允许两方(证明者和验证者)来证明某个提议是真实的,而且无需泄露除了它是真实的之外的任何信息。在密码学货币和区块链中,这通常是指交易信息数据。
但据介绍,目前同态加密、零知识证明还只能处理一些个案,很难大规模使用。国外很多公链将其作为研发目标。国内包括迅雷链、百度超级链、蚂蚁区块链都将其作为重点研究项目。
本文首发于微信公众号:互链脉搏。文章内容属作者个人观点,不代表和讯网立场。投资者据此操作,风险请自担。
【免责声明】本文仅代表作者本人观点,与和讯网无关。和讯网站对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。
最新评论