作者vaio8937 (我曾經豪情萬丈)
看板DigiCurrency
標題[Coin] 私鑰匯出後再匯入
時間Sat Mar 16 07:43:37 2019
大家好,想請教各位大大
比如說我用Bitcoin core建立一個地址
以下的地址皆為測試用,裡面沒錢
地址為 368GSNCCRMqCDFNbrgbx3Rnjhz7dWefXGo
https://imgur.com/a/mQs3Fsw
並且先轉了一些錢進去
然後dumpprivkey,得到私鑰
Kyv5gcyMCbAjz4hjAKyQktK3hDp1RucKNre4ngHvUMjN3TAUTWfD
(測試用,裡面沒錢)
https://imgur.com/a/LaFZDYC
再來,我試著將私鑰匯入到線上錢包
https://imgur.com/a/3NyNiMJ
按確認後,結果出現一個1開頭的地址
和原本3開頭的完全不一樣,裡面也沒有錢
https://imgur.com/a/0qPD6jp
請問為什麼會發生這個問題呢?
是地址格式的關係嗎?
要怎麼匯入私鑰,並且可以支配368GSNCCRMqCDFNbrgbx3Rnjhz7dWefXGo
裡面的錢?
根據這個網站
https://blog.hubspot.com/marketing/bitcoin-address
P2PKH格式為1開頭
P2SH格式為3開頭
不知道和這有沒有關係?
--
我就看你們ppt多會嘴 法院見
我就看你們ptxt多會嘴 法院見
我就看你們ppt多會嘴 法院見
我就看你們ptt多會嘴 法院見
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.63.111.191
※ 文章網址: https://webptt.com/m.aspx?n=bbs/DigiCurrency/M.1552693424.A.078.html
1F:推 d15388david: 用支持隔離見證的錢包打開私鑰就可以 03/16 10:26
2F:→ vaio8937: 謝謝大大,後來用支援segwid的錢包就行了。 03/16 12:52
3F:→ vaio8937: 我不知道原來地址有分legacy和segwit 03/16 13:01
4F:→ DarkerDuck: 感謝LN和絕對不能硬分叉,才有了segwit這種方案 03/16 16:56
補充一下解決方法
我是在electrum的console中操作
https://imgur.com/a/qnKUyXx
同一個私鑰,如果格式不同,地址也會不同
不知這樣理解是否正確?
(來源:
https://en.bitcoin.it/wiki/Address )
※ 編輯: vaio8937 (61.231.184.222), 03/16/2019 18:41:11
※ 編輯: vaio8937 (61.231.184.222), 03/16/2019 18:42:28
5F:→ DarkerDuck: 應該說是交易的格式不同會需要不同的地址格式才安全 03/16 22:48
6F:→ DarkerDuck: 同一個私鑰可以簽legacy、multi-sig、segwit格式交易 03/16 22:49
7F:→ DarkerDuck: 同一個私鑰也可以產生legacy和segwit收款地址 03/16 22:52
8F:→ DarkerDuck: 但是segwit交易和legacy相比是交易格式非常大的改動 03/16 22:53
9F:→ DarkerDuck: 簽章被丟到witness section,只留下個hash當放在地址 03/16 23:09
10F:→ DarkerDuck: 用舊的不支援的錢包根本不知道如何處理這些input 03/16 23:12
11F:→ DarkerDuck: 找不到公鑰當然就當作沒有錢 03/16 23:13
12F:→ DarkerDuck: 但假如是用新的有支援segwit的錢包 03/16 23:16
13F:→ DarkerDuck: tx有看到segwit的flag,就知道要去哪邊抓簽章來驗 03/16 23:17
14F:→ DarkerDuck: 那就是有效的input,當然就會顯示金額在錢包上 03/16 23:17
15F:→ DarkerDuck: 反正重點就是legacy的錢包無法辨認segwit的input 03/16 23:18
16F:→ DarkerDuck: 也就是BTC被Core變成兩種了,但仍然是softfork喔 XD 03/16 23:18
17F:→ DarkerDuck: 本來legacy的交易格式的比特幣,大家毫無疑問都可用 03/16 23:20
18F:→ DarkerDuck: 新的segwit的交易格式的比特幣,只給有升級錢包的人用 03/16 23:20
(DarkerDuck 刪除 DarkerDuck 的推文: 打錯字)
19F:→ DarkerDuck: 為了避免有segwit錢包的人誤將新格式的交易發給舊錢包 03/16 23:27
20F:→ DarkerDuck: 現在segwit幾乎都統一用bc1開頭的 P2WPKH type 地址 03/16 23:27
21F:→ vaio8937: 謝謝大大耐心講解,小弟受教了 03/16 23:31
22F:→ vaio8937: 我同意segwit用bc1開頭的比較妥當 03/16 23:31
23F:→ vaio8937: p2wpkh-p2sh也是3開頭,比較容易和legacy的聯名地址搞混 03/16 23:33
24F:→ vaio8937: (不太確定是不是叫聯名? 03/16 23:34
25F:→ DarkerDuck: 講實話segwit連我自己都會混淆,各種實作非常混亂 03/16 23:37
26F:→ vaio8937: 總而言之,只要將私鑰妥善保管,不論收款地址是legacy 03/16 23:38
27F:→ vaio8937: 只要將私鑰保管好 03/16 23:40
28F:→ vaio8937: 不論是legacy或segwit的地址 03/16 23:42
29F:→ vaio8937: 都能支配裡面的錢 03/16 23:43
30F:→ DarkerDuck: 是啊,BTC無論再怎麼改怎麼fork,我認為都不會動到私鑰 03/16 23:43
31F:→ DarkerDuck: 至於私鑰要怎麼產生收款地址處理input,都是錢包實作 03/16 23:44
32F:→ vaio8937: 我今天第一次碰到這情形有點嚇一跳 03/16 23:44
33F:→ vaio8937: 想說弄錯私鑰,完蛋了,錢沒了 03/16 23:45
34F:→ vaio8937: (小弟菜菜的 03/16 23:45
35F:→ vaio8937: 幾個比較有名的wallet也很妙 03/16 23:46
36F:→ DarkerDuck: 會用錢包console導出導入私鑰已經算是勝過九成使用者 03/16 23:46
37F:→ vaio8937: 匯入私鑰後,都只去抓legacy的地址 03/16 23:47
38F:→ vaio8937: segwit地址,都要用console操作 03/16 23:47
39F:→ vaio8937: console指令一下,馬上抓到餘額XD 03/16 23:48
40F:→ DarkerDuck: 因為segwit當初也是吵很久,支援採納率也是很慢 03/16 23:48
41F:→ DarkerDuck: 各種實作還互不相容,搞得各個錢包開發者也是很頭大 03/16 23:48
42F:→ vaio8937: 再請教一下,目前用legacy比較好,還是segwit比較好? 03/16 23:58
43F:→ DarkerDuck: 相容性 -> legacy 省手續費和開LN通道 -> segwit 03/16 23:59
44F:→ vaio8937: 了解,感謝大大講解 03/17 00:07