Address

為什麼比特幣和比特幣現金同一個區塊的地址不一樣?

  • June 5, 2021

比特幣現金是比特幣的硬分叉,這意味著在某個區塊編號(根據 Wikipedia 為 478558)之前,比特幣現金和比特幣的區塊是相同的。在硬分叉之前,我使用區塊鏈瀏覽器(Blockchain.com)查看了其中一個區塊,我注意到除了交易地址之外,所有資訊似乎都是相同的。看起來比特幣和比特幣現金地址是不同的,即使其他資訊,例如塊雜湊和 Merkle 根雜湊。這是什麼原因?

地址不存在於鏈上。事實上,它們根本不存在於協議級別,而是內部使用的“腳本”語言的人類表示。比特幣現金對相同的腳本使用不同的人類可讀表示。

交易有輸出,每個輸出都被一個腳本“鎖定”,該腳本指定可以使用該輸出的條件。這些腳本是最終鏈上的腳本。

更常見的腳本類別具有相關的人類可讀編碼,稱為地址。特別是,P2PKH(支付給公鑰雜湊,1…比特幣中的地址)和 P2SH(支付給腳本雜湊,3…比特幣中的地址)。但是,存在許多可以在鏈上可行的鎖定腳本,在比特幣中根本沒有對應的地址。當然,很難讓某人發送給他們,因為沒有地址可以讓發件人支付給他們,但理論上,沒有什麼能阻止人們手動建構這樣的輸出。

在比特幣現金分叉後的早期,他們使用與比特幣相同的地址編碼。這是一個問題,因為它引起了混亂,並導致人們在錯誤的鏈上發送硬幣,只需在錯誤的軟體中輸入地址。後來通過引入新的地址編碼來解決這個問題。這也意味著它現在“看起來”像那些分叉前和早期的分叉後交易也使用了新的地址方案。

引用自:https://bitcoin.stackexchange.com/questions/106791