SlideShare une entreprise Scribd logo
1  sur  17
トランザクションを読み解く
- bitcoin-cliで遊ぼう -
2016-09-20【ビットコインとか勉強会#1】
ceres Inc. 村田智英
村田智英
- ソフトウェアエンジニア(Web系)
- 株式会社セレス所属
@Derorisan
https://www.facebook.com/tomohide.murata.1
Bitcoin界隈は4ヶ月目ぐらいの新参です。
what’s bitcoin
bitcoinで出て来る主なワード
- ノード
- ウォレット
- ブロック
- トランザクション
- ビットコインアドレス
ノード
P2Pネットワークのためサーバ、クライアントという概念がしっくり来ないので、
それぞれのパソコン(サーバでも)がノードとなります。
大まかに下記のノードタイプがあります。
- ウォレット
- マイナー
- フルブロックチェーン
- ルーティングノード
ウォレット
- 日本語でお財布
- 入出金に使用するビットコインアドレスなどを管理しています。
- ノードの機能の一部です。
- bitcoindではBerkeley DB4.8が使用されています。
ブロック
- ブロックチェーンのブロックのこと
- 中身
- ブロックサイズ
- ブロックヘッダ
- トランザクションのデータ
ブロックヘッダにはいわゆるチェーンの肝になる親ブロックのハッシュなどが入
っています。
トランザクション
今回のメインテーマ
誰がどこにいくら送金するかのデータが入っています。
- 入出金履歴そのもの
- インプットとアウトプット(ビットコインアドレスと金額が入る)
- ウォレットの秘密鍵を使って署名される
- ブロック内に保存されます
- 未使用トランザクションアウトプット(UTXO)をみんなで消費していきます。
unspent transaction outputの略
bitcoin-cli
- bitcoindはJSON-RPCで操作する
- それをいじくるクライアントツール
- 本家からDLしてインストールすればOK https://github.com/bitcoin/bitcoin
- 手順の参考にどうぞ。http://qiita.com/murata-
tomohide/items/a165ac2ad6a617b859df
コマンド使い方
$ /opt/bitcoin/bin/bitcoin-cli -conf=/opt/bitcoin/etc/bitcoin.conf help
== Blockchain ==
getbestblockhash
getblock "hash" ( verbose )
getblockchaininfo
getblockcount
getblockhash index
getblockheader "hash" ( verbose )
getchaintips
getdifficulty
getmempoolancestors txid (verbose)
~snip;
詳しくはこちら https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_calls_list
今回使うコマンド
- getrawtransaction "txid" ( verbose )
- トランザクションのrawデータを返す。
- decoderawtransaction "hexstring"
- rawデータをデコードしてjson形式にしてくれる。
let’s try
中身まとめ1
- txid トランザクションID
- hash
- size トランザクションのサイズ
- vsize
- version 仕組みのバージョン。今のところ1固定(たぶん)
- locktime 大体0。500,000,000以下の時にはブロック高として解釈されてソレより前のブロックには取り込まれない。ソレ
より大きい場合にはunixタイムスタンプとして解釈されて、その時刻より前にコレが有効ではなかったことを意味する。
未来の時刻になっている場合にはソレまでまってからネットワーク全体に送信する。
中身まとめ2 インプット
- v in (インプットのこと)複数に分かれることもあります。
- txid UTXOトランザクションのハッシュ
- vout
- scriptSig unlocking Scriptのこと。後述のlocking scriptと組み合わせて有効性を確認します。独自の言語で入っています。
スクリプト言語というとperlとかphpを想像しますが、ちょっと違う言語です。とはいえ解説すると長いので、詳しくはま
た今度。
- asm スクリプトが入ってる。
- hex ここからdecodescriptコマンドを使ってasmが見れます。
- sequence 何故か今のところ固定。
中身まとめ3 アウトプット
- v out アウトプットデータ
- value 金額
- n 順番
- scriptPubKey locking scriptのこと。同じくhexでデコードできます。
- asm
- hex
- reqSigs
- type locking scriptのタイプ。マルチシグを使うとmultisigとかになる模様。詳しくは
https://github.com/bitcoin/bitcoin/blob/master/src/script/standard.cpp#L24 辺りを参考に。
- addresses 送金ビットコインアドレス(複数)
まとめ
- トランザクションは署名される
- インプットとアウトプットが入っている
- トランザクションIDはtxid って名前がついてる
- bitcoinにはいっぱいidがあるので注意 bitcoinアドレスやブロックアドレスな
ど
ご清聴ありがとうございました。

