宇宙链 宇宙链
Ctrl+D收藏宇宙链

闪电网络(上)|如何突破“不可能三角”:用Solidity语言重新实现闪电网络技术原理

作者:

时间:1900/1/1 0:00:00

闪电网络(LightningNetwork)是JosephPoon和ThaddeusDryja在2015年合著的白皮书中提出的。它在比特币社区中产生了很大反响,在众多关于比特币的论文和白皮书中,被公认为排名第二,其价值仅次于中本聪的创世论文。由于闪电网络依赖于隔离验证,一直停留在概念和内部开发阶段。从2017年比特币隔离验证分叉之后步入正常的发展轨道,2018年3月,LightningLabs开发并推出了第一个测试版,之后ACINQ和Blockstream两家公司也相继推出了不同的实现方案。根据统计网站1ml的数据,闪电网络目前有8,204个节点,37,901个支付通道,支付通道总计有1,021.37BTC(约534万美金)。说明闪电网络在过去的一年中取得了显著增长。闪电网络的愿景是解决比特币网络的扩容问题。众所周知,比特币的初衷是实现一个端到端的电子现金系统,为全世界提供一个去信任的、7x24小时服务的电子支付网络。但是比特币的性能却远远达不到要求。按照平均每个交易300字节计算,比特币的平均吞吐量是5.6TPS。然而Visa的峰值吞吐量可以达到47,000TPS。如果对标这个吞吐量,比特币的区块大小要扩张到8GB左右,每年要新增400TB的区块数据。这显然是不现实的。除闪电网络之外,区块链社区同时也提出了众多的扩容解决方案,比如大区块、DPoS、DAG、分片、侧链跨链等。这些方案在比特币的分布式账本技术基础上做了优化,例如调整配置参数、优化数据结构、修改共识算法、账本分区处理、优化网络资源管理等等。但目前来看效果并不理想,在付出了高昂的代价(增加存储量、增加网络流量、增加逻辑复杂度、弱化去中心化)之后,却只是获得了非常有限的性能提升,和Visa相比依然还有几个数量级的差距。唯有闪电网络脑洞大开、另辟蹊径。由于比特币智能合约的复杂性,不利于理解闪电网络的技术原理,OKResearch团队特别使用Solidity语言重新实现了闪电网络,深入理解闪电网络的技术实现方式。现将闪电网络的基本流程和原理抽象出来,方便大家快速理解。01闪电网络的关键技术原理闪电网络的核心解决思路是,创建临时的链下支付通道,使得收付款方的多笔往来交易在链下记录更新,只将最终的支付结果在链上记录,这样可以使得大量的交易不必等待链上的区块更新共识,从而提高支付效率。如何实现不上链的交易也能有最终性,以防止篡改,是闪电网络方案中的核心内容。1、闪电网络解决方案建立在三个重要的概念之上:虚拟银行、共同承诺以及支付通道。1)虚拟银行链上智能合约模拟银?机构,作为Alice和Bob的债务?。虚拟银行具备以下特征:?微型:只有两个账户:Alice/Bob??需信任:公开、透明、不可篡改、不可伪造、不可撤销??户?治:Alice和Bob共同管理银?资产?双重签名:资产重新分配必须要Alice和Bob双?共同签名2)共同承诺双?对债务调整?案达成?致,并且双?签名。此消息并不?刻?播到链上,?是由双?存储在本地,称之为共同承诺。共同承诺是双?真实意愿的表达,是彼此之间对资产分配?案的承诺,具备以下特征:?不可伪造?不可篡改?可以覆盖3)?付通道?付双?以虚拟银?托管双?的资产,通过共同承诺重新清算双?的存款余额,以达到价值转移的效果,这种?付?具称之为?付通道。2、承诺方案根据支付通道的直连和非直连区分为:RSMC承诺方案、HTLC(HashTimeLockContract)承诺方案1)RSMC承诺方案参与方包括进攻?、防御?。RSMC承诺方案通过诚信保证?机制防止作恶动机。在进攻方发起清算申请时,防御?的资?如100美??刻兑现并返回防御者账户。而进攻?的资产100美?将作为诚信保证?被锁定,锁定时长为智能合约设置的freeze_time参数。如果,防御方发现当前进攻方要求分配的承诺?案是已经被撤销的,那么防御?可以在锁定期内通过解开撤销锁,取?进攻方抵押的诚信保证?作为此次罚?。反之,锁定期后,进攻?将可取回??的诚信保证?。RSMC承诺方案一式两份,互为对偶承诺。进攻方和防御方各持有一份,对于虚拟银行来讲,他们具有同等效力。对偶承诺可以防止一方的故障导致支付通道锁死,任何一方都有兑现承诺方案的主动权。?两份对偶承诺的相同点:编号、资产分配?案、资产冻结时间。?两份对偶承诺的不同点:进攻方和防御方位置对调,签名的位置对调,进攻?不同(诚信保证?、撤销锁)。RSMC承诺?案清算流程可分为三部分:承诺方案搭建过程:a)Alice和Bob建立#1RSMC承诺方案,并各自存入100BTC。RSMC方案更迭过程,即支付过程:b)Alice和Bob产生新的债权关系,重新建立#2RSMC承诺?案各自签名并互换,对资产进行二次分配。c)双?公开#1RSMC承诺?案撤销锁的私钥,同时#1RSMC承诺方案失效。RSMC方案可以被不断更换,每一次更换后承诺序号加一。RSMC方案清算,通道关闭过程(假设最新的承诺编号为N):d)Alice在#NRSMC承诺?案上签名,并向虚拟银行发起清算申请。e)Alice作为进攻方,自身的50BTC作为诚信保证金被冻结,而Bob的150BTC立即被释放。保证金冻结期间,Bob如发现被要求分配的承诺方案失效,例如是失效的#1RSMC承诺?案,此时Bob可随时通过之前公开的私钥解开撤销锁,取?进攻方抵押的诚信保证?作为罚?。f)如承诺方案未失效,则冻结期过后,Alice可拿回保证金。上文我们提到,RSMC已基本可以满足基本的清算要求,但其也存在明显的局限性。即通过RSMC方案进行结算的双?,必须建?直连的?付通道才能?付。基于此痛点,诞生了HTLC(HashTimeLockContract)承诺方案。HTLC可通过多个?尾相连的?付通道串联起来形成的?付路径,支持?尾双?通过?付路径完成?付,即没有直连的?付通道也能?付。2)HTLC承诺方案:保证?付路径上相邻的两个?付的原?性HTLC承诺方案涉及到两个新的元素:时间锁和Hash锁。?时间锁:约定在某个时间T之内提交才有效,超时则承诺方案失效。?哈希锁:预订?个数H,给出暗语R,使得Hash(R)=H,承诺有效;否则失效。通常情况下,HTLC方案包含了RSMC方案,在其中作为两个长期有效的RSMC方案之间的桥梁过渡作用。若时间锁及哈希锁匹配则可建立新的RSMC承诺方案,否则将退回至旧RSMC承诺方案。HTLC承诺?案支付流程:从左到右,前向建?承诺?案;从右到左,后向传递暗语R,完成?付。1.Carol?成暗语R,并计算H=hash(R),均发给Alice;2.Alice和Bob之间建立HTLC承诺方案,ExpireTime可设置为2T,Alice将H发送给Bob;3.Bob和Carol之间建立HTLC承诺方案,ExpireTime可设置为T。Bob将H发送给Carol;4.Carol提供H所对应的R给Bob,Bob进行核对。若没有超时?且哈希锁匹配,则按照HTLC分配方案建立长期有效的RSMC承诺方案,同时撤销临时的HTLC承诺方案,此时,HTLC承诺方案就完成了自己的桥梁作用。如果Carol提供的R不匹配或未能在T时长内提供R值,则HTLC承诺方案失效,退回至上一个RSMC承诺方案。5.Bob将Carol提供给自己的R传递给Alice,Alice进行核对。之后同上述Carol和Bob。三者中,Alice和Carol是最终发生交易的两方,Bob处于做市商角色,起到为Alice、Carol构建支付通道的作用。实质上,任何与Bob建立支付通道的一方,之间都可以建立支付关系。Bob与Alice及其与Carol之间的承诺方案可设置为非等价的,例如Bob给Carol支付9.9美元,但之后收取Alice10美元,0.1美元即可作为做市商的通道费用。3.两种承诺方案中需要解决的主要风险:对手方作弊风险、支付通道的非原子性。1)通道内对手风险:有一方不配合怎么办?对于RSMC方案来说,从#N-1到#N承诺方案,?付?有不撤销#N-1的利益驱动,需要外部?付场景约束来促使其公开撤销锁。对于HTLC方案来说,从#N-1到#N承诺方案,接收?只有公开暗语才能得到?付?额;而?付?如果不撤销#N-1,接收?可以直接向虚拟银?兑现#N-1方案。所以HTLC构建了一种均衡的?元博弈规则,使得理性的参与者不会随意作弊。2)跨?付通道的对?风险:相邻通道支付具备原?性先沿着?付路径,从发送?向接收?建?依次建?HTLC承诺?案;然后反?向,从接收?向发送?传递暗语。所以?定是先完成右侧?付,然后再完成左侧?付。对于任意?个中间节点,向右侧的节点完成了?付,意味着规定时间内获得了暗语R。而左侧的时间锁?右侧的长,所以中间节点?定能够从右侧节点获取等额补偿。即做市商利益多来自于锁定时间较短的一方。反之,右侧的节点没有完成?付,那么它就?法得知暗语R。所以左侧的?付也?法完成,这也就是相连通道支付具备原子性。整体来看,信任机制是建立在双?的?治基础之上的。在决策阶段,防御?先签名、进攻方后签名,故防御方具有初审权、进攻?具有复审权;在执?阶段,进攻?具有主动提交权、虚拟银?具有执?权、防御?具有一定期限内的审查权。02'三元不可能'的根本症结与'闪电网络'的关键突破点比特币是一种点对点的电子现金支付网络,其关键突破意义在于使得电子支付拥有了“现金支付”的特点,也就是“交易即结算”——价值符号的转移即代表价值转移,资金的信息流传递与债权债务关系转移同时完成。而电子支付之所以难以实现这种同步性,根本上因为电子时代表示资金的“数字”具备可复制性,导致两个根本性问题:确权问题及双花问题。对于确权问题,比特币采用了签名的方式来解决,即谁拥有私钥就拥有了比特币的支配权。对于双花问题,以下图为例,Bob接受Alice转账时,需要确认Alice没有向任何人转账过相同一笔资金,这就需要遍历全量账本,防止双花本质上是一个无边界的不存在性证明问题。中本聪在《Bitcoin:APeer-to-PeerElectronicCashSystem》中写道:Weneedawayforthepayeetoknowthatthepreviousownersdidnotsignanyearliertransactions.Forourpurposes,theearliesttransactionistheonethatcounts,sowedon'tcareaboutlaterattemptstodouble-spend.Theonlywaytoconfirmtheabsenceofatransactionistobeawareofalltransactions.解决双花问题的唯一方案是获得所有交易历史记录,中本聪在此基础上提出了分布式全局账本的方案。但分布式账本的各项成本十分高昂。?存储:每?个验证节点都要保存?份账本的全量副本。?验证:每?个验证节点都要验证所有交易。?通信:每?个验证节点都要和其它节点通信。?共识:每?个验证节点都要为共识提供算?。并且,每?笔交易被确认所需要的存储、计算、通信复杂度与验证节点的个数N成正?。如此一来,在越分散的节点中达成全局共识则需要越久的时间,去中心化、安全性与交易性能难以兼顾,也就是我们常说的区块链扩容的“三元不可能”。过去数年,区块链技术社区不断涌现出新的扩容解决方案,比如大区块、新的数据结构,新的公式算法以及分片技术和侧链跨链技术等。其中,DPOS和PBFT共识算法是典型的牺牲一定的“去中心化程度”,缩小了参与验证交易的共识节点的范围。而当前非常热门的分片技术和侧链跨链技术,则在此基础上更进一步,虽然同样是让交易验证在更小的节点范围内进行,避免低效的全局共识,但是验证节点开始有了“组”的概念,也就是避免一直让少量固定的节点完成交易验证,造成操纵作弊风险。但是到目前为止,分片技术派仍处在早期阶段,如何攻克分组的“随机性”以及“平衡性”、“依赖性”等问题尚需要更进一步的探索和论证。也就是从实战层面上来讲,尚未有链上扩容方案实现了对“三元不可能”的突破,仅有“闪电网络”这种链下扩容方案一枝独秀!究其根本,是因为闪电网络跳出了“点对点现金支付”这个概念,引入了类似银行转账的“债权清算”机制,即A向B转移的并不是对“现金”的所有权,而是对“虚拟银行”的债权。在双花问题的解决上就由“Bob需要向尽可能多的人确认Alice没有向任何人转账过”转变为“Bob只需要向虚拟银行确认账户余额”就可以,将一个原本无边界的不存在证明问题大大简化。但是与传统银行不同的是,闪电网络中的“虚拟银行”并不涉及“信用中心”范畴,而是通过智能合约技术来保障虚拟银行将会诚实履行债权清算的义务。本质上,闪电网络通过创建链下支付通道,在无数个小组内完成了确权和防止双花的动作,极大的缩减了需要全局共识的交易数量,同时由于各链下小组之间并无强依赖性,使得局部的安全性对整体安全性威胁降低。03闪电网络的主要技术优势闪电网络的技术优势主要包括以下5项:?低交易费?需矿?参与,只需为中间节点?付通道租??实时确认少数节点参与?付,交易时间?百毫秒至?秒不等??并发?付通道上限=?特币TPSx3600x24x?付通道的平均?命周期/4=3,952,800并发数上限=?付通道上限/每个?付占?的通道数=658,800*?付通道的平均?命周期来源:https://1ml.com/statistics;每个?付占?的通道数根据六度空间理论设置为6。?数据存储小绝?多数数据在链下存储,对于链上的存储压?不??隐私性交易数据不上链,不会暴露隐私更多关于“为什么债权清算模式具有更高的效率”以及“闪电网络目前存在哪些缺陷和新的技术解决方案”,我们将在后续文章中展开。-END-

