BTC-E美元實時行情Bitstamp美元實時行情BTC-E萊特幣實時行情比特幣中國實時行情

“打通”區塊鏈:閃電網絡即時跨鏈交易

作者:網文 來源:轉載 日期:2017-11-17 21:51:35 人氣: 標簽:區塊鏈 【打印】

編者按:今日(2017 年 11 月 17 日)早間五點四十五分,閃電網絡實驗室在推特上發文宣布,他們成功完成了 首筆從比特幣到萊特幣的閃電網絡跨鏈原子級交易 。同時,推文上還附帶了相關的說明公告,為大家詳細地介紹了閃電網絡是如何在鏈下實現跨鏈原子交易的。

“打通”區塊鏈:閃電網絡即時跨鏈交易

 

隔離見證于萊特幣以及比特幣網絡相繼激活之后,圍繞著跨鏈原子交易的討論以及實驗也逐漸熱烈起來。 前段時間 ,萊特幣創始人李啟威和比特幣早期投資者 Roger Ver 之間建立了一筆價值約 8 百萬美元涉及 1000 個比特幣的 BTC、B2X(現已取消)間跨鏈交易。此外,不少團隊也在其他區塊鏈間實現了這種無縫對接的交易(比如由 Altcoin Exchange 測試的比特幣兌以太坊交易)。而今天,閃電網絡實驗室則在比特幣和萊特幣的測試網絡間完成了首筆閃電原子級跨鏈交易。

那么這究竟是什么呢?就是當兩個人,比如 Bob 和 Alice 的數字貨幣資產處于兩條不同的區塊鏈時,他們可以通過這種原子級跨鏈交換技術直接進行安全地貨幣交換。

這種原子級跨鏈交易的執行只有兩種結果,要么 Alice 和 Bob 之間成功完成數字貨幣交換,要么就什么都沒有發生。這是至關重要的,因為它無需經過任何可信的第三方,也避免了欺騙等現象的出現。

閃電網絡上的跨連原子級交易具有不少可取之處,比如即時結算、提高交易隱私性以及降低交易手續費等等。在閃電網絡實驗室看來,這種技術將有助于未來基于閃電網絡的去中心化交易所的建立。

鏈上原子級交換

關于鏈上原子級交換,我們將從一個簡單的圖表開始說起(點擊 這里 可獲取概念介紹)。此外,在這里聲明,目前出現了很多復雜的鏈上協議,但是閃電網絡實驗只專注研究其中一種。

“打通”區塊鏈:閃電網絡即時跨鏈交易

 

上圖大概描述了生成跨鏈原子級交易的過程。不過要注意的是,編號僅代表交易簽名的順序,不表示其生成的順序。向上的箭頭代表著在雙方區塊鏈上交易的建立以及完成(可能),實線箭頭用于表示成功交換之后的操作。為了方便接下來的介紹,我統一使用了閃電網絡的相關術語來進行描述。

假設交易之前 Alice 有 1 個比特幣,Bob 有 10 個萊特幣;經過跨鏈原子級交易協議的系列操作之后,Alice 會按交易要求收到 10 個萊特幣(6),而 Bob 則會收到 1 個比特幣(7)。

我們把整個跨鏈原子級交換的過程可以分為兩大階段:設置階段(setup phase:1-5)和認領階段(claim phase:6-7),我們今天討論的三種協議就是在這七個步驟中實現的。在進入認領階段之前的任一環節中,Alice 和 Bob 可以隨時單方面終止交易,屆時數字貨幣將會原路退回。一旦進入認領階段,Alice 和 Bob 便無法撤銷交易且可在相應的區塊鏈上獲得數字資產。

設置階段

設置階段是為了在 Alice 和 Bob 間建立起足夠安全的交易通道。作為起始步驟,Alice 會首先生成一個 32 字節的散列值 x,作為原像,并進行加密——使用如 SHA256 等哈希函數計算出的哈希值 H(x) 來代表原像。

