http://www.7klian.com

小岛美奈子:给初学者的闪电网络入门指南

最后提一下,「For every complex problem there is an answer that is clear, simple, and wrong.」

此刻我们思量大概呈现的作弊环境。

下面我们来用 RSMC 来重现上面的例子。这个是白皮书内里有一幅图,

可是这个微付出通道间隔我们的闪电网络,尚有许多间隔。微付出通道的缺点:它是单向的,只能用来 A 给 B 转账。nLockTime 的限制。当有一方跑路了,另一方都要等 nLockTime 解锁才气赎回本身的钱。

这个进程很像古代征战两边互换战俘,详细细节可拜见比特币闪电网络白皮书和比特币闪电网络实现类型 BOLT (博尔特)。https://github.com/lightningnetwork/lightning-rfc/blob/master/00-introduction.md

我们回首比特币,扩容这个问题,增大区块大概就是谁人 「clear and simple」 的办理方案。闪电网络选择了走断绝见证,是一种短期看激进,恒久看管旧的计策。其目标就是追求比特币作为 Layer 1 层的不变。把所有扩展的尽力都拜托在 Layer 2 的实现上。

最后阶段四,两边把生意业务广播,此时 Sequence = 0,两边都拿到了本身钱。

2.The Lightning Network: How to install and (hopefully) make money

最后推荐一些先容闪电网络的文章

1.闪电网络「增长」迅猛,比特币正式迈入「付出钱币」2.0 时代

直观相识闪电网络的最好要领,其一是下载和利用支持闪电网络的钱包,譬喻 bluewallet,其二是查察闪电网络欣赏器 https://1ml.com,之所以叫 1ml,也是社区但愿有一天闪电网络可以承载 1million btc 付出本领的上限。

要领略闪电网络,首先要讲授 BTC Transaction 内里的 2 个要害字段:nLockTime 与 sequence numbe。nLockTime 暗示生意业务是否会被积存;当默认 nLockTime=0 时,代表这笔生意业务不会积存,节点在收到这笔生意业务之后,,当即会进入 Memory Pool,举办打包。当 nLockTime > 0 时,这笔生意业务会被节点临时 Hold,不会被矿工打包。

今朝成立了双向的流式付出通道,可是要形成网络,还需要许多许多人插手这些通道,而最终所有的通道会接洽在一起,形成一张 Mesh Network。雷同格点网络,使得任意一笔生意业务,都可以颠末若干通道,到达最终的方针。

有了这个常识之后,下面就可以来看比特币内里的微付出通道。在比特币闪电网络白皮书中引用了这么一句话:If a tree falls in the forest and no one is around to hear it, does it make a sound? 「假如一棵树落在丛林里,周围没有人听到它,它会发作声音吗?」

A 不是 1 次性把 100 元给 B,而是每寓目一分钟,给 B 付出 1 元。此刻看一下,微付出通道如何办理这个问题:

阶段一,用户 A 提倡 1 笔生意业务,把 100 元打到 1 个民众账号上面,这个民众账号同时需要 A 和 B 的签名,也就是我们常说的多重签名(Multisig)。这笔钱需要 A,B 同时出具私钥,才气把钱取出来。这笔生意业务叫做担保金生意业务(Funding Transaction)。

回到闪电网络。我们看看,微付出通道是如何做到 off chain 生意业务的。适才我们提到了 nLockTime 和 Sequence number 要实现微付出通道,就必需借助这两个属性。

这就是我们哲学上说的,唯心主义的概念。中国也有心外无物,心外无理的说法。

nLockTime 是 Transaction 级此外,而 Sequence Number 是 Input 级此外,粒度更细。道理和 nLockTime 雷同,Sequence Number 的浸染也是把生意业务 Hold 在那,比及该 Input 所引用的生意业务地址的 Block,其后头跟从了 Sequence Number 个区块之后,该生意业务才气被打包,被广播进区块链网络。

问题 2: 以流式付出为例,A 开始是提倡 1 笔 100 块钱的生意业务,1 分钟后 update,这个进程 A 把私钥汇报 B,让 B 通过私钥取 1 块钱吗?钱从民众账户流向 B 是通过合约执行吗?

阶段二,用户 A 同时提倡 1 笔退款生意业务(Refund Transaction)。输入就是上面的那笔,可是这笔生意业务的 nLockTime 为一个 > 0 的值,所以不会当即生效。详细怎么做呢? 用户 A 先把这笔生意业务发给 B,B 用本身的私钥举办签名返回给 A,A 把这个 Refund Transaction 攥在手上,这笔生意业务其实是 A 的一个保底法子,担保前面的 100 元不会永远拿不返来。

