16. 署名搁の公开
? Schnorr署名(楕円曲線上の離散対数問題)
? 記述法
? G: 採用する楕円曲線のベースポイント
? n: Gの位数
? m: 署名対象メッセージ
? a: 秘密鍵(整数)
? H(x;y): ハッシュ関数(x, yを連結してハッシュ値を計算する)
? 署名作成
? 乱数kを選ぶ([1,n-1])
? R = kG mod n
? s = k - H(m ; R)a mod n
? 署名検証
? e = e’ ?
? e = H(m ; R) mod n
? e’ = H(m ; sG + eaG) mod n
22. コントラクトの作成
Alice BobBlockchain
CET for Bob
output
Bob or Alice
6btc
input
Alice & Bob
10btc
output
Alice
4btc
CET for Alice
output
Alice or Bob
6btc
input
Alice & Bob
10btc
output
Bob
4btc
signed signed
send
send
funding tx
input
Alice output
Alice & Bob
10btcinput
Bob
funding tx
input
Alice output
Alice & Bob
10btcinput
Bob
23. コントラクトの作成
Alice BobBlockchain
funding tx
input
Alice output
Alice & Bob
10btcinput
Bob
funding tx
input
Alice output
Alice & Bob
10btcinput
Bob
CET for Bob
output
Bob or Alice
6btc
input
Alice & Bob
10btc
output
Alice
4btc
CET for Alice
output
Alice or Bob
6btc
input
Alice & Bob
10btc
output
Bob
4btc
24. コントラクトの作成
Alice BobBlockchain
funding tx
input
Alice output
Alice & Bob
10btcinput
Bob
funding tx
input
Alice output
Alice & Bob
10btcinput
Bob
CET for Bob
output
Bob or Alice
6btc
input
Alice & Bob
10btc
output
Alice
4btc
CET for Alice
output
Alice or Bob
6btc
input
Alice & Bob
10btc
output
Bob
4btc
broadcast
25. コントラクトの作成
Alice BobBlockchain
funding tx
input
Alice output
Alice & Bob
10btcinput
Bob
CET for Bob
output
Bob or Alice
6btc
input
Alice & Bob
10btc
output
Alice
4btc
CET for Alice
output
Alice or Bob
6btc
input
Alice & Bob
10btc
output
Bob
4btc
26. CETの中身
CET for Alice
output
Alice or Bob
6btc
input
Alice & Bob
10btc
output
Bob
4btc
Pub_Ai or (Pub_Bob and TimeDelay(absolute))
Pub_Ai = Pub_Alice + s_i G
s_i G = R - h(i, R)V
29. 多様な予測
Alice BobBlockchain
funding tx
CET for Bob(1050)
input
Alice & Bob
10btc
output
Alice
4btc
CET for Alice(1050)
output
Alice(1050satoshi) or Bob
6btc
input
Alice & Bob
10btc
output
Bob
4btc
output
Bob(1050satoshi) or Alice
6btc
CET for Bob(950)
input
Alice & Bob
10btc
CET for Alice(950)
output
Alice(950satoshi) or Bob
6btc
input
Alice & Bob
10btc
output
Bob
4btc
output
Bob(950satoshi) or Alice
6btc
output
Alice
4btc
… …
30. Alice
Bob
上がる
下がる
CET for Alice
(1050)
output
Alice(1050satoshi) or
Bob
input
output
Bob
CET for Bob
(1050) output
Bob(1050satoshi) or
Alice
input
output
Alice
CET for Alice
(950)
output
Alice(950satoshi) or
Bob
input
output
Bob
CET for Bob
(950) output
Bob(950satoshi) or
Alice
input
output
Alice
日本円が
4btc
6btc
6btc
4btc
下がる
上がる
6btc
4btc
4btc
6btc
31. 多様な予測
CET for Alice
output
Alice or Bob
6btc
input
Alice & Bob
10btc
output
Bob
4btc
Pub_Ai or (Pub_Bob and TimeDelay(absolute))
Pub_Ai = Pub_Alice + s_i G
s_i G = R - h(i, R)V
1050
1049
1048
…
951
950