Enviar pesquisa
Carregar
ビットコイン ~ トランザクション展性について
•
9 gostaram
•
2,569 visualizações
Jonathan Underwood
Seguir
ビットコインのゴックス事件で話題になりました「弱いところ」について、解説します。
Leia menos
Leia mais
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 16
Baixar agora
Baixar para ler offline
Recomendados
Ansible specでテストをする話
Ansible specでテストをする話
KeijiUehata1
Ansible 2.10 と Collection
Ansible 2.10 と Collection
akira6592
Basic of virtual memory of Linux
Basic of virtual memory of Linux
Tetsuyuki Kobayashi
なんちゃってアジャイルをアジャイルにした話 ~ライトニングトーク版~ #xpjug
なんちゃってアジャイルをアジャイルにした話 ~ライトニングトーク版~ #xpjug
満徳 関
Go言語ってどんな言語? 導入実績や気になるトレンド
Go言語ってどんな言語? 導入実績や気になるトレンド
Atsushi Yasuda
ネットワークエンジニア的Ansibleの始め方
ネットワークエンジニア的Ansibleの始め方
akira6592
Wireshark だけに頼らない! パケット解析ツールの紹介
Wireshark だけに頼らない! パケット解析ツールの紹介
morihisa
非SAPの人に贈るSAP on AWS
非SAPの人に贈るSAP on AWS
Ryusaburo Tanaka
Recomendados
Ansible specでテストをする話
Ansible specでテストをする話
KeijiUehata1
Ansible 2.10 と Collection
Ansible 2.10 と Collection
akira6592
Basic of virtual memory of Linux
Basic of virtual memory of Linux
Tetsuyuki Kobayashi
なんちゃってアジャイルをアジャイルにした話 ~ライトニングトーク版~ #xpjug
なんちゃってアジャイルをアジャイルにした話 ~ライトニングトーク版~ #xpjug
満徳 関
Go言語ってどんな言語? 導入実績や気になるトレンド
Go言語ってどんな言語? 導入実績や気になるトレンド
Atsushi Yasuda
ネットワークエンジニア的Ansibleの始め方
ネットワークエンジニア的Ansibleの始め方
akira6592
Wireshark だけに頼らない! パケット解析ツールの紹介
Wireshark だけに頼らない! パケット解析ツールの紹介
morihisa
非SAPの人に贈るSAP on AWS
非SAPの人に贈るSAP on AWS
Ryusaburo Tanaka
Infrastructure as CodeでReNom環境構築入門
Infrastructure as CodeでReNom環境構築入門
ReNom User Group
show コマンド結果をパースする方法あれこれ #npstudy
show コマンド結果をパースする方法あれこれ #npstudy
akira6592
Ruby で高速なプログラムを書く
Ruby で高速なプログラムを書く
mametter
QEMUでARM64bitベアメタルプログラミング
QEMUでARM64bitベアメタルプログラミング
Yuma Ohgami
技術を本にして売る、という仕事
技術を本にして売る、という仕事
Keiichiro Shikano
ダークネットのはなし #ssmjp
ダークネットのはなし #ssmjp
sonickun
組織デザインの展開 ~官僚制からティール組織まで~
組織デザインの展開 ~官僚制からティール組織まで~
Hiroki Iida
RailsでのREST API開発の知見共有
RailsでのREST API開発の知見共有
Yusuke Kon
Systems Integration in the Cloud Era with Apache Camel @ ApacheCon Europe 2012
Systems Integration in the Cloud Era with Apache Camel @ ApacheCon Europe 2012
Kai Wähner
Stargz Snapshotter: イメージのpullを省略しcontainerdでコンテナを高速に起動する
Stargz Snapshotter: イメージのpullを省略しcontainerdでコンテナを高速に起動する
Kohei Tokunaga
はじめてのShotgun入門 - 脱スプレッドシート管理
はじめてのShotgun入門 - 脱スプレッドシート管理
Yoshiyuki Watanabe
サイボウズの生産性を高める生産性向上チームと開発文化
サイボウズの生産性を高める生産性向上チームと開発文化
Futa HIRAKOBA
培養深度工作力
培養深度工作力
Roy Chen
Nmap 9つの真実
Nmap 9つの真実
abend_cve_9999_0001
乱数と擬似乱数の生成技術
乱数と擬似乱数の生成技術
SeiyaSakata
第0回EMS勉強会登壇資料(EMS(Intune)で 色々なデバイスをセットアップしてみた)
第0回EMS勉強会登壇資料(EMS(Intune)で 色々なデバイスをセットアップしてみた)
Kenchi Hikita
ネットワークOS野郎 ~ インフラ野郎Night 20160414
ネットワークOS野郎 ~ インフラ野郎Night 20160414
Kentaro Ebisawa
Linux女子部 iptables復習編
Linux女子部 iptables復習編
Etsuji Nakai
メトリクスを用いたソフトウェア品質定量評価・改善 (GQM, Metrics, ET2013)
メトリクスを用いたソフトウェア品質定量評価・改善 (GQM, Metrics, ET2013)
Hironori Washizaki
Development myshoes and Provide Cycloud-hosted runner -- GitHub Actions with ...
Development myshoes and Provide Cycloud-hosted runner -- GitHub Actions with ...
whywaita
Bitcoinを技術的に理解する
Bitcoinを技術的に理解する
Kenji Urushima
ビットコイン~原理からソースまで~
ビットコイン~原理からソースまで~
bitbank, Inc. Tokyo, Japan
Mais conteúdo relacionado
Mais procurados
Infrastructure as CodeでReNom環境構築入門
Infrastructure as CodeでReNom環境構築入門
ReNom User Group
show コマンド結果をパースする方法あれこれ #npstudy
show コマンド結果をパースする方法あれこれ #npstudy
akira6592
Ruby で高速なプログラムを書く
Ruby で高速なプログラムを書く
mametter
QEMUでARM64bitベアメタルプログラミング
QEMUでARM64bitベアメタルプログラミング
Yuma Ohgami
技術を本にして売る、という仕事
技術を本にして売る、という仕事
Keiichiro Shikano
ダークネットのはなし #ssmjp
ダークネットのはなし #ssmjp
sonickun
組織デザインの展開 ~官僚制からティール組織まで~
組織デザインの展開 ~官僚制からティール組織まで~
Hiroki Iida
RailsでのREST API開発の知見共有
RailsでのREST API開発の知見共有
Yusuke Kon
Systems Integration in the Cloud Era with Apache Camel @ ApacheCon Europe 2012
Systems Integration in the Cloud Era with Apache Camel @ ApacheCon Europe 2012
Kai Wähner
Stargz Snapshotter: イメージのpullを省略しcontainerdでコンテナを高速に起動する
Stargz Snapshotter: イメージのpullを省略しcontainerdでコンテナを高速に起動する
Kohei Tokunaga
はじめてのShotgun入門 - 脱スプレッドシート管理
はじめてのShotgun入門 - 脱スプレッドシート管理
Yoshiyuki Watanabe
サイボウズの生産性を高める生産性向上チームと開発文化
サイボウズの生産性を高める生産性向上チームと開発文化
Futa HIRAKOBA
培養深度工作力
培養深度工作力
Roy Chen
Nmap 9つの真実
Nmap 9つの真実
abend_cve_9999_0001
乱数と擬似乱数の生成技術
乱数と擬似乱数の生成技術
SeiyaSakata
第0回EMS勉強会登壇資料(EMS(Intune)で 色々なデバイスをセットアップしてみた)
第0回EMS勉強会登壇資料(EMS(Intune)で 色々なデバイスをセットアップしてみた)
Kenchi Hikita
ネットワークOS野郎 ~ インフラ野郎Night 20160414
ネットワークOS野郎 ~ インフラ野郎Night 20160414
Kentaro Ebisawa
Linux女子部 iptables復習編
Linux女子部 iptables復習編
Etsuji Nakai
メトリクスを用いたソフトウェア品質定量評価・改善 (GQM, Metrics, ET2013)
メトリクスを用いたソフトウェア品質定量評価・改善 (GQM, Metrics, ET2013)
Hironori Washizaki
Development myshoes and Provide Cycloud-hosted runner -- GitHub Actions with ...
Development myshoes and Provide Cycloud-hosted runner -- GitHub Actions with ...
whywaita
Mais procurados
(20)
Infrastructure as CodeでReNom環境構築入門
Infrastructure as CodeでReNom環境構築入門
show コマンド結果をパースする方法あれこれ #npstudy
show コマンド結果をパースする方法あれこれ #npstudy
Ruby で高速なプログラムを書く
Ruby で高速なプログラムを書く
QEMUでARM64bitベアメタルプログラミング
QEMUでARM64bitベアメタルプログラミング
技術を本にして売る、という仕事
技術を本にして売る、という仕事
ダークネットのはなし #ssmjp
ダークネットのはなし #ssmjp
組織デザインの展開 ~官僚制からティール組織まで~
組織デザインの展開 ~官僚制からティール組織まで~
RailsでのREST API開発の知見共有
RailsでのREST API開発の知見共有
Systems Integration in the Cloud Era with Apache Camel @ ApacheCon Europe 2012
Systems Integration in the Cloud Era with Apache Camel @ ApacheCon Europe 2012
Stargz Snapshotter: イメージのpullを省略しcontainerdでコンテナを高速に起動する
Stargz Snapshotter: イメージのpullを省略しcontainerdでコンテナを高速に起動する
はじめてのShotgun入門 - 脱スプレッドシート管理
はじめてのShotgun入門 - 脱スプレッドシート管理
サイボウズの生産性を高める生産性向上チームと開発文化
サイボウズの生産性を高める生産性向上チームと開発文化
培養深度工作力
培養深度工作力
Nmap 9つの真実
Nmap 9つの真実
乱数と擬似乱数の生成技術
乱数と擬似乱数の生成技術
第0回EMS勉強会登壇資料(EMS(Intune)で 色々なデバイスをセットアップしてみた)
第0回EMS勉強会登壇資料(EMS(Intune)で 色々なデバイスをセットアップしてみた)
ネットワークOS野郎 ~ インフラ野郎Night 20160414
ネットワークOS野郎 ~ インフラ野郎Night 20160414
Linux女子部 iptables復習編
Linux女子部 iptables復習編
メトリクスを用いたソフトウェア品質定量評価・改善 (GQM, Metrics, ET2013)
メトリクスを用いたソフトウェア品質定量評価・改善 (GQM, Metrics, ET2013)
Development myshoes and Provide Cycloud-hosted runner -- GitHub Actions with ...
Development myshoes and Provide Cycloud-hosted runner -- GitHub Actions with ...
Destaque
Bitcoinを技術的に理解する
Bitcoinを技術的に理解する
Kenji Urushima
ビットコイン~原理からソースまで~
ビットコイン~原理からソースまで~
bitbank, Inc. Tokyo, Japan
5分でわかるブロックチェーンの基本的な仕組み
5分でわかるブロックチェーンの基本的な仕組み
Ryo Shimamura
ウォレットセキュリティーレビュー
ウォレットセキュリティーレビュー
Jonathan Underwood
ビットコインとgoxと円天と
ビットコインとgoxと円天と
明穂 足立
Bitcoinとは何か?
Bitcoinとは何か?
Toshihiro Kaseda
マルレク特別編:Bitcoinの概要と今後の論点
マルレク特別編:Bitcoinの概要と今後の論点
Masanori Kusunoki
Bitcoinについて
Bitcoinについて
Takuya SUMI
Bitcoinの個人的勉強ノート 第3版(2015年1月4日)
Bitcoinの個人的勉強ノート 第3版(2015年1月4日)
pizyumi
Bitcoinの技術
Bitcoinの技術
Kindai University
JNSA Bitcoin 勉強会 佐藤 20140602
JNSA Bitcoin 勉強会 佐藤 20140602
Masashi Sato
Blockchain - Future Sync Vol5 Slide
Blockchain - Future Sync Vol5 Slide
Kenichi Kurimoto
デジタルハリウッド大学院 ブロックチェーン研究会第三回 2016年8月25日
デジタルハリウッド大学院 ブロックチェーン研究会第三回 2016年8月25日
Tomoaki Sato
Bitcoinのしくみと設計思想
Bitcoinのしくみと設計思想
Kindai University
ビットコインの仕組み
ビットコインの仕組み
GOTO_A
AWSでのバースト ― GP2 T2 ご紹介資料
AWSでのバースト ― GP2 T2 ご紹介資料
Rasmus Ekman
ビットコインの基礎知識と世界的なトレンド
ビットコインの基礎知識と世界的なトレンド
Koichiro Wada
技術勉強会(楕円曲線暗号)資料
技術勉強会(楕円曲線暗号)資料
Tetsuyuki Oishi
0528 kanntigai ui_ux
0528 kanntigai ui_ux
Saori Matsui
女子の心をつかむUIデザインポイント - MERY編 -
女子の心をつかむUIデザインポイント - MERY編 -
Shoko Tanaka
Destaque
(20)
Bitcoinを技術的に理解する
Bitcoinを技術的に理解する
ビットコイン~原理からソースまで~
ビットコイン~原理からソースまで~
5分でわかるブロックチェーンの基本的な仕組み
5分でわかるブロックチェーンの基本的な仕組み
ウォレットセキュリティーレビュー
ウォレットセキュリティーレビュー
ビットコインとgoxと円天と
ビットコインとgoxと円天と
Bitcoinとは何か?
Bitcoinとは何か?
マルレク特別編:Bitcoinの概要と今後の論点
マルレク特別編:Bitcoinの概要と今後の論点
Bitcoinについて
Bitcoinについて
Bitcoinの個人的勉強ノート 第3版(2015年1月4日)
Bitcoinの個人的勉強ノート 第3版(2015年1月4日)
Bitcoinの技術
Bitcoinの技術
JNSA Bitcoin 勉強会 佐藤 20140602
JNSA Bitcoin 勉強会 佐藤 20140602
Blockchain - Future Sync Vol5 Slide
Blockchain - Future Sync Vol5 Slide
デジタルハリウッド大学院 ブロックチェーン研究会第三回 2016年8月25日
デジタルハリウッド大学院 ブロックチェーン研究会第三回 2016年8月25日
Bitcoinのしくみと設計思想
Bitcoinのしくみと設計思想
ビットコインの仕組み
ビットコインの仕組み
AWSでのバースト ― GP2 T2 ご紹介資料
AWSでのバースト ― GP2 T2 ご紹介資料
ビットコインの基礎知識と世界的なトレンド
ビットコインの基礎知識と世界的なトレンド
技術勉強会(楕円曲線暗号)資料
技術勉強会(楕円曲線暗号)資料
0528 kanntigai ui_ux
0528 kanntigai ui_ux
女子の心をつかむUIデザインポイント - MERY編 -
女子の心をつかむUIデザインポイント - MERY編 -
Último
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
Último
(10)
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
ビットコイン ~ トランザクション展性について
1.
Transaction Malleabilityについて 作:アンダーウッド・ジョナサン
2.
概要 ①背景・簡単な説明 ②取引IDについて ③署名と取引の関係 ④スクリプトの実行時 ⑤展性について(代表例) ア)scriptSigの余分なOP イ)scriptSigのPUSHDATA系OPの変更 ウ)ECDSA署名のs値のネガティブ エ)Sighashで署名の含まれる範囲を指定 オ)秘密鍵持つ人自身が再度署名をする。 ⑥BIP62で解決? ⑦展性から影響を受けないようにするには? ⑧結論
3.
背景・簡単な説明 ・2011年中旬に発覚 ・署名のDER必須化な ど一部対策は打った ・避けられないものと判 断し、「これ以上の対策 はしない」と断言 ・2014年、MtGox事件 ・取引の情報を変更せ ずに取引IDが変更可能 ・秘密鍵不要 ・ノードから見たら ダブルスペンドと同じ 扱い
4.
取引IDについて ・含まれるもの: 01000000 //バージョン 01
// 入力の数 227b59624bfc0acb51bde9b02a19ac98b62625ead0dd2093596b56e45d94a638 // 入力参照取引 00000000 // 参照出力索引 6a47304402201e815830e3cdc6854643a96d0784863263a6c81907e3e156b8177bb0e58c1622 02206dd641de7908b832bc907d849f08901db02e46376f50d048183bc9b1e7578ab601 //署名 2102d7697f67f07afc87e7bb19bdcd08607c7f87fbe934bb83a0af2245fc2725fe66 // 公開鍵 ffffffff // Sequence 02 // 出力の数 c0372a0100000000 // 出力の額 1976a914c9868552872337050efec29054cbfccea104de0a88ac // scriptPubkey ca5f5e0000000000 // 出力の額 1976a914bfc64676ab297c0a6b8b738b8d6689caaf82658188ac // scriptPubkey 00000000 // nLockTime scriptSig 全部 取引IDは右記に対し sha256(sha256(tx)) ⇒リトルエンディアン
5.
署名と取引の関係 ・署名に含まれるもの: (SIGHASH_ALLの場合) 01000000 01 227b59624bfc0acb51bde9b02a19ac98b62625ead0dd2093596b56e45d94a638 00000000 6a47304402201e815830e3cdc6854643a96d0784863263a6c81907e3e156b8177bb0e58c162 202206dd641de7908b832bc907d849f08901db02e46376f50d048183bc9b1e7578ab601 2102d7697f67f07afc87e7bb19bdcd08607c7f87fbe934bb83a0af2245fc2725fe66 ffffffff 02 c0372a0100000000 1976a914c9868552872337050efec29054cbfccea104de0a88ac ca5f5e0000000000 1976a914bfc64676ab297c0a6b8b738b8d6689caaf82658188ac 00000000 含まれない scriptSigの代わりに 参照先出力のscript Pubkey (P2SHの場合、 redeemscript)を挿入 し、取引の 最後に4バイトの sighash_typeを付け る。
6.
スクリプトの実行時1 ・入力が参照している出力のscriptPubkey と当該入力に含まれるscriptSigを実行。 (scriptSig⇒scriptPubkey) 先ほどの例で実行してみましょう scriptSig: ①OP_PUSHDATA 304402201e815830e3cdc6854643a96d0784863263a6c81907e3e156b8177bb0e58c1622 02206dd641de7908b832bc907d849f08901db02e46376f50d048183bc9b1e7578ab601 ②OP_PUSHDATA 02d7697f67f07afc87e7bb19bdcd08607c7f87fbe934bb83a0af2245fc2725fe66 scriptPubkey: ③OP_DUP ④OP_HASH160
⑤OP_PUSHDATA f8a60ea80148db1dd98a463151d315eb816d1035 ⑥OP_EQUALVERIFY ⑦OP_CHECKSIG スタックを見ると。。。⇒
7.
スクリプトの実行時2
8.
展性について(代表例) ア)scriptSigの余分なOP 署名済みのscriptSigは署名に含まれないで取引IDに含まれ るので、余分なOP_CODE入れれば取引IDが変わる。 例の取引で言うと: scriptSig: +OP_0 <<<OP_0を先頭に挿入。Scriptの実行には影響なし。署名はまだ有効。取引IDが変わる。 ①OP_PUSHDATA 304402201e815830e3cdc6854643a96d0784863263a6c81907e3e156b8177bb0e58c1622 02206dd641de7908b832bc907d849f08901db02e46376f50d048183bc9b1e7578ab601 ②OP_PUSHDATA 02d7697f67f07afc87e7bb19bdcd08607c7f87fbe934bb83a0af2245fc2725fe66 scriptPubkey: ③OP_DUP ④OP_HASH160
⑤OP_PUSHDATA f8a60ea80148db1dd98a463151d315eb816d1035 ⑥OP_EQUALVERIFY ⑦OP_CHECKSIG
9.
展性について(代表例) イ)scriptSigのPUSHDATA系OPの変更 PUSHDATAに種類が複数あり、(数字が大きくなれば変わる) しかし小さい数字に対して大きい数字用のPUSHDATA使っても有効 例の取引で言うと: scriptSig: ①OP_PUSHDATA4 304402201e815830e3cdc6854643a96d0784863263a6c81907e3e156b8177bb0e58c1622 02206dd641de7908b832bc907d849f08901db02e46376f50d048183bc9b1e7578ab601 ②OP_PUSHDATA2 02d7697f67f07afc87e7bb19bdcd08607c7f87fbe934bb83a0af2245fc2725fe66 scriptPubkey: ③OP_DUP ④OP_HASH160
⑤OP_PUSHDATA f8a60ea80148db1dd98a463151d315eb816d1035 ⑥OP_EQUALVERIFY ⑦OP_CHECKSIG
10.
展性について(代表例) ウ)ECDSA署名のs値のネガティブ 署名のs値の+-を逆にしても計算上有効であるため、orderから sの値を引いて置き換えると異なるデータとなって、まだ有効。 例の取引で言うと: scriptSig: ①OP_PUSHDATA 304402201e815830e3cdc6854643a96d0784863263a6c81907e3e156b8177bb0e58c1622 0221009229be2186f747cd436f827b60f76fe10a8096af3ff7cff3a79694dae8deb68b01 ②OP_PUSHDATA 02d7697f67f07afc87e7bb19bdcd08607c7f87fbe934bb83a0af2245fc2725fe66 scriptPubkey: ③OP_DUP ④OP_HASH160
⑤OP_PUSHDATA f8a60ea80148db1dd98a463151d315eb816d1035 ⑥OP_EQUALVERIFY ⑦OP_CHECKSIG
11.
展性について(代表例) エ)Sighashで署名の含まれる範囲を指定 一般的に使われるSIGHASH_ALLに対して、出力の中身を全 く署名に含めないSIGHASH_NONEを利用すると、いくらでも出 力の内容を変更できるので取引IDが変わるのは仕方無い。 その他のSIGHASHタイプ: SIGHASH_ALL:出力全て、そして入力の参照先全てを含める。 SIGHASH_NONE:入力の参照先を全て含め、出力は全く含めない。 SIGHASH_SINGLE:入力の参照先を全て含め、でも他入力のSequenceは含めずに、1つの出力のみ含める。 (*SIGHASH_ANYONECANPAY:上記3つのどれにも併用でき、これを併用すると他の入力の参照先を含めない。)
12.
展性について(代表例) オ)秘密鍵持つ人自身が再度署名をする。 署名で異なる乱数を使い、再度署名して配信すると取引IDが 異なる。 …当たり前か…
13.
BIP62で解決? ・既述の問題を含め、他の展性の原因を抑止する ためにスタンダードルールを変更しようとしている ・しかし、(エ)と(オ)はビットコインの根本的な仕様と 関わっており、変更が不可能。 ・トランザクション展性は抑えることできても 修正不可
14.
展性から影響を受けないようにするには? ・DBで出金依頼とutxo情報を結び付ける。 -Mt.Goxは取引IDのみで管理 ・出金後しばらくは出金元のアドレスに関する取引を 監視する。
15.
結論 ・トランザクション展性は仕方が無いこと ・取引IDのみを頼りにすると詐欺に遭う可能性あり ・utxoの行方を追うことが大切
16.
質疑応答に入りたいと思います。 御清聴ありがとうございました。
Baixar agora