闪电网络技术总结:面对着纷繁变化的世界,人类永远没有停下寻找解决方案的步伐。双出资通道_拼接Splicing_潜交换Submarine Swaps_Eltoo_瞭望塔_HTLC_原子多路径支付_原子交互_荣格财经_区块链技术_区块链神吐槽
区块链技术资源分享
追寻中本聪先生的脚步

闪电网络技术总结:面对着纷繁变化的世界,人类永远没有停下寻找解决方案的步伐。双出资通道_拼接Splicing_潜交换Submarine Swaps_Eltoo_瞭望塔_HTLC_原子多路径支付_原子交互_荣格财经

当我们总结近几年火速窜红的名词时,「比特币」绝对榜上有名,甚至说比特币排名第二没人敢说第一也不为过。比特币仿佛与流行划上等号,不仅 IT产业、金融业、医疗业甚至是娱乐产业都想搭上这波顺风车。但在这爆炸性成功的背后,也衍生出一些亟待解决的问题。

比特币是由中本聪(Satoshi Nakamoto)于2008年提出,它包含比特币(BTC)数位货币和比特币转帐系统两个部分,并在短短的十年间逐渐改变了传统金融产业的生态。

比特币其本质就是区块链技术的应用,例如当两个互相不认识的人持有比特币,他们就可以透过比特币区块链机制互相转帐给对方,在这过程中不需要依赖传统的第三方(如:银行、中介……等等)进行验证,且交易信息受到哈希加密,从而建立起一套信任制度。

这一完善机制的背后付出的代价可不小,区块链的安全性是由一套共识机制所维护的,网路上各节点的矿工基于工作量证明来互相竞争验证交易(本文不加以探讨),竞争成功的矿工可以把自己挖出的区块加到区块链里并赚取费用,此模式需要消耗矿工大量的运算资源。

在比特币的世界当中区块的大小上限为1MB,按照每笔交易大小为250KB和每十分钟产生一个区块来计算,比特币每秒最多只能处理7笔交易,与VISA每秒可以处里24,000笔交易量相比,简直有天壤之別。

网路拥塞手续费用的上升,比特币的扩容问题也随之浮上台面。比特币的扩容之路:闪电网络未来是什么样的?

闪电网络

闪电网络是一个建立在比特币基础上的分布式网络,通过智能合约功能支持参与者进行比特币主链下的即时交易行为,并且利用区块链特性消除资金托管带给第三方的风险。

闪电网络是基于交易用户的共识而达成的,相当于建立了一个支付通道。当交易双方都想要进行交易时,会先建立一个支付通道,在开通支付通道时双方各抵押一定数量的比特币,在抵押金额范围内,双方可以相互支付,每次支付交易均由付款方私钥签名,所有支付完成后,这些签名的交易汇集记入主链完成结算。在此期间,任何一方出现作弊的行为,都会失去其抵押的比特币。

在双人支付通道的基础上,闪电网络还能够实现支付通道之间的路由(传递)。比如A与B建立了支付通道,B与C建立了支付通道,此时,A与C之间没有支付通道也能实现支付,A先支付给B,B再支付给C,这时B就起到了路由的作用。

如此一来,主链上运算处理的信息将会大大减少,不仅如此,支付通道还可以自由连通,形成支付通道的网络,这样就解决了交易追踪的问题。由于链上交易的数据被降至极低,因此交易的速度就可以像“闪电”一样快,这也是闪电网络名字的由来。

双出资通道

闪电网络由一系列的支付通道组成。支付通道存在于两两用户之间,允许资金在他们之间被来回发送。

但是在现在这样的早期发展阶段,支付通道只能由双方中的一方提供资金。出资方必须先向另一方发起交易(打开通道);只有这样另一方才能在同一支付通道(已打开的通道)中返回款项。

闪电网络白皮书提出了“双出资通道”(Dual-Funded Channels),Eclair母公司ACINQ现也提出了相关规范提案。

顾名思义,双出资通道可以让用户双方各自发送比特币到闪电网络通道上抵押、合资开通通道。这将使得闪电网络的应用变得更加灵活,用户随后可以在已开启的通道上实现即时支付。

潜交换

为了实现闪电支付,用户必须预先将资金存入闪电网络通道中。一旦资金存入通道,这些资金就不能被发送到常规(链上)比特币地址上(除非该频道一开始就被关闭了)。

这意味着闪电网络通道中的比特币与普通钱包中的比特币是不同的,就像支票账户中的资金与储蓄账户中的资金也是不同的。

现在有一些解决方案使得用户可以在闪电网络与链上间无缝切换交易。

一种解决方案是“潜交换”(Submarine Swaps)。这是由Alex Bosworth开发的(由Lightning Labs首席技术官Olaoluwa Osuntokun所构思的),潜交换允许用户向闪电网络中的中间商发送通道中的比特币;而该中间商会将相应数量的比特币发送到常规(链上)比特币地址上。

