買以太坊 買以太坊
Ctrl+D 買以太坊
ads

BOB:閃電網絡“骯臟的小秘密”:哈希時間鎖定智能合約能確保支付安全嗎?_roll幣在哪換

Author:

Time:1900/1/1 0:00:00

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發送一個珠子,情況又會如何呢?事實上,這就是本文撰寫的目的——尋找“究竟是什么讓閃電支付變得‘去信任’?“這個問題的答案。此外在文章的最后,我們還會揭示閃電網絡一個骯臟的小秘密:閃電網絡小額支付并非完全”去信任“——路由節點可能會丟失客戶資金。哈希時間鎖定智能合約

比特幣閃電網絡節點數量為36,186個:金色財經報道,1ML網站數據顯示,比特幣閃電網絡(LightningNetwork)的節點數量為36,186個,同比增長2.26%;通道數量為86,168個,同比下降1.2%;網絡容量為3,726.38BTC,同比增長6%。[2022/4/10 14:15:16]

為了解釋是什么阻止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打開的那個哈希鎖密碼一樣。

比特幣閃電網絡節點數量突破3萬個 創歷史新高:金色財經報道,據1ml最新數據顯示,比特幣閃電網絡節點數量已經突破3萬個,創下歷史新高,本文撰寫時為30010個,30天漲幅達到7.54%。此外,當前閃電網絡通道數量為80495,網絡容量為3224.34 BTC(約合209,997,795.98美元)。[2021/11/12 6:47:39]

圖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會不會因為對方行為面臨資金損失的風險。閃電網絡的骯臟小秘密

比特幣閃電網絡節點數達12782個:據1ML數據,當前比特幣閃電網絡節點數達12782個,過去30天內增加0.88%;通道數量為36593個,過去30天內上升1.7%;網絡容量達到947.48個BTC,過去30天內上升1%。[2020/6/12]

閃電網絡有一個很少人知道的骯臟小秘密,如果想要了解這個秘密是什么,以及這個秘密對閃電網絡支付交易會有什么影響——我們需要再深入挖掘一下。現在讓我們回想一下,當Alice通過Bob向Carol發送一筆支付交易的時候,其中還存在一種“中間狀態”。我們就直接用比特幣來做解釋,渠道狀態包括三種輸出:1、Alice的比特幣;2、Bob的比特幣;3、“交易過程中”的比特幣。

圖7,此時閃電網絡通道狀態交易包含了三種輸出:Alice的比特幣、Bob的比特幣、以及“交易過程中”的比特幣。問題在于:如果交易過程中的比特幣價值低于低于比特幣粉塵闕值,此時這筆費用則不能在通道狀態交易中表示為第三類輸出!換句話受,如果支付金額太小,則無法使用哈希鎖和時間鎖來保護這筆交易。為了解釋閃電網絡如何處理這個問題,我必須要首先坦白一個問題,一開始例子中“繩子“上的珠子數量并不是固定不變的。實際上,每根”繩子“邊上都應該還有一個”籃子“,這個”籃子“的標簽是”礦工的費用“,其中包含了很小一部分珠子。”籃子“里的代幣價值將會由確認通道狀態交易的礦工聲明,然后渠道狀態會被推送到區塊鏈上。也就是說,有一部分珠子會從”繩子“上移動到”籃子“里,或者從”籃子“里移回到”繩子“上,但這種情況只有當通道兩端的人都同意時才會發生。對于小額支付交易而言,Alice和Bob只是將“交易過程中的價值“移動到”費用籃子“里,而不是使用哈希鎖和時間鎖來鎖定價值。Bob相信Alice會與他合作,而當他公布Carol的密碼的時候,”交易過程中的價值“就會被他從”費用籃子“里拿出來。

動態 | 閃電網絡啟動lnd v0.9-beta版本升級:閃電網絡啟動lnd v0.9-beta版本升級,新版更新包括:多路徑支付和 Keysend 支付兩種新的支付類型,Keysend 允許自發、無發票付款。以及可用于創建更多支付和應用程序類型的自定義 TLV 基礎結構。新的 Macaroon Bakery 將新增對 lnd 節點更加復雜的訪問支持。對于節點運營者而言,本次更新也進行了一系列改進,包括路由對等方的其他數據,更多的路徑查找工具,以及更多自動化重平衡通道,新版中增加了循環支付和基礎設施的支持,節點運營者只需兩個命令行就可針對多個通道中的資產進行更加復雜的流動性管理。[2020/1/23]