然后,Alice 會建立一個包含 H(x) 值的委托交易,也可以說是一個臨時賬戶。而委托交易只會在以下兩種情況其中之一成立時,釋放出 Alice 暫存在里面的 1 個比特幣:①Bob 提交正確的哈希值,x;②48 小時后系統自動退款。這意味著,Alice 只要在規定時間前將 x 值告訴 Bob,Bob 就可通過提交 x 值來獲得 Alice 的比特幣。而剛剛提到的退款協議則是在雙方交易前簽訂的,用以確保交易無法進行時,相關數字貨幣可退回原持有者的賬戶。不然,Bob 就能故意不提供 x 值,使雙重簽名交易無法實現,而導致 Alice 的數字資產凍結在臨時賬戶里。

下一步,同樣為 Bob 的 10 個萊特幣建立安全臨時交易賬戶,并依照 Alice 的順序簽訂相關退款協議。不過,Bob 協議上的超時交易退款時間設定為 24 小時,而非 48 小時。順帶一提,待會兒你將看到這種時間鎖存在的重要性。

當交易雙方在各自的區塊鏈上創建好相關的委托交易之后,設置階段的工作就告一段落了。

認領階段

上面的步驟完成之后,Alice 依然是唯一一個知道 x 值的人,所以她可以在這 24 小時內選擇任一時間向 Bob 提出獲得萊特幣的要求。另一方面,雖然 Bob 不知道 x 值,但是它能讓 Alice 的比特幣凍結 48 個小時。此外,由于雙方的委托交易使用了相同的哈希值,所以只有當 Alice 告訴 Bob x 值是什么的時候,她才有獲得 10 個萊特幣的權利。

總的來說,Alice 想要獲得 Bob 的 10 個萊特幣,就需要釋放自己的認領協議;否則臨時賬戶中的數字資產將在相應時間后返還到雙方的原賬戶中,回歸原樣。那 Alice 應該什么時候釋放她的認領協議(或者說將 x 值透露給 Bob)呢?

還記得嗎,Bob 退款協議的期限是 24 小時。所以 24 小時內,Alice 沒有將含 x 值的認領協議給 Bob,Bob 就可以拿回自己的萊特幣,并把 Alice 的比特幣凍結在臨時賬戶里,直到退款協議的 48 小時時間鎖失效。而 Bob 在拿到 x 值之后,他也有足夠的時間考慮是否與 Alice 進行原子交換。當 Bob 也給出正確的 x 值后,交易完成,雙方立即獲得自己所需的數字貨幣。

那么,這和閃電網絡有什么聯系?

雖然在 Alice 告訴 Bob 原像 x 的時候,認領階段可能還會繼續,但實際上他們已經鎖定在交易完成的狀態了,否則他們可能會面臨丟失所有交易資產的風險。此外,使用這種基于原像的模式進行交易,將能把等待交易完成的時間從一小時甚至是更長的時間,縮短至像發送 32 字節文件一樣快。

你們可能會想,如果我們能建立一個更高速、去中心化的網絡來發送這種匿名的基于原像的交易,不是更棒嗎?先別急,看下面。

在這些基礎之上,閃電網絡使用了一種特殊的支付方式,稱為哈希時間鎖定協議(HTLC)。這種協議與我們上面提到的——使用退款協議來保證雙方資產安全并使用原像來確認交易的例子有點相似。從理論上說,他們之間唯一的區別是,閃電網絡可使用的范圍更廣、延展性更高。

簡單起見,我們不全面地討論閃電網絡是什么,僅僅關注于如何在閃電網絡和跨鏈原子交換中實現交易。這里要注意的是,閃電網絡的交易并不會廣播到區塊鏈上,但是方便起見你可以自己想象“交易鏈”的存在。任何一方在任何時候,都可以將自己的委托交易廣播到“交易鏈”上,系統隨時監測鏈上發出的含有 x 值的協議,以及過期等待退款的協議等等。

簡單閃電支付

“打通”區塊鏈:閃電網絡即時跨鏈交易