反过来也可以:用户可以定期在链上支付给中间商比特币;然后该中间人将相应数量的比特币发送到闪电网络上的接收节点上。

重要的是,这在潜交换中是“自动完成的”。使用已经嵌入在闪电网络中的方法,闪电支付和链上支付可以被有效地相互关联起来。这使得中间商无法通过不付款来窃取资金。(而通过与用户达成协议,反而可以收取少量服务费。)

拼接

另一种更无缝的闪电网络交易解决方案称为“拼接”(Splicing)。实质上,拼接可以让用户在现有的闪电通道中“充值”资金,或者从通道中“取出”资金,同时保持通道畅通。

这个想法很简单。任何闪电通道都始于开放交易,这就确保了用户双方都同意在通道中转移资金。闪电网络通道其余部分由用户间的一系列后续交易组成,这些交易通常不会被传播到比特币主网上。在通道关闭之前,通道中的交易资金是不会被转移的。

当使用“拼接”(splicing in)时,用户可以采用开放交易(opening transaction),代替将资金发到新的包含更多比特币的替换开放交易上。

一旦该新交易在区块链被上确认,通道就会被充满。在确认新的开放交易之前,用户双方都可以同时更新旧通道和新通道,以避免出现“通道故障”。

而当使用“剪切”(splicing out)时,用户可以使用开放交易将资金发送到常规(链上)地址上,并可以使用相同的方法将其中的一部分保留在通道中。通过这种方式,用户可以在闪电网络通道上进行链上交易。

Eltoo

每次进行新的付款时,用户之间的闪电通道都会更新以反映它们的总余额。目前用来实现这一目标的方法包括惩罚试图广播旧余额的用户(可能是因为旧的余额会使他们拥有更多的钱)。欺诈用户可能会失去他们通道中所有的资金。

问题在于广播旧余额并不总是因为人们想尝试作弊。很多情况下(例如,由于软件错误或备份出错),用户可能会意外地广播旧的余额。在这种情况下,通道资金的彻底丢失对他们来说是一项相当重的惩罚。

如果用户广播了较旧的交易(代表较旧的通道余额),则她的交易对手就有一些时间来广播最新的交易(代表最新的通道余额)。

像这样的解决方案目前可能奏效,但在故障的情况下则是不实际的。这需要将整个交易链广播并记录在比特币区块链中,或多或少地地使闪电网络的目的变得不明确。

因此,Decker提出了对比特币协议进行软分叉,以在这些类型的交易中引入一种层次结构:任何较新的交易都可以覆盖任何较旧的交易,而不要求广播整条链中的所有交易。

如果这个软叉在比特币网络上被采用激活,闪电网络用户就可以根据他们的喜好创建闪电通道。(像现在这样或者使用eltoo,取决于他们喜欢用什么)

瞭望塔

为避免被欺骗,闪电网络用户必须跟踪可能与其相关的潜在链上交易。虽然紧凑型客户端区块过滤会让这件事变得更简单,但用户确实需要偶尔“检查”一下,以确保他们没有被骗。如果他们忘记检查,则会产生安全风险。

“瞭望塔”(Watchtowers)是一种可能的解决方案,这可以追溯到闪电网络的白皮书,它由闪电网络白皮书合著者和lit开发者Tadge Dryja等人开发。顾名思义,瞭望塔技术可以让用户将监控区块链这一任务外包给第三方。

目前的瞭望塔技术在设计上并非一成不变,但大致是这样工作的。无论用户何时更新通道,都会发送一个小数据包到瞭望塔。这个数据包的第一部分是用户应注意的交易“提示”(hint),这个提示本身并没有透露任何交易内容;用户也因此不会泄露隐私。

但是,如果相关交易出现在比特币区块链中,瞭望塔可以使用该提示来识别它。然后通过区块链本身的交易数据,瞭望塔可以使用他们收到的数据包的第二部分重新构建交易惩罚。

该交易惩罚会将通道中的所有资金发送给被骗的用户(或以eltoo为例,它只广播正确的通道余额)。交易惩罚也可以设计为让瞭望塔宣布将部分资金作为激励其工作的奖励。

用户可以将通道监控的任务外包给多个瞭望塔。这样即使一个瞭望塔出故障了,另一个也没事,从而将闪电网络的使用风险限制在可以忽略不计的程度。

原子多路径支付

使闪电网络成为一个网络的原因是用户之间的支付通道是相互关联的。用户可以通过闪电网络中的中间商进行跨通道支付。

但是,现在单次支付的路由也只能是单向的。如果一个用户想要支付5mBTC给另一个用户,那么他不仅必须在单通道上有5mBTC,而且该路由上的所有中间商还必须在通道中准备好5mBTC才能转发。支付额越大,出现这种情况的可能性就越小。

