公链进化史,从QuarkChain到DxChain
区块链诞生之初,包含了程序员们重构科技世界的美好蓝图,但在程序员们将蓝图逐步开发落地的过程中,区块链的瓶颈也显示了出来 — — 转账高延迟,以及更深层次的没有存储和计算能力等问题。
于是,一批开发者们投身于公链的开发,他们试图去解决比特币、以太坊的容量问题,去突破存储和计算瓶颈,从基础设施层面真正推动区块链时代的到来。
第一次公链进化:从比特币到以太坊
2008 年,一名神秘的程序员Satoshi Nakamoto给密码学的学术社区成员们的邮箱发了一篇论文,论文名为《Bitcoin: A Peer-toPeer Electronic Cash System》,这篇论文里描述了一个巧妙的系统 — — 在这个系统可以创建一个安全且分布式的数据库,即区块链;
无需一个权威机构来控制和验证数据的真实性;同时,它还包含激励机制 — — 维持分布式账本的工作本身就能得到BTC奖励。
比特币由此诞生。初期,它的支持者就是验室里的数字加密专家。逐渐,程序员们开始相信这件事情,他们希望在区块链上做更多的事情,用代码开始介入区块链世界。
到了2013年,一个加拿大的少年天才Vitalik Buterin,现在被称做V神,开发出了世界上第一条完整支持智能合约的公链以太坊,程序员们不仅可以在上面开发应用,重要的是,这个平台可以用来担保和交易任何事物,包括投票,域名,金融交易等。
以太坊应用场景中最耀眼的,就是完全颠覆传统融资模式的艾希欧 — — 开发者们可以越过以往第三方机构审核,向支持者自行筹集资金。
以太坊还提供了区块链应用的想象空间,与艾希欧相辅相成 — — 艾希欧带来的资金促进了以太坊乃至整个区块链应用的繁荣,应用的发展让更多的开发者来以太坊上融资。
如果说比特币是第一代公链,以太坊是第二代公链,在5年时间里,公链完成了第一次进化,而2013年之后的5年时间里,大多数开发者都依附于以太坊这个生态。
这10年时间是区块链的婴儿时期,2017年,艾希欧浪潮带来的币价上涨,让更多人都认识的区块链技术,越来越多的开发者投身其中,而比特币和以太坊的局限在这个时候也彻底显示出来 — — 比特币功能主要是金融转账,而且非常慢,存储和计算问题远没有涉及到;以太坊的出现部分地解决了计算的问题,但是它的计算量仍然非常有限 — — 每个区块只有三百万个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。
在存储上,DxChain借鉴了IPFS的P2P存储网络 — — 一个文件上传后打散成小块,随机分布在不同的矿机上,至于随机分布在哪些矿机上,这些数据就存储在区块链上。通过分布式的文件系统,把闲散的硬盘资源利用起来,而链上的数据保证经济模型能够成立,闲散硬盘拥有者愿意加入这个经济模型,把他们的资源贡献出来。
固然,DxChain在开发中也要面临TPS的瓶颈,因此, DxChain采用了侧链技术:DxChain认为单靠一条主链,很难同时满足数据的存储、计算和隐私需求。因此,借鉴了闪电网络多条链的思路,添加了存储链、计算链两条侧链,让主链只负责运行智能合约,管理存储和计算侧链,而两条侧链各司其职,分别负责存储和计算。
DxChain把这种架构称为“三链合一”模式。也正是因为这一创新性架构,DxChain保证了区块链上的计算 — — 通过计算链负责运行并行计算,从而解决大数据通用计算的问题,最终达到机器学习并且提供BI支持。
相比计算领域的其他项目,DxChain有自己的努力方向。比如Dfinity,可以理解为区块链领域的云计算,但是它没有解决数据从哪里来的问题,DxChain的视角是希望提供存储方案的同时,也解决平台本身数据从哪里来的问题。DxChain能够对存储的数据做到细颗粒操作,而这种细颗粒的存储计算,让数据有了商业模式。
区块链最大的意义在于能够让数据真正产生价值,做数据交易,如果没有存储,就只能交易整块的数据,但如果有计算,则可以交易细颗粒的数据 — — 比如说在经过允许的情况下,斯坦福大学某位教授他需要购买加州、35岁以下的男性的运动数据,这种细颗粒的数据只有在有计算的情况下才能够实现,而这正是未来我们DxChain能够提供的服务。
除此之外,DxChain参考了Hadoop架构。Hadoop在以往中心式存储中被视为最佳的分布式存储架构,但Hadoop解决的是同一机构、公司内部的数据分布式存储问题,但如何在不同的机构和参与者之间达成信任、从而实现多中心化分布式存储,区块链恰好给出了答案。DxChain正在将Hadoop在过去沉淀下的优点与区块链特有机制相结合,解决了多中心化环境下的分布式存储计算的问题。
区块链公链进化会不断发生,不同开发者在不同单点上做突破,任何一次突破都会带来整个行业的拉扯 — — TPS突破会让人更注意到存储和计算的必要性,存储和计算的突破也少不了TPS的优化,这种拉扯最终带来整个基础设施的完善。
DxChain官方网站
关于DxChain:DxChain是一个多中心化的大数据存储和计算网络,是一个将区块链的多中心化特性运用到存储和计算领域的开放性公链。