Submit Search
Upload
Proof of payment
•
Download as PPTX, PDF
•
0 likes
•
39 views
ryota fukata
Follow
This slide explains the Proof of Payment of bitcoin
Read less
Read more
Technology
Report
Share
Report
Share
1 of 49
Download now
Recommended
Congre chain説明資料
Congre chain説明資料
Kindai University
仮想通貨のブロックチェイン技術によるFinTech
仮想通貨のブロックチェイン技術によるFinTech
Kindai University
電子情報通信学会グローバル社会とビットコイン(山崎)
電子情報通信学会グローバル社会とビットコイン(山崎)
Kindai University
デジタルハリウッド大学院 ブロックチェーン研究会第三回 2016年8月25日
デジタルハリウッド大学院 ブロックチェーン研究会第三回 2016年8月25日
Tomoaki Sato
Ethereum whitepaper
Ethereum whitepaper
Kenichi Kurimoto
ブロックチェーンが切り拓く世界
ブロックチェーンが切り拓く世界
Hiroshi Takahashi
Bitcoinの技術
Bitcoinの技術
Kindai University
Bitcoinのしくみと設計思想
Bitcoinのしくみと設計思想
Kindai University
Recommended
Congre chain説明資料
Congre chain説明資料
Kindai University
仮想通貨のブロックチェイン技術によるFinTech
仮想通貨のブロックチェイン技術によるFinTech
Kindai University
電子情報通信学会グローバル社会とビットコイン(山崎)
電子情報通信学会グローバル社会とビットコイン(山崎)
Kindai University
デジタルハリウッド大学院 ブロックチェーン研究会第三回 2016年8月25日
デジタルハリウッド大学院 ブロックチェーン研究会第三回 2016年8月25日
Tomoaki Sato
Ethereum whitepaper
Ethereum whitepaper
Kenichi Kurimoto
ブロックチェーンが切り拓く世界
ブロックチェーンが切り拓く世界
Hiroshi Takahashi
Bitcoinの技術
Bitcoinの技術
Kindai University
Bitcoinのしくみと設計思想
Bitcoinのしくみと設計思想
Kindai University
ブロックチェーンまとめ
ブロックチェーンまとめ
HarukiKondo
OpenID Bizday #9 - 山崎重一郎氏 プレゼン資料
OpenID Bizday #9 - 山崎重一郎氏 プレゼン資料
OpenID Foundation Japan
JNSA Bitcoin 勉強会 佐藤 20140602
JNSA Bitcoin 勉強会 佐藤 20140602
Masashi Sato
Blockchain - Future Sync Vol5 Slide
Blockchain - Future Sync Vol5 Slide
Kenichi Kurimoto
『Bitcoinとプライバシー』@Bitcoin技術勉強会2015.07.20
『Bitcoinとプライバシー』@Bitcoin技術勉強会2015.07.20
visvirial
FinTechと金融サービスの将来像
FinTechと金融サービスの将来像
Kindai University
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
More Related Content
What's hot
ブロックチェーンまとめ
ブロックチェーンまとめ
HarukiKondo
OpenID Bizday #9 - 山崎重一郎氏 プレゼン資料
OpenID Bizday #9 - 山崎重一郎氏 プレゼン資料
OpenID Foundation Japan
JNSA Bitcoin 勉強会 佐藤 20140602
JNSA Bitcoin 勉強会 佐藤 20140602
Masashi Sato
Blockchain - Future Sync Vol5 Slide
Blockchain - Future Sync Vol5 Slide
Kenichi Kurimoto
『Bitcoinとプライバシー』@Bitcoin技術勉強会2015.07.20
『Bitcoinとプライバシー』@Bitcoin技術勉強会2015.07.20
visvirial
FinTechと金融サービスの将来像
FinTechと金融サービスの将来像
Kindai University
What's hot
(6)
ブロックチェーンまとめ
ブロックチェーンまとめ
OpenID Bizday #9 - 山崎重一郎氏 プレゼン資料
OpenID Bizday #9 - 山崎重一郎氏 プレゼン資料
JNSA Bitcoin 勉強会 佐藤 20140602
JNSA Bitcoin 勉強会 佐藤 20140602
Blockchain - Future Sync Vol5 Slide
Blockchain - Future Sync Vol5 Slide
『Bitcoinとプライバシー』@Bitcoin技術勉強会2015.07.20
『Bitcoinとプライバシー』@Bitcoin技術勉強会2015.07.20
FinTechと金融サービスの将来像
FinTechと金融サービスの将来像
Recently uploaded
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
Recently uploaded
(7)
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
Proof of payment
1.
Proof of Paymentによる Bitcoinのセカンドレイヤを利用した スマートロックの即時制御 近畿大学 深田涼太
福田裕也 篠崎仙太郎 山崎重一郎
2.
研究目的 ブロックチェーンのスループットの問題 • 決済などの確定に30分〜60分程度の時間が必要 セカンドレイヤ技術による解決方法が提案されている 本研究はBitcoinのセカンドレイヤ技術の一つであるProof of
Payment を用いたスマートロックの即時制御を実現したので報告する
3.
ブロックチェーンのスループットの問題 なぜ決済などの確定に30分〜60分程度の時間が必要なのか? ブロックチェーンの原理から来る問題 Bitcoinによる電子マネーの二重使用問題の解決方法の視点から説明する
4.
電子マネーの二重使用問題 電子マネーは原理的に複製可能 100 10 10 100 10 10 コピー 使用 使用 送金者
5.
従来の電子マネーでの二重使用問題の解決方法 信頼できるネットワークサービス ICカード(耐タンパデバイス)
6.
Bitcoinによる電子マネーの二重使用問題の解決法の特徴 ソフトウェアだけで実現可能 信頼点を必要としない 個人から個人への転々譲渡が可能 ソフトウェア
7.
Bitcoinによる二重使用の防止方法 三式簿記による会計監査を利用 トランザクション:三式簿記形式の基本単位 総量保存則 • 送金の過程で貨幣的価値が増減せず、必ず総量は保存される • 会計監査に成功していれば二重使用は不可能 トランザクション UTXO 60 UTXO 40 UTXO 100
8.
複式簿記 資本主義、株式会社の発達に貢献 複式簿記による会計監査 • 会社が株主に、資産、負債、費用、収益の整合性を証明 • クローズドシステム •
会計期:1年 株主 会計監査 株式会社
9.
三式簿記 bitcoinが最初に採用 参加者全員による会計監査 • 送金過程のネットワーク全体の整合性を監査する • オープンシステム •
会計期:約10分間 参加者全員 会計監査 送金過程のネットワーク全体
10.
Bitcoinネットワーク P2P型ネットワークシステム 各ノードは8本ずつのコネクションで接続
11.
Bitcoinの送金開始 受領者 送金者 送金者 所持金 UTXO 金額 送金先 参照 トランザクション (1) 送金者は、送金用トランザクションを作成 (2) トランザクションをBitcoinネットワークにブロードキャスト開始 •
接続している8ノードに送信する
12.
ノードによるトランザクションの会計監査 受領者 送金者 所持金 UTXO 金額 送金先 参照 トランザクション (3) 各受信ノードがトランザクションを検証(会計監査)する 会計監査 会計監査 会計監査 会計監査 会計監査 会計監査 会計監査 送金者
13.
各ノードの隣接ノードへのトランザクションのリレー 受領者 送金者 所持金 UTXO 金額 送金先 参照 トランザクション (4) 問題が無い場合、トランザクションを隣接する8ノードにリレー 二重使用などの問題が有る場合、トランザクションは破棄される (5) 会計監査とリレーが繰返される 送金者
14.
bitcoinネットワークの全ノードにトランザクションが到達 受領者 送金者 所持金 UTXO 金額 送金先 参照 トランザクション (6) 受領者にもトランザクションが到達する 送金者
15.
ブロックチェーンとは Bitcoinネットワークの各ノードが保有している台帳記録 正当なトランザクションが保管されている 拡大 ブロックチェーン ブロックチェーン ブロックチェーン ブロックチェーン ブロックチェーン ブロックチェーン ブロックチェーン ブロックチェーン
16.
ブロックチェーンとは ブロック • 平均10分の間にブロードキャストされたトランザクションを集めたデータ ブロックチェーン • ノードによって検証済みである正しいトランザクションのみの台帳記録 前のブロックのハッシュ値 proof
of work トラン ザク ション トラン ザク ション トラン ザク ション ブロック ブロック ブロック ブロック ブロック ブロック 10分 10分 10分 10分 10分
17.
同一のUTXOを二重に使用する攻撃 同一のUTXOを参照する2つのトランザクションを生成 離れた2地点からブロードキャストする 二重使用を意図した送金者 宛先アドレスA UTXO 送金者所持金 宛先アドレスB コインのように扱う 参照 参照 トランザクションA トランザクションB 東京 ブエノスアイレス
18.
トランザクションはリレー境界を超えると破棄される トランザクションは全ノードには伝播しない 二重使用を意図した送金者 宛先アドレスA UTXO 送金者所持金 宛先アドレスB 参照 参照 トランザクションA トランザクションB 東京 ブエノスアイレス リレー境界 マイナー
19.
観測者(マイナー)を定めると片方だけが選択される マイナー=ブロックの作成者 • 1つのトランザクションだけが正当なものになる 二重使用を意図した送金者 宛先アドレスA UTXO 送金者所持金 宛先アドレスB 参照 参照 トランザクションA トランザクションB 東京 ブエノスアイレス リレー境界 マイナー
20.
ビザンティン合意問題 正常なノードすべてに同じ値を合意させる方法を問う問題 1/3 以上の敵が結託すると相互通信確認による合意は不可能 • 正常なノード •
本当は正常なノード • 結託している不正なノード M Mは敵だ Mは敵だ Mは敵だ Mは敵だ Mは敵だ Mは敵だ 正しい 台帳記録
21.
共通プレフィックス法による(確率的)合意形成 正常ノードの最長のチェーンの前半の構造は確率的に共通化する 合意のための通信は不要 正常 ノード 時間軸 合意内容 合意内容 正統な記録とみなす 正統な記録とみなす B B A 共通プレフィックス 共通プレフィックス A,Bは 競合状態 A 枝刈り(30分〜60分) 正常 ノード
22.
即時決済などが不可能な理由 30分〜60分程度枝刈りした共通部分しか確率的に信頼できない 正常 ノード 時間軸 合意内容 合意内容 正統な記録とみなす 正統な記録とみなす B B A 共通プレフィックス 共通プレフィックス A,Bは 競合状態 A 枝刈り(30分〜60分) 正常 ノード
23.
Bitcoinの送金における公開鍵暗号の利用と電子署名 Bitcoinの送金には公開鍵暗号が利用されている 各ユーザは公開鍵と秘密鍵を所持している 秘密鍵 公開鍵 ユーザ
24.
Bitcoinの送金における公開鍵暗号の利用と電子署名 UTXOについて • UTXOは送金者の所持金を意味する • 未使用の場合はロック状態になっている 受領者送金者 lock状態 UTXO
25.
Bitcoinの送金における公開鍵暗号の利用と電子署名 トランザクションへの電子署名によるUTXOのアンロック • UTXOの所有者の秘密鍵による電子署名をトランザクションのinputに入 れることで、UTXOはアンロックされる • アンロックされたUTXOは「使用済」状態になる 送金者
受領者 unlock UTXO 電子署名 使用済状態 Output 送金先 金額 input トランザクション
26.
セカンドレイヤ技術による課題の解決 セカンドレイヤ技術 ブロックチェーンへのデータ登録を行わない(オフチェーン) P2Pネットワークへのデータのブロードキャストを行わない 当事者間の通信だけで完結する スケーラビリティの問題とスループットの問題を解決する
27.
Bitcoinのセカンドレイヤ技術 セカンドレイヤ Bitcoinネットワーク をブロードキャスト ブロードキャストしない ファーストレイヤ トランザクション トランザクション 送金者 送金者 受領者 受領者
28.
Bitcoinのセカンドレイヤ技術 マイクロペイメントチャンネル ライトニング・ネットワーク Proof of Payment
29.
Proof of Payment
(支払い証明)とは UTXO を故意に二重使用する方法 UTXOを二重使用できるのは、1回目の送金者しかいない 支払い済であることが証明できる
30.
Proof of Payment
(支払い証明)の実施方法1 1回目の送金 • 実際にBitcoinを送金する(ブロードキャスト) • 受領者は、ブロックチェーンで資金の受領を確認する ブロードキャスト 受領者 unlock UTXO Output 送金先 金額 input 電子署名 使用済状態 送金者 受領確認
31.
Proof of Payment
(支払い証明)の実施方法2 Proof of Paymentトランザクションの作成 • 受領者が送金者に使い捨てのnonceを生成して渡す • 同じ秘密鍵で署名したトランザクション(Proof of Payment)を作成 • Proof of Paymentトランザクションの中に受け取ったnonceを埋め込んでおく 送金者 受領者 unlock UTXO Outputinput 電子署名 使用済状態 通信路 Proof of payment トランザクション nonce
32.
Proof of Payment
(支払い証明)の実施方法3 2回目の送金 • 当事者間の通信路で送信(ブロードキャストしない) • 受領者は、トランザクションをブロックチェーンで検証し二重使用を確認 送金者 受領者 unlock UTXO Outputinput 電子署名 使用済状態 通信路 二重使用 確認 Proof of payment トランザクション nonce
33.
Proof of Paymentの特徴1 送金者の証明が可能 •
Proof of Payment トランザクションへの電子署名には、事前送金と同じ 秘密鍵を使用する.このような電子署名が可能なのは、同一の秘密鍵 を持つ事前送金した本人だけである。 Proof of Paymentトランザクション(PoPTx) input output 電子署名 送金先アドレス (Bitcoinアドレス) 送金金額 送金者 nonce 事前送金 参照UTXO
34.
Proof of Paymentの特徴2 複数回の利用が可能 •
一回のBitcoinの実送金に対して、複数回のProof of Paymentが作成できる。 利用例 • 1回送金すれば、1日の間何度でもスマートロックを解錠できる 送金者 受領者通信路 PoPトランザクション PoPトランザクション
35.
Proof of Paymentへの攻撃1(リプレイ攻撃) 傍受したProof
of Paymentトランザクションを再送する攻撃 防御方法 • 受領者が毎回nonceを確認する • Proof of Paymentトランザクションは1度のみ 送金者 受領者通信路 PoPトランザクション PoPトランザクション 攻撃者コピー nonce nonce
36.
Proof of Paymentへの攻撃2 実際にUTXO
を二重使用する • Proof of PaymentトランザクションをBitcoinネットワークにブロード キャストした場合、それを受け取ったノードは、すぐにUTXOを二重使 用している不正なトランザクションとして破棄するので、他のノード にリレーされることはない。 PoPTxをブロードキャスト 仮にブロードキャストされた場合について 送金者 検証により不正が確認、リレーされない PoPTx
37.
Proof of Paymentトランザクションの作成 事前送金をもとにProof
of Paymentトランザクション(PoPTx)を作成 • 提供者からnonceを取得し、PoPTxに埋め込む • Locktimeを499999999にする • PoPTxは事前送金と同じinputを持つ • sequenceの値は全て0にすることでLocktimeが機能するようにする • OP_RETURNで始まる特殊なoutputを1つだけ持ちTxidが格納される
38.
Proof of Paymentトランザクションの検証 1.PoPTx
を検証する.入力が使用済みであることを除いて、 トランザクションの検証に成功すること Proof of Paymentトランザクション(PoPTx) input output 電子署名 送金先アドレス (Bitcoinアドレス) 送金金額 nonce 事前送金 参照UTXO Locktime sequence=0 提供者 検証 事前送金のトランザクションと比較 形式として間違っていないか
39.
Proof of Paymentトランザクションの検証 2.
Locktime が 499999999 であるか確認する。 誤ってブロードキャストされても499999999ブロックまで取り込まれない (2019年3/1日−565197ブロック 499999999になるのは約8800年後) Proof of Paymentトランザクション(PoPTx) input output 電子署名 送金先アドレス (Bitcoinアドレス) 送金金額 nonce 事前送金 参照UTXO Locktime sequence=0 提供者 確認
40.
Proof of Paymentトランザクションの検証 3.
アウトプットは 1 つだけで、pop output が正しく入力されて いるか確認する Proof of Paymentトランザクション(PoPTx) input output 電子署名 送金先アドレス (Bitcoinアドレス) 送金金額 nonce 事前送金 参照UTXO Locktime sequence=0 提供者 確認
41.
Proof of Paymentトランザクションの検証 4.
pop output に記載されているTxidが検証対象のトランザクション か確認する. Proof of Paymentトランザクション(PoPTx) input output 電子署名 送金先アドレス (Bitcoinアドレス) 送金金額 nonce 事前送金 参照UTXO Locktime sequence=0 提供者 確認 Txid・・・トランザクションのハッシュ値
42.
Proof of Paymentトランザクションの検証 5.
pop output に記載されている nonce の値が事前にサービス提 供者が送信したものと同じか確認する Proof of Paymentトランザクション(PoPTx) input output 電子署名 送金先アドレス (Bitcoinアドレス) 送金金額 nonce 事前送金 参照UTXO Locktime sequence=0 提供者 確認
43.
Proof of Paymentトランザクションの検証 6.
PoPTx が全てのインプットが sequence を除いて、Tx と同じで あるかを確認する. Proof of Paymentトランザクション(PoPTx) input output 電子署名 送金先アドレス (Bitcoinアドレス) 送金金額 nonce 事前送金 参照UTXO Locktime sequence=0 提供者 確認
44.
Proof of Paymentトランザクションの検証 7.
全てのインプットのスクリプトを実行して、全てtrueとなるか を確認する. これらすべての検証に成功した場合、支払いの証明となる
45.
スマートロック Web APIによる開閉制御が可能なCANDY HOUSE社のSesameを用い た。 Sesame
はメールアドレスとパスワードによりデバイスの管理者 登録が可能であり「lock」や「unlock」コマンドを 入力すること で開け締めの即時制御が可能となっている。 Proof of Payment トランザクションを受け取った後,検証を行い送金した 本人であると確認が取れた場合,鍵の開け締めを行う。
46.
試作したシステムの流れ
47.
動画
48.
まとめと今後の課題 まとめ • Proof of
Paymentを用いることで、ブロックチェーンの問題の一つであ るスループットの問題を解決する現実的な方法を確認できた。 今後の課題 • Proof of Payment は,サービス側が信頼できるという前提のモデルであ る。 • 事前送金したのにサービスが受けられないという事態への対処は含ま れていない。 サービスが受けられなかった場合に,デポジットしたBitcoinの 資金が回収できるようなプロトコルを検討することである。
49.
ご清聴ありがとうございました
Editor's Notes
こんにちは 近畿大学の深田です 僕たちは「Proof of PaymentによるBitcoinのセカンドレイヤを利用したスマートロックの即時制御」について研究したので発表させていただきます よろしくお願いします
まず本研究の目的です ブロックチェーンにはスループット問題があり、決済などの確定には30分〜60分程度の時間が必要です このスループットの問題の解決方法としてセカンドレイヤ技術が提案されています 本研究はBitcoinのセカンドレイヤ技術の一つであるProof of Paymentによるスループットの問題の解決とそれによるスマートロックの即時制御の実現しましたので報告します
では、まず最初になぜ決済などの確定に30分から60分程度の時間が必要なのかです これはブロックチェーンの原理からくる問題で、今回はビットコインによる電子マネーの二重使用問題の解決方法という視点から説明していきます
現金とは違い電子マネーは原理的に複製が可能です
電子マネーの二重使用の解決方法としてICカードなど耐タンパデバイスや信用できるネットワークサービスなどが発行しているプリペード番号などがあります(itunesカード、google playカード)
ビットコインではハードウェアなどはなく、ソフトウェアのみで実現しており、信頼点を必要としていません また、個人から個人へと転々譲渡が可能となっています
ビットコインでは三式簿記による会計監査を利用しています トランザクションは三式簿記形式となっており、総量保存則が成り立っています これにより送金仮定で貨幣的価値が増減せず、必ず総量は保存されます また、会計監査に成功していれば二重使用は不可能です
複式簿記は株式会社などの発達に貢献しています 会計監査により会社が株主に資産などの整合性を証明しています これはクローズドシステムであり、会計期は1年に1回です
次に三式簿記です。三式簿記はbitcoinに採用されており、会計監査は参加者全員によって行われています 送金過程のネットワーク全体の整合性を監査しており、オープンシステムとなっています 会計期は約10分です
ビットコインのネットワークはP2P型のネットワークシステムであり、各ノードは8本ずつコネクションで接続しています
ビットコインの送金についてです まず送金者は送金用のトランザクションを作成します 作成したトランザクションをビットコインネットワークにブロードキャスト ブロードキャストとは接続している8つのノードに送信することを指します
各ノードがブロードキャストによりトランザクションを受け取り不正などの検証である会計監査を行います
検証に問題がない場合、また隣接している8つのノードにリレーします もし二重使用など不正が会った場合、そのトランザクションは破棄されリレーされません この会計監査とリレーを繰り返し全体に渡していきます
全体にリレーしていくことで受領者に渡り送金が完了となります
つぎにブロックチェーンについてです ブロックチェーンとはビットコインネットワークの各ノードが保有している台帳記録です このブロックチェーンには検証済みの正当なトランザクションが保管されています
ブロックは平均10分の間にブロードキャストされたトランザクションを集めたデータです ブロックチェーンはノードによって検証済みである不正のない正しいトランザクションのみの台帳記録です
送金者の所持金を表すUTXOを二重使用する攻撃について説明します 一つのUTXOをもとに2つのトランザクションを作成し、東京とブエノスアイレスからブロードキャストします
同タイミングでブロードキャストした場合全ノードには伝搬せず、トランザクションがぶつかる部分をリレー境界と呼びます
マイナーと呼ばれるブロックの作成者によってどちらかひとつのトランザクションだけが正当なものに選択されます
各ノードの合意問題としてビザンティン合意問題があります これは正常なノード全てにすべての値を合意させる方法を問う問題で、三分の一以上の悪意を持ったノードが結託すると相互通信確認による合意が不可能となります よってビットコインのノードは三分の二のノードが正常である必要があります
ブロックチェーンのブロックは世界各地のマイナーによって作られるため分岐する場合があります その場合正常ノードの最長のチェーンの前半部分は確率的に共通化され、合意とみなされる 合意のための通信は不要となっています
このように枝刈り後の共通部分しか確率的に信頼できないため決済の完了には30分から60分必要となります
ビットコインの送金では公開鍵暗号が利用されています 各ユーザは公開鍵と秘密鍵を所持しています
UTXOとは送金者の所持金を意味します 未使用の場合はロック状態になっています
UTXOを使用する場合、UTXOの所有者の秘密鍵による電子署名をトランザクションのインプットにいれることでUTXOは使用可能となります またアウトプットは受領者のUTXOとなります
ブロックチェーンのセカンドレイヤ技術とはブロックチェーンへのデータの登録は行われません これはオフチェーンとも呼ばれます また、P2Pネットワークへのデータのブロードキャストを行いません 通信は当事者間のみで完結します これらによってブロックチェーンのスケーラビリティの問題とスループットの問題の解決を図ります
ファーストレイヤはトランザクションがブロードキャストされますが、セカンドレイヤは当事者間のみの通信でありブロードキャストされません
ビットコインのセカンドレイヤ技術はいろいろあり本研究ではProof of Paymentを用います
Proof of PaymentとはUTXOを故意に二重使用することで支払いの証明を行う方法です UTXOを二重使用できるのは一回目の送金者しかいないため、支払い済みであることが証明できます
実施方法についてです 実際にビットコインを送金します 受領者はブロックチェーンで資金の受領を確認します
次にProof of Paymentトランザクションの作成です 受領者は送金者に使い捨てのnonceを生成して渡します 同じ秘密鍵で証明したトランザクションを作成する その際Proof of Paymentトランザクションの中には受け取ったnonceを埋め込みます
二回目の送金は当事者間で送信しこれはビットコインネットワークにブロードキャストしません 受領者はトランザクションをブロックチェーンで検証し、二重使用を確認します
Proof of Paymentの特徴として送金者の証明が可能です Proof of Paymentトランザクションへの電子署名には事前送金と同じ秘密鍵を使用します このような電子署名が可能なのは同一の秘密鍵を持つ事前送金を行った本人だけです
特徴2つ目です Proof of Paymentによる証明は複数回の利用が可能です 一回のビットコインの実送金にたいして、複数回のProof of Paymentが作成できます 利用例として一回送金すれば、一日の間何度でもスマートロックを解除できます
傍受したProof of Paymentトランザクションを再送する攻撃を防御する方法として受領者は毎回nonceを確認します 一度使ったProof of Paymentトランザクションは使えません
Proof of Paymentトランザクションをビットコインネットワークにブロードキャストした場合、それを受け取ったノードは二重使用している不正なトランザクションとして破棄するので、他のノードにリレーされることはありません
Proof of Paymentの作成手順です まず提供者からnonceを取得しPoPTxに埋め込みます Locktimeを499999999にする
Download now