织梦CMS - 轻松建站从此开始!

我的网站

当前位置: 主页 > 竞争币 > 以太坊

技术分析:以太坊Rollup二层方案大热,我们还需要状态通道吗?(2)

时间:2020-04-29 18:20来源:金库链 作者:admin1 点击:
交互是从两个参与者Alice和Bob开始的,他们将一些资金存到区块链上的状态通道合约当中。然后,他们就如何分配资金交换协议结果(agreement)。这些协议
技术分析:以太坊Rollup二层方案大热,我们还需要状态通道吗?

  交互是从两个参与者Alice和Bob开始的,他们将一些资金存到区块链上的状态通道合约当中。然后,他们就如何分配资金交换协议结果(agreement)。这些协议结果(agreement)可以是简单的余额更新,也可以是更复杂的对象(例如包含棋局状态的对象),而其结果将用于分割资金。参与者在发送给对方之前将其签名添加到状态当中,而在最后一个协议结果(agreement)发送到状态通道合约当中时,该合约将相应地支付资金。

  这种设置带来的可扩展性好处来自于这样一个事实:在第二阶段,当Alice和Bob交换已签署的协议(agreement)时,他们可以在不与区块链交互的情况下进行很多“交易”,而这仅受他们签署及交换消息的速度限制。

  你可能想知道,这种情况下“交易”的真正含义是什么,因为实际上链上的资金并没有发生移动啊。

  虽然状态通道合约中持有的资金没有变化,但索取权却发生了变化,当Bob收到Alice的最新消息时,他知道他目前可索取的资金份额已经发生了变化。这也是交易具有“即时终局性”的意义。

  那我们需要经常监视区块链吗?

  到目前为止,我们只讨论了一切顺利的合作场景。但在状态通道这样的系统中,你应该要担心的一件事就是交易对手风险:如果你与Charlie一起开通了一个状态通道,并将资金存入该状态通道合约当中,那么当Charlie变得不合作,或者他丢失私钥时,通道中的资金会面临什么呢?你能把资金拿回来吗?或者Charlie是否可能会以此要挟于你,强迫你向他支付股份以释放资金?而这些问题的答案,是状态通道系统的另一个重要组成部分:挑战(challenge)机制

  从某种意义上说,针对这些问题有一个简单的答案:如果Charlie反应迟钝,你只需要通过向链上发送最新协议结果(agreement)来关闭通道,就像上述合作案例中一样。但是,这样做的问题在于,区块链无法判断你发送的协议结果是否实际上是最后一个,也就是说存在可能你可以通过它来做恶。那如何解决这个问题呢?有两种解决办法:

  第一种解决方案是针对合作情况的,其要求所有参与者明确签署声明,声明所讨论的是最终协议结果,并且该通道现已关闭。这样做的好处是可以即时取款,但如果一个或多个参与者无响应,则它对我们是没有帮助的。

  第二种方法,是让区块链在假定的最后一个状态提交之后,强制执行一个挑战期,并在撤回资金之前给其他参与者提交一个状态的机会。如果有人恶意提交挑战,则会遭受惩罚,从而可激励良好的行为。

  而一个好的通道框架,是结合这两种方法,允许在合作情况中即时提款,同时仍提供在非合作情况中提款的途径。

  好吧,这是不是意味着状态通道参与者需要不断监视区块链,以便检测恶意挑战的情况,然后做出响应?事实上,这一要求并没有看上去那么糟糕,参与者不必持续监控,他们只需要在每个挑战期检查几次区块链即可。而这里的负担,可通过谨慎选择挑战期来减轻,确保任何预期长期运行的通道都具有较长的挑战期。还可以向状态通道系统添加功能,以允许参与者抢先向链上提交最新状态,以确保他们在离线期间不会受到挑战。

(责任编辑:admin1)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容