LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 币圈百科 > 闪电插件的前景一片光明–比特币杂志

闪电插件的前景一片光明–比特币杂志

2020-03-31 wanbizu AI 来源:区块链网络

尝试浏览不同的Lightning实现可能是一个挑战。尽管最初有3种实现方式:c-lightning,eclair和lnd,但随着雷鸟,防锈闪电和Electrum的出现,更多的东西一直在木工中不断涌现。

通常,开发人员和有抱负的开发人员似乎都根据其编写的语言选择使用特定的实现或为该实现做出贡献。熟悉Scala吗?选择泡芙。对Rust的潜力感到兴奋吗?选择防锈闪电。但是,还有其他关键考虑因素,例如目标,设计理念,用例和不同实现的权衡取舍。此外,仅因为实施是用某种语言编写的,并不一定意味着您需要使用该语言进行编码才能为该实施周围的生态系统做出贡献。

在Breaking Bitcoin 2019上的一个小组中以及在《 Bitcoin Magazine》的这篇文章中探讨了lnd和防锈实现之间新出现的对比。 lnd寻求减轻开发人员的负担并提供现成的最终功能,而rust-lightning寻求提供最大的灵活性,鼓励开发人员自带组件并放入其中。

相反,c闪电提供了第三种方式。它维护了一个健壮和安全的内核,该内核设计为不被开发人员调整或替换。通过使用可由开发人员以各种语言(例如Python或Go)编写的插件来提供灵活性和附加功能。目的是使c-lightning生态系统成为试验新前沿功能的试验台,而这些试验是以前其他实现(例如lnd和eclair)的地形,而又不牺牲内核的性能和鲁棒性。

插件是由主lightningd守护程序启动的子进程。他们与lightningd合作。多余的任何插件都不需要运行。有些插件确实需要将某些挂钩引入lightningd中,这些挂钩将通知插件有关内部事件和/或更改lightningd的行为。

第一个C-Lightning插件

Blockstream有一系列Medium博客文章,展示了c-lightning团队编写的一些首批插件。这些包括“摘要”插件,该插件提供节点状态的摘要,包括satoshis onchain,法定数量,对等点数,通道数,平衡程度等。

“ Probe”插件确定是否存在向网络中某个节点付款的途径,返回所需的费用水平,并指出哪些渠道阻止成功付款。这可用于准备将来的付款基础,或仅用于探索网络拓扑。

“ Prometheus”插件收集有关节点性能的数据,以提供可视化和警报。使用所有这些插件,您可以选择通过添加功能或从头开始构建自己的插件来为插件做出贡献。

社区插件

在撰写本文时,总共有16个用于c-lightning的“社区管理”插件。其中包括从Rene Pickhardt构建的库中移植的自动驾驶插件。自动驾驶仪代表用户决定与哪些节点打开通道。用户需要告诉自动驾驶仪他们所控制的资金百分比,要打开的通道数量以及最小通道大小。当远程方打开和关闭通道时,也需要通过lightningd通知自动驾驶仪。建立有效的自动驾驶仪具有挑战性,因为用户喜好(例如最大程度地提高了成功付款的可能性)可能会与网络运行状况(例如分散级别)发生冲突。

还有一个重新平衡插件,可以在用户渠道之间移动流动性,以确保有足够的流入和流出流动性;以及无发票付款插件,该插件可让用户无需先收到发票即可付款。运行c-lightning时,您可以选择打开或关闭这些插件的任意组合。

正如Lisa Neigut(@niftynei)在其推文风暴中所说,c-lightning不会像lnd一样为第三方应用程序开发人员提供“现成的标准化HTTP可访问接口或身份验证方案”。但是社区构建的插件提供了构建其他实现中存在的c-lighting等效项的机会。

Kristaps Kaupe已启动GitHub存储库,用于模拟某些lnd命令的插件。其他值得一提的插件作者是Richard Bondi,他在Go中编写了一系列插件,其中包括禁止同行使用的插件。 fiatjaf,他写了一个实现LN URL的插件来帮助付款人与收款人互动; Conor Scott,他用Python编写了许多插件,其中包括一个用于创建具有最大容量节点的通道的插件。最终,贾斯汀·穆恩(Justin Moon)构建了一个概念验证插件,用于使用硬件钱包为Lightning频道提供资金。

插件的挑战

尽管此插件体系结构似乎提供了两全其美的优势,但确实带来了一些挑战和潜在的弊端。目前尚不清楚锈闪电的最终灵活性是否意味着它更适合于寻求将闪电整合到其现有代码库中的现有比特币钱包。

另外,随着社区插件的数量成倍增加以及依赖于这些插件的比特币价值的增加,安全性和管理性将变得至关重要。插件之间不可避免地会有重复和重叠。

也可以看看

整理是一项具有挑战性的工作,因为它可以有效地建议(非正式地,警告购买者)建议使用哪些插件,哪些不该使用。没有策展,用户和开发人员就不可能在不检查所有竞争插件的情况下快速上手。有一种观点认为,某些语言(和一些开发人员!)更适合于编写对安全性要求很高的软件。但是,特别危险的JSON-RPC方法只能与developer选项一起安装,并且只能在c-lightning团队的帮助下进行测试和调试。还提供了有关插件开发人员在利用可以更改c-lightning默认行为的特定挂钩时可能发生的危险的指南。

这种方法不是为开发人员创建了一个完美的无许可环境,因为将来某些插件仍然需要c-lightning团队将附加的钩子合并到c-lightning代码库中。例如,在撰写本文时,正在讨论一个有助于监视塔插件的挂钩。由于安全性或实施细节的原因,某些挂钩可能无法合并。

运行不同插件集的c-lightning节点的实例是否会导致c-lightning节点之间或与其他实现的兼容性问题还有待观察。假设c-lightning节点都运行相同的发行版,确保不同实现之间的兼容性已经具有挑战性。但是,实验很重要,并且在最终确定闪电协议的BOLT规范时,从该实验中获得的教训将被证明是无价的。

伦敦比特币开发

使用多种不同语言来构建和使用新插件的机会正在吸引开发人员将其构建在c-lightning之上。 Antoine Poinsot(@darosior)于2020年3月来到伦敦出席伦敦比特币开发者大会。Poinsot正在开发一个名为Reckless的插件管理器,它将为用户提供一系列插件,并动态启动所选的插件。他还构建了一个RPC命令挂钩,该插件允许插件接管任何RPC命令并进行更改。由于RPC命令是用户与lightningd进行交互的方式,因此这可能是鲁ck的并且是实验性的。如果RPC命令可以被接受,拒绝或更改,则将打开许多用例,但也有可能使用户损失资金。

这个RPC命令钩子是Rusty Russell在在线Boltathon 2上的最新演讲的基础。从蹦床路由到HODL发票,仍然可以使用大量插件,Christian Decker希望“已经有一个插件可以做到这一点”。在这种情况下,Decker和c-lightning社区可能只是削减了工作,以管理这个新兴的插件丛林。

感谢Antoine Poinsot和Christian Decker对本文的贡献。

—-

原文链接:https://bitcoinmagazine.com/articles/plugging-into-c-lightning-the-future-of-lightning-plugins-is-bright?utm_source=rss&utm_medium=rss&utm_campaign=plugging-into-c-lightning-the-future-of-lightning-plugins-is-bright

原文作者:Michael Folkson

编译者/作者:wanbizu AI

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...