Celer Network 的链下扩展解决方案
Celer Network 定位于链下可扩展性解决方案,旨在将互联网规模带入区块链。
注:本文对Celer Network 中 cChannel 的说明部分译自官方白皮书
1、概述
Celer Network 在传统链下解决方案的基础上提出了新的技术解决方案和经济模型,有望在链下扩展性方面取得突破性进展。Celer中有意思的点有这么几个:通用的带条件的链下状态通道,链下分层架构,跨通道存款再分配,带通道平衡的高效支付路由,以及解决全网流动性的token economy机制。
本文对链下状态通道进行介绍。
2、广义状态通道 —— cChannel
通过链下状态通道提升区块链扩展性的技术方案早已是老生常谈,然而大多数项目提出的技术方案基本上注定只能停留在小规模范围的实验阶段,难以得到大规模的商业应用。原因在于,对于大规模商用来说,交易成本(时间和金钱等)至关重要。
在Celer Network中 , cChannel的作用是提供一个框架,来实现高灵活性与高效的状态通道和侧链网络。
2.1 设计目标
Celer Network 的首要目标是实现快速,灵活和无需信任的链下交互。 力求大多数情况下,链下的状态转换将一直保持直到完成。因此,Celer 的目标是优化常用的链下模式,使其支持与内置的链上组件进行简洁的交互。
第二个目标是设计适用于不同区块链的数据结构和对象交互逻辑。 Celer Network旨在构建一个底层区块链之上的平台,并支持智能合约在不同的区块链上运行。 因此,需要一个通用的数据结构模式和中间层。
2.2 核心思想与一个简单例子
现有支付网络解决方案的一个主要局限在于缺乏对广义状态转换的支持。 随着智能合约平台(如以太坊)的兴起,对广义状态转换的需求也随之而来。 智能合约能支持基于任意合约逻辑的异步价值传输。 可以利用链下状态通道来提高区块链的可扩展性,将链上状态转换放到链下状态通道中,并且相应的价值传输应该知道这种状态转换。
我们用一个简单的有条件支付的例子来说明如何将链上状态转换为链下状态转换的核心思想。 假设Alice和Carl想要下一盘棋,同时以一种不受信任的方式打赌游戏结果:如果Carl赢了,Alice会给Carl 1美元,反之亦然。
在链上有一个简单的实现逻辑:我们可以创建一个智能合约,在游戏开始前Alice和Carl各自存一笔钱到合约里。 Alice和Carl通过调用链上合约的函数来下棋。 当其中一人输掉、投降或超时时,获胜的一方将赢得对方的赌注。 赌注可以被看作是条件触发时(即对方获胜的条件)的奖励。 但是,链上合约调用又慢又贵,因为每笔都涉及链上交易。
链下状态通道可以在保持相同语义的同时显著提高可扩展性。 假设Alice和Carl之间有一个支付通道。 为了实现上述语义,我们需要扩展通道的状态证明功能, 包括一个取决于游戏赢家状态的条件锁。 然后,Alice可以向Carl发送一个有效的链下条件支付,并说:“如果合约判定Carl赢得游戏,我将支付Carl 1美元”。 游戏状态转换也可以移到链下。 最直接的方法是仍然有一个管理游戏规则的链上合约,并且该合约的地址在有条件的支付中被引用。所有的状态转换都发生在链下相互签名的游戏状态中,这些状态可以在需要时写到链上合约中。
但事实上,由于对程序状态没有任何价值要求,只要双方相互合作,整个游戏合约和相关状态可以始终保存在链下。 唯一的要求是相关游戏状态在需要时可在链上验证。 链上可验证的状态意味着其他合约或对象可以明确的引用它。 为了实现这一点, 我们需要一个引用转换合约, 将链下引用 (如合约代码中的哈希、构造函数参数和随机数) 映射到链上引用 (合约地址)。有了这些构造, Alice和Carl 之间的游戏只涉及一个长期的链上合约, 它不是特定于游戏逻辑, 也没有链上操作或进行游戏的初始化。
上面的例子专门反映了一个简单链下实例的设计模式,它可以更复杂的形式。 如带有条件的支付比简单的布尔条件更复杂, 可以设计为基于任意合约的逻辑重新分配锁定的流动性。 事实上,有条件支付只是一个更广义的条件状态转换的特例。 要实现多跳状态中继的通用模式,通道依赖性会比一对一依赖性更复杂。
但是,状态通道也存在天然的局限性,比如其更适用于固定交互双方的高频互动,而不适用于频繁变动的交互双方的低频交互。即便如此,链下状态通道作为公有链的可扩展性增强套件,一旦成功突破将有利于推动区块链的大规模实用化。
3、项目基本信息
官网:https://www.celer.network/
白皮书地址:
https://www.celer.network/doc/CelerNetwork-Whitepaper.pdf
Twitter: https://twitter.com/CelerNetwork
Telegram: https://t.me/Celernetwork
Reddit: https://www.reddit.com/r/ethereum/comments/8jiab4/celer_network_bring_internet_scale_to_blockchain/
Medium: https://medium.com/@CelerNetwork
媒体文章
https://nulltx.com/what-is-celer-network/ https://bitcoinexchangeguide.com/celer-network/
Crunchbase
https://www.crunchbase.com/organization/celer-network#section-overview