SlideShare a Scribd company logo
1 of 49
Proof of Paymentによる
Bitcoinのセカンドレイヤを利用した
スマートロックの即時制御
近畿大学
深田涼太 福田裕也 篠崎仙太郎 山崎重一郎
研究目的
ブロックチェーンのスループットの問題
• 決済などの確定に30分〜60分程度の時間が必要
セカンドレイヤ技術による解決方法が提案されている
本研究はBitcoinのセカンドレイヤ技術の一つであるProof of Payment
を用いたスマートロックの即時制御を実現したので報告する
ブロックチェーンのスループットの問題
なぜ決済などの確定に30分〜60分程度の時間が必要なのか?
ブロックチェーンの原理から来る問題
Bitcoinによる電子マネーの二重使用問題の解決方法の視点から説明する
電子マネーの二重使用問題
電子マネーは原理的に複製可能
100 10
10
100 10
10
コピー
使用
使用
送金者
従来の電子マネーでの二重使用問題の解決方法
信頼できるネットワークサービス
ICカード(耐タンパデバイス)
Bitcoinによる電子マネーの二重使用問題の解決法の特徴
ソフトウェアだけで実現可能
信頼点を必要としない
個人から個人への転々譲渡が可能
ソフトウェア
Bitcoinによる二重使用の防止方法
三式簿記による会計監査を利用
トランザクション:三式簿記形式の基本単位
総量保存則
• 送金の過程で貨幣的価値が増減せず、必ず総量は保存される
• 会計監査に成功していれば二重使用は不可能
トランザクション
UTXO
60
UTXO
40
UTXO
100
複式簿記
資本主義、株式会社の発達に貢献
複式簿記による会計監査
• 会社が株主に、資産、負債、費用、収益の整合性を証明
• クローズドシステム
• 会計期:1年
株主
会計監査
株式会社
三式簿記
bitcoinが最初に採用
参加者全員による会計監査
• 送金過程のネットワーク全体の整合性を監査する
• オープンシステム
• 会計期:約10分間
参加者全員
会計監査
送金過程のネットワーク全体
Bitcoinネットワーク
P2P型ネットワークシステム
各ノードは8本ずつのコネクションで接続
Bitcoinの送金開始
受領者
送金者
送金者
所持金
UTXO
金額
送金先
参照
トランザクション
(1) 送金者は、送金用トランザクションを作成
(2) トランザクションをBitcoinネットワークにブロードキャスト開始
• 接続している8ノードに送信する
ノードによるトランザクションの会計監査
受領者
送金者
所持金
UTXO
金額
送金先
参照
トランザクション
(3) 各受信ノードがトランザクションを検証(会計監査)する
会計監査
会計監査
会計監査
会計監査
会計監査
会計監査
会計監査
送金者
各ノードの隣接ノードへのトランザクションのリレー
受領者
送金者
所持金
UTXO
金額
送金先
参照
トランザクション
(4) 問題が無い場合、トランザクションを隣接する8ノードにリレー
二重使用などの問題が有る場合、トランザクションは破棄される
(5) 会計監査とリレーが繰返される
送金者
bitcoinネットワークの全ノードにトランザクションが到達
受領者
送金者
所持金
UTXO
金額
送金先
参照
トランザクション
(6) 受領者にもトランザクションが到達する
送金者
ブロックチェーンとは
Bitcoinネットワークの各ノードが保有している台帳記録
正当なトランザクションが保管されている
拡大
ブロックチェーン
ブロックチェーン
ブロックチェーン
ブロックチェーン
ブロックチェーン
ブロックチェーン
ブロックチェーン
ブロックチェーン
ブロックチェーンとは
ブロック
• 平均10分の間にブロードキャストされたトランザクションを集めたデータ
ブロックチェーン
• ノードによって検証済みである正しいトランザクションのみの台帳記録
前のブロックのハッシュ値
proof of work
トラン
ザク
ション
トラン
ザク
ション
トラン
ザク
ション
ブロック
ブロック ブロック ブロック ブロック ブロック
10分 10分 10分 10分 10分
同一のUTXOを二重に使用する攻撃
同一のUTXOを参照する2つのトランザクションを生成
離れた2地点からブロードキャストする
二重使用を意図した送金者
宛先アドレスA
UTXO
送金者所持金 宛先アドレスB
コインのように扱う
参照
参照
トランザクションA
トランザクションB
東京
ブエノスアイレス
トランザクションはリレー境界を超えると破棄される
トランザクションは全ノードには伝播しない
二重使用を意図した送金者
宛先アドレスA
UTXO
送金者所持金
宛先アドレスB
参照
参照
トランザクションA
トランザクションB
東京
ブエノスアイレス
リレー境界
マイナー
観測者(マイナー)を定めると片方だけが選択される
マイナー=ブロックの作成者
• 1つのトランザクションだけが正当なものになる
二重使用を意図した送金者
宛先アドレスA
UTXO
送金者所持金
宛先アドレスB
参照
参照
トランザクションA
トランザクションB
東京
ブエノスアイレス
リレー境界
マイナー
ビザンティン合意問題
正常なノードすべてに同じ値を合意させる方法を問う問題
1/3 以上の敵が結託すると相互通信確認による合意は不可能
• 正常なノード
• 本当は正常なノード
• 結託している不正なノード
M
Mは敵だ
Mは敵だ
Mは敵だ
Mは敵だ
Mは敵だ
Mは敵だ
正しい
台帳記録
共通プレフィックス法による(確率的)合意形成
正常ノードの最長のチェーンの前半の構造は確率的に共通化する
合意のための通信は不要
正常
ノード
時間軸
合意内容
合意内容
正統な記録とみなす
正統な記録とみなす
B
B
A
共通プレフィックス
共通プレフィックス
A,Bは
競合状態
A
枝刈り(30分〜60分)
正常
ノード
即時決済などが不可能な理由
30分〜60分程度枝刈りした共通部分しか確率的に信頼できない
正常
ノード
時間軸
合意内容
合意内容
正統な記録とみなす
正統な記録とみなす
B
B
A
共通プレフィックス
共通プレフィックス
A,Bは
競合状態
A
枝刈り(30分〜60分)
正常
ノード
Bitcoinの送金における公開鍵暗号の利用と電子署名
Bitcoinの送金には公開鍵暗号が利用されている
各ユーザは公開鍵と秘密鍵を所持している
秘密鍵 公開鍵
ユーザ
Bitcoinの送金における公開鍵暗号の利用と電子署名
UTXOについて
• UTXOは送金者の所持金を意味する
• 未使用の場合はロック状態になっている
受領者送金者
lock状態
UTXO
Bitcoinの送金における公開鍵暗号の利用と電子署名
トランザクションへの電子署名によるUTXOのアンロック
• UTXOの所有者の秘密鍵による電子署名をトランザクションのinputに入
れることで、UTXOはアンロックされる
• アンロックされたUTXOは「使用済」状態になる
送金者 受領者
unlock
UTXO 電子署名
使用済状態
Output
送金先
金額
input
トランザクション
セカンドレイヤ技術による課題の解決
セカンドレイヤ技術
ブロックチェーンへのデータ登録を行わない(オフチェーン)
P2Pネットワークへのデータのブロードキャストを行わない
当事者間の通信だけで完結する
スケーラビリティの問題とスループットの問題を解決する
Bitcoinのセカンドレイヤ技術
セカンドレイヤ
Bitcoinネットワーク
をブロードキャスト
ブロードキャストしない
ファーストレイヤ
トランザクション
トランザクション
送金者
送金者 受領者
受領者
Bitcoinのセカンドレイヤ技術
マイクロペイメントチャンネル
ライトニング・ネットワーク
Proof of Payment
Proof of Payment (支払い証明)とは
UTXO を故意に二重使用する方法
UTXOを二重使用できるのは、1回目の送金者しかいない
支払い済であることが証明できる
Proof of Payment (支払い証明)の実施方法1
1回目の送金
• 実際にBitcoinを送金する(ブロードキャスト)
• 受領者は、ブロックチェーンで資金の受領を確認する
ブロードキャスト
受領者
unlock
UTXO
Output
送金先
金額
input
電子署名
使用済状態
送金者
受領確認
Proof of Payment (支払い証明)の実施方法2
Proof of Paymentトランザクションの作成
• 受領者が送金者に使い捨てのnonceを生成して渡す
• 同じ秘密鍵で署名したトランザクション(Proof of Payment)を作成
• Proof of Paymentトランザクションの中に受け取ったnonceを埋め込んでおく
送金者
受領者
unlock
UTXO
Outputinput
電子署名
使用済状態
通信路
Proof of payment
トランザクション
nonce
Proof of Payment (支払い証明)の実施方法3
2回目の送金
• 当事者間の通信路で送信(ブロードキャストしない)
• 受領者は、トランザクションをブロックチェーンで検証し二重使用を確認
送金者 受領者
unlock
UTXO
Outputinput
電子署名
使用済状態
通信路
二重使用
確認
Proof of payment
トランザクション
nonce
Proof of Paymentの特徴1
送金者の証明が可能
• Proof of Payment トランザクションへの電子署名には、事前送金と同じ
秘密鍵を使用する.このような電子署名が可能なのは、同一の秘密鍵
を持つ事前送金した本人だけである。
Proof of Paymentトランザクション(PoPTx)
input output
電子署名
送金先アドレス
(Bitcoinアドレス)
送金金額
送金者
nonce
事前送金
参照UTXO
Proof of Paymentの特徴2
複数回の利用が可能
• 一回のBitcoinの実送金に対して、複数回のProof of Paymentが作成できる。
利用例
• 1回送金すれば、1日の間何度でもスマートロックを解錠できる
送金者 受領者通信路
PoPトランザクション
PoPトランザクション
Proof of Paymentへの攻撃1(リプレイ攻撃)
傍受したProof of Paymentトランザクションを再送する攻撃
防御方法
• 受領者が毎回nonceを確認する
• Proof of Paymentトランザクションは1度のみ
送金者
受領者通信路
PoPトランザクション
PoPトランザクション
攻撃者コピー
nonce
nonce
Proof of Paymentへの攻撃2
実際にUTXO を二重使用する
• Proof of PaymentトランザクションをBitcoinネットワークにブロード
キャストした場合、それを受け取ったノードは、すぐにUTXOを二重使
用している不正なトランザクションとして破棄するので、他のノード
にリレーされることはない。
PoPTxをブロードキャスト
仮にブロードキャストされた場合について
送金者
検証により不正が確認、リレーされない
PoPTx
Proof of Paymentトランザクションの作成
事前送金をもとにProof of Paymentトランザクション(PoPTx)を作成
• 提供者からnonceを取得し、PoPTxに埋め込む
• Locktimeを499999999にする
• PoPTxは事前送金と同じinputを持つ
• sequenceの値は全て0にすることでLocktimeが機能するようにする
• OP_RETURNで始まる特殊なoutputを1つだけ持ちTxidが格納される
Proof of Paymentトランザクションの検証
1.PoPTx を検証する.入力が使用済みであることを除いて、
トランザクションの検証に成功すること
Proof of Paymentトランザクション(PoPTx)
input output
電子署名
送金先アドレス
(Bitcoinアドレス)
送金金額
nonce
事前送金
参照UTXO
Locktime
sequence=0
提供者
検証
事前送金のトランザクションと比較
形式として間違っていないか
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
提供者
確認
Proof of Paymentトランザクションの検証
3. アウトプットは 1 つだけで、pop output が正しく入力されて
いるか確認する
Proof of Paymentトランザクション(PoPTx)
input output
電子署名
送金先アドレス
(Bitcoinアドレス)
送金金額
nonce
事前送金
参照UTXO
Locktime
sequence=0
提供者
確認
Proof of Paymentトランザクションの検証
4. pop output に記載されているTxidが検証対象のトランザクション
か確認する.
Proof of Paymentトランザクション(PoPTx)
input output
電子署名
送金先アドレス
(Bitcoinアドレス)
送金金額
nonce
事前送金
参照UTXO
Locktime
sequence=0
提供者
確認
Txid・・・トランザクションのハッシュ値
Proof of Paymentトランザクションの検証
5. pop output に記載されている nonce の値が事前にサービス提
供者が送信したものと同じか確認する
Proof of Paymentトランザクション(PoPTx)
input output
電子署名
送金先アドレス
(Bitcoinアドレス)
送金金額
nonce
事前送金
参照UTXO
Locktime
sequence=0
提供者
確認
Proof of Paymentトランザクションの検証
6. PoPTx が全てのインプットが sequence を除いて、Tx と同じで
あるかを確認する.
Proof of Paymentトランザクション(PoPTx)
input output
電子署名
送金先アドレス
(Bitcoinアドレス)
送金金額
nonce
事前送金
参照UTXO
Locktime
sequence=0
提供者
確認
Proof of Paymentトランザクションの検証
7. 全てのインプットのスクリプトを実行して、全てtrueとなるか
を確認する.
これらすべての検証に成功した場合、支払いの証明となる
スマートロック
Web APIによる開閉制御が可能なCANDY HOUSE社のSesameを用い
た。
Sesame はメールアドレスとパスワードによりデバイスの管理者
登録が可能であり「lock」や「unlock」コマンドを 入力すること
で開け締めの即時制御が可能となっている。
Proof of Payment トランザクションを受け取った後,検証を行い送金した
本人であると確認が取れた場合,鍵の開け締めを行う。
試作したシステムの流れ
動画
まとめと今後の課題
まとめ
• Proof of Paymentを用いることで、ブロックチェーンの問題の一つであ
るスループットの問題を解決する現実的な方法を確認できた。
今後の課題
• Proof of Payment は,サービス側が信頼できるという前提のモデルであ
る。
• 事前送金したのにサービスが受けられないという事態への対処は含ま
れていない。
サービスが受けられなかった場合に,デポジットしたBitcoinの
資金が回収できるようなプロトコルを検討することである。
ご清聴ありがとうございました

