硅谷Live / 实地探访 / 热点探秘 / 深度探讨


区块链诞生的初衷非常美好,但是,随着它越来越受欢迎,和入场的人越来越多,实现初衷的道路上,出现了很多棘手的挑战。最重要的挑战之一,莫过于扩容,即 scalability

为什么扩容很重要?

我们知道:在区块链系统里,矿工把交易数据写入他们挖出的区块中,一笔交易就算完成了。假设今天甲给乙转一个比特币,甲须将这笔交易数据发送至矿工,而矿工接着将这些信息写入区块,就标志着该笔交易完成。

虽然看起来简单,但是因为交易量越来越多,这一过程变得非常耗时。比如一个普遍的情况是:不少交易需要新区块挖出后才可能得到处理,因为较旧的区块已经被交易信息挤满了,这种“现炒现卖”可能要让用户排队等上十几分钟,可是以前互联网速度最慢的时候,我打开个网页也只需要一分钟啊!

所以,解决扩容难题刻不容缓!很多区块链项目提出了不同的解决方案,密探今天,先来聊其中一家被来自多个国家的资本看好的硅谷项目,叫做 QuarkChain。

我们对 QuarkChain 的创始人周期进行了专访。从乔治亚理工学院取得博士学位后,周期先后在谷歌、EMC(被戴尔收购)和 Facebook 工作过,在高性能存储系统和分布式系统领域有丰富的工作经验和心得——说简单点,就是研究大规模扩容的。恰好这些经验,可以充分应用到区块链扩容项目中来。

Qi Zhou

在花了一年多时间,和导师好友等完成低层架构的设计,并撰写技术白皮书后,今年QuarkChain 全力开发代码,并且还吸引了一众业内资深人士担任 advisors。

DSSD 以作高性能闪存方案而闻名业内,该公司前总裁 Bill Moore 也担任 advisor

该项目虽然年轻,但是海外认可度已经非常高,在各种专业 ICO 评测中名列前茅。

另外,在没有做空投的前提下,QuarkChain 的社区增长极为迅速,telegram 群现在有 80000 多粉丝,很多人表示对其巨大的潜力极为看好和期待。

QuarkChain 的 telegram 社区用户增长速度

那么,QuarkChain 具体采用哪种扩容方式呢?

简单概括,就是分层 + 分片。

扩容往往和安全(security)存在冲突,所以 QuarkChain 采用分层(layer)的形式。先说第二层,第二层是根链(root chain)。根链的主要功能是确认来自第一层所有片(shard)的所有区块,但不负责处理交易本身。

而第一层则是由分片,也就是 shard 组成。Shard 是一个专业术语,我们可以将它比喻成银行ATM 机器,每一个 shard 都可以独立处理交易事务,但是它们都归属根链管辖,就像总行会确认每笔 ATM 交易是否属实一样。随着 shard 数量增加,可以同时处理的交易总量也随之线性增加,就像一台 ATM 机器只能同时处理一个人的取款操作,十台机器就能同时处理十个人的交易同理。

大家都很聪明,一定立刻就猜到:QuarkChain 要做扩容,只需要增加 shard 数量就行。当然随着片数增加,技术细节也会变得更复杂,但是原理就是这么个理了。

可是了解了原理,新的问题必然接踵而至。比如:在 shard 内部交易是很简单,那么用户能不能跨片交易,也就是 QuarkChain 是否支持 cross-shard 交易?

答案是肯定的,这也是 QuarkChain 项目的亮点之一。跨片交易想较于 in-shard 交易,只是多了一个需要根链确认的步骤,对用户来说就是交易时间长了一些,操作并不会更复杂。并且为了支持跨片交易,QuarkChain 还特意推出了智能钱包

怎么个智能法?

简而言之,用户在任何分片中拥有的所有地址都可以通过单个私钥访问。

理论上,用户可能在不同的分片上拥有不同的地址。为了解决这个问题,QuarkChain在钱包中引入了主账户和二级帐户。主帐户包含用户默认分片的地址,而二级账户能一一对应地,管理其他分片中的地址。

然而新的问题又来了:既然每个分片都能相对独立地处理交易,那万一大家同时选择分片 A,造成该分片交通瘫痪,而其它分片 B、C、D...都资源闲置,怎么办?

这个问题的答案很重要。因为既然增加分片数量就能实现扩容,假设一个分片的TPS(transaction per second,每秒处理交易量)是 10,我们搞他十万个 shard,TPS 轻松上一百万啊!这什么概念?能秒杀市面上一切区块链项目啊!毕竟最近大火的 EOSIO 程序,平均 TPS 也就是 3000。

但是 QuarkChain 没有打算这么做。原因就是:增加 shard 却不使用,会造成资源浪费。如果大家都集中在某几个分片上交易,其余 shard 闲置,这种浪费会成为企业承担不了的成本。看看互联网公司 Facebook,前后投入超过十亿美元来建数据存储和处理中心;假如用户没有几亿的体量,简直会血本无归。

