自行支付可能是閃電隱私的關鍵

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

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;