區塊鏈-閃電網絡示例

目錄:https://blog.csdn.net/qq_40452317/article/details/89646633 

摘自《精通比特幣》

閃電網絡是一種端到端連接的雙向支付通道的可路由網絡。這樣的網絡可以允許任何參與者穿過一個通道路由到另一個通道進行支付,而不需要信任任何中間人。 閃電網絡由JosephPoon和ThadeusDryja 於2015年2月首次描述,其基礎是許多其他人提出和闡述的支付通道概念。

“閃電網絡”是指路由支付通道網絡的具體設計,現已由至少五個不同的開源團隊實施。這些的獨立實施是由“閃電技術基礎”(BOLT)論文中描述的一組互通性標準進行協作。

閃電網絡的原型實施已經由幾個團隊發佈。現在,這些實現只能在testnet上運行, 因爲它們使用segwit,還沒有在比特幣區塊主鏈(mainnet)上激活。

閃電網絡是實現可路由支付通道的一種可能方式。還有其他幾種旨在實現類似目標的設計,如Teechan和Tumblebit。

讓我們看看它是如何工作的。

在這個例子中,我們有五個參與者:Alice,Bob,Carol,Diana,andEric。這五名參與者已經彼此之間開設了支付通道。Alice 和 Bob 有支付通道。Bob 連接 Carol,Carol 連接到 Diana,Diana 連接 Eric。爲了簡單起見,我們假設每個通道每個參與者都 注資 2 個比特幣資金,每個通道的總容量爲4個比特幣。

下圖顯示一系列通過雙向支付的通道連接在一起形成閃電網絡以支持一筆 從 Alice 到 Eric 的付款展示了閃電網絡中五名參與者,通過雙向支付通道連接, 可從Alice付款到Eric(路由支付通道(閃電網絡))。

Alice 想要支付給 Eric1 個比特幣。 不過,Alice 並未通過支付通道連接到 Eric。 創建支付通道需要資金交易,而這筆交易必須首先提交給比特幣區塊鏈。 Alice 不想打開一個新的支付通道並支出更多的手續費。 有沒有辦法間接 支付 Eric?

下圖顯示了通過在連接各方參與者的支付通道上通過一系列 HTLC 承諾將付款從 Alice 路由到 Eric 的逐步過程。

Alice 正在運行閃電網絡(LN)節點,該節點正在跟蹤其向Bob的付費通道,並且能夠發現支付通道之間的路由。Alice 的 LN 節點還具有通過互聯網連接到 Eric 的 LN 節點的能力。 Eric 的 LN 節點使用隨機數生成器創建一個祕密 R。Eric 的節點 沒有向任何人泄漏這個祕密。相反,Eric 的節點計算祕密R對應的哈希 H,並將此哈希發送到 Alice 的節點。

現在 Alice 的 LN 節點構建了 Alice 的 LN 節點和 Eric 的 LN 節點之間的路由。所使用的路由算法將在後面進行更詳細的解釋,但現在我們假設 Alice 節點可以找到一個高效的路由。

然後,Alice 的節點構造一個 HTLC,支付到哈希 H,具有 10 個區塊時間的退款超時(當前塊+10),數量爲 1.003 比特幣。 額外的0.003將用於補償參與此支付路由的中間節點。 Alice將此HTLC提供給Bob, 從和 Bob 之間的通道餘額中扣除 1.003 比特幣,並將其提交給 HTLC。 該HTLC具有以下含義:“如果 Bob 知道祕密,Alice 將其通道餘額的 1.003 支付給 Bob,或者 如果超過10個區塊時間後,則退還入 Alice 的餘額”。 Alice和Bob之間的通道餘 額現在由承諾交易表示,其中有三個輸出:Bob 的 2 比特幣餘額,Alice 的 0.997 比特幣餘額,Alice 的 HTLC 中承諾的 1.003 比特幣。承諾在 HTLC 中的金額從 Alice 的餘額中被減去。

Bob 現在有一個承諾,如果他能夠在接下來的 10 個區塊生產時間內獲得祕密 R, 他可以獲取 Alice 鎖定的 1.003。手上有了這一承諾,Bob 的節點在和 Carol 的支付通道上構建了一個 HTLC。Bob 的 HTLC 提交 1.002 比特幣到哈希 H 共 9 個區塊時 間,這個 HTLC 中如果 Carol 有祕密 R 她可以兌換。Bob 知道,如果 Carol 要獲取他的 HTLC,她必須出示祕密 R。如果 Bob 在 9 個區塊的時間內有 R,他可以用它來獲取 Alice 的 HTLC 給自己。通過承諾自己的通道餘額 9 個區塊的時間,他也賺了 0.001 比特幣。如果 Carol 無法獲取他的 HTLC,並且他也無法獲取 Alice 的 HTLC,那麼一切都將恢復到以前的通道餘額,沒有人會虧損。 Bob 和 Carol 之間的通道餘額現在是:2 比特幣給 Carol,0.998 給 Bob,1.002 由 Bob 承諾給 HTLC。

Carol 現在有一個承諾,如果她在接下來的 9 個區塊時間內獲得 R,她可以獲取 Bob 的鎖定 1.002 比特幣。現在她可以在她與 Diana 的通道上構建 HTLC 承諾。她提交 了一個 1.001 比特幣的 HTLC 到哈希 H,共計 8 個區塊時間,如果 Diana 有祕密 R , 她就可以兌換。從 Carol 的角度來看,如果能夠實現,她 就可以獲得的 0.001 比特幣,否則也沒有失去任何東西。她提交給 Diana 的 HTLC, 只有在 R 被泄漏的情況下才可行,到那時候她可以從 Bob 那裏索取 HTLC。Carol 和 Diana 之間的通道餘額現在是:2 給 Diana,0.999 給 Carol,1.001 由 Carol 承諾 給 HTLC。

最後,Diana 可以提供給 Eric 一個 HTLC,承諾 1 比特幣,7 個區塊時間,到哈希 H 。Diana 與 Eric 之間的通道餘額現在是:2 給 Eric,1 給 Diana,1 由 Diana 承諾給 HTLC。

然而,在這條路上,Eric 擁有祕密 R,他可以獲取 Diana 提供的 HTLC。他將 R 發 送給 Diana,並獲取 1 個比特幣,添加到他的通道餘額中。 通道平衡現在是:1 給 Diana,3 給 Eric。

現在,Diana 有祕密 R,因此,她現在可以獲取來自 Carol 的 HTLC。Diana 將 R 發 送給 Carol,並將 1.001 比特幣添加到其通道餘額中。現 在 Carol 與 Diana 之間的通道餘額是:0.999 給 Carol,3.001 給 Diana。Diana 已經 “賺了”參與這個付款路線 0.001 比特幣。

通過路由回傳,祕密 R 允許每個參與者獲取未完成的 HTLC。Carol 從 Bob 那裏獲 取 1.002 個比特幣,將他們通道餘額設爲:0.998 給 Bob,3.002 給 Carol。

最後,Bob 獲取來自 Alice 的 HTLC。他們的通道餘額更新爲:0.997 給 Alice,3.003 給 Bob。

在沒有向 Eric 打開通道的情況下,Alice 已經支付了 Eric1 比特幣。付款路線中的 中間方不必要互相信任。在他們的通道內做一個短時間的資金承諾,他們可以賺 取一小筆費用,唯一的風險是,如果通道關閉或路由付款失敗,退款有段短短的 延遲時間。

發佈了266 篇原創文章 · 獲贊 89 · 訪問量 14萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章