Contenu connexe

Tendances

JNSA Bitcoin 勉強会 佐藤 20140602
JNSA Bitcoin 勉強会 佐藤 20140602JNSA Bitcoin 勉強会 佐藤 20140602
JNSA Bitcoin 勉強会 佐藤 20140602Masashi Sato
 
ビットコインとブロックチェーン入門
ビットコインとブロックチェーン入門ビットコインとブロックチェーン入門
ビットコインとブロックチェーン入門Kenta Fujimoto
 
EXE #6:Lightning Network入門
EXE #6:Lightning Network入門EXE #6:Lightning Network入門
EXE #6:Lightning Network入門blockchainexe
 
EXE #7:Private Blockchainの現状と未来
EXE #7:Private Blockchainの現状と未来EXE #7:Private Blockchainの現状と未来
EXE #7:Private Blockchainの現状と未来blockchainexe
 
5分でわかるブロックチェーンの基本的な仕組み
5分でわかるブロックチェーンの基本的な仕組み5分でわかるブロックチェーンの基本的な仕組み
5分でわかるブロックチェーンの基本的な仕組みRyo Shimamura
 
ビットコインの基礎知識と世界的なトレンド
ビットコインの基礎知識と世界的なトレンドビットコインの基礎知識と世界的なトレンド
ビットコインの基礎知識と世界的なトレンドKoichiro Wada
 
EXE Lite #1:ビットコインとブロックチェーン入門
EXE Lite #1:ビットコインとブロックチェーン入門EXE Lite #1:ビットコインとブロックチェーン入門
EXE Lite #1:ビットコインとブロックチェーン入門blockchainexe
 
ブロックチェーン基礎基本
ブロックチェーン基礎基本ブロックチェーン基礎基本
ブロックチェーン基礎基本RyuzoNakata1
 
ブロックチェーン技術の基本と応用の可能性
ブロックチェーン技術の基本と応用の可能性ブロックチェーン技術の基本と応用の可能性
ブロックチェーン技術の基本と応用の可能性Kenji Saito
 
Bitcoinについて
BitcoinについてBitcoinについて
BitcoinについてTakuya SUMI
 
Certificate TransparencyによるSSLサーバー証明書公開監査情報とその課題の議論
Certificate TransparencyによるSSLサーバー証明書公開監査情報とその課題の議論Certificate TransparencyによるSSLサーバー証明書公開監査情報とその課題の議論
Certificate TransparencyによるSSLサーバー証明書公開監査情報とその課題の議論Kenji Urushima
 
MinChain – Bitcoin ライクな最小限のブロックチェーン実装
MinChain – Bitcoin ライクな最小限のブロックチェーン実装MinChain – Bitcoin ライクな最小限のブロックチェーン実装
MinChain – Bitcoin ライクな最小限のブロックチェーン実装Yuto Takei
 
Entry for Bitcoin (For Japanese)
Entry for Bitcoin (For Japanese)Entry for Bitcoin (For Japanese)
Entry for Bitcoin (For Japanese)GOTO_A
 
暗号化したまま計算できる暗号技術とOSS開発による広がり
暗号化したまま計算できる暗号技術とOSS開発による広がり暗号化したまま計算できる暗号技術とOSS開発による広がり
暗号化したまま計算できる暗号技術とOSS開発による広がりMITSUNARI Shigeo
 
ブロックチェーン連続講義 第3回 ビットコインの技術
ブロックチェーン連続講義 第3回 ビットコインの技術ブロックチェーン連続講義 第3回 ビットコインの技術
ブロックチェーン連続講義 第3回 ビットコインの技術Kenji Saito
 
