月亮链 月亮链
Ctrl+D收藏月亮链

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

作者:

时间: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-

数据:比特币闪电网络容量达到1060个比特币,较年初增加24%:本周一,比特币闪电网络的容量达到1060个比特币,价值超过1200万美元,较今年年初增加24%,不过仍低于2019年5月初创下的1105个比特币的历史记录。另外,8月份,比特币闪电网络节点数量增加了1,581个节点,增幅达到26%,目前闪电网络总节点数量为逾7600个。(Coindesk)[2020/9/2]

比特币闪电网络节点数达13074个:据1ML数据,当前比特币闪电网络节点数达13074个,过去30天内增加3.99%;通道数量为36159个,过去30天内持平;网络容量达到939.43个BTC,过去30天内持平。[2020/6/5]

动态 | 闪电网络比特币容量一个月下降4%:比特币闪电网络 (Lightning Network) 似乎正去失去它的光彩。截至目前,闪电网络的网络容量为1020枚比特币,价值810万美元。在一个月的时间里,这个数字下降了大约 4%。此外,网络上活跃频道的数量也有类似的下降趋势,活跃频道在一个月内下降了5.4%,大概下降后有36592个频道。在过去24小时内,新节点的数量也下降了15%,目前的新节点数量为17个。此外,分析称,在过去几周,比特币的链上手续费用已经达到了3美元到4美元之间。同时,未确认交易的数量也在不断增加,比特币的内存池规模也在不断扩大。(Ambcrypto)[2019/5/22]

动态 | 比特币持有者现在可以通过闪电网络在亚马逊上消费:据Coindesk消息,比特币消费者现在可以使用闪电网络在亚马逊等电子商务网站上购物。加密支付处理创业公司Moon今天宣布,任何支持闪电的钱包现在也可以通过Moon的浏览器扩展使用。在此之前,大约有250名测试版用户通过将浏览器扩展程序连接到Coinbase等交换帐户,已经使用Moon在电子商务网站上花费加密货币。[2019/4/23]

声音 | Roger Ver:闪电网络削弱了比特币的功能:比特币耶稣Roger Ver在某社交媒体上发文称,闪电网络故意削弱了比特币的功能,并且试图将人们推往充满不确定性的领域。[2018/10/14]

标签:比特币BOBSMCALICE比特币红包BOBA币SMC价格alice币发行量

狗狗币最新价格热门资讯
SEC:那些被SEC起诉的ICO项目,最后有赢了的吗?_FireStarter

作者|秦晓峰编辑|卢晓明出品|Odaily星球日报据Coindesk消息,加拿大即时通讯软件Kik于6月4日被美国证券交易委员会起诉.

1900/1/1 0:00:00
EOS:BM和BB现身电报群直面社区回应彭博报道_区块链的几个大局是真的吗

5月22日,彭博社的一篇文章引发了EOS社区的热议。BB和BM两位Block.One的灵魂人物相继在Twitter和电报群中就此进行回应说明,并直面社区提问.

1900/1/1 0:00:00
比特币:避险情绪升温,机构投资者涌入数币期货市场_速币swftc可以长期持有吗

随着全球贸易不确定性增加、欧洲经济疲软、股市震荡波动,这些负面情绪共同推动了投资者对避险资产的需求,而专业机构们也将这一目标,追踪到了数字货币市场.

1900/1/1 0:00:00
SEC:腾讯投资Kik对战SEC_区块链

腾讯支持的即时通讯类AppKik在2017年8月1CO筹集了1.5亿美元。在那之前几周,SEC就发布指南说1CO可能构成非法证券发行,因此,在SEC去年向加密项目发出的传票中,Kik接到其中一张.

1900/1/1 0:00:00
比特币:每一次的行情异动背后,都是散户与庄家的博弈_okex币交易所

最近一段时间,币圈的繁华大家有目共睹,我手机上的几个币圈资讯软件这两天也是疯狂的给我推送行情异动提醒,让我感觉又到了一年多前的那个疯狂的夜晚.

1900/1/1 0:00:00
加密货币:金融捆绑也许是EOS链上仲裁机制溃败的深层原因_ETH

引言:EOS仲裁机制的失败让人震惊,原本被寄予厚望,仲裁机制的失败让人们重新思考这种机制在加密领域的有效性.

1900/1/1 0:00:00