可能有很多新手朋友和筆者一樣,在第一次使用 WEB3 錢(qián)包,興高采烈地打開(kāi)比特幣錢(qián)包,準(zhǔn)備復(fù)制地址的時(shí)候,猛然發(fā)現(xiàn)自己創(chuàng)建的一個(gè)錢(qián)包居然有多個(gè)不同的地址。如同走到一個(gè)陌生的十字路口,一臉茫然。
為什么會(huì)有不同的地址?這幾個(gè)地址到底該用哪個(gè)呢?
OKX 錢(qián)包的多個(gè) Bitcoin 地址
Bitcoin 社區(qū)是一個(gè)技術(shù)不斷發(fā)展的社區(qū),技術(shù)的發(fā)展產(chǎn)生新的內(nèi)容。不同的地址格式可以認(rèn)為是新技術(shù)應(yīng)用的結(jié)果。接下來(lái)探索一下不同地址格式的區(qū)別是什么。
該格式是在 2009 年比特幣剛剛推出的時(shí)候采用的格式,所以稱作 Legacy 格式,又因?yàn)楫?dāng)時(shí)比特幣的地址是從公鑰/私鑰對(duì)創(chuàng)建的,所以也叫做支付公鑰哈希 (P2PKH) 地址。
目前看來(lái),Legacy 類(lèi)型的地址在交易中會(huì)占用更多的空間,導(dǎo)致交易的手續(xù)費(fèi)更高。目前大家只會(huì)在使用一些與新地址不兼容的舊錢(qián)包時(shí)才會(huì)使用這種類(lèi)型的地址。
可以發(fā)現(xiàn) Legacy 地址有一個(gè)特點(diǎn),地址都是以「1」開(kāi)頭的。這是因?yàn)樵谏傻刂返臅r(shí)候,會(huì)根據(jù)不同場(chǎng)景(比如:測(cè)試網(wǎng)/主網(wǎng))在生成的公鑰前添加前綴,添加了前綴的公鑰通過(guò) Hash 計(jì)算之后地址最終會(huì)以「1」開(kāi)頭。
在介紹該類(lèi)型地址之前,需要介紹里面的關(guān)鍵技術(shù)——隔離見(jiàn)證(SegWit)。故名思義,隔離見(jiàn)證就是把見(jiàn)證數(shù)據(jù)(witness)隔離出來(lái),單獨(dú)處理。
這么做的一個(gè)顯著的優(yōu)勢(shì)在于,減少了交易信息的大小,從而減少了交易的手續(xù)費(fèi)。另外體積減少帶來(lái)的另一個(gè)好處在于,提高了比特幣區(qū)塊交易的大小上限,從 1 MB 的容量大小達(dá)到了 4 MB。
隔離見(jiàn)證地址的特點(diǎn)是地址以「bc1」開(kāi)頭。
Taproot 地址的優(yōu)勢(shì)在于隱私性和在復(fù)雜交易場(chǎng)景下的效率。與Native SegWit 相比,它使用 Schnorr 算法取代了橢圓曲線數(shù)字簽名算法,前者在批量交易的場(chǎng)景下效率更高并且提高了多重簽名錢(qián)包的隱私性。
主根地址的特點(diǎn)是地址一般以「bc1q」。
經(jīng)過(guò)上述的介紹,大家多多少少對(duì)錢(qián)包的有了一個(gè)初步的認(rèn)識(shí),那么對(duì)于錢(qián)包里的一些技術(shù)獲取和我一樣非常感興趣,那么一起來(lái)看一下里面神秘的技術(shù)吧。
在介紹 P2SH 的時(shí)候我們知道這是一種面向贖回腳本交易的技術(shù),那么什么是贖回腳本,它在比特幣生態(tài)的作用是什么。
在介紹贖回腳本之前我們需要介紹一下比特幣的交易基本結(jié)構(gòu)。
下面是一個(gè)典型的 P2PK 類(lèi)型的交易,其中 04ae 開(kāi)頭的地址想要給 15kD 開(kāi)頭的地址轉(zhuǎn) 10 個(gè) BTC。04ae 地址的賬戶需要向鏈上的其他人表明自己確實(shí)擁有這個(gè)賬戶的使用權(quán)(擁有私鑰),那么他在這個(gè)交易中需要提供一個(gè)簽名(ScriptSig)來(lái)證明自己的身份。
驗(yàn)證者除了需要獲取到該簽名之外,還需要查找上一個(gè)交易對(duì)應(yīng)該 UTXO 的輸出腳本。這兩個(gè)腳本拼接起來(lái)就是贖回腳本。贖回腳本的作用就是用來(lái)證明交易的合法性。
在這個(gè)交易中,可以看到簽名和輸出腳本都是一段計(jì)算機(jī)指令。「 OP_PUSHBYTES 」表示向棧中 PUSH 一段數(shù)據(jù),首先在 ScriptSig 中 04ae 用自己的私鑰對(duì)整個(gè)交易進(jìn)行簽名,該簽名的會(huì)被壓入棧。之后再往棧中壓入公鑰,最后在「 OP_CHECKSIG 」中,用公鑰對(duì)簽名解密,比較交易是否一致。如果一致則表明身份有效。
除了這種 P2PK 的方式,贖回腳本還可以實(shí)現(xiàn) P2PKH、P2SH 等不同的身份驗(yàn)證方式。
在上面的介紹可以知道目前較新的錢(qián)包格式都是采用了隔離見(jiàn)證技術(shù),那么什么是見(jiàn)證(Witness),它是怎么進(jìn)行隔離的呢。
這里的 Witness 可以認(rèn)為是比特幣基本結(jié)構(gòu)中的腳本簽名(scriptSig)信息,隔離見(jiàn)證將其從基本結(jié)構(gòu)中抽出放在一個(gè)新的數(shù)據(jù)結(jié)構(gòu)中。
在上圖可以看到,交易中必要的內(nèi)容就剩下了交易來(lái)源的信息和交易輸出的信息,交易的大小被減少了,由于黃色部分(交易的總大小)有大小的限制,因此將交易的簽名分開(kāi)進(jìn)行傳輸可以讓一個(gè)區(qū)塊容納更多的交易。另外由于計(jì)算交易的簽名時(shí),簽名部分的內(nèi)容不被計(jì)算在內(nèi),因此可以有效解決交易延展性 的問(wèn)題。
下面是一個(gè) P2TR 交易,可以看到這個(gè)交易多了一個(gè) Witness 部分。它的作用是用來(lái)驗(yàn)證交易的合法性。使用 Witness 代替 ScriptSig 之后,驗(yàn)證合法性的方式還是一致的,即通過(guò)使用公鑰來(lái)解密 Witness 的簽名,驗(yàn)證交易的內(nèi)容是否一致。只有節(jié)點(diǎn)需要驗(yàn)證交易合法性的時(shí)候才會(huì)去請(qǐng)求 Witness 的信息。現(xiàn)在免費(fèi)使用 ZAN Node 服務(wù)(訪問(wèn) ZAN.TOP)即可穩(wěn)定高速的連接到 BTC 網(wǎng)絡(luò)。
總結(jié)一下,隔離見(jiàn)證就是將原本一個(gè)交易中的交易簽名部分的內(nèi)容和其余部分內(nèi)容分開(kāi)傳輸,從而減少了單個(gè)交易的大小,提升了整個(gè)區(qū)塊的容量。另外由于簽名部分的內(nèi)容在計(jì)算交易的 Hash 值時(shí)不被計(jì)算在內(nèi),因此可以有效解決 交易延展性 的問(wèn)題。
本文由 ZAN Team(X 賬號(hào) @zan_team) 的 Yeezo(X 賬號(hào) @GaoYeezo75065)撰寫(xiě)。
目前的主流錢(qián)包比如 OKX、Unisat 等錢(qián)包都支持以上四種地址,因此為了減少交易費(fèi)用,采用 Native SegWit 和 Taproot 格式的地址是比較合理的。
另外如果你對(duì)比特幣的銘文等感興趣,那么這兩種地址是你的不二之選,大多數(shù)錢(qián)包都對(duì)這兩種地址的銘文做了額外的處理,可以保護(hù)你特殊的 UTXO 不會(huì)在交易中錯(cuò)誤地轉(zhuǎn)移掉。認(rèn)準(zhǔn)「bc1」開(kāi)頭的錢(qián)包地址吧!
當(dāng)然不同地址格式的錢(qián)包是可以進(jìn)行資金的交易,不必?fù)?dān)心。
如果想要查看比特幣的余額或者區(qū)塊信息,歡迎使用 ZAN 的節(jié)點(diǎn)服務(wù),我們提供了豐富的 API 供開(kāi)發(fā)者使用。API 文檔詳情:https://docs.zan.top/reference/zan_getbalance-enhance
和傳統(tǒng)的 Legacy 地址相比,P2SH 地址采用的不是公鑰的哈希,而是贖回腳本(redeem-script)的哈希。通俗的講,P2PKH 是向一個(gè)公鑰的哈希進(jìn)行支付,而 P2SH 是向贖回腳本進(jìn)行支付,只有接受者滿足贖回腳本的轉(zhuǎn)出條件之后,才可以花費(fèi)里面的資金。
由于支付的對(duì)象從公鑰轉(zhuǎn)換為腳本,大大擴(kuò)展了靈活性,可以自定義贖回腳本的執(zhí)行邏輯。典型的應(yīng)用包括實(shí)現(xiàn)多重簽名的交易。
在 P2SH 的基礎(chǔ)上,如果嵌入了隔離見(jiàn)證技術(shù),那么這種地址的格式就是隔離見(jiàn)證兼容地址(Nested SegWit)。關(guān)于隔離見(jiàn)證相關(guān)的內(nèi)容可以在介紹隔離見(jiàn)證地址的時(shí)候了解到。引入了隔離見(jiàn)證技術(shù)之后,可以減少交易的體積,從而減少交易的手續(xù)費(fèi)用。
可以看到 P2SH 地址以「3」開(kāi)頭。
相關(guān)閱讀推薦
最新資訊
最新游戲
幻獸愛(ài)合成破解版內(nèi)購(gòu)版2022 安卓最新版
查看看門(mén)狗2手機(jī)版
查看地鐵跑酷(附兌換碼)
查看劍客少年最新版
查看榮耀文明正版 最新版v3.0.4
查看會(huì)說(shuō)話的拉里鳥(niǎo)(TalkingLarry)
查看愚公愛(ài)移山無(wú)廣告版
查看射殺僵尸防御MOD菜單
查看跑酷模擬器3d無(wú)限金幣版
查看熱門(mén)文章
熱門(mén)游戲
星球重啟 v1.1.11安卓最新版
查看極無(wú)雙2 v1.29.60手游版
查看弓箭傳說(shuō)2手游 v1.1.0
查看重裝上陣網(wǎng)易官方版 v0.100.352
查看出發(fā)吧麥芬測(cè)試服 v.1.2
查看獸化實(shí)驗(yàn)室(Changed) v1.0
查看狂扁小豆丁去廣告版 v1.1.2
查看王國(guó)紀(jì)元 v2.167官方正版
查看夢(mèng)境食旅官方正版 v1.0.5.6
查看射箭沖突 v0.32.0安卓版
查看洛伊的移動(dòng)要塞手機(jī)版 v.1.5.08
查看爆炒江湖 v1.42中文版
查看龍與劍 V1.1.1最新版
查看天道洪荒模擬器 v4.1無(wú)限靈氣/本源
查看龍之劍官方版 v0.1.3最新版
查看致命槍殺中文版 v12.0破解版
查看皇帝成長(zhǎng)計(jì)劃2 v2.2.2手機(jī)版
查看開(kāi)心酷跑安卓版 v4.6.5官方版
查看