Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Bitcoinにおける手数料の考え方
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Yuki Akiyama
April 11, 2017
Technology
1.2k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Bitcoinにおける手数料の考え方
Bitcoinにおける手数料の考え方
Yuki Akiyama
April 11, 2017
More Decks by Yuki Akiyama
See All by Yuki Akiyama
ビットコインを支えるインフラについて
you21979
3
3.9k
Rippleアドレスについて
you21979
0
2.1k
トレーディングボットとは
you21979
0
440
Bitcoin x Javascript
you21979
1
440
Other Decks in Technology
See All in Technology
2026-09-18 gotanda.sre Terraformで複数環境作ったり、複数Stateに分割したりそれとTerragrunt / Terraform multi envs and multi states
masasuzu
1
400
[2026-09-11]SREは誰のもの?運用エンジニアが始める 「SRE領域への越境」とチームの進化の軌跡 〜Road to NEXT CRE
tosite
0
280
AIを活用するために決めた "やらないこと" - 価値に注目する / Not betting on AI
soudai
PRO
1
530
Genieを崇めよ
kameitomohiro
0
140
データ界隈LT祭 第1回LT登壇
taromatsui_cccmkhd
1
1.4k
事業課題から技術的負債に向き合う
sansantech
PRO
2
1.9k
HRC_Frontend_Conference_Fukuoka_2026.pdf
ts020
0
730
積み重なった技術負債への挑戦 〜初手としての全社ゴト化〜
techtekt
PRO
0
1.2k
絵ではじめるKubernetesセキュリティ
aoi1
3
600
Screen Lens - 今見てる画面を翻訳する
komagata
0
310
目の前の楽しいが人生を変える - コミュニティの螺旋の歩き方と楽しむコツ / change your life
soudai
PRO
4
620
AI 時代のスタートアップエコシステ厶から考究する技術的負債との向き合い方
m3m0r7
PRO
2
2.1k
Featured
See All Featured
A designer walks into a library…
pauljervisheath
211
25k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.9k
Code Review Best Practice
trishagee
74
20k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.8k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
280
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
320
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
280
It's Worth the Effort
3n
188
29k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
420
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
530
Transcript
Bitcoinにおける 手数料の考え方 Yuki Akiyama (@you21979) 2017/04/11 ビットコインとか勉強会#6
自己紹介 @you21979( ゆあ ) https://github.com/you21979 ビットバンクという会社でビットコインのエンジニアをやっています ビットコインの企業向けウォレットなどを作っています 好きな言語はjavascript / node.js
宣伝 ビットバンクではbitbank.ccという仮想通貨取引所を運営しています • BTC/JPYのみですが今後銘柄の追加予定あります! • APIがあるのでトレーディングボットなどを動かせます! • 快適なインターフェイスなので是非試してみてください! https://bitbank.cc
まえおき ビットコイン爆発しちゃうんじゃないですかね(mempoolが) と思えるほど送金トラブルが起きてそうな感じがしています(ちょっと前まで) スケーラビリティについてなかなか進展しないのでその辺を自衛する意味で 手数料に関する知識は重要になってくると思います(特に業者)
ビットコインの手数料とは ・マイナーへの報酬 ・報酬の理由はトランザクションをブロックに取り込んでもらうため ・fee = input_value - output_value ・混雑時の優先度の決定
混雑時の優先度の決定? ・トランザクション ・MEMPOOL ・ブロック
トランザクション ・送金先 ・送金金額 ・おつりの送金先 ・おつりの金額 ・お財布の場所 ・所有者の署名
MEMPOOL ・トランザクションを一時的に保管しておく場所 ・満杯になったらトランザクションは削除される ・追い出されるかどうかはマイニングプールの設定によるのでわからない (デフォルトでは3日に設定、0.14から2週間に伸びた)
ブロック ・トランザクションを入れる箱 ・取り込まれる順番はMEMPOOLにあるトランザクションの手数料が高い順 ・取り込まれなかったトランザクションは次のブロックまで待つ ・ブロックに取り込まれないと送金したことにならない
優先度とは マイナーがブロックを掘り当てた時にMEMPOOLにあるトランザクションから選ぶ基準 この基準はリファレンスモデルとしてbitcoindに定義されているが マイナーが勝手に定義してもよい。合意は必要ない。 普通の市場原理であれば手数料が高いものがマイナーが得をするので選ばれる マイナーと特別な関係があるのなら特定のアドレスからの送金は手数料ゼロで 送ってもそのマイナーが掘り当てれば入れてくれたり何でもできる。
手数料を要約すると ブロックに取り込まれなければ トランザクションが無効になる場合があるので すでにmempoolに並んでいるトランザクションより 高く手数料を支払うことで自分が送ったトランザクションを 早くブロックに取り込んでもらえるように優遇してもらうこと
重要なのは ・手数料の計算方式を知っていること ・今いくらなのか相場を知ること
手数料の計算の都市伝説 手数料体系がビットコインのバージョンによって変わっているので以下は古い情報 ・0.0001btcを指定(キロバイト当たり手数料という概念) ・受け取ってから時間の経過したコインの手数料は無料(コインエイジという概念) (時間経過した大きな額面は無料ー>1000satoshi以下は無料)
手数料の計算 ・1バイト当たりの金額(satoshi per byte) ・手数料レートが存在する ・標準的なトランザクションは226バイト(可変です) ・1バイト当たり50 satoshi/byteとすると ・226 x
50 = 11300 satoshi = 0.000113 btc
手数料レートはどこでわかる? ・MEMPOOLに並んでいるトランザクションの手数料から求める ・手数料レートを公開しているサイトもある ・https://bitcoinfees.21.co/ ・bitcoindのRPCから取得(bitcoin-cli estimatefee)
・この情報の考え方はトレードに おける板情報のようなもの ・下から順番に2000件相当の 成り行き注文が10分に一回来る ・緑は一度で確定する圏内 ・黄土色は数回以内 ・橙色の二段目以降は運がよけ れば送金される
トランザクションサイズとは? お財布の情報と送金先に関する情報 ・5050円支払う場合 ・1000円札を5枚、500円札1枚(input) ・支払う相手は5050円札を一枚受け取る(output) ・自分のおつりは49円札を一枚受け取る(output) ・支払先(output)と札束(input)が多くなるほど情報が膨らむ
トランザクション トランザクションの構造 ・transaction ・Segwit transaction スクリプトの種類(ここでは主流の二つを紹介) ・P2PKH - Pay to
Public Key Hash ・P2SH - Pay to Script Hash(マルチシグに使われる)
トランザクションの構造 ・バージョン情報 ・入力データ(TXID+VOUT+SIGNATURE+etc...) ・出力データ(AMOUNT+SCRIPT_PUBKEY) ・ロックタイム 入力データと出力データ以外は固定サイズです(4+1+1+4=10バイト)
出力データ ・amount (8byte) -> satoshi ・bytesize (1byte) -> locking scriptのバイトサイズ
・locking script (25byte) 1出力 = 34byte (locking scriptとはビットコインのアドレスの元となる20byteハッシュ値とOPCODE)
入力データ P2PKH ・1から始まるアドレス(テストネットではn or m) ・PREVOUT: txid (32byte) vout (4byte)
・SCRIPTSIG : bytesize(1byte) sig(73byte) pubkey(34byte) ・SEQUENCE: (4byte) 1入力 = 148 byte
入力データ P2SH(1of1 multisig) ・3から始まるアドレス(テストネットでは2) ・PREVOUT: txid (32byte) vout (4byte) ・SCRIPTSIG
: bytesize(1byte) OP_0(1byte) sig1(73byte) OP_M(1byte) pubkey1(34byte) OP_N(1byte) CHECKMULTISIG(1byte) ・SEQUENCE:(4byte) 1入力 = 152 byte
入力データ P2SH(2of3 multisig) ・3から始まるアドレス(テストネットでは2) ・PREVOUT: txid (32byte) vout (4byte) ・SCRIPTSIG
: bytesize(3byte) OP_0(1byte) sig1(73byte) sig2(73byte) OP_M(1byte) pubkey1(34byte) pubkey2(34byte) pubkey3(34byte) OP_N(1byte) CHECKMULTISIG(1byte) ・SEQUENCE:(4byte) 1入力 = 295 byte
手数料おさらい ・MEMPOOLにあるトランザクションによって手数料レートが決まる ・手数料相場を参考にする ・積み残しのトランザクションが増えると手数料レートが上がる傾向がある ・価格が上がると手数料レートが上がる傾向がある (1円だったものが1000円になれば1円相当の支払いが1000回できるようになる) (持つ人が増えて取引が活発になる)
トランザクションサイズおさらい ・ビットコインはinputが多いほどinputが大きくなる ・マルチシグは設定した鍵の数、署名の数が多いほどinputが大きくなる ・支払先が多いほどoutputが大きくなる ・inputとoutputの合計がバイトサイズと比例する (inputは手数料が安いときに額面が大きくなるようにまとめたほうが得)
ライブラリの宣伝 npmの宣伝 今日説明したのはjavascriptのライブラリ化しています node.js使いの人は使ってみてください https://www.npmjs.com/package/bitcoin-util-fee https://www.npmjs.com/package/bitcoinfees-insight https://www.npmjs.com/package/bitcoinfees-21co
ご清聴ありがとうございました 質問などあれば