区块链诞生之初,包含了程序员们重构科技世界的美好蓝图,但在程序员们将蓝图逐步开发落地的过程中,区块链的瓶颈也显示了出来——
转账高延迟
,以及更深层次的
没有存储和计算能力
等问题。
于是,一批开发者们投身于公链的开发,他们试图去解决比特币、以太坊的容量问题,去突破存储和计算瓶颈,从基础设施层面真正推动区块链时代的到来。
第一次公链进化:从比特币到以太坊
2008 年,一名神秘的程序员Satoshi Nakamoto给密码学的学术社区成员们的邮箱发了一篇论文,论文名为《Bitcoin: A Peer-toPeer Electronic Cash System》,这篇论文里描述了一个巧妙的系统——在这个系统可以创建一个安全且分布式的数据库,即区块链;
无需一个权威机构来控制和验证数据的真实性;同时,它还包含激励机制——维持分布式账本的工作本身就能得到BTC奖励。
比特币由此诞生。初期,它的支持者就是验室里的数字加密专家。逐渐,程序员们开始相信这件事情,他们希望在区块链上做更多的事情,用代码开始介入区块链世界。
到了2013年,一个加拿大的少年天才Vitalik Buterin,现在被称做V神,
开发出了世界上第一条完整支持智能合约的公链以太坊
,程序员们不仅可以在上面开发应用,重要的是,
这个平台可以用来担保和交易任何事物,包括投票,域名,金融交易等。
以太坊应用场景中最耀眼的,就是完全颠覆传统融资模式的ICO——
开发者们可以越过以往第三方机构审核,向支持者自行筹集资金。
以太坊还提供了区块链应用的想象空间,与ICO相辅相成——ICO带来的资金促进了以太坊乃至整个区块链应用的繁荣,应用的发展让更多的开发者来以太坊上融资。
如果说比特币是第一代公链,以太坊是第二代公链,在5年时间里,公链完成了第一次进化,而2013年之后的5年时间里,大多数开发者都依附于以太坊这个生态。
这10年时间是区块链的婴儿时期,2017年,ICO浪潮带来的币价上涨,让更多人都认识的区块链技术,越来越多的开发者投身其中,而比特币和以太坊的局限在这个时候也彻底显示出来——比特币功能主要是金融转账,而且非常慢,存储和计算问题远没有涉及到;以太坊的出现部分地解决了计算的问题,
但是它的计算量仍然非常有限
——每个区块只有三百万个Gas,也就是说它只能做非常小量的计算,
智能合约都是只能执行一些非常非常简单的功能
。
因此,即便是在大批资金倾注到这个领域的情况下,
应用仍然局限在转账、物流信息追溯这样的领域
,许多区块链技术有意义的应用领域远远不能够触及到。
这也就是说,区块链的世界里面缺少一个真正好的基础架构,公链仍然需要大批开发者倾注资金和精力。
第二次升级:2.5代代TPS公链
区块链最亟待解决的瓶颈是转账速度问题。
在区块链系统里,矿工把交易数据写入他们挖出的区块中,一笔交易就算完成了,但因为旧的区块已经被交易信息挤满了,不少交易需要新区块挖出后才可能得到处理,一度,一笔交易需要耗时十几分钟。
于是,从雷电网络、闪电网络以及QuarkChain都致力于提高交易速度和增加吞吐量。
但这并不容易,在提高交易速度时,有一个永恒的三角悖论,这个三角每个点分别是
“安全性”
、
“去中心化”
以及
“可扩展性”
,三者之间难以兼顾——如果想增加安全性或者隐私性,每次交易都需要大量的数据,这意味着更低的交易速度和更大的存储量;反之亦然,如果要提高速度,就要在去中心化等方面做妥协。
开发者们试图在三角之间寻找一个平衡点。
比如致力于
提高比特币交易速度的闪电网络和以太坊的雷电网络
,它们更改了交易的路径,采用的技术被称做“链下技术”—— 用户可以私下交换转账签名消息,而不是在区块链上对于交易进行处理。
打个比方来说,在以往的以太坊交易中,如果买两次咖啡,就要在链上记录两次,还要支付两次交易费,但雷电和闪电网络的设计是
先记录下第一次交易,再记下第二个交易,最后把两次咖啡的总金额一次记录到链上
,这样不仅仅是节约了交易费,更重要的是提高了交易速度。
除了这种链下技术,
分片技术
也是被广泛采用的一个路径,以太坊的创始人V神自己在推广这种技术。
简单来说,就是在链的架构上设计一个有弹性的分片层,其中包含一系列分片,每个分片独立处理所有事务的子集。因此,随着分片数量的增加,分片层可以同时处理更多的事务,其结果是
系统容量随着分片数量的增加而增加
。
QuarkChain是这种技术路径中备受关注的项目,在某种程度上突破了以往扩容和安全之间矛盾的技术困境。
一系列公链都在致力于TPS提高,除了分片,还有项目采用了超级节点的方法,来提高交易速度。
其中备受关注的项目就是EOS
,他们通过随机的方式去选取21个节点,而不需要像以往那样全网出块,显而易见地提高了效率,加速了交易速度,但是
较大地牺牲了去中心化
——在以太坊这样的公链上,所有人的记账权是平等的,
EOS则不是。
但从另一个角度说,由于这些节点是随机选取的,尤其是相比联盟链事先设定超级节点的方式,EOS在一定程度上还是实现了去中心化。
但毫无疑问,效率和去中心化上,
EOS偏向了效率,牺牲了一部分去中心化——区块链最根本的原则之一。
总体来说,目前80%的公链项目都是基于改进区块链的交易速度(TPS),问题在于,如果仅仅是解决TPS的问题,只能解决支付的快速和大容量的问题,它并不能解决区块链作为一个计算单元的基本功能的问题。
换句话说,要将区块链应用扩展到金融和物流之外的领域,
还需要在存储和计算上做突破。
第三次进化,存储计算公链 DxChain
有一批有远见的公链致力于解决存储和计算,他们深入了区块链技术的更底层架构里。
提到区块链领域的存储和应用,没有人能够忽略IPFS,你可以把 IPFS理解为一种数据的Airbnb,Juan Benet创造这个项目最根本的想法就是把千千万万个个人用户的闲置存储空间利用起来。
区块链在其中发挥的作用是提供了经济模型,它能够记录谁提供了算力,从而激励那些个人用户将限制存储贡献出来,而区块链领域也因此有了大规模存储的路径。
说到区块链的计算,不能忽略Dfinity,尤其是以太坊在计算上显示出巨大的瓶颈时,致力于突破这一瓶颈的Dfinity被人关注。
另一类公链开发者致力区块链计算的严重,Dfinity设计了一个去中心化的网络,其协议能够生成一个可靠的“虚拟计算机”,运行在对等网络之上,可以安装软件,并且可以在智能合约的防篡改模式下运行,最终目的是使公共分散网络能够容纳无限容量的虚拟计算机。
在Filecoin、Dfinity这些技术设计下,极大地扩展了区块链的能力,区块链未来应用扩展有了极大地可能性。
但存储和计算无论是需求还是服务都难以分家,对照现在的互联网来说,开发者们在有存储需求时也有计算需求,又比如中心化的云存储巨头亚马逊的AWS,在提供存储服务的同时,也在提供高性能计算服务,一些新兴的有野心的项目试图同时突破这二者,比如DxChain。