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
shigeyuki azuchi
August 24, 2021
Technology
59
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
フィー・スナイピングとその対策
GBECの解説動画の資料です:
https://goblockchain.network/2021/08/fee-sniping/
shigeyuki azuchi
August 24, 2021
More Decks by shigeyuki azuchi
See All by shigeyuki azuchi
FORS
azuchi
0
4
クラスターmempool
azuchi
0
30
W-OTS+
azuchi
0
32
Shorのアルゴリズム
azuchi
0
55
DahLIAS: Discrete Logarithm-Based Interactive Aggregate Signatures
azuchi
0
41
Fiat-Shamir変換と注意点
azuchi
0
220
AssumeUTXOを利用したブロックチェーンの同期
azuchi
0
54
BIP-374 離散対数の等価性証明
azuchi
0
71
BIP-353 DNS Payment Instructions
azuchi
0
86
Other Decks in Technology
See All in Technology
Socrates × Looker 〜セマンティックレイヤーで進化するデータ分析エージェント〜
hanon52_
3
2.4k
非エンジニアがClaudeと挑んだ「1ヶ月間プロダクト30本ノック」
askokc
0
610
AIっぽい文章を採点して人間らしく直すアプリを作ってみた
yama3133
2
200
SONiCの統計情報を取得したい
sonic
0
190
日本 Fintech 未来予測レポート 2027〜2028年(手動編集版)
8maki
0
2.4k
AI駆動開発を通して感じた、 AI時代のデザイナーの役割変化
whisaiyo
3
2.2k
SONiCのLinuxベースを活かしたZabbix監視
sonic
0
190
2026TECHFRESH畢業分享會 - Lightning Talk - 資料也要 CI/CD? 用 Airbyte 自動化資料同步
line_developers_tw
PRO
0
1.1k
SONiCで構築・運用する生成AI向けパブリッククラウドネットワーク ~実装編~
sonic
0
240
連合学習と機密コンピューティング
lycorptech_jp
PRO
0
120
2026 TECHFRESH 畢業分享會 - AI-Native 重塑軟體工程與虛擬講師
line_developers_tw
PRO
0
1.2k
白金鉱業Meetup_Vol.24_「AIエージェントは分けるほど良い」は本当か? / Is it true that “the more you divide AI agents, the better”?
brainpadpr
1
400
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
What's in a price? How to price your products and services
michaelherold
247
13k
How to Talk to Developers About Accessibility
jct
2
230
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
200
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.3k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
200
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
290
Un-Boring Meetings
codingconduct
0
310
Transcript
フィー・スナイピングとその対策
1 フィー・スナイピングとは? マイナーが意図的に過去のブロックをマイニングして、 該当ブロックをマイニングした別のマイナーの手数料を奪うこと • 一見ムダにみえるような攻撃のように思えるけど? ◦ ブロックをマイニングすると、マイナーは 6.25
BTCの報酬(2021年7月現在)と ブロック内のトランザクションの手数料を報酬として受け取る。 ◦ マイニング報酬は約4年に一度、半減する(半減期)。 ◦ 将来的に報酬で手数料の占める割合が増した場合、 過去のブロックのトランザクションが、現在mempoolにある トランザクションよりも大幅に高い手数料を払っている場合、 過去ブロックを再マイニングするインセンティブが発生する。
2 緩和策 nLocktimeを利用したトランザクションの再配置の防止 Tx Version Inputs Outputs nLocktime 【nLocktimeの仕様】 •
インプットのnSequenceが最大値(0xffffffff)でない場合 nLocktimeの制限が有効になる。 • nLocktimeにはトランザクションをブロックに 格納できる最小時間を設定する。 最小時間より前のブロックには格納できない。 ◦ nLocktime < 500,000,000の場合は、ブロック高として解釈 ◦ それ以上の場合は、UNIXタイムスタンプとして解釈 ウォレットがトランザクション作成時に現在のブロック高を設定することで、 フィースナイピングによりトランザクションを過去ブロックに 再配置できないようにする。
3 nSequenceの使用へ Tx Version Inputs Outputs nLocktime TxIn OutPoint scriptSig
nSequence 【nSequenceの仕様】 • nLocktimeが絶対時間によるタイムロックの 仕組みなのに対し、nSequenceは相対時間による タイムロックを提供する • OutPointで参照するUTXOが、ブロックに 格納されてから設定した期間、トランザクションを ブロックに格納できなくなる。 • nSequenceの下位16 bitでロック期間を設定 (ブロック高 or 時間:23bit めがタイプフラグ) ウォレットがトランザクション作成時に、インプットが参照するUTXOのブロック高と 現在のブロック高の差分のブロック数をnSequenceに設定することで、 nLocktimeと同様の対策が可能。 nSequenceを利用する他のコントラクト・プロトコルとの違いをなくすことで、 プライバシーの向上を狙う。
4 宣伝 ブロックチェーン技術概論 理論と実践(2021年、講談社) https://www.amazon.co.jp/dp/406524093X 1. ブロックチェーン技術の原点 2. ブロックチェーンの概要
3. スマートコントラクトと分散台帳 4. ブロックチェーンを構成する暗号技術の基礎 5. ビットコインのシステム構成と仕組み 6. ビットコインの仕組みの詳細 7. P2Pネットワーク 8. さまざまなノード実装 9. トークンの表現と利用 10. ブロックチェーンのスケーラビリティ 11. 暗号技術とスマートコントラクト 12. ブロックチェーンと匿名化技術 13. ブロックチェーンを利用したシステム構成 14. ブロックチェーン特有のリスク 15. ブロックチェーンのビジネスへの導入