Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Bitcoinだけでスマートコントラクト.pdf
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
akatsukinewgrad
May 20, 2022
1.2k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Bitcoinだけでスマートコントラクト.pdf
akatsukinewgrad
May 20, 2022
More Decks by akatsukinewgrad
See All by akatsukinewgrad
2023/1/25_QAテスター meet up!
akatsukinewgrad
0
180
成果発表資料.pdf
akatsukinewgrad
0
2.2k
広大なフィールドを気持ちよく駆け抜けるための技術.pdf
akatsukinewgrad
0
690
正規表現とReDoS.pdf
akatsukinewgrad
0
670
Unityで大量のオブジェクト_を吹き飛ばしたい.pdf
akatsukinewgrad
0
720
新卒2年目が思う1年目の学び.pdf
akatsukinewgrad
0
650
障害訓練の取り組みについて.pdf
akatsukinewgrad
0
830
7分でわかるアカツキゲームス
akatsukinewgrad
0
680
齋田.pdf
akatsukinewgrad
0
1.3k
Featured
See All Featured
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
42k
Design in an AI World
tapps
1
320
[RailsConf 2023] Rails as a piece of cake
palkan
59
7k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
67
58k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
How GitHub (no longer) Works
holman
316
150k
Leo the Paperboy
mayatellez
10
2.3k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.9k
The Curse of the Amulet
leimatthew05
3
15k
Writing Fast Ruby
sferik
630
63k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
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