Skip to content

Instantly share code, notes, and snippets.

@ohtake
Last active April 26, 2016 00:27
Show Gist options
  • Save ohtake/38f0355518c7dc6ae60012d578797c49 to your computer and use it in GitHub Desktop.
Save ohtake/38f0355518c7dc6ae60012d578797c49 to your computer and use it in GitHub Desktop.
AITC技術セミナー&オープンラボ 「ブロックチェーン」セミナー

AITC技術セミナー&オープンラボ 「ブロックチェーン」セミナー

所感

タイトルに入門とあるようにブロックチェーンの仕組みから理解するためには大変有用な内容であったと思う。すでに使っている人からしたら、ブロックチェーンの特徴ばかりが説明されており物足りないところはあった。以降のブロックチェーンシリーズに期待。

オープニング

AITC の紹介。

講演

  • 使って知ろうブロックチェーン (入門編) その仕組みと応用
  • インフォテリア株式会社
    • 代表取締役社長 平野洋一郎様
    • シニアプロダクトマネージャー 森一弥様

(最初は社長。PC、携帯、ネクタイ、ハンカチ、靴下、靴がコーポレートカラーと思わしき緑色で統一。)

AITC は技術的に深い人が集まっているため、そのような中で発表するのは躊躇したため最初は発表を断った。フィンテックの中のワンオブゼムとされることが多いブロックチェーンを単独で取り上げるのは AITC ならでは。

ブロックチェーンの概要

マーク・アンドリーセン「1975パーソナルコンピュータ、1993インターネットに匹敵する2014ブロックチェーン」

インフォテリアは mijin の開発元テックビューロと提携。asteria warp と mijin をつなぐアダプタを新規開発した。

ブロックチェーンが流行りだしたのは2年ほど前だが、ビットコインは8年前から使われている。ビットコインの時価総額は 6.319B USD (7300億JPY)。一度もダウンしていない。Mt. Gox の破たんなどはブロックチェーンの堅牢性とは関係がない。ブロックチェーンでアプリを作る場合でも、周りのサービスが堅牢になるわけではない。

ブロックチェーンでは、改ざん不可、ダウンタイムなし、劇的コストダウン。前ブロックのハッシュ値を含めてハッシュ値を計算するため改ざんできない。P2Pなのでダウンが発生しない。

ブロックチェーンの種類は、パブリック、プライベート、コンソーシアム、ハイブリッド。前3つはよく紹介される。ハイブリッドは単一のデータをプライベートとパブリックの両方に書く。実際に稼働している例はないが、半年くらい先に実証がされてくると思われる。

よくある誤解。ビットコインがブロックチェーン。パフォーマンスが悪い。データがだれにでも見える。データを第三者と共有しないといけない。分散型データベースと同じ。

データベースの歴史。SAM, IMS, NDB, RDB, OODB, NoSQL。

データベースとしてみた場合、改ざんができないためモディファイやソートができない。追記のみ。パフォーマンスや内容秘密性はプライベート型にすれば解決する。

インフォテリアでの取り組み。さくらインターネット、テックビューロ、マイクロソフト。

マイクロソフトが Blockchain as a Service を提供。住信SBIネット銀行は3か月分の実データで実装し、NRIがハックを試みたが成功しなかった。

ミャンマーの BCF では SQL Server で運用しているが、これをブロックチェーンで実験をしようとしている。

改ざんができない特徴はファイナンス分野以外でも活用できる。流通のトレーサビリティ、製造の検査検証データ、公共の登記、医療の治験データ。

(来週月曜の4月25日に発表予定の内容のため一時省略) 4月25日にブロックチェーン推進協会を設立。 http://itpro.nikkeibp.co.jp/atcl/news/16/042501217/

仕組みと応用

(ここからシニアプロダクトマネージャー。事前に社長と発表内容を合わせていなかったため内容がいくらか被るらしい。)

Asteria warp のプロダクトマネージャー。技術職ではなくマーケティング職。

銀行の3大業務。資産管理、融資、決済。

REST API では HTTP/HTTPS, OAuth, OpenID, JSON, XML が主流。ビットコイン自体はAPIを提供していないが、ビットコイン取引所の Zaif が提供する API と Google Chart API でビットコインのレートをグラフ出力。

銀行側もAPI公開をするようになり、NTT DATA の Anser ParaSOL。スクレイピングでアグリゲーションしている現状をAPIにすることで安全にするなど。

Google Trends で「ブロックチェーン」の検索が増えたのは2015年12月。インフォテリアの発表のおかげ。「blockchain」は3年前から検索されている。国別ではガーナが多い。

Bitcoin のブロックチェーン。ブロックはヘッダとトランザクション。前ブロックのヘッダのみのハッシュを次ブロックのヘッダに含める。トランザクションには約10分の取引が含まれており、それぞれが秘密鍵で署名されている。取引のハッシュはただ単に全体のハッシュを取るのではなく merkle tree でトランザクションのハッシュを取り、ヘッダに含める。ヘッダの nonce を変えながらヘッダのハッシュを計算しハッシュ値が指定値以下になるように計算することを発掘と呼ぶ。発掘に成功すると25ビットコイン(100万円超)がもらえる。

Proof of Work では nonce で総当たりのため電力の無駄。Proof of Stake では資産が多いノードが権利を持ち、金持ちが有利になり不公平。他にも提案があるがいまだ決め手なし。

プライベートブロックチェーン Mijin の特徴。パブリックブロックチェーン NEM と互換。独自の仮想通貨を定義可能。マルチシグ。

Mijin のAPIでできること。アカウント作成、ブロックチェーン取得、仮想通貨定義、仮想通貨取引。Mijin はベータ版なので正式リファレンスがない。NEM と互換のはずなので NEM のマニュアルを見るとよい。

Mijin を直接たたくのが面倒だったので、Asteria warp を経由して API を叩くことにした。まずはアカウントの作成をした。実は light wallet でもできた。作成したアカウントには XEM がないのでノードから送金を asteria warp で行った。

Mijin のベータテストは2016年6月まで。Asteria warp は5月ごろに抽選で使えるようになる予定。

質疑

ノード数とスペック

実運用する際にはどのくらいのスペックのノードをどれだけ用意するのか。

住信SBIネット銀行ではスペック不明だがAWSのノード数6。250万口座で1日に900万トランザクション。

さくらインターネットの Mijin トライアルは4台で、4vCPUの4GBメモリ。秒間1000トランザクションくらい。

プライベートでの改ざん

ブロックチェーンで改ざんが難しいのは proof of work のおかげ。プライベートでは proof of work がないので改ざんが簡単なのではないか。

データ量が少なければチェーンは置き換えられてしまう。実運用ではデータ量が多いため困難。

チェーンの分岐

チェーンが分岐するのはどういうケースなのか。

ビットコインの場合は10分に1ブロックというチューニング。二重取引がある場合など。二重取引の片方はチェーンがある程度進むことで片方が確定する。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment