以太坊價格 以太坊價格
Ctrl+D 以太坊價格
ads
首頁 > 火星幣 > Info

比特幣:詳盡解釋隔離見證

Author:

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

比特幣的可擴展性問題是其面臨的主要問題之一,也是許多人努力的方向。比如說,有個設想是“閃電網絡”;但是,要在比特幣網絡中實現閃電網絡,條件似乎還不具備,因為比特幣自身的一些缺陷。另一個解決方案“隔離見證”也致力于提高可擴展性,但它同時也解決了許多問題,包括閃電網絡實現所需修補的一些缺陷。本文中我們會講解隔離見證的優勢及其工作原理。

隔離見證是一個由多個BIP描述的軟分叉,其主要用意是優化比特幣交易和區塊的結構,將交易的簽名”、“witness”或“解鎖腳本”)從交易中移到一個獨立的結構中。它不僅允許降低比特幣交易的數據量大小,也能解決“交易熔融性”問題,對支付通道和閃電網絡這樣基于比特幣交易結構的技術來說極為關鍵。

隔離見證如何工作

在開始之前

我們先要簡單回顧一下比特幣的支付系統。它并不像銀行那樣,是一套賬戶和余額的列表。相反,每個比特幣地址的余額都是由一系列發送給這個地址的交易來表示的;交易這一數據結構的主要部分就是輸入和輸出。輸入是我們想要花費的前序交易,而交易的輸出就是我們的資金發送的目的地址。下圖展示了比特幣交易的結構:

輸出中的PubKeyScript字段就是我們所說的“鎖定腳本”。它用來保證只有接受地址的所有者才能使用這個支出。SignatureScript字段也就是所謂的“解鎖腳本”,因為它是用來打開鎖定腳本的鑰匙,是用來證明地址所有權的。

有關比特幣交易和鎖定腳本、解鎖腳本功能的更多細節,可看此處。

后向兼容性

實際上,隔離見證不僅改變了交易的結構,也改變了交易的輸出。不過,這不是說傳統類型的UTXO和SegWit類型的UTXO無法在同一筆交易中花費:這種情況下,傳統類型的UTXO將在輸入內加載所有權證明,而隔離見證類型的UTXO將在交易輸入以外的結構中加載證明。

彭博社:穆迪正在研究加密穩定幣的評分系統:金色財經報道,彭博社援引一位知情人士的話報道稱,全球評級機構穆迪(Moody’s)正在正在為穩定幣(加密貨幣領域交易量最大的代幣)開發評分系統,知情人士透露,該系統將包括對多達 20 種穩定幣的分析,該分析基于支持它們的儲備證明質量。另一位人士告訴彭博社,該項目還處于起步階段,不會發布官方信用評級。儲備證明通常按月或按季度發布,由第三方審計公司認證。

穆迪發言人拒絕置評,該公司為Coinbase Global Inc.等上市加密貨幣公司提供信用評級,其研究部門發布有關該行業的更廣泛的分析報告。[2023/1/27 11:31:46]

不管怎么說,隔離見證的定位是一個軟分叉,這個升級應該是可以忽略,無需強制的,而且,這也意味著,未升級的節點應該可以處理隔離見證類型的輸出。實際上,舊的節點和錢包將以為任何人都能花費這些UTXO,也即這些UTXO是空簽名也可花費的,因此即使在交易中沒有看到簽名,交易也仍然是有效的。而升級后的節點和錢包將在交易輸入以外的地方,一個專門的“witness”字段尋找簽名。

案例

Pay-to-Witness-Public-Key-Hash

我們用例子來說明一下隔離見證會如何改變交易的數據結構。從標準的Pay-to-Public-Key-Hash(P2PKH)交易類型開始。

我們感興趣的部分是輸出,尤其是其“scriptPubKey”字段。我們先考慮一種標準的鎖定腳本:

而隔離見證之后的鎖定腳本如下所示:

Coinbase與Kava團隊達成合作并上線其原生代幣KAVA:金色財經報道,Coinbase宣布上線Kava,旨在推進以太坊和Cosmos之間的互操作性。據悉,Coinbase與Kava的原生集成將推動生態系統項目發展,目前KAVA已能在Coinbase進行質押,同時Coinbase用戶也能在Kava上探索DeFi應用。

此外,Kava還宣布與Coinbase團隊達成合作為更多Cosmos項目釋放流動性,Cosmos SDK鏈集成到Coinbase的時間也將會被縮短至一個月,進一步整合Cosmos區塊鏈的速度和互操作性、以及以太坊的開發能力。(Cointelgraph)[2023/1/19 11:20:22]