Blockchair首席开发者质疑闪电网络能够扩展比特币:可锁定大部分闪电网络的流动性来破坏闪电网络:Blockchair首席开发者Nikita Zhavoronkov发布论文《支付通道网络中的堵塞攻击》。论文研究表示,可以通过锁定大部分闪电网络的流动性来破坏闪电网络,而花费仅不到0.5个BTC。攻击者可以用少于0.25 BTC的费用使闪电网络中的830 BTC流动性瘫痪3天。Zhavoronkov质疑是否相信闪电网络能够扩展比特币。[2021/2/19 17:29:40]

闪电网络节点数量已达15276个:金色财经报道,据1ML.com数据,目前,支撑网络的节点数量达到15276个,相较30天前数据,环比上涨2.9%;通道数量为35931,相较30天前数据,环比上涨0.8%;闪电网络承载能力目前为1051.87BTC,约合2622.95万美元。[2020/12/26 16:36:21]

动态 | Square为闪电网络开发人员推出开发套件:金色财经报道,由支付公司Square发起的加密货币计划Square Crypto周二宣布了其首款产品“闪电开发套件”(LDK),以帮助开发人员将闪电网络与他们的比特币钱包应用程序集成。[2020/1/22]

动态 | 闪电网络节点数量持续上升,但通道数量及网络承载能力继续下降:1ML.com数据显示,闪电网络节点数量呈持续上升趋势,然而通道数量及网络承载能力继续下降。目前,支撑网络的节点数量达到8983个,在过去的30天中上涨了3.48%,而通道数量为34400个,在过去的30天中下降了1.1%。闪电网络承载能力目前为939.45个BTC,约合1121.28万美元,在过去的30天中下降了2%[2019/7/8]