自作ペアリング/BLS署名ライブラリの紹介
自作ペアリング/BLS署名ライブラリの紹介自作ペアリング/BLS署名ライブラリの紹介
自作ペアリング/BLS署名ライブラリの紹介MITSUNARI Shigeo
 

Tendances (20)

JNSA Bitcoin 勉強会 佐藤 20140602
JNSA Bitcoin 勉強会 佐藤 20140602JNSA Bitcoin 勉強会 佐藤 20140602
JNSA Bitcoin 勉強会 佐藤 20140602
 
Bitcoinの技術
Bitcoinの技術Bitcoinの技術
Bitcoinの技術
 
ビットコインとブロックチェーン入門
ビットコインとブロックチェーン入門ビットコインとブロックチェーン入門
ビットコインとブロックチェーン入門
 
EXE #6:Lightning Network入門
EXE #6:Lightning Network入門EXE #6:Lightning Network入門
EXE #6:Lightning Network入門
 
EXE #7:Private Blockchainの現状と未来
EXE #7:Private Blockchainの現状と未来EXE #7:Private Blockchainの現状と未来
EXE #7:Private Blockchainの現状と未来
 
5分でわかるブロックチェーンの基本的な仕組み
5分でわかるブロックチェーンの基本的な仕組み5分でわかるブロックチェーンの基本的な仕組み
5分でわかるブロックチェーンの基本的な仕組み
 
ビットコインの基礎知識と世界的なトレンド
ビットコインの基礎知識と世界的なトレンドビットコインの基礎知識と世界的なトレンド
ビットコインの基礎知識と世界的なトレンド
 
EXE Lite #1:ビットコインとブロックチェーン入門
EXE Lite #1:ビットコインとブロックチェーン入門EXE Lite #1:ビットコインとブロックチェーン入門
EXE Lite #1:ビットコインとブロックチェーン入門
 
ブロックチェーン基礎基本
ブロックチェーン基礎基本ブロックチェーン基礎基本
ブロックチェーン基礎基本
 
Congre chain説明資料
Congre chain説明資料Congre chain説明資料
Congre chain説明資料
 
Bitcoin
BitcoinBitcoin
Bitcoin
 
ブロックチェーン技術の基本と応用の可能性
ブロックチェーン技術の基本と応用の可能性ブロックチェーン技術の基本と応用の可能性
ブロックチェーン技術の基本と応用の可能性
 
Bitcoinについて
BitcoinについてBitcoinについて
Bitcoinについて
 
Certificate TransparencyによるSSLサーバー証明書公開監査情報とその課題の議論
Certificate TransparencyによるSSLサーバー証明書公開監査情報とその課題の議論Certificate TransparencyによるSSLサーバー証明書公開監査情報とその課題の議論
Certificate TransparencyによるSSLサーバー証明書公開監査情報とその課題の議論
 
MuSig
MuSigMuSig
MuSig
 
MinChain – Bitcoin ライクな最小限のブロックチェーン実装
MinChain – Bitcoin ライクな最小限のブロックチェーン実装MinChain – Bitcoin ライクな最小限のブロックチェーン実装
MinChain – Bitcoin ライクな最小限のブロックチェーン実装
 
Entry for Bitcoin (For Japanese)
Entry for Bitcoin (For Japanese)Entry for Bitcoin (For Japanese)
Entry for Bitcoin (For Japanese)
 
暗号化したまま計算できる暗号技術とOSS開発による広がり
暗号化したまま計算できる暗号技術とOSS開発による広がり暗号化したまま計算できる暗号技術とOSS開発による広がり
暗号化したまま計算できる暗号技術とOSS開発による広がり
 
ブロックチェーン連続講義 第3回 ビットコインの技術
ブロックチェーン連続講義 第3回 ビットコインの技術ブロックチェーン連続講義 第3回 ビットコインの技術
ブロックチェーン連続講義 第3回 ビットコインの技術
 
自作ペアリング/BLS署名ライブラリの紹介
自作ペアリング/BLS署名ライブラリの紹介自作ペアリング/BLS署名ライブラリの紹介
自作ペアリング/BLS署名ライブラリの紹介
 

En vedette

