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
怖いスマートコントラクト
Search
wshino
November 27, 2017
Programming
0
180
怖いスマートコントラクト
2017/11/20 DMM.com labo で発表した内容です。
The DAO事件、ParityのMulti-Sig Walletのバグによる、盗難、凍結について解説しています。
wshino
November 27, 2017
Tweet
Share
More Decks by wshino
See All by wshino
Past, Present and Future
wshino
1
430
libp2p
wshino
7
1.2k
Superiority of Rust
wshino
3
350
Try Cross Compile Then Fail
wshino
0
140
GORMOS - A high performance and scalable design for decentralized applications -
wshino
4
1.8k
DAppのデプロイ戦略 / DApp Deployment Strategy
wshino
3
1.7k
Sharding
wshino
4
1.1k
Plasma Debit
wshino
2
1.9k
ブロックチェーン技術の登場とスマートコントラクト化する社会
wshino
5
5.3k
Other Decks in Programming
See All in Programming
Practical Domain-Driven Design - Workshop at NDC 2025
mufrid
0
130
RubyKaigi Hack Space in Tokyo & 函館最速 "予習" 会 / RubyKaigi Hack Space in Tokyo & The Fastest Briefing of RubyKaigi 2026 in Hakodate
moznion
1
130
MLOps Japan 勉強会 #52 - 特徴量を言語を越えて一貫して管理する, 『特徴量ドリブン』な MLOps の実現への試み
taniiicom
2
570
PT AI без купюр
v0lka
0
200
抽象データ型について学んだ
ryounasso
0
210
Use Perl as Better Shell Script
karupanerura
0
660
コンポーネントライブラリで実現する、アクセシビリティの正しい実装パターン
schktjm
1
670
TypeScript を活かしてデザインシステム MCP を作る / #tskaigi_after_night
izumin5210
4
480
Javaに鉄道指向プログラミング (Railway Oriented Pro gramming) のエッセンスを取り入れる/Bringing the Essence of Railway-Oriented Programming to Java
cocet33000
1
190
バランスを見極めよう!実装の意味を明示するための型定義 TSKaigi 2025 Day2 (5/24)
whatasoda
2
780
マテリアルって何者?RealityKitで扱うマテリアル入門
nao_randd
0
140
tsconfigのオプションで変わる型世界
keisukeikeda
1
130
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
How GitHub (no longer) Works
holman
314
140k
Optimizing for Happiness
mojombo
378
70k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
Gamification - CAS2011
davidbonilla
81
5.3k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.4k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
106
19k
Building a Modern Day E-commerce SEO Strategy
aleyda
40
7.3k
Being A Developer After 40
akosma
91
590k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
14
1.5k
Transcript
BEERBASH 2017/11/20 ා͍εϚʔτίϯτϥΫτ SHINOHARA WATARU
ࢲ Ϗοάσʔλ෦ ϨίϝϯυνʔϜ Kubernetes Spinnaker Istio Scala / Haskell /
PureScript / Golang Blockchain, Ethereum
ETHEREUM ࢄΞϓϦέʔγϣϯͷϓϥοτϑΥʔϜ ϏοτίΠϯͷ࣍ʹن͕େ͖͍ εϚʔτίϯτϥΫτΛಈ͔ͤΔ
εϚʔτίϯτϥΫτ ࣗಈܖ EthereumͰಈ࡞͢ΔϓϩάϥϜ ૹۚͦΕҎ֎ͳΜͰͰ͖Δ
࡞Γํ ϓϩάϥϜΛॻ͘ ϒϩοΫνΣʔϯʹσϓϩΠ͢Δ ☺
ར νϡʔϦϯάશ ঢ়ଶΛ࣋ͭ͜ͱ͕Ͱ͖Δ ࣗ༝͕ߴ͍
ࢭΊΔΈΛೖΕͳ͍ͱࢭΊΒΕͳ͍ ফ͢Α͏ʹ࡞Βͳ͍ͱফͤͳ͍ σϓϩΠͨ͠ΒมߋͰ͖ͳ͍ ͦͷίʔυɺਖ਼͘͠ಈ͖·͔͢
τϨʔυΦϑ ࣗ༝⤴ όάͷةݥੑ⤴
ຊʹ͋ͬͨා͍ The DAOࣄ݅ 2017 Parityͷόά⛱ 2017 Parityͷόά⛄
THE DAO The DAO = ΫϥυϑΝϯσΟϯάΈ͍ͨͳͭ ඇதԝूݖ 20166݄17 52ԯԁͷඃ
THE DAO #1 splitDAO DAOʹࢍಉ͠ͳ͍߹ʹɺ৽͍͠DAOΛ࡞͢ΔػೳΛ ར༻ DAOͷߴ % DAOͷࣗͷߴ &
৽͍͠DAOͷߴ ' ૹۚॲཧΛߦͬͯྃͨ͠Β&ͷߴΛ0ʹ͢Δ ( % → ( → ) & → ( → '
THE DAO #2 withdrawRewardFor splitDAOͷதͰݺͼग़͞ΕΔ &ͷߴΛDAOຊମ%͔Β'ʹ1͚ͩૹۚ͢Δ લड़ͷॲཧΛ࠶ؼͰݺͼग़ͤΔόά ߴݮ͍ͬͯͳ͍ % →
( → ' ɹ% → ( → ' ίϛϡχςΟޙͰ࣏͢͜ͱʹͨ͠
THE DAO Կ͕ى͖͔ͨ % → ( → ' ɹ% →
( → ' ɹɹ% → ( → ' ɹɹɹ% → ( → ' ɹɹɹɹ% → ( → ' ɹɹɹɹɹ% → ( → ' ... % % → (&( &() * 30 → ' '
THE DAO Ͳ͏ͬͯղܾ͔ͨ͠ ৽͘͠࡞ͨ͠DAOͷࢿۚ27ؒಈ͔ͤͳ͍ ߈ܸ͞Εͨྺ࢙Λר͖ͯ͠ແ͔ͬͨ͜ͱʹͨ͠ EthereumͷίϛϡχςΟ͕྾ͨ͠ ) → Ethereum *
→ Ethereum Classic
2017 PARITYͷόά⛱ ϚϧνγάΥϨοτʹෆ۩߹ αʔυύʔςΟͷParity͕։ൃ ΥϨοτͷॳظԽϝιου͕ݺΔ Φʔφʔݖݶ͕ୣΘΕΔ ߈ܸΞΧϯτʹΥϨοτͷશֹΛૹۚ 34ԯԁͷඃ
2017 PARITYͷόά⛱ Ͳ͏ͬͯղܾ͔ͨ͠ ղܾͤͣ 80ԯԁϗϫΠτϋοΧʔ͕อޢ
2017 PARITYͷόά⛄ ϚϧνγάΥϨοτʹෆ۩߹ ར༻͍ͯ͠ΔϥΠϒϥϦ͕ॳظԽ͞Ε͍ͯͳ͍ ॳظԽ͞Ε͍ͯͳ͍ͱॳظԽϝιου͕ݺΔ ϥΠϒϥϦͷΦʔφʔݖݶ͕ୣΘΕΔ ϥΠϒϥϦͷআϝιου͕͋Δɺ͔ͭݺΔ ΥϨοτ͕ͯ͑͢ͳ͘ͳͬͨ 300ԯԁౚ݁
2017 PARITYͷόά⛄ DEVOPS199
2017 PARITYͷόά⛄ DEVOPS199
2017 PARITYͷόά⛄ Ͳ͏ͬͯղܾ͔ͨ͠ ղܾࡦࡧத ౚ݁ͨ͠ࢿۚաڈͷऔҾ͔ΒΘ͔Δ Ϣʔβʔʹฦ࣮͢ͳͲ͕ఏҊ͞Ε͍ͯΔ
·ͱΊ Ethereumѱ͘ͳ͍ ͱ͍͑ϓϩάϥϜʹόά͖ͭͷ ςετϑϨʔϜϫʔΫΛ͏
·ͱΊ ϢʔβʔརӹΛ࠷༏ઌʹߟ͑Δ ·ͩφϨοδ͕ཷ·ͬͯͳ͍ ΊͬͪΌςετ͠Α͏