SlideShare a Scribd company logo
1 of 27
Download to read offline
OBCまとめ
2016/06/07
Bit Coinとは
10円玉みたいに実体はない、仮想の通貨。ちゃんとお金として扱えて、円やドルみたい
に通貨の単位がある。→Amazonのギフト券とかと似てる?
→ちょっとちがう。Amazonギフト券はAmazonだけが利益を上げるためのもの。ビットコ
インは限定されず、日常生活で使えることを目標としている。
最大の特徴は為替の仲介組織、通貨を発行する所が存在しないこと?
ビットコインの送金には手数料が発生しない 食券みたいな感じか
ドルに換金
手数料もろもろで 5ドルにしかなら
んかった・・・
会津通貨に
換金
手数料なし
ビットコインの発行には1つの大きな組織が管理するというのではなく、個人の(みんな)
ネットワークを利用して管理する。みんなで取引とかの記録を管理するので偽造などを
防止できる。
会津だけで使える通貨(食券みたいなもの)でしか買えない限定グッズや、飲食店だと
ちょっとしたトッピングとかのサービスがあるようにすると、通貨としての価値があがって
うれしい。
ブロックチェーンの用語(7P目)
Asset(資産) 価値のあるもの 家や車とかの有形資産、特許とかの無形資産
Consensus コンセンサス (複数の)一致、了解
ブロックチェーン技術を使って、会津通貨を実装する。たぶん。
ブロックチェーンよくわかんないからOpen BlockChain(OBC)を学んで理解してみる。
OBCとは Go言語で作られたブロックチェーンの動作基板のソフトウェア
Go言語 Googleが開発した言語 OBCではビジネスロジック?の実装につかう
初期のブロックチェーン技術は汎用性がなかったのを、OBCは汎用性があるように改良
してセキュリティ面も強くしたものらしい。
19P目
ネットワークトポロジー コンピュータネットワークの接続形態 ネットワークにPC、サー
バー、スイッチ等の端末、機器(ノード)がどのように接続するのかを表す。
OBCでは3種類ある ある1つの同じブロックチェーンを共有するシステムがどう構成さ
れているか。
クラウドサービス?を使わないで自前の
ネットワーク環境を使う(オンプレミス)
HTTPSで他のノードと通信できる。
左の拡張版?HTTPSで通信
接続仕方の次は通信だよ ノード間通信にはgRPCを使う 23P目くらい
gRPC HTTP/2(通信層)を標準サポートしたgoogleのRPCフレームワーク gRPCの
サーバーとクライアントはお互いに様々な環境で通信できて、gRPCがサポートしている
言語で書くことができる。(例 サーバーをJAVA,クライアントはGOやPythonで実装)
RPC(リモートプロシージャコール) ネットワークによって接続された他のコンピューター
上でプログラムを呼び出し、実行するための手法 何かをインストールするときに、そのための準備とかを呼び出す?
gRPCはプロトコルバッファという形式でシリアライズされ送受信される
シリアライズ ソフトウェア内部で扱っているデータを丸ごとファイルで保存したり、ネット
ワークで送受信することができるように変換すること
接続と通信のことはなんとなくわかったとして、次はデータ(資産?)の保存とかは?
銀行は1つの大きなDBに保存しているけど、ブロックチェーンはどうするのか。
OBCでのデータストアにはRocksDBが利用されている。(24P目)
RocksDB Googleが公開しているKey-Value型データベースライブラリLevelDBを基盤
としたFacebook社が開発した高速データストア 何か高速らしい
NoSQL 幅広い種類の膨大な量のデータを高速かつ動的に整理し分析することを可能に
する、非リレーショナルな広域分散データベースシステム ビッグデータを扱うにはもって
こいなのか 
プラガブル 着脱、切り替えできる 
OBCに必要な台帳→
OBCに必要な参加者↓
チェーンコードが色々な実行を行うもの?
エンドユーザーの登録や管理をす
る
ユーザーのトランザクション要求を
開始してそのリクエストをノードへ
送信する。
アプリケーションバックエンド
送信されたものからトランザクションを組み立て
る。そして検証ノードへ転送。また台帳のローカ
ルコピーを維持しておく。
また要求したユーザーがそれらをローカルでク
エリできるようにする。(このとき、ユーザーは
ネットワークオーディターになる?)
非検証ノード
送信
トランザクションの実行や生成、検証をする。
台帳のローカルコピーの維持、更新をする。
ユーザーの認証情報を管理、維持する
検証ノード
転送
エンドユーザーと組織の IDを発行・管理する
enrollment cetificateとか色々証明書を発行する
チェーン固有キーを発行する
メンバーシップサービス
OBCのネットワークエンティティ
メンバーシップサービスの仕組み 43P目くらい
OBCのブロックチェーン 52P目
53P目
OBCのブロック内のトランザクション 55P目
OBCにおいてトランザクションは3種類ある。
1 チェーンコードのデプロイ 新規にチェーンコードをデプロイ&初期化メソッドを呼出
2 チェーンコードの実行要求
2.a Invokeトランザクション すでにあるチェーンコードを実行するメソッドを呼出
2.b Queryトランザクション すでにあるチェーンコードを確認するメソッドを呼出
つまりブロック内のトランザクション情報というのには
「チェーンコードのデプロイ情報」か「チェーンコードの実行情報」どちらかを保持してい
る。
またトランザクションを実行してから台帳に1つのブロックとして記録される。
トランザクションの処理によってはワールドステートの値が変更することがある。
このとき、ワールドステートの値の変更が終わってから台帳に記録される。
ブロック内のワールドステート 57P
Key-valueペアのデータベース
トランザクションによってチェーンコードが実行された状態を格納するためにも使用
まとめると
AさんがBさんに車をあげるというトランザクションがあったとして、それを行うための
チェーンコードを生成して、デプロイする。 デプロイ成功したら実行する。
実行し終わったら、台帳に保存される。
チェーンコードのIDってなに???というか取引って関数で実行できるのか?
あと本当に実行する前にDockerを使って、仮想の環境で実行するらしい?
OBCのpeer間メッセージ 62P目
要は通信とか同期処理のメッセージ? まずは Discovery
63P目
Transction
64&65P目
Sync ポケモンでいう交換するとき、交換後に自分の台帳(ブロック?)がどう変化するか
の要求メッセージや他の人に知らせるメッセージを送ったりする?ワールドステートのス
ナップショットを要求したり、一連のブロックの範囲の差を要求したり、ブロックについて
のメッセージが多かった
Consensus Transuctionにおいて、交換をお互いがOKした、ということを送る?知らせ
るメッセージだろうか これを受け取って内部で色々処理を始めるのかも
ペイロード パケット通信においてパケットに含まれるヘッダやトレーラなどの付加的情
報を除いた、データ本体のこと
取引とかはいいけど資産(通貨?)の保持は?
2つの方法がある。
① ステートレスなUTXOモデル 資産とかを過去のトランザクションに封じ込める
② アカウントモデル 台帳の状態(ステート)として保存
どっちもどっちでメリット、デメリットがあるっぽい
OBCではできるだけ2つのアプローチを実装できるようにする。
UTXOとは 71P目
Unspent Transaction Output(未使用出力)
Aの現在残高はトランザクションによって出力されたAの出力のUTXOの合計を計算して
求めるのかもしれない・・・
じゃあチェーンコードってどう作るの?
どのプラグラミング言語でも作れるらしい でも今の所Go言語だけかも
チェーンコードの実行はDockerというのを利用して、Dockerという箱の中で実行して、
結果だけをその箱から取り出す感じかな
OBCのチェーンコード実装について                     チェーンコードの
デプロイメントトランザクションを呼び出す手段
 obc-peerコマンド (deployサブコマンド)