圖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能夠造成的損害似乎也比較有限,除了這筆支付交易的金額之外,還有就是構建一個新閃電通道的成本。為什么“閃電網絡骯臟的小秘密”值得關注

華沙研究人員準備推出以太坊閃電網絡:近日,受比特幣閃電網絡的啟發,一群來自華沙的研究人員發布了一份“基礎渠道網絡”的新白皮書,該白皮書概述了旨在幫助以太網規模支持更多更復雜的智能合約的協議。該項目還曾得到了以太坊創造者Vitalik Buterin的贊譽。[2018/4/19]

閃電網絡這個“骯臟的小秘密”非常值得關注,因為它揭示了第一層的問題已經轉移到了第二層中,迫使第二層協議不得不實施復雜且難以理解的解決方案。在這種情況下,這些解決方案會改變閃電網絡的“去信任”本質:對于高于粉塵闕值的支付交易,Alice、Bob和Carol都不會因為對方的任何行為而損失資金;而對于低于粉塵闕值的支付交易,Alice、Bob和Carol則有可能因為對方的過錯而損失資金——顯然,這與人們理解的閃電網絡安全支付交易模式不一樣了。可能有人會爭辯說:“我們談論的只是小微支付,所以誰會在乎這個問題呢?”然而,這種想法其實并不對,原因有以下兩點:1、使用區塊鏈作為高費用清算層的比特幣核心擴容計劃將會提升粉塵闕值。粉塵其實是那些金額太小的未花費交易輸出,把他們花費出去需要支付的鏈上費用高出了其自身價值,所以粉塵就花不出去了。但是如果將粉塵闕值提升,比如100美元,那么世界上絕大部分比特幣交易可能都會變成“粉塵”;2、一些小微支付交易可能會出現快速、連續地丟失,可能會造成重大損失。想象一下,未來大部分支付交易都發生在閃電網絡上,第一層上的交易費用一直都超過100美元,此時主鏈上低于100美元的粉塵輸出就會變得沒什么價值了,因為鏈上費用比交易金額本身還高。現在閃電網絡還有另一個問題:即使50美元的支付交易也可能無法做到“去信任”,因為如果50美元低于粉塵交易闕值的情況下,哈希時間鎖定智能合約就不能用于保護50美元以下的支付交易了,也就是說用戶可能會因為自己的過錯導致損失50美元。當然,如果為了避免這個骯臟的小秘密引發“循環漏掉”,開發人員可以嘗試將粉塵闕值設置為1美元,這樣大多數閃電網絡交易就可以繼續使用哈希時間鎖定智能合約來保障資金安全。但問題是,當粉塵闕值設置的較低,輸出就不會被花費出去。也有人覺得路由節點可能會丟失客戶資金,如果未來粉塵費用闕值提升的話,這些丟失的資金規模可能會比較大。我同樣也不太認同這種看法,因為閃電網絡支付路由的全部目的就是以交易費來賺錢,通常路由會利用自己的費用優勢吸引更多流動性,路由節點的交易量越多,費用自然也就越多。現在,閃電網絡開發人員已經意識到不可能讓全部用戶都來路由支付交易,對于普通用戶來說,開發人員更多地是鼓勵他們使用非廣告通道來進行支付交易,同時永遠不要把自己變成一個路由。如果未來閃電網絡上的費用變得更高,那么一個路由中心則可以對用戶資金進行有效的監管控制。然而路由中心其實也不可靠,對于一個獨立用戶來說,如果支付交易沒有得到哈希時間鎖定智能合約的保護,就很難在區塊鏈上清算并收回資金。不僅如此,如果用戶余額與鏈上費用處于同一數量級,用戶也會被路由中心困住。事實上,擺脫一個“糟糕”的通道其實很不值得,因為這么做會讓用戶失去自己的全部資金。此外,路由中心還會設定一些特定條件,比如出于反洗錢和“了解你的客戶”目的而不轉接洋蔥路由信息。如果客戶無法滿足這些特定條件的話,路由中心就會無限期地鎖定客戶資金。這樣一來,對用戶來說他們唯一的選擇就是要么在區塊鏈上進行清算,要么就丟失全部資金——這根本就不算是真正的選擇!更可怕的是,路由中心還可以設置高額費用,用戶如果想要獲得自己的錢,就不得不支付這筆錢,他們別無選擇。未來,那些連接狀態較好、但卻收取較高鏈上費用的閃電網絡路由中心必須要受到監管,因為他們已經能夠對其客戶資金進行“托管控制”了。因此,我們能不能設想推出一個這樣的法則:當第二層上的支付金額低于在第一層上可實行的支付交易金額,該交易就不能被“去信任”。如果底層區塊鏈不受約束,閃電網絡就很可能無法像人們所期望的那樣工作。最后的話

