閃電網絡

出自非小号百科

閃電網絡(Lightning Network,LN)是位於比特幣之上的「第 2 層」支付協定[1]。 旨在實現參與節點之間的快速交易,並已被提議作為比特幣可擴展性問題的解決方案。 該方案有點對點系統,可通過雙向支付渠道網絡對加密貨幣進行小額支付,而無需委託保管資金[2]

閃電網絡
所構想的支付信道網狀網絡路由。
原作者 Joseph Poon, Thaddeus Dryja
開發者 Elements Project (Blockstream)

Lightning Labs ACINQ MIT DCI

預覽版本 1.0 RC(2017年12月6日,​6年前)
程式語言 C語言, Go, Scala
類型 密碼貨幣
許可協議 Apache許可證
網站 lightning.network

閃電網絡的正常使用包括通過向相關基礎區塊鏈(第 1 層)提交資金交易來打開支付通道,然後進行任意數量的閃電網絡交易,更新通道資金的暫定分配,而不將這些交易廣播到區塊鏈,可選地隨後通過廣播結算交易的最終版本來關閉支付渠道以分配渠道的資金。

要結算付款,必須關閉通道。為了啟動這一過程,一個節點向網絡廣播最新的結算交易。接下來的事件可以大致以兩種方式來考慮,一種是雙方確認分配並立即結算資金的合作關閉,另一種是不合作關閉。不合作的關閉可能是合法的,例如,如果一個節點不再是網絡的一部分或欺詐性的一個節點廣播過時的、不正確的分布。在不合作的關閉中,資金不會立即結算,但存在一個爭議期,在此期間節點可能會質疑廣播分發。如果第二個節點廣播更新的分發,則資金將完全轉移給他們。這種懲罰性行為被稱為違約補救交易,它可以防止節點試圖通過廣播過期交易來欺騙網絡。

發展歷程[編輯 | 編輯原始碼]

2015年2月,Joseph Poon 和 Thaddeus Dryja 發布了閃電網絡白皮書的草稿。

2018年,Lightning Labs 推出了閃電網絡,目標是減少加密貨幣交易的成本和時間。具體來說,比特幣區塊鏈每秒只能處理大約 7 筆交易(相比之下,Visa 公司每秒可以處理大約 24,000 筆交易)。儘管閃電網絡最初備受關注,但社交媒體上關於交易失敗、安全漏洞和過於複雜的報導導致人們的興趣下降。

2018年7月,閃電網絡得到了行動支付創業家 Jack Dorsey 的認可[3]

2017年萊特幣的第一筆閃電交易[編輯 | 編輯原始碼]

2017年5月10日,Blockstream 的 Christian Decker 在非測試網絡上進行了第一次完整、安全的閃電支付, 以及萊特幣上的第一次閃電支付,發送了在區塊鏈上通常不可能或經濟的微觀支付,完全結算在幾分之一秒。

2019 比特幣閃電火炬[編輯 | 編輯原始碼]

2019年1月19日,推特上一位化名為 hodlonaut 的用戶開始對閃電網絡進行類似遊戲的促銷測試,向受信任的收件人發送 100,000 satoshis(0.001 比特幣),每個收件人添加 10,000 satoshis(當時為 0.34 美元)發送給下一個受信任的收件人。 「閃電火炬」的支付惠及知名人士,包括 Twitter 執行長 Jack Dorsey、萊特幣創造者 Charlie Lee、Lightning Labs 執行長 Elizabeth Stark 和 Binance 執行長「CZ」趙長鵬等。 在達到之前硬編碼的 4,390,000 satoshis 限制之前,閃電火炬被傳遞了 292 次。閃電火炬的最後一筆款項於2019年4月13日作為捐贈 4,290,000 聰(當時為 217.78 美元)捐贈給委內瑞拉比特幣的非營利組織,該非營利組織在委內瑞拉推廣比特幣。

2021年在薩爾瓦多採用[編輯 | 編輯原始碼]

2021年6月,薩爾瓦多立法議會投票通過立法,使比特幣在薩爾瓦多成為法定貨幣。 該決定基於 El Zonte 的比特幣海灘生態系統的成功,該生態系統使用了基於 LN 的錢包。政府推出了一個使用閃電網絡協議的錢包,同時讓公民可以自由使用其他比特幣閃電錢包。

設計[編輯 | 編輯原始碼]

Andreas Antonopoulos 將閃電網絡稱為第二層路由網絡。 支付通道允許參與者相互轉移資金,而無需在區塊鏈上公開他們的所有交易。 這是通過懲罰不合作的參與者來完成的。打開通道時,參與者必須提交一個金額(在區塊鏈上的資金交易中)。 CheckSequenceVerify 和 CheckLockTimeVerify 等基於時間的腳本擴展使懲罰成為可能。

交易雙方通過開啟支付通道並將資金提交到相關的一層區塊鏈(如比特幣)上的智能合約中來使用閃電網絡。雙方隨後可以進行任意數量的閃電網絡鏈下交易,這些交易會更新通道資金的臨時分配情況,但不會廣播到區塊鏈上。當雙方完成交易會話後,他們關閉支付通道,智能合約根據交易記錄分配提交的資金。