REST API (「devops/deploy」へのPOST)
79P目らへんにコマンド?集とかが書いてある。実装やってから読もう
Bluemix × OBC 86P目
まずBluemixって何だよ アプリケーションを構築・管理・実行のための、クラウドを基盤
とし、オープン・スタンダードを活用した、新しいクラウド・プラットフォーム(PaaS)
Paasは? ソフトウェアを構築および稼動させるための土台となるプラットフォームを、イ
ンターネット経由のサービスとして提供する
まとめると、会津通貨を実装するためのアプリケーションというお店をBluemixがお店を
やる場所を用意してくれるという感じだろうか。Dockerとか色々入ってるらしい?
このBluemixの中にあるCloudFoundryというのを利用するらしい
CloudFoundryは特別な環境とか必要なく、1台のサーバマシンでも稼動するようにでき
ていて、Webアプリ開発者なら使いやすいとのこと。便利なものがあるネ
CloudFoundryで何するの 86P目
BluemixのCloudFoundryには最近あるサービスが追加されたらしい。
① 2つの検証ピアノード(VPプロセス×2)                  ② 1つのCA
(Certificate Authority)ノード(プロセス) メンバーシップサービス? ③ 10人分の
ユーザー(user type<0~4> <ランダム文字列>) と対応するパスワード
このサービスを使えばアプリをオープンさせずに一人でお人形遊びしている感覚でOBC
の簡単な基盤?の実装ができるぞ!!!やったぜ。
Bluemixダッシュボードに同サービスのインスタンス画面に管理用ダッシュボード画面が
追加されたらしいです。便利ですね
お金かかるからやりたくてもやれない
Marble Appsというデモで実験してみるのん
やっと実装っぽいものまできた bluemix上でMarble Appsというのをデプロイする 勝
手にBlockchainサービスまでインスタンス化してくれるそう すごい。
Marble Appsの解説 CloudFoundryで10人分のユーザーとかを使えるからそれを利用
して、ビー玉をAsset(資産)として、台帳に保存したり、資産を交換しあったりする。
89P目は飛ばす やってみないとわかんないです
90、91P目 ユーザー側としてはユーザーの情報、ビー玉(資産)のサイズや色を設定
することができるのだろうか。これがブロックを作るということかな?
92P目 この交換のときに自分のスライド15P目にあるpeer間のメッセージとかが飛び
交うのかな?クエリ要求で相手側の条件や資産が見れるのだろうか。このデモだと交換
するというchaincodeはどうなっているのだろうか・・・
続 チェーンコード開発
自スライド20P目の拡張 開発環境には今日の仮想化ツールをフルに使う
仮想化って何だよ コンピュータを複数のユーザー(あるいはユーザープログラム)が同
時に効率的かつ安定的に利用できるようにシステムリソースを抽象化、多重化/統合
化
人によってOSや環境が違うから、仮想空間みたいなところで動くようにしたらどんな人の
環境でも動くんじゃね?っていう考えで使うのだろうか
チェーンコードを置く場所としてGitクライアント コードを書くためのGo言語とVagrantを
使う。
Vagrantって何? 98P目
仮想マシンを動かすとてもすごい仮想化ソフト 構成情報を記述した設定ファイルを元
に、仮想環境の構築から設定までを自動的に行ってくれるらしいぞ すごい
まとめると、チェーンコードを置く場所にGit 書くのにGO言語 そしてチェーンコードの
実行にVagrantを使うという解釈であってるはず たぶん
99P目のよくわからないsshを3つ起動したり、Vagrantで仮想空間作ったりしてテストし
たチェーンコードをGithubに投げ込む そしてBluemix×blockchainのとこへ追加してみ
よう。追加の前に↓
blockchainだとチェーンコードはトランザクション実行のために必要なはず。つまり自ス
ライド10P目のTcertsという証明書がいるはずだから、ユーザーID、PW割り当てたりし
て、Ecertの証明書を貰っている状態にしておくこと(ログイン?しておく)
101Pから112PまではBluemixのやつやってないのでよくわからない
まとめ
OBCとは レプリケーション機能付き NoSQL DBが組み込まれたアプリケーションサー
バー
レプリケーション データベースを別のデータベースに複製して同期する、データベース管
理ソフトウェア(DBMS)の一機能のこと
Blockchainは分散というかPCの数だけデータベースがコピー?されてるからそれっぽい
これから先、Blockchainで取引などが行われるとすれば、取引を行うチェーンコードを書く
プログラマーがすごい契約書をかける司法書士?みたいな感じになる。
またBlockchainの技術を使う価値のあるアプリなどを考えることが大切
感想
すごい・・わかったようでわかんなかったような感じです・・・ P2P通信とか色々知ってお
くべき前提情報が乏しすぎた
各セクションで3ページくらいコマンド集とかたくさんあったけど、実装をやったことがない
のでいまいち不明
Blockchainの強みが信頼性の可視化ならシェアリングエコノミーもこの人なら信頼でき
る、ということがわかればもっと広がるのでは そういうのもBlockchain技術を使って作
れるのだろうか
Bluemixとかのサンプルを動かしてみたいけど、まだまだわからない。fabricだったり
Vagrantだったり仮想環境とか色々必要な材料が多すぎる。でも動かしてみたいなあ
・・・

