Copay/Bitpayに保存されている秘密鍵を取り出す方法

in #japanese7 years ago

こんばんは、ヨーロピアンです。

皆さんBCHで消耗してますか?僕は消耗しています……。
ニンテンドースイッチ戦争にようやく勝ったと思ったら今度はBCH戦争が来るなんて誰が想像していたでしょう。

さて、ハードフォークされたBCHはなかなかに良い値をつけています。思惑次第ですが、僕と同じような考えをお持ちの方はこう考えたかもしれません!

「1秒でも速く売りたい!どうしても!」

BCHの配布に対応した取引所にBTCを置いていた方はおめでとうございます。何もしなくてもBCHを手に入れることができますから、そのまま売却できますね。

ややこしいのはまだ未対応、あるいは対応予定が全くないウォレットを使っていた場合です。

未対応のウォレットの中でも、例えばJaxxを使われていた方は、BCH対応済みのAndroidウォレットであるCoinomiにパスフレーズで残高を移すことによってウォレット内でそのままBCHにアクセスすることができます。
(また、Jaxxにはそもそも秘密鍵を表示する機能が備わっています。)

ここで僕はうっかりCopayにかなり残高を入れてしまっていて、大失敗しました。
なんとCopay(Bitpay)は当面BCHに対応する予定がないことを発表していたのです。多少面倒な手順を辿ることでなんとか秘密鍵を取り出し、最終的には無事に取引所宛にトランザクションを発行することができたのですが、実に数時間を費やしてしまいました……。

そこで、せっかくですし備忘録的に手順を公開することにしました。
Copayは日本でもメジャーなウォレットですから、おそらく利用者もそこそこいると思います。あなたの死蔵されているBCHをなんとか取り出しましょう!
基本的にはビットコインとHDウォレットの仕組みを理解していて、秘密鍵さえあればご自分でなんとかできる(トランザクションが発行できる)方向け。

Copayウォレットをまるまるエクスポートする

※僕はCopayの言語設定を日本語にしているので、日本語で解説します。

「設定」→「ウォレットと連動」欄の自分のウォレット名を押す→「その他オプション」→「ウォレットをエクスポート」

ここで適当なパスワードを入力します。適当で大丈夫ですが、必ず覚えておいてください。再入力欄にも同じものを入れてください。
「詳細設定を表示」を押して「秘密鍵を含めない」のチェックが外れていることを必ず確認してください。

「クリップボードにコピー」を押します。
ここから先はPCがあった方が良いので、メールなりSlackなりLINEなり、なんでも良いのでPCからアクセスできる先にコピーした文字列を送付してみてください。

エクスポートされたウォレット設定から秘密鍵を抽出する

ここからは外部サービスを利用するので、少々トリッキーです。
DeveloperToolsで外部通信がないかを監視した感じ、特に問題はなさそうでしたが、念を入れるならオフラインにするなどして使ってください。

SJCL demo

こちらのページの中央、「Ciphertext」の欄に先程Copayからエクスポートした文字列を貼り付けます。そして、その左の「Password」に先程適当に作ったパスワードを入力します。
準備ができたら、中央下部にある矢印の「Decrypt」を押してください。

これでエクスポートされたウォレットの設定がデコードされ、「Plaintext」の欄に表示されました。
表示された中にある「xPrivKey」の文字列を控えてください。

xPrivKeyから複数の秘密鍵にアクセスする

CopayはHDウォレットですから、複数のアドレスとそれと対になる秘密鍵を持っています。
今度はこれらの秘密鍵にアクセスしなくてはいけません。

そのために以下のサービスを使います。

BIP32 Generator

このページの中段にある「BIP32 Extended Key」欄に先程控えた「xPrivKey」を貼り付けてください。

最後に「Derivation Path」のボックスをBIP44に合わせるとWIF形式で秘密鍵を得ることができます。

トランザクションは作れたけどブロードキャストはどうすればいいの

ViaBTCが用意してくれているので使わせていただきましょう。

https://pool.viabtc.com/tools/BCC/broadcast/

Sort:  

Congratulations @europian! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

You got your First payout

Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

By upvoting this notification, you can help all Steemit users. Learn how here!

Congratulations @europian! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

Award for the number of upvotes received

Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

By upvoting this notification, you can help all Steemit users. Learn how here!

こんにちは!
まさか取引所放置勢が大勝利するという凄いイベントでしたね。。。
(私はコールドウォレットの取引所放置勢でした。あとから見直せばコールドウォレットだろうがホットウォレットだろうがあんまり関係なさそうでしたけどね)

Cool post! I give you UP

Congratulations @europian! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 2 years!

You can view your badges on your Steem Board and compare to others on the Steem Ranking

Vote for @Steemitboard as a witness to get one more award and increased upvotes!