關閉通道時,一個節點首先將當前交易記錄的狀態廣播到網絡,包括一個結算提議,即提交資金的分配方案。如果雙方都確認該提議,資金將立即在鏈上支付。另一種情況是非合作關閉,例如一個節點從網絡中掉線,或者廣播了不正確(可能是欺詐性)的交易狀態。在這種情況下,結算會延遲並進入爭議期,期間節點可以對提議提出異議。如果第二個節點廣播了一個帶有更新時間戳的分配方案,其中包含第一個提議遺漏的交易,則所有提交的資金將轉移到第二個節點名下。這種懲罰性違約補救交易可以阻止節點通過廣播過期交易來欺詐另一方。

如果我們假設比特幣區塊鏈上有一個龐大的通道網絡,並且所有比特幣用戶都通過在比特幣區塊鏈上打開至少一個通道來參與這個圖表,那麼就有可能在這個網絡內創建近乎無限量的交易。過早在比特幣區塊鏈上廣播的唯一交易是與不合作的渠道交易對手。

CheckSequenceVerify (CSV) 比特幣改進提案詳細說明了如何使用 CSV 實雜湊時間鎖定合約並在閃電網絡中使用:BIP 0112[4]

優勢[編輯 | 編輯原始碼]

與鏈上交易相比,使用閃電網絡有幾個聲稱的未來好處:

  • 原子交換(Atomic Swap):原子交換由 Tier Nolan 於2013年在 BitcoinTalk 論壇上首次引入。Nolan 通過使用跨不同類型區塊鏈的簡單加密貨幣交易概述了跨鏈加密貨幣交換的基本原則。快進到2017年9月,當 Litecoin 創始人 Charlie Lee 在 Twitter 上宣布成功執行 Litecoin 和比特幣之間的原子交換時,原子交換引起了整個加密貨幣社區的關注。
  • 粒度(Granularity):根據 Andreas Antonopoulos 的說法,閃電網絡的一些實現允許小於比特幣基礎層上的最小單位 satoshi 的支付。 支付給閃電網絡中間節點的路由費用通常以毫秒或 msat 計價。
  • 隱私(Privacy):個人閃電網絡支付的細節不會公開記錄在區塊鏈上。 閃電網絡支付可以通過許多連續的通道進行路由,每個節點運營商都可以通過他們的通道看到支付,但如果不相鄰,他們將無法看到這些資金的來源或目的地。
  • 速度(Speed):閃電網絡交易的結算時間不到一分鐘,可以以毫秒為單位。 相比之下,比特幣區塊鏈的確認時間平均每十分鐘發生一次。
  • 交易吞吐量(Transaction throughput):協議下每秒可以發生的支付量沒有基本限制。交易量僅受每個節點的容量和速度限制。

限制[編輯 | 編輯原始碼]

閃電網絡由兩個節點之間的雙向支付通道組成,結合起來創建智能合約。如果任何一方放棄通道,通道將關閉並在區塊鏈上結算。開啟和關閉閃電通道所需的鏈上交易限制了閃電網絡的可擴展性。如果多個彼此信任的用戶共享一個閃電節點,這種限制可以得到緩解。

由於閃電網絡的爭議機制的性質,要求所有用戶不斷地觀察區塊煉是否有欺詐行為,因此發展了「瞭望塔(Watchtower)」的概念,可以將信任外包給瞭望塔節點以監控欺詐行為。在收到請求後,有 24 小時的時間用來創建一個雙向通道。

路由[編輯 | 編輯原始碼]

如果交易雙方之間沒有開通雙向支付通道,則必須通過網絡進行支付。這是使用類似於 Tor 的洋蔥路由技術完成的,要求付款的發送者和接收者有足夠的共同點來找到付款路徑。 實際上,一條簡單的路線如下所示:

  • Bob 想向 Alice 支付 1 BTC,但 Bob 和 Alice 沒有相互開放的通道。
  • Bob 確實有一個與 Carol 開放的頻道,而 Alice 也有一個與 Carol 開放的頻道
  • 為了進行支付,Bob 向 Carol 發送 1 BTC,然後 Carol 向 Alice 發送 1 BTC

關於路由的原始白皮書建議「最終,通過優化,網絡將看起來很像第 1 層 ISP」。

案例[編輯 | 編輯原始碼]

BOLT(閃電技術基礎)規範於2016年底起草。 做了幾個實作:

  • Lightning Labs 在 Go 中的 lnd 實現
  • Blockstream 在 C 中的核心閃電實現
  • ACINQ 在 Scala 中的 eclair 實現
  • 其他語言(例如 Rust 和 F#)的其他社群專案(例如「rust-lightning」和「DotNetLightning」)。Stakenet 基於閃電網絡的去中心化交易所(稱為 Stakenet DEX)
  • MIT Digital Currency Initiative 在 Golang 中使用自己的非 BOLT 相容協定的非商業實作

應用[編輯 | 編輯原始碼]

Bitfinex 和 Kraken 等加密貨幣交易所使用它來實現存款和取款。 Laszlo Hanyecz 因2010年為兩個披薩支付 10,000 比特幣而在加密貨幣社區聲名鵲起,他在2018年使用閃電網絡又購買了兩個披薩並支付了 0.00649 比特幣。

參考連結[編輯 | 編輯原始碼]