比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > FIL > Info

深入解讀閃電網絡:HTLC 的工作方式與多跳支付的實現方式_ICE

Author:

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

在上一篇文章里,我們詳細解釋了支付通道的運作,以及多種保證支付安全發生的方法。不過,這些功能,還不足以支撐一個可用的支付通道網絡:即使我們很確定在每個通道內每個參與者都是誠實守信的,也沒法保證通過多個通道來支付同樣是安全的。這就是我們需要“HTLC”這種智能合約的原因。在本文中,我們會講解HTLC工作的方式,并使用一個例子來展示多跳支付是如何在閃電網絡中實現的。

哈希時間鎖合約

HTLC的結構并不復雜,但非常高效。它使我們可以創建具有明確“過期時間”的支付。你可能也猜得到,HTLC合約由兩部分組成:哈希驗證和過期驗證。

我們先從哈希值開始。要創建一筆帶有HTLC的支付事務,你先要生成一個?秘密數值?R,然后計算出其哈希值。任何詞語、任何數字都可以充當這個秘密值,因為,對哈希函數來說,它們都是一堆數據的組合,沒有什么分別。

H=Hash(R)

這個哈希值H會放在事務輸出的鎖定腳本中。如此,只有知道H所對應的秘密值的人才能使用這個輸出。而R就是所謂的“原像”。

HTLC的第二部分是過期時間的驗證。如果秘密值沒有及時地公開,這筆支付就用不了了,發送者會收回所有的資金。

我們來考慮一個發給某人的HLTC支付事務:

#檢查所提供的R是否為H的原像

HASH160EQUAL

IF??

?????#檢查公開R的人是否為事務最初的接收者??

????CHECKSIG

ELSE??

????#檢查時間鎖是否已終止??

???CHECKLOCKTIMEVERIFY??

彭博社:美國聯邦貿易委員會對推特的隱私和安全問題進行更深入審查:12月21日消息,據知情人士透露,在Elon Musk收購推特后,美國聯邦貿易委員會(FTC)正在對推特的隱私和數據安全做法進行更深入的調查。在過去的一個月里,美國聯邦貿易委員會的律師詢問了兩名前高管,自Elon Musk上任以來,推特是否能夠遵守該機構2011年的同意令。Elon Musk的收購導致推特的許多法律、隱私和合規高管離職,引發了更為廣泛的調查。

據悉,這次調查標志著FTC至少第三次就其隱私和數據安全做法對推特進行審查,審查可能導致數百萬美元的罰款,以及FTC對馬斯克本人施加義務的新命令,這些義務將適用于他的公司,即使他卸任CEO或離開推特也仍然有效。(彭博社)[2022/12/21 21:57:50]

???#檢查請求返回資金的是不是事務最初的發送者??

???CHECKSIG

ENDIF

在正確的R公開之后,我們進入IF流程,進一步驗證提供R的是不是這筆支付事務一開始的支付對象。在花費這個輸出時,接收方只需提供一個非常簡單的解鎖腳本:

如果解鎖腳本所提供的R是錯的,我們跳轉入ELSE流程,首先驗證時間鎖解鎖了沒有。如果時間鎖已然解鎖,發送者就可以收回所有的資金。收回資金這個操作的解鎖腳本也差不多,唯一的區別在于,為了進入ELSE流程,需要提供一個錯誤的秘密值:

當然,這只是HTLC的一個非常基礎的實現,代表著一個普通的時間鎖支付。你可以在腳本中加入任意多的其它條件,比如說,在IF流程中移除公鑰驗證,這樣只要知道秘密值R的人都可以使用這個輸出;也可以在其中加入多簽名限制,要求提供多個預設私鑰的簽名才能解鎖。

多說一句,在這個案例中,我們使用的操作碼是?CHECKLOCKTIMEVERIFY,這個操作碼使用絕對數值來定義時間鎖,意思就像:“這個輸出在區塊#546212之前是無法動用的”。而在閃電網絡中,還用上了另一種時間鎖,更“靈活”的一種:CHECKSEQUENCEVERIFY,它用到的是相對數值,意思近于:“這個輸出,在使用它的事務上鏈之后的1000個區塊內,是無法使用的”。