微付出通道成立进程,我来举一个例子。好比我在看一段影戏,这个影戏凭据我寓目标时间每分钟收取必然用度。A 是客户,B 是影戏提供商,B 需要把 1 段视频播放给 A,整集的价值是 100 元。

个中第二篇教你怎么本身成立一个闪电网络的付出通道。最后要想体验闪电网络,可以下载安装一些支持闪电网络的钱包。

两者都是关于时间的,但有 1 个很大不同:nLockTime :绝对时间,用的是整个区块链的长度或时间戳来表达的。sequence number: 相对时间,当前生意业务所引用的 UTXO 地址的块,后头追加了几多个块。

下面我们先容的闪电网络就是办理微付出通道的问题。这就要先容闪电网络白皮书内里的另一个焦点观念:RSMC,全称 Revocable Sequence Maturity Contract。中文翻译「可取消序列成熟度合约」。

阶段一,和微付出通道一样,生成一笔担保金生意业务(Funding Transaction)。不外这次是,参加的两边都拿出一部门本金放到民众账户。

闪电网络落地的场景是微付出和流式付出,要进修和开拓闪电网络,有两个很是好的处所:第一个就是闪电网络的白皮书,第二个就是 https://github.com/bcongdon/awesome-lightning-network,这里收集了所有和闪电网络相关的开源 repo,包罗闪电网络的五种 protocol 实现,尚有若干闪电网络的开源钱包,我们可以看到闪电网络社区长短常开放和繁荣的。

我这里推荐 BlueWallet 值得一提的是,这些钱包也是开源的,各人可以应用这些钱包,构建本身的处事,以及设计 Lapp。

问答环节

问题 1: 今朝闪电网络的付出本领怎么样?

浸染在比特币的世界,假如我们一桌人在打麻将,我们常常一晚上下来大概会相互之间先记账。最后回家的时候在一起结算。因为这笔生意业务只在小范畴内举办着,所以其实没有须要让所有人都知道,这样其实只要参加生意业务的两边可以或许告竣共鸣。

答:留意,每次更新状态,城市建设一组新的民众账户,这里的私钥指的是这个新的民众账户的零时私钥。这个进程是通过参加生意业务的两边,都对这个新的民众账户举办签名到达的。

这个 Update Tx 有个特点,就是每次更新,nLockTime 是单调递减的。所以一旦 B 举办广播,就能拿到最新的一次更新。这样微付出通道就被成立了。

所有的闪电网络 protocol 的实现,以及钱包,都是兼容这份类型的。

环境 2,A 跑路,B 播放了视频,可是 A 取消了已经付的钱。

环境 1,B 跑路,视频基础没有播放完,A 的钱会不会永远锁死在民众账号内里?

下面我团结白皮书,讲授闪电网络的详细实现。关于闪电网络的白皮书,可以在闪电网络尝试室的官方网站上找到。链接如下:https://lightning.network/lightning-network-paper.pdf

有一部影戏,叫做《六度空间》,说的是现实世界中,你和任何生疏人之间,最多只有不高出 6 个熟人干系,说明通过形成许多付出通道,来成立复杂的付出网络是大概的,这就是闪电 「网络」。

阶段三:两边开始不绝 Update Transaction。重点来了,一旦有一方间断生意业务,对方可以当即拿回本身的钱,而另一方,则要期待 Sequence Maturity 之后才可以拿回本身的一部门钱。换句话说,违约的一方被处罚了。

阶段四,整个播放进程完成,民众账号里的所有资金都流向 B。两边确认最后的生意业务,广播到网络上,生意业务完成。我们看到,整个进程,只有一头一尾两次生意业务被广播到了比特币网络上。其他步调都是在 A、B 两边之间告竣共鸣的。

先看环境 1,我们前面提到在阶段二的时候,A 提倡 1 笔退款生意业务(Refund Transaction)。假如 B 跑路,就直接把这个广播出去,固然会有必然延时,但最终不会有损失。

需要留意到,当个中一方拿回钱的时候,这笔钱并没有直接打回本身的账户里。而是到达了一个新发生的民众账户。而在每次 Update Transaction 的时候,两边城市把上一轮本身发生的民众账户的私钥发送给对方,相当于两边不绝的互换把柄,让生意业务得以一连。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!