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
TPS&51%Attack
Search
Taiki
June 30, 2018
Research
480
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
TPS&51%Attack
Taiki
June 30, 2018
More Decks by Taiki
See All by Taiki
Blenderで作るCG VR
r_etx
1
86
Slush✖️Privacy
r_etx
0
120
WeArelookingForYou.pdf
r_etx
1
720
Zk-SNRAKS1~4
r_etx
0
49
hakone_hackthon
r_etx
0
96
Dynamics of Blockchain
r_etx
1
72
Lightning network
r_etx
0
110
BancorProtocol
r_etx
4
760
GHZstate
r_etx
0
60
Other Decks in Research
See All in Research
超効率化への挑戦:1bit LLMの現状と展望
yumaichikawa
0
680
GLIM とMegaParticles:正規分布近似の限界とタイトカップリング&パーティクルフィルタの進展 / GLIM and MegaParticles : Progress of the distribution representation in SLAM
koide3
0
810
敵対生成プロンプト同時探索による内省型プロンプト最適化
kinoue_smarthr
0
410
[最先端NLP勉強会2026] Agentic Rubrics as Contextual Verifiers for SWE Agents
rfujii
1
340
HackSick vol.7 LT資料【LLMアーキテクチャ入門・事前学習時の躓き所解説】 スパースなAttention・状態空間モデル
rikkabotan7
0
170
某助成金プロジェクト採択に向けて企業研究所のアウトリーチ専任者がやったこと
afroscript
0
180
LINEヤフー データサイエンス Meetup「三井物産コモディティ予測チャレンジ」の舞台裏-AlpacaTechパート
gamella
1
650
Data Visualization Tools in the Age of AI
flekschas
0
200
Sleuthcon Keynote - How Cybercriminals (ab)use AI
fr0gger
0
320
PHTalks Bengaluru - SSRF When All Else Fails
dk999
0
1.1k
研究室単位での自律的 IPv6接続性確立に向けたAS共同運用モデルの提案と実証
reokashiwa
PRO
0
210
最先端NLP 2026 論文紹介: Wait, Wait, Wait... Why Do Reasoning Models Loop? / SNLP Paper Review: Wait, Wait, Wait... Why Do Reasoning Models Loop?
tkng
0
210
Featured
See All Featured
Facilitating Awesome Meetings
lara
57
7.1k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Git: the NoSQL Database
bkeepers
PRO
432
67k
The agentic SEO stack - context over prompts
schlessera
0
900
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
440
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
380
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
260
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.5k
Statistics for Hackers
jakevdp
799
230k
Abbi's Birthday
coloredviolet
3
9.8k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
720
Transcript
ABOUT TPS & 51% ATTACK CRYPGEEK 30/6/2018 Blockchainษڧձ #10 @r_etx
Proof of WorkͷΈͰɺTPSΛ͍࣋ͬͨ͋͛ͨ
TPSͱɺ
transaction per secͷུͰɺҰඵؒ͋ͨΓʹ͚͞Δ transactionͷྔΛද͢ɻ TPS͕খ͍͞ͱtransaction͕٧·ͬͯঝೝʹ͕͔͔࣌ؒΔɻ VISA 2000TPS( daily peak rate
of 4000 TPS) Pay Pal 115TPS so let’s take 4000 TPS as starting goal!!
transaction per secͷུͰɺҰඵؒ͋ͨΓʹ͚͞Δ transactionͷྔΛද͢ɻ TPS͕খ͍͞ͱtransaction͕٧·ͬͯঝೝʹ͕͔͔࣌ؒΔɻ VISA 2000TPS( daily peak rate
of 4000 TPS) Pay Pal 115TPS BTC 7TPS
transaction per secͷུͰɺҰඵؒ͋ͨΓʹ͚͞Δ transactionͷྔΛද͢ɻ TPS͕খ͍͞ͱtransaction͕٧·ͬͯঝೝʹ͕͔͔࣌ؒΔɻ more over Online game 100000TPS
transaction per secͷུͰɺҰඵؒ͋ͨΓʹ͚͞Δ transactionͷྔΛද͢ɻ TPS͕খ͍͞ͱtransaction͕٧·ͬͯঝೝʹ͕͔͔࣌ؒΔɻ Ωπ͍͡ΌΜ!
Proof of WorkͷΈͰɺTPSΛ͍࣋ͬͨ͋͛ͨ
TPSͷఆࣜԽ TPS(λ, b) = β(λ, b) ⋅ b ⋅ K
K ; 1KB͋ͨΓͷτϥϯβΫΫγϣϯ β ;ϒϩοΫ͕ϝΠϯνΣʔϯʹՃ͞ΕΔׂ߹ b ; ϒϩοΫͷ࠷େऩ༰αΠζ(KB)
TPS(λ, b) = β(λ, b) ⋅ b ⋅ K ҰඵؒͰ͑ΔKB
1/KB ͋ͨΓͷTx K ; 1KB͋ͨΓͷτϥϯβΫΫγϣϯ β ;ϒϩοΫ͕ϝΠϯνΣʔϯʹՃ͞ΕΔׂ߹ b ; ϒϩοΫͷ࠷େऩ༰αΠζ(KB) TPSͷఆࣜԽ
TPS(λ, b) = β(λ, b) ⋅ b ⋅ K ҰඵؒͰ͑ΔKB
1/KB ͋ͨΓͷTx TPSͷఆࣜԽ β ɺɹ ͷؔɻ ͱɹ ͷҧ͍? β λ λ
ωοτϫʔΫͰ৽͍͠Block͕ੜ͞ΕΔ·Ͱ ฏۉ10(=600[s])ʹͳΔΑ͏ʹઃఆ͞Ε͍ͯΔɻ λ ; Block Treeʹblock͕Ճ͞ΕΔׂ߹ ϒϩοΫ͕ٿ্Ͱڞ༗͞ΕΔͷʹ͔͔Δ࣌ؒΑΓ ৽͍͠Block͕ੜ͞ΕΔ·Ͱͷ͔͔Δ ฏۉͷ͕࣌ؒ͘ͳΔΑ͏ʹઃఆ͞Ε͍ͯΔɻ BitcoinͰɺ
λ = 1 600
ωοτϫʔΫͰ৽͍͠Block͕ੜ͞ΕΔ·Ͱ ฏۉ10(=600[s])ʹͳΔΑ͏ʹઃఆ͞Ε͍ͯΔɻ λ = 1 600 β ;ϒϩοΫ͕ϝΠϯνΣʔϯʹՃ͞ΕΔׂ߹ (Networkʹ͓͚ΔԆForkΛߟྀ͍ͯ͠Δ) λ
; Block Treeʹblock͕Ճ͞ΕΔׂ߹
ωοτϫʔΫͰ৽͍͠Block͕ੜ͞ΕΔ·Ͱ ฏۉ10(=600[s])ʹͳΔΑ͏ʹઃఆ͞Ε͍ͯΔɻ λ ; Block Treeʹblock͕Ճ͞ΕΔׂ߹ BitcoinͰɺ λ = 1
600 β ;ϒϩοΫ͕ϝΠϯνΣʔϯʹՃ͞ΕΔׂ߹ (NetworkͰͷԆؚΜͰ͍Δ) β(λ, b)
0OFNPSF
Topology of network
Topology of network ࠓճߟ͑ͳ͍ɻ
TPSͷఆࣜԽ TPS(λ, b) = β(λ, b) ⋅ b ⋅ K
TPSΛ૿͔ͨͬͨ͠Βɺࡾͭͷํ๏͕͋Δ ҰඵؒͰ͑ΔKB 1/KB ͋ͨΓͷTx K ; 1KB͋ͨΓͷτϥϯβΫΫγϣϯΛ૿͢ β ;ϒϩοΫ͕ϝΠϯνΣʔϯʹՃ͞ΕΔׂ߹Λ૿͢ b ; ϒϩοΫͷ࠷େऩ༰αΠζ(KB)Λ૿͢
Txͷ༰ྔΛখ͘͢͞Δɻ SegwitͳͲ K ; 1KB͋ͨΓͷτϥϯβΫΫγϣϯΛ૿͢ β ;ϒϩοΫ͕ϝΠϯνΣʔϯʹՃ͞ΕΔׂ߹Λ૿͢ b ; ϒϩοΫͷ࠷େऩ༰αΠζ(KB)Λ૿͢
Big Block Bitcoin CashͳͲͰ࠾༻ K ; 1KB͋ͨΓͷτϥϯβΫΫγϣϯΛ૿͢ β ;ϒϩοΫ͕ϝΠϯνΣʔϯʹՃ͞ΕΔׂ߹Λ૿͢ b
; ϒϩοΫͷ࠷େऩ༰αΠζ(KB)Λ૿͢
10ؒʹҰͰͳ͘ɺ ͬͱ͍࣌ؒʹBlock͕ੜ͞ΕΔΑ͏ʹ͢Δ K ; 1KB͋ͨΓͷτϥϯβΫΫγϣϯΛ૿͢ β ;ϒϩοΫ͕ϝΠϯνΣʔϯʹՃ͞ΕΔׂ߹Λ૿͢ b ; ϒϩοΫͷ࠷େऩ༰αΠζ(KB)Λ૿͢
K ; 1KB͋ͨΓͷτϥϯβΫΫγϣϯΛ૿͢ β ;ϒϩοΫ͕ϝΠϯνΣʔϯʹՃ͞ΕΔׂ߹Λ૿͢ b ; ϒϩοΫͷ࠷େऩ༰αΠζ(KB)Λ૿͢ 5ISPVHIQVU 514
#MPDLTJ[F C #MPDLSBUF Е 'PSLJO #MPDL5SFF 4FDVSJUZ ЌЕ
K ; 1KB͋ͨΓͷτϥϯβΫΫγϣϯΛ૿͢ β ;ϒϩοΫ͕ϝΠϯνΣʔϯʹՃ͞ΕΔׂ߹Λ૿͢ b ; ϒϩοΫͷ࠷େऩ༰αΠζ(KB)Λ૿͢ ͲͪΒͷ߹ɺϑΥʔΫ͕ى͖͘͢ͳΓ ҆શੑ͕Լ͢Δɻ(51%
Atttackʹऑ͘ͳΔ)
51% Attack
Security Attacker͕ɺHonest nodeͷ computational power ͷ q ͷׂ߹ʹ૬͢Δcomputational power Λ͍࣋ͬͯΔͱ͢Δɻ
λh β(λh , b) > qλh AttackerͷBlock Creation rate honest nodeͷmain chain creation rate Ͱ͋Ε҆શɻ
Larger Blocks Blockͷେ͖͕͞૿͑Δͱɺάϥϑʹࣔ͢Α͏ʹɺ Ԇ͕࣌ؒ૿Ճ͢ΔɻͦͷͨΊɺ৽͍͠Bock͕ੜ͞Εͨnode ͔ΒΕͨnodeͷup date͕͘ͳΔɻ β(λh , b) >
qλh Easy to attack β become smaller
Acceleration Block Creation Blockͷੜ͕༰қʹͳΓɺ৽͘͠ݟ͔ͭͬͨBlock͕ ൖͯ͘͠ΔΑΓલʹɺઌʹࣗͷnodeͰBlock͕ੜ͞ΕΔ Honest nodeඇޮʹɺAttackerޮతʹϚΠχϯάͰ͖Δ β(λh , b)
> qλh Easy to attack qλh become bigger
Using a GHOST GHOSTΛ༻͍Δ͜ͱʹΑͬͯɺForkͷͨ͠ ແବʹͳΒͣSecurityʹߟྀ͞ΕΔɻ β(λh , b) > qλh
λh > qλh
Using a GHOST β(λh , b) > qλh λh >
qλh 1 > q GHOSTΛ༻͍Δ͜ͱʹΑͬͯɺForkͷͨ͠ ແବʹͳΒͣSecurityʹߟྀ͞ΕΔɻHonest node ͱಉ͡ computational power ͕ͳ͍ͱ߈ܸ͕ޭ͠ͳ͍!!
Using a GHOST β(λh , b) > qλh λh >
qλh 1 > q Block creation rateΛ͋͛ΒΕΔɻ Block sizeΛ͋͛ΒΕΔɻ
͓·͚
BobɺAlice͔Β͓ՖΛങͬͯࢧ͓ͬͨۚΛୣ͍͍ͨɻ ͋Δ࣌ࠁtʹൃߦͨ͠txʹରͯ͠ɺTඵਐΜͩ࣌ࠁt+Tʹɺͦͷtxؚ͕·ΕΔ ϒϩοΫ͔Β͞Βʹ3ݸͷϒϩοΫ͕ঝೝ͞ΕͨͷΛ֬ೝ͠ɺAliceɺBobʹ ͓ՖΛൃૹͨ͠ɻ ͜ͷঢ়گͰɺAlice͕Bob͔Βٗʹ߹͏֬ΛٻΊΑɻ ͨͩ͠ɺBobminerͰcomputational powerΛ 100͍࣋ͬͯΔɻ ͦΕҎ֎ͷਖ਼ͳminer͕͍࣋ͬͯΔ Computational
power ͕ 300Ͱ͋Δͱ͢Δɻ
લఏʀ"UUBDLFS"MJDF͕ՖΛૹΔ·ͰӅΕͯ#MPDLΛੜ͢Δɻ BUUBDLFSͷDPNQVUBUJPOBMQPXFSɺIPOFTUOPEFͷ )POFTUOPEFɺ"MJDF͕ՖΛૹΔ·Ͱʹ#MPDLੜͨ͠ɻ ͜ͷͱ͖ɺ"UUBDLFSOPEFͰɺ"MJDF͕ՖΛૹΔ·ͰʹLCMPDLੜ͢Δ֬ɺ QPJTTPOͰܭࢉͰ͖ͯɺ P(k) = λke−λ k! ͜͜Ͱɺ"UUBDLFSͰͷ#MPDLੜͷׂ߹ͷฏۉɹɹɺ
λ λ = 3 × 1 3 = 1
Lͷ߹ɺӅΕͯੜ͍ͯͨ͠#MPDL͕NBJODIBJOͱͯ͠࠾༻͞ΕΔɻ ҰํɺӅΕͯੜ͍ͯͨ͠DIBJO͕Lͷ࣌ɺ͞Βʹ#MPDLੜ͕ඞཁɻ ͕ͨͬͯ͠ɺ߈ܸ͕ޭ͢Δ֬ɺ P = ∞ ∑ k=0 λke−λ k!
× ( 1 3 ) 3−k JGL JGL 1 = 0.19597 Ͱޭ͢Δɻ ݁ߏͰ͔͍ "UUBDLFSɺ͜ͷ߈ܸͰಘΒΕΔϝϦοτͱ௨ৗͷOPEFͱͯ͠ NJOJOHใुͷϝϦοτΛൺֱͯ͠߹ཧతͳஅΛ͢Δɻ
BobɺAlice͔Β͓ՖΛങͬͯࢧ͓ͬͨۚΛୣ͍͍ͨɻ ͋Δ࣌ࠁtʹൃߦͨ͠txʹରͯ͠ɺTඵਐΜͩ࣌ࠁt+Tʹɺͦͷtxؚ͕·ΕΔ ϒϩοΫ͔Β͞Βʹ3ݸͷϒϩοΫ͕ঝೝ͞ΕͨͷΛ֬ೝ͠ɺAliceɺBobʹ ͓ՖΛൃૹͨ͠ɻ ͜ͷঢ়گͰɺAlice͕Bob͔Βٗʹ߹͏֬ΛٻΊΑɻ ͨͩ͠ɺBobminerͰcomputational powerΛ 100͍࣋ͬͯΔɻ ͦΕҎ֎ͷਖ਼ͳminer͕͍࣋ͬͯΔ Computational
power ͕ 300Ͱ͋Δͱ͢Δɻ
https://eprint.iacr.org/2013/881.pdf Reference https://bitcoin.org/bitcoin.pdf [1] [2]