扩容是底层公链目前最大的命题,各公链团队正在尝试不同的扩容方案。总体来说,扩容思路大概分成链上和链下。
链上扩容思路的主要是改变共识算法/数据结构或分片两种方向,我们可以称为 Layer 1 方案。比如 Hyperledger 的 PBFT、EOS 的 DPoS,这也往往也牺牲了部分去中心化;IOTA、byteball就使用了不同于区块链的DAG(有向无环图)的数据结构,还有 Hashgraph。
改变共识算法问题在于,不可能三角的瓶颈仍未突破,大部分的公链项目都是在三者之间取得平衡。至于分片技术,Odaily星球日报最近接触的 Celer Network 联合创始人董沫认为,“分片比较难解决的问题是,要把本来是线性的东西变成并行的”,因此 Celer Network 团队认为,链上扩容有天花板,如果区块链要走进千家万户,就需要把共识的过程拿出来。
这就说到了扩容的另一种思路链下扩容,又称 Layer 2 ,包括侧链和状态通道。比如比特币的闪电网络、以太坊的雷电网络和 Plasma,Odaily星球日报报道过的 Taxa。本文要介绍的 Celer ,定位就是链下可扩展性解决方案。
先来聊聊侧链和状态通道的区别。
首先,董沫表示,侧链是记录状态的,通过根哈希将侧链状态锚定到主链上,一般有自身共识机制,而且有多人参与,时延长但是容量大;状态通道则不一定,只需要参与者同意。“我们之间可以互相发消息,只要我们通过了就是通过了”。闪电网络这类支付通道就是状态通道的一种,其链上有绑定的智能合约,交易双方在其中存有押金(deposit),再做链下开一支付通道,之后把共同签名的消息更新到主链,主链永远只认可共同签名的最新状态。
因此,状态通道的优势在于延时低。当聊到公链扩容时,不少人会用到 TPS (Transactions per Second)这概念,董沫认为,这其实是一个不完整的指标。“它告诉你一个平均值,1 万 TPS 听起来很厉害,但并不是说每个交易都是一万分之一秒完成,假设 10 秒处理 10 万个交易,每个都是 10 秒钟处理完,也一样是 1 万 TPS,但每个用户都需要等 10 秒,区块链应用还是没法用。”其实每笔交易所需要的时间,也就是“延迟”的概念同样重要。
Celer Network 对状态通道和侧链进行结合,其利用状态通道的低延时特性,又在开发者需要使用侧链的时候提供了可能。
接下来所涉及到 Celer Network 的具体架构设计:
底层的 cChannel 是通用的状态通道和侧链套件,基本的作用提供链上和链下的过渡和连接,负责通道的创建和管理。cChannel 支持多个公链,计划未来会实现多个公链对接到同一个链下网络。董沫表示,Celer 设计了纯虚合约(Pure off-chain contract),可以不用在链上绑定智能合约,只需要有链上账户,依然可以在一方作恶时,保证整个系统的安全性。
cChannel 之上,就是智能合约状态路由层 cRoute 。cRoute 承担的是效率引擎的功能,主要是为了实现高效的链下价值传递,简而言之就是“选哪条路最好”。cRoute是可以证明最有的链下状态通道网络路由算法。每一条通道其所能承载的“车流量”(资金量)取决于所押金大小,一旦最短路径堵塞了(承载量用完),新开一条路需要更多资源,所以绕路可能是更好的方式。这有点像一个信用传递的过程,A→C 除了可以直接走之外,还能 A→B,B→C。cRoute 的算法会动态计算最佳路径,这也是 Celer Network 能实现快速的核心原因之一(具体算法可以看 Celer 白皮书)。
再上层是 cOS,一套开发程序框架和运行环境。这层为开发者提供了 SDK,让其不需要在维护链上状态方面花费过多精力,可以专注在 App 的逻辑编写上。比如,cOS 会处理链上状态的跟踪、存储和争议处理,链上链下状态之间的调用关系等。
在往上就是 App / cApp。在Celer Network上面开发的App,可以有极低的延迟,因而改进用户体验。 这层的 App 有两种类型,一是主链上绑定了智能合约,但是运行可在链下的状态通道中,参与者之间状态是一致的即可;二是上面说到的纯虚合约,直接部署在参与者之间,不需绑定链上智能合约。
介绍完 Celer Network 的架构,我们可能会想到的问题是,目前链下网络最大问题就是流动性和安全性。这也是闪电网络现阶段被质疑最多的问题,Celer Network 尝试利用其代币机制解决,其命名为 cEconomy 。
流动指的是押金的锁定,对于通道服务提供商( OSP,Off-chain Service Providers,负责交易的中转,扮演链下网络节点的角色)来说,开设状态通道需要用质押很多押金,这就变成了一个“资本壁垒”的事情。Celer Network 中支持通过智能合约做流动性拍卖,有点像一个 P2P 撮合平台。“我的 ETH 不够,可以问别人借”。这个过程中,Celer Token的作用有点像竞价排名,比如系统会根据流动性提供商提供的利息排名,如果利息相近,谁锁定在网络中的 Celer Token 多,谁就获得这次出借机会。而获得 Celer Token 的挖矿方式则是“锁仓挖矿”,激励网络流动性资金提供商将个人闲散资金(如 ETH、 BTC 等)锁定,锁定金额和时间越长挖到的 Celer Token 越多。
安全性与状态可用性有关。董沫表示,假设在链下交易过程中,一方突然掉线,交易可能就失败或中断,甚至另一方可以接借此机会作恶。
这时候,你就需要雇一个中立的第三方帮你看管,这就是状态守卫者。如果用户知道自己所处理的服务很重要,你会交一部分的钱(稳定币)状态守卫者网络中作为任务金,一旦你掉线了,系统基于一定规则会为你随机分配守卫者,数量根据你提交的任务金占比决定。此时,Celer Token 就像一个工作权利力的信用凭证,成为状态守卫者需要质押 Celer Token,质押数量越多,被选中的可能性越大。
总结下来,cEconomy 中一共有 4 种类型的参与者:用户、支付服务提供商、流动性资金供应商、状态守卫者。
目前,Celer Network 项目还在开发当中,发布了一款 MVP,让用户可以在玩五子棋。团队计划在10月份先发一款以太坊钱包,钱包中会内嵌一些游戏。团队现在约有 14人,主要是技术人员。其核心团队来自 UIUC、普林斯顿大学、MIT等,曾任职于谷歌,Amazon,Oracle, Cisco, HP等互联网公司。
Celer Network 已与多家公链达成了合作关系,包括 Qtum、Aelf、QuarkChain 和 IoTex。在以太坊上,Celer 已经与 L4 Ventures 达成战略合作,共同建立以太坊链下扩容标准。 Celer Network 表示未来还将不断拓展新的公链合作伙伴。
联合创始人董沫于2017年 UIUC 获得计算机博士,研究方向专注于分布式系统和网络,是区块链行业的早期布道者和投资人,工程经验丰富,曾经担任网络安全公司 Veriflow 技术团队负责人和产品经理,后续创立 Celer Network 。
我是Odaily星球日报编辑卢晓明,探索真实区块链,爆料、交流请加微信lohiuming,烦请备注姓名、单位、职务和事由。