@@ -71,22 +71,6 @@ Segwitは、トランザクションの各バイトを最大2回だけハッシ
71
71
* [ Proposal to limit transactions to 100kB] ( https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-July/009494.html )
72
72
* [ Bitcoin Classic commit on 0.11.2 branch adding additional consensus limit on sighash bytes] ( https://github.com/bitcoinclassic/bitcoinclassic/commit/842dc24b23ad9551c67672660c4cba882c4c840a )
73
73
74
- ## インプットの量への署名 {#signing-of-input-value}
75
-
76
- ハードウェアウォレットがトランザクションに署名する際、使用される合計金額を簡単に確認できますが、インプットの全てのトランザクションの完全なコピーを持つ場合のみ安全に正確な手数料が決まり、偽のデータが提供されていないことを保証するためにそれらをハッシュする必要があります。署名されたトランザクション自体はとても小さくても、そのインプットが参照する個々のトランザクションは最大1MBになる可能性もあるため、これらは必ずしも安価な操作であるとは限りません。
77
-
78
- Segwitではインプットの量を明示的にハッシュすることでこれを解決します。これはハードウェアウォレットにトランザクションのハッシュ、インデックスおよびコインの量を単純に与え(および使用される公開鍵が分かっていること)、使用されるトランザクションの規模や複雑さに関わらず安全にトランザクションに署名することができるようになることを意味します。
79
-
80
- ### 誰に恩恵が? {#who-benefits-3}
81
-
82
- ハードウェアウォレットの製造元とユーザーは明確に恩恵を受けます。しかしこれは"Internet of things"アプリケーションのための小さな組み込みデバイスでBitcoinを安全に使用する方がより簡単です。
83
-
84
- この恩恵は、Segwit対応アドレス(もしくはP2SHでネストされたSegwitアドレス)に送信されたトランザクションを使用する場合にのみ使用できます。
85
-
86
- ### より詳しい情報 {#further-information-3}
87
-
88
- * [ BIP 143] ( https://github.com/bitcoin/bips/blob/master/bip-0143.mediawiki )
89
-
90
74
## pay-to-script-hash (P2SH) によるマルチシグのセキュリティ強化 {#increased-security-for-multisig-via-pay-to-script-hash}
91
75
92
76
マルチシグの支払いは、現在160-bitのHASH160アルゴリズム(SHA256してRIPEMDしたもの)によって保護されているP2SHを使っています。しかし、署名者の1人が全ての資金を盗みたい場合、80bit(2<sup >80</sup >)の作業で全ての資金を入手することが可能なマルチシグスクリプトの一部として有効なアドレスとスクリプトの衝突を見つけることができます。これは非常に潤沢なりソースを持つ攻撃者にとって可能性のある範囲です。(比較のため、Bitcoinのマイニングネットワークは毎秒1エクサハッシュで2週間で80bit分の作業をしています。)
@@ -192,3 +176,29 @@ Segwitアドレスを使用するトランザクションが増えると、プ
192
176
> Fraud proofsによりSPVのユーザーはBitcoinのコンセンサスルールを適用することができるようになり、個々のユーザーが攻撃される方法を削減するだけでなく、Bitcoinネットワーク全体のセキュリティを大幅に向上させる可能性があります。
193
177
>
194
178
> これらのFraud proofsは将来のソフトフォークの一部としてwitnessのデータ構造に追加することができ、Segwitを使用しないトランザクションであってもSPVクライアントがルールを適用するのに役立ちます。
179
+
180
+ ## 更新 2020-06-23 {#update-2020-06-23}
181
+
182
+ このページの以前のバージョンではSegwitの恩恵として「インプットの量への署名」が挙げられていました。
183
+ しかし、現状の実装ではSegwitの有無に関わらず、これを安全にはできません。
184
+ 署名されたインプットの値に依拠するためには将来のソフトフォークが必要になります。
185
+
186
+ 各インプットの値は個別に署名されているため、見かけ上手数料を欺く操作が可能です(CVE-2020 -14199)。
187
+
188
+ 以前のテキストは:
189
+
190
+ > ## インプットの量への署名
191
+ >
192
+ > ハードウェアウォレットがトランザクションに署名する際、使用される合計金額を簡単に確認できますが、インプットの全てのトランザクションの完全なコピーを持つ場合のみ安全に正確な手数料が決まり、偽のデータが提供されていないことを保証するためにそれらをハッシュする必要があります。署名されたトランザクション自体はとても小さくても、そのインプットが参照する個々のトランザクションは最大1MBになる可能性もあるため、これらは必ずしも安価な操作であるとは限りません。
193
+ >
194
+ > Segwitではインプットの量を明示的にハッシュすることでこれを解決します。これはハードウェアウォレットにトランザクションのハッシュ、インデックスおよびコインの量を単純に与え(および使用される公開鍵が分かっていること)、使用されるトランザクションの規模や複雑さに関わらず安全にトランザクションに署名することができるようになることを意味します。
195
+ >
196
+ > ### 誰に恩恵が?
197
+ >
198
+ > ハードウェアウォレットの製造元とユーザーは明確に恩恵を受けます。しかしこれは"Internet of things"アプリケーションのための小さな組み込みデバイスでBitcoinを安全に使用する方がより簡単です。
199
+ >
200
+ > この恩恵は、Segwit対応アドレス(もしくはP2SHでネストされたSegwitアドレス)に送信されたトランザクションを使用する場合にのみ使用できます。
201
+ >
202
+ > ### より詳しい情報
203
+ >
204
+ > * [ BIP 143] ( https://github.com/bitcoin/bips/blob/master/bip-0143.mediawiki )
0 commit comments