Bitcoinを技術的に理解する
Bitcoinを技術的に理解するBitcoinを技術的に理解する
Bitcoinを技術的に理解するKenji Urushima
 
ビットコインとは何か~暗号貨幣の法的性質と法律実務に与える影響
ビットコインとは何か~暗号貨幣の法的性質と法律実務に与える影響ビットコインとは何か~暗号貨幣の法的性質と法律実務に与える影響
ビットコインとは何か~暗号貨幣の法的性質と法律実務に与える影響Kazuaki Yoshii
 
e-ZUKA Tech Night in 博多! -fin tech特集- Bitcoinのブロックチェーンでできるコントラクト
e-ZUKA Tech Night in 博多! -fin tech特集- Bitcoinのブロックチェーンでできるコントラクトe-ZUKA Tech Night in 博多! -fin tech特集- Bitcoinのブロックチェーンでできるコントラクト
e-ZUKA Tech Night in 博多! -fin tech特集- Bitcoinのブロックチェーンでできるコントラクトshigeyuki azuchi
 
「通貨」と「信頼」 Bitcoinとはそもそも何か
「通貨」と「信頼」 Bitcoinとはそもそも何か「通貨」と「信頼」 Bitcoinとはそもそも何か
「通貨」と「信頼」 Bitcoinとはそもそも何かRyosuke Abe
 
Slaesforce TLS1.0 無効化にあたって
Slaesforce TLS1.0 無効化にあたってSlaesforce TLS1.0 無効化にあたって
Slaesforce TLS1.0 無効化にあたってHiroyuki Sawano
 
JAWS FESTA 東海道 2016 ブロックチェーンとは何なのか?
JAWS FESTA 東海道 2016   ブロックチェーンとは何なのか?JAWS FESTA 東海道 2016   ブロックチェーンとは何なのか?
JAWS FESTA 東海道 2016 ブロックチェーンとは何なのか?shigeyuki azuchi
 
マルレク特別編:Bitcoinの概要と今後の論点
マルレク特別編:Bitcoinの概要と今後の論点マルレク特別編:Bitcoinの概要と今後の論点
マルレク特別編:Bitcoinの概要と今後の論点Masanori Kusunoki
 
ビットコイン~原理からソースまで~
ビットコイン~原理からソースまで~ビットコイン~原理からソースまで~
ビットコイン~原理からソースまで~bitbank, Inc. Tokyo, Japan
 
自動売買プログラムの作り方
自動売買プログラムの作り方自動売買プログラムの作り方
自動売買プログラムの作り方Shinya Furusake
 
Open Assetsを利用したP2P型の投票システムとエクスプローラ
Open Assetsを利用したP2P型の投票システムとエクスプローラOpen Assetsを利用したP2P型の投票システムとエクスプローラ
Open Assetsを利用したP2P型の投票システムとエクスプローラshigeyuki azuchi
 
iOS/Androidアプリ内決済を利用しよう! 課金機能で気をつけたい5つのこと
iOS/Androidアプリ内決済を利用しよう! 課金機能で気をつけたい5つのことiOS/Androidアプリ内決済を利用しよう! 課金機能で気をつけたい5つのこと
iOS/Androidアプリ内決済を利用しよう! 課金機能で気をつけたい5つのことReimi Kuramochi Chiba
 
ブロックチェーン入門〜ただしFinTechを除く〜
ブロックチェーン入門〜ただしFinTechを除く〜ブロックチェーン入門〜ただしFinTechを除く〜
ブロックチェーン入門〜ただしFinTechを除く〜Miki Yutani
 
Blue monkey architecture overview
Blue monkey architecture overviewBlue monkey architecture overview
Blue monkey architecture overviewAtsushi Nakamura
 

En vedette (13)

Bitcoinを技術的に理解する
Bitcoinを技術的に理解するBitcoinを技術的に理解する
Bitcoinを技術的に理解する
 
ビットコインとは何か~暗号貨幣の法的性質と法律実務に与える影響
ビットコインとは何か~暗号貨幣の法的性質と法律実務に与える影響ビットコインとは何か~暗号貨幣の法的性質と法律実務に与える影響
ビットコインとは何か~暗号貨幣の法的性質と法律実務に与える影響
 
