$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
SwiftでBitcoinのscriptを書いてみよう
Search
Shun Usami
September 18, 2018
Programming
2
360
SwiftでBitcoinのscriptを書いてみよう
Swiftで書かれたBitcoinKitを使用して、10行以内でBitcoinの受け取りから送金まで、そしてScriptを書いていく方法を説明しています。
Shun Usami
September 18, 2018
Tweet
Share
More Decks by Shun Usami
See All by Shun Usami
Let's Write Bitcoin Script #TokyoBitcoinHackathon
usatie
7
8.2k
Bitcoin Basic OP_CODEs
usatie
1
290
CustomCellのためのProtocol
usatie
0
470
Other Decks in Programming
See All in Programming
GISエンジニアから見たLINKSデータ
nokonoko1203
0
180
Cell-Based Architecture
larchanjo
0
140
マスタデータ問題、マイクロサービスでどう解くか
kts
0
120
ローカルLLMを⽤いてコード補完を⾏う VSCode拡張機能を作ってみた
nearme_tech
PRO
0
160
Kotlin Multiplatform Meetup - Compose Multiplatform 외부 의존성 아키텍처 설계부터 운영까지
wisemuji
0
120
ゆくKotlin くるRust
exoego
1
160
Rubyで鍛える仕組み化プロヂュース力
muryoimpl
0
160
AIコーディングエージェント(Manus)
kondai24
0
210
これならできる!個人開発のすゝめ
tinykitten
PRO
0
130
Flutter On-device AI로 완성하는 오프라인 앱, 박제창 @DevFest INCHEON 2025
itsmedreamwalker
1
150
フルサイクルエンジニアリングをAI Agentで全自動化したい 〜構想と現在地〜
kamina_zzz
0
280
DevFest Android in Korea 2025 - 개발자 커뮤니티를 통해 얻는 가치
wisemuji
0
170
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
400
WCS-LA-2024
lcolladotor
0
390
The Cult of Friendly URLs
andyhume
79
6.7k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
220
Marketing to machines
jonoalderson
1
4.3k
The Spectacular Lies of Maps
axbom
PRO
1
400
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.3k
Un-Boring Meetings
codingconduct
0
160
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
0
22
What's in a price? How to price your products and services
michaelherold
246
13k
Transcript
BitcoinͷscriptΛ ॻ͍ͯΈΑ͏ @usatie Yenom, Inc.
None
とびきりやさしいビットコイン・ウォレットアプリ
はじめてビットコインを使う 友達や家族にオススメなのが Yenomです!
なぜ初⼼者向き? ・セットアップなし ・秘密鍵を意識せずに使える ☺ ・専⾨⽤語なし #
どれくらいカンタンなの? DL後のフローを説明します。
1. 「同意して続ける」をタップ
✅ 完了
\ 最近リリースしました /
BitcoinKitのインストール FDIPHJUIVCZFOPN#JUDPJO,JU$BSUpMF DBSUIBHFVQEBUFQMBUGPSNJ04
今⽇はなすこと 3. ビットコインを送⾦する 1. ビットコインの鍵を⽣成する 2. ビットコインを受けとる 4. ビットコインスクリプトを書いてみる
今⽇はなすこと 3. ビットコインを送⾦する 1. ビットコインの鍵を⽣成する 2. ビットコインを受けとる 4. ビットコインスクリプトを書いてみる
そもそもビットコインとは? 2 ビットコインとは? P2Pタイムスタンプサーバー =改ざんできないDB 何を保存してる? 錠がかかったコイン 2 " "
+
ビットコインの鍵とアドレスの関係 秘密鍵 公開鍵 アドレス ‑ ‑ ੜͰ͖Δ ੜͰ͖Δ
ビットコインの鍵とアドレスの関係 秘密鍵 公開鍵 アドレス ‑ ‑ ٯແཧ ٯແཧ
秘密鍵、公開鍵、アドレスの⽣成
今⽇はなすこと 3. ビットコインを送⾦する 1. ビットコインの鍵を⽣成する 2. ビットコインを受けとる 4. ビットコインスクリプトを書いてみる
Walletの設定、残⾼の更新/確認
今⽇はなすこと 3. ビットコインを送⾦する 1. ビットコインの鍵を⽣成する 2. ビットコインを受けとる 4. ビットコインスクリプトを書いてみる
Bitcoinの送⾦
今⽇はなすこと 3. ビットコインを送⾦する 1. ビットコインの鍵を⽣成する 2. ビットコインを受けとる 4. ビットコインスクリプトを書いてみる
Bitcoin Script
BitcoinのScript Lock Script この2つだけ!✌ Unlock Script :コインに錠をかけるための スクリプト :コインの錠を外すための スクリプト
Bitcoinのアンロック 1. Unlock Script を実⾏ 結果、TRUE が返ってくれば そのコインはアンロック成功 ! 2.
Lock Script を実⾏
Bitcoinの所有権 ・所有権は存在しない ・あるのは 鍵 のみ(公開されている) ・もし@usatieにしかアンロックできない錠が あれば、 実質 @usatieが所有していると⾔える
Bitcoinの所有権 ・所有権は存在しない ・あるのは 鍵 のみ(公開されている) ・もし@usatieにしかアンロックできない錠が あれば、 実質 @usatieが所有していると⾔える @usatieにしかアンロックできない錠
Bitcoinの所有権 ・所有権は存在しない ・あるのは 鍵 のみ(公開されている) ・もし@usatieにしかアンロックできない錠が あれば、 実質 @usatieが所有していると⾔える @usatieにしかアンロックできない錠
= 秘密鍵と公開鍵で実現できる !!
コインの送⾦ @Yenomに送⾦する場合 あるコインに 「@Yenom にしか開けられない錠 」 をセット
Bitcoinはスタックマシン (Ethereumもそうです)
スタックマシンとは 1. 左から順番にコードを実⾏する 2 3 5 add
スタックマシンとは 2. スタックに値を⼊れたり出したりする 2 3 2 3 2
Ex. 2 3 5 Add 2 3 2 5 Add
Ex. 2 3 5 Add 2 3 2 3 2
5 Add
Ex. 2 3 5 Add 2 3 2 3 2
5 5 3 2 Add
Ex. 2 3 5 Add 2 3 2 3 2
5 5 3 2 Add 8 2
Ex. 3 20 8 Add 3 8 20 3 28
3 Mul 84 Mul 20 8 Add
Bitcoinのアンロック 1. Unlock Script を実⾏ 結果、TRUE が返ってくれば そのコインはアンロック成功 ! 2.
Lock Script を実⾏
Bitcoinのアンロック 1. Unlock Script を実⾏ 結果、TRUE が返ってくれば そのコインはアンロック成功 ! 2.
Lock Script を実⾏ TRUE が返ってくれば
Bitcoinのアンロック 1. Unlock Script を実⾏ 結果、TRUE が返ってくれば そのコインはアンロック成功 ! 2.
Lock Script を実⾏ TRUE が返ってくれば スタックの最後に 残っている値が TRUE であれば =
おさらい Unlock Script Lock Script スタックに TRUE が残ればコインの解錠成功! 次は具体例へ! ①
② の順に実⾏し、
5 Unlock Script 2 Lock Script 3 Add Equal 5
3 5 3 2 5 5 5 TRUE 2 Add Equal ① ②
5 Unlock Script 2 Lock Script 3 Add Equal ①
②
Scriptの実⾏
None
# ビットコインしろ
9/22 - 9/23 @渋⾕
# Congrats! " :yusho:
ありがとうございました。 ハッカソンの申し込みはこちらから!