解读闪电网络丨链下交易的安全怎么破?

2008年比特币诞生以来热度渐增,每个区块1MB大小,每秒可处理的交易7笔,是无法满足激增的需求,社区也是一直积极讨论扩容的解决方案,链下扩容就是其中之一。链下扩容是相对于链上(On-chain)扩容而言,链上扩容指的是直接发生在区块链上,通过改变区块大小或数据结构从而达到提高处理交易能力的解决方案,比如分片技术(Sharding)、隔离见证(Segregated Witness,简称SegWit)和增加区块容量。而链下扩容则指的是在主链之外,建立外围或第二层交易网络,比如状态通道(States Channels)、侧链(SideChains)和DAG(Directed Acyclic Graph)。今天的故事从状态通道讲起。

状态通道(States Channels)

状态通道的总体思路是将本来在链上结算的交易放在链下,交易方通过状态通道维护中间态,并将最终结果上链。若发生纠纷时回到链上仲裁,链上仲裁的公平性和安全性在博弈论上保证了交易对手不会作恶。

状态通道也分几个层级,对应着不同程度的链上功能替代度,概括如下图:

状态通道的几个层级

状态通道是更通用的支付通道形式,它不仅可以用于支付,还可以用于状态更新。状态通道在2015年由Ledger 实验室的创始人杰夫·科尔曼(Jeff Coleman)首次详细描述。状态通道在比特币上的实现称为闪电网络(Lightning network),用来实现区块链上的小额支付。以太坊网络上的相关技术叫雷电网络(Raiden network),它允许用户通过状态通道和另一个连接更大通道网络的实体相关联,从而用很低的成本和区块链网络上的任何人做交易。

而具体技术上,*哈希时间锁(Hashed-Time Lock Contract,简称HTLC)是闪电网络支付路径得以实现的关键,而雷电网络利用以太坊支持智能合约的条件,引入了更为通用的 “智能条件(Smart Condition)”,实现智能转账(Smart Transfers)。智能条件可接受任何格式的报文为参数,执行后对支付通道上的余额进行调整。智能转账能够根据链上智能合约可读取的条件进行结算,提供较哈希时间锁更为丰富的功能,如支持预测市场、期货等条件,实现更多应用。闪电网络中的哈希时间锁,是智能转账可实现的条件之一。

闪电网络(Lightning network)

闪电网络和雷电网络所使用的技术统称为状态通道,都属于链下扩容。历史进程上,闪电网络概念的出现和中本聪发布的比特币一样古老。经不断讨论优化,2015年一篇题为《比特币闪电网络:可扩展的链下即时支付》(The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments)的白皮书最终成为规则的制定者。江湖号称仅次于比特币白皮书的【闪电网络白皮书】,该文作者原是智能合约交易平台 Mirror 首席技术官——约瑟夫·朴恩(Joseph Poon)和萨帝厄斯·追亚(Thaddeus Dryja),两人同年秋天成立了美国旧金山闪电支付实验室Lightning Labs,创始成员还有伊丽莎白·斯塔克(Elizabeth Stark)。2018年3月发布了第一个比特币主流网络闪电网络(LN),该公司称这是一个“重要的里程碑”。

同年开始致力于闪电网络的还有另外两家公司:澳大利亚区块链流公司Blockstream,是一家区块链软硬件解决方案的服务商,公司联合创始人兼首席执行官 Adam Back 博士是英国的密码学家,也是哈希现金机制的发明者,是被中本聪的比特币白皮书引用之一。联合创始人 Pieter Wuille 是比特币核心开发者之一,基础架构师罗斯迪·罗素(Rusty Russell) 擅长 Linux 内核的网络子系统和文件系统层次标准方面的工作,并起草了闪电网络协议规范的大部分内容。另一家,法国巴黎的初创公司阿斯安可Acinq,首席执行官是皮埃尔-玛丽·帕迪欧(Pierre-Marie Padiou),原从事硬件钱包业务,受到比特币矿业巨头Bitfury倡议Flare的启发,开始闪电支付项目Eclair。

从比特币容量的问题思考,若交易双方频繁交易,是否可一段时间后只将最终结果全网广播?又或者建立一个双方交易通道,无需信任第三方中介也可确保资金安全?闪电网络白皮书详细讲解双向支付通道、可撤销的顺序成熟度合同(Recoverable Sequence Maturity Contract,简称RSMC)、哈希时间锁HTLC等解决方式,试图逐一解决链下支付通道的交易问题。接下来重点解读这个三个技术。

1. 双向支付通道

交易双方彼此熟悉相互信任,即可链下通道内完成多次交易,最后交易余额上链广播。这样众多微小支付变成交易集,他们可能会选择在未来某一日期上链公布。通过推迟交易的公布,将大大降低最终被公布的主链交易数量,达到扩容效果。

问题来了,如果双方第一次交易,怎么建立支付通道呢?

引入“2-of-2双重签名地址”,指需要双方的签名才能进行转账的地址。2-of-2 是指总签名数为 2 个,一笔交易得拿到 2 个签名后生效。对应地, 2-of-3 多重签名地址就是指总签名数为 3 个,一笔交易得拿到其中 2 个签名后就可以生效。

基本规则:
Alice 和 Bob 有一个2-of-2双重签名认证的地址,然后各自把资金存到这个地址;
任何一方都能单独地把这个地址上的属于自己资金转回;
如果是交易,则需要双方的签名达成共识。