原子多路径支付(Atomic Multi-Path Payments)可以很好地解决这一问题。这一技术最初由Lightning Labs的Osuntokun和Conner Fromknecht提出,想法也很简单:大额付款可以被“分割”成小部分,这些小部分再通过不同的中间商从付款人转移到收款人手里。

这一解决方案面临的挑战是,闪电支付可能会失败,在这种情况下意味着只完成了部分支付。然而,部分支付很容易引起一个比不支付更大的问题:商家对部分支付不满意,而客户也不乐意花钱购买任何东西。

解决这个问题的方法是原子多路径支付,它使用了哈希时间锁定合约(hash time-locked contracts)进行扩展,这些合约已经被闪电网络路由所使用,且通过网络传输加密数据。

使用的是类似于HD钱包(deterministic wallets)所使用的方法(从单一种子生成多个比特币地址),部分支付只能由收款人进行兑换,但如果某些加密数据不通过整个路由,那么就会支付失败。

原子交换

闪电网络被设计为比特币的扩容层。但是由于许多竞争币是比特币的分叉,因此为这些竞争币创建类似的扩容层并不困难。小型的莱特币闪电网络已经出现了,未来可能还会出现更多的闪电网络。

有趣的是,在未来这些闪电网络之间并没有被隔离。

使用被称为“原子交换”(Atomic Swaps)的闪电网络基本构件(首先由Tier Nolan提出,由Lightning Labs的Fromknecht在闪电网络上实现),闪电网络的支付通道就可以跨区块链而相连。

换句话说,用户可以用比特币进行跨币种支付,只要网络上有一个节点愿意进行交换,交换后另一个用户就可以收到等值的莱特币。

当然,这也意味着用户可以自己进行这样的交换:他们可以给节点发出比特币而收到莱特币。实际上,闪电网络可以建立一个无需信任的加密货币交换网络。

HTLC

简单来说就是限时转帐,双方约定转帐方先冻结一笔交易,并给出一个凑值,只要用户能给出与之匹配的值,即代表拥有转帐方授权并能最终完成提现。

如下图示:

HTLC闪电网络

今天Alice想要转一笔钱给Dave,Alice不需要直接与Dave开启通道,可以通过中间人Bob,首先Dave 先把暗号R进行哈希加密得出H并把H告诉给Alice,此时Alice先与Bob签订合同,规定在一定时间内只要Bob持有R的时候就可以获得这笔钱,所以Bob必须与Dave签订合同得到R,然后Dave就得到Bob的钱而Bob又得到Alice的钱,结果相当于Alice转帐给Dave。

集成这两套机制后,任意两人交易皆可在链下完成,当两个或两个以上的支付通道共同组成一个网络时,闪电网络的力量就会被释放出来,交易将会如闪电般发生。

亿万富翁比特币投资者蒂姆·德雷珀(Tim Draper)非常看好闪电网络,他表示:“两年后,世界将会用比特币购买咖啡,而我不打算卖掉一个币,随着闪电网络开始渗透到整个系统,它将使我们更容易使用我们的手机”。

埃里克·芬曼(Erik Finman)则是一位靠比特币发财的百万富翁,他最近在推特上怒斥闪电网络及其功能。他说:“闪电网络并不是完全去中心化的,这在理论上击败了加密货币和去中心化方法背后的整个哲学”。


他解释说:“闪电网络实际上正在把世界上最大的加密货币转变成一个像Visa和万事达这样的国际中心化支付网络,然而中本聪在创建比特币时想要根除的就是像Visa和万事达卡这样的公司”。

事实上,不看好闪电网络的人也非常多,除了理念外,技术上不看好的理由可以概括为以下几点:

  1. 必须在线支付,不能有任何一方掉线。A和B进行交易,如果A掉线了,就无法签名确认分配方案,交易失败。
  2. 不适合大额支付,假如支付路径是A-C-B(A通过C转账给B,AB之间无支付通道),A希望给B转2个BTC,但是节点C只有1个BTC,那么转账就无法进行。
  3. 安全问题过于依赖闪电网络节点,假如A和B之间需要有C作为节点才能交易,如果C崩溃了,那么交易就无法进行下去了。

闪电网络不仅在技术上不成熟,商业逻辑上也并非完美无缺,将闪电网络作为常规支付通道将导致流动性损失、利息损失、大节点激励不足、单向支付充值成本高、交易匹配困难、动态路由瓶颈和用户门槛高等问题,这些问题足以令任何一个商业产品在竞争市场上夭折,这也是很多人不看好闪电网络的原因。

面对着纷繁变化的世界,人类永远没有停下寻找解决方案的步伐。


本文作者:可大宝

编辑:可大宝

PC端搜索“www.jungmedia.cn”(荣格财经官网地址)可收获更多内容。

微信号:JungMedia
功能介绍:全球全时区全形态区块链媒体,以新知,普惠为使命,为人们推开新世界大门。

分享到:更多 ()
区块链神吐槽

来评论吐槽 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

区块链资源分享

韭菜的自我进化