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
SwiftでBitcoinのscriptを書いてみよう
Search
Shun Usami
September 18, 2018
Programming
2
310
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
7.8k
Bitcoin Basic OP_CODEs
usatie
1
270
CustomCellのためのProtocol
usatie
0
460
Other Decks in Programming
See All in Programming
大規模Reactアプリのリアーキテクチャ~8万行のTanStack Query移行の軌跡~
kj455
3
770
From Spring Boot 2 to Spring Boot 3 with Java 21 and Jakarta EE
ivargrimstad
0
1.1k
Javaエンジニアのための Nodejs/Nuxt3入門
hidekatsu_izuno
0
280
受託開発でGitLab CI を活用していく
xiombatsg
1
270
"config" ってなんだ? / What is "config"?
okashoi
0
220
Zero Waste, Radical Magic, and Italian Graft – Quarkus Efficiency Secrets
hollycummins
0
220
データアナリストが行うDatabricksを活用したETLの自動化事例
shinoa
0
250
Ruby製社内ツールのGo移行
bgpat
2
330
try! Swift Tokyo 2024のLT枠に採択されたプロポーザルを出すときに考えていたこと
ski
0
340
PHP8.3の機能を振り返る / Review of PHP 8.3 features
seike460
PRO
1
110
ADRを一年運用してみた/adr_after_a_year
hanhan1978
7
2.2k
OpenAPIを中心に考えるAPI開発入門 / Introduction to API Development with a Focus on OpenAPI
seike460
PRO
2
120
Featured
See All Featured
Visualization
eitanlees
135
14k
Teambox: Starting and Learning
jrom
128
8.4k
The Art of Programming - Codeland 2020
erikaheidi
41
12k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
186
16k
Code Reviewing Like a Champion
maltzj
513
39k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3k
Six Lessons from altMBA
skipperchong
20
3k
Web Components: a chance to create the future
zenorocha
305
41k
How to train your dragon (web standard)
notwaldorf
72
5.1k
Rails Girls Zürich Keynote
gr2m
91
13k
The Language of Interfaces
destraynor
151
23k
StorybookのUI Testing Handbookを読んだ
zakiyama
11
4.6k
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:
ありがとうございました。 ハッカソンの申し込みはこちらから!