所以在现阶段,QuarkChain 不打算急于冒进,而是根据实际情况逐渐扩容。对于已经建起的 shard,则通过特殊的分片机制来推动交易量的合理分配。

区块链上的交易其实只有两种,就是转账和智能合约。转账大家都了解。用户选择某个分片,无非是被该分片的资源,也就是智能合约所吸引。一份智能合约只能在一个分片上执行,所以 QuarkChain 的分片机制设计,使得智能合约比较均匀地分配在不同的 shard 里,通过这种方法调节每个 shard 的交易量,既不过量拥挤,也不无所事事。

不同的扩容方式

至此我们介绍了 QuarkChain 扩容方式的技术原理,我们将这种方式称作“水平扩容”。既然有水平扩容,相应的也就有垂直扩容,这种方法就是让每个区块变大,出块时间变短,或创造新的共识,从而做到更高的 TPS。打个比方,个人电脑扩充内存,水平扩充呢,就是再塞一个内存卡;垂直扩容,就是在同等体积下升级技术,让它能承载更大的内存。

区块链扩容也是同理,水平扩容简单方便,假设每个分片 TPS 是 X,那么添加一个分片就添加了 X 数量的 TPS。扩容水平和 shard 数量是线性正比例关系。

而垂直扩容是对技术进步的要求,更加难以实现,当然如果做到的话,证明科技进展又有了新的突破。垂直扩容和研发成本是曲线关系,越往更高数量进展越不容易,并且在某个时间段都存在难以突破的瓶颈,“百尺竿头,难更进一步”。

水平扩容和垂直扩容一直是同时存在的。现在大部分公链都向往垂直扩容的思路走。但是当前区块链项目大规模爆发式发展,速度就是生命,采取水平扩容方式操作简单易行,效果立竿见影。

我们再回到 QuarkChain 本身,它看准水平扩容的优点,在这条发展途径上已经跑得很快了。那么,现阶段做到多少 TPS,和未来目标 TPS,相信是读者关心的主要问题。

目前 QuarkChain 已经提前运行第一版 Testnet,TPS 能稳定达到 2200。根据 QuarkChain 发展路线图,团队希望能实现 10000 TPS 作为他们的下一个里程碑。QuarkChain 6 月上公开测试网,到时候会开放 GitHub,有兴趣的读者可以去看看。

小探看了一些外国媒体对 QuarkChain 代码的测试,有媒体认为:根据他们现有的表现,未来有望做到 50000 TPS。作为对比,比特币的 TPS 是 7(对你没看错,个位数的7);以太坊则最高达到 30 到 40 TPS。TPS 过低,使得区块链动辄“瘫痪”。每次以太坊上有 ICO,甚至出现一个受欢迎的应用(比如 CryptoKitties),交易平均等待俩小时就稀疏平常;而比特币社区更是因为极低的 TPS 产生分裂,硬分叉成为常态。

需要指出的是:即使 QuarkChain 做到一万的 TPS,和传统互联网大厂相比也是小巫见大巫,比如支付宝的每秒处理交易量可达 25.6 万!所以区块链的扩容研究刚刚起步,道阻且长!

我们是在建高速公路

做这么吃力的一件事,小探很俗气地问周期:“你们有成熟的商业模式吗”(你们咋赚钱)?他给小探打了个比方:

QuarkChain,和很多其它区块链项目一样,所做的都是“基础建设”,是做一个生态系统。在短时间内,没有考虑过赚钱的事情。未来能赚钱的区块链项目,也是生态系统最重要的部分,是应用,比如游戏、钱包等。就像当初发明万维网的人也没从中获得太多收益(Timothy John Berners-Lee,2016 年才获得图灵奖),但是基于万维网的谷歌、Facebook、腾讯等等,是今天统治世界的巨头。

QuarkChain 做扩容,就像在搭建一条高速公路。以前这里是条土路,大家只能开着普通小车慢慢通过;就算出现了名贵跑车(比喻好的 DAPP),也没法开上去。如果搭好高速路,那么各种车,好的坏的,跑车越野大货车,都能在路上飞驰。

到那个时候,也许就能考虑盈利了,比如和生态系统内的 DAPP 以各种方式合作。

那么,哪些应用,是 QuarkChain 认为很适合合作的呢?

根据外媒报道,QuarkChain 正在创建供Android设备使用的链上开发工具。而周期举了个很有意思的应用,就是手游。

如果扩容做得好,会有游戏开发者做基于区块链的手机游戏,尤其是大家喜闻乐见的各式“开宝箱”游戏。小公司开发的游戏经常被用户怀疑:“我花了 998 还没拿到屠龙宝刀,你们是后台操纵有黑幕吧?”或者“极品装备就是留给某个土豪的,其他人充钱也抽不到!”

