More Related Content
PDF
PDF
Understanding hd wallets design and implementation PPTX
what is bitcoin, its history and detail PDF
PDF
An Introduction to Blockchain Technology PDF
PPTX
Smart Contract & Ethereum PPTX
Basic introduction in blockchain, smart contracts, permissioned ledgers What's hot
PDF
Blockchain Fundamentals - Top Rated for Beginners PDF
PDF
Hyperledger Fabric in a Nutshell PDF
PDF
PPTX
Blockchain, Ethereum and Business Applications PDF
An Introduction to Blockchain PPTX
PDF
Blockchain-based Solutions for Identity & Access Management PPTX
PDF
PDF
PDF
PDF
PDF
PDF
PPTX
Bitcoin Protocols 1.0 and 2.0 Explained in the Series: Blockchain: The Inform... PDF
1. ibm blockchain explained PDF
PDF
Bitcoin : comment ça marche et pourquoi c’est une révolution ? Similar to ビットコイン~原理からソースまで~
PPTX
PDF
PDF
[Intermediate 01] イントロダクション / Bitcoin を動作させる PDF
PDF
ブロックチェーン連続講義 第3回 ビットコインの技術 PDF
MinChain – Bitcoin ライクな最小限のブロックチェーン実装 PPTX
PDF
電子情報通信学会グローバル社会とビットコイン(山崎) PDF
セカンドレイヤでスケールさせているステーブルコインをGENIUS法対応にする方法 PDF
ビットコインとブロックチェーンを初めからていねいに(超基礎編) PDF
PPTX
ブロックチェーン書き換え不可能な記録によって社会はどう変化するか? PDF
[Basic 15] ソフトウェアと知的財産権 / ブロックチェーンと計算機科学 / MinChain の紹介 PPTX
PPTX
【ビットコインとか勉強会#1】トランザクションを読み解く PDF
PDF
JAWS FESTA 東海道 2016 ブロックチェーンとは何なのか? PDF
ブロックチェインとOpen asset protocol PPTX
筑波大学 Blockchain meetup 第一回 PDF
Deconstruction of Serverless and blockchain More from bitbank, Inc. Tokyo, Japan
PDF
PDF
PDF
ビットバンク流 アジャイル開発の紹介.pdf PDF
ビットバンクで求められるプロジェクトマネジメント PDF
ビットバンクでのネイティブアプリケーション開発におけるCI_CD環境 PDF
PDF
Lightning Network, Swap, Nloop PDF
ビットバンクにおける少人数で支えるインフラチームの戦略 PDF
bitbank Corporate Information PDF
ng build --prod & Continuous Delivery PDF
PDF
持続的な運用開発のために社内基盤を整えている話 〜auditのCI組み込みやlintの社内PKG化〜 PDF
PDF
仮想通貨取引所 bitbank の IaC の導入と実践 PDF
Introduction of bitbank frontend development environment PDF
DeveloperSuccess として何を届けられるか、様々な分野を経た先として何ができるか PDF
ビットコインウォレットで手軽にパスワードレス認証が可能なbitidについての紹介 PPTX
PDF
Daocasinoにおけるstate channel実装 PDF
TypeScriptでライトニングネットワークを使ってみよう ビットコイン~原理からソースまで~
- 1.
- 2.
- 3.
ビットコインの始まり
• 論文は2008年10月31日
metzdowd.comにて公開
• バージョン0.1は2009/01/09
• Windowsのみ
• CLI無し
• wxWidgetsとBerkeleyDBと
Boostを使用
• MVSでコンパイル
• 2010年中旬に
Gavin Andresen & Jeff Garzikに舵を取ってもらった。
- 4.
- 5.
モジュール
P2Pネットワーク
採掘アルゴリズム
GUI / インターフェース
ブロックチェーン
取引
契約条件
ウォレット管理
ペイメント(送金)
- 6.
- 7.
- 8.
取引とは
ビットコインの拡張性がここにあり
入力と出力の概念
コーディングのことを「契約条件」と呼ぶ
コード以外のデータも挿入可
未使用出力のことを「UTXO」と呼ぶ
採掘手数料は出力に当てられていない入力の余分
「コインベース」取引は特別
- 9.
取引を見よう
TXID: 'B'
入力1 中の1:
出力元: TX 'A' (Bob)
入力額: 5 BTC
出力1 中の1:
出力先: Charlieの公開鍵ハッシュ
出力額: 4 BTC
採掘手数料: 1 BTC
コインベースTXID 'A'
報酬: 25 BTC
採掘者: Bob
出力先: Bobの公開鍵
TXID: 'C'
入力1 中の1:
出力先: TX 'A' (Bob)
入力額: 7 BTC
出力1 中の1:
出力先: Aliceの公開鍵ハッシュ
出力額: 6.5 BTC
採掘手数料: 0.5 BTC
UTXO / 残高
採掘者Bob: 13 BTC
Charlie: 4 BTC
Alice: 6.5 BTC
採掘手数料: 1.5 BTC
- 10.
取引の連鎖
TXID 'B'
TXID 'C' (複数入力)
Block #300
(最古)
コインベース
TXID 'A'
Block #301 Block #302 Block #303
(最新)
- 11.
取引は契約なり
「送金」というのは行為というより記録
全取引は契約のように条件が盛り込まれている
Forthのようにスタック手法(registerなし)、
チューリング完全でない
StackはLittle Endian、可変長整数、MSBで+-が決まる
False = 0、True = 0以外のデータ全て
エラーが無く、Stackの最上層がTrueなら成立
採掘者は採掘する前に契約のTrueさを確認
通常ピアも横渡しする前に確認
- 12.
- 13.
ブロックとは?
承認(採掘)された取引の塊
平均的に1ブロック400-600取引程度
サイズの上限が1000 KiB
コインベース取引が1つ
前ブロックのヘッダのハッシュ
含まれた取引のマークルルーツ
ノンス
- 14.
ブロックを見てみよう
Block #299
ヘッダ
取引A
取引B
取引C
取引D
取引E
取引F
取引G
ハッシュに含まれない:
Magic No バージョン情報
Blocksize malloc() and sanity
Transaction count Sanity/speed opt.
ハッシュに含まれる:
Version 拡張性を見据えて
hashPrevBlock 前ブロックID
hashMerkleRoot 取引の承認
Time タイムスタンプ
Target Bits 難易度: 低=難
Nonce Proof of work
- 15.
ブロックチェーンとは?
特定の順番にあるブロックの連鎖
ビットコイン史上全ての取引が含まれている
大体33万ブロックでサイズが22GB程度(2014/10/12)
ブロック高さが絶対的な時間の位置
ブロック深さが最新ブロックに対する相対的な
時間の位置
0.9以降はヘッダのみのSPVモードに対応(26MB程度)
ゆくゆくは非UTXOの取引を除く「Pruning」も可能
- 16.
採掘者の仕事は?
ダブルスペンド防止と通貨の発行
もらった取引をブロックに入れていく
有効なブロックID(ハッシュ)を見つける
有効なブロック発見時にネットワークに配信
2016ブロック(約2週間)ごとに難易度が自動調整
ブロックのハッシュが前ブロックのハッシュに
依存するため、攻撃者との競争がブロックを
見つける度に再び0からスタートする
- 17.
ブロックチェーンの動き
300
301302 303
304 305 306
無効なブロック
報酬無し
無駄な時間
=
採掘者のお金の無駄
短いチェーンが負ける
有効なブロック
=25 BTC の報酬
ブロック高さ(時間)
7 ブロック(約70分)
- 18.
- 19.
- 20.
近い将来
x.509とhttp 連動
NFC でネット不要
BIP 70 (瞬時確認)
契約条件解禁
サイドチェーン
BIPsのGithubを参照!
https://github.com/bitcoin/bips
- 21.
スケーリングについて
ビットコインは平均1秒1取引のペースで動く
今の上限は故意に抑えられた結果
本当の一番のネックは取引・ブロックの
ハッシュ確認の処理時間
恐らく一般デスクトップ型のCPUでは
1秒4,000取引が限界ではないかと
ネットワークの速度でいうと16 Mbps
ブロックチェーンの膨大化
サトシ氏の一番の悩みがネットワークが
技術的成熟する前に広まりすぎてしまうこと
- 22.