中央財經大學郭田勇:應深入研究如何用數字人民幣組建更多功能:中央財經大學中國銀行業研究中心主任郭田勇表示,在數字化的浪潮下,貨幣作為一種支付媒介,其本身的數字化是必然趨勢。考慮到傳統貨幣印制發行成本高、不易攜帶等局限,數字貨幣以其獨特的優勢,極大降低了交易成本。郭田勇指出,數字貨幣如果由政府或者中央銀行來主導,必須協同好同原有銀行體系為主導的支付關系。目前,中國的數字貨幣屬于M0范疇,從金融學角度看,M0并不具有貨幣創造的能力,在整個貨幣儲存量中占比也很小,因此,數字人民幣的范圍還非常有限,未來如何用數字人民幣組建更多的功能,將其推向更大的領域,值得深入研究。這是一個循序漸進的過程,要把握好節奏。郭田勇稱,數字人民幣前期推進比較成功,有利于提升人民幣國際化程度。隨著中國經濟實力增強,人民幣國際業務更為廣泛。面對龐大的國際結算量,數字貨幣高支付效率的優點更易凸顯。(中國新聞網)[2021/7/7 0:32:14]

閃電網絡案例

現在,我們終于講解完所有元素了,可以嘗試理解閃電網絡運作的全景了。

我們假設現在閃電網絡有5個參與者:Alice、Bob、Carol、Diana和Eric,他們各自有一個支付通道相連,而每個通道的每一邊都有2btc的余額可用。現在,我們嘗試讓Alice通過通道鏈條給Eric支付。

-一系列相連的雙向支付通道,組成了閃電網絡,可以轉介Alice對Eric的支付-

假設Alice現在要給Eric支付1btc。但是,如我們所見,他們并無直接的通道相連,而開設通道需要時間和金錢。幸運的是,Alice連接著閃電網絡,可以在一系列HTLC合約的幫助下完成間接支付。我們一步一步拆開來看。

Eric生成了一個秘密值R,并把其哈希值發給了Alice

加拿大央行正在招聘深入了解數字貨幣的經濟學家:10月19日消息,加拿大央行正在招聘一位對金融技術和數字貨幣有深入了解的經濟學家,這可能是加拿大央行邁向數字貨幣(CBDC)一系列舉措的最新一步。根據官方頁面,經濟學家的職責將是監測和分析與電子資金和支付有關的最新發展,實施研究項目,編寫分析說明并致力于“ CBDC的潛在發展”。申請人必須滿足一系列要求,其中包括對比特幣、以太坊和其他主要加密貨幣平臺的深入了解,以及熟悉傳統支付系統。(Cointelegraph)[2020/10/19]

Alice使用這條哈希值創建了一個HTLC,而時間鎖設置成未來10個區塊,輸出的數額是1.003btc。這額外的0.003btc是給支付通道鏈條中間方的手續費。那么,Alice現在用HTLC鎖住了1.003btc,而HTCL的具體條件以大白話表述如下:“Alice會給Bob支付1.003btc,只要他能在10個區塊內交出秘密值R,否則這些錢會返回給Alice”。他們之間的通道的余額也會因為這筆承諾事務而發生這般變化,現在Bob在通道內擁有2btc,Alice有0.997btc,還有1.003btc鎖在HTLC里面

到了Bob這里,他可以隨意處置Alice的承諾事務。他在自己跟Carol的通道中創建了一個HTLC輸出,數額是1.002,時間鎖設定為9個區塊,使用了跟Alice所提供的同樣的哈希值。Bob知道Carol如果想獲得這筆錢,就不得不找出秘密數值R來解鎖這個HTLC,而一旦她這么做了,他就會知道這個R,因此也能解鎖Alice的HTLC,拿到1.003btc。如果Carol沒法找到這個秘密值R,Bob和Alice都能在時間鎖解鎖后拿回自己的錢。注意,Bob發送的資金數額比自己能夠得到的數額小0.001btc,這就是他收取的手續費數額。Bob和Carol在通道內的余額變成:Carol擁有2btc,Bob擁有0.998btc,還有1.002btc鎖在HTLC中