e-ZUKA Tech Night in 博多! -fin tech特集- Bitcoinのブロックチェーンでできるコントラクト
e-ZUKA Tech Night in 博多! -fin tech特集- Bitcoinのブロックチェーンでできるコントラクトe-ZUKA Tech Night in 博多! -fin tech特集- Bitcoinのブロックチェーンでできるコントラクト
e-ZUKA Tech Night in 博多! -fin tech特集- Bitcoinのブロックチェーンでできるコントラクト
 
「通貨」と「信頼」 Bitcoinとはそもそも何か
「通貨」と「信頼」 Bitcoinとはそもそも何か「通貨」と「信頼」 Bitcoinとはそもそも何か
「通貨」と「信頼」 Bitcoinとはそもそも何か
 
Slaesforce TLS1.0 無効化にあたって
Slaesforce TLS1.0 無効化にあたってSlaesforce TLS1.0 無効化にあたって
Slaesforce TLS1.0 無効化にあたって
 
JAWS FESTA 東海道 2016 ブロックチェーンとは何なのか?
JAWS FESTA 東海道 2016   ブロックチェーンとは何なのか?JAWS FESTA 東海道 2016   ブロックチェーンとは何なのか?
JAWS FESTA 東海道 2016 ブロックチェーンとは何なのか?
 
マルレク特別編:Bitcoinの概要と今後の論点
マルレク特別編:Bitcoinの概要と今後の論点マルレク特別編:Bitcoinの概要と今後の論点
マルレク特別編:Bitcoinの概要と今後の論点
 
ビットコイン~原理からソースまで~
ビットコイン~原理からソースまで~ビットコイン~原理からソースまで~
ビットコイン~原理からソースまで~
 
自動売買プログラムの作り方
自動売買プログラムの作り方自動売買プログラムの作り方
自動売買プログラムの作り方
 
Open Assetsを利用したP2P型の投票システムとエクスプローラ
Open Assetsを利用したP2P型の投票システムとエクスプローラOpen Assetsを利用したP2P型の投票システムとエクスプローラ
Open Assetsを利用したP2P型の投票システムとエクスプローラ
 
iOS/Androidアプリ内決済を利用しよう! 課金機能で気をつけたい5つのこと
iOS/Androidアプリ内決済を利用しよう! 課金機能で気をつけたい5つのことiOS/Androidアプリ内決済を利用しよう! 課金機能で気をつけたい5つのこと
iOS/Androidアプリ内決済を利用しよう! 課金機能で気をつけたい5つのこと
 
ブロックチェーン入門〜ただしFinTechを除く〜
ブロックチェーン入門〜ただしFinTechを除く〜ブロックチェーン入門〜ただしFinTechを除く〜
ブロックチェーン入門〜ただしFinTechを除く〜
 
Blue monkey architecture overview
Blue monkey architecture overviewBlue monkey architecture overview
Blue monkey architecture overview
 

Similaire à 【ビットコインとか勉強会#1】トランザクションを読み解く

Summary of Crypto currency2018 02-17
Summary of Crypto currency2018 02-17Summary of Crypto currency2018 02-17
Summary of Crypto currency2018 02-17Kenichi Takeuchi
 
使ってみよう暗号通貨
使ってみよう暗号通貨使ってみよう暗号通貨
使ってみよう暗号通貨Wataru Shinohara
 
仮想通貨とBlockchainの課題と展望
仮想通貨とBlockchainの課題と展望仮想通貨とBlockchainの課題と展望
仮想通貨とBlockchainの課題と展望Masanori Kusunoki
 
はじめてのWeb of Things
はじめてのWeb of ThingsはじめてのWeb of Things
はじめてのWeb of ThingsSaki Homma
 
ネット仮想通貨の論点 - 楠正憲
ネット仮想通貨の論点 - 楠正憲ネット仮想通貨の論点 - 楠正憲
ネット仮想通貨の論点 - 楠正憲Masanori Kusunoki
 
