使用 10101 进行非托管交易

  • 10101_
  • 发布于 2025-06-19 23:39
  • 阅读 30

10101 正在构建一个允许用户使用比特币的平台,重点是将非托管交易引入闪电网络。该平台利用 Discreet Log Contracts (DLCs) 在闪电通道中实现,允许用户在不放弃资金控制权的前提下进行交易,降低了交易对手风险。文章还讨论了在闪电网络中实现 DLCs 的技术挑战和未来的发展方向。

2023年1月2日

我们正在构建 10101,让你使用你的比特币。毋庸置疑,你将能够通过链上和链下的闪电网络发送和接收币。但我们最兴奋的是将非托管交易引入闪电网络。

以比特币作为底层资产进行交易非常流行,但几乎没有选择可以在不接受平台带着你的资金消失的风险的情况下进行交易。据我们所知,只有 ItchySats,我们的最新产品,提供比特币上的非托管交易。

通过 10101,我们提高了标准,将非托管交易带到你手机上的闪电网络。在这篇文章中,我将概述我们如何实现这一点。

什么使交易成为非托管的?

如果你曾经在任何托管平台上进行过交易,那么在某个时候,你一定不得不放弃对资金的保管权。有些平台在你首次存入币时就强迫你这样做;另一些平台则等到你下订单或开仓时才这样做。

非托管交易是指你永远不会将资金的完全保管权交给任何人的交易。为了实现这一点,需要发生三件事:

  1. 在开仓之前,你的币存储在你拥有的钱包中。

  2. 当仓位打开时,你的保证金存储在链上的多重签名输出中,你拥有部分所有权。

  3. 仓位关闭后,你的币返回到你自己的钱包。

10101 的关键创新出现在第 2 步。其他平台会保管你的币,以便能够执行合约规则,而 10101 依赖于一种加密协议,保证你的币始终属于你。此外,多重签名输出也持有你的交易对手提供的保证金,这意味着 10101 上的交易没有交易对手风险

确保合约条款得到遵守的机制被称为 Discreet Log Contract (DLC)。

DLC 简介

DLC 是一种 2-of-2 多重签名输出,其花费条件基于比特币区块链之外发生的事件。这非常强大,因为在发现它之前,我们只能表达基于以下内容的可编程条件支付:(1)比特币上发生的事件,(2)其他区块链上发生的事件,以及(3)时间。

为了使 DLC 能够工作,我们需要引入一个受信任的第三方,称为预言机。预言机证明现实世界事件的结果。所述证明用于加密解锁 DLC 输出中持有的币。这是通过在将 DLC 放到链上之前,签署几个从 DLC 花费的合约执行交易 (CET) 来实现的,每个交易只有在预言机证明特定结果时才会激活。

至关重要的是,预言机对任何 DLC 的存在都是不知情的。仅通过查看区块链无法将预言机与 DLC 链接起来。

这并不能阻止预言机与 DLC 中涉及的某一方串通。但是,作为公共实体,行为不端的预言机将被识别为不可信,并且永远不会再次使用。

无论如何,将过多的信任放在任何一个预言机身上都是不可取的,尤其是在合约规模增加的情况下。考虑到这一点,人们可以创建由多个预言机管理的 DLC,其中只有一部分(例如,2-of-3 或 5-of-9)需要就事件的结果达成一致,才能以特定方式分配资金。

闪电网络上的 DLC

如前所述,ItchySats 已经提供非托管交易。你可以在 UmbrelRaspiBlitzdesktop 上安装该应用程序,并立即享受由比特币主网上的 DLC 驱动的 CFD 交易。

作为闪电网络优先的钱包,10101 将提供由 DLC 驱动的闪电网络上的非托管交易。这意味着 DLC 嵌入在通道中,就像任何其他闪电网络输出一样。将闪电网络和 DLC 结合使用的主要好处是能够在不必上链的情况下结算到闪电网络通道中。

闪电网络目前不支持开箱即用的 DLC。这意味着我们需要对常规闪电网络节点进行更改才能实现这一点。这正是我们为 BOLT.FUN 组织的 Legends of Lightning 比赛的 项目 开始做的事情。以 10101 的名义,我们构建了一个概念验证移动闪电网络钱包,其中 CFD 交易是其旗舰功能。

