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
190
怖いスマートコントラクト
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
440
libp2p
wshino
7
1.3k
Superiority of Rust
wshino
3
360
Try Cross Compile Then Fail
wshino
0
150
GORMOS - A high performance and scalable design for decentralized applications -
wshino
4
1.8k
DAppのデプロイ戦略 / DApp Deployment Strategy
wshino
3
1.8k
Sharding
wshino
4
1.1k
Plasma Debit
wshino
2
2k
ブロックチェーン技術の登場とスマートコントラクト化する社会
wshino
5
5.3k
Other Decks in Programming
See All in Programming
TransformerからMCPまで(現代AIを理解するための羅針盤)
mickey_kubo
7
5.4k
エンジニアインターン「Treasure」とHonoの2年、そして未来へ / Our Journey with Hono Two Years at Treasure and Beyond
carta_engineering
0
430
CSC305 Lecture 10
javiergs
PRO
0
260
20251016_Rails News ~Rails 8.1の足音を聴く~
morimorihoge
3
740
Vueのバリデーション、結局どれを選べばいい? ― 自作バリデーションの限界と、脱却までの道のり ― / Which Vue Validation Library Should We Really Use? The Limits of Self-Made Validation and How I Finally Moved On
neginasu
2
1.6k
React Nativeならぬ"Vue Native"が実現するかも?_新世代マルチプラットフォーム開発フレームワークのLynxとLynxのVue.js対応を追ってみよう_Vue Lynx
yut0naga1_fa
2
1.5k
Things You Thought You Didn’t Need To Care About That Have a Big Impact On Your Job
hollycummins
0
260
スマホから Youtube Shortsを見られないようにする
lemolatoon
27
34k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
490
NIKKEI Tech Talk#38
cipepser
0
250
他言語経験者が Golangci-lint を最初のコーディングメンターにした話 / How Golangci-lint Became My First Coding Mentor: A Story from a Polyglot Programmer
uma31
0
430
Towards Transactional Buffering of CDC Events @ Flink Forward 2025 Barcelona Spain
hpgrahsl
0
120
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
Become a Pro
speakerdeck
PRO
29
5.6k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Building a Modern Day E-commerce SEO Strategy
aleyda
44
7.8k
Site-Speed That Sticks
csswizardry
13
930
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.1k
YesSQL, Process and Tooling at Scale
rocio
173
15k
Statistics for Hackers
jakevdp
799
220k
The Illustrated Children's Guide to Kubernetes
chrisshort
49
51k
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ѱ͘ͳ͍ ͱ͍͑ϓϩάϥϜʹόά͖ͭͷ ςετϑϨʔϜϫʔΫΛ͏
·ͱΊ ϢʔβʔརӹΛ࠷༏ઌʹߟ͑Δ ·ͩφϨοδ͕ཷ·ͬͯͳ͍ ΊͬͪΌςετ͠Α͏