如你所見,隔離見證的輸出比傳統類型的輸出要簡單很多:只有兩個值會被推入腳本執行棧中。如我們上面說得,舊版本的比特幣客戶端會以為這個輸出是掉在地上的錢——無需提供簽名就能花費這個輸出。不過,新的客戶端會將第一個數字解釋為版本號,而第二個則對應著一個鎖定腳本。在現實中,只有壓縮公鑰的哈希值可以用在這里。這一點我們后面再說。

再來看看這個輸出被花費時的情形。傳統交易的輸出在花費時的數據結構如下:

但是,在花費一個隔離見證輸出的時候,交易的scriptSig將為空,而所有的簽名都會放到一個專門的地方:

雖然傳統的客戶端可以處理隔離見證的交易,但他們自己沒法花這些錢:舊型的錢包可能會嘗試用空簽名來花用一個隔離見證的輸出,但這筆交易在現實中是無效的。這就意味著,發送者必須知道接受方的錢包支不支持隔離見證,這樣才能為之創建合適類型的輸出。

富達調查:74%的機構計劃購買加密貨幣:金色財經報道,根據富達數字資產周四發布的第四次年度機構投資者數字資產研究,富達發現58% 的受訪投資者表示在2022年上半年擁有數字資產,同比增長6個百分點。亞洲的數字資產所有權最高,該地區 69% 的機構報告在該領域進行了投資。歐洲(69%)和美國(42%)的這一數字較低,盡管這些數字分別比一年前上升了 11 個百分點和 9 個百分點。??總體而言,全球數字資產使用率最高的是風險投資基金(87%),其次是高凈值個人(82%)和顧問(73%)。

此外,在接受調查的人中,35% 的人表示他們購買持有加密貨幣的投資產品,30% 的人購買持有數字資產公司的投資產品,20% 的人通過期貨合約獲得敞口。?74%的受訪機構表示他們計劃在未來購買數字資產。[2022/10/27 11:49:14]

由BIP143定義,隔離見證的輸出應該用?壓縮公鑰?的哈希值來創建。如果你用的是傳統類型的地址或者非壓縮公鑰的哈希值,這個輸出將變得不可用。

Pay-to-Witness-Script-Hash

另一個關鍵的交易類型是P2SH。它讓交易可以發送給腳本的哈希值。要花費P2SH交易的輸出,花費者需要提供一個腳本,其哈希值應該與UTXO中的腳本哈希值匹配,并基于這個腳本提供簽名/口令/別的東西。這個用法可以把解鎖腳本保護起來,讓發送者無從知曉一個地址的內容,并且也能節約空間:舉個例子,一個多簽名錢包的鎖定腳本可能非常長,這樣我們就必須把整個鎖保存起來;有了P2SH可以只保存一個哈希值。

假設現在有一個需要提供5個私鑰中的2個的簽名才能使用的多簽名錢包。如果你使用傳統的交易,P2SH交易輸出的鎖定腳本將如下:

要花它的時候,花費的人需要提供一個贖回腳本,這個腳本定義了花費條件,還有兩個簽名。所有這些都要放在交易的輸入中:

開放金融SaaS平臺Klavi完成1500萬美元A輪融資,GSR Ventures領投:金色財經報道,開放金融SaaS平臺Klavi宣布完成1500萬美元A輪融資,GSR Ventures領投,兩家巴西風險投資公司Iporanga Ventures和Parallax Ventures,以及 CIP SA 和 Vivo Ventures參投。Klavi主要通過其開放金融解決方案為公司賦能,目前的客戶包括 BV、Telef?nica、Mepoupe、CIP SA、Gorila、Jeitto、Supersim、Simplic、Portocred 和 Zippi 等,該公司希望到 2022 年底將其基礎資產增加到 100 多個,到2023 年 12 月達到 500 個。(prnewswire)[2022/8/13 12:22:30]

再來看看使用隔離見證后的發送者和接收者。輸出的鎖定腳本如下:

就像P2PKH交易一樣,這個輸出的腳本也變得更簡單。第一個數值表示版本號,第二個是對應于贖回腳本的SHA256哈希值。使用這個函數某種意義上是為了用長度來區分P2WPKH的見證程序以及P2WSH的見證程序。

使用這一輸出的交易如下所示:

在P2SH中嵌入隔離見證

我們已經看到,使用隔離見證是有好處的。不過,上面的例子只對發送者和接收者都有升級軟件的情形才適用。但現實并不總是如此。考慮這樣一種情形:

