13章Segwit
Segwit(セグウィット)は「Segregated Witness」の略語で、2017年8月にビットコインネットワークでアクティベートされた、後方互換性のあるアップグレード、つまり「ソフトフォーク」です。アクティベーションの際は物議を醸しましたが、このテクノロジーの特性については説明が必要です。本章では、Segwitがどのように動作するか、なぜ後方互換性があるか、Segwitによって何が実現するかについて説明します。
まず簡単な概要ですが、Segwitには多数の変更が取り入れられています。
- ブロックサイズの増加
- トランザクションマリアビリティの解消
- 明確なアップグレードパスのためのSegwitバージョン管理
- 二次ハッシュの修正
- オフラインウォレット手数料計算のセキュリティ
Segwitがどのようなものかを明確に知るには、どのように実装されているか知らなければなりません。まず、Segwitトランザクションの最も基本的なタイプであるPay-to-witness-pubkey-hashを調べます。
13.1 Pay-to-witness-pubkey-hash(p2wpkh)
Pay-to-witness-pubkey-hash(p2wpkh)は、BIP0141およびBIP0143でSegwitが定義した4種類のスクリプトのうちの1つです。これは、Pay-to-pubkey-hashによく似たスマートコントラクトであり、そのために似た名前が付けられています。p2pkhからの主な変更点は、ScriptSigのデータがwitnessフィールドに移動したことです。その配置替えは、トランザクションのマリアビリティを解消するためです。
13.1.1 トランザクションマリアビリティ ...
Get プログラミング・ビットコイン ―ゼロからビットコインをプログラムする方法 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.