在追求更好的技術時,一些附屬的事物免不了會變得有些混亂。雖然比特幣地址的格式化方法改變了許多,它實在不是普通人需要關心的東西。比特幣在過去幾年中使用了多種標準,有時候還同時使用多個標準,這讓這些奇怪的字符串變得更加可怕,過分可怕了。
不同類型的比特幣地址基本上是交叉兼容的,意思是任何一種地址上的資金都可以發送到別種地址。如果你在發送資金到某種地址時遇到了問題,那很有可能是你錢包客戶端的問題,只要嘗試升級你的錢包到支持下文所述的地址類型即可。
一般來說,你所用的錢包軟件會幫你管理地址,並防止你把資金發送到一個無效的地址上。不過,各種錢包的做法可能不一致。 Trezor Suite app 最近發布了公開的beta 版,它可以防止您把錢發送到無效的地址,也支持所有常用的地址類型,還可以幫助你避免多付手續費;這最後一個問題在流行的錢包軟件中很普遍,尤其是在網絡繁忙的時期。
不同類型的比特幣地址長什麼樣?
要想愜意地收發比特幣,你需要知道兩件事:如何識別一個有效的地址,以及應該使用哪種類型的地址。
大多數時候,你應該都會傾向於使用原生的隔離見證地址(也就所謂的“Bech32 地址”),這種類型的地址總是以 bc1 開頭。這種地址是最好的,因為它在構造交易時數據的使用效率最高,因此手續費也最低,因為比特幣的手續費是按照交易的數據量來計價的。
原生的隔離見證Bech32 地址長這樣:
bc1qj89046x7zv6pm4n00qgqp505nvljnfp6xfznyw
不過,現在並不是所有的錢包軟件都支持Bech32 格式。一個更通用的地址格式是“支付到腳本哈希值(P2SH)” 地址,也叫“嵌套隔離見證地址”。從交易費的角度看,它的效率也比傳統的地址類型要高,而且可以一眼識別出來,因為以 3 開頭。如果你不確定你的交易發往的目標地址是否支持隔離見證,那麼,嵌套的隔離見證地址一般都支持。
隔離見證P2SH 地址長這樣:
3EmUH8Uh9EXE7axgyAeBsCc2vdUdKkDqWK
如果你使用的是比較舊的錢包軟件,你可能需要使用傳統的“支付到公鑰哈希值(P2PKH)”地址。之所以叫傳統地址,是因為這種地址被視為早期科技的殘餘。這種地址一般來說手續費會更高,但也仍然是通用的。你可以從一個地址是否以 1 開頭來辨別它是不是P2PKH 地址。
傳統的P2PKH 地址長這樣:
1MbeQFmHo9b69kCfFa6yBr7BQX4NzJFQq9
你要養成每次發起交易都檢查目標地址的習慣,確保目標地址沒有被篡改。雖然地址的開頭可以幫你辨識這種地址的類型,但地址的長度也會隨類型的變化而變化。 Bech 32 地址有42 個字符—— 這是最新的地址類型—— 而P2SH 和P2PKH 地址只有32 個字符。
什麼是能接收資金的有效比特幣地址?
你的所有類型的地址都是從同一個源頭衍生出來的,就是你的助記詞(也叫“種子詞”)。下面是一個種子詞的例子,所有三種類型的地址都可以從這個助記詞衍生出來:
gentle melt morning mother surprise situate lens beef cloud inquiry genuine feel
有了助記詞,你就可以創建一個有效的比特幣收賬地址,任何類型都可以,只要你的錢包軟件支持。使用Trezor Suite,只需點幾下鼠標就能生成上述任意一種類型的地址。
- 在“賬戶” 頁面使用側邊欄的菜單“增加新賬戶” -
因為比特幣開發和升級的特點,隨著時間推移,你可能會遇上更多的地址類型,但地址都是向後兼容的。一個Bech32 地址可以發送資金給一個P2SH 或P2PKH 地址,無需任何擔心。反過來也可以,你也可以用傳統地址給Bech32 和P2SH 地址發送資金;只不過,如果你使用的是比較舊的錢包軟件,軟件可能不能識別Bech32 和P2SH 地址,因此阻止你發送,即使這筆交易很有可能會成功。這只是保護機製過時的問題,不是比特幣的問題,你只要升級軟件,這筆交易就會通過了。
當你有疑慮時,你可以放心使用傳統地址,因為它有最廣泛的支持。雖然你所用的錢包軟件可能會給你一些限制,但只要它允許你簽名和發送交易,你就沒什麼可擔心的。比特幣地址是交叉兼容的,每種類型的地址都可以給任意類型的地址發送資金。想獲得最佳的靈活性、最少的混淆,請升級到Trezor Suite,在這裡你可以完全控制任意一種地址。
為什麼地址類型一直在變化?
在這裡講解的地址類型中,P2SH 和Bech32 類型都跟隔離見證升級有關,隔離見證是一種交易格式的升級,使得一個區塊可以放進更多的交易,可以提高網絡的吞吐量。這也意味著,只有從隔離見證兼容的地址(比如P2SH 和Bech32 地址)上發起交易時,才能享受到隔離見證所提供的好處;而且,接收地址的類型並無關係。從隱私的角度看,確保交易中剩餘的密碼貨幣返回到(與發送方)同種類型的地址中是很重要的。 Trezor Suite 會自動幫你處理。
如何獲得比特幣地址
新人可能會困惑於如何獲得一個可以收賬的地址。很簡單,你只要下載一個錢包軟件就可以了,比如這個推薦列表裡列出的。錢包軟件會為你生成一個助記詞,並使用這個助記詞來生成可用的地址並展示給你。一種比較好的做法是每個地址都只使用一次,無論是收賬還是發賬。因為一個助記詞可以生成無數個地址,你不需要擔心地址不夠用的問題,這種做法會給你提供額外的隱私保護。
如果你擁有一個Trezor 硬件錢包,那你可以使用Trezor Suite 桌面版軟件來創建和管理比特幣地址,這些地址所用的助記詞是在你的Trezor 硬件中生成並保管的,所以別人沒法看到你的助記詞,也無法複製你的錢包。你也可以在Suite 中直接為每一筆交易生成一個新地址。
查找你的比特幣收賬地址
如果你想要發送比特幣到自己的錢包,你需要確定自己的收賬地址。在Trezor Suite 中,你需要選擇自己希望接收資金的賬戶,然後點擊“收款” 按鈕。然後你可以看到一個列表,裡麵包含了你之前生成的作用地址,以及最新未使用的地址的預覽。點擊“顯示完整地址” 即可看到最新的未使用的收賬地址。點擊後,請檢查屏幕上顯示的地址與你的硬件錢包設備上顯示的地址一直,然後你就可以將這個地址複製並發送給向你發賬的人了。
如你所見,這裡我們使用的是bc1 開頭的Bech32 地址,但除非發送資金者也使用Bech 地址或P2SH 地址,否則他們是無法享受SegWit 所提供的低手續費好處的。總是使用Bech32 地址來發賬可以節省交易手續費。
如果這是你第一次收賬,建議你在將所有資金轉入之前先發一筆測試交易;這樣做看起來有點小心過頭,但對於剛進入這個世界的朋友來說,這樣做可以抵消不確定性。嘗試發少量比特幣(比如以聰為單位的額度)來測試你的收賬地址,在你發送更多資金進入前,先耐心等待這筆測試交易確認。
如何發送比特幣到某個地址
當你需要給某人支付比特幣時,你只需要拿到對方提供的接收地址即可。使用Trezor Suite,只需移動到賬戶頁面的“發送” 欄,輸入對方的地址,然後,你還要檢查文本框裡的字符與你一開始得到的地址一致,因為總有機會你的電腦剪貼板會被惡意軟件劫持。
輸入地址之後,再設定你願意為這筆交易支付多少手續費。更高的手續費會激勵礦工優先打包你的交易,所以對方也會更快收到賬。在下面這個圖中,我們使用的是Trezor Suite 建議的最高手續費,以期在10 分鐘之內,就可以讓交易上鍊(這是比特幣網絡能做到的最快速度了)。
檢查自己支付的手續費是個好習慣。一些錢包軟件的自動設置會大大高估手續費。即使在繁忙時期,你需要支付的手續費也就是幾美元,不會高出太多。如果錢包所建議的手續費在你看來太高,你可以找找高級選項,自己輸入一個數值。網絡上有很多工具可以幫你看到正在發交易的用戶都支付了多高的手續費,比如這個網站的第二張圖。你可以在下圖看到,大部分的交易所支付的的手續費水平都低於50 聰/字節,所以Trezor Suite 所建議的51 聰/字節應該可以在10 分鐘之內上鍊。
如何找回發送到錯誤地址的比特幣?
大部分情況下,發送到錯誤接收方的比特幣都是無法找回的,如果那是個無效地址的話。
在很少的情況下,如果你知道你的交易的目標地址(有效地址)屬於誰,你可以嘗試聯繫他,幸運的話TA 會願意把資金發回給你。
如果兩種辦法都不奏效,最後一種辦法是使用OP_RETURN 向那個意外收賬的地址發送消息,描述你的失誤並請求對方善意歸還。這也很有可能失敗,所以防止你把資金發送到錯誤地址的方法永遠是,檢查檢查再檢查,在你按下發送鍵之前再三檢查交易的目標地址是否有誤。
令人痛心的事實是,雖然許多錢包軟件在識別有效地址方面做得很好,還是有用戶把資金發送到錯誤類型地址,比如把比特幣發送到一個萊特幣地址,這種錯誤,一些錢包是檢查不出來的。在這種情況下,網絡是無法識別出這是一筆錯誤交易的,因為從錢包的角度看,這筆交易的形式與其它交易沒啥區別,也是一筆有效的交易。在這種情況下,你能不能找回資金取決於你填入的地址屬於哪個網絡。假如你把資金發給了一個萊特幣地址,只要你擁有這個接收地址的私鑰,你應該還是能找回自己的比特幣(即使那是一個萊特幣地址)。但如果你沒有那個地址的私鑰,那找回的可能性就幾乎沒有了。要是真的發生了這種事,你只能自食其果了。另外,請記得換用一個更好的錢包。
(譯者註:這裡多解釋一句,用戶不可能用這種辦法把比特幣發到萊特幣區塊鏈上去。只是把這些比特幣發到了某個跟已知的萊特幣地址重合的比特幣地址上。而有些區塊鏈的地址是通用的,即一個有效的萊特幣地址也有可能是一個有效的比特幣地址,因此如果你擁有生成這個萊特幣地址的私鑰,也就意味著你可以控制同樣的比特幣地址,也就可以找回。但如果你填入的是不通用的區塊鍊網絡的地址,那就沒有這麼幸運了。)
(完)
(文內有許多超鏈接,可點擊左下”閱讀原文“ 從EthFans 網站上獲取)
原文鏈接:
https://blog.trezor.io/bitcoin-addresses-and-how-to-use-them-35e7312098ff
作者: SatoshiLabs
翻譯:
阿劍