未來,當大多數比特幣交易都發生在閃電網絡上,而且區塊鏈也收取高額費用的時候,人們可能會發現閃電網絡和預期的有很大不同,除了本文提到的這個“骯臟的小秘密”之外,其他閃電網絡的潛在問題還包括:1、閃電網絡擴容的是交易,而不是用戶。運行完整閃電網絡交易驗證節點的成本仍然很高;2、第一層上的問題會影響第二層可互換性,代幣存在“位置依賴”價值;3、流動性:通過閃電網絡交易,大多數“財富狀態”其實是無法獲得的,支付失敗也是不可避免的;4、如果閃電網絡鋪的很大,路由就會變得越來越難:閃電網絡路由中心將集中化地減少路由和流動性問題;5、對于使用非托管錢包的用戶來說,體驗總是很糟糕:用戶需要在現上接收資金,然后還要雇傭“瞭望塔”來監控通道是否存在欺詐行為,并且訂閱源路由服務來發送支付交易,甚至還要動態備份通道狀態防止數據損壞。6、系統性風險:閃電網絡通道里需要鎖定大量代幣,這樣才能確保提供足夠的流動性;7、當區塊獎勵用完的時候,第一層上的總礦工費將不足以確保區塊鏈安全。

Tags:BOBCARCAROROLbob波幣錢包容易被抓嗎cart幣怎么樣CARO價格roll幣在哪換

萊特幣價格
BTC:數據分析:三大公鏈的價值幾乎未受“寒冬”影響_數字貨幣

編者按:上周,Odaily星球日報采訪了全幣種區塊鏈瀏覽器Tokenview。發起人史晉和我聊到,當鏈上數據積累到一定量級時,多項指標與數字貨幣價格間的相關性開始顯現,部分結論不僅可以作為數據服.

1900/1/1 0:00:00
比特幣:組成比特幣的三駕馬車_JST

“TheTimes03/Jan/2009Chancelloronbrinkofsecondbailoutforbanks”《泰晤士報》:2009年1月3日.

1900/1/1 0:00:00
BTC:為什么存在加密行業的場外交易?_SOLA

編者按:本文來自藍狐筆記,作者:ConnorDempsey,譯者:“藍狐筆記”社群“Leo”,Odaily星球日報經授權轉載.

1900/1/1 0:00:00
ASI:抗 ASIC 挖礦幣種會是下一個風口嗎?_POW

編者按:本文來自白話區塊鏈,作者:五火球教主,Odaily星球日報經授權發布。“教主,最近好多小礦幣很火,你說我去中關村攢臺機器挖礦怎么樣?”戰士眼里跳動著金幣的符號.

1900/1/1 0:00:00
區塊鏈:315晚會曝光的黑幕,區塊鏈能做什么?_以太坊官網app下載注冊

編者按:本文來自巴比特,作者:邱祥宇,星球日報經授權發布。一年一度的315晚會如期而至,揭露了許多行業黑幕。原以為傳銷幣、虛擬貨幣平臺這些和區塊鏈沾邊的東西會被點名,結果再一次失望.

1900/1/1 0:00:00
Polygon:栢能集團2018年業績不如預期,新拓挖礦業務是為了解決滯銷庫存?_GON

3月22日,區塊鏈概念股栢能集團公布2018年年報,年報顯示,2018年全年,實現收入91.22億港元,同比增長6.6%;毛利9.57億港元.

1900/1/1 0:00:00
ads