前言:区块链的技术术语中,有很多概念经常会混淆使用。其中之一就是侧链和状态通道。两者都是区块链的扩展解决方案。但在社区的使用中,经常被互换使用。那么它们之间到底有什么不同,有什么优缺点,谁更好?本文有助于回答你的困惑。本文作者Vasa,由“蓝狐笔记”的“Moqi”翻译。
以太坊社区中“状态通道”和“侧链”这两个术语经常被互换使用,从而导致普通用户的混淆。今天我们将这个问题搞清楚。先煮杯咖啡,因为它会需要耗费一些时间。
本文的主要目的很明确:
什么是状态通道?
什么是侧链?
然后我们进行比较:
它们两者试图解决什么问题?
哪个是更好的扩展解决方案?
现在开始。
什么是状态通道?
状态通道是一种非常广泛且简单的思考问题的方式:思考将可能发生在区块链上的交易,在不显著增加任何参与者风险的情况下在链下执行。
这一策略最著名的例子是比特币的支付通道概念,它允许在双方之间直接发送即时的低费用支付。
状态通道是支付通道的一般形式,将相同的想法应用于通常在区块链上执行的任何类型的状态改变操作。
将这些交互移至链下,且无须要求任何额外的信任,可以实现成本和速度的极大改善。状态通道将是扩展区块链技术的关键部分,它支持更高级别的用户使用。
状态通道的基本组成非常简单:
P2E链游Block Brawlers将于5月18日在以太坊侧链SKALE上线:5月6日消息,P2E链游Block Brawlers将于5月18日在以太坊侧链SKALE上线,玩家可以参与6种不同游戏包的社区销售,其中包括 Brawler NFT 和 Brawler 代币。
据悉,Block Brawlers 是一款P2E链游,由 GAME Credits 提供支持,玩家可以获取、训练和交易 Brawlers,还组成 3 Brawlers 团队在竞技场中与其他团队对抗,以赢得 XP、金币和 BRAWL 代币。[2022/5/6 2:54:16]
双向状态通道
1.将区块链状态的一部分通过多重签名或某种智能合约锁定,因此,特定的参与者集必须彼此间完全同意才能对其状态进行更新。
2.参与者们通过构建和签名可被提交至区块链的交易,以更新他们之间的状态,而在此之前状态只是暂时保持在内部。每个新的状态更新都“高于”之前的更新。
3.最后,参与者们将状态提交回区块链,这将关闭状态通道,并再次解锁状态。
就这样。如果参与者之间更新的“状态”是加密货币的余额,那么,我们就有了一个支付通道。打开和关闭通道的步骤1和3涉及到了区块链操作。
但步骤2可以快速执行不限制次数的更新,且无须涉及到区块链。这就是状态通道可以发挥作用的地方。因为,仅有步骤1和3需要发布到网络上,以及支付费用或等待确认。
实际上,通过仔细的规划和设计,状态通道几乎可以无限期保持开放状态,且可用于大型枢纽系统的一部分,为整个经济或生态系统提供动力。
Block.one 推出的NFT平台 Voice 新增跨链功能,后续将支持以太坊侧链:2月17日消息,NFT平台 Voice 宣布将新增多链支持功能,该功能上线后,用户只需点击几下即可将 NFT 发送到单独的链,并在该链上进行交易。?Voice 架构副总裁 Rick Whitner称,届时最初将支持基于 EOSIO 的区块链网络跨链,未来将转向以太坊侧链。“我们不直接针对以太坊的原因是,因为它是一个工作量证明(PoW)平台,而我们非常注重环保。”他称。
此前报道,Voice 由EOS开发公司Block.one 于2020年7月宣布推出,最初定位为去中心化社交媒体应用,去年转型为NFT创作和交易平台。目前Voice仍处在测试阶段,尚未发布正式版。[2022/2/17 9:57:09]
尽管这里描述看似简单,但人们通常认为状态/支付通道是非常复杂的。造成这种情况的原因有很多:其中之一就是在对这三个步骤的表述中隐藏了一些重要的微妙之处。让我们仔细看下这些简单的短语所隐含的含义:
可以提交到区块链
为了使状态通道正常工作,必须确保参与者可以在任何时候将其当前通道的状态发布到区块链上。这导致产生了一些重大的局限,例如这样的事实:在通道关闭之前,有人必须保持在线以保护每一方的利益。
想象一下,假设当我们开启一个支付通道时,我以100BTC开始,而你以10BTC开始。如果我们首先签署将10个BTC转给我的更新,然后又签署将50个BTC转回给你的更新,第二个更新明显比上个更新对你更有利。如果你意外地网络掉线,而我则可以假装第二次更新从来没有发生过,那么,我能将第一次更新发布到区块链上,从而有效地从你哪里窃取了50个BTC。
DappRadar集成Axie Infinity侧链Ronin:11月6日消息,在跟踪Axie Infinity和其dapp活动和NFT交易后,DappRadar现在将Ronin侧链作为独立协议进行跟踪。[2021/11/6 6:34:38]
你需要的是有人保持在线,拥有最新交易的副本,以便于它们可以“高于”早前的交易,并确保你的比特币得到保护。不一定是你自己保持在线。你可以将副本发送到很多随机服务器,它们同意通过智能合约仅在需要时才发布它。但是,无论你如何做,你都需要确保最新签名的状态更新都是高于其他所有更新的。这使得我们进入下一个微妙的短语:
每个最新更新都“高于”之前的更新
为了使状态通道的这一部分正常工作,必须正确地设计锁定和解锁机制,以便提交给区块链的旧状态有机会被取代它们的新状态所纠正。最简单的方法是让任何解锁尝试启动计时器,在此期间,任何新的更新都能取代旧的更新。当计时器完结,通道关闭,并且状态将进行调整以反映最后一次收到的更新。
可以为每个状态通道选择计时器的长度,以平衡较长通道关闭时间的不便利性和不断增加的应对互联网连接或区块链问题的安全性。
或者,你可以通过罚款方式来构建通道,这样任何向区块链发布不正确更新的人的损失要比他们假装没有发生后续交易所获得的更多。
但是这个机制最终不会有太大关系,因为这种情况的博弈论使得事情产生变化。只要这种机制在理论上是合理的,它就可能永远不必使用它。
实际上通过计时器/?惩罚程序可能会带来额外的费用、时延或其他不便;考虑到迫使某人进入机制并不能给你带来任何好处,因此,一个状态通道的参与方可能会只是通过相互商定最终通道状态来关闭通道。
Ripple首席技术官David Schwartz宣布推出XRP分类账(XRPL)的联合侧链:官方消息,Ripple首席技术官David Schwartz宣布推出XRP分类账(XRPL)的联合侧链(Federated Sidechains),将使开发人员能够实现新的功能,例如与XRP和XRPL无缝互操作的本地智能合约,同时还允许XRPL维护其现有的“精简高效”功能集。联合侧链允许进行实验和专业化,任何人都可以选择运行XRPL的侧链。开发人员可以在侧链开启DeFi功能和智能合约等新用例,成功的功能甚至可以移植到XRPL主网。
联合侧链的愿景是每个侧链都将作为自己的区块链运行,有自己的分类账和交易,就像XRP分类账一样。使它们成为侧链的是联合系统,它允许XRP和发行的代币从一个链移动到另一个链。联合侧链可以使用XRP作为它们的主要资产。在这种情况下,人们可以使用联合系统将XRP从XRPL移动到侧链。[2021/6/8 23:21:02]
这种最终关闭操作跟普通的“中介”更新有根本上的不同,因此,参与者对于在特定通道内锁定的状态的每个部分仅是签署一次关闭交易。
这些“微妙之处”的细节并不是特别重要。最终归结为参与者通过设置“法官”智能合约来打开通道,相互签署如有必要“法官”可以强制执行和裁决的承诺,然后,相互协商关闭通道,这样法官的裁决就不需要。
只要“法官”机制被认为是可靠的,这些承诺就可以算作为即时转移,只有在特殊情况下法官才会出现,例如参与方消失时。当然,这些细节只是人们认为状态/支付通道是复杂的部分原因。更大的原因是比特币的支付通道是复杂的。在比特币上构建具有合理有用属性的“法官”机制是非常复杂的。
动态 | 比特币侧链Liquid即将整合闪电网络 已发布实验性代码:比特币技术开发公司 Blockstream 宣布即将整合旗下比特币侧链 Liquid 和比特币闪电网络实现方案 c-lightning,并发布早期实验性代码。在规划中,Blockstream 还将在 Liquid 的闪电网络上支持其他资产的转账和闪电网络中的匿名转账。Liquid 是一条由 Blockstream 开发的比特币侧链,其设计目标是扩展比特币主链的限制,特点包括资产发行,更快的确认时间和匿名转账。[2019/8/1]
不过,一旦你对状态通道有一个清晰的总体概念,就能看到,这只是由于在一个受限的环境中试图实施这个概念而产生。基本的智能合约功能,例如计时器机制和根据提交的签名信息来允许采用两种不同路径,这些在比特币中很难做到。
其中的一些功能正在逐步添加或构建。支付通道只是更广泛“状态通道”概念的特殊子情况,我们可以意识到这是一种更广泛的技术,状态通道可以应用到任何智能合约,这些智能合约在定义好的参与者组中处理频繁的更新。你可以预期在很多分布式应用中看到这种方法。
现在,我们对什么是“状态通道”有了更明晰的理解。因此,我们来看看侧链。
什么是侧链?
侧链是使用双向锚定关联于其父链的单独区块链。换句话说,你可以将资产移至侧链,并再移回父链。
侧链
双向锚定使得可以在父链和子链之间以预定的汇率进行资产互换。原始区块链通常成为“主链”,其他所有外加的区块链都称为“侧链”。区块链平台Ardor将其侧链称为“子链”。
父链上的用户首先必须发送其代币到一个输出地址,这些代币会被锁定,因此用户无法在其他地方消费它们。在交易完成之后,会通过跨链进行确认,然后等待一段时间,以提高安全性。
在等待期过后,侧链上会释放等量的代币,允许用户获取并在此处进行消费。当将资产从侧链移回主链,流程刚好相反。
联盟
联盟是一个组,它在主链和其一个侧链之间充当中间点。这个组确定何时锁定和释放用户使用的代币。侧链的创建者可以选择联盟的成员。联盟结构的问题在于,它在主链和侧链之间添加了另外一个层。
侧链要负责自身的安全。如果没有足够的算力来保护侧链的安全,它有可能会被攻破。因为每条侧链都是独立的,如果它遭受攻击或入侵,损坏会在该链中发生,而不会影响主链。相反,如果主链遭受攻击,侧链仍能运行,但其锚定资产将会失去大部分价值。
侧链需要它们自己的矿工。可以通过“合并挖矿”激励这些矿工,因此,两种独立的代币,基于相同的算法,可以同时开采出来。
现在,我们对侧链也有一个很好的了解。所以,让我们把它们放在一起。
它们想解决什么问题?
通常,侧链和状态通道都是用来提高区块链可扩展性的。他们遵循类似的模型。
锁定状态/资产
在区块链/主链之外进行交易
从状态通道/侧链中解锁状态/资产
但尽管有这样的类比,但两者间有很多不同,这是因为状态通道中我们不使用单独的区块链,而在侧链中我们使用单独的区块链。让我们来看看这会导致什么结果。
两者中哪个是更好的扩展性解决方案?
为了得出答案,我们来看看它们的优缺点。
状态通道的优点
状态通道有很强的隐私属性:这是因为所有事情都发生在参与者之间的通道“内部”,而不是公开广播和在链上记录。只有打开和关闭的交易必须是公开的。
而在侧链上,每笔交易都会发布到侧链上,无论你是否跟侧链上的所有参与者交互,交易都会被侧链上每个参与者接收。
状态通道有即时最终性。这意味着只要双方签署状态更新,它就可以被认为是最终状态。双方都有很高的保证,如有必要,他们可以在链上“强制执行”该状态。但正如上面提到的,考虑交易的安全级别,状态通道的关闭可能需要花费不同的时间。
而在侧链中,另一边有一条区块链,因此,最终性依赖于侧链的挖矿算力。
状态通道的缺点
状态通道需要所有参与者100%的在线:正如我们上面讨论的,如果任何参与者不在线,那么,这可能对他来说要付出代价。如果参与者不在线,参与者可以使用其他人来代表TA。但代表被攻击或被贿赂的可能性让会它会成为状态通道的问题。而在侧链上则你不必总是在线。
状态通道最适合用于有已定义好参与者集的应用:这是因为“法官”合约必须了解特定通道部分的参与者/主体。我们可以添加和移除人,但它要求每次对合约进行更改。而在侧链中,参与者变化方面没有这种限制。
状态通道在这种情形下尤其有用:参与者将要在长时期内交换很多状态更新:这是因为创建通道部署“法官”合约会产生初始成本。但是,一旦部署,在状态通道内每次状态更新的成本会非常低。
侧链的优点
侧链是永久的。如果存在有侧链,你无须为特定目的而创建专属的侧链。侧链一旦创建,就是完成构建并进行维护。我们不会关闭侧链,而是锁定在侧链上的资产以移回主链。这是非常有用的方式,任何在区块链/主链外做特定任务的人都会来到相同的侧链。
因此,你不必为每个新参与者创建独立的链。而在状态通道,你通常必须创建新的状态通道来添加新参与者。但诸如闪电网络、雷电网络这些项目为此提出了出色的解决方案。他们创建了参与者网络,由此你不必为与之互动的每个新参与者创建新的通道。
你可以跟参与者进行间接互动,方式是在你和接收者之间通过你们之间共同的其他参与者来创建一个通道:你和接收者。
侧链允许加密货币相互交互:它们增加了灵活性,并允许开发者在山寨币的Beta版本或软件更新上线主链之前,可以在侧链上实验。像传统的银行功能可以在侧链上测试,然后再移至主链。
侧链的缺点
侧链需要很多初始投资来启动:为了创建侧链,我们需要足够的矿工,以使网络免遭攻击者的攻击。此外,我们必须确保它们已经启动和在运行。然而,在状态通道中没有区块链,因此,没有这些要求。
侧链需要联盟:这在主链和侧链之间增加了额外的层。这可能是攻击者可以攻击的另外一个弱点:可以贿赂或攻击联盟。然而在状态通道中,我们只需要一个智能合约就可以为我们完成这项任务。
两者之间的竞争是伟大的。尘埃落定,但两者依然站立。由于研究依然在持续,实际的使用还没有传播,我们无法确定谁会是赢家。或许它们会融合,形成一种混合解决方案,来解决扩展性问题。直到实现之前,我们还需要等待,看看什么时候能看到。
------
风险警示:蓝狐笔记所有文章都
不能作为投资建议或推荐,投资有风险,投资应该考虑个人风险承受能力,建议对项目进行深入考察,慎重做好自己的投资决策。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。