區(qū)塊鏈可以解決閃電網(wǎng)絡(luò)的隱私風(fēng)險(xiǎn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
閃電網(wǎng)絡(luò)以其快速和廉價(jià)的支付方式而聞名。但是,與鏈上支付相比,第二層協(xié)議也可以提供更多的隱私,因?yàn)榻灰撞皇前l(fā)布在比特幣的區(qū)塊鏈上,區(qū)塊鏈分析基本上是不可能的。
然而,閃電網(wǎng)絡(luò)也存在其自身的隱私風(fēng)險(xiǎn)。支付是通過一個(gè)用戶網(wǎng)絡(luò)進(jìn)行的,沒有什么能阻止間諜在監(jiān)控資金流動(dòng)的同時(shí)參與轉(zhuǎn)發(fā)交易的過程。在閃電網(wǎng)絡(luò)中,可以用區(qū)塊鏈分析代替網(wǎng)絡(luò)分析。
有一些解決方案可以限制這些風(fēng)險(xiǎn),比如洋蔥路由。這些都有幫助,但是,根據(jù)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)和支付類型的不同,弱點(diǎn)可能仍然存在?;鸝mnSCPxj的比特幣和閃電開發(fā)者最近幾周在閃電開發(fā)郵件列表上發(fā)表了大量關(guān)于持續(xù)風(fēng)險(xiǎn)的分析。
ZmnSCPxj提供了一個(gè)解決方案。與Payswap(他在兩周前接受《比特幣》雜志采訪時(shí)提出的關(guān)于鏈上隱私的建議)類似,這位開發(fā)者認(rèn)為“自付”可能是隱私謎題的重要組成部分。
理解自付
在以前的文章中,我們討論了Payswap,這是ZmnSCPxj提出的一項(xiàng)改進(jìn)鏈上隱私的建議,它通過看似顛倒了付款人和收款人之間的關(guān)系。ZmnSCPxj實(shí)際上最初是在閃電網(wǎng)絡(luò)的背景下提出這個(gè)想法的。實(shí)際上,它在閃電網(wǎng)絡(luò)上的使用可能更好:嵌入在鏈上備選方案中的一些折衷不適用于第2層協(xié)議。
簡而言之,對(duì)于閃電版的Payswap,自付是同一支付路徑的一部分。
為了解釋這是如何工作的,讓我們來看一個(gè)極其簡化的閃電網(wǎng)絡(luò)。A(lice)與B(ob)和C(arol)有支付渠道。Bob與Alice和D(ave)有支付渠道。Carol 和Alice、Dave有支付渠道。Dave和Bob、Carol有支付渠道。
如果Alice想用比特幣支付Dave 3,她通常會(huì)通過Bob或Carol進(jìn)行支付。Bob或Carol將對(duì)服務(wù)收取少量費(fèi)用,但是為了簡單起見,在本例中我們將忽略費(fèi)用。然而,事實(shí)上,支付的費(fèi)用與下面幾段相關(guān),所以要記住這一點(diǎn)。
現(xiàn)在,我們說Alice選擇Bob的路徑來支付。她給Bob送了3個(gè)代幣,Bob繼續(xù)把3個(gè)代幣轉(zhuǎn)發(fā)給Dave。付款成功。
但不幸的是,在這個(gè)例子中,Bob很容易正確地假設(shè)Alice給了Dave3個(gè)代幣。他知道數(shù)額,因?yàn)樗D(zhuǎn)發(fā)了它,而如果Alice想支付給Carol,或Carol想支付給Dave,他們可以直接這樣做,而不依賴Bob作為中間人。如果Bob是監(jiān)視網(wǎng)絡(luò)流量的間諜,他的正確假設(shè)會(huì)損害Alice和Dave的隱私。
因此,ZmnSCPxj提出了一種替代方案。Alice可以把錢轉(zhuǎn)回自己的賬戶,也就是“自付”,而Dave會(huì)收取一大筆“費(fèi)用”。“這筆費(fèi)用實(shí)際上是真正的支付。
例如,為了像以前一樣付給Dave錢,Alice這次會(huì)把5個(gè)代幣投出去。首先,她把5枚代幣送給Bob,Bob再把5枚代幣轉(zhuǎn)給Dave。然后Dave會(huì)繼續(xù)把錢轉(zhuǎn)給Carol……但他只會(huì)轉(zhuǎn)兩枚代幣!最后,Carol將這兩枚代幣轉(zhuǎn)交給Alice。最后,Alice少了3個(gè)代幣,Dave多了3個(gè)代幣。因此,Alice付給Dave3個(gè)代幣。
這種自我支付會(huì)誤導(dǎo)Bob和Carol。Bob轉(zhuǎn)發(fā)了5枚代幣,可能在邏輯上錯(cuò)誤地認(rèn)為Alice給了Dave5枚代幣。與此同時(shí),Carol的情況可能更糟:她會(huì)認(rèn)為Dave給了Alice兩枚代幣。在Carol看來,付款的方向是相反的。
如果Bob或Carol暗中監(jiān)視網(wǎng)絡(luò)活動(dòng),他們就會(huì)在支付的金額或方向上被誤導(dǎo),這有利于Alice和Dave的隱私。如果間諜經(jīng)常被誤導(dǎo),甚至可能使這種間諜活動(dòng)完全無用。
PTLCs,標(biāo)準(zhǔn)量
上面例子中的一切都被簡化了,從網(wǎng)絡(luò)圖到交易金額,而更細(xì)微的隱私風(fēng)險(xiǎn),如費(fèi)用金額和時(shí)間風(fēng)險(xiǎn)則被完全忽略。與此同時(shí),假設(shè)即使Bob和Carol都是間諜,他們也沒有合作,或者更糟:他們是假裝成兩個(gè)用戶的間諜。
實(shí)際上,路由的隱私風(fēng)險(xiǎn)和隱私好處都更大,同時(shí)也更微妙。處理所有這些微妙之處超出了本文的范圍;ZmnSCPxj在Lightning-dev郵件列表中提交的內(nèi)容是更深入分析的更好資源。更普遍的是,閃電隱私的研究正在進(jìn)行中。
盡管如此,值得指出的是,ZmnSCPxj關(guān)于改善閃電隱私的建議超出了自付費(fèi)的范圍——在某些情況下,額外的協(xié)議更改實(shí)際上或多或少對(duì)自付費(fèi)有效地改善隱私是必要的。兩個(gè)最重要的變化是從哈希值的timelock合約(HTLCs)到公鑰TImelock合約(PTLCs)的轉(zhuǎn)換,以及采用標(biāo)準(zhǔn)金額。讓我們簡要地看一下這兩個(gè)。
現(xiàn)在,閃電支付是通過HTLCs來進(jìn)行的。路由上的所有用戶基本上都傳遞一個(gè)代碼,該代碼保證,如果另一個(gè)對(duì)手方向他們索賠,那么他們可以向另一個(gè)對(duì)手方索賠(這是通過網(wǎng)絡(luò)轉(zhuǎn)發(fā)資金的方式)。不幸的是,如果合作間諜是同一路由的一部分,他們可以使用HTLCs來判斷不同的跳線實(shí)際上是同一支付的一部分,在一定程度上破壞了洋蔥路由的好處。ptlc將利用密碼技術(shù)來防止間諜將不同的跳轉(zhuǎn)鏈接到同一條路由。
ZmnSCPxj還建議閃電用戶采用標(biāo)準(zhǔn)數(shù)量。雖然這是可選的,但錢包將被鼓勵(lì)分成更小的(但相互關(guān)聯(lián)的)支付,每筆更小的支付由標(biāo)準(zhǔn)金額組成。如果標(biāo)準(zhǔn)金額是例如1、2和5個(gè)代幣,在上面的例子中,Alice將支付1個(gè)代幣和2個(gè)代幣,而不是支付3個(gè)代幣(或者,如果她自行支付,她可以發(fā)送5個(gè)代幣和2個(gè)代幣給自己)。
如果有足夠多的用戶將他們的(部分)支付限制在標(biāo)準(zhǔn)數(shù)額,間諜就不能依靠數(shù)額將不同的跳轉(zhuǎn)鏈接到同一筆支付。在自我支付的情況下,用戶甚至可以將非標(biāo)準(zhǔn)金額從收款人轉(zhuǎn)回自己的賬戶,使這些支付看起來更像是常規(guī)支付。
自行支付的缺點(diǎn)
ZmnSCPxj的提議的鏈上版本Payswap具有重大的權(quán)衡。與常規(guī)支付相比,需要更多的交易,這意味著更高的費(fèi)用。最重要的是,Payswap交易需要比特幣協(xié)議之外的用戶進(jìn)行交互;而普通的比特幣交易則不然。
在閃電網(wǎng)絡(luò)中,這些缺點(diǎn)并不存在,或者存在的程度更小。閃電支付需要在兩種情況下進(jìn)行交互,所以自我支付不會(huì)使情況變得更糟。雖然需要一些額外的事務(wù)跳轉(zhuǎn)來進(jìn)行自支付,但這些跳轉(zhuǎn)是在非鏈狀態(tài)下發(fā)生的,因此它們不需要額外的塊空間。
盡管如此,即使是在閃電上,自付費(fèi)用也有一些缺點(diǎn)。雖然比鏈上費(fèi)用更便宜,但額外的跳在路由費(fèi)用上要多花一點(diǎn)。此外,隨著更多的跳轉(zhuǎn)被添加到支付中,支付失敗的風(fēng)險(xiǎn)增加,以及間諜成為路線的一部分的風(fēng)險(xiǎn)也增加(如果在上面的例子中只有Carol是一個(gè)間諜,自我支付將給她更多的信息b比通過Bo會(huì)有的簡單路線)。
最后,當(dāng)然,可能還有其他(迄今尚未預(yù)見到的)權(quán)衡;自我支付是一個(gè)相對(duì)較新的提議。正如ZmnSCPxj在他的電子郵件中總結(jié)的那樣,“在付款時(shí)對(duì)循環(huán)付款的使用進(jìn)行更多的分析可能是合適的?!?br />