内容简介:注:本文来自一家技术公司,通过建立闪电网络节点,该公司了解并发现了这项技术以及其存在的问题,但依然看好闪电网络,认为其应用场景是存在的。早在2017年2月,我和一位同事在一次滑雪旅行中建立了自己的第一个闪电网络节点。我们不太了解它是如何运作的,也不知道它将来能用来做什么,但我们都认为这是一项非常酷的技术。回顾过去,我们在测试和使用这个节点的过程中遇到了很多问题。
注:本文来自一家技术公司,通过建立闪电网络节点,该公司了解并发现了这项技术以及其存在的问题,但依然看好闪电网络,认为其应用场景是存在的。
早在2017年2月,我和一位同事在一次滑雪旅行中建立了自己的第一个闪电网络节点。我们不太了解它是如何运作的,也不知道它将来能用来做什么,但我们都认为这是一项非常酷的技术。回顾过去,我们在测试和使用这个节点的过程中遇到了很多问题。
建立节点
我们设置的节点包含Bitcoin Core和CLightning节点。设置节点的教程有很多,甚至还有预先配置好的专用硬件设备(例如Casa)。而我们选择了在AWS的Ubuntu服务器上手动安装了节点和闪电网络服务,并进行同步。
我们最初的想法是创建网络上最大的节点。在网络上只有大约100个节点的时候,这是可行的,但在今天,这需要投入更多的资金和非常强大的服务器。
我们最终通过CLightning开发了一个试验项目LightningD,其是闪电网络节点的另一种部署方式。我们创建的这个项目能够扫描网络上的所有节点,并创建了一个通道,连接到外部连接最多的节点,并进行运作。
我们的节点曾一度是外部连接最多的,大约建立了200个通道,网络中近5%的比特币锁定在这些通道中。
通道损坏问题
在挑战这个新软件的极限的过程中,我们确实发现了一些边缘案例。我们创建的很多通道最终都成为了无效的比特币交易,闪电网络节点会广播它们,但比特币节点不会,而闪电网络节点依然会等待确认,并未发现问题。这将导致闪电网络节点与通道的实际状态不同步,从而造成数据库被破坏。
当我们尝试挑战节点数量极限时,就出现了崩溃问题。在更新通道的状态时,损坏的通道状态加上来来往往的节点似乎在数据库值中创造了边缘问题。不过,Blockstream团队和其他贡献者帮助我们发现并解决了这些问题,很感谢他们。
不过,我们从来没有丢失过资金。尽管我们一度认为,由于通道受损,我们损失了大约0.2个比特币。我们必须手动关闭通道,且恢复被冻结的资金,才能重新开启通道。最终,数据库严重损坏,我们取出所有资金,从头开始使用一个正常的数据库。这确实意味着我们关闭了所有公开的通道,断开了与其他节点的连接,但与此同时,我们特别放心,因为我们知道不会有任何资金损失。
反思
上个月,我们的闪电网络节点支付了超过1000笔交易。在使用了最新版本的CLightning之后,它出奇地稳定。由于我们和交易对手直接开启了一条通道,我们不需要过多地考虑支付路由,这一直是该技术的一个弱点。
尽管许多团队正在致力于推出面向用户端的钱包,试图解决更多问题,但建立和连接渠道的过程仍然是一个挑战。创建通道的过程中消耗的时间和精力可能会成为消费者采用这项技术的障碍,因此其更可能会成为企业工具。
除了我们最初面临的一些摩擦和问题,闪电网络已经证明了其对于频繁而快速的小额支付的适用性。对于一些用例,比如为交易所套利、按分钟付费的服务(互联网带宽)以及非托管账户余额的频繁支付,其应用场景是真实存在的。
我们十分期待看到这项技术的进展。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 站会,我有话说
- 闪电网络最新漏洞分析:仅需攻击85个节点便可窃取闪电节点通道资金
- 话说 Kubernetes 网络疑难杂症
- 2019话说IPv6最新技术研究
- BlitzScaling -- 闪电式扩张 - 1
- 闪电页面速度的12个步骤
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
JavaScript & jQuery
David Sawyer McFarland / O Reilly / 2011-10-28 / USD 39.99
You don't need programming experience to add interactive and visual effects to your web pages with JavaScript. This Missing Manual shows you how the jQuery library makes JavaScript programming fun, ea......一起来看看 《JavaScript & jQuery》 这本书的介绍吧!