More Related Content

What's hot

ブロックチェーンまとめ
ブロックチェーンまとめブロックチェーンまとめ
ブロックチェーンまとめHarukiKondo
 
OpenID Bizday #9 - 山崎重一郎氏 プレゼン資料
OpenID Bizday #9 - 山崎重一郎氏 プレゼン資料OpenID Bizday #9 - 山崎重一郎氏 プレゼン資料
OpenID Bizday #9 - 山崎重一郎氏 プレゼン資料OpenID Foundation Japan
 
JNSA Bitcoin 勉強会 佐藤 20140602
JNSA Bitcoin 勉強会 佐藤 20140602JNSA Bitcoin 勉強会 佐藤 20140602
JNSA Bitcoin 勉強会 佐藤 20140602Masashi Sato
 
Blockchain - Future Sync Vol5 Slide
Blockchain   -   Future Sync Vol5 SlideBlockchain   -   Future Sync Vol5 Slide
Blockchain - Future Sync Vol5 SlideKenichi Kurimoto
 
『Bitcoinとプライバシー』@Bitcoin技術勉強会2015.07.20
『Bitcoinとプライバシー』@Bitcoin技術勉強会2015.07.20『Bitcoinとプライバシー』@Bitcoin技術勉強会2015.07.20
『Bitcoinとプライバシー』@Bitcoin技術勉強会2015.07.20visvirial
 