消息人士:SkyBridge計劃成立新基金,用于投資Web3和加密貨幣初創公司:金色財經消息,消息人士透露,Anthony Scaramucci的SkyBridge Capital(天橋資本)將于9月成立一個新基金,專門用于投資Web3和加密貨幣初創公司。SkyBridge將于9月12日在年度Salt會議上發布正式公告,并向合格的投資者開放。(Business Insider)[2022/7/21 2:27:21]

Alice希望給Bob轉賬一些btc,Bob有支持隔離見證的錢包軟件而她沒有。他們顯然只能用標準形式的交易,但Bob希望使用SegWit來減少手續費。

這時候,Bob可以創建一個包含了SegWit腳本的P2SH地址、Alice會把這個地址當成一個普通的P2SH地址,因此可以直接向這個地址轉賬而沒有任何問題。但Bob可以使用SegWit交易來使用這個輸出,并獲得手續費折扣。

這就是SegWit交易的兩種類型P2WSH和P2WPKH在P2SH內實現的方式。

P2SH(P2WPKH)

想在P2SH交易中實現一筆P2WPKH交易,Bob需要使用其公鑰創建一個見證程序。然后把結果哈希、轉碼成一個地址:

第一個數值是版本號,而第二個數值是20字節的公鑰哈希值。這個腳本先做SHA256哈希運算,再做RIPEMD160運算,就可得到一個20字節的哈希值。

這個P2WPKH見證程序的HASH160結果:

轉化成一個地址:

發送給這個地址的輸出的鎖定腳本,看起來也就跟一個普通的P2SH地址的腳本沒啥區別:

那么Bob花費輸出的時候,交易的結構會像這樣:

在一開始,我們創建的贖回腳本會經過一次哈希計算,如果結果符合鎖定腳本中的哈希值,這個腳本就會得到執行,程序會驗證放在witness字段的簽名。

P2SH(P2WSH)

P2WSH腳本也可以用P2SH來實現。我們考慮上面所說的2-5多簽名錢包的例子。所有的步驟都跟P2SH(P2WPKH)沒什么區別:

首先,創建一個見證程序:

隔離見證的好處

梳理清楚技術的部分之后,我們就可以理解隔離見證的主要優點了。

交易熔融性漏洞

SegWit解決的一個關鍵問題就是比特幣交易的“熔融性”,也即比特幣交易的ID是哈希值這一點所帶來的問題。我們詳細說一下。

在以往的比特幣交易中,簽名是放在交易的輸入部分的,第三方可以更改簽名且不會讓交易失效。這使得第三方可以在完全不更改交易的“關鍵”字段的前提下更改交易的ID。這樣一來,交易還是有效的,含義也還是一樣的,但是有了另一個ID,這可以用來執行另一種攻擊,比如DoS攻擊。

SegWit解決了這個問題,因為所有的簽名都是放在交易外面的,因此簽名的變動不會導致交易的哈希值變動,也就不會影響交易的ID。隔離見證還引入了一個專門的標識符,叫做“wtxid”:它是交易和整個witness部分的哈希值,所以如果一筆交易在傳播時沒有附帶任何witness數據,交易ID就等于wtxid。

這個解決方案使得我們可以創建一系列前后相繼的未確認交易,而無需擔心任何風險,這對閃電網絡這樣的協議來說是非常重要的。。

網絡和存儲的擴展

Witness數據往往是交易數據中占比最大的一部分。在使用多簽名腳本的交易中,witness最多可能占據交易數據量的75%。感謝SegWit,簽名的傳輸變成了一個可選項:只有節點想要驗證交易時,才需要請求這些數據。而沒有支持SegWit的SPV客戶端和節點也無需下載額外的數據,可以節省硬盤空間。

可用的區塊空間擴大,降低交易手續費

SegWit類型的交易比以往的交易類型更便宜,因為它減少了需要存儲的witness數據。準確來說,“Size”的概念在SegWit類型的交易上略有不同。它引入了一個“虛擬大小”的概念:所有放在witness部分的數據都會乘以0.25來計算數據量大小,從而一個區塊中可以塞進更多的交易。來看一個例子。

假設我們有一筆傳統類型的交易,數據量大小為200字節。那么1MB的區塊里面可以放進5000筆這樣的交易。而一筆等效的SigWit交易有120字節是放在witness區域的,因此其虛擬大小為80+0.25*120=110字節,所以區塊可以放入9090筆這樣的交易。如果上鏈的手續費是每字節40聰,則交易費會從8000聰減低到4400聰,幾乎打了個對折。

