區塊鏈系列入門 | 比特幣的交易延展性

收藏待读

https://www.8btc.com/article/351498

隔離見證的主要好處之一就是修復了交易延展性,下面咱們來看看,什麼是交易延展性?以及為何修復它很重要。

什麼是交易延展性

我們先來聊聊什麼是交易延展性?

比特幣網絡會把交易的哈希作為這個交易的 ID,哈希是根據交易的內容運算出來的,如果交易本身哪怕只變一點點,交易哈希或者說交易 ID 就會變。我們都知道,比特幣的每一個交易都帶有數字簽名,比特幣的交易簽名算法決定了,如果去修改簽名的特定幾位的數據,那麼這個簽名依舊有效。

但是生成交易 ID 的時候,會涉及到這個交易的所有數據,其中包含交易簽名。所以如果有人修改了簽名,那麼交易 ID 就會改變,當然修改必須在交易打包到區塊之前,因為一旦交易進入區塊,那麼交易,也包括其中包含的簽名,就不可篡改了。

攻擊者把簽名改一下,讓交易 ID也發生變化,而這種修改沒有修改交易的主體數據。如果把交易比作一塊金屬,那麼這個過程只是在上面敲了一下,讓它發生了輕微的延展,這就是交易延展性這個名字的由來。

交易延展性如何影響閃電網絡

閃電網絡是一個鏈下微支付網絡,閃電網絡通常被叫做 Layer 2 解決方案,因為它是運行在比特幣之上的一層網絡。交易延展性可以造成閃電網絡工作異常。

閃電網絡是基於雙重簽名的交易來工作的,也就是說交易需要有雙方同時簽名才能生效,每次進行一個新的微支付就會創建對應的交易並由雙方共同簽署這個交易。

創建一個閃電網絡的通道就需要發起充值交易把一筆錢轉入一個雙重簽名地址。閃電網絡的工作原理決定了充值交易是不會被直接廣播到網絡並打包到區塊中。後續發起的微支付交易會通過交易 ID 關聯充值交易。當雙方需要關閉交易通道的時候才需要廣播交易。這樣,如果在廣播之前有人利用交易延展性修改了充值交易的 ID,那麼後續的微支付交易也就失效了。也就是說,交易延展性會給建立交易通道帶來風險。

雖然閃電網絡也可以想辦法避免交易延展性的影響,但是如果交易延展性被修復了,實現閃電網絡就變得非常容易。

隔離見證是如何修復交易延展性的

隔離見證通過把簽名從交易中取出的方式解決了交易延展性問題

攻擊者只有通過修改簽名才能夠修改交易 ID,也就是說,才能夠利用交易延展性。實施了隔離見證之後,比特幣的每個交易之中不再包含簽名,這就意味着即使攻擊者修改了簽名,交易ID也會保持不變。交易的簽名依然可以用來檢查交易的有效性,只是在計算交易 ID 的時候不會涉及簽名了。

所以,隔離見證解決了交易延展性。

總結

通過在計算交易哈希的時候把簽名排除在外,隔離見證解決了交易延展性問題。而解決了交易延展性,閃電網絡的運轉就會更順暢。

參考:

https://bitcointechtalk.com/transaction-malleability-explained-b7e240236fc7

相關閱讀

免责声明:本文内容来源于巴比特,已注明原文出处和链接,文章观点不代表立场,如若侵犯到您的权益,或涉不实谣言,敬请向我们提出检举。