FinTechと金融サービスの将来像
FinTechと金融サービスの将来像FinTechと金融サービスの将来像
FinTechと金融サービスの将来像Kindai University
 

What's hot (6)

ブロックチェーンまとめ
ブロックチェーンまとめブロックチェーンまとめ
ブロックチェーンまとめ
 
OpenID Bizday #9 - 山崎重一郎氏 プレゼン資料
OpenID Bizday #9 - 山崎重一郎氏 プレゼン資料OpenID Bizday #9 - 山崎重一郎氏 プレゼン資料
OpenID Bizday #9 - 山崎重一郎氏 プレゼン資料
 
JNSA Bitcoin 勉強会 佐藤 20140602
JNSA Bitcoin 勉強会 佐藤 20140602JNSA Bitcoin 勉強会 佐藤 20140602
JNSA Bitcoin 勉強会 佐藤 20140602
 
Blockchain - Future Sync Vol5 Slide
Blockchain   -   Future Sync Vol5 SlideBlockchain   -   Future Sync Vol5 Slide
Blockchain - Future Sync Vol5 Slide
 
『Bitcoinとプライバシー』@Bitcoin技術勉強会2015.07.20
『Bitcoinとプライバシー』@Bitcoin技術勉強会2015.07.20『Bitcoinとプライバシー』@Bitcoin技術勉強会2015.07.20
『Bitcoinとプライバシー』@Bitcoin技術勉強会2015.07.20
 
