2019-4-8 09:35
来源: 白话区(qū)块链
在之前的文章(zhāng)《什么(me)是闪电网络(luò)》、《星巴(bā)克(kè)支持(chí)比(bǐ)特币支付,对闪电网络意(yì)味着什么》中,我们介(jiè)绍(shào)过闪(shǎn)电网络的定义和(hé)特点。你可能(néng)会发现(xiàn),闪(shǎn)电(diàn)网络(luò)交易只(zhī)在通道(dào)开启和关闭(bì)时会访问两次btc区块链,期间大量(liàng)的交易数据保(bǎo)存在链下(xià)。
那在没有其(qí)他节点同步交易(yì)数(shù)据的情况下(xià),谁来验(yàn)证(zhèng)上链最终结果的正(zhèng)确性呢?
其实,通常情况是交易双方(fāng)共同确认并发布,即表明(míng)发布的是双方都认可的正确(què)结果。不过如果是单方关(guān)闭通道(dào)并发布(bù)了过期交易,比特币网络的确也(yě)是无法立即识别其有效性的。
如何(hé)解决这一(yī)问(wèn)题(tí)呢?这就(jiù)要介绍(shào)下闪电(diàn)网络的惩罚机(jī)制了(le)。简单(dān)说,就是如果交(jiāo)易一(yī)方在(zài)通道(dào)关闭时向(xiàng)比特币(bì)网络发布(bù)了过期交易的余额,在(zài)被发现后将会被没收相应(yīng)的BTC金额,没收金额(é)直(zhí)接给到(dào)对(duì)方。
闪电网络开发者之一Alex Bosworth曾(céng)在Twitter上(shàng)发布过这一惩(chéng)罚机制的测试结果
这一惩罚机制是由闪电网络的RSMC协议(Recoverable Sequence Maturity Contract,中文(wén)翻译为“序列(liè)到期(qī)可撤(chè)销合约”)实现的(为方便记忆(yì),不妨(fáng)参(cān)考在白(bái)话之前文章中对RSMC的翻译:肉丝冒菜)。
事(shì)实上,RSMC不仅(jǐn)可以避免或惩罚欺诈(zhà)行为,也保障着闪(shǎn)电网(wǎng)络每(měi)笔交易的有效性(xìng)。下(xià)面(miàn)通过一个简单的闪电网(wǎng)络支付(fù)流程,来说明在(zài)RSMC协议下(xià),闪电网络交易是如(rú)何发(fā)生(shēng)的:
1、A和(hé)B在闪电网络上(shàng)交易,双方都向一个多重签名(míng)地址中存入0.5BTC,此时会(huì)开启闪电(diàn)网络的支付通道,通道内共(gòng)有1BTC;
2、交易通道开启期(qī)间,AB之间可以发(fā)生多次转帐,每次(cì)转帐双方都会进行签字认可,通道(dào)每次会判断双方余额是否足(zú)够支付,并在转帐完成(chéng)后(hòu)更(gèng)新最(zuì)新余额、 同时作(zuò)废之前的交易。假设(shè)多次交易后(hòu),A余额(é)有0.2BTC,B余额为(wéi)0.8BTC。
这里(lǐ)需要说明的是(shì),在通道开启期间,因为交(jiāo)易数据没有发布到比特币网络上,通(tōng)道内的(de)余额不会影响双(shuāng)方真实比特币(bì)地址余额(é)。
3、A不再(zài)想和B交易,准备结(jié)束交易(yì)提现走人,可以把有(yǒu)双方签字的最(zuì)终余额提交(jiāo)给比特(tè)币网络,并关闭支付通道。如果在指定时间B不(bú)反对,那么结果就在比(bǐ)特币网络上正式确认,余(yú)额按协(xié)议转(zhuǎn)入双方预先设立的提现地址。如果B在指(zhǐ)定时间内反对并提交证据,证明A发(fā)布的是双方之前过期交易的(de)余额(é)分配方(fāng)案,那么A资(zī)金将被全部罚(fá)没给B。
从(cóng)上面(miàn)的流(liú)程中,我们可以看出RSMC协议可以惩罚欺诈情况,不过在过程中(zhōng)有(yǒu)两点仍然需要注意(yì):
1、B需要在指定(dìng)时间内(nèi)发现A造假(jiǎ);这一时间可以自定义,比如可以设置为1000个区块确认(rèn)时间,即差不(bú)多是7天,如果在这(zhè)7天内没有(yǒu)被发现,那过期后双(shuāng)方交易结果将(jiāng)正式被比特币(bì)网络确认,惩罚将无法生效。
2、B在反对时需要提(tí)供相应的数据(jù),因为闪电网(wǎng)络通道关闭前(qián)的交(jiāo)易(yì)是(shì)保存在链下,所(suǒ)以交易(yì)双方要妥善保管相(xiàng)关交易数据(jù)(包括签名、对方发来的私钥等等),如果数据丢失,就(jiù)算知道对(duì)方是假数据,也无法(fǎ)获得赔偿。
所(suǒ)以,新(xīn)问题(tí)又来了:如何(hé)保证B能在指定(dìng)时(shí)间内及时反对并提交证据呢?解决办法有两个(gè):B自己(jǐ)成为闪电节点,或委托第三方(也称“瞭(liǎo)望塔”)来实时监控闪电网(wǎng)络发布到比(bǐ)特币链上(shàng)的交易(yì)是否有效,如果(guǒ)发现是笔过期交易时(shí),立即(jí)代理B发布惩罚。
在闪电网络(luò)中,我们似乎常隐(yǐn)约看到第三方的身影:在通道中间节点跳转上(shàng)、在通(tōng)道(dào)关闭时(shí)的交易(yì)有效性验证代理上(shàng)。它们不是必需的,但如(rú)果你希望享(xiǎng)受更(gèng)方(fāng)便、更安全的交易服务,它们似乎又是(shì)不可(kě)或缺的。
总结(jié):
闪电网络的每笔交(jiāo)易,本质上等同于没在比特币网(wǎng)络发布的比特币交易,通道关闭时(shí)会(huì)发布到比特币网络。在发布交(jiāo)易的(de)可(kě)靠性上(shàng),则是通(tōng)过惩(chéng)罚机制来执(zhí)行的,作恶一方会被罚没(méi)所(suǒ)有费用。
你(nǐ)愿意付费给第三方,帮你监测闪(shǎn)电(diàn)网络(luò)交(jiāo)易结果(guǒ)的有效性,从而保(bǎo)障你的资产安全么?欢迎在(zài)留言区留(liú)言(yán)。