この記事では、ビットコインのトランザクションフォーマット(機能)であるSegWitを使用する理由と、SegWitを利用する方法について簡単に紹介する。
SegWitの良いところ

SegWitのメリットとして、各ブロックに収まるトランザクションの量が増加することが挙げられる。各ブロックの作成には約10分かかるため、これは毎秒より多くのトランザクションを処理できることを意味する。ビットコインを送金するユーザーが支払う手数料は、取引がブロックに取り込まれるのがどれだけ難しいかによって変化するので、署名量が増えるとより安価になることへ繋がる。結果として、取引はより速く安くなる。
第2に、*トランザクション展性と呼ばれる、ビットコインの脆弱性に対する修正を提供することがある。これは複雑な技術的問題だが、SegWitの新しいトランザクションフォーマットは問題を解決し、さらにLightning Networkの安全性を高めている。
最近、SegWitの利用が増加している事から、ビットコインの取引手数料は以前と比較し非常に安くなっている。取引所であるBitfinexはSegWitのサポートを追加し、Coinbaseは顧客アドレスの100%がSegWitになる予定である。
*トランザクション展性:トランザクションの論理的な意味を変えずに(つまり支払元と支払先を変えずに)トランザクションの表現を変更し結果としてトランザクションハッシュを変更してしまう攻撃のこと。この攻撃をされるとどちらかのトランザクションが二重支払になってしまうが、論理的な意味は変わらず正しく支払は完了する(bitflyer)。
↓の通り、SegWitによるペイメントは増えている。

トランザクション手数料が下がっている事を示す図
Source : https://jochen-hoenicke.de/queue/#0,all



切り替え方法
新しいSegWitウォレットを入手し、ビットコインを入金するだけだ。今は取引手数料が安いのでちょうどいいだろう。
Electrum
Electrumを使っているの場合、非常に簡単だ。
- 新規ウォレットの作成
- タイプとして「Standard wallet」を選択する
- 「Create a new seed」を選択する
- Seedのタイプとして「SegWit」を選択する
新しいSegWitウォレットを入手したら、ビットコインを追加する。
- 古いウォレットを開き、新しいノートやテキストファイルに秘密鍵を控え、コピーアンドペーストできるようにする(オンラインで同期されるものは辞めること)
- 新しいSegWitウォレットを開く
- メニューから 「Wallet」 >「Private Keys」 >「Sweep」 と選択する
- 古いウォレットの秘密鍵を入力し、「Address」フィールドはそのままにしておく。これは新しいウォレットのアドレスだ
これだけ。非常に簡単だ。
Trezor
Trezorのハードウェアウォレットを使用している場合、以下のガイドに従ってビットコインをSegWitアドレスに移動する。
>> How does Segregated Witness work in TREZOR Wallet?
Ledger
Ledgerのハードウェアウォレットを使用する場合は、以下のドキュメントに従おう。
その他のウォレット
特定のウォレットがSegWitに対応しているかどうか、GoogleやDuckDuckGoで調べてみよう。わからなかった場合、上記で上げた歴史あるウォレットを使用することが、最も安全である。
モバイルウォレットとしては、Edge WalletがSegWitに対応している事を筆者は確認している。