【区块链学习笔记】之闪电网络三部曲2:搞掂雷电网络
在上期关于闪电网络的文章中,彼得给大家介绍了闪电网络是什么、为什么需要它等知识(可参考:https://bihu.com/article/336033),今天彼得将给大家分享【闪电网络】三部曲3,雷电网络。
了解区块链的朋友应该知道,目前区块链存在可扩展性差、延迟、交易费贵等问题。比如:
1.交易速度慢
以太坊的处理能力约10笔/秒,出块速度为15到30秒/块,为达到交易的最终结果,必须要忍受几分钟的确认时间;
2.拥堵
一个加密猫的小游戏就可以将以太坊整个网络堵死;
3.交易费用巨贵
当以太坊中的交易排列非常多的时候,“供求关系”发生变化,大家为了尽快完成交易,不断的提高交易费(矿工费),而矿工出于自身利益考虑,自然会选择出价高的交易优先打包,如此,为了更快的将交易打包记录,所有的人都不断的调高交易费,这样就形成了恶性竞争,从而不断的推高交易费。这就是为什么当爱惜偶多的时候,以太坊转账缓慢且矿工费巨贵的原因。
等等等等
这些问题的存在表明以太坊完全不能支撑未来主流社会接受以太坊后的流量,将极大地降低了用户体验并阻止了主流社会来接纳这个技术。
针对这种情况,以太坊社区提出的解决方案主要有两个:分片技术和雷电网络,今天彼得就带大家了解雷电网络相关的知识。
雷电网络是个啥
雷电网络就是在以太版的“闪电网络”。在区块链技术快速发展的今天,虽然许多人对比特币的臃肿和缓慢等有诸多诟病,但我们必须承认,比特币社区仍然为区块链技术贡献着重要的思想。以太坊社区通过借鉴、发展闪电网络的思路(将交易和智能合约的执行放在链下执行,仅在必要的时候才将其在链上公开并执行),提出了自己的链下扩容解决方案:雷电网络(Raiden Network)。其关键技术与闪电网络一致,包括RSMC、HTLC等。
雷电网络的基本理念是,在以太坊之外建立一条“绿色支付通道”,将用户的交易和智能合约放在链外执行,只有在交易完成后且必要的时候,再仅将交易的结果在以太坊链上并公示处理。
雷电网络主要的优势:
1.可扩展
区块链不管有多少用户,母亲其容量都是有限制的,而雷电网络的容量却是随着用户数的扩张而线性扩展,也就是说参与者越多,雷电网络处理转账能力越高(可以实现每秒1000000+笔转账);
2.速度更快
雷电网络的转账可以像微信/支付宝一样快速发送、接受、确认交易。某种意义上,只要你收到链外雷电的转账,基本上可以确认完全属于你。而区块链主链的交易确认依赖于区块的时间以及矿工把你交易从等待交易中捡起需要花费的时间。
3.隐私保护
雷电网络中,双方可通过支付通道在链下进行无限制次数的转账,只要当需要时,才在主链上,对双方的账户余额变化信息进行记录,而这期间不管发生多少次交易在主链上是不会有记录的;
4.更低的费用
代币在以太坊上进行转账,需要消耗Gas,支付矿工费。这对于高频次、价值不高的代币转账来讲,矿工费会显得过于高昂,但是现在通过雷电网络把交易搬到链下,只需要少量的“过路费”(用于节点的参与)就看,从量级上看,雷电网络上的交易费用比区块链上的交易费用少7个数量级;
5.可进行微支付
那么,更低的交易费用则意味着雷电网络可以有效地进行微支付。这是雷电网络最具想象的前景之一。
雷电网络的运行机制
1.余额证明
Alic和Bob 在建立支付通道之前,首先通过使用数字签名和哈希锁定传输方式将在主链的资产进行抵押(冻结),生成余额证明(Balance Proof),这样做的目的是表明你拥有多少可交易的资金。今后任何交易的前提条件是,其总额不能超过主链上冻结的资产总额。
(图片来自网络)
在上图中,可以看到两个交易参与者,一个是A,一个是B。所谓的余额证明,就是说,A和B需要把主链上的代币资产进行抵押锁定,最终产生余额证明。比如A拥有1000个PPT和2000个REP,B拥有各1000个PAY、GNT、SALT、POWR、KNC,在链外交易转账之前,两者的这些代币都被抵押冻结当作余额证明。如果产生不了余额,就无法进行余额转账。余额证明是由以太坊区块链执行的有约束力的协议。通过数字签名,确保交易双方不能随意退出价值转移。另外,由于链外的交易中,只有交易双方才能访问存在支付通道的智能合约中代币,这意味着雷电网络余额证明跟主链交易一样具有约束力。
一旦主链代币余额被冻结,交易双方产生余额证明,双方可立即通过支付通道进行链外转账交易,且不受次数限制。当双方完成交易,可以把资产转回主链,并在主链上进行登记余额变化,不过链外的交易不会留下记录,也就是说,交易了多少次,交易的数量等信息,都不会向全网广播,对于有隐私需求的用户来说,也是一大利好。在Alic和Bob均持有余额证明的情况下,双方可通过支付通道在链下进行无限制次数的转账。
仅有在完成链下交易,需要将资产转回链上时,才会在以太坊主链上登记主链账户的余额变化信息,而这期间不管发生多少次交易在主链上是不会有记录的。这个特点也可以实现一定程度上的隐私保护。
2.支付通道网络
支付通道的创建和结算必须在区块链上执行。雷电网络希望让大量的用户参与进来,这样则可以形成点对点的、密布的交易网络。而每个参与者通过该支付通道网络都能彼此连接。如果通过连接双方的通道网络至少存在一条路由,付款人和收款人间不一定需要直接的支付通道来解决交易。这个网络和它所关联的路由及通道互锁传输协议被称雷电网络。这是雷电网络技术最有价值的部分。
下图简单解释了通过中介来建立支付通道的交易解决方案示意图:
(图片来自网络)
如果A要转账给B,A和B有直接的支付通道,但是如果A要转账给D,A和D之间并没有支付通道。怎么办?雷电网络会匹配网络中的参与者方,试图找到中介来完成支付通道的建立,那么,图中B和E会充当中介,最终建立支付通道,实现A和D之间的转账交易。 如果A要转账给C,而当A和C之间没有支付通道时,雷电网络会自动匹配网络中的参与者,试图在A和C之间找到一个中介来完成支付通道的建立,显然,B就是A与C之间交易需要的中间点。
同样道理,当A需要转账给D时,B、E会作为中介来完成支付通道的建立。
雷电网络的前景
1.雷电网络作为一个独立的区块链项目,已经上市交易,在上市当日涨幅就达到5倍左右,可见大家对它的期待。
2.闪电网络和雷电网络最基本的作用是解决区块链交易速度的问题。试想,你逛街时买点零食、喝杯咖啡,而付费时却要等待十几秒才能确认是否到账(这是不是会让你抓狂),那么和秒到的支付宝和微信支付对比,区块链技术理念再好,也能有大的作为,因为等待十几秒的体验对于今天的人类来说,绝对是无法接受的。
3.万物互联绝对是雷电网络最具想象力的应用。可以想见,在未来,机器之间的交易需求量一定是会暴涨,想象下,你家的电冰箱直接和超市进行交易(在你授权范围内购买你需要的日常用品),你的汽车之间和加油机直接进行交易(支付加油费),你的机器人可以像现在挖矿设备一样为你自动赚钱(而赚取的就是数字资产)……。大家可以想象到,这将是个多么庞大的交易网络,而若没有速度、费用、安全、隐私等方面的保证,这一切都是空谈。总之,雷电网络有望成为微支付领域重要的基础设施之一。
雷电网络目前面临的问题
大家知道,任何事物都是螺旋发展的,任何技术也都不是完美的,雷电网络也存在着如下问题:
1.为了确保交易的可靠性、安全性,避免欺诈,雷电网络引入了余额证明的机制,即在使用雷电网络时需要将主链上的资产作抵押(保证金制),而这部分资产作为抵押物会被智能合约锁定,在完成链下交易之前,交易双方是不能使用的。就好比你在银行取点零钱,而银行因此就要冻结你整个存款一样,可想象的到,你肯定是不愿意的。这也是为什么雷电网络只适用于高频次、小额交易,而不适合大额交易的原因。
2.雷电网络的特点是,使用者越多,存在的支付通道越多,转账确认的速度就会越快。假如它能够在全球范围内普及,织成一张密密麻麻的P2P支付网络,那么,到那时整个网络的交易速度速度和吞吐量可以满足大部分应用场景的需要。
但是雷电网络建立初期,支付通道会非常少,这就需要有人主动多建立中介点,才能让整个网络有实用价值。
另外,雷电网络在技术上也存在问题,主要有两个:
1.中介离线问题。离线造成中介转账的路径不能顺畅地搭建,也造成了通道关闭和中介转账中,离线节点代币损失的风险。 尤其是当节点有多个通道,面临无法预知的通道关闭时间,无法保持实时在线,解决离线风险是很有必要的。
2.路径查找问题。在庞大的点对点雷电网络中,如何快速找的找到一条最短、最高效的中介转账路径,在目的技术上仍是一个难点。
彼得的公众号:sf-btc