栗子:Alice 和 Bob分别往一个2-of-2双重签名地址转入一定数量比特币,比如(A: 1 BTC; B: 2 BTC),1 BTC属于Alice,2 BTC属于Bob。这个2-of-2签名地址及这个余额分配状态就是一个双向支付通道。如果在通道里Alice要向Bob支付0.5 BTC,那Alice 和 Bob就要对这个2-of-2签名地址进行签名,调整余额状态为(A: 0.5 BTC;B: 2.5 BTC)。

2. RSMC

RSMC是基于“支付通道”技术而开发的新型合约,解决了在支付通道环境下币的单向流动问题,使撤销上一个交易成为可能,并由此奠定了双向支付的基本工作方式。

问题来了,如果其中一方想要撤销交易,应该怎么办呢?

引入“FT= Funding Transaction 资金交易,CT= Commitment Transaction 承诺交易,序列数Sequence”。
资金交易FT,由交易方提供资金形成一个初始通道 FT,双方均为此交易创建 inputs 和 outputs,但不签署交易。
承诺交易CT,可以表示当前双方余额。如果双方仅交换一份2-of-2双重签名的CT,那么双方确定能在 FT 上主链后收回资金。
序列数sequence是合约的一个确定参数。比如说一个RSMC的序列数为1000,如果其父交易所在区块是10000,那么如果这个RSMC被写在了区块10999上,则这个RSMC不会被执行(相当于自动作废了)。为了确保该RSMC能被执行,我们等到当前区块为11000时,再在比特币网络中广播这个RSMC。这样,RSMC所在区块的高度一定会大于11000,该RSMC才能执行。

基本规则:
1.交易双方将协议的资金放入资金交易FT中,并在互相签署合约后,将其广播记入主链;
2.交易双方在不超过总金额的前提下,在链下进行交易,次数无限制;
3.每一次交易都必须签署全新的合约,即承诺交易CT,仅在支付通道中流转,并未广播记入主链区块;
4.当最后双方协议不再进行新交易,准备取回各自资金时,将由其中一方发起广播请求;
5.如果其中一方发现交易结果不正确,可以根据双方交易合约中的前置协议条件,在有效时间内提出真假合约验证请求;广播虚假交易合约一经证实,作假方在资金池内所有的自持资金将会作为赔偿支付给另一方。
6.在签署资金交易FT之前先签署一份承诺交易CT并交给对方。因为CT可以保证自己放到FT中的资金可以赎回,所以双方可以放心地签署 FT 并广播。

案例示意图

栗子:Alice 和 Bob建立一个通道FT,相当于资金池,存放着Alice和Bob的资金。这个FT有两个输出,分别是承诺交易C1a和C1b。这两个合约是互斥的(只有一个能在比特币网络上广播),即Alice只能广播C1a,Bob只能广播C1b。每个CT又有两个输出,一个是普通输出,一个是RSMC合约。
Alice将C1a广播到比特币网络上,根据C1a的普通输出D1a,Bob立即可以使用0.5个比特币。RD1a是RSMC合约,当C1a被广播到主链后的1000个区块之后,Alice可以广播这个RSMC (RD1a),从而可以使用另外0.5个比特币。

问题来了,如果资金分配状态更新后,一方在主网上广播错误的CT,怎么办呢?

引入“违规补偿交易(breach remedy transaction)”, 防止在新确认交易达成后一方仍然广播旧交易,违规补偿交易用来代替旧CT中的RSMC,其规定交易对手方可以立即获得所有剩余资金。

违规补偿交易示意图

栗子:Alice 和 Bob产生新交易C2a,C2b的同时,生成违规补偿交易BR1a和BR1b,违规补偿交易有效废止了上一个CT中的RSMC合约。若Alice将C1a广播到主链上,C1a普通输出D1a,Bob立即获取0.5个比特币。而C1a的RSMC合约输出RD1a被违规补偿交易BR1a替代,Bob又获得了剩余0.5个比特币。至此,RD1a已经无效。通过设计这样的违规补偿交易,保证了双方只能广播最新的承诺交易CT。

按常理,下一个部分应该进入第三点哈希时间锁 HTLC,非常重要的技术点,但是苦于知识消化能力有限,产出效率较低,该部分无法在本周完成,只能放一放,找个时间,看心情再补上。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容

  • 以太坊(Ethereum ):下一代智能合约和去中心化应用平台 翻译:巨蟹 、少平 译者注:中文读者可以到以太坊爱...
    车圣阅读 3,716评论 1 7
  • 【中文版】以太坊白皮书 翻译:少平、 Seven当中本聪在 2009 年 1 月启动比特币区块链时,他同时向世界引...
    __Seven__阅读 4,131评论 0 10
  • 最近,一笑的事情,在网上炒得沸沸扬扬。 罗尔有三套房,但在女儿重病的时候,选择了向广大网民求助。 我想:可能是他违...
    小考拉俱乐部阅读 455评论 0 0
  • 腾讯云上提供两种直播模式:一、直播码模式二、频道托管模式这次我们采用第一种模式进行接入,闲话不多说了,让我们开始接...
    汤敏正阅读 4,509评论 0 1
  • 一千年、两千年、三千年。 好久没有讲过这个故事了吧,也许是忘了。 但是,我还记着,这里仍是某个人的墓地。 一、 风...
    背着把菜刀阅读 185评论 0 1