有多种方法可以解决这个问题,难度和与闪电网络的集成程度各不相同。早在 10 月份,我们就在开始构建之前考虑了一些:

  1. 通过将 DLC 通道和闪电网络通道链接到父承诺交易来创建与闪电网络通道相邻的 DLC 通道 1

  2. 在 ItchySats 中实施必要的 BOLT,以便创建 DLC 可以同时打开闪电网络通道。

  3. 将 DLC 输出直接添加到闪电网络承诺交易中。

我们选择了最后一个选项,因为它在三个选项中是最雄心勃勃的。我们的愿景是拥有一个闪电网络通道,可以在其中无缝添加、修改和删除 DLC,速度如闪电般快。这种方法不会向闪电网络添加任何新交易,并且可以让你使用 DLC 赢得的奖金直接进行支付。

将 DLC 添加到闪电网络承诺交易

闪电网络承诺交易代表链下闪电网络通道的状态,只能包含三种类型的输出:

  • 支付给任何一方的简单输出。

  • 在时间锁到期后支付给任何一方的可撤销输出。

  • 可撤销的 HTLC,用于通过网络路由付款。

这意味着我们需要扩展承诺交易支持的内容才能引入 DLC。

我们目前的设计涉及添加一个具有任意花费条件的可撤销输出,我们将其称为自定义输出。我们将管理自定义输出的责任转移到闪电网络节点之上的层。但是,闪电网络节点仍然负责随着通道状态的进行而撤销输出。

添加自定义输出 闪电网络协议

除了任意脚本之外,自定义输出与标准闪电网络输出的不同之处还在于它是使用通道中涉及的双方的币创建的。这很重要,因为 DLC 通常会锁定来自双方的资金。

DLC 的协同结算

在结算 DLC 时,闪电网络节点不需要知道具体细节。它只需要被指示协同删除自定义输出,以特定方式分割其币即可。

删除自定义输出 闪电网络协议

这类似于在索赔付款后删除 HTLC 时发生的情况。

强制关闭包含 DLC 的通道

必须支持强制关闭,这样你就不必信任你在 DLC 中的交易对手。你必须能够单方面关闭通道,并将 DLC 提交到区块链中。

一旦预言机(或预言机)证明了相关事件的特定结果,一个 CET 就会变得可花费并发布,根据合约的原始条款分割资金。

由于闪电网络节点不了解 DLC 协议,因此在可以退还 DLC 之前,使正确的 CET 上链仍然是上层的责任 2

与普通闪电网络节点保持兼容

在提出设计时,我们知道我们修改后的闪电网络节点必须仍然与所有其他常规闪电网络节点兼容。与闪电网络集成的主要吸引力之一是成为网络的一部分,从而进入其快速增长的用户群。

由于我们只进行添加更改,因此这种与 DLC 兼容的闪电网络节点仍然能够与网络上的任何其他人发送和接收付款。

经验教训和未来工作

在过去的几个月中,我们一直在研究这个主题,从中我们学到了一些东西,这些东西可能会影响我们接下来使用 10101 的方法。

更新包含外部管理的自定义输出的通道很麻烦

能够在闪电网络节点级别忽略 DLC 的具体细节,这很好,但是更新通道状态变得非常复杂。例如,每次路由新付款时,都需要在闪电网络节点、管理 DLC 的层和交易对手之间进行大量通信。

我们尚未解决此实现的这一部分,因此我们应在继续之前考虑重新考虑闪电网络节点对 DLC 的了解程度。

双向注资通道

如前所述,DLC 是一个共享输出,资金来自双方。由于闪电网络目前仅支持打开单方面注资的通道 3,因此以允许创建所需的 DLC 的方式设置通道是不切实际的。

可以使用 海底互换 来规避此问题,但是已经 提出 并正在审查将启用双向注资通道的闪电网络规范的更改。

参与进来!

如果你和我们一样对非托管交易以及可以使用 DLC 构建的所有非常酷的东西(无需信任的稳定币 👀)感到兴奋,那么你有以下选择:

1

我们 Crypto Garage 的同事最近 发布 了他们在闪电网络上使用 DLC 的经验。我们正在与他们进行对话,看看我们是否可以在这个话题上进行合作。

2

如果所涉及的各方不同意结算并且预言机从未证明相关事件的结果,则 DLC 理论上可能在链上无法花费。因此,我们必须向 DLC 添加退款花费路径,以便可以在经过很长的超时时间后收回资金。

3

某些闪电网络实现(例如 Core Lightning(又名 C-Lightning))确实支持双向注资通道。


  • 原文链接: 10101.substack.com/p/non...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
10101_
10101_
江湖只有他的大名,没有他的介绍。