unitimes.io
全球视角,独到见解
扩容性问题是目前底层公链最大的命题,各公链团队一直在尝试不同的扩容方案。总体来说,扩容思路大概分成链上和链下。
链上扩容(Layer-1)方案主要指的是直接发生在区块链上,通过改变区块大小、共识协议或数据结构等从而达到提高处理交易能力的解决方案,如以太坊的Casper、Sharding,比特币的Segwit(隔离见证)和区块扩容等。
链下扩容(Layer-2)方案主要是通过将大量的区块链交易或者智能合约调用放到链下去执行,比如比如状态通道、侧链、Plasma、雷电网络、比特币的闪电网络等。
11月14日晚9点,Unitimes成功举办第12期区块链技术与应用AMA。我们有幸邀请到了Celer Network CEO 董沫为大家带来了主题为“第二层扩容方案”的分享。
什么是第二层链下扩容方案?Celer 如何构建链下扩容体系?广义状态通道技术核心是什么?一起来看看吧~
AMA分为固定问答和自由问答两个环节。
固定问答:
1
Unitimes: 你好,董沫博士。欢迎参加 Unitimes AMA。请先简单介绍一下你自己以及 Celer Network。
我在山西长大,在上海学习。2012年我获得上海交通大学理学士学位,并于2017年获得美国伊利诺伊大学香槟分校(UIUC)博士学位。我的研究主要集中在可扩展的分布式系统、基于学习的网络协议设计、形式化验证和博弈论。我之前带领的项目变革了互联网TCP,并通过使用“Non-regret learning algorithms”算法将跨洲数据传输速度提高了10倍到100倍。我的作品在很多顶级会议上都公开过,并获得了“Internet 2 Innovative Application Award” 奖项,被许多主要互联网内容和服务提供商采用。
自2014年,我担任了 Veriflow 公司的创始工程师和产品经理,该公司是一家专门研究网络形式化验证的初创公司。我开发的形式化验证算法正在为财富50强公司提供网络安全保护。在应用算法博弈论方面,我也很有经验,尤其是拍卖理论和计算机系统协议设计。而且我一直在教授全栈智能合约课程,目前有1600名学生。同时我还发表关于区块链的技术博客文章和视频,订阅用户超过10,000人。
Celer Network 致力于以链下扩容 (Layer-2) 技术为基石构建匹配互联网规模的区块链应用入口平台,让所有人都能够在该平台上便捷快速地开发、运行与使用高性能的分布式区块链应用。另外,我们几周前刚刚发布了测试版安卓应用程序,包括了基于 Celer 的链下扩容技术开发的链下支付和五子棋小游戏,有安卓手机的同学们可以去get.celer.app下载并体验我们的应用。我们目前也对开发者开放了 Android 和 iOS 的SDK,可以让开发者很方便的试用 Celer 的链下扩容技术。
2
Unitimes: Celer Network 设计的链下技术栈是什么?有什么作用?
Celer Network 的技术栈包含了链下扩容所需要的一整套基础设施。它规定了节点之间该如何通信,链下状态该如何保存,链上链下如何交互等等。也包含了如何实现链下智能合约,链下最优状态路由,以及重要的第二层经济学激励机制等等主要设计模式。
3
Unitimes:Celer Network 建立在分层架构之上。能给我们解释一下这个分层架构的具体结构是什么吗?怎么运作?
Celer Network 共分为三层。最底层被称为 cChannel,规定了如何在两个或多个节点之间构建一个广义状态通道,从而不仅仅实现链下支付,更能实现一个链下执行的智能合约。有了这些状态通道,我们可以进一步构建一个由状态通道组成的链下网络。于是就有了更往上一层的 cRoute,它给出了一套路由算法来帮助系统决定从状态发送方到接收方的传输路径。
最顶层被称为 cOS,它是类似于 Windows 或者 Linux 一样的操作系统,将下层各种复杂的链下逻辑(如状态管理,通信协议等等)封装起来,从而给开发者提供了一个非常简便的开发框架。如果没有 cOS,应用开发者就需要自己完整的写一套链下系统,是非常耗时耗力的工作。
4
Unitimes:Celer 将链上智能合约中普遍使用的逻辑通过广义状态通道技术引入链下,希望让 DApp 实现与传统互联网 App 同等的使用体验。 请问这个广义状态通道技术的核心是什么?
核心有两个:一是链下的广义状态交互,二是从链下到链上的状态仲裁。前者决定了广义状态通道的到底能有多快,后者则决定了广义状态通道是否安全。
举个简单的例子。比如我们需要玩一个五子棋游戏。那这个五子棋游戏本身就对应了一个两人参与广义状态通道。每落一个棋子,双方都需要对棋盘状态签名确认,这就算完成了一次链下的状态交互。如果中途有人耍诈,那么另一方就需要把这个五子棋的广义状态通道合约部署到区块链上,并用之前双方签过名的棋盘状态向合约申请状态仲裁。当然,这个链下到链上的过程其实是很复杂的,也是我们的技术创新之一,具体可以看我们的白皮书。
5
Unitimes:在 Celer Netwrok 上运行的区块链应用被称为 cApp。cApp 与 dApp 有什么不同?
cAPP 是在 Celer Network 上开发的 dAPP,借助链下扩展技术大大提高了可拓展性,从而极高的提升了用户体验,能够真正地实现 user adoption(用户采用),并且仍然保留传统 dAPP 的一切特点(如去中心化等等)。
6
Unitimes:很多人拿互联网的网速和区块链的扩容作类比,现在的网速也一年比一年更快。那区块链扩容的提升会类似吗?达到什么速度是理想值?
首先,未来区块链应该至少对标今天互联网规模,每秒钟200万封邮件,65000次 Google search,72000次 Youtube 视频, 53TB 的数据流动...但是仅仅提升公链本身的性能是远远达不到这一需要求的。在链上,如果所有节点都需要对所有事务达成共识,那么任何公链的 TPS 都不可能超过单一节点的处理速度,这远远无法达到现在的互联网规模。而链下扩容真正实现了横向扩展,是未来区块链走向互联网规模的基石技术。
7
Unitimes:你们目前支持哪些公链?底层公链的变化发展也是非常快速的,请问 Celer 如何在一个不断变化的基础上搭建自己的架构?
目前我们支持 Ethereum 和 Dfinity,并且开源了相应智能合约的代码。未来如何兼容更多的公链是一个很好的问题。我们认为之后在不同的公链之上应该有一个共同的抽象层,Celer 只需要和这个抽象层的某些功能进行交互,而每个公链可以对这些功能有不同的实现。这本质是区块链互操作性的问题,也将是 Celer 未来解决的范畴。
8
Unitimes: 区块链的扩容方案有很多,比如 Plasma, Sharding,Casper 等等。你们为什么要选择侧链和状态通道?这样做有什么优势?
Casper 仍属于共识算法的改进,其性能不会好于单一节点的处理速度;Sharding 也是公链层的改进,因为 cross-shard communication(跨分片通信)的存在,其性能仍然相对受限,并且有很大的 finality delay(确认延迟)。因此,如 Casper、sharding 这样公链层的扩容是无法达到我们之前提到的互联网规模。
相比之下,Layer-2 的扩容方案,比如状态通道、侧链和Plasma,则实现了完全的 scale-out (横向扩展),这与互联网的拓容规律是相同的。
不同的 Layer-2 方案之间则有各自的应用场景。比如状态通道实现了 instant finality(即时确认),还有很好的隐私保护,也支持链下智能合约的执行,不过其更适用于交易方相对固定的场景,并且要求所有交易方都时时在线。Plasma 并不要求交易方时时在线,也不要求固定的交易方,但是其 finality delay(确认延迟)相对较大,隐私保护也弱于状态通道,并且 Plasma 目前很难支持智能合约的执行。
我们认为,未来这些 Layer-2 的扩容方案都可以被放在一个大一统的框架之下,无论是状态通道还是 Plasma 都只是这个框架的两个极端情况。我们将在明年推出Celer Network 2.0 来进一步阐述这一观点。
9
Unitimes:目前链下网络最大问题就是流动性和安全性。Celer 如何来解决这两个问题?
首先说一下安全性这一点。如果节点可以保证自己一直在线,那么链下网络的安全性和底层的公链是完全相同的。但是如果节点不在线,那么一个恶意节点就可以趁对方不在线时提交对自己有利旧的状态。这被称为 state availability 的问题,Celer 提出了 State Guardian Network (SGN) 来解决这个问题。具体来说,SGN 是一个由state guardian组成的侧链。用户在离线之前可以把自己的状态提交给 SGN,由 SGN 负责帮离线用户提交状态。具体的 SGN 设计是 Celer 的重要创新之一,具体可以看我们的白皮书。
关于流动性,我们设计了 Proof of Liquidity Mining (PoLC) 和 Liquidity Backing Auction (LiBA) 这两个经济学机制来解决这个问题。PoLC 激励用户将流动性锁定在系统之中。LiBA 则允许任何人通过拍卖的方式向其他人来“借”流动性。这样,任何有技术实力但缺乏流动性的人都可以通过 LiBA 来获取流动性,同时这些借来的流动性也是由 PoLC 锁定的流动性100%背书的。
10
Unitimes:你们团队最近去布拉格参加了 DevCon。您此行的感想是什么?
我们在 Devcon4 最大的感触是,技术的演进是非常快的。在过去的一段时间,社区对区块链能力的预期和区块链真正能力之间的区别已经越来越小。这是令我们非常欣喜能够看到的~
自由问答:
固定问答环节结束后,参与此次AMA的成员可以自由提问。以下为 Unitimes 从群成员的提问中精选的几个问答:
1
你认为区块链的杀手级应用可能会是什么?
我觉得最终的 killer app 一定是会在 value transfer (价值转移)上面,以及各类经济活动迁移到区块链上。但是目前来看,区块链需要一个切入点来进行突破,从一个小的 niche 去成长。我们认为游戏是一个很有意思的突破口。我们从目前的用户数据来看,即使在我们的测试网上面的 user retention 也可以达到15%。只要解决了用户交互性的问题,其实这块还是有很多可以做的事情的。大家有兴趣可以试试下在我们的应用,get.celer.app。
2
下载了你们的cWallet,试玩了一下那个五子棋游戏。刚开始进去的时候需要等几分钟才能连上Celer Network?这是为什么?
一开始的过程是在和 Celer Network 建立 cChannel 的过程,涉及链上 transaction,所以特别慢,但是一旦接入 Celer 之后,所有的 tx 都是快的飞起的。如果没有Celer,每一个tx都会特别的慢。比如你之后下的每一步棋,如果没有 Celer Network 的链下扩容支持,都会和一开始建立 channel 的过程感觉一样缓慢的~
3
你们自己的 cOS 上面会开发一些应用程序吗?好像最近有发布 cWallet,那除了钱包还有打算做其他 App 的吗?
我们会作为bootstrap来帮助社区实现一些示例应用。cWallet和上面的cPay和cGomoku都是一些示例。我们希望通过我们的星星之火,让大家能够意识到Celer能够带来极大的可用性优势。
4
如果某天出现了一条自身的性能非常高、扩展性非常好的公链,Celer 是不是就没有市场了?
我们认为公链扩容是无法达到区块链所最终需要的容量程度的,即使使用 sharding 的解决方案,只要有一小部分 transaction(交易)是无法并行的,那么并行所能获得的 performance gain 就会迅速的 flat out,并且将所有信息放在区块链上,让区块链去处理,也是极其昂贵和浪费的。链下系统的成本总是会比链上系统低的,同时延迟也会非常的低。
5
你们的项目会开源吗?什么时候开源?
我们已经开源 SDK(软件开发工具包),也开源了我们的 cChannel 合约代码,之后会继续不断开源
6
Layer2 上是不是可以也能执行自己的智能合约?Layer2 的智能合约如何实现?
通过广义状态通道来实现,具体的实现方式可以参见我们的白皮书,同时我们也会退出链下智能合约的教程,请大家关注。
7
能再解释下侧链如何保证数据安全性吗?每个人看到的侧链数据一致吗?侧链上有代币吗?
Celer Network SGN 的模式通过一个分布式的侧链网络来保护用户的状态。如果你有 CELR token 可以 stake into SGN 成为一个 State Guardian,CELR 这里类似于一个工作权利 token,就是有这个 token,就可以干活,干活就可以赚钱,但是如果不好好干活,就要被没收工作的权利。
8
该侧链上是 POS 吗?在上面交易需要交易费吗?
SGN 这条侧链可以采用类似 POS 的共识机制,这里的Stake 就是 Celer token。如果用户需要使用 SGN,需要向 SGN 的 State Guardian 支付一定的费用。
9
如何看待“不可能三角”?Celer 是否突破了不可能三角吗?
不可能三角更多的是在说底层公链的共识机制,并不适用于 Celer 这种 layer-2 的架构,在 layer-2 的系统当中,我们可以灵活的进行各种各样的 tradeoff,比如利用 liquidity 去换了 scalability,同时用 Celer Network 的一整套经济体系来维护系统的安全和流动性。
以上是本次AMA的全部内容,非常感谢社群成员对Unitimes的大力支持,感谢董沫先生的分享~
往期AMA精选:
《对话 Polymath:揭秘证券型代币背后的力量》
《对话 CovenantSQL:如何解决传统大型商业应用向以太坊上迁移的问题?》
《喜欢火锅和辣鸭舌?吃货CEO带你了解去中心化数据监控平台》
《Gnosis 创始人:去中心化技术的大规模应用会首先在中国出现》
《对话路印:中心化和去中心化并不是无法共存的矛盾体》
《V神连环四问,起源协议创始人Josh如何接招?》
《对话 MakerDAO 潘超:稳定币的全球较量与猜想》
《对话 KyberNetwork CEO:深入理解链上流动性协议》
《对话 Status 首席工程师:区块链版微信如何重塑社交网络》
《安全领域的新星如何拯救区块链生态?》
《与核心开发者对话:揭秘以太坊扩容方案Plasma》
【本文版权属于Unitimes,转载请保留版权信息。未经授权,不得以任何方式加以使用,包括转载、摘编、复制或建立镜像。Unitimes将追究侵权者的法律责任。合作或授权请联系[email protected]或添加微信unitimes2017】