央行上海總部:深入推進金融科技創新監管試點:5月12日,央行上海總部發布通知稱,下一步將加強對金融科技應用創新試點工程的組織領導,并會同上海市地方金融監管局等單位,深入推進金融科技創新監管試點,提升金融科技支撐能力。中國人民銀行于2020年4月26日支持在上海等6市(區)擴大金融科技創新監管試點,這標志著金融科技創新監管工作正式在上海啟動,也為加快推進上海金融科技中心建設再添助力。

近年來,人民銀行上海總部把大力發展金融科技作為推動上海國際金融中心和科技創新中心聯動發展的重要著力點,積極探索設計上海金融科技中心的建設與發展路徑,發布了《關于促進金融科技發展 支持上海建設金融科技中心的指導意見》(銀總部發〔2019〕67號)。

央行上海總部明確,下一步將以《發展規劃》為指引,加強對金融科技應用創新試點工程的組織領導,并會同上海市地方金融監管局等單位,深入推進金融科技創新監管試點,加大試點項目橫向交流和成果共享,深化金融市場科技應用,提升金融科技支撐能力,為把上海建設成為與國際金融中心地位相適應的金融科技中心提供有力支撐。(中新經緯APP)[2020/5/12]

Carol獲得Bob發出的承諾事務之后,也如法炮制,在與Diana的通道中創建一個HTLC,使用的哈希值與Bob提供的無二,時間鎖設置為8個區塊,數額為1.001btc。如果Diana能在8個區塊以內揭示這個秘密數值R,就能解鎖這個HTLC,獲得1.001btc,相應地,Carol也會知道這個秘密數值,解鎖Bob給她的HTLC,獲得1.002btc,賺得0.001btc。Carol和Diana通道內的余額變成:Diana擁有2btc、Carol擁有0.999btc,還有1.001btc鎖在HTLC里面

最終,當Diana將一個HTLC通過通道發送給Eric時,她把數值設為1btc,時間鎖設為7個區塊。Diana和Eric的通道內余額變成:Eric擁有2btc、Diana擁有1btc,還有1btc鎖在HTLC里面

動態 | 區塊鏈等技術已經在平安銀行多項業務中深入運用:據人民網消息,據統計,平安集團每年都拿出營收的1%來投入科研,基于這樣的科技優勢,目前,互聯網、大數據、區塊鏈、人工智能、物聯網等前沿技術,在平安銀行的現金管理、互聯網支付結算、電子政務、貿易融資等產品和業務中都已有深入運用。此外,區塊鏈的應用降低了銀行的管理和運營成本和提高了風險控制能力。以平安銀行的供應鏈應收賬款服務平臺“SAS”為例,該平臺通過區塊鏈技術確認交易的真實性,從而給核心企業上游的中小企業發放貸款。[2018/11/6]

現在,我們來到了這個連鎖支付的終點。Eric擁有這個秘密值R,這個R的哈希值用在了所有的HTLC承諾事務中。Eric可以解鎖Diana發給他的HTLC,獲得1btc;而Eric取回資金之后,Diana也會知道這個R。Diana與Eric的通道內余額會變成:Eric擁有3btc,Diana擁有1btc。

Diana收到這個秘密之后,也拿來解鎖Carol發給她的HTLC,獲得1.001btc的同時也向Carol公開了秘密值。他們通道內的余額變成了:Diana擁有3.001btc,Carol擁有0.999btc。

Carol收到秘密值R之后,解鎖了Bob發過來的1.001btc,因此Bob也知道了這個秘密值。他們通道內的余額變成了:Carol擁有3.002btc和Bob擁有0.998btc

最后,Bob使用秘密值R獲得了和Alice通道中的1.003btc。于是通道內的余額變成了:Bob擁有3.003btc,Alice擁有0.997。

這樣一個流程下來,Alice就給Eric支付了1btc,無需在彼此間另開一個直接相連的通道。整個支付鏈條中,也沒有人需要信任另一個人,而且他們還因為中介服務賺到了0.001btc。即使支付在某個環節卡住了,也沒有人會遭受損失,因為資金還鎖在那里,時間過了就可以取回。

清除故障

