什么是比特币的闪电网络?

闪电网络网友2017-11-20 15:20:25  阅读 -评论 0

闪电网络(Lightning Network)是一个去中心化的系统。闪电网络的卓越之处在于,无需信任对方以及第三方即可实现实时的、海量的交易网络。

闪电网络起源于比特币的扩容问题,详见:比特币扩容为什么选择2MB?

闪电网络是基于微支付通道演进而来,创造性的设计出了两种类型的交易合约:序列到期可撤销合约RSMC(Revocable Sequence Maturity Contract,哈希时间锁定合约HTLC(Hashed Timelock Contract)。

RSMC解决了通道中币单向流动问题,HTLC解决了币跨节点传递的问题。这两个类型的交易组合构成了闪电网络。

RSMC 创建

我们先来创建一个序列到期可撤销合约(RSMC),爱丽丝和鲍伯是合作方,经常有比特币往来,所以他们决定各拿出0.5BTC放入通道中,便于业务往来。

解释一下下方RSMC交易的结构(图X),左侧为爱丽丝的视角,右侧为鲍伯的视角。中间Funding Tx为共同可见,C1a和RD1a为爱丽丝持有,C1b和RD1b为鲍伯持有。交易图中带有尖括号的签名表示待填入。

RSMC交易的结构图

1、双方各拿出0.5BTC,构建Funding Tx,输出为爱丽丝和鲍伯的2/2多重签名。此时, Funding Tx未签名,更不广播。
2、爱丽丝构造Commitment Tx:C1a和RD1a,并交给鲍伯签名。C1a的第一个输出为多重签名地址,爱丽丝的另一把私钥爱丽丝2和鲍伯的2/2多重签名,第二个输出为鲍伯 0.5BTC。
3、RD1a为C1a第一个输出的花费交易,输出给爱丽丝0.5BTC,但此类型交易带有sequence,作用是阻止当前交易进块,只有前向交易有sequence个确认时才能进块。
4、鲍伯构造Commitment Tx:C1b和RD1b,并交给爱丽丝签名。结构与C1a、RD1a是对称关系。
5、鲍伯对C1a和RD1a进行签名,并将签名给爱丽丝;同理,爱丽丝对C1b和RD1b签名,完成后给鲍伯。此时,由于并未对Funding Tx进行签名,任何一方均无法作恶,任何一方也不会有任何损失。
6、双方均完成对commitment Tx的签名并交换后,各自再对Funding Tx进行签名,并交换。此时,Funding Tx是完整的交易,广播之。

上述过程以及结构图的描述,就是创建RSMC的全部过程。

C1a, C1b两笔交易花费的是同一个输出,故他们两个交易只有一个能进块。若爱丽丝广播C1a,则鲍伯立即拿到0.5BTC(C1a的第二个输出),而爱丽丝需要等C1a得到1000个确认,才能通过RD1a的输出拿到0.5BTC。另一方,若鲍伯广播C1b,则爱丽丝立即拿到0.5BTC,鲍伯等待C1b得到1000个确认,才能通过RD1b拿到0.5BTC。也就是说,单方广播交易终止合约的那一方会延迟拿到币,而另一放则立即拿币。

交易更新

爱丽丝和鲍伯各自0.5BTC的余额,此时爱丽丝从鲍伯处购买了一件商品,价格为0.1BTC,那么余额应该变为爱丽丝 0.4BTC,鲍伯 0.6BTC。于是创建新的Commitment Tx,对于爱丽丝来说是C2a 和RD2a,对于鲍伯来说是C2b和RD2b,过程与上面类似。

交易更新时的交易结构

此时两个状态均是有效的,那么最核心的问题来了,如何才能彻底废弃掉C1a和C1b呢?
RSMC采用了一个非常巧妙的方法,在C1a的第一个输出中,采用了爱丽丝2和鲍伯的多重签名,爱丽丝将爱丽丝2 的私钥交给鲍伯,即表示爱丽丝放弃C1a,承认C2a。

交易更新时的多重签名

爱丽丝交出爱丽丝2的私钥给鲍伯,那么鲍伯就可以修改RD1a的输出给他自己,形成新的交易BR1a。若爱丽丝破坏合约存在C2a的情况下依然广播出C1a,那么爱丽丝的惩罚就是失去她全部的币。爱丽丝交出爱丽丝2的私钥,或者对交易BR1a进行签名,两者是等同的,都是对C1a的放弃。

反之亦然,鲍伯交出鲍伯2的私钥给爱丽丝即意味放弃C1b,而仅能认可C2b。

引入sequence的目的是,阻止后续交易进块(RD1a),给出一个实施惩罚窗口期,当发现对方破坏合约时,可以有1000个块确认的时间去实施惩罚交易,即广播BR1a代替RD1a。若错过

1000个块时间窗口,则无法再实施惩罚了(RD1a进块了)。

交易关闭

关闭RSMC,直接按照最终的余额构造出一个Commitment TX即可,例如输出为爱丽丝0.1BTC,鲍伯0.9BTC,无需再设置多重签名,构造惩罚交易等。

中转交易

爱丽丝想要支付0.5BTC给鲍勃,但她并没有一个渠道来和他进行交易。幸运的是,她和查理有一个交易渠道,而查理正好和鲍勃有一个交易渠道。这样爱丽丝就能借助查理的交易渠道,通过哈希时间锁定合约(HTLC)来和鲍勃进行交易了。

中转交易示意图

为了完成这次交易,爱丽丝就会给鲍勃发短信说:"嘿!我要给你付笔款。"这时鲍勃自己将收到一个随机数字(R),接着鲍勃便会回一个被哈希的数字(H)(你可以认为被哈希的数字R是随机数字的一种加密形式)给爱丽丝。然后爱丽丝的钱包紧接着就会联系查理说:"嘿,查理。如果你给我生成(H)的未加密值(R),那么我就同意更新我们渠道的支付分配,这样你就可以得到的就会比0.5BTC多一点,我得的比0.5少一点。"尽管查理并不知道R,但他也会同意。之后查理便会去找鲍勃说:"嘿,鲍勃。如果你给我那个能生成H的未加密的值R,我将同意更新我们渠道的支付分配,这样你就可以得到的会比0.5BTC多一点,我得到的比0.5少一点。"

因为R就是从鲍勃这里生成的,所以他肯定知道。接着他马上将R告诉查理,并更新了其渠道的支付分配。然后查理将R告诉给了爱丽丝之后也更新他们的渠道,最后交易完成,爱丽丝以脱链的形式付给鲍勃0.5BTC。

总结

RSMC通过巧妙的设置Commitment TX的多重签名输出,以及sequence的延迟进块形成惩罚窗口期,解决了在微支付通道中的币单向流动问题。

声明:链世界登载此文仅出于分享区块链知识,并不意味着赞同其观点或证实其描述。文章内容仅供参考,不构成投资建议。投资者据此操作,风险自担。此文如侵犯到您的合法权益,请联系我们100@7234.cn

    参与讨论 (0 人参与讨论)

    相关推荐

    区块链投资趋势报告:巨头入场布局行业趋于成熟

    区块链投资趋势报告:巨头入场布局行业趋于成熟

    来自:https://mp.weixin.qq.com/s?__biz=MzI4NzIxOTY1NA==&mid=2650632639&idx=1&sn=e6d1c29731d992a80410aaee82ec3ea6&chksm=f3d8db16c4af520097e4a64a71b1d4743ac326b9f027

    重新发明货币

    重新发明货币

    一、货币的演化过程 先简单回顾一下人类货币的演化过程,大概有以下阶段: a. 1.0版本:自然货币(贝壳、牲口、金银……) 这个阶段,货币基于一般等价物的稀有性或者实用性,货币不可能出现人为操纵的超发。 b. 2.0版本:早期纸币、银票到本位纸币 当贸易量越来越大,实物货币太不方便了,而且大家发现其实并不在意货币本身有什么价值,在意的只是这么多的货币能不能交换到足够的物品,于是纸币这种信用货

    从比特币交易看欧洲央行虚拟货币分类

    从比特币交易看欧洲央行虚拟货币分类

      互联网对传统社会的颠覆从未停止,在其完成对信息流、商流、物流、资金流的初步改造之后,或将以虚拟货币的形式打破现有货币体系   4月18日,在中国极客张沈鹏创办的比特币交易平台(42BTC.com)上,比特币对人民币的平均交易价为576元。当天,该平台完成了100个比特币的交易量。仅仅过去一周,4月25日上午,比特币对人民币的平均交易价已达到906元。据42BTC网站统计:在过去的32个月

    欧洲央行-比特币报告

    3.1 比特币 3.1.1 基本特征          比特币可能是最成功的,也可能是最有争议的虚拟货币方案,由日本程序员中本聪(译者注:事实上,中本聪是不是日本人,甚至是不是单个人无从考证)在2009年设计并实现。该计划基于一个类似于BitTorrent的P2P网络。BitTorrent是互联网上著名的共享文件协议,应用在电影,游戏和音乐领域。比特币在全球层面上运作,可用于各类货币交易(虚

    彻底玩转比特币地址和私匙

    彻底玩转比特币地址和私匙

    比特币地址和私匙是所有比特币初学者面对的一大难题,再加上那一串超长的字符串,让人更是摸不到头脑。 现在编者以问答的形式,带你一步步的揭开比特币地址和私匙的面纱。 还不知道什么是比特币地址和私匙的同学请点这里 问题一、比特币钱包由什么组成? 答 我们知道,比特币地址和私匙组成了比特币钱包,而私匙则决定了比特币地址上比特币的归属。 地址和私匙 问题二、如果只记得私匙我们还能还原比特币地址么? 答

    用GO语言实现比特币算法

    用GO语言实现比特币算法

    本节的这个例子展示一点点高精度数学包math/big、一点点散列包hash、一点点加密包crypto,还有一点点测试包testing的知识。这里不介绍bitcoin协议和算法——尽管它们很有趣,而是试图指出,Go对多种操作系统的支持,是实现这种跨平台应用的理想语言。 位钱(bitcoin)是一种使用加密手段制作的分布式电子货币。它最初于1998年由Wei Dai提出,并由中本聪(Satoshi

    详解比特币的找零机制

    详解比特币的找零机制

    比特币的找零机制一直让人有些迷惑,明明只向一个地址发送了比特币为什么 blockchain 上面的显示的有时是1个地址对多个地址,有时是多个地址对1个地址,有时又显示多个地址对多个地址? 为什么比特币资深用户要提醒大家当比特币钱包交易100次以上时再次交易后要重新备份钱包,恢复以前的钱包备份有可能会遭遇损失? 是的,这一切都是因为比特币的找零(Change)机制。本文参考 Bitcoin的维

    玩转比特币客户端之一:C盘转移和加速下载

    玩转比特币客户端之一:C盘转移和加速下载

    C盘空间不足?交易数据下载速度太慢?别着急,乐享比特币教你轻松玩转比特币官方客户端。 所有新人开始接触比特币时做的第一件事情大多数是安装比特币的官方客户端。 安全起见大家最好直接访问官方发布渠道sourceforge的地址进行下载:http://sourceforge.net/projects/bitcoin/files/Bitcoin/ 该网页列出了各版本的官方比特币客户端,目前

    麦妖榜
    更新日期 2018-12-13
    排名用户贡献值
    1BitettFan23626
    2等待的宿命23472
    3六叶树20309
    4天下无双15845
    5lizhen00214646
    6让时间淡忘14198
    7区块大康14020
    8冷风大q11188
    9momo11174
    10Butterfly10433
    返回顶部 ↑