漫谈闪电网络

本文作者: yaning-u2

最近看了闪电网络的论文和文章,又有了一些更清晰的理解,所以想分享下。主要从技术理解、落地实现、对比特币的影响、CKB上实现闪电网络的优势四方面来阐述。

从技术上来讲,闪电网络是解决比特币的可扩展性、小额支付的一种状态通道方案,这里着重介绍下以下几点:

  • 闪电网络采用的是离线交易的方案。也就是说,闪电网络上的交易都是比特币的交易,而网络本身只是解决了交易的“沟通“,且交易的资金实际上仍然在比特币网络并没有转移到二层网络。对比Plasma方案,在Plasma中交易实际上发生在Plasma网络中,且交易处理的是Plasma的数据,用户的资金更像是从一层网络“转移”到二层网络中,而用户的“退出”操作是保证用户在二层网络的资产转移回一层网络。
  • 闪电网络采用一层网络的机制来保证二层网络的安全。闪电网络的交易是“未确认”的比特币网络交易,主要采用比特币中SIGHASH NOINPUT(当前使用的隔离见证)、nLockTime、HTLC等机制,以及ascribing blame、Breach Remedy Transaction等技巧,来保证“未确认”的交易一定是可以被安全确认而违反规则是会受到惩罚的,所以这里依赖的是一层网络的一些机制来实现二层网络的安全。对比Plasma,Plasma依赖于用户可以安全退出来保证用户资产的安全,采用的更多是密码学的证明以及挑战机制来保证用户数据的安全。
  • 交易即时性。对比Plasma由于处理的交易是二层网络的数据,这里无法在交易完成之时就能确定交易必然会被一层网络处理,而闪电网络上的交易是“未确认”的比特币的交易,用户可以“随时”选择将交易发送到网络上,所以可以保证即时性。

从现状来讲,闪电网络还处在非常早期,在2018年的发展也非常不错,无论在节点数、通道数量、资金容量方面都在持续的增长。

比特币实际上仍然还属于一个非常小众的产品,而闪电网络就更属于小众了,相对于比特币的体量,闪电网络还有非常大的发展空间。在3年多以前翻译过一篇文章,主要是讲闪电网络存在的问题,现在来看这些问题依然没有完全解决,这里在谈谈其中涉及到几个类似的问题:

  • 小额交易是不是伪需求?现实中比特币的大部分用户是把比特币当成投资品的。比特币解决的是法币不能保值的痛点,以及跨境支付、匿名支付等等问题,而这些跟小额支付关联并不大。如果是小额支付,对于普通用户为什么不使用普通法币呢?在法币和加密数字货币能并存的情况下,对于普通用户和商家来讲使用法币在多数情况下是更有优势的。而且小额交易实际上非常依赖于商家的应用,但是在商家普及这点上其实非常困难。而且能接受闪电网络的用户或者商家,也必然是先接受了比特币的,这点在法律合规、税收等等各个方面仍然有很大阻力。但是伴随更多的小额支付的Dapp应用的诞生,以及更多人接纳比特币,或许会诞生出很多新的场景,情况会慢慢改观。
  • 比特币本身波动带来的问题。如果闪电网络被用于日常交易,那比特币的大幅度波动对商家并不利,不便于商家定价。
  • 闪电网络的中心化问题。当前主要被人诟病的问题是闪电网络存在一定的中心化趋势,看过一个统计LNBIG.com的节点“持有”超过64%的全网资金。我个人觉得,其实这并不是一个问题。而且反倒我认为在二层网络存在一定的中心化是一种比较好的现象,因为去中心化与性能和成本几乎是对立的。而且相对于现有的金融系统,闪电网络仍然有安全性、匿名性等特点。并且是完全开放的,任何人可以选择建立私有的局部的网络,为其他人提供更好的服务的,中心也是存在被取代的可能的。所以这种中心化相对而言是危害较小的。

之前读过一篇文章,介绍闪电网络对于比特币的影响,大意是由于闪电网络的存在,会导致比特币上的多数交易都转移到闪电网络,使比特币上的交易手续费大量减少,矿工收益下降,算力下降,最终会影响比特币的安全性。但是如果仔细思考,闪电网络中的交易都是小额交易,而比特币上的交易是相对的大额交易,那闪电网络其实更多是对现有比特币网络的一种补充;而且闪电网络在某种程度上会增加比特币的应用场景,而扩大比特币的使用规模和交易规模,从而增加网络的安全性。当然以上都还需要时间去验证。当前真正的可能存在的问题是,比特币产量减半到一定程度后,矿工手续费更多依赖交易收入,而如果到时交易手续费依然不足以支撑矿工收入,可能会对网络安全性构成比较大的威胁。

最后简单谈下在CKB上实现一个闪电网络实际上也是可行性,首先CKB已经实现了隔离见证,也就是解决了交易的延展性问题,同时也有类似于比特币的时间锁机制。而且由于支持用户自定义的锁定脚本、签名算法等等,也无须像比特币一样单独去实现一些特殊指令,所以这里会带来更多灵活性,或许可以对现有的闪电网络协议做进一步改进。另外,由于闪电网络的交易,只要能解锁Funding Transaction即可,所以在CKB上用户可以通过Type来定义更灵活的数据类型,理论上是可以实现非转账类型的闪电网络。如果CKB上实现了稳定代币,那同样可以将稳定代币通过闪电网络来进行支付,从这个层面来讲一方面可以用更低的手续费使用稳定代币,另外一方面解决了小额支付作为商业使用的波动性问题。

从经济模型上讲,CKB的二级发行机制也能保证网络的长期的安全性,避免了可能由于矿工收益减少而引起的网络安全性问题。另外一个比特币和以太坊的共同问题是,当用户在使用二层网络时,实际上是免费使用了一层网络的安全性,却不需要支付任何费用,这样对一层网络实际上是有有害的,从这点上讲CKB也是能更好的解决这个问题,在二层网络繁荣的情况下,同时一层网络也能获益,反过来也能更加保证二层网络的安全性。

在文章落笔完成之后,又听了 https://forkit.fm/ 第7期介绍的闪电网络,有所收益所以又对原文进行了修改。讲的非常精彩,推荐大家听一听。

参考文章:3年前翻译的一篇文章《闪电网络非常不错,但它存在各种各样的问题》https://ethfans.org/topics/197 ,虽然当时作者并不看好闪电网络,随着这两年更多团队加入,以及更多人了解区块链,现在情况已经有所不同,但作者提到的几个问题仍未完全解决,依然值得思考。

    原文作者:NervosNetwork
    原文地址: https://segmentfault.com/a/1190000019870310
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