ライトニングノードをいじってみよう
ライトニングノードをいじってみようライトニングノードをいじってみよう
ライトニングノードをいじってみようtakayaimai
 
悪性Botnet包囲網におけるP2P通信検知の試み@ipsj Iot 42, 6/28, 2018
悪性Botnet包囲網におけるP2P通信検知の試み@ipsj Iot 42, 6/28, 2018悪性Botnet包囲網におけるP2P通信検知の試み@ipsj Iot 42, 6/28, 2018
悪性Botnet包囲網におけるP2P通信検知の試み@ipsj Iot 42, 6/28, 2018Takashi Yamanoue
 
Mastering Bitcoin ~network~
Mastering Bitcoin ~network~ Mastering Bitcoin ~network~
Mastering Bitcoin ~network~ Yuto Suzuki
 
5月中旬の仮想通貨Re-orgについて
5月中旬の仮想通貨Re-orgについて5月中旬の仮想通貨Re-orgについて
5月中旬の仮想通貨Re-orgについてMasanori Kusunoki
 
Bitcoinについて 2014年3月4日版
Bitcoinについて 2014年3月4日版Bitcoinについて 2014年3月4日版
Bitcoinについて 2014年3月4日版Masanori Kusunoki
 
Bitcoinについて 2014年3月7日
Bitcoinについて 2014年3月7日Bitcoinについて 2014年3月7日
Bitcoinについて 2014年3月7日Masanori Kusunoki
 
comparison with NFT marketplace(Opensea,Adam,My customized one).pdf
comparison with NFT marketplace(Opensea,Adam,My customized one).pdfcomparison with NFT marketplace(Opensea,Adam,My customized one).pdf
comparison with NFT marketplace(Opensea,Adam,My customized one).pdfwei-li
 
仮想通貨ボットサービスによるJSボット作成
仮想通貨ボットサービスによるJSボット作成仮想通貨ボットサービスによるJSボット作成
仮想通貨ボットサービスによるJSボット作成慎二 山田
 
はじめてのWeb of Things
はじめてのWeb of ThingsはじめてのWeb of Things
はじめてのWeb of ThingsSaki Homma
 

Similaire à 【ビットコインとか勉強会#1】トランザクションを読み解く (20)

Summary of Crypto currency2018 02-17
Summary of Crypto currency2018 02-17Summary of Crypto currency2018 02-17
Summary of Crypto currency2018 02-17
 
使ってみよう暗号通貨
使ってみよう暗号通貨使ってみよう暗号通貨
使ってみよう暗号通貨
 
20200218_Event
20200218_Event20200218_Event
20200218_Event
 
仮想通貨とBlockchainの課題と展望
仮想通貨とBlockchainの課題と展望仮想通貨とBlockchainの課題と展望
仮想通貨とBlockchainの課題と展望
 
はじめてのWeb of Things
はじめてのWeb of ThingsはじめてのWeb of Things
はじめてのWeb of Things
 
ネット仮想通貨の論点 - 楠正憲
ネット仮想通貨の論点 - 楠正憲ネット仮想通貨の論点 - 楠正憲
ネット仮想通貨の論点 - 楠正憲
 
Bitcoin 20140407-public
Bitcoin 20140407-publicBitcoin 20140407-public
Bitcoin 20140407-public
 
ライトニングノードをいじってみよう
ライトニングノードをいじってみようライトニングノードをいじってみよう
ライトニングノードをいじってみよう
 
悪性Botnet包囲網におけるP2P通信検知の試み@ipsj Iot 42, 6/28, 2018
悪性Botnet包囲網におけるP2P通信検知の試み@ipsj Iot 42, 6/28, 2018悪性Botnet包囲網におけるP2P通信検知の試み@ipsj Iot 42, 6/28, 2018
悪性Botnet包囲網におけるP2P通信検知の試み@ipsj Iot 42, 6/28, 2018
 
Mastering Bitcoin ~network~
Mastering Bitcoin ~network~ Mastering Bitcoin ~network~
Mastering Bitcoin ~network~
 
Bitcoin 20140317
Bitcoin 20140317Bitcoin 20140317
Bitcoin 20140317
 
