推 d15388david: 用支持隔離見證的錢包打開私鑰就可以 03/16 10:26
→ vaio8937: 謝謝大大,後來用支援segwid的錢包就行了。 03/16 12:52
→ vaio8937: 我不知道原來地址有分legacy和segwit 03/16 13:01
→ 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
→ DarkerDuck: 應該說是交易的格式不同會需要不同的地址格式才安全 03/16 22:48
→ DarkerDuck: 同一個私鑰可以簽legacy、multi-sig、segwit格式交易 03/16 22:49
→ DarkerDuck: 同一個私鑰也可以產生legacy和segwit收款地址 03/16 22:52
→ DarkerDuck: 但是segwit交易和legacy相比是交易格式非常大的改動 03/16 22:53
→ DarkerDuck: 簽章被丟到witness section,只留下個hash當放在地址 03/16 23:09
→ DarkerDuck: 用舊的不支援的錢包根本不知道如何處理這些input 03/16 23:12
→ DarkerDuck: 找不到公鑰當然就當作沒有錢 03/16 23:13
→ DarkerDuck: 但假如是用新的有支援segwit的錢包 03/16 23:16
→ DarkerDuck: tx有看到segwit的flag,就知道要去哪邊抓簽章來驗 03/16 23:17
→ DarkerDuck: 那就是有效的input,當然就會顯示金額在錢包上 03/16 23:17
→ DarkerDuck: 反正重點就是legacy的錢包無法辨認segwit的input 03/16 23:18
→ DarkerDuck: 也就是BTC被Core變成兩種了,但仍然是softfork喔 XD 03/16 23:18
→ DarkerDuck: 本來legacy的交易格式的比特幣,大家毫無疑問都可用 03/16 23:20
→ DarkerDuck: 新的segwit的交易格式的比特幣,只給有升級錢包的人用 03/16 23:20
(DarkerDuck 刪除 DarkerDuck 的推文: 打錯字)
→ DarkerDuck: 為了避免有segwit錢包的人誤將新格式的交易發給舊錢包 03/16 23:27
→ DarkerDuck: 現在segwit幾乎都統一用bc1開頭的 P2WPKH type 地址 03/16 23:27
→ vaio8937: 謝謝大大耐心講解,小弟受教了 03/16 23:31
→ vaio8937: 我同意segwit用bc1開頭的比較妥當 03/16 23:31
→ vaio8937: p2wpkh-p2sh也是3開頭,比較容易和legacy的聯名地址搞混 03/16 23:33
→ vaio8937: (不太確定是不是叫聯名? 03/16 23:34
→ DarkerDuck: 講實話segwit連我自己都會混淆,各種實作非常混亂 03/16 23:37
→ vaio8937: 總而言之,只要將私鑰妥善保管,不論收款地址是legacy 03/16 23:38
→ vaio8937: 只要將私鑰保管好 03/16 23:40
→ vaio8937: 不論是legacy或segwit的地址 03/16 23:42
→ vaio8937: 都能支配裡面的錢 03/16 23:43
→ DarkerDuck: 是啊,BTC無論再怎麼改怎麼fork,我認為都不會動到私鑰 03/16 23:43
→ DarkerDuck: 至於私鑰要怎麼產生收款地址處理input,都是錢包實作 03/16 23:44
→ vaio8937: 我今天第一次碰到這情形有點嚇一跳 03/16 23:44
→ vaio8937: 想說弄錯私鑰,完蛋了,錢沒了 03/16 23:45
→ vaio8937: (小弟菜菜的 03/16 23:45
→ vaio8937: 幾個比較有名的wallet也很妙 03/16 23:46
→ DarkerDuck: 會用錢包console導出導入私鑰已經算是勝過九成使用者 03/16 23:46
→ vaio8937: 匯入私鑰後,都只去抓legacy的地址 03/16 23:47
→ vaio8937: segwit地址,都要用console操作 03/16 23:47
→ vaio8937: console指令一下,馬上抓到餘額XD 03/16 23:48
→ DarkerDuck: 因為segwit當初也是吵很久,支援採納率也是很慢 03/16 23:48
→ DarkerDuck: 各種實作還互不相容,搞得各個錢包開發者也是很頭大 03/16 23:48
→ vaio8937: 再請教一下,目前用legacy比較好,還是segwit比較好? 03/16 23:58
→ DarkerDuck: 相容性 -> legacy 省手續費和開LN通道 -> segwit 03/16 23:59
→ vaio8937: 了解,感謝大大講解 03/17 00:07