公链101 | 不只是快,公链还要够灵活才能适应行业发展

Odaily星球日报 · 2018-10-15
与其预测下一杀手级应用出现在哪个领域,不如做一套能支持更多场景和需求的操作系统。

编者按:本文来自36氪战略合作区块链媒体“Odaily星球日报”(公众号ID:o-daily,APP下载

凛冬将至,“熊”关漫道。相比年初,区块链项目的新增速度和融资步伐均有减缓,曾经对技术“华山论剑式”的高谈阔论,逐渐分化出转身离场公堂撕扯和潜心修炼几条道路。又像是每个风口随季节变动,追风者们来了又走,我去年聊过的项目,已有几家因融资缩水而遣散员工、被迫转(tao)型(li)。而坚守者大多手握信仰,专注于更底层的技术。他们实现了阶段性成果,也重新思考一些基本问题。

比如,区块链真的 born for 通用计算吗?公链和联盟链到底将分别扮演什么角色?哪个扩容解决方案能带领区块链走向商用化落地?一味追求性能是否是公链的误区?之前所谓的“超级公链”主网上线后为何成绩不佳?资本退潮后,公链是否已成“失宠”的细分赛道?除了更快,区块链 3.0 还应具备哪些特质?Odaily星球日报也抱着学习请教的态度,与行业中领跑的公链们讨论上述问题,并通过公链101栏目与读者分享观点。

5 个月前,Odaily星球日报曾就区块链是否能支撑起大型应用,与 QuarkChain 创始人周期展开讨论。周期的团队曾在 Facebook、Google 等公司有多年高性能系统开发经验,认为水平扩容才是真正能平衡成本的扩容之道,因此借鉴中心化系统构建集群(Cluster)的经验,探索去中心化操作系统与分片技术(Sharding)的结合点。近期,我回访了周期,了解到 QuarkChain 的 TPS 已从 3 月底的 2000 提升至峰值 14000+,测试网也完成了 1.0 版的主要功能,正在向支持更多共识机制、虚拟机和代币协议的 2.0 版进化;同时 QuarkChain 在社区运营和生态互动方面也做出了一系列有趣的探索尝试。

除了进一步讨论分片等技术细节外,我们也试图从互联网巨头崛起这面“镜子”中窥探区块链底层的未来。

周期对区块链行业的判断如下:


  • 寒冬中投资者大多观望,技术社群却在增多,只有埋头做事、坚持下来,才能推动区块链成为下一个互联网。

  • 公链不只要追求快,还要够灵活,才能不断进化,适应发展。

  • 设计一个好的 DAPP 既要有技术和产品层面的思考,还要有对模式的洞察和有趣的经济学设计。

  • 分片不是万能的,要结合场景的业务逻辑反推分片的设计规则。


我们以问答形式将专访内容编辑整理如下:

Odaily星球日报:9 月份 QuarkChain 在 Github 上将代码开源,我想先问下 QuarkChain 开源后的数据表现和进展,以及是否“被发现”问题。

周期:从立项到测试网,QuarkChain 用了 8 个月,跑得还不错。在 6000 多个节点、并发 1 万多个虚拟机的测试环境下,TPS 峰值超过了 14000。目前我们正在完善文档和开发环境,进行 code review。

对比其他先发项目,我们仍在追赶。具体的动作有:新增了北京的开发团队;在旧金山的 Blockchain Week 中通过 workshop 向大家呈现 QuarkChain 的技术特点,与当地社区做线下讨论和路演;与合作方共同发起 hackathon,观察对技术有不同理解的人是如何使用我们网络的,并收集反馈。

更多地接触程序员社区,既是给大家一个上手的机会,也是给自己更新的机会。开源后的确有人发现了关于智能合约的一两个 bug,在我们及时修复后还没看到明显的问题。

另一方面,我们也鼓励技术人员从用户角度开发些小程序,比如支付、游戏和其他能用智能合约处理的常用功能。

Odaily星球日报:除了技术壁垒,社区运营和吸引开发者也是公链的核心竞争力。我看到 QuarkChain 官网有一个 TPS 竞赛的入口,优胜者会获得 1 个 BTC。这个比赛现在进展如何?

周期:因为 QuarkChain 在设计时预埋了支持横向扩容的功能,所以理论上是可以用多个机器提升 TPS 的,可以简单地理解为“并联”。我们自己还没测试过这点,所以可以放入比赛中。

参赛者会被要求先录一个短视频,证明基于 QuarkChain 的工具达到了一定速度,再写一个包含机器配置、参数的报告,提交到 github 上公示,我们会随机检查前几名。

当然,“快”只是一方面,很多公链都已达到较高的 TPS,QuarkChain 更大的优势在于灵活。

Odaily星球日报:灵活似乎是 QuarkChain 2.0 版的重点,我在最新的技术文本中看到 2.0 版将支持不同分片内采用不同的共识机制,在问具体的实现路径之前,我想先了解下 QuarkChain 是基于什么样的判断,认为应用层会需要支持不同共识机制的底层操作系统?区块链的杀手级应用会出现在不同于互联网产品的领域吗?

周期:是先搭性能足够支撑应用的底层,还是从需求倒逼底层设计,有点类似“先有鸡还是先有蛋”。站在 QuarkChain 的角度,我们其实也不清楚真正的杀手级应用会诞生在什么领域,只是很泛地感觉支付和游戏的可能性大些。

因此,我们不做过多的未来预测,而是选择开发一条灵活、能不断迭代、适应发展的公链。即使以后出了新的更好的共识机制和虚拟机,我们也能立刻迭代好并支持。比如,当某个应用需要 A 的虚拟机、B 的共识和 C 的代码时,我们可以灵活到能兼容支持它们之间的排列组合。

Google 和 Facebook 能发展起来,并不是因为猜到十年后的互联网应用长什么样子,而是做到足够灵活,可以随时加入各种插件。而将传统互联网的底层系统设计经验平移到区块链中,恰好是我们团队擅长的。

Odaily星球日报:既然聊到了与互联网发展史的对比,那我会很好奇,QuarkChain 站在公链的角度,如何看区块链应用的未来?DAPP 有哪些要追赶 APP 的地方,又会有哪些不同于 APP 的点?

周期:应用层还是应该从用户的角度出发。现在的区块链应用会让用户感到“不舒服”,比如 fomo3D、加密猫等更多是基于 web,很多应用还没做到很好地适配手机上的体验。

我们回看微信的历史,最开始也没引起太大关注,爆发点还是在推出了语音消息和聊天后,再之后通过不断增加新功能巩固壁垒。好的区块链产品其实也可以先从一两个点入手,比如支付、游戏,关键在于结合用户需求,让用户感受到解决了现实痛点,之后再扩充功能。

手机应用也有了一段历史,只是在 Apple 出现前不太好用。这也说明,要抛弃旧思想,从人性和经济学去思考产品应该是什么样。

设计一个好的 DAPP 需要更多的考虑,不只是技术和产品,还有对模式的洞察。之前比较成功的 DAPP 的共同点,是有趣的经济学设计,虽然获取的是短期流量,但能让人不停地参与和停留。区块链产品和 APP 最大的不同在于 token 经济的激励机制,这也是去中心化的魅力之一。

Odaily星球日报:那再回到公链的定位,我们具体如何帮助应用落地?应用开发者有诸多的公链选择时,如何争取到他们的认可与合作?

周期:我们 BD 团队的工作,是研究什么样的产品具有杀手级应用的潜质,反馈到技术团队后,在 2.0 版中向更多应用提供更好用的功能。

举个例子,虽然并非每个应用都要开发自己的 token,但仍有不少项目希望建立自己的生态,所以它们一方面从头到尾搭建底层,另一方面又要结合垂直领域需求,“两头”的工程量和人才需求巨大。QuarkChain 会通过添加新的分片的方式,支持这些应用创建自己的原生代币,更好地满足他们设计的规则,同时也不受 ERC20 协议的约束,比如用水平扩容方案提速,避免网络拥堵。

稍作总结,就是 QuarkChain 负责所有底层事务,比如存储、块、以及对 DAPP 个性化需求的支撑。

Odaily星球日报:您刚才提到用分片实现灵活性,让我回想到上次采访时我们把分片比作修高速公路。那么目前 QuarkChain 是否已实现状态分片?具体的分片规则是怎样的?比如如何分配节点集群和交易任务?以及在设计上能否避开跨片交易?

周期:在实现 1.0 功能后,QuarkChain 正在做状态分片。

这里我也要强调一下,分片不是万能的,比如我们仍在与业内共同观察和学习怎样真正支持水平扩容,以及哪些 case 的业务逻辑真正适合用到分片技术。另外,分片不是分得越多越好,更多的分片意味着更高的维护成本。

所以,我们一开始不会做得太复杂,有些工作会类似于在修比高速公路更快的路之前,先清理地面、预留空间。

同时,分片规则也不是一成不变的,QuarkChain 会根据业务场景灵活调整。比如说地理位置可以作为节点分组的一个维度,可以想象成“人口普查”,要先从大到小划分调查任务,再按“乡→县→市→省”地汇总数据,这背后的基本原则是合理地设定最小地区单位,避免浪费不必要的精力,以及尽量让相邻的地区先汇总数据。

跨片交易很难完全避免,QuarkChain 希望做到当跨片出现时,缩短交易的距离。交易背后代表的商务环境也和地理位置有很大的关系,我们会在设计分片时理解业务逻辑,降低跨片出现的频率,来保证性能。

Odaily星球日报:我们官网上的数据显示 QuarkChain 中现有 256 个分片,50 个集群,每个集群 129 个节点,目前这样的设计是基于什么原则?单个片内节点数量是否会影响安全性?Layer 2 在确认分片计算结果时是否容易堵塞?

周期:因为 QuarkChain 是由集群机制驱动的,先来说集群的设计原则。集群负责帮助并发处理所有分片和主链上的数据。每个节点对应两个分片,每个集群中留出一个节点负责与根链的数据交换。所以每个集群内包含 129(=256/2-1)个节点。

Layer 2 相对独立,Layer 1 甚至可以不知道 Layer 2 的存在。由于不是每笔交易都要随时汇总给根链,所以根链的块很小,我们预测以后吞吐量上来了,有可能会拥堵,不过在此之前还好。

而安全性主要是靠算力和经济机制来保护,目前还未出现因为一个分片内节点数少而导致的安全问题。QuarkChain 最大的特点是灵活,所以以后也会不断优化。

Odaily星球日报:当跨片交易出现时,根链如何确认不同片内的时间顺序,是否会硬分叉?

周期:如果出现跨片交易,为了保证接收方的时间点一定晚于发起方,我们设计了玻色子共识机制(关于玻色子共识的详细论述:中文英文,编者补充)。这套共识机制可以类比成一系列的交通规则,比如在高速公路超车要打灯。

关于硬分叉的问题,历史上比较出名的硬分叉更多是因为出现了安全问题,或社区对一些功能的想法无法统一。QuarkChain 在做挖矿算法时就与技术人员讨论过,通过对 CPU 更友好以及设计地更灵活来避免硬分叉。

Odaily星球日报:最后,我想问下,分片作为一条公链扩容之路,被众多项目方看好,有没有哪一条是 QuarkChain 觉得相对领先的?

周期:其他做分片的公链可以说是各有所长。我认为创新较多的还是以太坊,无论是共识机制还是探索分片,以太坊在试图解决更宏大的问题。

此文主要为探讨下一个现象级公链、底层设计、共识机制等的更多可能,由于项目仍处于早期、市场待成熟,Odaily星球日报不为项目背书,此文亦不具备投资指导性。

+1
0

好文章,需要你的鼓励

参与评论
登录后才能参与讨论哦...
后参与讨论
提交评论0/1000

请回复有价值的信息,无意义的评论将很快被删除,账号将被禁止发言。

文章提及的项目

玻色子

我们网

链行

36氪APP让一部分人先看到未来
36氪
鲸准
氪空间

为你推送和解读最前沿、最有料的科技创投资讯

一级市场金融信息和系统服务提供商

聚集全球最优秀的创业者,项目融资率接近97%,领跑行业