比特幣的四個地址介紹

新手5/24/2024, 2:42:28 AM
比特幣地址有幾種類型?本文將介紹比特幣地址的作用、獲取方式,科普四種比特幣地址的區別、特點,並概述其中包含的技術細節。

爲什麼需要比特幣地址

交易途徑

在加密世界裏,錢包地址就像「銀行卡帳號」、「收件地址」一樣重要,任何操作都離不開它,而比特幣地址作爲數字標記符,類似於比特幣網路的銀行帳戶號碼,作爲在比特幣網路的交易途徑,定義了資金發送或接收的位置,一方面,可以用於發數字資產到特定地址,例如BTC、BRC-20代幣以及其他比特幣網路的NFT,另一方面,比特幣地址可以用來接收資產,例如,Web3項目方通過您的比特幣地址空投代幣至您的錢包中。

涉及該地址的每筆交易都記錄在區塊鏈上,具備透明度。由於地址是從公鑰導出的,且每個交易都使用私鑰進行籤名,確保只有擁有對應地址的私鑰的人才能完成交易。這種基於密碼學的驗證機制使得比特幣網路具有高度的安全性,使得交易不受篡改和僞造的影響。由此看來,比特幣地址確保了交易的透明度和安全性。

身分確權

此外,比特幣地址實現了身分確權新範式。

在現實生活中,我們的身分普遍都是由中心化權威機構賦予的,以個人身分爲例,個人通過居民身分證、護照、駕照等等身分證明實現身分確權,依賴它們來進行醫療、交通、等社會活動,且上述形式的證明都是由國家公權力機構賦予的,存儲在中心化的數據庫中,存在數據泄露的風險。

但在Web3的世界中,個人可以通過唯一的比特幣地址明確身分,由算法生成的一串字符構成的比特幣地址賦予了個人在Web3中去中心化身份,賦予了個人用戶身分的所有權、控制權以及管理權,也擺脫了對中心化權威機構身分確權的依賴,利用區塊鏈技術來實現對身分的確權。舉例來說,假若您作爲BTC上某一銘文DAO社群的貢獻者,獨一無二的比特幣地址就代表了您在社區中的身分。

然而,單個地址並不一定意味着單個用戶,一個地址背後可能有一羣人,一個人也可能有多個地址,以Web3世界中的行爲“擼毛”爲例,擼毛指的是通過某一區塊鏈地址與Dapp進行交互,從而獲得項目方的“空投”獎勵,擼毛的用戶中一方面就包括了“工作室”,也就是一個比特幣地址可能由一羣人控制,另一方面也包括了個人開“多號”,也就是一個人擁有多個地址。

比特幣地址的獲取與範式

地址的獲取

⽐特幣的任何⽤戶都可以免費獲得地址。

Bitcoin Core(⽐特幣核⼼客戶端)是一個完整的比特幣節點軟件,它允許用戶參與比特幣網路並管理他們的比特幣資產,通過使用Bitcoin Core客戶端,用戶可以生成新的比特幣地址,這些地址可以用於接收比特幣。在客戶端中,您只需點擊“新地址”按鈕,系統將會爲你自動分配一個地址。

使⽤交易所也可以獲得⽐特幣地址,也就是通過在Gate.io等中心化交易所註冊帳戶,獲得一個托管地址,您可以使用這個地址來向交易所存入比特幣網路資產,如BTC,USDT等交易所支持的加密貨幣,或者接收其他用戶向該地址發送的代幣。

此外,比特幣軟錢包是指運行在你的手機或電腦上的比特幣錢包應用程序。這些錢包提供了更多的靈活性和控制權,因爲你可以完全掌控你的私鑰。您也可以使用軟錢包來生成一個比特幣地址,市面的軟錢包有MetaMask、Gate的Web3錢包。

地址的範式

所有主網比特幣地址都以1,3爲前綴開頭, 或者bc1,此外,比特幣網路的測試網(Testnet)的地址爲tb1開頭。您可能會注意到其中一些地址較長,以bc1開頭,不包含任何大寫字母。這是因爲他們使用了Bech32編碼。

除了編碼不同之外,“bc1”開頭的地址與“1,3”開頭的地址在使用沒有差異。

下面這些都是比特幣地址:

