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
400
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
1k
Plasma Debit
wshino
2
1.9k
ブロックチェーン技術の登場とスマートコントラクト化する社会
wshino
5
5.2k
Other Decks in Programming
See All in Programming
毎日13時間もかかるバッチ処理をたった3日で60%短縮するためにやったこと
sho_ssk_
1
550
Оптимизируем производительность блока Казначейство
lamodatech
0
950
CQRS+ES の力を使って効果を感じる / Feel the effects of using the power of CQRS+ES
seike460
PRO
0
240
責務を分離するための例外設計 - PHPカンファレンス 2024
kajitack
9
2.4k
ecspresso, ecschedule, lambroll を PipeCDプラグインとして動かしてみた (プロトタイプ) / Running ecspresso, ecschedule, and lambroll as PipeCD Plugins (prototype)
tkikuc
2
1.9k
PHPで作るWebSocketサーバー ~リアクティブなアプリケーションを知るために~ / WebSocket Server in PHP - To know reactive applications
seike460
PRO
2
770
HTML/CSS超絶浅い説明
yuki0329
0
190
KMP와 kotlinx.rpc로 서버와 클라이언트 동기화
kwakeuijin
0
300
shadcn/uiを使ってReactでの開発を加速させよう!
lef237
0
300
PHPで学ぶプログラミングの教訓 / Lessons in Programming Learned through PHP
nrslib
4
1.1k
GitHub CopilotでTypeScriptの コード生成するワザップ
starfish719
26
6k
AppRouterを用いた大規模サービス開発におけるディレクトリ構成の変遷と問題点
eiganken
1
450
Featured
See All Featured
Facilitating Awesome Meetings
lara
51
6.2k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
The Language of Interfaces
destraynor
155
24k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
192
16k
Site-Speed That Sticks
csswizardry
3
270
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.9k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
230
52k
The Invisible Side of Design
smashingmag
299
50k
Writing Fast Ruby
sferik
628
61k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.2k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
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ѱ͘ͳ͍ ͱ͍͑ϓϩάϥϜʹόά͖ͭͷ ςετϑϨʔϜϫʔΫΛ͏
·ͱΊ ϢʔβʔརӹΛ࠷༏ઌʹߟ͑Δ ·ͩφϨοδ͕ཷ·ͬͯͳ͍ ΊͬͪΌςετ͠Α͏