Blockstream新推出闪电网络应用程序解决闪电支付的小费问题:Blockstream发布公告宣布推出新应用Nanotip LApp。Nanipip LApp通过创建一个简单的Web服务器,即时编写闪电支付请求,解决了闪电支付小费支付的请求问题。它为每个内容提供商提供了他们自己的的支付机器人(tip-bot),但是这样做的方式可以让这些创作者完全控制消费致富,同时赋予他们比传统比特币支付小费更强的隐私。这是Blockstream推出的第三款闪电网络应用程序。[2018/3/27]

标签:BOBSMCICEALICEBOBC币SMCW币alice币价格My Neighbor Alice

狗狗币最新价格热门资讯
Bitfinex被“断粮”后市场两极分化:有人套现3.4亿美元,也有7亿美元想上车

Odaily星球日报出品文|遂心编辑|卢晓明在法院禁止Bitfinex挪用USDT资金填补自身8.5亿损失后,部分用户的反应是:逃离Bitfinex.

1900/1/1 0:00:00
行情见好 但却有大V不慎“陨落”

文|牛牛Chang来源|PANews《区块链革命:比特币背后的技术如何改变金钱,商业和世界这本书,不少行业人士都曾读过。这本书由AlexTapscott与他父亲合著,AlexTapscott也因此而闻名行业.

