BlockchainGIG 集中講座#1 Hyperledger Fabric(再)入門

2022年10月11日開催 BlockchainGIG 集中講座#1 Hyperledger Fabric(再)入門 にご参加いただいた皆さまありがとうございました! そしてお疲れ様でした。 投稿いただいたTweetまとめました。 続きを読む
0
Japan Oracle Developer Community @OracleDev_JP

#blockchaingig 情報💁‍♀️】 🗓明日19時から4週連続、全4回シリーズでBlockchain GIG 集中講座がスタート👨‍💻 ぜひこの機会に「Hyperledger Fabric」を改めて基礎から学び、最新情報も入手してください! もちろんスピーカーは @gakumura 氏✨ お楽しみに!! oracle-code-tokyo-dev.connpass.com/event/258009/

2022-10-10 12:14:00
mine @minetech3

久しぶりにオンラインセミナーに参加してみる。 【全4回 集中講座#1】Hyperledger Fabric(再)入門 oracle-code-tokyo-dev.connpass.com/event/258009/ #blockchaingig

2022-10-11 18:59:33
こたつ&&みかん @kota2and3kan

Hyperledger って Fabric 以外にもいろんな OSS があるのか。 #blockchaingig

2022-10-11 19:09:47
mine @minetech3

3大エンタープライズブロックチェーン ・Hyperledger Fabric ・Corda ・Quorum #blockchaingig

2022-10-11 19:14:54
こたつ&&みかん @kota2and3kan

複数の個人や組織が参加できるようになっている場合、故障やミスだけでなく「悪意にも備える必要」がある。なるほど。 #blockchaingig

2022-10-11 19:19:52
こたつ&&みかん @kota2and3kan

Hyperledger Fabric はコンソーシアム型のユースケースに最適化されてるらしい。 #blockchaingig

2022-10-11 19:21:32
こたつ&&みかん @kota2and3kan

Hyperledger Fabric は耐障害性や可用性の部分を (裏で使っている DB 側ではなく) Hyperledger Fabric 側のプロトコルでカバーしているらしい。実装難しそうだ... #blockchaingig

2022-10-11 19:23:15
mine @minetech3

Orgを追加/削除できるsuper userがいるのが、いまいちすっきりしないんですよねぇ。 #blockchaingig

2022-10-11 19:28:39
こたつ&&みかん @kota2and3kan

Hyperledger Fabric におけるスマートコントラクトは「Chaincode」というらしい。Chaincode は Node.js, Go, Java で開発できるとのこと。 #blockchaingig

2022-10-11 19:34:09
こたつ&&みかん @kota2and3kan

Hyperledger Fabric の「台帳」には「Blockchain (Tx の履歴)」と「World State (最新の状態を格納する KVS)」が含まれている。なるほど。 #blockchaingig

2022-10-11 19:38:35
こたつ&&みかん @kota2and3kan

World State のデータを格納する State DB には LevelDB or CouchDB を利用できる (選択可能) らしい。 #blockchaingig

2022-10-11 19:39:36
こたつ&&みかん @kota2and3kan

Hyperledger Fabric のコンセンサスアルゴリズムは PBFT ではないらしい。(HLF v0.6 までは PBFT だったが、HFL v1.0 以降は PBFT ではないらしい。) #blockchaingig

2022-10-11 19:48:22
こたつ&&みかん @kota2and3kan

お話が難しくなってきた。Tx なんもわからん。 #blockchaingig

2022-10-11 19:52:56
こたつ&&みかん @kota2and3kan

複数の Peer で Chaincode を実行することで、悪意のある不正なロジックの実行や単一 Peer の Bug で変な実行結果になってしまうことを防いでるって感じか。で、問題がないことを一度確認した上で実際に Tx としてそれらを記録する感じっぽい。 #blockchaingig

2022-10-11 19:56:30
こたつ&&みかん @kota2and3kan

複数の Peer から集めた Endorsement の内容を不正に改ざんしてから Orderer に Tx を送信する、みたいなことができちゃったりしないのだろうか...? 「Peer が署名する」ってなってるから、その部分で不正な処理を防いでる感じだろうか? #blockchaingig

2022-10-11 19:58:30
こたつ&&みかん @kota2and3kan

複数のクライアントから同じ Key に対する Write が来たときはどうやって version の値を決めてるんだろうか。Endorsement フェーズでは一旦各々で実行するけど、Ordering フェーズで Tx の Conflict が検知される感じかな? #blockchaingig

2022-10-11 20:04:49
こたつ&&みかん @kota2and3kan

Validation フェーズで各署名を確認してて、メッセージが途中で改ざんされていないかをチェックしてるらしい。Endorsement の改ざんはこの部分で検知できそうな感じっぽいな。 #blockchaingig

2022-10-11 20:08:37
こたつ&&みかん @kota2and3kan

Validation フェーズで (Endorsement フェーズで実行した Chaincode の実行結果である) Read-Set の Key の version を確認 (他の Tx で更新されていないかを確認) してるらしい。なるほど。 #blockchaingig

2022-10-11 20:10:42
こたつ&&みかん @kota2and3kan

Key の Lock はしてないとのこと。OCC っぽい感じかな。 #blockchaingig

2022-10-11 20:12:17
こたつ&&みかん @kota2and3kan

Hyperledger Fabric の Tx は以下の 3つのフェーズで構成されているらしい。 Endorsement Ordering Validation #blockchaingig

2022-10-11 20:14:56
こたつ&&みかん @kota2and3kan

Hyperledger Fabric には「あるデータを特定の組織にのみ見せる (データ共有範囲制御)」機能があるらしい。これ、「一つの組織にだけ見える」って設定もできちゃったりするんだろうか? #blockchaingig

2022-10-11 20:20:26
こたつ&&みかん @kota2and3kan

複数組織の Peer で Endorsement フェーズを実行できなくなるのでダメが気がするな。 #blockchaingig

2022-10-11 20:20:54
こたつ&&みかん @kota2and3kan

Private Date という機能で、「Tx 内の一部のデータを一部の Channel のメンバーに限定して共有する」ことができるらしい。Blockchain にも残らないとのことだけど、その場合そのデータに対する耐改ざん性とかのブロックチェーンのメリットは享受できるのだろうか? #blockchaingig

2022-10-11 20:29:52