Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Bitcoinだけでスマートコントラクト.pdf
Search
akatsukinewgrad
May 20, 2022
1
1k
Bitcoinだけでスマートコントラクト.pdf
akatsukinewgrad
May 20, 2022
Tweet
Share
More Decks by akatsukinewgrad
See All by akatsukinewgrad
2023/1/25_QAテスター meet up!
akatsukinewgrad
0
150
成果発表資料.pdf
akatsukinewgrad
0
2.1k
広大なフィールドを気持ちよく駆け抜けるための技術.pdf
akatsukinewgrad
0
610
正規表現とReDoS.pdf
akatsukinewgrad
0
600
Unityで大量のオブジェクト_を吹き飛ばしたい.pdf
akatsukinewgrad
0
660
新卒2年目が思う1年目の学び.pdf
akatsukinewgrad
0
570
障害訓練の取り組みについて.pdf
akatsukinewgrad
0
750
7分でわかるアカツキゲームス
akatsukinewgrad
0
610
齋田.pdf
akatsukinewgrad
0
1.1k
Featured
See All Featured
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
69
Designing Experiences People Love
moore
144
24k
How to build a perfect <img>
jonoalderson
1
4.9k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
53
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
430
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
150
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
1
86
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
370
The agentic SEO stack - context over prompts
schlessera
0
610
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
220
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
117
100k
Transcript
Bitcoinだけで スマートコントラクト 23卒内定者 たかやま
高山 柊 crimeth.ink/profile しゅう
誤解 • Bitcoinはデジタルゴールド • Bitcoinは送金しかできない • スマートコントラクト = Ethereum上で動くプログラム
誤解 • Bitcoinはデジタルゴールド Bitcoinは通貨 • Bitcoinは送金しかできない BitcoinにはScriptという機能がある • スマートコントラクト =
Ethereum上で動くプログラム 原義は「当事者が契約を実行するためのプロトコルを含む、デジタル形式で指定された 一連の契約(contract)」(1996、ザボ)
BitcoinのScript
BitcoinのScript = コインを引き出せる者を定義するミニプログラム 例:入力を電子署名として解釈し、公開鍵Pに対応していたら引き出せる →Pの秘密鍵を持つ者がコインを引き出せる
BitcoinのScriptで可能なこと • ハッシュ演算 例:ハッシュ値0x1234……efに対応する原像を提出すると引き出せる • タイムロック 例:24時間後までは誰も引き出せない、24時間後からAliceが引き出せる • 条件分岐 例:0を入力するとAliceが、1を入力するとBobが引き出せる
BitcoinのScriptで不可能なこと • 前方ジャンプやループ 計算量 = O(スクリプト長) 特に停止性が保証される • ブロックハッシュなどの環境値の取得 信頼できる第三者を使えば可能
Bitcoinだけでギャンブルコントラクト
Bitcoinだけでギャンブルコントラクト 2人参加のコイントス型ギャンブル契約 1. AliceとBobはそれぞれ秘密の文字列c A ,c B を決める 2. c
A ,c B を同時に言う 3. c A ,c B がどちらも20文字以下またはどちらも20文字以上ならばAliceの勝ち、 そう でなければBobの勝ち 4. 勝者が掛け金を得る ↑これをBitcoinで実装
Bitcoinだけでギャンブルコントラクト 1. 秘密の文字列c A ,c B を決める 2. Hash(c A
),Hash(c B )を公開する 3. 掛け金を引き出せる者を次のようなScriptで定義: 入力1がHash(c A )の原像でなければエラー 入力2がHash(c B )の原像でなければエラー 入力がどちらも20文字以下またはどちらも20文字以上ならばAliceが、そうでなければBobが 引き出せる 4. c A ,c B を公開する 5. c A ,c B を用いて掛け金を引き出す
Bitcoinだけでギャンブルコントラクト Q. Aliceがサボってc A を公開しない場合は? A. 保証金を預けることとし、保証金を引き出せる者を次のようなScriptで定義: 入力がHash(c A )の原像であればAliceが引き出せる
入力がHash(c A )の原像でなくとも24時間後ならばBobが引き出せる →c A を公開しないと保証金が没収される
Bitcoinだけでギャンブルコントラクト Alice Bob
Bitcoinだけでギャンブルコントラクト Bob Alice