More Related Content

Viewers also liked

La tecnología-The technology
La tecnología-The technology La tecnología-The technology
La tecnología-The technology samnel98
 
眾包制的想像
眾包制的想像眾包制的想像
眾包制的想像edious
 
C-2_Карпаратыўны каляндар БДУ “Фізікі і лірыкі”
C-2_Карпаратыўны каляндар БДУ “Фізікі і лірыкі”C-2_Карпаратыўны каляндар БДУ “Фізікі і лірыкі”
C-2_Карпаратыўны каляндар БДУ “Фізікі і лірыкі”Kseniya Martul
 
Cd 01(更新)
Cd 01(更新)Cd 01(更新)
Cd 01(更新)威 小
 
Jindal Power Steel Make in India
Jindal Power Steel Make in IndiaJindal Power Steel Make in India
Jindal Power Steel Make in IndiaJindalSteels
 
TW-K01(150X35mm) outdoor wpc decking floor
TW-K01(150X35mm) outdoor wpc decking floorTW-K01(150X35mm) outdoor wpc decking floor
TW-K01(150X35mm) outdoor wpc decking floor威 小
 
UTE DISEÑO Y PROGRAMACIÓN CURRICULAR EN ATENCIÓN A LA DIVERSIDAD Y ADAPTACION...
UTE DISEÑO Y PROGRAMACIÓN CURRICULAR EN ATENCIÓN A LA DIVERSIDAD Y ADAPTACION...UTE DISEÑO Y PROGRAMACIÓN CURRICULAR EN ATENCIÓN A LA DIVERSIDAD Y ADAPTACION...
UTE DISEÑO Y PROGRAMACIÓN CURRICULAR EN ATENCIÓN A LA DIVERSIDAD Y ADAPTACION...Elizabeth Romero
 