1900/1/1 0:00:00
「图灵奇点」将应收账款证券化,区块链协作缩短尽调时间

Odaily星球日报针对网信办首批备案名单进行了系列报道,其中不乏关于供应链金融的场景应用,近日接触到深圳市图灵奇点智能科技有限公司备案的“证券化资产管理系统”也是其中一个.

1900/1/1 0:00:00
2019纽约共识大会 | 新一轮牛市正在开启,SEC等待技术从业者找他们谈谈

Odaily星球日报出品作者|遂心编辑|梁辰2015年至今,Coindesk的纽约共识大会Consensus已经连开五届,吸引了加密货币和区块链世界的主要公司、开发者、创业者和投资者参与,每一年都备受瞩目.

1900/1/1 0:00:00
以太坊开发框架Truffle脱离ConsenSys,与摩根大通等企业级客户合作

Odaily星球日报出品作者|秦晓峰编辑|卢晓明据福布斯消息,以太坊开发框架Truffle近日宣布与AxCore进行合作,二者计划在今年晚些时候为DTCC的贸易信息仓库处理每年价值10万亿美元的交易.

1900/1/1 0:00:00
当稳定币不再稳定,USDT们如何实现自救?

自比特币定价以来,全世界都一同见证它令人兴奋又失落的价格走势,由于比特币等加密货币巨大的波动问题,使得它们无法成为日常支付或交易的等价物,于是稳定币市场逐渐被开发.

1900/1/1 0:00:00