欢迎您访问广东某某机械环保科有限公司网站,公司主营某某机械、某某设备、某某模具等产品!
全国咨询热线: 400-123-4567

新闻资讯

哈希游戏| 哈希游戏平台| 哈希游戏APP

HAXIYOUXI-HAXIYOUXIPINGTAI-HAXIYOUXIAPP

闪电网络“肮脏的小秘密”:哈希时间锁定智能合约能确保支付安全吗?哈希游戏- 游戏平台- 官方网站

作者:小编2026-03-15 16:51:03

  哈希游戏- 哈希游戏平台- 哈希游戏官方网站

闪电网络“肮脏的小秘密”:哈希时间锁定智能合约能确保支付安全吗?哈希游戏- 哈希游戏平台- 哈希游戏官方网站

  闪电通道可以被看作是再两个人之间伸展的一串珠子(参考图1),Alice 如果想要支付给Bob 一笔费用,相当于把自己的一个珠子推送给Bob。如果Bob和Carol 之间也有一个闪电网络通道,那么Alice 可以通过Bob 给Carol 支付,相当于:Alice 推送一个珠子给Bob,然后Bob 再推送一个珠子给Carol。这里我们就会发现闪电网络流动性基本规则中存在的一个问题,即珠子可以从一侧移动到另一侧,但是却无法离开他们依附的那条“绳子”。

  首先,Alice 必须要求Carol 想出一个密码,并告诉她这个密码的哈希值。让我们假设想出的这个密码是“boondoggle“,而与之对应的哈希值是”45f8“。接下来,Alice 要在她和Bob 之间设置一个哈希锁,并且该锁必须要在输入哈希值是”45f8“的密码时才能被打开。此时,Alice 和Bob 都无法打开这个哈希锁,因为他们都不知道密码。Alice 之后会向这个哈希锁推送一个珠子,最后她会在自己的珠子上设置一个时间锁,并将其设置为48 小时之后打开(如图3 所示)。

  如果能够在48 小时内找到Carol 设定的密码,Bob 就能拿到Alice 发出的珠子。与此同时,Bobby 也知道(因为Alice 会告诉他)Carol 会公布这个密码来换取他的一个珠子。为了诱使Carol 采取行动,Bob 可以在他和Carol 之间放置一个相同的哈希锁,其中放置了他自己的一个珠子,然后Bob 可以再设置另一个时间锁(如图4 所示)。他知道如果要让Carol 打开哈希锁并拿走珠子,Carol 必须要输入密码——很明显,这个密码会和Alice 设定给Bob 打开的那个哈希锁密码一样。

  你可能想知道,为什么Bob 会是第一个参与整个流程的人?因为如果Carol 没有参与合作的话,Bob 的珠子会被一直冻结,直到时间锁过期。而在实际交易中,Alice 向Bob 发送的资金可能会比她给Carol 的资金更多一点,因为Alice 希望用这种方式作为Bob 工作的费用,或是避免出现不必要的风险。支付交易完成之后,Bob 的账户余额会比这笔交易完成之前的更多一点,从而也激励他能去完成这笔交易(或是类似的交易)。

  当然,你可能也想知道在整个闪电网络交易过程中为什么要使用时间锁。事实上,如果支付交易因为各种原因未能成功,时间锁能够让交易参与各方收回自己的资金。举个例子,想象一下如果Alice 把珠子转移给Bob 并添加了哈希锁和时间锁之后,Bob 突然不合作处理这笔交易,此时时间锁就能帮助Alice 取回自己发送给Bob 的那个珠子,因为她只要等待时间锁到期就可以了。在此期间,Bob 根本无法偷走这个珠子,因为他需要Carol 的ima,而且如果Bob 不给Carol 转移一个珠子的话,他就无法获得这个密码,因此对于Bob 来说必须转出一个珠子,才能获得一个珠子。

  为了解释闪电网络如何处理这个问题,我必须要首先坦白一个问题,一开始例子中“绳子“上的珠子数量并不是固定不变的。实际上,每根”绳子“边上都应该还有一个”篮子“,这个”篮子“的标签是”矿工的费用“,其中包含了很小一部分珠子。”篮子“里的代币价值将会由确认通道状态交易的矿工声明,然后渠道状态会被推送到区块链上。也就是说,有一部分珠子会从”绳子“上移动到”篮子“里,或者从”篮子“里移回到”绳子“上,但这种情况只有当通道两端的人都同意时才会发生。

  Bob 随后可以将“交易过程中的价值“转储到他与Carol 分享的第二个”费用篮子”里,并且承诺如果自己知道密码之后就会把这个“篮子”给Carol。Carol 告诉了Bob 这个秘密,然后Bob 和Carol 一起把“费用篮子”里的这笔支付款转移到了Carol 的一侧。接下来,Bob 又回到Alice 这边,告诉了她Carol 的秘密,然后,如果一切顺利的话,Alice 也会与Bob 合作,把“交易过程中的价值”从“篮子”里取出来并放到“绳子”上Bob 的一侧。

  尽管上述问题听起来非常琐碎,但在实际情况下却真的能够运作起来。当然,Bob 没有什么特别的动机不把钱给Carol,但是如果他不给的话,对自己也没什么好处,因为矿工将会保留额外的资金,这笔钱并不会留在Bob 手上。不仅如此,如果Bob 真的这么做——即不把Alice 通过自己发送给Carol 的钱给Carol,Carol 很可能会关闭通道,这意味着Bob 是不值得信任的。这样看来,Bob 能够造成的损害似乎也比较有限,除了这笔支付交易的金额之外,还有就是构建一个新闪电通道的成本(因为Carol 已经关闭通道了)。

  闪电网络这个“肮脏的小秘密”非常值得关注,因为它揭示了第一层(L1)的问题(摩擦)已经转移到了第二层(L2)中,迫使第二层协议不得不实施复杂且难以理解的解决方案。在这种情况下,这些解决方案会改变闪电网络的“去信任”本质:对于高于粉尘阙值的支付交易,Alice、Bob 和Carol 都不会因为对方的任何行为而损失资金;而对于低于粉尘阙值的支付交易,Alice、Bob 和Carol 则有可能因为对方的过错而损失资金——显然,这与人们理解的闪电网络安全支付交易模式不一样了。

  也有人觉得路由节点可能会丢失客户资金,如果未来粉尘费用阙值提升的话,这些丢失的资金规模可能会比较大。我同样也不太认同这种看法,因为闪电网络支付路由的全部目的就是以交易费来赚钱,通常路由会利用自己的费用优势吸引更多流动性,路由节点的交易量越多,费用自然也就越多。现在,闪电网络开发人员已经意识到不可能让全部用户都来路由支付交易,对于普通用户来说,开发人员更多地是鼓励他们使用非广告通道来进行支付交易,同时永远不要把自己变成一个路由。

  此外,路由中心还会设定一些特定条件,比如出于反洗钱(AML)和“了解你的客户(KYC)”目的而不转接洋葱路由(onion-routing)信息。如果客户无法满足这些特定条件的话,路由中心就会无限期地锁定客户资金。这样一来,对用户来说他们唯一的选择就是要么在区块链上进行清算,要么就丢失全部资金——这根本就不算是真正的选择!更可怕的是,路由中心还可以设置高额费用,用户如果想要获得自己的钱,就不得不支付这笔钱,他们别无选择。