上面是 Alice 通過 Bob 與 Carol 實現簡單閃電支付的示意圖。這種交易方式由兩條比特幣支付通道和一條從 Alice 到 Bob 再從 Bob 到 Carol 的原子交換通道組成。如果 v 是支付給 Carol 的金額,那么交易完成之后,Alice 賬戶上會減少 v 個比特幣,Bob 沒有變化,Carol 獲取 v 個比特幣。

開始的時候,Carol 會生成原像,x 值,并把計算出的哈希值 H(x) 交給 Alice。接下來,交易將進入設置階段,也就是設定支付路線的過程。整個支付路線(從 Alice 到 Carol)搭建的過程中,將會使用同一個 H(x) 值來設定不同通道間的哈希時間鎖定協議。

此外,在支付通道中,越靠近 Carol 的支付通道的時間鎖,時間越短。這樣便可迫使支付通道間各環節能即時釋放出 x 值,從而保證交易的原子性和一致性。

建立好安全的交易通道之后,我們接下來就要解決支付問題。在這種情況下,Carol 將沿著支付通道將 x 值傳回給 Alice。也就是說,如果 Alice 從 Bob 中獲得一個與 H(x) 匹配的 x 值,就代表交易已經成功,因為 Bob 獲得 x 值的唯一條件是已經將比特幣轉給 Carol。

閃電原子交換

上面我們已經為大家介紹了鏈上原子級交換與閃電支付,最后我們再介紹一下如何使用閃電網絡實現跨鏈原子級鏈下交易。

在簡單閃電網絡的支付中,Alice 沒有收到任何的錢。這也是問題所在,交換意味著每一個發出方,在發送交易同時也應該接收到相應的交易。所以我們為 Alice 構建了一條循環的通路來解決這一問題。簡單來說,Alice 是路線的起點也是終點,是原子交換的交易發送方和接收方。

“打通”區塊鏈:閃電網絡即時跨鏈交易

所以,為了讓 Alice 在進行閃電網絡跨鏈原子級交易過程中,能夠和 Bob 實現比特幣和萊特幣的交換,她必須同時在兩條鏈上開放支付通道。就像上圖所示,實現交易的方法是 Alice 和 Bob 在兩條鏈上都開通支付通道。正因如此,Alice 和 Bob 間的支付通道不一定要直接相連,因為支付通道是環狀的,無論怎么樣 Alice 都能通過支付通道與 Bob 建立聯系。

在構建起的環形支付通道中,Alice 將比特幣轉移給 Bob,Bob 把萊特幣轉移給 Alice;而 Bob 接收到的比特幣和發送出的萊特幣的數量比值,則反映出當下兩種數字貨幣間的匯率。由于閃電支付的原子性質,交易過程只會出現兩種情況,要么成功(完成交換),要么失敗(返還各自原賬戶)。

實驗簡介

下圖使我們這次成功完成交易的截圖,以萊特幣兌比特幣 100:1 的固定匯率進行的交易。

1、Alice 在 lnd(閃電網絡守護進程)上查詢與 Bob 的交換路線,并發出用 100 Satoshis(1Satoshis=0.00000001 BTC)換取萊特幣的請求;

2、將交易路線放到 lnd 的 sendtoroute 功能中,它便能按照設定執行交易;

3、如果交易成功,Alice 將會第一時間將 10000 Litoshis 傳送給 Bob,并隨即收到 100 個 Satoshis;

4、最后,通道上余額量表示著,交易成功。

“打通”區塊鏈:閃電網絡即時跨鏈交易

最后,你們可以點擊 這里 觀看我們第二次測試的相關視頻;而我們使用的修改版 lnd,可在 Github 上查看。

【重磅】粹客網旗下區塊鏈研究小組哈希派正推出針對比特幣擴容事件的系列專題報道,想要全方位了解擴容事件始末、掌握未來走向,請關注微信公眾號 “哈希派 ”。

返回頂部】【關閉窗口
【讀完這篇文章后,可否發表您的感受?】
0
0
0
0
0
0
0
0
本文網址:
安全聯盟站長平臺 360網站安全平臺 北单开奖结果查询官网