在我們這個例子中,整個流程都是很平滑、沒有阻礙的,但在現實生活就像所謂的“墨菲定律”:如果某種壞事可能發生,那這種壞事就一定會發生。于是我們要考慮閃電網絡的“保護”機制。

從實踐來看,支付鏈條越長,最終無法交付資金的概率就越大:某些參與者可能會關閉通道,或者某些節點會掉線。我們來考慮兩種可能的出錯情形。

通道故障

先考慮一種情形:我們假設資金已經達到了目的地,但在秘密數值一路返回到支付起點的過程中,某個參與者拒絕合作或者無法配合。假設是Bob。

-因為一個通道關閉,資金無法交付-

當Diana收到了秘密值時,就立即取回了資金,并把秘密值暴露給了Carol。Carol也想從Bob發出的HTLC里面拿回資金,但Bob沒有響應,為了避免風險,她關閉了通道,將自己手上的最后一筆承諾事務廣播到了比特幣網絡中,而且,因為她知道秘密值,所以能取回資金。此時,Bob還有三天時間可以從Alice處拿回自己的錢。否則,等時間鎖一解鎖,Alice就可以收回資金。

可以看出,即使某個參與者因為某種原因離開了網絡,TA自己是唯一一個可能損失資金的人,而其他人的資金都是安全的。

重新路由

在第二種情形中,我們假設資金無法到達目的地,也是因為某個參與者出了錯。假設是Carol。

第一種也是最明顯的解決方法是,等待HTLC的時間鎖過期,然后各參議者各自拿回自己的資金。

-支付路徑中的某個節點沒有響應-

但如果Alice就是著急支付,該怎么辦呢?當然,Alice可以通過另一條路徑發起新的支付,不需要死等資金返回,但要是Carol突然之間又回來了,跟Bob把鏈條續上了呢?那Alice不就發送了兩倍資金了嗎?

-Alice如果使用另一條路徑-

這是否意味著,但凡出現了支付失敗的情形,都應該乖乖等時間鎖超時,然后再發起新的一筆支付呢?

好在,要避免這種等待,我們可以“取消”這一次的支付。Diana要發送等量的一筆資金給Alice,也使用跟原來一樣的哈希值,也可以使用另一條路徑。現在,如果Carol重新上線并參與中介,那么資金會走完一個環路,這就意味著那筆原來失敗的支付被抵消了,Alice可以安全地使用另一個路徑來支付了。

-Alice“取消”了舊的支付,新的支付現在可以安全地發送了-

支付數額

你可以也注意到了,當Alice“取消”其第一筆支付時,現在的確是可以安全地發起新的一次支付了,但這并沒有改變一個事實:她的第一筆支付的資金現在仍然是鎖定的,而她可能沒有足夠的錢來發起第二次支付了。這就是為什么在使用閃電網絡時,用HTLC來支付時資金額度應該更小。因為承諾事務不會上鏈,數額可以分割成多個很小的額度。這樣,無論什么時候一個路徑不通了,都只有一小部分資金會被凍結。

傳輸協議

閃電網絡的另一個非常重要的特點是:有關這個路徑的所有信息都是完全匿名的。也就意味著對于任何一個參與者來說,TA都只知道跟自己有關的這部分,比如,對于Carol來說,這筆支付就像是Bob在給Diana轉賬,她不知道Bob會從Alice處收到資金,也不知道Diana會繼續轉賬給Eric。

閃電網絡使用Sphinx多重加密協議。在使用閃電網絡時,Alice會為網絡的每一部分都做一層加密,從支付路徑的末端開始。她使用Eric的公鑰為Eric加密了消息。這條加密消息會被嵌套在給Diana的消息里,并用Diana的公鑰對整個消息再做一次加密。再然后,這條給Diana的消息又會嵌套在給Carol的消息里,也用Carol的公鑰對整個消息再做一次加密。如此不斷重復,得出可以交給下一個人的消息。這樣一來,Bob只能解密消息的最外一層,得到本意發給他的內容;然后把消息轉給Carol;Carol也是如此。每經過一個人,都只會公開絕對必要的消息:支付的數額、傭金的數額、時間鎖的內容,等等。