MIAU祭2014 Bitcoin資料
MIAU祭2014 Bitcoin資料MIAU祭2014 Bitcoin資料
MIAU祭2014 Bitcoin資料
 
WebRTCについて
WebRTCについてWebRTCについて
WebRTCについて
 
5月中旬の仮想通貨Re-orgについて
5月中旬の仮想通貨Re-orgについて5月中旬の仮想通貨Re-orgについて
5月中旬の仮想通貨Re-orgについて
 
Bitcoinについて 2014年3月4日版
Bitcoinについて 2014年3月4日版Bitcoinについて 2014年3月4日版
Bitcoinについて 2014年3月4日版
 
Bitcoinについて 2014年3月7日
Bitcoinについて 2014年3月7日Bitcoinについて 2014年3月7日
Bitcoinについて 2014年3月7日
 
Smart property
Smart propertySmart property
Smart property
 
comparison with NFT marketplace(Opensea,Adam,My customized one).pdf
comparison with NFT marketplace(Opensea,Adam,My customized one).pdfcomparison with NFT marketplace(Opensea,Adam,My customized one).pdf
comparison with NFT marketplace(Opensea,Adam,My customized one).pdf
 
仮想通貨ボットサービスによるJSボット作成
仮想通貨ボットサービスによるJSボット作成仮想通貨ボットサービスによるJSボット作成
仮想通貨ボットサービスによるJSボット作成
 
はじめてのWeb of Things
はじめてのWeb of ThingsはじめてのWeb of Things
はじめてのWeb of Things
 

【ビットコインとか勉強会#1】トランザクションを読み解く

Notes de l'éditeur

  1. 主にバックエンドを担当しています。 linuxを使っています。
  2. この中でbitcoinに触ったことがある人はどれくらいいますか? 自身でノードを立てたことがある人は?
  3. 今回のテーマは「トランザクションを読み解く」なので、サラッと触っておきます。
  4. それでもクライアントという単語は出てきたりします。
  5. ウォレット内にはビットコインアドレスがいくつでも保管されます。 Berkeley DBはsubversionとかでも 利用されていますね。
  6. ビットコインでは残高を持っていません。トランザクションをすべて計算することで自分がいくら持っているかを計算することができます。 もちろんウォレットにはキャッシュとしてデータを持っていると思いますが。
  7. インストール方法などは自分のqiitaを見て頂ければ!
  8. helpコマンドを見てみましょう。 それぞれのカテゴリに別れてヘルプが見れます。結構親切ですね。
  9. 今回使うコマンドはこの2つです。
  10. それでは実際に中身を見てみましょう。 blockchain.infoから適当なトランザクションを取得してきます。 getrawtransactionでraw状態のデータを取得します。 それをデコードさせます。 - txid トランザクションID - hash - size トランザクションのサイズ - vsize - version 仕組みのバージョン。今のところ1固定(たぶん) - locktime 大体0。500,000,000以下の時にはブロック高として解釈さあれてソレより前のブロックには取り込まれない。ソレより大きい場合にはunixタイムスタンプとして解釈されて、その時刻より前にコレが有効ではなかったことを意味する。未来の時刻になっている場合にはソレまでまってからネットワーク全体に送信する。 - v in (インプットのこと)複数に分かれることもあります。 - txid UTXOトランザクションのハッシュ - vout - scriptSig さっき出てきたunlocking Scriptのこと。後述のlocking scriptと組み合わせて有効性を確認します。独自の言語で入っています。スクリプト言語というとperlとかphpを想像しますが、ちょっと違う言語です。とはいえ解説すると長いので、詳しくはまた今度。 - asm スクリプトが入ってる。 - hex ここからdecodescriptコマンドを使ってasmが見れます。 - sequence 何故か今のところ固定。 - v out アウトプットデータ - value 金額 - n 順番 - scriptPubKey locking scriptのこと。同じくhexでデコードできます。 - asm - hex - reqSigs - type locking scriptのタイプ。正直よーわからん。pubkeyhash以外を見たことが・・・ソースを見てもソレ以外ないぞ? - addresses 送金ビットコインアドレス(複数)