而在区块链上,把这种随机分配宝箱的程序写入智能合约,有人抽到仅此一把别无分店的设备则被全网纪录,就没有人再怀疑暗箱操作啦。

对这个主意,资深游戏玩家本小探觉得非常赞!你们怎么看?然后还想请教聪明的读者,一旦 TPS 大幅度上升,你们觉得,还有哪些应用,可以和区块链完美契合?


推荐阅读

区块链报告 | 脑机接口报告

硅谷人工智能 | 斯坦福校长

卫哲 | 姚劲波 | 胡海泉

垂直种植 | 无人车

王者荣耀 | 返老还童


区块链的大问题有救了!相关推荐

  1. 区块链落地中的九大问题与解法

    GitChat 作者:蒋帆 原文:区块链落地中的九大问题与解法 关注微信公众号:「GitChat 技术杂谈」 一本正经的讲技术 [不要错过文末彩蛋] 前言 ThoughtWorks与其卓越的客户群一直 ...

  2. 简单粗暴告诉你什么是区块链

    链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. 区块链是什么?它是如何工作的? 比特币已经成为现代互联网的潮流 - 随之而来的是区块链.人们说区块链技术将导致互联网运作 ...

  3. 共识机制:区块链技术的根基

    链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. Chapter-1:什么是共识机制? 技术定义是:共识机制是一个群体决策的流程,群体中的个体会执行和支持对群体其他个人最 ...

  4. 区块链是互联网未来十年中举足轻重的技术

    链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. 区块链是互联网未来十年中举足轻重的技术 区块链(Blockchain),或者说分布式账本(DLT, Distribute ...

  5. AI与区块链的融合会给人类带来什么?

    图片来源:Zapp2Photo/Shutterstock 翻译 | CSDN研发技术 参与 | Vincent 译者注:本文介绍了人工智能和区块链这两大热门技术整合的可能性,以及这两者整合以后的标准定 ...

  6. 区块链第二层扩容方案Plasma和Rollups

    本文首发在本人知乎专栏 https://zhuanlan.zhihu.com/p/361016799 目前的permissionless区块链系统比如以太坊和比特币存在扩展性问题,表现为每秒所能处理的 ...

  7. 深度丨AI 与区块链:两大热门技术,会碰撞出什么样的火花?

    编者按:区块链和AI可以说是当今最热门的两个技术方向了.在一般人看来,这两大技术似乎没有什么交叉的地方,因为区块链和AI分别属于是技术谱系的两个极端:一个是在封闭数据平台上培育中心化的智能,另一个则是 ...

  8. AI 与区块链:两大热门技术,会碰撞出什么样的火花?

    来源:36氪 概要:区块链和AI可以说是当今最热门的两个技术方向了. 区块链和AI可以说是当今最热门的两个技术方向了.在一般人看来,这两大技术似乎没有什么交叉的地方,因为区块链和AI分别属于是技术谱系 ...

  9. 区块链100讲:智能合约审计指南

    智能合约代码的审计,目前还不是技术社区内经常会讨论的主题.今年3月6日,发表在博客网站[Schneier on Security]上的一篇博客(原文链接:[https://www.schneier.c ...

最新文章

  1. Android 开发笔记 Google地图定位与路线显示
  2. ubuntu重启+sublime快捷键
  3. linux 应急响应 病毒清除 系统加固
  4. win7 mysql 密码_笔记本win7系统下mysql忘记密码的最佳解决方法
  5. 张朝阳:未来文娱重点将拍更多网剧 发展UGC、短视频社交和直播社交
  6. Python实现聚类 KMeans算法
  7. 15.MongoDB的一致性(读关注与写关注)
  8. oracle索引index_type,oracle index索引相关笔记
  9. 北京联通华为光猫HG8346R破解改桥接
  10. java web张龙_圣思园张龙javaWeb视频教程全集配套源码和PDF课件
  11. 电子邮箱市场盈利模式
  12. 【CSS】:国际色彩标准名称与色值
  13. android textview html font标签不好用
  14. 菊风Juphoon 周波:5G消息+音视频,双风口下的融合发展
  15. 75.【JavaWeb-03】
  16. Grasshopper显示配色
  17. git 提交错误:The requested URL returned error: 502
  18. 串口传输bin文件-C - kermit工具、kermit协议
  19. 干货 | 区块链项目估值的逻辑和误区
  20. 2022年零基础自学网络安全/Web安全,看这一篇就够了

热门文章

  1. Ubuntu 16.04 源码编译安装 uhd gnuradio
  2. 语音搜索引擎--Midomi
  3. JAVA_JSP网吧自动计费收费管理系统
  4. 【算法】在N个乱序数字中查找第K大的数字
  5. Vulnhub_gigachad_vh
  6. jupyter notebook报错
  7. “华夏”二字之由来——我们为何称为“华夏”
  8. 《农民的终结》读书笔记优秀范文2700字
  9. 获取随机数字且不重复
  10. IT管理体系——战略、管理和服务