TF-04S(150x21mm) outdoor wood plastic composite cladding
TF-04S(150x21mm) outdoor wood plastic composite claddingTF-04S(150x21mm) outdoor wood plastic composite cladding
TF-04S(150x21mm) outdoor wood plastic composite cladding威 小
 
Valorsul centro triagem do lumiar
Valorsul  centro triagem do lumiarValorsul  centro triagem do lumiar
Valorsul centro triagem do lumiarCarolina Santos
 
C3_Карпаратыўны стыль БДУ
C3_Карпаратыўны стыль БДУC3_Карпаратыўны стыль БДУ
C3_Карпаратыўны стыль БДУKseniya Martul
 

Viewers also liked (14)

La tecnología-The technology
La tecnología-The technology La tecnología-The technology
La tecnología-The technology
 
眾包制的想像
眾包制的想像眾包制的想像
眾包制的想像
 
C-2_Карпаратыўны каляндар БДУ “Фізікі і лірыкі”
C-2_Карпаратыўны каляндар БДУ “Фізікі і лірыкі”C-2_Карпаратыўны каляндар БДУ “Фізікі і лірыкі”
C-2_Карпаратыўны каляндар БДУ “Фізікі і лірыкі”
 
Cd 01(更新)
Cd 01(更新)Cd 01(更新)
Cd 01(更新)
 
Cultural genocide
Cultural genocideCultural genocide
Cultural genocide
 
Jindal Power Steel Make in India
Jindal Power Steel Make in IndiaJindal Power Steel Make in India
Jindal Power Steel Make in India
 
TW-K01(150X35mm) outdoor wpc decking floor
TW-K01(150X35mm) outdoor wpc decking floorTW-K01(150X35mm) outdoor wpc decking floor
TW-K01(150X35mm) outdoor wpc decking floor
 
UTE DISEÑO Y PROGRAMACIÓN CURRICULAR EN ATENCIÓN A LA DIVERSIDAD Y ADAPTACION...
UTE DISEÑO Y PROGRAMACIÓN CURRICULAR EN ATENCIÓN A LA DIVERSIDAD Y ADAPTACION...UTE DISEÑO Y PROGRAMACIÓN CURRICULAR EN ATENCIÓN A LA DIVERSIDAD Y ADAPTACION...
UTE DISEÑO Y PROGRAMACIÓN CURRICULAR EN ATENCIÓN A LA DIVERSIDAD Y ADAPTACION...
 
TF-04S(150x21mm) outdoor wood plastic composite cladding
TF-04S(150x21mm) outdoor wood plastic composite claddingTF-04S(150x21mm) outdoor wood plastic composite cladding
TF-04S(150x21mm) outdoor wood plastic composite cladding
 
Valorsul centro triagem do lumiar
Valorsul  centro triagem do lumiarValorsul  centro triagem do lumiar
Valorsul centro triagem do lumiar
 
C3_Карпаратыўны стыль БДУ
C3_Карпаратыўны стыль БДУC3_Карпаратыўны стыль БДУ
C3_Карпаратыўны стыль БДУ
 
Quy trình sản xuất rau an toàn FVF - Mrsach.com.vn
Quy trình sản xuất rau an toàn FVF - Mrsach.com.vnQuy trình sản xuất rau an toàn FVF - Mrsach.com.vn
Quy trình sản xuất rau an toàn FVF - Mrsach.com.vn
 
M.Pandey( New resume)
M.Pandey( New resume)M.Pandey( New resume)
M.Pandey( New resume)
 
Beautiful home sabanera
Beautiful home sabaneraBeautiful home sabanera
Beautiful home sabanera
 

Obcまとめ