Odaily星球日報譯者|Moni
比特幣閃電網絡概念是在知名開發人員JosephPoon和ThaddeusDryja發布的《比特幣閃電網絡:可擴展鏈下實時支付》白皮書中提出的,本質上是由哈希時間鎖定智能合約來安全地處理“0確認“交易的一種機制,通過巧妙設置”智能合約“,用戶可以在閃電網絡上進行未確認的交易。閃電網絡支付通道時通過哈希時間鎖定智能合約來實現的——這其實就是限時轉賬,通過該智能合約,雙方約定轉賬方先凍結一筆錢,并提供一個哈希鎖將發起方的交易代幣鎖定,如果在規定時間內有人能夠提供之前生成支付的加密證明,并且與之前約定的哈希值一致,交易即可完成。然而,閃電網絡哈希時間鎖定智能合約真的如我們想象中的那么完美嗎?在此,星球君希望通過PeterR.RIzun的分析告訴大家一個答案。首先,PeterR.RIzun虛構設計了三個人:Alice、Bob、和Carol,通過他們之間的閃電網絡交易來解釋哈希時間鎖定智能合約的問題。閃電通道可以被看作是再兩個人之間伸展的一串珠子,Alice如果想要支付給Bob一筆費用,相當于把自己的一個珠子推送給Bob。如果Bob和Carol之間也有一個閃電網絡通道,那么Alice可以通過Bob給Carol支付,相當于:Alice推送一個珠子給Bob,然后Bob再推送一個珠子給Carol。這里我們就會發現閃電網絡流動性基本規則中存在的一個問題,即珠子可以從一側移動到另一側,但是卻無法離開他們依附的那條“繩子”。
圖1:Alice可以發送一筆支付給Carol,但需要通過Bob路由這筆交易。因為珠子不能離開他們依附的那根“繩子“,Bob可以在與Alice連接的那根”繩子“上增加一顆珠子,然后在與Carol連接的那根”繩子“上減少一顆珠子。這其實就是閃電網絡上的資金流動方式,但是這種模式并沒有告訴我們為什么通過閃電網絡支付是安全可靠的。舉個例子,如果Bob一直保留Alice推送給他的那一個珠子,然后一直不給Carol發送一個珠子,情況又會如何呢?事實上,這就是本文撰寫的目的——尋找“究竟是什么讓閃電支付變得‘去信任’?“這個問題的答案。此外在文章的最后,我們還會揭示閃電網絡一個骯臟的小秘密:閃電網絡小額支付并非完全”去信任“——路由節點可能會丟失客戶資金。哈希時間鎖定智能合約
比特幣閃電網絡節點數量為34980個:2月25日消息,1ML網站數據顯示,比特幣閃電網絡(LightningNetwork)的節點數量為34980個,同比增長4.5%;通道數量為87159個,同比增長1.6%;網絡容量為3464.26BTC,同比增長3%。[2022/2/25 10:14:23]
為了解釋是什么阻止Bob一直保留Alice發送給自己的那一個珠子,而且不把一個珠子發送給Carol,我們需要在閃電網絡通道上引入一個物理類比——“鎖“。”鎖“可以被放置在Alice、Bob和Carol共同依附的那條“繩子“上并限制珠子的移動,只有當特定條件被滿足的時候,”鎖“才會被打開。閃電網絡支付中使用的哈希時間鎖定智能合約包含兩種類型的”鎖“:第一種是在提供正確密碼的時候才能被打開的“鎖“——我們稱之為”哈希鎖“。第二種是在一段時間延遲之后自動打開的“鎖“——我們稱之為”時間鎖“。
圖2:當哈希值達到指定值的時候,輸入密碼即可打開哈希鎖;而時間鎖則是在指定時間過后就會被打開。現在,讓我們重新回到Alice通過Boc向Carol支付一個珠子的例子上。為了讓這筆支付交易“去信任“,Alice、Bob和Carol需要同時在線,而且還要按照各方都設定好的方式參與交易。首先,Alice必須要求Carol想出一個密碼,并告訴她這個密碼的哈希值。讓我們假設想出的這個密碼是“boondoggle“,而與之對應的哈希值是”45f8“。接下來,Alice要在她和Bob之間設置一個哈希鎖,并且該鎖必須要在輸入哈希值是”45f8“的密碼時才能被打開。此時,Alice和Bob都無法打開這個哈希鎖,因為他們都不知道密碼。Alice之后會向這個哈希鎖推送一個珠子,最后她會在自己的珠子上設置一個時間鎖,并將其設置為48小時之后打開。
圖3,在了解到Carol秘密設置的密碼哈希值之后,Alice可以設置一個哈希鎖,并以此保護他轉移給Bob的代幣。Alice就會用時間鎖鎖定代幣,如果Bob未能在48小時內完成付款,她就會把這筆錢取回。如果能夠在48小時內找到Carol設定的密碼,Bob就能拿到Alice發出的珠子。與此同時,Bobby也知道Carol會公布這個密碼來換取他的一個珠子。為了誘使Carol采取行動,Bob可以在他和Carol之間放置一個相同的哈希鎖,其中放置了他自己的一個珠子,然后Bob可以再設置另一個時間鎖。他知道如果要讓Carol打開哈希鎖并拿走珠子,Carol必須要輸入密碼——很明顯,這個密碼會和Alice設定給Bob打開的那個哈希鎖密碼一樣。
動態 | 觀點:閃電網絡自身性質對僵尸網絡而言極具吸引力:據Decrypt 12月30日消息,12月24日,佛羅里達國際大學的研究人員發表論文指出,閃電網絡的匿名性以及缺乏審查的特點導致其對僵尸網絡攻擊來說極具吸引力。他們認為這些特點為傳播和遠程控制惡意軟件提供了很多優勢。研究人員甚至自己做了一個概念證明LNBot,其實一個隱蔽的混合僵尸網絡,可以用于竊取資金。[2019/12/31]
圖4:如果Carol在48小時結束之前公布了Alice的密碼,那么Bob會看到Alice提供給他的代幣。Bob會設置相同的哈希鎖,然后推送一個代幣給Carol,并用一個時間鎖鎖定該代幣。Carol要獲取Bob這個代幣的唯一方式,就是公布Bob需要從Alice那里獲取代幣的哈希鎖密碼。Carol看到自己要獲取的那個珠子,然后在鎖中輸入密碼“boondoggle“,該鎖的CUP確認了密碼為“boondoogle”的哈希值是45f8,然后就打開了這個鎖。接下來,Carol把這個珠子順著“繩子”移到了自己這邊。
圖5,Carol公布了自己的密碼,然后打開密碼鎖取出代幣。獲取了Carol的密碼之后,Bob用同樣的方式解鎖了Alice給自己的珠子,整個支付交易完成。
圖6,獲取了Carol的密碼之后,Bob現在可以獲取Alice給自己的珠子,整個支付交易也因此完成了。你可能想知道,為什么Bob會是第一個參與整個流程的人?因為如果Carol沒有參與合作的話,Bob的珠子會被一直凍結,直到時間鎖過期。而在實際交易中,Alice向Bob發送的資金可能會比她給Carol的資金更多一點,因為Alice希望用這種方式作為Bob工作的費用,或是避免出現不必要的風險。支付交易完成之后,Bob的賬戶余額會比這筆交易完成之前的更多一點,從而也激勵他能去完成這筆交易。當然,你可能也想知道在整個閃電網絡交易過程中為什么要使用時間鎖。事實上,如果支付交易因為各種原因未能成功,時間鎖能夠讓交易參與各方收回自己的資金。舉個例子,想象一下如果Alice把珠子轉移給Bob并添加了哈希鎖和時間鎖之后,Bob突然不合作處理這筆交易,此時時間鎖就能幫助Alice取回自己發送給Bob的那個珠子,因為她只要等待時間鎖到期就可以了。在此期間,Bob根本無法偷走這個珠子,因為他需要Carol的ima,而且如果Bob不給Carol轉移一個珠子的話,他就無法獲得這個密碼,因此對于Bob來說必須轉出一個珠子,才能獲得一個珠子。如果你對閃電網絡支付流程感興趣的話,可以深入探討一下如果其中一方在不同步驟中變得不合作,Alice、Bob和Carol會不會因為對方行為面臨資金損失的風險。閃電網絡的骯臟小秘密
動態 | Felix Weis成功通過閃電網絡在ATM完成比特幣交易:據bitcoinist消息,3月31日,香港“閃電黑客日”期間,開發人員Felix Weis成功通過閃電網絡在ATM完成了比特幣交易。[2019/4/1]
閃電網絡有一個很少人知道的骯臟小秘密,如果想要了解這個秘密是什么,以及這個秘密對閃電網絡支付交易會有什么影響——我們需要再深入挖掘一下。現在讓我們回想一下,當Alice通過Bob向Carol發送一筆支付交易的時候,其中還存在一種“中間狀態”。我們就直接用比特幣來做解釋,渠道狀態包括三種輸出:1、Alice的比特幣;2、Bob的比特幣;3、“交易過程中”的比特幣。
圖7,此時閃電網絡通道狀態交易包含了三種輸出:Alice的比特幣、Bob的比特幣、以及“交易過程中”的比特幣。問題在于:如果交易過程中的比特幣價值低于低于比特幣粉塵闕值,此時這筆費用則不能在通道狀態交易中表示為第三類輸出!換句話受,如果支付金額太小,則無法使用哈希鎖和時間鎖來保護這筆交易。為了解釋閃電網絡如何處理這個問題,我必須要首先坦白一個問題,一開始例子中“繩子“上的珠子數量并不是固定不變的。實際上,每根”繩子“邊上都應該還有一個”籃子“,這個”籃子“的標簽是”礦工的費用“,其中包含了很小一部分珠子。”籃子“里的代幣價值將會由確認通道狀態交易的礦工聲明,然后渠道狀態會被推送到區塊鏈上。也就是說,有一部分珠子會從”繩子“上移動到”籃子“里,或者從”籃子“里移回到”繩子“上,但這種情況只有當通道兩端的人都同意時才會發生。對于小額支付交易而言,Alice和Bob只是將“交易過程中的價值“移動到”費用籃子“里,而不是使用哈希鎖和時間鎖來鎖定價值。Bob相信Alice會與他合作,而當他公布Carol的密碼的時候,”交易過程中的價值“就會被他從”費用籃子“里拿出來。
動態 | 閃電網絡的承載能力已超過710個BTC:據1ml.com數據顯示,閃電網絡節點和通道數量呈現持續上升趨勢。目前,支撐網絡的節點數量已達6572個,通道數量增長至29862個,閃電網絡的承載能力達到718.12個BTC,約合285.38萬美元。[2019/2/24]
圖8,如果“交易過程中“的比特幣低于粉塵闕值,則不能使用哈希時間鎖定智能合約機制,因為在廣播情況下通道狀態交易無法被挖掘,此時”交易過程中“的代幣會被傾倒進”礦工費用籃子“里。Bob隨后可以將“交易過程中的價值“轉儲到他與Carol分享的第二個”費用籃子”里,并且承諾如果自己知道密碼之后就會把這個“籃子”給Carol。Carol告訴了Bob這個秘密,然后Bob和Carol一起把“費用籃子”里的這筆支付款轉移到了Carol的一側。接下來,Bob又回到Alice這邊,告訴了她Carol的秘密,然后,如果一切順利的話,Alice也會與Bob合作,把“交易過程中的價值”從“籃子”里取出來并放到“繩子”上Bob的一側。與前面描述的哈希時間鎖定智能合約不同,上述防范依賴于信任。比如,Carol可以向Bob透露密碼,然后Bob可以將付款留在“費用籃子”里,接著直接去找Alice并告訴她密碼就能拿到的這筆付款了。在這種情況下,Carol的追索權是非常有限的:她要么什么都不做,并且接受損失,要么關閉她與Bob的通道。但是關閉與Bob之間的通道又無法成全自己,因為那筆她理應收到的錢其實已經被發送給了礦工。盡管上述問題聽起來非常瑣碎,但在實際情況下卻真的能夠運作起來。當然,Bob沒有什么特別的動機不把錢給Carol,但是如果他不給的話,對自己也沒什么好處,因為礦工將會保留額外的資金,這筆錢并不會留在Bob手上。不僅如此,如果Bob真的這么做——即不把Alice通過自己發送給Carol的錢給Carol,Carol很可能會關閉通道,這意味著Bob是不值得信任的。這樣看來,Bob能夠造成的損害似乎也比較有限,除了這筆支付交易的金額之外,還有就是構建一個新閃電通道的成本。為什么“閃電網絡骯臟的小秘密”值得關注
閃電網絡錢包Lightning Wallet上線谷歌應用商店:Lightning Wallet是首個全面整合閃電網絡節點的錢包,該錢包已經在5月31日上線谷歌應用商店。可同時提供鏈上比特幣交易以及鏈下閃電網絡交易。另外,這也是首個可提供鏈下數據保護的閃電網絡錢包,一旦出現手機丟失等緊急情況,用戶可通過助記詞找回余額。[2018/6/2]
閃電網絡這個“骯臟的小秘密”非常值得關注,因為它揭示了第一層的問題已經轉移到了第二層中,迫使第二層協議不得不實施復雜且難以理解的解決方案。在這種情況下,這些解決方案會改變閃電網絡的“去信任”本質:對于高于粉塵闕值的支付交易,Alice、Bob和Carol都不會因為對方的任何行為而損失資金;而對于低于粉塵闕值的支付交易,Alice、Bob和Carol則有可能因為對方的過錯而損失資金——顯然,這與人們理解的閃電網絡安全支付交易模式不一樣了。可能有人會爭辯說:“我們談論的只是小微支付,所以誰會在乎這個問題呢?”然而,這種想法其實并不對,原因有以下兩點:1、使用區塊鏈作為高費用清算層的比特幣核心擴容計劃將會提升粉塵闕值。粉塵其實是那些金額太小的未花費交易輸出,把他們花費出去需要支付的鏈上費用高出了其自身價值,所以粉塵就花不出去了。但是如果將粉塵闕值提升,比如100美元,那么世界上絕大部分比特幣交易可能都會變成“粉塵”;2、一些小微支付交易可能會出現快速、連續地丟失,可能會造成重大損失。想象一下,未來大部分支付交易都發生在閃電網絡上,第一層上的交易費用一直都超過100美元,此時主鏈上低于100美元的粉塵輸出就會變得沒什么價值了,因為鏈上費用比交易金額本身還高。現在閃電網絡還有另一個問題:即使50美元的支付交易也可能無法做到“去信任”,因為如果50美元低于粉塵交易闕值的情況下,哈希時間鎖定智能合約就不能用于保護50美元以下的支付交易了,也就是說用戶可能會因為自己的過錯導致損失50美元。當然,如果為了避免這個骯臟的小秘密引發“循環漏掉”,開發人員可以嘗試將粉塵闕值設置為1美元,這樣大多數閃電網絡交易就可以繼續使用哈希時間鎖定智能合約來保障資金安全。但問題是,當粉塵闕值設置的較低,輸出就不會被花費出去。也有人覺得路由節點可能會丟失客戶資金,如果未來粉塵費用闕值提升的話,這些丟失的資金規模可能會比較大。我同樣也不太認同這種看法,因為閃電網絡支付路由的全部目的就是以交易費來賺錢,通常路由會利用自己的費用優勢吸引更多流動性,路由節點的交易量越多,費用自然也就越多。現在,閃電網絡開發人員已經意識到不可能讓全部用戶都來路由支付交易,對于普通用戶來說,開發人員更多地是鼓勵他們使用非廣告通道來進行支付交易,同時永遠不要把自己變成一個路由。如果未來閃電網絡上的費用變得更高,那么一個路由中心則可以對用戶資金進行有效的監管控制。然而路由中心其實也不可靠,對于一個獨立用戶來說,如果支付交易沒有得到哈希時間鎖定智能合約的保護,就很難在區塊鏈上清算并收回資金。不僅如此,如果用戶余額與鏈上費用處于同一數量級,用戶也會被路由中心困住。事實上,擺脫一個“糟糕”的通道其實很不值得,因為這么做會讓用戶失去自己的全部資金。此外,路由中心還會設定一些特定條件,比如出于反洗錢和“了解你的客戶”目的而不轉接洋蔥路由信息。如果客戶無法滿足這些特定條件的話,路由中心就會無限期地鎖定客戶資金。這樣一來,對用戶來說他們唯一的選擇就是要么在區塊鏈上進行清算,要么就丟失全部資金——這根本就不算是真正的選擇!更可怕的是,路由中心還可以設置高額費用,用戶如果想要獲得自己的錢,就不得不支付這筆錢,他們別無選擇。未來,那些連接狀態較好、但卻收取較高鏈上費用的閃電網絡路由中心必須要受到監管,因為他們已經能夠對其客戶資金進行“托管控制”了。因此,我們能不能設想推出一個這樣的法則:當第二層上的支付金額低于在第一層上可實行的支付交易金額,該交易就不能被“去信任”。如果底層區塊鏈不受約束,閃電網絡就很可能無法像人們所期望的那樣工作。最后的話
未來,當大多數比特幣交易都發生在閃電網絡上,而且區塊鏈也收取高額費用的時候,人們可能會發現閃電網絡和預期的有很大不同,除了本文提到的這個“骯臟的小秘密”之外,其他閃電網絡的潛在問題還包括:1、閃電網絡擴容的是交易,而不是用戶。運行完整閃電網絡交易驗證節點的成本仍然很高;2、第一層上的問題會影響第二層可互換性,代幣存在“位置依賴”價值;3、流動性:通過閃電網絡交易,大多數“財富狀態”其實是無法獲得的,支付失敗也是不可避免的;4、如果閃電網絡鋪的很大,路由就會變得越來越難:閃電網絡路由中心將集中化地減少路由和流動性問題;5、對于使用非托管錢包的用戶來說,體驗總是很糟糕:用戶需要在現上接收資金,然后還要雇傭“瞭望塔”來監控通道是否存在欺詐行為,并且訂閱源路由服務來發送支付交易,甚至還要動態備份通道狀態防止數據損壞。6、系統性風險:閃電網絡通道里需要鎖定大量代幣,這樣才能確保提供足夠的流動性;7、當區塊獎勵用完的時候,第一層上的總礦工費將不足以確保區塊鏈安全。
編者按:本文來自區塊律動BlockBeats,作者0x29,Odaily星球日報經授權轉載。從今年年初的BitcoinCore、BCH、BSV對比特幣歸屬的三方指正,到昨天幣安、Shapeshi.
1900/1/1 0:00:00以下內容非投資建議歷史數據不能精準預測未來投資風險包括本金的虧損請謹慎理財把時間拉長點,在過去的3個月數字貨幣的總市值.
1900/1/1 0:00:00文|秦曉峰編輯|盧曉明 加密貨幣熱潮降溫,傳統機構的入局卻開始不斷升溫。自2008年誕生以來,區塊鏈已經走過了十余年的漫漫風雨路。關于區塊鏈以及加密貨幣,一直爭論不休.
1900/1/1 0:00:00Odaily星球日報譯者|MoniCoinbase已經正式宣布支持恒星幣交易,但市場對這個消息做出的反應卻讓不少投資者感到失望,因為與之前瑞波幣上架Coinbase相似.
1900/1/1 0:00:00作者|秦曉峰編輯|盧曉明4月2日,比特幣開始暴漲,半小時漲幅高達15%,目前火幣、幣安、OKEX三大交易所價格超過4900美元.
1900/1/1 0:00:0004月11日凌晨00:17,PeckShield態勢感知平臺監測到TCX1Cay…開頭的黑客,創建了名為BTTx,tokenid為1002278的TRC10token.
1900/1/1 0:00:00