1. 問:什麼是閃電網絡?
答:閃電網絡是一個去中心化網絡,旨在在無需可信第三方的情況下實現比特幣所有權的實時鏈下轉移。該系統目前還在開發中。 (譯者註:原文撰寫於2016 年)
閃電網絡使用由多簽地址組成的雙向支付通道。
開啟和關閉通道各需執行一筆鏈上事務。
一旦通道開啟,價值就可以在交易對手方之間即時轉移。交易對手方之間相互發送比特幣交易,但是不會將它們廣播到比特幣網絡上。
新的交易會覆蓋之前的交易。只要通道未關閉,交易對手方就會將所有數據存儲在本地。
2. 問:閃電網絡是開源的嗎?
答:沒錯,閃電網絡是開源的。任何人都能審查閃電網絡的代碼(就像審查比特幣的代碼那樣)。
3. 問:閃電網絡由誰所有?受誰控制?
答:和比特幣一樣,閃電網絡不歸任何人所有,也不受任何人控制。
閃電網絡的代碼是開源的,可供任何人下載並審查。
任何人都能運行節點並參與該網絡。
4. 問:閃電網絡的創造者是誰?
答:Joseph Poon 和Thaddeus Dryja 撰寫了閃電網絡的白皮書。
閃電網絡是開源項目,因此任何人都可以貢獻代碼。
目前有幾個獨立實現正在開發中:
lnd — Lightning Labs
eclair — ACINQ
lightning-d — Blockstream
5. 問:閃電網絡有發行自己的代幣嗎?
答:沒有,也不需要這麼做。
閃電網絡將使用真正的比特幣來進行交易。
6. 問:閃電網絡的實現依賴於共識嗎?
答:不,閃電網絡的實現不需要比特幣網絡的共識。
閃電網絡既不是軟分叉,也不是硬分叉,而是在比特幣網絡的基礎上構建的一個附加層。
因此,閃電網絡的實現是不需要共識的。
7. 問:閃電網絡存在任何託管風險嗎?我需要將資產交由其他可信方保管嗎?
答:不,閃電網絡並非建立在信任基礎上。你的資產仍在你的完全掌控下。
如果出現任何問題,你只需將通道的最新狀態作為普通的比特幣事務廣播到鏈上。
你的所有資金都會退回你的比特幣地址,並記錄在鏈上。
8. 問:我聽說閃電網絡交易發生在“鏈下” …… 這是否意味著我的比特幣會從鏈上抹去?
答:不,你的比特幣永遠都不會離開區塊鏈。
當你的支付通道處於開啟狀態時,你的比特幣將存儲在一個多簽地址上。通道關閉後,最後一筆交易將會上鍊。
“鏈下” 不是一個非常恰當的表述。之所以會用它,是為了強調所有權轉移不再體現在鏈上這一事實。
9. 問:我聽說閃電網絡要將我的比特幣鎖倉……是真的嗎?
答:就閃電網絡而言,“鎖倉” 一詞極具誤導性。
閃電網絡不影響你訪問自己的資產。
實際上,閃電網絡通道會讓你的資產變得更易用。
首先,在閃電網絡中,你不需要等待確認,資產轉移幾乎是即時的。
其次,讓你的資產“回到鏈上” 就和發送普通的比特幣交易一樣簡單。你只需等待一次確認,你的資產就從“鏈下” 轉移到鏈上了。
只有一個例外:你的通道在交易過程中發生故障(交易對手離線),但是這種情況很少見。
一旦出現上述例外情況,你要等待一小段時間才能動用你的資產。等待的時長視你的支付通道的參數而定(估計最短要幾個小時,最長要幾天)。
10. 問:閃電網絡有自己的區塊鏈嗎?
答:沒有,閃電網絡依託於比特幣區塊鏈。當比特幣網絡中的對等節點開啟和關閉支付通道時,需要執行鏈上事務。
一旦通道開啟,比特幣的所有權就可以在鏈下進行雙向轉移。
通道內的交易是貨真價實的比特幣交易,但是當通道處於開啟狀態時,這些交易不會在比特幣網絡中廣播,而是由通道內的交易對手方存儲在本地。
因此,閃電網絡可以實現即時交易和近乎無限的吞吐量。
11. 問:有任何形式的挖礦保障閃電網絡的安全性嗎?
答:沒有,安全性由比特幣網絡中的礦工提供。
12. 問:比特幣區塊鏈的算力高達2 ExaHash/s,但是閃電網絡沒有任何算力保障其安全性……閃電網絡如何才能跟比特幣區塊鏈一樣安全呢?
答:閃電網絡的安全性源自比特幣區塊鏈。
閃電網絡無法獨立運行,它完全依賴於比特幣區塊鏈來保障安全性。
簡單來說,比特幣網絡是閃電網絡下方的安全網。
如果閃電網絡的通道出現問題(如交易對手方掉線),你還可以選擇落入安全網。
(你可以將通道的最新狀態作為普通的比特幣事務廣播到鏈上。)
13. 問:閃電網絡是否有自己的公共賬本或記錄所有交易的數據庫?
答:沒有,閃電網絡沒有自己的賬本和數據庫。
在閃電網絡上持有價值意味著你擁有經過雙重簽名的交易。這些交易都是有效的,只是沒有廣播到比特幣網絡上。
你持有的交易屬於2/2 多簽交易。
你和你的對手方都會簽署這些交易,並將它們存儲在本地。
這些交易將使用多簽地址作為輸入(資金地址),並指向兩個不同的地址作為輸出。
一個輸出指向只有你可以控制的地址,另一個輸出指向只有你的對手方可以控制的地址。
14. (1)問:你說閃電網絡中的交易都是真正的比特幣交易……既然沒有記錄在鏈上,怎麼能說是真實的比特幣交易呢?
簡答:
要想弄懂這點,我們首先要理解什麼是真正的比特幣交易……
事實上,比特幣區塊鏈上沒有所謂的“代幣”…… 只有已簽署的消息和提交至區塊鏈的更新。
假設Alice 向Bob 發送1 BTC ……
我們稱之為點對點交易,因為價值的所有權直接從Alice 轉移給了Bob。
但是Bob 實際上並沒有從Alice 那裡收到“數字代幣”。
實際情況是:網絡中的所有節點將更新它們存儲在本地的公共賬本副本。
公共賬本更新後,原先登記在Alice 的地址下的“代幣” 被重新登記到了Bob 的地址下。
詳解:
Alice 發送給Bob 的比特幣交易實際上只是一條Alice 廣播給所有人的帶有簽名的消息。
這個消息不僅發送給了Bob,還被廣播給了網絡中的所有節點。
在撰寫本文時,比特幣網絡中有5400 多個“全節點”。
Alice 向Bob 發送比特幣交易的具體流程如下:
當Alice 廣播她已簽名的消息(即比特幣交易)時,該消息將被網絡中的一些全節點接收。這些全節點將按照共識規則獨立驗證該消息(交易)。如果節點發現該消息有效,就會再次廣播該消息給網絡中的其它節點。網絡中的其它節點收到該消息後重複上述流程,直到全網5400 多個全節點都獨立驗證並廣播該消息(交易)為止。某一時刻,礦工成功挖出包含Alice 的消息(交易)的有效區塊。由於挖礦會消耗大量電力,礦工必須承擔高昂的成本。礦工將新挖出的區塊廣播出去。一些全節點將收到該區塊,並獨立驗證該區塊及其全部內容。這就意味著,它們會對Alice 的消息(交易)進行二次驗證。如果全節點(按照共識規則)確認該消息有效,它們將廣播該區塊給其它全節點。其它全節點接收、驗證並廣播該區塊。這一流程將持續下去,直到網絡中所有全節點都驗證過該區塊且二次驗證過Alice 的消息(交易)為止。
由上述步驟可見,一筆普通的比特幣交易實際上涉及到全網參與者。
Alice 的消息經過5400 個節點獨立驗證過兩次(總共經過10800 次驗證)。
儘管如此,我們還是稱之為“點對點交易” ,因為價值的所有權直接從Alice 轉移給了Bob。
(但是,所有人都要幫忙更新他們存儲在本地的賬本副本。)
結論:
比特幣交易本質上是帶有簽名的消息。
假設Alice 想要通過閃電網絡上的支付通道向Bob 發送1 BTC:
Alice 將一些BTC 存入一個2/2 多簽地址。
Alice 和Bob 簽署同一個消息,將1 BTC 的所有權從Alice 轉移給Bob。
該消息是一筆有效的比特幣交易,但是不會廣播到比特幣網絡上。
Alice 和Bob 都將該交易(消息)存儲在本地。
從Bob 的角度來看,這個“雙重簽名消息” 價值1 BTC。
這個消息之所以價值1 BTC,是因為Bob 隨時都可以在鏈上花費這筆錢,只需將該消息廣播至比特幣網絡即可。
比特幣交易= 帶有簽名的消息= 閃電網絡上的交易
任何貨幣交易的目的都是改變價值的所有權。
在比特幣網絡中,我們使用帶有簽名的消息來改變價值的所有權。
閃電網絡交易是雙重簽名消息。
因此,雙重簽名消息是貨真價實的比特幣交易。
14. (2)問:一個標準的比特幣交易需要鏈上確認……聲稱閃電網絡交易和比特幣交易一樣真的公平嗎?
答:說到點上了,二者是不同的……
閃電網絡交易是零確認交易。但是,只要被廣播到比特幣網絡上,它就和“鏈上的” 零確認交易一樣有效。
兩種交易最終都會被記錄到比特幣區塊鏈上,只要支付足夠多的交易費。
但是,相比標準的零確認交易,閃電網絡交易採用的安全模型不同,因此可靠得多。
閃電網絡交易間接受到工作量證明的保護。這是因為閃電網絡完全依賴於底層比特幣網絡(見第12 問)。
在一條開啟的閃電網絡通道內,會有一組不同的博弈論機制提供不同類型的安全模型。
閃電網絡將在不引入可信第三方的前提下擴展比特幣的功能。
但代價是,你必須通過運行全節點來監控比特幣網絡。
監控可以外包給其他人來做,但是這樣一來,你必須信任外部服務器會忠於職守。你的資產不會經過外部服務器路由。該服務器的唯一作用就是監控比特幣網絡,並在必要時廣播“懲罰交易”。
請注意,外包監控服務只是一種選擇,在你不想運行自己的全節點的時候可以選,不是說你非得外包。
第三方不可能從閃電網絡的通道內竊取資金。
另外還要注意的是,閃電網絡被設計為小額價值(低於100 美元)轉移平台。
所有閃電網絡交易必須經過通道內雙方參與者的簽名才能生效。因此,傳統的雙重花費攻擊很難成功。
但是,有一種風險是確實存在的,即,攻擊者可以將過時的閃電網絡交易廣播至比特幣網絡。
過時的閃電網絡交易指的是代表非最新通道狀態的交易。
上述風險就是你(或你信任的服務)必須運行“瞭望塔節點(Watcher Node)” 的原因。
瞭望塔節點會監控所有被廣播至比特幣網絡的交易。
如果你的觀察者節點發現了一筆過時交易,就會廣播一筆“懲罰交易” 來作為應對措施。
懲罰交易 可以讓你有權沒收你的通道內的所有資產(包括原本屬於你的交易對手方的資產)。
但是,只有當你發現過時交易被廣播上鍊時,你廣播的懲罰交易才有效。
由於你能夠廣播懲罰交易,你的對手方廣播過時交易時需要承擔很大的風險。
另一個安全/隱私功能是所有閃電網絡交易都將在參與者之間進行端到端加密。
總結:
閃電網絡交易在安全模型上有別於傳統的比特幣交易。
一旦被廣播到比特幣網絡上,閃電網絡交易就會被視為有效的比特幣交易。
但是,
只要支付通道處於開啟狀態,通道內的交易就不會被廣播上鍊,只會在通道內的參與者之間進行交換,並由參與者存儲在本地。
因此,我們可以將閃電網絡交易定義為:
帶有額外安全機制的未被廣播的零確認多簽比特幣交易。
15. 問:我聽過閃電網絡需要用戶持續監控區塊鏈……這是真的嗎?
答:沒錯,這是真的。
用戶需要運行軟件來主動監控區塊鏈上是否存在違約行為(即,廣播過時交易)。
但是,用戶也可以將監控外包給第三方服務提供商。
外包不會侵犯你的隱私,但是你必須信任服務提供商會誠實守信。
優點是:
這會鼓勵更多人在比特幣網絡上運行全節點。
你的全節點甚至可以幫你賺點小錢:
“全節點/閃電網絡節點” 可以作為“Bob” 賺取手續費(詳見下文解釋)。
你還可以選擇自己配置全節點來提供區塊鏈監控服務。從理論上來說,這會給你帶來一些“微薄的收入”。
16. 問:我聽說閃電網絡會收取一些手續費……這些手續費是給誰的?
答:運行閃電網絡節點的任何人。
舉例:
Alice 想給Carol 轉賬,但是Alice 與Carol 之間沒有支付通道。幸好Alice 和Carol 都與Bob 創建了支付通道。 Alice 可以通過Bob 將付款路由給Carol,免去與Carol 開通新的通道的麻煩:
Alice —> Bob —> Carol
在這種情況下,Bob 會收取少量手續費。
17. 問:使用路由支付時,如果防止中間方Bob 私吞?
簡答:
Bob 先用自己的錢付給Carol,再從Alice 那裡拿回錢。
詳解:
Carol 生成一個隨機數R 作為臨時秘密值。 Carol 計算出R 的哈希值H。 Carol 將H 告訴Alice。 Alice 創建了一筆特殊的轉賬交易,收款方是Bob 。但是,該交易必須包含R 才有效。此時,由於缺少R,該交易無效。 Alice 將H 告訴了Bob,Bob 知道H 就是缺失的R 的哈希值。 Bob 創建了另一筆特殊的轉賬交易,收款方是Carol。但是,這個交易也必須包含R 才有效。此時,由於Bob 沒有R,該交易無效。 Carol 想拿回她的錢,於是將R 告訴Bob,讓交易生效。由於Bob 已經有了Alice 創建的交易,可以直接將R 放入交易使其生效。 Bob 可以根據R 的哈希值H 來驗證Carol 是否給了他對的R 。與此同時,Bob 也將R 透露給了Alice。
現在,Alice 可以使用R 來證明她已經把錢付給了Carol(R 起到了收據的作用)。
18. 問:閃電網絡需要隔離見證嗎?
答:靠譜的答案請戳
https://medium.com/@rusty_lightning/bitcoin-lightning-things-to-know-e5ea8d84369f#.oujgao7s2
19. 問:我還可以在哪裡找到更多關於閃電網絡的信息?
答:閃電網絡的相關資料:
https://medium.com/lightning-resources
http://lightning.network/
https://letstalkbitcoin.com/blog/post/lets-talk-bitcoin-286-drinks-on-a-lightning-network
https://letstalkbitcoin.com/blog/post/the-lightning-network-elidhdicacs
https://github.com/lightningnetwork/lightning-rfc/blob/master/00-introduction.md
https://www.youtube.com/watch?v=8zVzw912wPo
(完)
(文內有許多超鏈接,可點擊左下”閱讀原文“ 從EthFans 網站上獲取)
原文鏈接:
https://medium.com/@The1Brand7/lightning-faq-67bd2b957d70
作者: Brand
翻譯&校對: 閔敏& 阿劍