1LMcKyPmwebfygoeZP8E9jAMS2BcgH3Yip

3E13MQrZvPHqSSTsdQaZzZiYPzjEDT5VKE

bc1qsr03qya584vkdqztxyat3d5s63pjfddy8vwrue

bc1qzyda53xqwkqruex3mzwvpja04x23r572mygpgfc90qckdw2cwwaqr2h70u

   tb1qw2c3lxufxqe2x9s4rdzh65tpf4d7fssjgh8nv6.

地址也可以表示爲 QR 碼,能夠幫助您同其他人共享地址。例如,某些應用程序可以使用手機的攝像頭掃描他人手機、電腦屏幕或打印紙張上的二維碼,從而獲取比特幣地址。

這些地址代表着比特幣網路不同階段的版本,由比特幣網路的分叉演化而來。


BTC的四種地址示例(來源:@adrienolichon">Geordanna Cordero)

比特幣地址的分類

遺留(Legacy)/支付公鑰哈希(P2PKH)地址

這類地址是傳統比特幣地址,叫遺留(Legacy)地址,也叫P2PKH地址,P2PKH 是 Pay To PubKey Hash(付款至公鑰哈希)的縮寫,該名稱也是因爲在 2009 年比特幣推出時,地址的生成方式是從公鑰/私鑰對的生成開始,在當時,這是創建地址的唯一方法。

遺留(Legacy)地址由1開頭,相比其他新地址,古老的遺留(Legacy)地址較容易識別使用Base58編碼,長度爲 26 個到 36 個字符,例如:“15f12gEh2DFcHyhSyu7v3Bji5T3CJa9Smn“

今天,這類型的地址在交易中由於它們用於證明交易的合法性和所有權交易籤名數據較大,使用最多的區塊空間,因此也是最昂貴的地址類型。

交易的大小對於區塊鏈的整體容量非常重要的,交易越大,佔用的區塊空間就越多,由此就需要支付更高的交易費用以確保交易被快速確認,因此,目前大家只會在使用一些與新地址不兼容的舊錢包時才會使用Legacy地址。

值得注意的是,如果發送交易時,一方使用了Legacy地址,且錢包不兼容的新地址(如P2SH或Bech32地址),通常不會丟失資產。但Legacy地址接收的資產可能無法被查看,接收方可通過更新錢包、在新錢包中導入Legacy地址等辦法來解決問題;此外,比特幣網路也有可能拒絕這類不兼容的交易,資金會自動退回到發送方的錢包。

支付腳本哈希(P2SH)地址

支付腳本哈希(Pay-to-Script-Hash)與傳統以“1”開頭的地址相比,P2SH地址不是公鑰的哈希,而是涉及某些技術腳本的哈希,以3開頭,如示例:35PBEaofpUeH8VnnNSorM1QZsadrZoQp4N

P2SH地址可用於要求多重籤名的轉帳事宜等,甚至可以利用隔離見證節省交易費用,發送到 P2SH 地址比使用舊地址的錢包便宜約 26%。

在P2SH中,接收方在接收比特幣之前,已經設定了贖回腳本,這個腳本定義了資金的轉出條件。然後,接收方將這個贖回腳本的哈希作爲P2SH地址公布給發送方。發送方創建交易時,將資金發送到這個P2SH地址,但不需要知道具體的贖回條件,因爲贖回條件被哈希化了。當接收方想要花費這筆資金時,他們需要提供與贖回腳本相匹配的條件,這可能包括多重籤名或其他條件。

以多重籤名錢包爲例,假設有三個人:Alice、Bob和Charlie,他們共同管理一個多重籤名錢包。他們決定使用2-of-3多重籤名方案,這意味着任何時候至少需要兩個人的籤名才能執行交易。

首先,他們每個人生成一個私鑰和對應的公鑰。

Alice: 公鑰 A,私鑰 a

Bob: 公鑰 B,私鑰 b

Charlie: 公鑰 C,私鑰 c

接着,他們將這些公鑰組合成一個贖回腳本(redeem script)。這個腳本定義了多重籤名的條件,如下所示:

Redeem Script: 2 <A> <B> <C> 3 CHECKMULTISIG

然後,他們對這個贖回腳本進行哈希運算,生成一個哈希值,作爲P2SH地址。

P2SH地址:3xxxxx(這裏省略了實際的地址)

Alice、Bob和Charlie將這個P2SH地址提供給其他人,用於接收比特幣。當有人向這個P2SH地址發送比特幣時,資金被鎖定在這個地址上,並需要至少兩個人的籤名才能花費這筆資金。

當他們想要花費這筆資金時,他們必須提供各自的籤名,並結合贖回腳本,以證明他們有權花費這筆資金。

例如,如果Alice和Bob要花費資金,則他們提供各自的籤名,並將贖回腳本與籤名一起提供給比特幣網路,以驗證交易。

通過上述例子可以洞察P2SH地址的生成過程以及多重籤名方案的運作邏輯。這種獨特的邏輯也提供了額外的安全性和控制權,因爲需要多個人的籤名才能執行交易,減少了單點風險。


P2SH示例(來源:bitcoinwiki

隔離見證地址(SegWit) 地址

Segwit 地址,SegWit指的是隔離見證,其中“隔離”(Segregated)是指分離,“見證”(Witness)是指與特定交易相關的交易籤名,分爲兩種格式。一種是以’3’開頭的(Nested P2SH格式),獲取現有的P2SH地址(以“3”開頭),並與SegWit地址一起封裝,例如:”3J98t1WpEZ73CNmQviecrnyiWrnqRhWNLy”,以此來兼容老版本。但這是某種破解行爲,導致SegWit交易需要大約10%的額外空間,不符合擴容的原生目的。

更常見的是另一種以’bc1’開頭的bech32格式,也稱爲Native SegWit,是專爲SegWit開發的地址格式,地址使用Base32編碼而不是傳統的Base58,計算更方便、高效,地址中需要的字符更少,也不區分大小寫,數據可以更緊密地存儲在二維碼中。此外Bech32提供更高的安全性,更好地優化校驗和錯誤檢測代碼,將出現無效地址的機會降到最低。例如:”bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq”。

SegWit運作方式是通過將交易分爲兩個部分,第一個部分包含發送者和接收者錢包地址,第二個部分保存交易籤名或見證數據,這種分離確保了更多交易可以容納在單個比特幣區塊中,從而提高吞吐量並降低交易費用。

簡單來說,這種類型的比特幣地址減少了交易中存儲的信息量,它們不在交易中存儲籤名和腳本,而是在見證(Witness)中將交易籤名與交易數據分離,減少了存儲在一個區塊中所需的交易數據的大小,使得每個區塊都有額外的容量來存儲更多的交易,借助SegWit地址,比特幣網路可以處理更多的每個區塊的交易,發送方支付更低的交易費用。這有助於改善您的交易確認時間,並增加安全性。

此外,由於SegWit是軟分叉,因此Segwit地址它們是向後兼容的,這意味着您可以從SegWit地址發送資金到Legacy地址。

總而言之,來自 SegWit 地址的交易的大小較小,或者當大小與舊版相同時,由於區塊中“權重”的計算不同,實際上佔用的區塊空間更少。相對 P2SH 地址,Segwit地址可以節省大約 16% 的交易費用,與Legacy地址相比,SegWit 地址節省 38% 以上的費用,也由於這種成本節約,它是最常用的比特幣交易地址。

但是有些交易平台和錢包還不支持 Segwit 地址,所以會提示用戶向他們發送 P2SH 地址。這就是爲什麼大多數錢包仍然包含創建 P2SH 甚至舊地址錢包的選項。


BTC地址對比(來源:D’CENT Wallet

主根(Taproot )地址

Taproot 是比特幣協議的軟分叉升級,旨在提高隱私性、靈活性和可擴展性。它在三個比特幣改進提案BIP340、BIP341 和 BIP342中引入,上述提案於2020年10月合並到比特幣核心代碼庫中,並於2021年11月激活。 而Taproot地址是比特幣最新的地址類型,其隨着比特幣改進提案 BIP341 和 BIP342 引入,包含在比特幣 Core 0.21.0 版本更新中。

在地址構成方面,Taproot地址在SegWit地址的基礎之上進行開發,有助於提高區塊空間的效率並改善費用,也被稱爲P2TR,pay-to-Taproot。技術角度上,Taproot地址是 Segwit 的升級版本,其地址以 bc1p 開頭,使用 bech32 的修改版本bech32m進行編碼,通過BIP86 路徑(m/86’/0’/0’/0/0)從助記詞衍生出地址。

示例:”bc1pmzfrwwndsqmk5yh69yjr5lfgfg4ev8c0tsc06e“

在技術方面,Taproot地址通過 默克爾抽象語法樹(MAST) 和 Schnorr 籤名使得用戶在交易中可以使用單個公鑰或更復雜的腳本(例如多重籤名錢包或智能合約)來花費代幣,從而實現更大的隱私性和靈活性。

具體來說,Schnorr 籤名與先前的橢圓曲線數字籤名算法 ECDSA相比,在驗證多個交易籤名時更高效,這有助於簡化整個交易流程,並且能夠增強多重籤名錢包的隱私性。因爲在多重籤名交易中,Schnorr籤名可以將多個籤名合並成一個,從而減少了交易數據的大小,進而減少了交易費用,提高了交易的效率和隱私性。可以減少交易數據大小並啓用更簡單的高級協議,例如原子交換和支付池。

通過使用Schnorr籤名,可以實現更高效的批量交易處理——將多個交易打包在一起同時進行驗證和執行,這使得批量交易的處理速度得以加快,同時還能夠減少網絡擁塞,擴大網路容量。

Taproot地址通過也引入了MAST——核心思想是僅存儲執行的交易結果,而不是整個樹。舉例來說當與復雜的智能合約交互或進行其他復雜交易時,這些包含多個條件分支的復雜交易,只有實際執行的路徑才會被記錄到區塊鏈上,而未執行的路徑則不會存儲,從而減少了存儲需求,提高了可擴展性。

使更多的復雜交易看起來像單一的簡單交易,有助於鏈上活動隱私性的提升。


MAST 結構(來源:Decision’s Blog)

最近,隨着BTC減半,Runestone價格水漲船高,以Runes協議代表的BTC生態再次引起,我們知道,比特幣銘文是通過Ordinals協議銘刻 (Inscribe) 在聰 (Satoshis) 上的元數據,而BRC-20通過將JSON格式寫入聰的方式來部署代幣。Runes協議被稱爲BRC-20的替代品,通過在UTXO中直接包含代幣餘額,以及定義了特定的轉帳和創建操作,提供了一種更輕量、簡潔、能夠解決垃圾UTXO問題的代幣發行和管理方案。

由於Runes同樣Ordinals協議,因此在參與符文打新時,同樣需要使用”bc1p“開頭的Taproot地址。

結語

比特幣地址的分類與技術細節給我們展示了比特幣網路的不斷演進和創新。從傳統的Legacy留地址到隔離見證地址,再到最新的主根地址,每一種地址類型都在不同程度上提高了網路的效率、隱私性和靈活性。

通過了解不同地址類型的特點和優劣勢,我們可以更好地選擇適合自己需求的地址,並充分利用比特幣網路的優勢。無論是普通用戶還是開發者,深入了解比特幣地址的分類與技術,都能夠幫助我們更好地參與到比特幣生態中,享受到數字貨幣所帶來的便利與創新。

隨着比特幣網路的不斷發展,我們也可以期待更多的創新和改進,爲數字貨幣世界帶來更多可能性。比特幣的未來將會更加光明,而我們也將在這個充滿活力的生態系統中不斷探索、學習和成長。

願比特幣的價值不僅僅體現在其技術上,更體現在它所賦予的信任、自由和機會上。讓我們攜手共建一個更加包容、開放和創新的數字貨幣世界,爲未來的金融體系注入更多活力和可能性。

المؤلف: 0xaya
المترجم: Paine
المراجع (المراجعين): Piccolo、Wayne、Elisa、Ashley、Joyce
* لا يُقصد من المعلومات أن تكون أو أن تشكل نصيحة مالية أو أي توصية أخرى من أي نوع تقدمها منصة Gate.io أو تصادق عليها .
* لا يجوز إعادة إنتاج هذه المقالة أو نقلها أو نسخها دون الرجوع إلى منصة Gate.io. المخالفة هي انتهاك لقانون حقوق الطبع والنشر وقد تخضع لإجراءات قانونية.

比特幣的四個地址介紹

新手5/24/2024, 2:42:28 AM
比特幣地址有幾種類型?本文將介紹比特幣地址的作用、獲取方式,科普四種比特幣地址的區別、特點,並概述其中包含的技術細節。

爲什麼需要比特幣地址

交易途徑

在加密世界裏,錢包地址就像「銀行卡帳號」、「收件地址」一樣重要,任何操作都離不開它,而比特幣地址作爲數字標記符,類似於比特幣網路的銀行帳戶號碼,作爲在比特幣網路的交易途徑,定義了資金發送或接收的位置,一方面,可以用於發數字資產到特定地址,例如BTC、BRC-20代幣以及其他比特幣網路的NFT,另一方面,比特幣地址可以用來接收資產,例如,Web3項目方通過您的比特幣地址空投代幣至您的錢包中。

涉及該地址的每筆交易都記錄在區塊鏈上,具備透明度。由於地址是從公鑰導出的,且每個交易都使用私鑰進行籤名,確保只有擁有對應地址的私鑰的人才能完成交易。這種基於密碼學的驗證機制使得比特幣網路具有高度的安全性,使得交易不受篡改和僞造的影響。由此看來,比特幣地址確保了交易的透明度和安全性。

身分確權

此外,比特幣地址實現了身分確權新範式。

在現實生活中,我們的身分普遍都是由中心化權威機構賦予的,以個人身分爲例,個人通過居民身分證、護照、駕照等等身分證明實現身分確權,依賴它們來進行醫療、交通、等社會活動,且上述形式的證明都是由國家公權力機構賦予的,存儲在中心化的數據庫中,存在數據泄露的風險。

但在Web3的世界中,個人可以通過唯一的比特幣地址明確身分,由算法生成的一串字符構成的比特幣地址賦予了個人在Web3中去中心化身份,賦予了個人用戶身分的所有權、控制權以及管理權,也擺脫了對中心化權威機構身分確權的依賴,利用區塊鏈技術來實現對身分的確權。舉例來說,假若您作爲BTC上某一銘文DAO社群的貢獻者,獨一無二的比特幣地址就代表了您在社區中的身分。

然而,單個地址並不一定意味着單個用戶,一個地址背後可能有一羣人,一個人也可能有多個地址,以Web3世界中的行爲“擼毛”爲例,擼毛指的是通過某一區塊鏈地址與Dapp進行交互,從而獲得項目方的“空投”獎勵,擼毛的用戶中一方面就包括了“工作室”,也就是一個比特幣地址可能由一羣人控制,另一方面也包括了個人開“多號”,也就是一個人擁有多個地址。

比特幣地址的獲取與範式

地址的獲取

⽐特幣的任何⽤戶都可以免費獲得地址。

Bitcoin Core(⽐特幣核⼼客戶端)是一個完整的比特幣節點軟件,它允許用戶參與比特幣網路並管理他們的比特幣資產,通過使用Bitcoin Core客戶端,用戶可以生成新的比特幣地址,這些地址可以用於接收比特幣。在客戶端中,您只需點擊“新地址”按鈕,系統將會爲你自動分配一個地址。

使⽤交易所也可以獲得⽐特幣地址,也就是通過在Gate.io等中心化交易所註冊帳戶,獲得一個托管地址,您可以使用這個地址來向交易所存入比特幣網路資產,如BTC,USDT等交易所支持的加密貨幣,或者接收其他用戶向該地址發送的代幣。

此外,比特幣軟錢包是指運行在你的手機或電腦上的比特幣錢包應用程序。這些錢包提供了更多的靈活性和控制權,因爲你可以完全掌控你的私鑰。您也可以使用軟錢包來生成一個比特幣地址,市面的軟錢包有MetaMask、Gate的Web3錢包。

地址的範式

所有主網比特幣地址都以1,3爲前綴開頭, 或者bc1,此外,比特幣網路的測試網(Testnet)的地址爲tb1開頭。您可能會注意到其中一些地址較長,以bc1開頭,不包含任何大寫字母。這是因爲他們使用了Bech32編碼。

除了編碼不同之外,“bc1”開頭的地址與“1,3”開頭的地址在使用沒有差異。

下面這些都是比特幣地址:

1LMcKyPmwebfygoeZP8E9jAMS2BcgH3Yip

3E13MQrZvPHqSSTsdQaZzZiYPzjEDT5VKE

bc1qsr03qya584vkdqztxyat3d5s63pjfddy8vwrue

bc1qzyda53xqwkqruex3mzwvpja04x23r572mygpgfc90qckdw2cwwaqr2h70u

   tb1qw2c3lxufxqe2x9s4rdzh65tpf4d7fssjgh8nv6.

地址也可以表示爲 QR 碼,能夠幫助您同其他人共享地址。例如,某些應用程序可以使用手機的攝像頭掃描他人手機、電腦屏幕或打印紙張上的二維碼,從而獲取比特幣地址。

這些地址代表着比特幣網路不同階段的版本,由比特幣網路的分叉演化而來。


BTC的四種地址示例(來源:@adrienolichon">Geordanna Cordero)

比特幣地址的分類

遺留(Legacy)/支付公鑰哈希(P2PKH)地址

這類地址是傳統比特幣地址,叫遺留(Legacy)地址,也叫P2PKH地址,P2PKH 是 Pay To PubKey Hash(付款至公鑰哈希)的縮寫,該名稱也是因爲在 2009 年比特幣推出時,地址的生成方式是從公鑰/私鑰對的生成開始,在當時,這是創建地址的唯一方法。

遺留(Legacy)地址由1開頭,相比其他新地址,古老的遺留(Legacy)地址較容易識別使用Base58編碼,長度爲 26 個到 36 個字符,例如:“15f12gEh2DFcHyhSyu7v3Bji5T3CJa9Smn“

今天,這類型的地址在交易中由於它們用於證明交易的合法性和所有權交易籤名數據較大,使用最多的區塊空間,因此也是最昂貴的地址類型。

交易的大小對於區塊鏈的整體容量非常重要的,交易越大,佔用的區塊空間就越多,由此就需要支付更高的交易費用以確保交易被快速確認,因此,目前大家只會在使用一些與新地址不兼容的舊錢包時才會使用Legacy地址。

值得注意的是,如果發送交易時,一方使用了Legacy地址,且錢包不兼容的新地址(如P2SH或Bech32地址),通常不會丟失資產。但Legacy地址接收的資產可能無法被查看,接收方可通過更新錢包、在新錢包中導入Legacy地址等辦法來解決問題;此外,比特幣網路也有可能拒絕這類不兼容的交易,資金會自動退回到發送方的錢包。

支付腳本哈希(P2SH)地址

支付腳本哈希(Pay-to-Script-Hash)與傳統以“1”開頭的地址相比,P2SH地址不是公鑰的哈希,而是涉及某些技術腳本的哈希,以3開頭,如示例:35PBEaofpUeH8VnnNSorM1QZsadrZoQp4N

P2SH地址可用於要求多重籤名的轉帳事宜等,甚至可以利用隔離見證節省交易費用,發送到 P2SH 地址比使用舊地址的錢包便宜約 26%。

在P2SH中,接收方在接收比特幣之前,已經設定了贖回腳本,這個腳本定義了資金的轉出條件。然後,接收方將這個贖回腳本的哈希作爲P2SH地址公布給發送方。發送方創建交易時,將資金發送到這個P2SH地址,但不需要知道具體的贖回條件,因爲贖回條件被哈希化了。當接收方想要花費這筆資金時,他們需要提供與贖回腳本相匹配的條件,這可能包括多重籤名或其他條件。

以多重籤名錢包爲例,假設有三個人:Alice、Bob和Charlie,他們共同管理一個多重籤名錢包。他們決定使用2-of-3多重籤名方案,這意味着任何時候至少需要兩個人的籤名才能執行交易。

首先,他們每個人生成一個私鑰和對應的公鑰。

Alice: 公鑰 A,私鑰 a

Bob: 公鑰 B,私鑰 b

Charlie: 公鑰 C,私鑰 c

接着,他們將這些公鑰組合成一個贖回腳本(redeem script)。這個腳本定義了多重籤名的條件,如下所示:

Redeem Script: 2 <A> <B> <C> 3 CHECKMULTISIG

然後,他們對這個贖回腳本進行哈希運算,生成一個哈希值,作爲P2SH地址。

P2SH地址:3xxxxx(這裏省略了實際的地址)

Alice、Bob和Charlie將這個P2SH地址提供給其他人,用於接收比特幣。當有人向這個P2SH地址發送比特幣時,資金被鎖定在這個地址上,並需要至少兩個人的籤名才能花費這筆資金。

當他們想要花費這筆資金時,他們必須提供各自的籤名,並結合贖回腳本,以證明他們有權花費這筆資金。

例如,如果Alice和Bob要花費資金,則他們提供各自的籤名,並將贖回腳本與籤名一起提供給比特幣網路,以驗證交易。

通過上述例子可以洞察P2SH地址的生成過程以及多重籤名方案的運作邏輯。這種獨特的邏輯也提供了額外的安全性和控制權,因爲需要多個人的籤名才能執行交易,減少了單點風險。


P2SH示例(來源:bitcoinwiki

隔離見證地址(SegWit) 地址

Segwit 地址,SegWit指的是隔離見證,其中“隔離”(Segregated)是指分離,“見證”(Witness)是指與特定交易相關的交易籤名,分爲兩種格式。一種是以’3’開頭的(Nested P2SH格式),獲取現有的P2SH地址(以“3”開頭),並與SegWit地址一起封裝,例如:”3J98t1WpEZ73CNmQviecrnyiWrnqRhWNLy”,以此來兼容老版本。但這是某種破解行爲,導致SegWit交易需要大約10%的額外空間,不符合擴容的原生目的。

更常見的是另一種以’bc1’開頭的bech32格式,也稱爲Native SegWit,是專爲SegWit開發的地址格式,地址使用Base32編碼而不是傳統的Base58,計算更方便、高效,地址中需要的字符更少,也不區分大小寫,數據可以更緊密地存儲在二維碼中。此外Bech32提供更高的安全性,更好地優化校驗和錯誤檢測代碼,將出現無效地址的機會降到最低。例如:”bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq”。

SegWit運作方式是通過將交易分爲兩個部分,第一個部分包含發送者和接收者錢包地址,第二個部分保存交易籤名或見證數據,這種分離確保了更多交易可以容納在單個比特幣區塊中,從而提高吞吐量並降低交易費用。

簡單來說,這種類型的比特幣地址減少了交易中存儲的信息量,它們不在交易中存儲籤名和腳本,而是在見證(Witness)中將交易籤名與交易數據分離,減少了存儲在一個區塊中所需的交易數據的大小,使得每個區塊都有額外的容量來存儲更多的交易,借助SegWit地址,比特幣網路可以處理更多的每個區塊的交易,發送方支付更低的交易費用。這有助於改善您的交易確認時間,並增加安全性。

此外,由於SegWit是軟分叉,因此Segwit地址它們是向後兼容的,這意味着您可以從SegWit地址發送資金到Legacy地址。

總而言之,來自 SegWit 地址的交易的大小較小,或者當大小與舊版相同時,由於區塊中“權重”的計算不同,實際上佔用的區塊空間更少。相對 P2SH 地址,Segwit地址可以節省大約 16% 的交易費用,與Legacy地址相比,SegWit 地址節省 38% 以上的費用,也由於這種成本節約,它是最常用的比特幣交易地址。

但是有些交易平台和錢包還不支持 Segwit 地址,所以會提示用戶向他們發送 P2SH 地址。這就是爲什麼大多數錢包仍然包含創建 P2SH 甚至舊地址錢包的選項。


BTC地址對比(來源:D’CENT Wallet

主根(Taproot )地址

Taproot 是比特幣協議的軟分叉升級,旨在提高隱私性、靈活性和可擴展性。它在三個比特幣改進提案BIP340、BIP341 和 BIP342中引入,上述提案於2020年10月合並到比特幣核心代碼庫中,並於2021年11月激活。 而Taproot地址是比特幣最新的地址類型,其隨着比特幣改進提案 BIP341 和 BIP342 引入,包含在比特幣 Core 0.21.0 版本更新中。

在地址構成方面,Taproot地址在SegWit地址的基礎之上進行開發,有助於提高區塊空間的效率並改善費用,也被稱爲P2TR,pay-to-Taproot。技術角度上,Taproot地址是 Segwit 的升級版本,其地址以 bc1p 開頭,使用 bech32 的修改版本bech32m進行編碼,通過BIP86 路徑(m/86’/0’/0’/0/0)從助記詞衍生出地址。

示例:”bc1pmzfrwwndsqmk5yh69yjr5lfgfg4ev8c0tsc06e“

在技術方面,Taproot地址通過 默克爾抽象語法樹(MAST) 和 Schnorr 籤名使得用戶在交易中可以使用單個公鑰或更復雜的腳本(例如多重籤名錢包或智能合約)來花費代幣,從而實現更大的隱私性和靈活性。

具體來說,Schnorr 籤名與先前的橢圓曲線數字籤名算法 ECDSA相比,在驗證多個交易籤名時更高效,這有助於簡化整個交易流程,並且能夠增強多重籤名錢包的隱私性。因爲在多重籤名交易中,Schnorr籤名可以將多個籤名合並成一個,從而減少了交易數據的大小,進而減少了交易費用,提高了交易的效率和隱私性。可以減少交易數據大小並啓用更簡單的高級協議,例如原子交換和支付池。

通過使用Schnorr籤名,可以實現更高效的批量交易處理——將多個交易打包在一起同時進行驗證和執行,這使得批量交易的處理速度得以加快,同時還能夠減少網絡擁塞,擴大網路容量。

Taproot地址通過也引入了MAST——核心思想是僅存儲執行的交易結果,而不是整個樹。舉例來說當與復雜的智能合約交互或進行其他復雜交易時,這些包含多個條件分支的復雜交易,只有實際執行的路徑才會被記錄到區塊鏈上,而未執行的路徑則不會存儲,從而減少了存儲需求,提高了可擴展性。

使更多的復雜交易看起來像單一的簡單交易,有助於鏈上活動隱私性的提升。


MAST 結構(來源:Decision’s Blog)

最近,隨着BTC減半,Runestone價格水漲船高,以Runes協議代表的BTC生態再次引起,我們知道,比特幣銘文是通過Ordinals協議銘刻 (Inscribe) 在聰 (Satoshis) 上的元數據,而BRC-20通過將JSON格式寫入聰的方式來部署代幣。Runes協議被稱爲BRC-20的替代品,通過在UTXO中直接包含代幣餘額,以及定義了特定的轉帳和創建操作,提供了一種更輕量、簡潔、能夠解決垃圾UTXO問題的代幣發行和管理方案。

由於Runes同樣Ordinals協議,因此在參與符文打新時,同樣需要使用”bc1p“開頭的Taproot地址。

結語

比特幣地址的分類與技術細節給我們展示了比特幣網路的不斷演進和創新。從傳統的Legacy留地址到隔離見證地址,再到最新的主根地址,每一種地址類型都在不同程度上提高了網路的效率、隱私性和靈活性。

通過了解不同地址類型的特點和優劣勢,我們可以更好地選擇適合自己需求的地址,並充分利用比特幣網路的優勢。無論是普通用戶還是開發者,深入了解比特幣地址的分類與技術,都能夠幫助我們更好地參與到比特幣生態中,享受到數字貨幣所帶來的便利與創新。

隨着比特幣網路的不斷發展,我們也可以期待更多的創新和改進,爲數字貨幣世界帶來更多可能性。比特幣的未來將會更加光明,而我們也將在這個充滿活力的生態系統中不斷探索、學習和成長。

願比特幣的價值不僅僅體現在其技術上,更體現在它所賦予的信任、自由和機會上。讓我們攜手共建一個更加包容、開放和創新的數字貨幣世界,爲未來的金融體系注入更多活力和可能性。

المؤلف: 0xaya
المترجم: Paine
المراجع (المراجعين): Piccolo、Wayne、Elisa、Ashley、Joyce
* لا يُقصد من المعلومات أن تكون أو أن تشكل نصيحة مالية أو أي توصية أخرى من أي نوع تقدمها منصة Gate.io أو تصادق عليها .
* لا يجوز إعادة إنتاج هذه المقالة أو نقلها أو نسخها دون الرجوع إلى منصة Gate.io. المخالفة هي انتهاك لقانون حقوق الطبع والنشر وقد تخضع لإجراءات قانونية.
ابدأ التداول الآن
اشترك وتداول لتحصل على جوائز ذهبية بقيمة
100 دولار أمريكي
و
5500 دولارًا أمريكيًا
لتجربة الإدارة المالية الذهبية!