FinTechと金融サービスの将来像
FinTechと金融サービスの将来像FinTechと金融サービスの将来像
FinTechと金融サービスの将来像
 

Recently uploaded

Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 

Recently uploaded (7)

Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 

Proof of payment

Editor's Notes

  1. こんにちは 近畿大学の深田です 僕たちは「Proof of PaymentによるBitcoinのセカンドレイヤを利用したスマートロックの即時制御」について研究したので発表させていただきます よろしくお願いします
  2. まず本研究の目的です ブロックチェーンにはスループット問題があり、決済などの確定には30分〜60分程度の時間が必要です このスループットの問題の解決方法としてセカンドレイヤ技術が提案されています 本研究はBitcoinのセカンドレイヤ技術の一つであるProof of Paymentによるスループットの問題の解決とそれによるスマートロックの即時制御の実現しましたので報告します
  3. では、まず最初になぜ決済などの確定に30分から60分程度の時間が必要なのかです これはブロックチェーンの原理からくる問題で、今回はビットコインによる電子マネーの二重使用問題の解決方法という視点から説明していきます
  4. 現金とは違い電子マネーは原理的に複製が可能です
  5. 電子マネーの二重使用の解決方法としてICカードなど耐タンパデバイスや信用できるネットワークサービスなどが発行しているプリペード番号などがあります(itunesカード、google playカード)
  6. ビットコインではハードウェアなどはなく、ソフトウェアのみで実現しており、信頼点を必要としていません また、個人から個人へと転々譲渡が可能となっています
  7. ビットコインでは三式簿記による会計監査を利用しています トランザクションは三式簿記形式となっており、総量保存則が成り立っています これにより送金仮定で貨幣的価値が増減せず、必ず総量は保存されます また、会計監査に成功していれば二重使用は不可能です
  8. 複式簿記は株式会社などの発達に貢献しています 会計監査により会社が株主に資産などの整合性を証明しています これはクローズドシステムであり、会計期は1年に1回です
  9. 次に三式簿記です。三式簿記はbitcoinに採用されており、会計監査は参加者全員によって行われています 送金過程のネットワーク全体の整合性を監査しており、オープンシステムとなっています 会計期は約10分です
  10. ビットコインのネットワークはP2P型のネットワークシステムであり、各ノードは8本ずつコネクションで接続しています
  11. ビットコインの送金についてです まず送金者は送金用のトランザクションを作成します 作成したトランザクションをビットコインネットワークにブロードキャスト ブロードキャストとは接続している8つのノードに送信することを指します
  12. 各ノードがブロードキャストによりトランザクションを受け取り不正などの検証である会計監査を行います
  13. 検証に問題がない場合、また隣接している8つのノードにリレーします もし二重使用など不正が会った場合、そのトランザクションは破棄されリレーされません この会計監査とリレーを繰り返し全体に渡していきます
  14. 全体にリレーしていくことで受領者に渡り送金が完了となります
  15. つぎにブロックチェーンについてです ブロックチェーンとはビットコインネットワークの各ノードが保有している台帳記録です このブロックチェーンには検証済みの正当なトランザクションが保管されています
  16. ブロックは平均10分の間にブロードキャストされたトランザクションを集めたデータです ブロックチェーンはノードによって検証済みである不正のない正しいトランザクションのみの台帳記録です
  17. 送金者の所持金を表すUTXOを二重使用する攻撃について説明します 一つのUTXOをもとに2つのトランザクションを作成し、東京とブエノスアイレスからブロードキャストします
  18. 同タイミングでブロードキャストした場合全ノードには伝搬せず、トランザクションがぶつかる部分をリレー境界と呼びます
  19. マイナーと呼ばれるブロックの作成者によってどちらかひとつのトランザクションだけが正当なものに選択されます
  20. 各ノードの合意問題としてビザンティン合意問題があります これは正常なノード全てにすべての値を合意させる方法を問う問題で、三分の一以上の悪意を持ったノードが結託すると相互通信確認による合意が不可能となります よってビットコインのノードは三分の二のノードが正常である必要があります
  21. ブロックチェーンのブロックは世界各地のマイナーによって作られるため分岐する場合があります その場合正常ノードの最長のチェーンの前半部分は確率的に共通化され、合意とみなされる 合意のための通信は不要となっています
  22. このように枝刈り後の共通部分しか確率的に信頼できないため決済の完了には30分から60分必要となります
  23. ビットコインの送金では公開鍵暗号が利用されています 各ユーザは公開鍵と秘密鍵を所持しています
  24. UTXOとは送金者の所持金を意味します 未使用の場合はロック状態になっています
  25. UTXOを使用する場合、UTXOの所有者の秘密鍵による電子署名をトランザクションのインプットにいれることでUTXOは使用可能となります またアウトプットは受領者のUTXOとなります
  26. ブロックチェーンのセカンドレイヤ技術とはブロックチェーンへのデータの登録は行われません これはオフチェーンとも呼ばれます また、P2Pネットワークへのデータのブロードキャストを行いません 通信は当事者間のみで完結します これらによってブロックチェーンのスケーラビリティの問題とスループットの問題の解決を図ります
  27. ファーストレイヤはトランザクションがブロードキャストされますが、セカンドレイヤは当事者間のみの通信でありブロードキャストされません
  28. ビットコインのセカンドレイヤ技術はいろいろあり本研究ではProof of Paymentを用います
  29. Proof of PaymentとはUTXOを故意に二重使用することで支払いの証明を行う方法です UTXOを二重使用できるのは一回目の送金者しかいないため、支払い済みであることが証明できます
  30. 実施方法についてです 実際にビットコインを送金します 受領者はブロックチェーンで資金の受領を確認します
  31. 次にProof of Paymentトランザクションの作成です 受領者は送金者に使い捨てのnonceを生成して渡します 同じ秘密鍵で証明したトランザクションを作成する その際Proof of Paymentトランザクションの中には受け取ったnonceを埋め込みます
  32. 二回目の送金は当事者間で送信しこれはビットコインネットワークにブロードキャストしません 受領者はトランザクションをブロックチェーンで検証し、二重使用を確認します
  33. Proof of Paymentの特徴として送金者の証明が可能です Proof of Paymentトランザクションへの電子署名には事前送金と同じ秘密鍵を使用します このような電子署名が可能なのは同一の秘密鍵を持つ事前送金を行った本人だけです
  34. 特徴2つ目です Proof of Paymentによる証明は複数回の利用が可能です 一回のビットコインの実送金にたいして、複数回のProof of Paymentが作成できます 利用例として一回送金すれば、一日の間何度でもスマートロックを解除できます
  35. 傍受したProof of Paymentトランザクションを再送する攻撃を防御する方法として受領者は毎回nonceを確認します 一度使ったProof of Paymentトランザクションは使えません
  36. Proof of Paymentトランザクションをビットコインネットワークにブロードキャストした場合、それを受け取ったノードは二重使用している不正なトランザクションとして破棄するので、他のノードにリレーされることはありません
  37. Proof of Paymentの作成手順です まず提供者からnonceを取得しPoPTxに埋め込みます Locktimeを499999999にする