2. 入門指南
在本章中,我們將從大多數人第一次接觸閃電網路時開始——選擇軟體參與閃電網路經濟。我們將透過範例,跟隨兩位代表閃電網路常見使用案例的使用者來學習。Alice 是一位咖啡店顧客,她將使用行動裝置上的閃電網路錢包向 Bob’s Cafe 購買咖啡。Bob 是一位商家,他將使用閃電網路節點和錢包在他的咖啡店運行銷售點系統,以便接受閃電網路付款。
2.1. Alice 的第一個閃電網路錢包
Alice 是一位長期的比特幣使用者。我們在《Mastering Bitcoin》第一章首次認識了 Alice,[1] 當時她使用比特幣交易在 Bob’s Cafe 購買了一杯咖啡。如果您還不熟悉比特幣交易的運作方式或需要複習,請閱讀《Mastering Bitcoin》或 比特幣基礎回顧 中的摘要。
Alice 最近得知 Bob’s Cafe 開始接受閃電網路支付了!Alice 很想學習和嘗試閃電網路;她想成為 Bob 的第一批閃電網路客戶之一。為此,首先,Alice 必須選擇一個滿足她需求的閃電網路錢包。
Alice 不想將她的比特幣託管給第三方。她對加密貨幣已經有足夠的了解,知道如何使用錢包。她還想要一個行動錢包,這樣她就可以在外出時用它進行小額支付,所以她選擇了 Eclair 錢包,一個流行的非託管行動閃電網路錢包。讓我們了解更多關於她如何以及為什麼做出這些選擇。
2.2. 閃電網路節點
閃電網路透過能夠使用閃電網路協議的軟體應用程式來存取。閃電網路節點(LN 節點或簡稱節點)是一個具有三個重要特性的軟體應用程式。首先,閃電網路節點是錢包,因此它們可以透過閃電網路以及比特幣網路發送和接收付款。其次,節點必須與其他閃電網路節點進行點對點通訊,從而創建網路。最後,閃電網路節點還需要存取比特幣區塊鏈(或其他加密貨幣的其他區塊鏈)來保護用於支付的資金。
使用者透過運行自己的比特幣節點和閃電網路節點來獲得最高程度的控制。然而,閃電網路節點也可以使用輕量級比特幣客戶端,通常稱為簡化支付驗證(Simplified Payment Verification,SPV),來與比特幣區塊鏈互動。
2.3. 閃電網路瀏覽器
閃電網路瀏覽器是顯示節點、通道和網路容量統計資訊的有用工具。
以下是一個不完整的列表:
-
ACINQ 的閃電網路瀏覽器,具有精美的視覺化效果
-
Amboss Space 閃電網路瀏覽器,具有社群指標和直觀的視覺化
-
Fiatjaf 的閃電網路瀏覽器,有許多圖表
|
請注意,使用閃電網路瀏覽器時,就像使用其他區塊瀏覽器一樣,隱私可能是一個問題。 如果使用者不小心,網站可能會追蹤他們的 IP 地址並收集他們的行為記錄(例如,使用者感興趣的節點)。 此外,應該注意的是,由於目前的閃電網路圖或任何現有通道策略的當前狀態沒有全球共識,使用者永遠不應依賴閃電網路瀏覽器來檢索最新資訊。 此外,隨著使用者開啟、關閉和更新通道,圖會發生變化,個別閃電網路瀏覽器可能不是最新的。 使用閃電網路瀏覽器來視覺化網路或收集資訊,但不要將其作為閃電網路上正在發生什麼的權威來源。 要獲得閃電網路的權威視圖,請運行您自己的閃電網路節點,它將建立通道圖並收集各種統計資料,您可以透過網頁介面查看。 |
2.4. 閃電網路錢包
「閃電網路錢包」一詞有些模糊,因為它可以描述與某些使用者介面結合的各種元件。閃電網路錢包軟體最常見的元件包括:
-
一個金鑰儲存庫,用於保存秘密,如私鑰
-
一個閃電網路節點,如前所述,在點對點網路上通訊
-
一個比特幣節點,儲存區塊鏈資料並與其他比特幣節點通訊
-
一個閃電網路上公告的節點和通道的資料庫「地圖」
-
一個可以開啟和關閉閃電網路通道的通道管理器
-
一個可以找到從支付來源到支付目的地的連接通道路徑的路徑搜尋系統
閃電網路錢包可能包含所有這些功能,作為一個「完整」錢包,不依賴任何第三方服務。或者,一個或多個這些元件可能(部分或完全)依賴第三方服務來調解這些功能。
一個「關鍵」的區別(雙關語)是金鑰儲存功能是內部的還是外包的。在區塊鏈中,對金鑰的控制決定了對資金的託管,正如「你的金鑰,你的幣;不是你的金鑰,不是你的幣」這句話所銘記的。任何將金鑰管理外包的錢包都被稱為「託管」錢包,因為作為託管人的第三方控制著使用者的資金,而不是使用者。相比之下,「非託管」或「自託管」錢包是金鑰儲存庫是錢包的一部分,金鑰由使用者直接控制的錢包。非託管錢包這個術語僅意味著金鑰儲存庫是本地的並在使用者控制之下。然而,其他錢包元件中的一個或多個可能會或可能不會外包並依賴受信任的第三方。
區塊鏈,特別是像比特幣這樣的開放區塊鏈,試圖最小化或消除對第三方的信任並賦予使用者權力。這通常被稱為「無需信任」模型,儘管「信任最小化」是一個更好的術語。在這樣的系統中,使用者信任軟體規則,而不是第三方。因此,對金鑰的控制問題是選擇閃電網路錢包時的主要考慮因素。
閃電網路錢包的每個其他元件都帶來類似的信任考慮。如果所有元件都在使用者的控制之下,那麼對第三方的信任就會最小化,為使用者帶來最大的權力。當然,這帶來了直接的權衡,因為有了這種權力就有相應的責任來管理複雜的軟體。
每個使用者在決定使用什麼類型的閃電網路錢包之前必須考慮自己的技術技能。那些具有強大技術技能的人應該使用將所有元件置於使用者直接控制之下的閃電網路錢包。那些技術技能較少,但希望控制自己資金的人應該選擇非託管閃電網路錢包。 這些情況下的信任通常與隱私有關。 如果使用者決定將某些功能外包給第三方,他們通常會放棄一些隱私,因為第三方會了解他們的一些資訊。
最後,那些尋求簡單和便利的人,即使以犧牲控制和安全為代價,也可以選擇託管閃電網路錢包。這是技術上最不具挑戰性的選項,但它「破壞了加密貨幣的信任模型」,因此只應被視為邁向更多控制和自力更生的過渡步驟。
有許多方法可以對錢包進行特徵化或分類。 關於特定錢包要問的最重要問題是:
-
這個閃電網路錢包是否有完整的閃電網路節點,還是使用第三方閃電網路節點?
-
這個閃電網路錢包是否有完整的比特幣節點,還是使用第三方比特幣節點?
-
這個閃電網路錢包是否在使用者控制下儲存自己的金鑰(自託管),還是金鑰由第三方託管人持有?
|
如果閃電網路錢包使用第三方閃電網路節點,則由該第三方閃電網路節點決定如何與比特幣通訊。因此,使用第三方閃電網路節點意味著您也在使用第三方比特幣節點。只有當閃電網路錢包使用自己的閃電網路節點時,才存在完整比特幣節點和第三方比特幣節點之間的選擇。 |
在最高抽象層次上,問題 1 和 3 是最基本的。 從這兩個問題,我們可以得出四個可能的類別。 我們可以將這四個類別放入一個象限,如 閃電網路錢包象限 所示。 但請記住,這只是對閃電網路錢包進行分類的一種方式。
| 完整閃電網路節點 | 第三方閃電網路節點 | |
|---|---|---|
自託管 |
Q1:高技術技能,對第三方信任最少,最無需許可 |
Q2:中等以下技術技能,對第三方信任中等以下,需要一些許可 |
託管 |
Q3:中等以上技術技能,對第三方信任中等以上,需要一些許可 |
Q4:低技術技能,對第三方信任高,最需要許可 |
象限 3(Q3),使用完整閃電網路節點,但金鑰由託管人持有,目前並不常見。 該象限的未來錢包可能會讓使用者擔心其節點的操作方面,但然後將金鑰的存取權委託給主要使用冷儲存的第三方。
閃電網路錢包可以安裝在各種裝置上,包括筆記型電腦、伺服器和行動裝置。要運行完整的閃電網路節點,您需要使用伺服器或桌上型電腦,因為行動裝置和筆記型電腦在容量、處理能力、電池壽命和連接性方面通常不夠強大。
第三方閃電網路節點類別可以再細分:
- 輕量級
-
這意味著錢包不運行閃電網路節點,因此需要透過網際網路從其他人的閃電網路節點獲取有關閃電網路的資訊。
- 無
-
這意味著不僅閃電網路節點由第三方運行,而且大部分錢包都由第三方在雲端運行。這是一個託管錢包,其他人控制資金的託管。
這些子類別在 流行閃電網路錢包範例 中使用。
流行閃電網路錢包範例 中「比特幣節點」列中需要解釋的其他術語是:
- Neutrino
-
這個錢包不運行比特幣節點。相反,由其他人(第三方)運行的比特幣節點透過 Neutrino 協議存取。
- Electrum
-
這個錢包不運行比特幣節點。相反,由其他人(第三方)運行的比特幣節點透過 Electrum 協議存取。
- Bitcoin Core
-
這是比特幣節點的一個實作。
- btcd
-
這是比特幣節點的另一個實作。
在 流行閃電網路錢包範例 中,我們看到一些目前流行的閃電網路節點和錢包應用程式適用於不同類型裝置的範例。該列表首先按裝置類型排序,然後按字母順序排序。
| 應用程式 | 裝置 | 閃電網路節點 | 比特幣節點 | 金鑰儲存 |
|---|---|---|---|---|
Blue Wallet |
行動 |
無 |
無 |
託管 |
Breez Wallet |
行動 |
完整節點 |
Neutrino |
自託管 |
Eclair Mobile |
行動 |
輕量級 |
Electrum |
自託管 |
lntxbot |
行動 |
無 |
無 |
託管 |
Muun |
行動 |
輕量級 |
Neutrino |
自託管 |
Phoenix Wallet |
行動 |
輕量級 |
Electrum |
自託管 |
Zeus |
行動 |
完整節點 |
Bitcoin Core/btcd |
自託管 |
Electrum |
桌面 |
完整節點 |
Bitcoin Core/Electrum |
自託管 |
Zap Desktop |
桌面 |
完整節點 |
Neutrino |
自託管 |
c-lightning |
伺服器 |
完整節點 |
Bitcoin Core |
自託管 |
Eclair Server |
伺服器 |
完整節點 |
Bitcoin Core/Electrum |
自託管 |
lnd |
伺服器 |
完整節點 |
Bitcoin Core/btcd |
自託管 |
2.4.1. 測試網比特幣
比特幣系統提供了一個用於測試目的的替代鏈,稱為「測試網」(testnet),與被稱為「主網」(mainnet)的「正常」比特幣鏈形成對比。在測試網上,貨幣是「測試網比特幣」(tBTC),它是專門用於測試的無價值的比特幣副本。比特幣的每個功能都被精確複製,但這些錢沒有價值,所以您真的沒有什麼可失去的!
一些閃電網路錢包也可以在測試網上運行,允許您使用測試網比特幣進行閃電網路支付,而不會冒真實資金的風險。這是一種安全地試驗閃電網路的好方法。Alice 在本章中使用的 Eclair Mobile 就是支援測試網操作的閃電網路錢包的一個例子。
您可以從「測試網比特幣水龍頭」獲得一些 tBTC 來玩,它會按需免費發放 tBTC。以下是一些測試網水龍頭:
- https://coinfaucet.eu/en/btc-testnet
- https://testnet-faucet.mempool.co
- https://bitcoinfaucet.uo1.net
- https://testnet.help/en/btcfaucet/testnet
本書中的所有範例都可以用 tBTC 在測試網上精確複製,所以如果您想跟著做而不冒真實金錢的風險,可以這樣做。
2.5. 平衡複雜性和控制
閃電網路錢包必須在複雜性和使用者控制之間謹慎平衡。那些給予使用者對其資金最多控制、最高程度隱私以及對第三方服務最大獨立性的錢包必然更複雜且更難操作。隨著技術的進步,其中一些權衡將變得不那麼明顯,使用者可能能夠獲得更多控制而不需要更多複雜性。然而,目前,不同的公司和專案正在沿著這個控制-複雜性光譜探索不同的位置,希望為他們目標使用者找到「甜蜜點」。
選擇錢包時,請記住即使您看不到這些權衡,它們仍然存在。例如,許多錢包會嘗試從使用者那裡移除通道管理的負擔。為此,它們引入了所有錢包自動連接的中央「樞紐節點」。雖然這種權衡簡化了使用者介面和使用者體驗,但它引入了單點故障(SPoF),因為這些樞紐節點對錢包的運行變得不可或缺。此外,像這樣依賴「樞紐」可能會降低使用者隱私,因為樞紐知道發送者,並且可能(如果代表使用者構建支付路徑)也知道使用者錢包進行的每筆支付的接收者。
在下一節中,我們將回到我們的第一位使用者,並逐步介紹她的第一個閃電網路錢包設定。她選擇了一個比更容易的託管錢包更複雜的錢包。這讓我們可以展示一些底層複雜性並介紹進階錢包的一些內部運作。您可能會發現您的第一個理想錢包是面向易用性的,接受一些控制和隱私的權衡。或者也許您是更高級的使用者,想要運行自己的閃電網路和比特幣節點作為錢包解決方案的一部分。
2.6. 下載和安裝閃電網路錢包
在尋找新的加密貨幣錢包時,您必須非常小心地選擇軟體的安全來源。
不幸的是,許多假錢包應用程式會竊取您的錢,其中一些甚至會進入像 Apple 和 Google 應用程式商店這樣有信譽且據稱經過審查的軟體網站。無論您是安裝第一個還是第十個錢包,都要始終格外小心。流氓應用程式可能不僅會竊取您託付給它的任何資金,還可能透過入侵您的行動裝置作業系統來竊取其他應用程式的金鑰和密碼。
Alice 使用 Android 裝置,將使用 Google Play 商店下載並安裝 Eclair 錢包。在 Google Play 上搜尋,她找到了「Eclair Mobile」的條目,如 Google Play 商店中的 Eclair Mobile 所示。
|
可以使用測試網比特幣以零風險(除了您自己的時間)來試驗和測試所有比特幣類型的軟體。您也可以透過前往 Google Play 商店下載 Eclair 測試網錢包來嘗試閃電網路(在測試網上)。 |
Alice 注意到此頁面上有幾個不同的元素,幫助她確定這很可能是她正在尋找的正確「Eclair Mobile」錢包。首先,組織 ACINQ[2] 被列為此行動錢包的開發者,Alice 從她的研究中知道這是正確的開發者。其次,該錢包已被安裝「10,000+」次,並有超過 320 條正面評論。這不太可能是一個潛入 Google Play 商店的流氓應用程式。作為第三步,她前往 ACINQ 網站。她透過檢查地址是否以 https 開頭或在某些瀏覽器中以掛鎖為前綴來驗證網頁是否安全。在網站上,她前往下載部分或尋找到 Google App Store 的連結。她找到連結並點擊它。她比較這個連結是否帶她到 Google App Store 中的同一個應用程式。對這些發現感到滿意後,Alice 在她的行動裝置上安裝了 Eclair 應用程式。
|
在任何裝置上安裝軟體時都要格外小心。有許多假的加密貨幣錢包不僅會竊取您的錢,還可能危及您裝置上的所有其他應用程式。 |
2.7. 建立新錢包
當 Alice 第一次打開 Eclair Mobile 應用程式時,她會看到「建立新錢包」或「匯入現有錢包」的選項。Alice 將建立一個新錢包,但讓我們先討論為什麼這裡會出現這些選項以及匯入現有錢包意味著什麼。
2.7.1. 金鑰託管的責任
正如我們在本節開頭提到的,Eclair 是一個「非託管」錢包,這意味著 Alice 獨自託管用於控制她比特幣的金鑰。這也意味著 Alice 有責任保護和備份這些金鑰。如果 Alice 失去了金鑰,沒有人可以幫助她恢復比特幣,它們將永遠失去。
|
使用 Eclair Mobile 錢包,Alice 擁有金鑰的託管和控制權,因此有完全的責任保持金鑰的安全和備份。如果她失去了金鑰,她就失去了比特幣,沒有人可以幫助她從那種損失中恢復! |
2.7.2. 助記詞
與大多數比特幣錢包類似,Eclair Mobile 提供一個「助記詞」(有時也稱為「種子」或「種子短語」)供 Alice 備份。助記詞由 24 個英文單詞組成,由軟體隨機選擇,用作錢包生成金鑰的基礎。在行動裝置遺失、軟體錯誤或記憶體損壞的情況下,Alice 可以使用助記詞恢復 Eclair Mobile 錢包中的所有交易和資金。
|
這些備份詞的正確術語是「助記詞」。我們避免使用「種子」一詞來指稱助記詞,因為儘管它的使用很常見,但它是不正確的。 |
當 Alice 選擇建立新錢包時,她將看到一個顯示她助記詞的螢幕,如 新錢包助記詞 中的螢幕截圖所示。
在 新錢包助記詞 中,我們故意模糊了部分助記詞,以防止本書讀者重複使用該助記詞。
2.7.3. 安全儲存助記詞
Alice 需要小心地以一種防止盜竊但也避免意外遺失的方式儲存助記詞。正確平衡這些風險的推薦方法是將助記詞的兩份副本寫在紙上,每個單詞都編號——順序很重要。
一旦 Alice 記錄了助記詞,在她的螢幕上點擊「OK GOT IT」後,她將被出示一個測驗,以確保她正確記錄了助記詞。測驗將隨機詢問三到四個單詞。Alice 沒有預料到會有測驗,但由於她正確記錄了助記詞,她毫無困難地通過了。
一旦 Alice 記錄了助記詞並通過了測驗,她應該將每份副本儲存在單獨的安全位置,如上鎖的抽屜或防火保險箱。
|
永遠不要嘗試任何與 安全儲存助記詞 中最佳實踐建議有任何偏差的「DIY」安全方案。不要把您的助記詞切成兩半、製作螢幕截圖、儲存在 USB 驅動器或雲端驅動器上、加密它,或嘗試任何其他非標準方法。您會以這樣一種方式破壞平衡,以至於冒著永久損失的風險。許多人失去了資金,不是因為盜竊,而是因為他們嘗試了一種非標準解決方案,卻沒有專業知識來平衡所涉及的風險。最佳實踐建議是由專家仔細考慮的,適合絕大多數使用者。 |
Alice 初始化她的 Eclair Mobile 錢包後,她將看到一個簡短的教學,突出顯示使用者介面的各種元素。我們不會在這裡複製教學,但我們將在跟隨 Alice 嘗試購買一杯咖啡時探索所有這些元素!
2.8. 將比特幣載入錢包
Alice 現在有了一個閃電網路錢包。但它是空的!她現在面臨這個實驗中更具挑戰性的方面之一:她必須找到一種方法來獲取一些比特幣並將其載入她的 Eclair 錢包。
|
如果 Alice 已經在另一個錢包中擁有比特幣,她可以選擇將該比特幣發送到她的 Eclair 錢包,而不是獲取新的比特幣來載入她的新錢包。 |
2.8.1. 獲取比特幣
Alice 可以透過幾種方式獲取比特幣:
-
她可以在加密貨幣交易所用她的法定貨幣(例如美元)兌換一些。
-
她可以從朋友或比特幣聚會上的熟人那裡用現金購買一些。
-
她可以在她所在地區找到一台「比特幣 ATM」,它就像一台自動販賣機,用現金出售比特幣。
-
她可以提供她的技能或她銷售的產品,並接受比特幣付款。
-
她可以要求她的雇主或客戶用比特幣支付她。
所有這些方法都有不同程度的難度,許多會涉及支付費用。有些還需要 Alice 提供身份證明文件以符合當地銀行法規。然而,透過所有這些方法,Alice 將能夠收到比特幣。
2.8.2. 接收比特幣
假設 Alice 找到了當地的比特幣 ATM 並決定用現金購買一些比特幣。比特幣 ATM 的一個例子,由 Lamassu 公司製造的,如 Lamassu 比特幣 ATM 所示。這種比特幣 ATM 透過現金插槽接受法定貨幣(現金),並使用內建攝影機將比特幣發送到從使用者錢包掃描的比特幣地址。
要在她的 Eclair 閃電網路錢包中接收比特幣,Alice 需要向 ATM 出示 Eclair 閃電網路錢包中的比特幣地址。然後 ATM 可以將 Alice 新獲得的比特幣發送到這個比特幣地址。
要在 Eclair 錢包上看到比特幣地址,Alice 必須向左滑動到標題為 YOUR BITCOIN ADDRESS 的欄位(參見 Eclair 中顯示的 Alice 的比特幣地址),在那裡她會看到一個方形條碼(稱為 QR 碼)和下面的一串字母和數字。
QR 碼包含與下面顯示的相同的字母和數字字串,格式易於掃描。這樣,Alice 就不必輸入比特幣地址。在螢幕截圖(Eclair 中顯示的 Alice 的比特幣地址)中,我們故意模糊了兩者,以防止讀者無意中向這個地址發送比特幣。
|
比特幣地址和 QR 碼都包含錯誤檢測資訊,可以防止任何打字或掃描錯誤產生「錯誤的」比特幣地址。如果地址有錯誤,任何比特幣錢包都會注意到錯誤並拒絕接受比特幣地址為有效。 |
Alice 可以將她的行動裝置拿到 ATM 並向內建攝影機展示它,如 比特幣 ATM 掃描 QR 碼 所示。將一些現金插入插槽後,她將在 Eclair 中收到比特幣!
Alice 將在 Eclair 錢包的 TRANSACTION HISTORY 標籤中看到來自 ATM 的交易。雖然 Eclair 會在幾秒鐘內檢測到比特幣交易,但比特幣交易需要大約一個小時才能在比特幣區塊鏈上「確認」。如您在 Alice 收到比特幣 中所見,Alice 的 Eclair 錢包在交易下方顯示「6+ conf」,表示該交易已收到所需的最少六次確認,她的資金現在可以使用了。
|
交易上的確認數是自包含該交易的區塊(含)以來開採的區塊數。六次確認是最佳實踐,但不同的閃電網路錢包可以在任意數量的確認後認為通道已開啟。一些錢包甚至根據通道的貨幣價值來擴展預期確認數。 |
雖然在這個例子中 Alice 使用 ATM 獲得了她的第一筆比特幣,但即使她使用 獲取比特幣 中的其他方法之一,同樣的基本概念也適用。例如,如果 Alice 想銷售產品或提供專業服務以換取比特幣,她的客戶可以用他們的錢包掃描比特幣地址並用比特幣支付給她。
同樣,如果她為透過網際網路提供的服務向客戶開帳單,Alice 可以向她的客戶發送包含比特幣地址或 QR 碼的電子郵件或即時訊息,他們可以將資訊貼上或掃描到比特幣錢包中來支付給她。
Alice 甚至可以列印 QR 碼並將其貼在標牌上並公開展示以接收小費。例如,她可以在她的吉他上貼一個 QR 碼,在街頭表演時接收小費![3]
最後,如果 Alice 從加密貨幣交易所購買了比特幣,她可以(而且應該)透過將她的比特幣地址貼到交易所網站上來「提取」比特幣。然後交易所將直接把比特幣發送到她的地址。
2.9. 從比特幣到閃電網路
Alice 的比特幣現在由她的 Eclair 錢包控制,並已記錄在比特幣區塊鏈上。此時,Alice 的比特幣是「鏈上」的,這意味著該交易已廣播到整個比特幣網路,由所有比特幣節點驗證,並「開採」(記錄)到比特幣區塊鏈上。
到目前為止,Eclair Mobile 錢包僅作為比特幣錢包運行,Alice 還沒有使用 Eclair 的閃電網路功能。與許多閃電網路錢包的情況一樣,Eclair 透過同時作為比特幣錢包和閃電網路錢包來橋接比特幣和閃電網路。
現在,Alice 準備開始使用閃電網路,透過將她的比特幣移到鏈下,以利用閃電網路提供的快速、便宜和私密的支付。
2.9.1. 閃電網路通道
向右滑動,Alice 進入 Eclair 的 LIGHTNING CHANNELS 部分。在這裡,她可以管理將她的錢包連接到閃電網路的通道。
讓我們在這裡回顧一下閃電網路通道的定義,以使事情更清楚一些。首先,「通道」這個詞是 Alice 的閃電網路錢包和另一個閃電網路錢包之間「財務關係」的隱喻。我們稱之為通道是因為它是 Alice 的錢包和這另一個錢包在閃電網路上(鏈下)相互交換許多支付的方式,而無需將交易提交到比特幣區塊鏈(鏈上)。
Alice 開啟通道連接的錢包或「節點」稱為她的「通道對等節點」。一旦「開啟」,通道可用於在 Alice 的錢包和她的通道對等節點之間來回發送許多支付。
此外,Alice 的通道對等節點可以透過其他通道將支付「轉發」到閃電網路的更遠處。這樣,Alice 可以將支付「路由」到任何錢包(例如 Bob 的閃電網路錢包),只要 Alice 的錢包可以找到一條由從一個通道跳到另一個通道組成的可行「路徑」,一直到 Bob 的錢包。
|
並非所有通道對等節點都是路由支付的「好」對等節點。連接良好的對等節點將能夠透過更短的路徑將支付路由到目的地,增加成功的機會。擁有充足資金的通道對等節點將能夠路由更大的支付。 |
換句話說,Alice 需要一個或多個通道將她連接到閃電網路上的一個或多個其他節點。她不需要一個直接將她的錢包連接到 Bob’s Cafe 的通道來向 Bob 發送支付,儘管她也可以選擇開啟直接通道。閃電網路中的任何節點都可以用於 Alice 的第一個通道。節點連接越好,Alice 可以接觸到的人就越多。在這個例子中,由於我們還想示範支付路由,我們不會讓 Alice 直接向 Bob 的錢包開啟通道。相反,我們將讓 Alice 向一個連接良好的節點開啟通道,然後稍後使用該節點轉發她的支付,根據需要透過任何其他節點路由到達 Bob。
起初,沒有開啟的通道,所以如我們在 LIGHTNING CHANNELS 標籤 中看到的,LIGHTNING CHANNELS 標籤顯示一個空列表。如果您注意到,在右下角有一個加號(+),這是開啟新通道的按鈕。
Alice 按下加號,並被提供四種可能的方式來開啟通道:
-
貼上節點 URI
-
掃描節點 URI
-
隨機節點
-
ACINQ 節點
「節點 URI」是識別特定閃電網路節點的統一資源識別碼(URI)。Alice 可以從她的剪貼簿貼上這樣的 URI,或掃描包含相同資訊的 QR 碼。節點 URI 的範例顯示為 節點 URI 作為 QR 碼 中的 QR 碼,然後顯示為文字字串。
0237fefbe8626bf888de0cad8c73630e32746a22a2c4faa91c1d9877a3826e1174@1.ln.aantonop.com:9735
雖然 Alice 可以選擇特定的閃電網路節點,或使用「隨機節點」選項讓 Eclair 錢包隨機選擇一個節點,但她將選擇 ACINQ 節點選項連接到 ACINQ 連接良好的閃電網路節點之一。
選擇 ACINQ 節點會稍微降低 Alice 的隱私,因為它會讓 ACINQ 能夠看到 Alice 的所有交易。它還會創建一個單點故障,因為 Alice 將只有一個通道,如果 ACINQ 節點不可用,Alice 將無法進行支付。為了一開始保持簡單,我們將接受這些權衡。在後續章節中,我們將逐步學習如何獲得更多獨立性並做出更少的權衡!
Alice 選擇 ACINQ 節點,準備在閃電網路上開啟她的第一個通道。
2.9.2. 開啟閃電網路通道
當 Alice 選擇一個節點來開啟新通道時,系統會詢問她想要為這個通道分配多少比特幣。在後續章節中,我們將討論這些選擇的影響,但現在 Alice 將把幾乎所有資金分配給通道。由於她必須支付交易費用來開啟通道,她將選擇一個略低於她總餘額的金額。[4]
Alice 將她 0.020 BTC 總額中的 0.018 BTC 分配給她的通道,並接受預設費率,如 開啟閃電網路通道 所示。
一旦她點擊 OPEN,她的錢包就會構建開啟閃電網路通道的特殊比特幣交易,稱為「資金交易」。鏈上資金交易被發送到比特幣網路進行確認。
Alice 現在必須再次等待(參見 等待資金交易開啟通道),等待交易記錄在比特幣區塊鏈上。與她用來獲取比特幣的初始比特幣交易一樣,她必須等待六次或更多確認(大約一小時)。
一旦資金交易被確認,Alice 到 ACINQ 節點的通道就開啟、注資並準備就緒,如 通道已開啟 所示。
|
您是否注意到通道金額似乎已經改變了?其實沒有:通道包含 0.018 BTC,但在截圖之間,BTC 匯率發生了變化,所以美元價值不同。您可以選擇以 BTC 或 USD 顯示餘額,但請記住,USD 值是實時計算的,會發生變化! |
2.10. 使用閃電網路購買一杯咖啡
Alice 現在已經準備好開始使用閃電網路了。如您所見,這需要一些工作和一些等待確認的時間。然而,現在後續的操作快速而簡單。閃電網路實現了無需等待確認的支付,資金在幾秒鐘內結算。
Alice 拿起她的行動裝置,跑到她附近的 Bob’s Cafe。她很興奮嘗試她的新閃電網路錢包,用它來購買東西!
2.10.1. Bob’s Cafe
Bob 有一個簡單的銷售點(PoS)應用程式,供任何想要透過閃電網路用比特幣付款的客戶使用。正如我們將在下一章看到的,Bob 使用流行的開源平台 BTCPay Server,它包含電子商務或零售解決方案所需的所有組件,例如:
-
使用 Bitcoin Core 軟體的比特幣節點
-
使用 c-lightning 軟體的閃電網路節點
-
用於平板電腦的簡單 PoS 應用程式
BTCPay Server 使安裝所有必要軟體、上傳圖片和產品價格以及快速啟動商店變得簡單。
在 Bob’s Cafe 的櫃檯上,有一台平板裝置顯示您在 Bob 的銷售點應用程式 中看到的內容。
2.10.2. 閃電網路發票
Alice 從螢幕上選擇 Cafe Latte 選項,並被提供一張「閃電網路發票」(也稱為「付款請求」),如 Alice 拿鐵的閃電網路發票 所示。
要支付發票,Alice 打開她的 Eclair 錢包,並選擇 TRANSACTION HISTORY 標籤下的 Send 按鈕(看起來像一個向上的箭頭),如 Alice 選擇發送 所示。
|
「付款請求」一詞可以指比特幣付款請求或閃電網路發票,「發票」和「付款請求」這兩個術語經常互換使用。正確的技術術語是「閃電網路發票」,無論錢包中如何命名。 |
Alice 選擇「掃描付款請求」選項,掃描平板螢幕上顯示的 QR 碼(參見 Alice 拿鐵的閃電網路發票),並被提示確認她的付款,如 Alice 的發送確認 所示。
Alice 按下 PAY,一秒鐘後,Bob 的平板顯示付款成功。Alice 完成了她的第一筆閃電網路支付!它快速、便宜且簡單。現在她可以享受她用比特幣透過快速、便宜且去中心化的支付系統購買的拿鐵了。從現在起,Alice 可以簡單地在 Bob 的平板螢幕上選擇一個項目,用她的手機掃描 QR 碼,點擊 PAY,然後在幾秒鐘內被端上咖啡,所有這些都不需要鏈上交易。
閃電網路支付對 Bob 來說也更好。他確信他會收到 Alice 拿鐵的錢,而不需要等待鏈上確認。將來,每當 Alice 想在 Bob’s Cafe 喝咖啡時,她可以選擇在比特幣網路或閃電網路上用比特幣付款。您認為她會選擇哪一個?
2.11. 結論
在本章中,我們跟隨 Alice 下載並安裝她的第一個閃電網路錢包,獲取並轉移一些比特幣,開啟她的第一個閃電網路通道,並透過在閃電網路上進行第一筆支付購買了一杯咖啡。在接下來的章節中,我們將深入了解閃電網路中每個元件的運作方式,以及 Alice 的支付如何到達 Bob’s Cafe。