腳本版本

你可能已經注意到了,每個鎖定腳本都會有1個字節來表示腳本的版本。使用不同的版本號就能以軟分叉的形式增加或變更功能。

簽名驗證的效率優化

隔離見證也優化了簽名算法的效率。在SegWit之前,哈希計算的次數與簽名數量的平方成正比,但有了隔離見證后,算法的計算復雜度就減低到了O(n)。

那還有啥問題呢?

如果百利而無一害,怎么還有人會覺得有問題呢?比特幣社區有許多人反對這一升級,因為,即使它有這么多長處,它也有一些缺點。我們來看看反對方提出的一些意見。

因為SegWit是一個軟分叉,許多客戶端可能不會升級,因此兩種類型的UTXO會在網絡中同時存在;諸如消除交易ID熔融性以及哈希計算次數線性上升這樣的重大變更對非SegWit輸出無效,因此網絡仍會暴露在交易ID熔融性和哈希時間平方級上升的風險中。

SegWit會降低網絡的安全性,執行完全驗證的節點會大幅減少,因為只有那些適配了SegWit的節點才有能力驗證交易的witness部分。

SegWit不能被廢除。如果廢除了它,所有變更都撤銷,那么所有的SegWit輸出就會變成大街上任人撿拾的錢。

SegWit希望一次解決所有問題,也正因此,它導致了大量的代碼改動。它會讓未來的工作更加負載,而且提高了出現驅之不去的軟件bug的機會。

結論

雖然由SW解決的問題很有可能有更優雅的解決方案,我們仍然相信,在當前,這是提高網絡的可擴展性并開啟閃電網絡等技術實現的最佳辦法。更詳細的分析我們放在下一篇文章。

參考文獻

Lightningnetworkindepth,part1:paymentchannels

“Masteringbitcoin”—AndreasM.Antonopoulos

BitcoinCoreblog

Manysegwitresources

Goodarticleabouttxnmalleability

原文鏈接:

https://medium.com/softblocks/segregated-witness-for-dummies-d00606e8de63

作者:?MagomedAliev

翻譯:?阿劍

Tags:WITSEGESS比特幣Witch Tokenomisego0xGasless比特幣鉆石未來價值

火星幣
COT:安全公司:谷歌從Play商店中下架8款偽裝成加密貨幣云挖礦平臺的惡意APP

根據網絡安全公司TrendMicro的一份報告,谷歌已經從其Play商店中下架了8個偽裝成加密貨幣云挖礦應用的惡意移動應用程序.

1900/1/1 0:00:00
ETH:EIP1559 部署一周 32000 ETH 被銷毀 還有呢?

8月5日20點34分,以太坊網絡區塊高度達到12,965,000,倫敦升級正式啟動!這是一次備受以太坊社區矚目的升級,隨著升級的順利完成以及網絡銷毀的ETH數量不斷飆升,以太坊社區歡聲雀躍.

1900/1/1 0:00:00
EOS:新思路科技2021年全球線上發布會:志“存”高遠

企業應用的移動化和智能化趨勢十分明顯,應用生成的數據類型正在發生變化,圖片、視頻、語音、文檔等非結構化數據占企業總數據量的比重已經成為絕對多數,傳統存儲在企業數字化轉型中已成為瓶頸.

1900/1/1 0:00:00
UNI:8.25晚間行情:比特幣合適止跌?注意這個位置

文章系金色財經專欄作者保羅大帝供稿,發表言論僅代表其個人觀點,僅供學習交流!金色盤面不會主動提供任何交易指導,亦不會收取任何費用指導交易,請讀者仔細甄別,謹防上當.

1900/1/1 0:00:00
TAL:元宇宙的盡頭是人機共生

現在的我們可能無法想象,未來的我們可能會排隊預約腦機植入手術。紅到發紫的頂流元宇宙要真正從概念走進現實,其中最關鍵的一環除了底層架構區塊鏈+就是VR、AR衍生與腦機.

1900/1/1 0:00:00
WALL:梅西轉會攪動幣圈 這款虛擬貨幣七天內被爆買近200億元

阿根廷球星萊昂內爾·梅西(LionelMessi)的轉會居然與幣圈跨界聯動了起來。根據巴黎圣日耳曼俱樂部披露的合同細節,梅西在俱樂部的年薪為4100萬美元,其中部分薪酬將使用加密貨幣“$PSGF.

1900/1/1 0:00:00
ads