bitcoin: 何爲燃燒地址

來自簡書安全

btc address: 1FmWXNJT3jVKaHBQs2gAs6PLGVWx1zPPHf工具

若是你觀察過不少的btc地址, 隱隱會發現有些規律:
長度不少是34位,好可能是1 3 開頭的, 字母排列雜亂無章.spa

以下都是合法的btc 地址, 這些地址都有幣的,並且數量都很多, 就已當前的(2018/08/21)btc價格計算, 絕對是富得流油了.code

3MWqbpfzxgojEAah6PMZoZPdUPUTuyTpan
1EdBvVAVP98zUsz2n8Pereop29y9fUFk2i
3Cbq7aT1tY8kMxWLbitaG7yT6bPbKChq64
3Nxwenay9Z8Lc9JBiywExpnEFiLp6Afp8v
18tTLso5jaa4XqyTQzo9S6mqhfCsgcufdh
1FeexV6bAHb8ybZjqQMjJrcCrHGW9sb6uF
1HQ3Go3ggs8pFnXuHVHRytPCq5fGG8Hbhx
1PnMfRF2enSZnR6JSexxBHuQnxG8Vo5FVK
3Kzh9qAqVWQhEsfQz7zEQL1EuSx5tyNLNS
1EBHA1ckUWzNKN7BMfDwGTx6GKEbADUozX
1LdRcdxfbSnmCYYNdeYpUnztiYzVfBEQeC
...

34位的長度是絕對的麼,有特例麼?
還真找到一個地址 1111111111111111111114oLvT2,長度只有27位, 並且這麼多的111..., 感受很優美. 通常btc 地址的長度是34位, 也有33位, 最短的應該是26位.cdn

燃燒地址

1111111111111111111114oLvT2 還有特殊的地方.
若是看ta的交易, 只有輸入, 沒有輸出,什麼意思呢?
只有別人給ta發幣, ta一分錢沒花,只進不出,咋這摳門呢, 這是個貔貅啊.rem

咱們看看ta的第一筆交易id
2c637592a4b4a95cf4b19260730c66de540d7d3b14d8d352de591c5ee6eac0fc, 交易時間是 2010年8月10號,
輸出腳本是
OP_DUP OP_HASH160 0000000000000000000000000000000000000000 OP_EQUALVERIFY OP_CHECKSIG字符串

![輸出腳本
](https://user-gold-cdn.xitu.io...get

輸出腳本是個啥呢?
咱們常常說, 誰有btc地址的私鑰誰就能花費這些幣,
私鑰至關於鑰匙, 輸出腳本至關於鎖, 你把私鑰放入輸出腳本中,
組成一個完整的腳本, 執行這個完整的腳本, 若是最後輸出的是 True, 那麼恭喜你, 你能夠花費這些幣. hash

咱們把0000000000000000000000000000000000000000 叫作hash160, 1111111111111111111114oLvT2就是addr, hash160能夠轉換爲addr.it

你能夠認爲: addr就是hash160的簡化, addr是對人更友好的一種表現方式, 就像語法糖同樣.

image

執行輸出腳本, 是私鑰轉化爲Hash160的過程.
你提供的私鑰轉化成Hash160_me, 若是與腳本里提早寫好的Hash160一致, 你就能夠動用這個地址的幣了.

btc地址的正常推導過程是: 私鑰 ==>公鑰 ==> Hash160 <==> 地址.

Hash160就是沒有規則的字符串,咱們能夠隨便提供個Hash160值, 從半截腰上推導地址: Hash160 <==> 地址.

1111111111111111111114oLvT2很明顯就是這種狀況, 從半截腰上推導出來的地址, ta的hash160是 000...000, 都是0,這是特地拼湊的,既然是從半截腰推導出來的,天然沒人知道私鑰.
因爲hash運算的不可逆性, 此刻還沒法推算出這個地址的私鑰,
既然不知道私鑰,就沒法動用幣,只能進不能出,成了一個"廢地址",這樣的地址叫燃燒地址, 即 burn address, 像燃料同樣燒沒了, 很是形象.

爲何還要往這種地址發送交易呢

1 減小幣的流通量
2 土豪的心思不要猜

咱們生成個 burn address

設定 hash160 = 1111111111111111111111111111111111111111, 最終獲得地址12ZEw5Hcv1hTb6YUQJ69y1V7uhcoDz92PH.
這個地址好沒個性啊,可是也有人打過幣了, https://btc.com/12ZEw5Hcv1hTb...

有沒有可能找到私鑰

存在這種可能, 不過須要巨大的算力來完成這個工做,這個可能太微小了. 若是有人找到了私鑰, 燃燒地址就變成普通地址了.

如何手動生成btc地址

請看 https://www.jianshu.com/p/954... step3是獲得hash160_val, 若是你想經過 hash160_val 獲得地址, 從step4開始計算就能夠.

安全提示

雖然這些步驟通過了驗證並無發現問題, 但也僅供參考.

強烈建議不要本身生成btc addres
強烈建議不要本身生成btc addres
強烈建議不要本身生成btc addres

請用信賴的工具來幹這事
若是地址計算錯誤, 這個私鑰並不能解開你的地址, 至關於你的btc丟了.

mastering bitcoin已經給了咱們教訓. 同理ethereum 也有burn address哦.

相關文章
相關標籤/搜索