為了讓人不能從消息的長度中推測鏈條的長度,消息的長度都是一樣的,總是像有20個人參與這個鏈條一樣。每個人,包括最后一個,得到的都是同樣大小的圖像,都以為除了自己以外還有20個伙伴。

閃電網絡的好處和應用場景

當然,閃電網絡的好處并不像很多人以為的那樣,只有可擴展性一項。我們想想閃電網絡到底帶來了哪些可能。

即時交易。使用閃電網絡時,事務幾乎是即時完成的。所以用比特幣來買咖啡就變得可行了

交易所套利。當前,從一個交易所轉出資金并轉入另一個交易所是很不方便的,需要等待3至6個區塊來確認交易。如果交易所能使用閃電網絡,那用戶就能即時轉入資金、參與套利。交易所也不再需要冷錢包來存儲資金,極大地降低了盜竊風險。

小額支付。比特幣區塊鏈的手續費對小額支付來說太高了。很難想象誰會愿意支付0.001btc就為了轉賬同等數量乃至更少的金額。有了閃電網絡,你就可以即時轉移任意大小的金額,舉個例子,你可以按MB來支付網費。

金融智能合約和交易。金融合約對時延是極度敏感的,而且通常需要許多計算。把大多數負擔移到了區塊鏈外,我們就有機會能創建非常復雜的事務以及合約,而無需把這些都記錄到區塊鏈上。

跨鏈支付。如果使用不同共識規則的區塊鏈使用同一種哈希函數,就有可能使用閃電網絡來跨鏈支付。參與者無需信任任何人,也無需使用中介。

隱私。在閃電網絡中,事務比起在比特幣區塊鏈上要更加隱秘,因為支付鏈條的參與者并不知道交易的發起方和目的地。

結論

我們已經講完了閃電網絡。在下一篇文章中,我會告訴你如何使用HTLC來執行一次跨鏈的原子互換,用btc交換ltc。

鏈接

Lightningnetworkindepth,part1:Paymentchannels

“Masteringbitcoin”—AndreasM.Antonopoulos

Lightningnetworkwhitepaper

Segregatedwitnessfordummies

原文鏈接:

https://medium.com/softblocks/lightning-network-in-depth-part-2-htlc-and-payment-routing-db46aea445a8

作者:?MagomedAliev

翻譯:?阿劍

Tags:BTCALILICICELFBTC價格DecentralizedUnitedSLICE幣NICE價格

FIL
幣虎盲盒 X PLAY正式上線!_COI

尊敬的用戶: 我們非常榮幸和PLAY合作并且推出了幣虎盲盒XPLAY系列產品,正式上線時間為2021年9月15日18:00.

1900/1/1 0:00:00
Centrifuge聯創兼CEO Lucas:Altair平行鏈正在競拍_CEN

9月10日,Centrifuge聯合Odaily星球日報和PolkaWorld舉辦「星際巡航——與Centrifuge一起探索波卡DeFi新范式,暨Altair平行鏈競拍發布會」.

1900/1/1 0:00:00
幣虎將于北京時間9月13日00:00暫停ADA充提幣業務

尊敬的用戶: 因ADA節點維護升級,幣虎將于北京時間9月13日00:00暫停ADA充提幣服務,升級期間不影響正常交易。恢復時間另行通知.

1900/1/1 0:00:00
IOSG Ventures宣布加入Celer狀態守衛者網絡以及cBridge流動性橋接網絡_STUD

9月12日消息,IOSGVentures宣布加入Celer狀態守衛者網絡,并已建立Celer驗證人節點.

1900/1/1 0:00:00
Gate.io 雙幣寶BTC、ETH專區上線理財新品(2-17天期)_GATE

Gate.io“芝麻金融”雙幣寶理財服務現已推出BTC/USDT、ETH/USDT雙幣投資理財產品,今日BTC專區產品持倉期限2-17天,掛鉤參考價格為42000-52000美元.

1900/1/1 0:00:00
Huobi Global“創新區”于9月15日上線新幣EDEN (EDEN)_POOL

尊敬的用戶: HuobiGlobal“創新區”定于2021年9月15日上線EDEN(EDEN).

1900/1/1 0:00:00
ads