深度理解比特幣「隔離見證」技術與它的三個版本升級

robot
摘要生成中

從 SegWit 到 Taproot 再到 TaprootAssets 協議,全面解析比特幣隔離見證技術的三次重大升級,深入理解比特幣的擴容與擴能發展史。本文源自 付少慶,SatoshiLab,萬物島 BTC 工作室所著文章,由 PAews 整理、編譯及撰稿。 (前情提要:Adam Back防量子電腦「破解比特幣」:建議用SLH-DSA整合Taproot ) (背景補充:比特幣 Taproot 後最大爭議,移除 OP_Return 會如何影響BTC生態? ) 1. 前言 作者在學習比特幣技術的時候,發現將 SegWit,Taproot,TaprootAssets 三個知識點,使用隔離見證發展史的角度來理解,會更容易學習和掌握其發展規律。並且可以更好的理解閃電網路實驗室的 Taproot Assets 協議,能夠很好的理解 Universe 的作用,能夠很好的理解 TaprootAssets 協議能夠實現的功能和未來可能的發展。有了這些理解,能夠更好的設計出相關的產品給用戶使用。 閱讀本文還需要有兩個重要的思考角度:比特幣的擴容與比特幣的擴能。 擴容是指擴充比特幣能使用與管理的數據容量,早期是局限在區塊容量大小之內,後期是能夠被比特幣管理的全部數據能力。擴容的極限是管理無限的數據空間; 擴能是指擴充比特幣的腳本指令實現功能的能力,擴能的極限是實現圖靈完備的編程能力。 比特幣的整個發展史,是擴容與擴能的發展史,包括各種比特幣的分叉鏈,以及比特幣的在 OP_RETURN 上的探索和隔離見證三次的版本變更。 三次版本中的細節原理圖,大部分讀者可以忽略,是作者為了深入理解相關技術放到文檔中,忽略並不影響閱讀效果。 文章中涉及到的 BIP 協議作者都標註了時間,是讓閱讀者能夠感受到一個技術從思想產生到生產環境上線的時間週期,從而一定程度上感受到這項技術實現的難易程度。更重要的是三個隔離見證版本的協議產生時間,到上線時間,也完全可以看到這個事物大的發展規律,也便於預測之後的發展。對於基於這些技術與協議開發產品的團隊有很好的參考作用,便於選擇參與時機。一個新事物過早的參與經常會因為支撐技術不成熟,而成為「先烈」;過晚的參與,會喪失先機,而成為「看客」;作者認為在即將進入可用期之前進入是比較好的時機。這個「即將進入可用期」的判斷經常會基於時間的判斷,基於技術細節的判斷。 1.1. 早期的交易(無隔離見證) 白皮書中定義的交易(最簡單交易模型) 早期最基本的比特幣交易,允許有多個輸入和兩個輸出。其中一個輸出的數值是給自己的找零,另外一個輸出是給外部的轉帳。(備註:總輸入與總輸出之間的差額是手續費) 大部分交易都是 2 個輸出,確實有只有一個輸出的場景,總結如下: 為了更好的說明區別,我們使用 2 輸入與 2 輸出的圖例。(還有一個主要的原因是我參考的資料提供了這種 2 輸入與 2 輸出的圖片,不需要重新畫圖。偷懶了^_^) 用這樣的對比圖是不是更容易理解? 傳統的交易示例圖與隔離見證 Segwit 的交易示意圖對比 1.2. 在 OP_RETURN 上的探索 為什麼在講隔離見證的時候,要談到 OP_RETURN?因為這是比隔離見證更早期的探索,能更好的理解隔離見證產生的原因。 OP_RETURN 是一個腳本操作碼,用來終止腳本並返回棧頂的值。這個操作碼類似於編程語言中的返回函數。在比特幣的歷史上,OP_RETURN 操作碼的功能被多次修改,現在它主要被作爲在帳本上存儲數據的一種方法。OP_RETURN 操作碼的功能曾在過去發生過重大變化,現在它是一個重要的機制,使用它我們就能在鏈上存儲任意數據。 OP_RETURN 最初是用於提前結束腳本執行的返回操作,執行結果將作為棧頂項目被呈現出來。這個操作碼最初有一個容易被利用的漏洞,但中本聰很快修補了該漏洞。 對 OP_RETURN 功能的進一步更改 在 Bitcoin Core 的 v0.9.0 那次升級中,「OP_RETURN 輸出」腳本被製作成標準輸出類型,允許用戶將數據附加到「不可花費的交易輸出(unspendable transaction output)」上。這類腳本中可用的數據量的上限最初被限制為 40 字節,然後提升至 80 字節。 將數據存儲在區塊鏈上 將 OP_RETURN 改為始終返回 false 造成了有趣的結果。由於在 OP_RETURN 之後不會評估任何操作碼或數據,因此網路用戶開始使用此操作碼來存儲任意格式的數據。 在比特幣現金(BCH)的時期,即 2017 年 8 月 1 日-2018 年 11 月 15 日,能夠附加到 OP_RETURN 輸出的數據長度被擴展到 220 字節,更大的數據能夠促進區塊鏈上創新的應用,例如在區塊鏈社交媒體上發布內容等。 在 BSV 上,220 字節的限制依然被保留了一小段時間。隨後,在 2019 年 1 月,由於 OP_RETURN 操作碼以節點不驗證任何後續操作碼的方式終止腳本,所以節點也不會檢查腳本是否在 520 字節的最大腳本大小限制內。由此一來,網路上的節點運營商決定將最大交易體積提高到 100KB,從而賦予開發者有更多應用創新的自由,讓新的應用可以將更大、更複雜的數據放入比特幣帳本。那時有一個應用例子,有人將將整個網站都放入了 BSV 帳本中。 OP_RETURN 雖然有一定的功能擴展,但總體來說能力還是有限。並且在 OP_RETURN 上面的改進並不能從架構上產生更多的技術進化(還是被限定到 1M 區塊中),於是產生了隔離見證的技術。它的 3 次版本升級更好的說明了隔離見證在擴容與擴能方向上的正確性,以及產生的強大效果。 1.3. 早期交易與三次隔離見證版本變化的對比示意圖 為了大家更好的理解比特幣有隔離見證的整個歷史,我們在文章的頭部先把四個階段的對比示意圖展現給大家。 2. 隔離見證第一個版本 Segwit 2.1. 簡介與相關協議 隔離見證,即 Segregated Witness(簡稱 S…

BTC-2.63%
BCH0.44%
BSV-2.53%
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 留言
  • 轉發
  • 分享
留言
0/400
暫無留言
交易,隨時隨地
qrCode
掃碼下載 Gate App
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)