LoginSignup
6
6

More than 5 years have passed since last update.

hyperledger-fabricにブロックチェーンを学ぶ(1/9)ブロックチェーンとは

Last updated at Posted at 2019-03-10

グレイトフル・デッドにマーケティングを学ぶ

⇒ hyperledger-fabricにブロックチェーンを学ぶ(1/9)ブロックチェーンとは
  hyperledger-fabricにブロックチェーンを学ぶ(2/9)サンプルを動かす
  hyperledger-fabricにブロックチェーンを学ぶ(3/9)ブロックを見る
  hyperledger-fabricにブロックチェーンを学ぶ(4/9)kafkaを入れる
  hyperledger-fabricにブロックチェーンを学ぶ(5/9)可視化する

ブロックチェーンネットワークは、オープン、コンソーシアム、プライベートの3タイプに分けられる。ブロックチェーン比較
 オープン:誰でもアクセス可能
 コンソーシアム:認証された人のみアクセス可能
 プライベート:一人だけアクセス可能

hyperledger-fabricはコンソーシアムになる。
image.png
何を言っているのか分からねーと思うので

システム構成

1組織の最小構成は以下のようになる。
※1枠が一つのサーバで、dockerで構築する。peerとDBで最小構成とするのは現実とかけ離れ過ぎる気がしてやめた。
bcn.jpg

  • caはCertificate Authorityの略で、peerにアクセスするための認証を担う。
  • peerはブロックチェーンを持っている。すべてのpeerで同じブロックチェーンを持つ。チェーンコードは検証に参加する場合に必要。
  • DBは標準でstatedbがバンドルされている。CouchDB、BerkeleyDBが選択できる。CouchDBはdocker image。BerkeleyDBはOracle製品。

DBには何が入っているのか?

ブロックチェーンは実行したメソッドと引数しか保持していない。つまり、
ポルナレフからイギーに10円送金するメソッドをsend(ポルナレフ,イギー,10)とすると、ブロックチェーンが保持しているのはsend(ポルナレフ,イギー,10)だけで、ポルナレフとイギーがいくら持っているかは、ブロックチェーンでは分からない。
ポルナレフの所持金を見るには、DBからポルナレフをキーに取得する必要がある。

チェーンコードは何をするのか?

ポルナレフからイギーに10円送金するとき、手数料をとられるケースを考える。
送金額の1%を手数料とすると、send(ポルナレフ,イギー,10)では、ポルナレフの所持金から10.1円を引き、元締めに0.1円足し、イギーに10円を足す。
この一連の処理を行うのがチェーンコードだ。
チェーンコードが実行されるとブロック生成される。つまり、
ブロックがチェーン状に連なる。

ブロックチェーンで知ったかぶりをする

DBに保持されているのは現在の値、ブロックチェーンに保持されているのは履歴
これさえ言えれば、いかにも知った風は装えるだろう。
チェーンコードについては上記だけでは足りないので、知ったかぶりをするときに触れてはいけない。

つづく(システム構築の予定)

6
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6