- 哈希時(shí)間鎖定智能合約(HTLCs)
- 閃電網(wǎng)絡(luò)的骯臟小秘密
- 為什么 “閃電網(wǎng)絡(luò)骯臟的小秘密” 值得關(guān)注
- 最后的話(huà)
聲明:本文由內(nèi)容合作伙伴 36 氪戰(zhàn)略合作區(qū)塊鏈媒體“Odaily星球日?qǐng)?bào)” 授權(quán)發(fā)布,譯者 : Moni。
本文來(lái)自與 Medium,原文作者是比特幣無(wú)限(Bitcoin Unlimited)首席科學(xué)家 Peter R. RIzun
圖片來(lái)源圖蟲(chóng):已授使用
比特幣閃電網(wǎng)絡(luò)(Lighting Network)概念是在知名開(kāi)發(fā)人員 Joseph Poon 和 Thaddeus Dryja 發(fā)布的《比特幣閃電網(wǎng)絡(luò):可擴(kuò)展鏈下實(shí)時(shí)支付》(The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments)白皮書(shū)中提出的,本質(zhì)上是由哈希時(shí)間鎖定智能合約(Hashed Time Lock Contract)來(lái)安全地處理“0 確認(rèn)“交易的一種機(jī)制,通過(guò)巧妙設(shè)置”智能合約“,用戶(hù)可以在閃電網(wǎng)絡(luò)上進(jìn)行未確認(rèn)的交易。
閃電網(wǎng)絡(luò)支付通道時(shí)通過(guò)哈希時(shí)間鎖定智能合約來(lái)實(shí)現(xiàn)的——這其實(shí)就是限時(shí)轉(zhuǎn)賬,通過(guò)該智能合約,雙方約定轉(zhuǎn)賬方先凍結(jié)一筆錢(qián),并提供一個(gè)哈希鎖將發(fā)起方的交易代幣鎖定,如果在規(guī)定時(shí)間內(nèi)有人能夠提供之前生成支付的加密證明,并且與之前約定的哈希值一致,交易即可完成。
然而,閃電網(wǎng)絡(luò)哈希時(shí)間鎖定智能合約真的如我們想象中的那么完美嗎?在此,星球君(微信:o-daily)希望通過(guò) Peter R. RIzun 的分析告訴大家一個(gè)答案。首先,Peter R. RIzun 虛構(gòu)設(shè)計(jì)了三個(gè)人:Alice、Bob、和 Carol,通過(guò)他們之間的閃電網(wǎng)絡(luò)交易來(lái)解釋哈希時(shí)間鎖定智能合約的問(wèn)題。
閃電通道可以被看作是再兩個(gè)人之間伸展的一串珠子(參考圖1),Alice 如果想要支付給 Bob 一筆費(fèi)用,相當(dāng)于把自己的一個(gè)珠子推送給 Bob。如果 Bob和 Carol 之間也有一個(gè)閃電網(wǎng)絡(luò)通道,那么 Alice 可以通過(guò) Bob 給 Carol 支付,相當(dāng)于:Alice 推送一個(gè)珠子給 Bob,然后 Bob 再推送一個(gè)珠子給 Carol。這里我們就會(huì)發(fā)現(xiàn)閃電網(wǎng)絡(luò)流動(dòng)性基本規(guī)則中存在的一個(gè)問(wèn)題,即珠子可以從一側(cè)移動(dòng)到另一側(cè),但是卻無(wú)法離開(kāi)他們依附的那條“繩子”。
圖 1:Alice 可以發(fā)送一筆支付給 Carol,但需要通過(guò) Bob 路由這筆交易。因?yàn)橹樽硬荒茈x開(kāi)他們依附的那根“繩子“,Bob 可以在與 Alice 連接的那根”繩子“上增加一顆珠子,然后在與 Carol 連接的那根”繩子“上減少一顆珠子。
這其實(shí)就是閃電網(wǎng)絡(luò)上的資金流動(dòng)方式,但是這種模式并沒(méi)有告訴我們?yōu)槭裁赐ㄟ^(guò)閃電網(wǎng)絡(luò)支付是安全可靠的。舉個(gè)例子,如果 Bob 一直保留 Alice 推送給他的那一個(gè)珠子,然后一直不給 Carol 發(fā)送一個(gè)珠子,情況又會(huì)如何呢?
事實(shí)上,這就是本文撰寫(xiě)的目的——尋找“究竟是什么讓閃電支付變得‘去信任(trustless)’?“這個(gè)問(wèn)題的答案。此外在文章的最后,我們還會(huì)揭示閃電網(wǎng)絡(luò)一個(gè)骯臟的小秘密:閃電網(wǎng)絡(luò)小額支付并非完全”去信任“——路由節(jié)點(diǎn)可能會(huì)丟失客戶(hù)資金。
(星球君注:區(qū)塊鏈去信任是指用戶(hù)不需要相信任何第三方。用戶(hù)使用去信任的系統(tǒng)或技術(shù)處理交易時(shí)非常安全和順暢,交易雙方都可以安全地交易,而不需要依賴(lài)信任的第三方。)
哈希時(shí)間鎖定智能合約(HTLCs)
為了解釋是什么阻止 Bob 一直保留 Alice 發(fā)送給自己的那一個(gè)珠子,而且不把一個(gè)珠子發(fā)送給 Carol,我們需要在閃電網(wǎng)絡(luò)通道上引入一個(gè)物理類(lèi)比——“鎖(locks)“。”鎖“可以被放置在Alice、Bob 和 Carol 共同依附的那條“繩子“上并限制珠子的移動(dòng),只有當(dāng)特定條件被滿(mǎn)足的時(shí)候,”鎖“才會(huì)被打開(kāi)。閃電網(wǎng)絡(luò)支付中使用的哈希時(shí)間鎖定智能合約包含兩種類(lèi)型的”鎖“(參見(jiàn)圖2):
第一種是在提供正確密碼的時(shí)候才能被打開(kāi)的“鎖“——我們稱(chēng)之為”哈希鎖(hash-lock)“。
第二種是在一段時(shí)間延遲之后自動(dòng)打開(kāi)的“鎖“——我們稱(chēng)之為”時(shí)間鎖(time-lock)“。
圖2:當(dāng)哈希值達(dá)到指定值的時(shí)候(在本例中為45f8),輸入密碼即可打開(kāi)哈希鎖;而時(shí)間鎖則是在指定時(shí)間過(guò)后就會(huì)被打開(kāi)(在本例中為 48 小時(shí))。
現(xiàn)在,讓我們重新回到 Alice 通過(guò) Boc 向 Carol 支付一個(gè)珠子的例子上。為了讓這筆支付交易“去信任“,Alice、Bob 和 Carol 需要同時(shí)在線(xiàn),而且還要按照各方都設(shè)定好的方式參與交易。
首先,Alice 必須要求 Carol 想出一個(gè)密碼,并告訴她這個(gè)密碼的哈希值。讓我們假設(shè)想出的這個(gè)密碼是“boondoggle“,而與之對(duì)應(yīng)的哈希值是”45f8“。接下來(lái),Alice 要在她和 Bob 之間設(shè)置一個(gè)哈希鎖,并且該鎖必須要在輸入哈希值是”45f8“的密碼時(shí)才能被打開(kāi)。此時(shí),Alice 和 Bob 都無(wú)法打開(kāi)這個(gè)哈希鎖,因?yàn)樗麄兌疾恢烂艽a。Alice 之后會(huì)向這個(gè)哈希鎖推送一個(gè)珠子,最后她會(huì)在自己的珠子上設(shè)置一個(gè)時(shí)間鎖,并將其設(shè)置為 48 小時(shí)之后打開(kāi)(如圖 3 所示)。
圖3,在了解到 Carol 秘密設(shè)置的密碼哈希值之后,Alice 可以設(shè)置一個(gè)哈希鎖,并以此保護(hù)他轉(zhuǎn)移給 Bob 的代幣(該代幣之后會(huì)路由給 Carol)。Alice 就會(huì)用時(shí)間鎖鎖定代幣,如果 Bob 未能在 48 小時(shí)內(nèi)完成付款,她就會(huì)把這筆錢(qián)取回。
如果能夠在 48 小時(shí)內(nèi)找到 Carol 設(shè)定的密碼,Bob 就能拿到 Alice 發(fā)出的珠子。與此同時(shí),Bobby 也知道(因?yàn)?Alice 會(huì)告訴他)Carol 會(huì)公布這個(gè)密碼來(lái)?yè)Q取他的一個(gè)珠子。為了誘使 Carol 采取行動(dòng),Bob 可以在他和 Carol 之間放置一個(gè)相同的哈希鎖,其中放置了他自己的一個(gè)珠子,然后 Bob 可以再設(shè)置另一個(gè)時(shí)間鎖(如圖 4 所示)。他知道如果要讓 Carol 打開(kāi)哈希鎖并拿走珠子,Carol 必須要輸入密碼——很明顯,這個(gè)密碼會(huì)和 Alice 設(shè)定給 Bob 打開(kāi)的那個(gè)哈希鎖密碼一樣。
圖4:如果 Carol 在 48 小時(shí)結(jié)束之前公布了 Alice 的密碼,那么Bob 會(huì)看到 Alice 提供給他的代幣。Bob 會(huì)設(shè)置相同的哈希鎖,然后推送一個(gè)代幣給 Carol,并用一個(gè)時(shí)間鎖鎖定該代幣。Carol 要獲取 Bob 這個(gè)代幣的唯一方式,就是公布 Bob 需要從 Alice 那里獲取代幣的哈希鎖密碼。
Carol 看到自己要獲取的那個(gè)珠子,然后在鎖中輸入密碼“boondoggle“(Bob 可以看到并記住),該鎖的 CUP 確認(rèn)了密碼為“boondoogle”的哈希值是 45f8,然后就打開(kāi)了這個(gè)鎖。接下來(lái),Carol 把這個(gè)珠子順著“繩子”移到了自己這邊(如圖 5 所示)。
圖5,Carol 公布了自己的密碼,然后打開(kāi)密碼鎖取出代幣。
獲取了 Carol 的密碼之后,Bob 用同樣的方式解鎖了 Alice 給自己的珠子(如圖 6 所示),整個(gè)支付交易完成。
圖6,獲取了 Carol 的密碼之后,Bob 現(xiàn)在可以獲取 Alice 給自己的珠子,整個(gè)支付交易也因此完成了。
你可能想知道,為什么 Bob 會(huì)是第一個(gè)參與整個(gè)流程的人?因?yàn)槿绻?Carol 沒(méi)有參與合作的話(huà),Bob 的珠子會(huì)被一直凍結(jié),直到時(shí)間鎖過(guò)期。而在實(shí)際交易中,Alice 向 Bob 發(fā)送的資金可能會(huì)比她給 Carol 的資金更多一點(diǎn),因?yàn)?Alice 希望用這種方式作為 Bob 工作的費(fèi)用,或是避免出現(xiàn)不必要的風(fēng)險(xiǎn)。支付交易完成之后,Bob 的賬戶(hù)余額會(huì)比這筆交易完成之前的更多一點(diǎn),從而也激勵(lì)他能去完成這筆交易(或是類(lèi)似的交易)。
當(dāng)然,你可能也想知道在整個(gè)閃電網(wǎng)絡(luò)交易過(guò)程中為什么要使用時(shí)間鎖。事實(shí)上,如果支付交易因?yàn)楦鞣N原因未能成功,時(shí)間鎖能夠讓交易參與各方收回自己的資金。舉個(gè)例子,想象一下如果 Alice 把珠子轉(zhuǎn)移給 Bob 并添加了哈希鎖和時(shí)間鎖之后,Bob 突然不合作處理這筆交易,此時(shí)時(shí)間鎖就能幫助 Alice 取回自己發(fā)送給 Bob 的那個(gè)珠子,因?yàn)樗灰却龝r(shí)間鎖到期就可以了。在此期間,Bob 根本無(wú)法偷走這個(gè)珠子,因?yàn)樗枰?Carol 的ima,而且如果 Bob 不給 Carol 轉(zhuǎn)移一個(gè)珠子的話(huà),他就無(wú)法獲得這個(gè)密碼,因此對(duì)于 Bob 來(lái)說(shuō)必須轉(zhuǎn)出一個(gè)珠子,才能獲得一個(gè)珠子。
如果你對(duì)閃電網(wǎng)絡(luò)支付流程感興趣的話(huà),可以深入探討一下如果其中一方在不同步驟中變得不合作,Alice、Bob 和 Carol 會(huì)不會(huì)因?yàn)閷?duì)方行為面臨資金損失的風(fēng)險(xiǎn)。
閃電網(wǎng)絡(luò)的骯臟小秘密
閃電網(wǎng)絡(luò)有一個(gè)很少人知道的骯臟小秘密,如果想要了解這個(gè)秘密是什么,以及這個(gè)秘密對(duì)閃電網(wǎng)絡(luò)支付交易會(huì)有什么影響——我們需要再深入挖掘一下。
現(xiàn)在讓我們回想一下,當(dāng) Alice 通過(guò) Bob 向 Carol 發(fā)送一筆支付交易的時(shí)候,其中還存在一種“中間狀態(tài)”(如圖 7 所示)。我們就直接用比特幣來(lái)做解釋?zhuān)罓顟B(tài)包括三種輸出:
1、Alice 的比特幣;
2、Bob 的比特幣;
3、“交易過(guò)程中(in flight)”的比特幣。
圖7,此時(shí)閃電網(wǎng)絡(luò)通道狀態(tài)交易包含了三種輸出:Alice 的比特幣、Bob 的比特幣、以及“交易過(guò)程中”的比特幣。
問(wèn)題在于:如果交易過(guò)程中的比特幣價(jià)值低于低于比特幣粉塵(dust)闕值,此時(shí)這筆費(fèi)用則不能在通道狀態(tài)交易中表示為第三類(lèi)輸出!換句話(huà)受,如果支付金額太小,則無(wú)法使用哈希鎖和時(shí)間鎖來(lái)保護(hù)這筆交易。(星球君 o-daily 注:粉塵就是那些金額太小的 UTXO,把他們花費(fèi)出去需要支付的手續(xù)費(fèi)高出了其自身價(jià)值,所以粉塵就花不出去了。)
為了解釋閃電網(wǎng)絡(luò)如何處理這個(gè)問(wèn)題,我必須要首先坦白一個(gè)問(wèn)題,一開(kāi)始例子中“繩子“上的珠子數(shù)量并不是固定不變的。實(shí)際上,每根”繩子“邊上都應(yīng)該還有一個(gè)”籃子“,這個(gè)”籃子“的標(biāo)簽是”礦工的費(fèi)用“,其中包含了很小一部分珠子。”籃子“里的代幣價(jià)值將會(huì)由確認(rèn)通道狀態(tài)交易的礦工聲明,然后渠道狀態(tài)會(huì)被推送到區(qū)塊鏈上。也就是說(shuō),有一部分珠子會(huì)從”繩子“上移動(dòng)到”籃子“里,或者從”籃子“里移回到”繩子“上,但這種情況只有當(dāng)通道兩端的人都同意時(shí)才會(huì)發(fā)生。
對(duì)于小額支付交易而言,Alice 和 Bob 只是將“交易過(guò)程中的價(jià)值“移動(dòng)到”費(fèi)用籃子“里,而不是使用哈希鎖和時(shí)間鎖來(lái)鎖定價(jià)值(如圖 8 所示)。Bob 相信 Alice 會(huì)與他合作,而當(dāng)他公布 Carol 的密碼的時(shí)候,” 交易過(guò)程中的價(jià)值“就會(huì)被他從”費(fèi)用籃子“里拿出來(lái)。
圖8,如果“交易過(guò)程中“的比特幣低于粉塵闕值,則不能使用哈希時(shí)間鎖定智能合約機(jī)制,因?yàn)樵趶V播情況下通道狀態(tài)交易無(wú)法被挖掘,此時(shí)”交易過(guò)程中“的代幣會(huì)被傾倒進(jìn)”礦工費(fèi)用籃子“里。
Bob 隨后可以將“交易過(guò)程中的價(jià)值“轉(zhuǎn)儲(chǔ)到他與 Carol 分享的第二個(gè)”費(fèi)用籃子”里,并且承諾如果自己知道密碼之后就會(huì)把這個(gè)“籃子”給 Carol。Carol 告訴了 Bob 這個(gè)秘密,然后 Bob 和 Carol 一起把“費(fèi)用籃子”里的這筆支付款轉(zhuǎn)移到了 Carol 的一側(cè)。接下來(lái),Bob 又回到 Alice 這邊,告訴了她 Carol 的秘密,然后,如果一切順利的話(huà),Alice 也會(huì)與 Bob 合作,把“交易過(guò)程中的價(jià)值”從“籃子”里取出來(lái)并放到“繩子”上 Bob 的一側(cè)。
與前面描述的哈希時(shí)間鎖定智能合約不同,上述防范依賴(lài)于信任。比如,Carol 可以向 Bob 透露密碼,然后 Bob 可以將付款留在“費(fèi)用籃子”里,接著直接去找 Alice 并告訴她密碼就能拿到的這筆付款了。
在這種情況下,Carol 的追索權(quán)是非常有限的:她要么什么都不做,并且接受損失,要么關(guān)閉她與 Bob 的通道。但是關(guān)閉與 Bob 之間的通道又無(wú)法成全自己,因?yàn)槟枪P她理應(yīng)收到的錢(qián)其實(shí)已經(jīng)被發(fā)送給了礦工。
盡管上述問(wèn)題聽(tīng)起來(lái)非常瑣碎,但在實(shí)際情況下卻真的能夠運(yùn)作起來(lái)。當(dāng)然,Bob 沒(méi)有什么特別的動(dòng)機(jī)不把錢(qián)給 Carol,但是如果他不給的話(huà),對(duì)自己也沒(méi)什么好處,因?yàn)榈V工將會(huì)保留額外的資金,這筆錢(qián)并不會(huì)留在 Bob 手上。不僅如此,如果 Bob 真的這么做——即不把 Alice 通過(guò)自己發(fā)送給 Carol 的錢(qián)給 Carol,Carol 很可能會(huì)關(guān)閉通道,這意味著 Bob 是不值得信任的。這樣看來(lái),Bob 能夠造成的損害似乎也比較有限,除了這筆支付交易的金額之外,還有就是構(gòu)建一個(gè)新閃電通道的成本(因?yàn)?Carol 已經(jīng)關(guān)閉通道了)。
為什么 “閃電網(wǎng)絡(luò)骯臟的小秘密” 值得關(guān)注
閃電網(wǎng)絡(luò)這個(gè)“骯臟的小秘密”非常值得關(guān)注,因?yàn)樗沂玖说谝粚?L1)的問(wèn)題(摩擦)已經(jīng)轉(zhuǎn)移到了第二層(L2)中,迫使第二層協(xié)議不得不實(shí)施復(fù)雜且難以理解的解決方案。在這種情況下,這些解決方案會(huì)改變閃電網(wǎng)絡(luò)的“去信任”本質(zhì):對(duì)于高于粉塵闕值的支付交易,Alice、Bob 和 Carol 都不會(huì)因?yàn)閷?duì)方的任何行為而損失資金;而對(duì)于低于粉塵闕值的支付交易,Alice、Bob 和 Carol 則有可能因?yàn)閷?duì)方的過(guò)錯(cuò)而損失資金——顯然,這與人們理解的閃電網(wǎng)絡(luò)安全支付交易模式不一樣了。
可能有人會(huì)爭(zhēng)辯說(shuō):
“我們談?wù)摰闹皇切∥⒅Ц叮哉l(shuí)會(huì)在乎這個(gè)問(wèn)題呢?”
然而,這種想法其實(shí)并不對(duì),原因有以下兩點(diǎn):
1、使用區(qū)塊鏈作為高費(fèi)用清算層的比特幣核心擴(kuò)容計(jì)劃將會(huì)提升粉塵闕值。粉塵其實(shí)是那些金額太小的未花費(fèi)交易輸出,把他們花費(fèi)出去需要支付的鏈上費(fèi)用高出了其自身價(jià)值,所以粉塵就花不出去了。但是如果將粉塵闕值提升,比如 100 美元,那么世界上絕大部分比特幣交易可能都會(huì)變成“粉塵”;
2、一些小微支付交易可能會(huì)出現(xiàn)快速、連續(xù)地丟失(例如發(fā)生了一起閃電網(wǎng)絡(luò)路由攻擊),可能會(huì)造成重大損失。
想象一下,未來(lái)大部分支付交易都發(fā)生在閃電網(wǎng)絡(luò)上,第一層上的交易費(fèi)用一直都超過(guò) 100 美元,此時(shí)主鏈上低于 100 美元的粉塵輸出就會(huì)變得沒(méi)什么價(jià)值了,因?yàn)殒溕腺M(fèi)用比交易金額本身還高。
現(xiàn)在閃電網(wǎng)絡(luò)還有另一個(gè)問(wèn)題:即使 50 美元的支付交易也可能無(wú)法做到“去信任”,因?yàn)槿绻?50 美元低于粉塵交易闕值的情況下(考慮到 50 美元在第一層協(xié)議上也可能出現(xiàn)鏈上費(fèi)用比交易金額本身還高的情況,因此未來(lái)設(shè)置這個(gè)粉塵闕值政策也是合理的),哈希時(shí)間鎖定智能合約就不能用于保護(hù) 50 美元以下的支付交易了,也就是說(shuō)用戶(hù)可能會(huì)因?yàn)樽约旱倪^(guò)錯(cuò)導(dǎo)致?lián)p失 50 美元。
當(dāng)然,如果為了避免這個(gè)骯臟的小秘密引發(fā)“循環(huán)漏掉(loop hole)”,開(kāi)發(fā)人員可以嘗試將粉塵闕值設(shè)置為 1 美元,這樣大多數(shù)閃電網(wǎng)絡(luò)交易就可以繼續(xù)使用哈希時(shí)間鎖定智能合約來(lái)保障資金安全。但問(wèn)題是,當(dāng)粉塵闕值設(shè)置的較低,輸出就不會(huì)被花費(fèi)出去。
也有人覺(jué)得路由節(jié)點(diǎn)可能會(huì)丟失客戶(hù)資金,如果未來(lái)粉塵費(fèi)用闕值提升的話(huà),這些丟失的資金規(guī)模可能會(huì)比較大。我同樣也不太認(rèn)同這種看法,因?yàn)殚W電網(wǎng)絡(luò)支付路由的全部目的就是以交易費(fèi)來(lái)賺錢(qián),通常路由會(huì)利用自己的費(fèi)用優(yōu)勢(shì)吸引更多流動(dòng)性,路由節(jié)點(diǎn)的交易量越多,費(fèi)用自然也就越多。現(xiàn)在,閃電網(wǎng)絡(luò)開(kāi)發(fā)人員已經(jīng)意識(shí)到不可能讓全部用戶(hù)都來(lái)路由支付交易,對(duì)于普通用戶(hù)來(lái)說(shuō),開(kāi)發(fā)人員更多地是鼓勵(lì)他們使用非廣告通道來(lái)進(jìn)行支付交易,同時(shí)永遠(yuǎn)不要把自己變成一個(gè)路由。
如果未來(lái)閃電網(wǎng)絡(luò)上的費(fèi)用變得更高,那么一個(gè)路由中心(hub)則可以對(duì)用戶(hù)資金進(jìn)行有效的監(jiān)管控制。然而路由中心其實(shí)也不可靠,對(duì)于一個(gè)獨(dú)立用戶(hù)來(lái)說(shuō),如果支付交易沒(méi)有得到哈希時(shí)間鎖定智能合約的保護(hù),就很難在區(qū)塊鏈上清算并收回資金。不僅如此,如果用戶(hù)余額與鏈上費(fèi)用處于同一數(shù)量級(jí),用戶(hù)也會(huì)被路由中心困住。事實(shí)上,擺脫一個(gè)“糟糕”的通道其實(shí)很不值得,因?yàn)檫@么做會(huì)讓用戶(hù)失去自己的全部資金。
此外,路由中心還會(huì)設(shè)定一些特定條件,比如出于反洗錢(qián)(AML)和“了解你的客戶(hù)(KYC)”目的而不轉(zhuǎn)接洋蔥路由(onion-routing)信息。如果客戶(hù)無(wú)法滿(mǎn)足這些特定條件的話(huà),路由中心就會(huì)無(wú)限期地鎖定客戶(hù)資金。這樣一來(lái),對(duì)用戶(hù)來(lái)說(shuō)他們唯一的選擇就是要么在區(qū)塊鏈上進(jìn)行清算,要么就丟失全部資金——這根本就不算是真正的選擇!更可怕的是,路由中心還可以設(shè)置高額費(fèi)用,用戶(hù)如果想要獲得自己的錢(qián),就不得不支付這筆錢(qián),他們別無(wú)選擇。
未來(lái),那些連接狀態(tài)較好、但卻收取較高鏈上費(fèi)用的閃電網(wǎng)絡(luò)路由中心必須要受到監(jiān)管,因?yàn)樗麄円呀?jīng)能夠?qū)ζ淇蛻?hù)資金進(jìn)行“托管控制(custodial control)”了。
因此,我們能不能設(shè)想推出一個(gè)這樣的法則:
當(dāng)?shù)诙由系闹Ц督痤~低于在第一層上可實(shí)行的支付交易金額,該交易就不能被“去信任”。
如果底層區(qū)塊鏈不受約束,閃電網(wǎng)絡(luò)就很可能無(wú)法像人們所期望的那樣工作。
最后的話(huà)
未來(lái),當(dāng)大多數(shù)比特幣交易都發(fā)生在閃電網(wǎng)絡(luò)上,而且區(qū)塊鏈也收取高額費(fèi)用的時(shí)候,人們可能會(huì)發(fā)現(xiàn)閃電網(wǎng)絡(luò)和預(yù)期的有很大不同,除了本文提到的這個(gè)“骯臟的小秘密”之外,其他閃電網(wǎng)絡(luò)的潛在問(wèn)題還包括:
1、閃電網(wǎng)絡(luò)擴(kuò)容的是交易,而不是用戶(hù)。運(yùn)行完整閃電網(wǎng)絡(luò)交易驗(yàn)證節(jié)點(diǎn)的成本仍然很高;
2、第一層上的問(wèn)題(摩擦)會(huì)影響第二層可互換性(fungibility),代幣存在“位置依賴(lài)(position-dependent)”價(jià)值;
3、流動(dòng)性:通過(guò)閃電網(wǎng)絡(luò)交易,大多數(shù)“財(cái)富狀態(tài)”其實(shí)是無(wú)法獲得的,支付失敗也是不可避免的;
4、如果閃電網(wǎng)絡(luò)鋪的很大,路由就會(huì)變得越來(lái)越難:閃電網(wǎng)絡(luò)路由中心將集中化地減少路由和流動(dòng)性問(wèn)題;
5、對(duì)于使用非托管錢(qián)包的用戶(hù)來(lái)說(shuō),體驗(yàn)總是很糟糕:用戶(hù)需要在現(xiàn)上接收資金,然后還要雇傭“瞭望塔(watch towers)”來(lái)監(jiān)控通道是否存在欺詐行為,并且訂閱源路由服務(wù)來(lái)發(fā)送支付交易,甚至還要?jiǎng)討B(tài)備份通道狀態(tài)防止數(shù)據(jù)損壞。
6、系統(tǒng)性風(fēng)險(xiǎn):閃電網(wǎng)絡(luò)通道(熱錢(qián)包)里需要鎖定大量代幣,這樣才能確保提供足夠的流動(dòng)性;
7、當(dāng)區(qū)塊獎(jiǎng)勵(lì)用完的時(shí)候,第一層上的總礦工費(fèi)將不足以確保區(qū)塊鏈安全。