SlideShare una empresa de Scribd logo
1 de 26
Descargar para leer sin conexión
© Hitachi, Ltd. 2019. All rights reserved.
Hyperledger Tokyo Meetup
株式会社 日立製作所 サービスプラットフォーム事業本部
Blockchain推進部
2019/06/27
梅田 多一
IoT×Blockchain活用事例
~トイレに学ぶHyperledger Fabricシステム開発の勘所~
© Hitachi, Ltd. 2019. All rights reserved.
1. Why Blockchain ?
2. システム構成と処理方式
3. システム開発の勘所
Contents
1
© Hitachi, Ltd. 2019. All rights reserved.
1. Why Blockchain ?
2
© Hitachi, Ltd. 2019. All rights reserved.
トイレにブロックチェーンを適用する3つの理由
(1)基本的な価値
取引の否認&なりすまし防止、取引記録の
本人/組織/他による改ざん&削除防止
分散した組織間で取引を同じ内容同じ順番
に実行できる。リコンサイル不要化
(2)期待される価値
契約をプログラムとして記述が可能
契約条件に基づく取引の自動化 (DAO/DAC:Decentralized Autonomous Organization / Company)
署名/取引記録技術による価値
2 取引の信頼性担保
3 取引の自動化
1 取引の透明性担保
P2P/分散合意技術による価値
スマートコントラクトによる価値
3
© Hitachi, Ltd. 2019. All rights reserved.
①透明性(取引の透明性担保)
オレが〇〇〇したいとき
いつも空いてないんだよ
(怒)
トイレの見える化
4
Hyperledger Governing Board
日立 金融 長稔也本部長
© Hitachi, Ltd. 2019. All rights reserved.
③ブロック
(Orderer)
の署名
①トイレ
(toilet1)
の署名
②各サーバ
(org1, org2)
の署名
ブロック情報
限界の人にとって改ざんは絶望
②改ざん耐性(取引の信頼性担保)
5
© Hitachi, Ltd. 2019. All rights reserved.
IoT→BC→AI→IoTの連携で業務はもっと効率化できる
①AIによるさぼり検知
②スマートロックでドアオープン
②’赤外線操作でウォシュレット発射
※実際には実行していません
40分
③スマートコントラクト(取引の自動化)
6
© Hitachi, Ltd. 2019. All rights reserved.
ブロック情報
トイレにブロックチェーンを適用するXXXの理由
7
© Hitachi, Ltd. 2019. All rights reserved.
2. システム構成と処理方式
8
© Hitachi, Ltd. 2019. All rights reserved.
システム構成
Orderer
ブロックチェーンネットワーク
Peer0
Node SDK
Chaincode
ブラウザ
Hyperledger Fabricのサンプルとして提供されている
balance-transferを使ってブロックチェーンネットワークを構成
5F北東(5EN)トイレ
センサ情報
Peer1
Chaincode
Node SDK
5F南東(5ES)トイレ
Node SDK
Node SDK
Peer1
Chaincode
Peer0
Chaincode
Org1 Org2
Node SDK
REST Server
5F北西(5WN)トイレ
5F南西(5WS)トイレ
センサ情報センサ情報
センサ情報
Endorsement Policy:
両方の組織(Org1&Org2)の署名が必要
9
© Hitachi, Ltd. 2019. All rights reserved.
トイレ側の処理方式
Raspberry Pi
Node.js
Fabric Node SDK
updateAll({
“5WS1”:0,
“5WS2”:1,
“5WS3”:1,
“5WS4”:0
})
センサ情報を毎秒送信
5WS?: 5F南西トイレのベンザID
0/1: 空室/使用中
clearCount(“5WS”)
トイレ掃除後に送信
10
出典:RSコンポーネンツ販売サイト
© Hitachi, Ltd. 2019. All rights reserved.
回路/制御プログラム
メス
510Ω
1kΩ
510Ω
EchoTriger
・Trigerを10μ秒HIGHにすると距離測定開始
・距離測定中はEchoがHIGH
・距離=(EchoがHIGHの時間×340m/s)÷2
11
出典:www.pi4j.com
出典:RSコンポーネンツ販売サイト
出典:www.amazon.co.jp
出典:www.amazon.co.jp
© Hitachi, Ltd. 2019. All rights reserved.
サーバ側の処理方式(センサ情報)
Key Value
5WS1 {"status":0,"count":10}
5WS2 {"status":1,"count":10}
5WS3 {"status":0,"count":10}
5WS4 {"status":1,"count":10}
updateAll({
“5WS1”:0,
“5WS2”:1,
“5WS3”:1,
“5WS4”:0
})
Key Value
5WS1 {"status":0,"count":10}
5WS2 {"status":1,"count":10}
5WS3 {"status":1,"count":11}
5WS4 {"status":0,"count":10}
5WS?: 5F南西トイレのベンザID
status 0/1: 空室/使用中
read set
write set
センサ情報を毎秒送信
12
© Hitachi, Ltd. 2019. All rights reserved.
サーバ側の処理方式(トイレ掃除)
clearCount(“5WS”)
Key Value
5WS1 {"status":0,"count":10}
5WS2 {"status":1,"count":10}
5WS3 {"status":0,"count":10}
5WS4 {"status":1,"count":10}
Key Value
5WS1 {"status":0,"count":0}
5WS2 {"status":1,"count":0}
5WS3 {"status":0,"count":0}
5WS4 {"status":1,"count":0}
5WS?: 5F南西トイレのベンザID
status 0/1: 空室/使用中
read set
write set
トイレ掃除後に送信
13
© Hitachi, Ltd. 2019. All rights reserved.
3. システム開発の勘所
14
© Hitachi, Ltd. 2019. All rights reserved.
IoTによる大量更新
Key Value
5WS1 {"status":0,"count":10}
5WS2 {"status":1,"count":10}
5WS3 {"status":0,"count":10}
5WS4 {"status":1,"count":10}
updateAll({
“5WS1”:0,
“5WS2”:1,
“5WS3”:1,
“5WS4”:0
})
Key Value
5WS1 {"status":0,"count":10}
5WS2 {"status":1,"count":10}
5WS3 {"status":1,"count":11}
5WS4 {"status":0,"count":10}
read set
write set
センサ情報を毎秒送信
updateAll({
“5WS1”:0,
“5WS2”:1,
“5WS3”:1,
“5WS4”:0
})
Key Value
5WS1 {"status":0,"count":10}
5WS2 {"status":1,"count":10}
5WS3 {"status":1,”count”:11}
5WS4 {"status":0,"count":10}
read set
トイレ側 サーバ側
Key Value
5WS1 {"status":0,"count":10}
5WS2 {"status":1,"count":10}
5WS3 {"status":1,”count”:11}
5WS4 {"status":0,"count":10}
write set
なし
updateAll({
“5WS1”:0,
“5WS2”:1,
“5WS3”:1,
“5WS4”:0
})
Key Value
5WS1 {"status":0,"count":10}
5WS2 {"status":1,"count":10}
5WS3 {"status":1,”count”:11}
5WS4 {"status":0,"count":10}
read set
Key Value
5WS1 {"status":0,"count":10}
5WS2 {"status":1,"count":10}
5WS3 {"status":1,”count”:11}
5WS4 {"status":0,"count":10}
write set
なし
15
© Hitachi, Ltd. 2019. All rights reserved.
IoTによる大量更新
Peer1
Chaincode
Orderer
Node SDK
Peer1
Chaincode
5F南西(5WS)トイレ
センサ情報
Org1 Org2
センサ情報
read write set + Endorsement
read write set + Endorsement
①シミュレーション
②read write set生成
③Endorse
トランザクション(read write set + Endorsement)
ブロック
(トランザクション群)
生成ブロック
①トランザクションのEndorsement検証
②MVCC(Multi version Concurrency Control)
③commit
①シミュレーション
②read write set生成
③Endorse
ブロック
16
© Hitachi, Ltd. 2019. All rights reserved.
IoTによる大量更新
Peer1
Chaincode
Orderer
Node SDK
Peer1
Chaincode
5F南西(5WS)トイレ
センサ情報
Org1 Org2
センサ情報
read write set + Endorsement
read write set + Endorsement
①シミュレーション
②read write set生成
③Endorse
トランザクション(read write set + Endorsement)
ブロック
(トランザクション群)
生成ブロック
①トランザクションのEndorsement検証
②MVCC(Multi version Concurrency Control)
③commit
①シミュレーション
②read write set生成
③Endorse
ブロック
更新がなければ(write setがなければ)
トランザクションを発行しないことで
余計なブロックの生成を抑える
17
© Hitachi, Ltd. 2019. All rights reserved.
同一Keyの同時更新
Key Value
5WS1 {"status":0,"count":10}
5WS2 {"status":1,"count":10}
5WS3 {"status":0,"count":10}
5WS4 {"status":1,"count":10}
updateAll({
“5WS1”:0,
“5WS2”:1,
“5WS3”:1,
“5WS4”:0
})
Key Value
5WS1 {"status":0,"count":10}
5WS2 {"status":1,"count":10}
5WS3 {"status":1,"count":11}
5WS4 {"status":0,"count":10}
read set
write set
センサ情報を毎秒送信
トイレ側 サーバ側
clearCount(“5WS”)
Key Value
5WS1 {"status":0,"count":10}
5WS2 {"status":1,"count":10}
5WS3 {"status":0,"count":10}
5WS4 {"status":1,"count":10}
Key Value
5WS1 {"status":0,"count":0}
5WS2 {"status":1,"count":0}
5WS3 {"status":0,"count":0}
5WS4 {"status":1,"count":0}
トイレ掃除後に送信
read set write set
version 100 version 101
version 100 version 101
MVCCで失敗してもセンサ情報はすぐ届く
MVCCで失敗したらリトライが必要
18
© Hitachi, Ltd. 2019. All rights reserved.
同一Keyの同時更新
clearCount(“5WS”)
Key Value
5WS1 {"status":0,"count":10}
5WS2 {"status":1,"count":10}
5WS3 {"status":0,"count":10}
5WS4 {"status":1,"count":10}
トイレ掃除後に送信
Key Value
5WS1Count {"count":10}
5WS2Count {"count":10}
5WS3Count {"count":10}
5WS4Count {"count":10}
Key Value
5WS1 {"status":0}
5WS2 {"status":1}
5WS3 {"status":0}
5WS4 {"status":1}
Key Value
5WS1Count {"count":0}
5WS2Count {"count":0}
5WS3Count {"count":0}
5WS4Count {"count":0}
Key Value
5WS1 {"status":0}
5WS2 {"status":1}
5WS3 {"status":0}
5WS4 {"status":1}
write set
read set
なし
MVCCで失敗しない
countを独立したキーとして分離
19
© Hitachi, Ltd. 2019. All rights reserved.
秘密鍵はどこへ消えた?
Orderer
ブロックチェーンネットワーク
Peer0
Chaincode
Peer1
Chaincode
Peer1
Chaincode
Peer0
Chaincode
Org1 Org2
Node SDK
REST Server
balance-transferはNode SDK REST Serverを提供していて便利
/tmpのクリーンアップによって
秘密鍵が削除されるのでご注意ください。
20
© Hitachi, Ltd. 2019. All rights reserved.
さいごに
• 音速
カンオケ
この地球号に乗って
誰もが向かっている場所?
• 宇宙船地球号
340m/s×60s×60m≒1225km/h
4万77km÷24h≒1670km/h
21
© Hitachi, Ltd. 2019. All rights reserved.
IoT×Blockchainで一歩前へ
電光掲示板
超音波
距離センサ
22
© Hitachi, Ltd. 2019. All rights reserved.
他社商品名、商標等の引用に関する表示
23
HITACHIは、株式会社 日立製作所の商標または登録商標です。
Hyperledger 及びHyperledger Fabric はThe Linux Foundationの米国およびその他の国における登録商標です。
Raspberry PiはRaspberry Pi財団の登録商標です。
その他記載の会社名、製品名などは、それぞれの会社の商標もしくは登録商標です。
© Hitachi, Ltd. 2019. All rights reserved.
株式会社 日立製作所 サービスプラットフォーム事業本部
Blockchain推進部
~トイレに学ぶHyperledger Fabricシステム開発の勘所~
IoT×Blockchain活用事例
2019/06/27
梅田 多一
END
24
IoT×Blockchain活用事例 ~トイレに学ぶHyperledger Fabricシステム開発の勘所~

Más contenido relacionado

La actualidad más candente

【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
Hibino Hisashi
 

La actualidad más candente (20)

実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
 
Kongの概要と導入事例
Kongの概要と導入事例Kongの概要と導入事例
Kongの概要と導入事例
 
Keycloak拡張入門
Keycloak拡張入門Keycloak拡張入門
Keycloak拡張入門
 
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
 
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
 
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
 
分散システムについて語らせてくれ
分散システムについて語らせてくれ分散システムについて語らせてくれ
分散システムについて語らせてくれ
 
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
 
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
 
実践!OpenTelemetry と OSS を使った Observability 基盤の構築(CloudNative Days Tokyo 2022 発...
実践!OpenTelemetry と OSS を使った Observability 基盤の構築(CloudNative Days Tokyo 2022 発...実践!OpenTelemetry と OSS を使った Observability 基盤の構築(CloudNative Days Tokyo 2022 発...
実践!OpenTelemetry と OSS を使った Observability 基盤の構築(CloudNative Days Tokyo 2022 発...
 
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
 
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
 
単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介
 
BuildKitの概要と最近の機能
BuildKitの概要と最近の機能BuildKitの概要と最近の機能
BuildKitの概要と最近の機能
 
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
 
KeycloakでFAPIに対応した高セキュリティなAPIを公開する
KeycloakでFAPIに対応した高セキュリティなAPIを公開するKeycloakでFAPIに対応した高セキュリティなAPIを公開する
KeycloakでFAPIに対応した高セキュリティなAPIを公開する
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
KeycloakでAPI認可に入門する
KeycloakでAPI認可に入門するKeycloakでAPI認可に入門する
KeycloakでAPI認可に入門する
 
NGINXをBFF (Backend for Frontend)として利用した話
NGINXをBFF (Backend for Frontend)として利用した話NGINXをBFF (Backend for Frontend)として利用した話
NGINXをBFF (Backend for Frontend)として利用した話
 
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
 

Similar a IoT×Blockchain活用事例 ~トイレに学ぶHyperledger Fabricシステム開発の勘所~

北海道Io tあるじゃん1 ネクステック
北海道Io tあるじゃん1 ネクステック北海道Io tあるじゃん1 ネクステック
北海道Io tあるじゃん1 ネクステック
Norikatsu Oishi
 
20150704 MS Azure最新 - innovation egg 第4回
20150704 MS Azure最新 - innovation egg 第4回20150704 MS Azure最新 - innovation egg 第4回
20150704 MS Azure最新 - innovation egg 第4回
Keiji Kamebuchi
 

Similar a IoT×Blockchain活用事例 ~トイレに学ぶHyperledger Fabricシステム開発の勘所~ (20)

LoRaWANとAzure IoT Hub接続ハンズオン
LoRaWANとAzure IoT Hub接続ハンズオンLoRaWANとAzure IoT Hub接続ハンズオン
LoRaWANとAzure IoT Hub接続ハンズオン
 
JAWS DAYS 2018 | IoT時代におけるデバイスのファームウェアとクラウドのいい関係
JAWS DAYS 2018 | IoT時代におけるデバイスのファームウェアとクラウドのいい関係JAWS DAYS 2018 | IoT時代におけるデバイスのファームウェアとクラウドのいい関係
JAWS DAYS 2018 | IoT時代におけるデバイスのファームウェアとクラウドのいい関係
 
AWSオンリーで実現するIoTクラウド基盤
AWSオンリーで実現するIoTクラウド基盤AWSオンリーで実現するIoTクラウド基盤
AWSオンリーで実現するIoTクラウド基盤
 
Couchbase Live Tokyo 2015 - DP4版と侮るなかれ!現時点でもN1QLは実用に耐えうる
Couchbase Live Tokyo 2015 - DP4版と侮るなかれ!現時点でもN1QLは実用に耐えうるCouchbase Live Tokyo 2015 - DP4版と侮るなかれ!現時点でもN1QLは実用に耐えうる
Couchbase Live Tokyo 2015 - DP4版と侮るなかれ!現時点でもN1QLは実用に耐えうる
 
OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏
OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏
OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏
 
Internet of Toilet / Jaws festa 2016
Internet of Toilet / Jaws festa 2016Internet of Toilet / Jaws festa 2016
Internet of Toilet / Jaws festa 2016
 
IoT ビジネス共創ラボの趣旨説明 地方共創ラボ紹介
IoT ビジネス共創ラボの趣旨説明 地方共創ラボ紹介IoT ビジネス共創ラボの趣旨説明 地方共創ラボ紹介
IoT ビジネス共創ラボの趣旨説明 地方共創ラボ紹介
 
IoTとServerlessの世界 Jawsfesta_1103
IoTとServerlessの世界 Jawsfesta_1103IoTとServerlessの世界 Jawsfesta_1103
IoTとServerlessの世界 Jawsfesta_1103
 
Iotlitercy wg no7
Iotlitercy wg no7Iotlitercy wg no7
Iotlitercy wg no7
 
HTML5 conference 2013
HTML5 conference 2013HTML5 conference 2013
HTML5 conference 2013
 
北海道Io tあるじゃん1 ネクステック
北海道Io tあるじゃん1 ネクステック北海道Io tあるじゃん1 ネクステック
北海道Io tあるじゃん1 ネクステック
 
20150704 MS Azure最新 - innovation egg 第4回
20150704 MS Azure最新 - innovation egg 第4回20150704 MS Azure最新 - innovation egg 第4回
20150704 MS Azure最新 - innovation egg 第4回
 
センターSEがインスタンスの止め忘れを監視してみた
センターSEがインスタンスの止め忘れを監視してみたセンターSEがインスタンスの止め忘れを監視してみた
センターSEがインスタンスの止め忘れを監視してみた
 
日本発オープンソース!! スケールアウト型データベース GridDB入門 ~ GitHubからダウンロードして使ってみましょう ~
日本発オープンソース!! スケールアウト型データベース GridDB入門 ~ GitHubからダウンロードして使ってみましょう ~日本発オープンソース!! スケールアウト型データベース GridDB入門 ~ GitHubからダウンロードして使ってみましょう ~
日本発オープンソース!! スケールアウト型データベース GridDB入門 ~ GitHubからダウンロードして使ってみましょう ~
 
db tech showcase2016 - MySQLドキュメントストア
db tech showcase2016 - MySQLドキュメントストアdb tech showcase2016 - MySQLドキュメントストア
db tech showcase2016 - MySQLドキュメントストア
 
JAWS DAYS 2020 AWS Well-Architected Frameworkの使いドコロとオートメーション化へのチャレンジ
JAWS DAYS 2020 AWS Well-Architected Frameworkの使いドコロとオートメーション化へのチャレンジJAWS DAYS 2020 AWS Well-Architected Frameworkの使いドコロとオートメーション化へのチャレンジ
JAWS DAYS 2020 AWS Well-Architected Frameworkの使いドコロとオートメーション化へのチャレンジ
 
QoS for ROS 2 Dashing/Eloquent
QoS for ROS 2 Dashing/EloquentQoS for ROS 2 Dashing/Eloquent
QoS for ROS 2 Dashing/Eloquent
 
要求開発アライアンス 9月定例会議
要求開発アライアンス 9月定例会議要求開発アライアンス 9月定例会議
要求開発アライアンス 9月定例会議
 
サーバーレスアーキテクチャで実現するグローバル空調IoTプラットフォームへの挑戦
サーバーレスアーキテクチャで実現するグローバル空調IoTプラットフォームへの挑戦サーバーレスアーキテクチャで実現するグローバル空調IoTプラットフォームへの挑戦
サーバーレスアーキテクチャで実現するグローバル空調IoTプラットフォームへの挑戦
 
オープニング
オープニングオープニング
オープニング
 

Más de Hyperleger Tokyo Meetup

Más de Hyperleger Tokyo Meetup (20)

Hyperledger Irohaを活用した海外におけるCBDCとクロスボーダー送金
Hyperledger Irohaを活用した海外におけるCBDCとクロスボーダー送金Hyperledger Irohaを活用した海外におけるCBDCとクロスボーダー送金
Hyperledger Irohaを活用した海外におけるCBDCとクロスボーダー送金
 
Hyperledger FireFly - HYPERLEDGER Workshop, WebX
Hyperledger FireFly - HYPERLEDGER Workshop, WebXHyperledger FireFly - HYPERLEDGER Workshop, WebX
Hyperledger FireFly - HYPERLEDGER Workshop, WebX
 
Hyperledger Irohaを活用した海外におけるCBDCとクロスボーダー送金
Hyperledger Irohaを活用した海外におけるCBDCとクロスボーダー送金Hyperledger Irohaを活用した海外におけるCBDCとクロスボーダー送金
Hyperledger Irohaを活用した海外におけるCBDCとクロスボーダー送金
 
エンタープライズブロックチェーン構築の基礎
エンタープライズブロックチェーン構築の基礎エンタープライズブロックチェーン構築の基礎
エンタープライズブロックチェーン構築の基礎
 
ブロックチェーンを用いた自己主権型デジタルID管理
ブロックチェーンを用いた自己主権型デジタルID管理ブロックチェーンを用いた自己主権型デジタルID管理
ブロックチェーンを用いた自己主権型デジタルID管理
 
異種ブロックチェーン統合ツールHyperledger Cactiご紹介
異種ブロックチェーン統合ツールHyperledger Cactiご紹介異種ブロックチェーン統合ツールHyperledger Cactiご紹介
異種ブロックチェーン統合ツールHyperledger Cactiご紹介
 
ファイアフライ「蛍」FireFly to Public and Private Chains
ファイアフライ「蛍」FireFly to Public and Private Chainsファイアフライ「蛍」FireFly to Public and Private Chains
ファイアフライ「蛍」FireFly to Public and Private Chains
 
Hyperledger Fabric 概説
Hyperledger Fabric 概説Hyperledger Fabric 概説
Hyperledger Fabric 概説
 
Hyperledger Besuの動向
Hyperledger Besuの動向Hyperledger Besuの動向
Hyperledger Besuの動向
 
Hyperledger Iroha
Hyperledger IrohaHyperledger Iroha
Hyperledger Iroha
 
Hyperledger Aries 101
Hyperledger Aries 101Hyperledger Aries 101
Hyperledger Aries 101
 
Introduction; Blockchain 101
Introduction; Blockchain 101Introduction; Blockchain 101
Introduction; Blockchain 101
 
Trusted Data Ecosystems(信頼できるデータエコシステム):アイデンティティに価値を見出す
Trusted Data Ecosystems(信頼できるデータエコシステム):アイデンティティに価値を見出すTrusted Data Ecosystems(信頼できるデータエコシステム):アイデンティティに価値を見出す
Trusted Data Ecosystems(信頼できるデータエコシステム):アイデンティティに価値を見出す
 
ブロックチェーン間のインターオペラビリティ概論
ブロックチェーン間のインターオペラビリティ概論ブロックチェーン間のインターオペラビリティ概論
ブロックチェーン間のインターオペラビリティ概論
 
ブロックチェーン統合ツールCactusとトークンエコノミー実現への期待
ブロックチェーン統合ツールCactusとトークンエコノミー実現への期待ブロックチェーン統合ツールCactusとトークンエコノミー実現への期待
ブロックチェーン統合ツールCactusとトークンエコノミー実現への期待
 
Hyperledger Fabric活用事例:貿易プラットフォームTradeWaltz
Hyperledger Fabric活用事例:貿易プラットフォームTradeWaltzHyperledger Fabric活用事例:貿易プラットフォームTradeWaltz
Hyperledger Fabric活用事例:貿易プラットフォームTradeWaltz
 
パネルディスカッション : エンタープライズブロックチェーンの活用例 オラクル資料
パネルディスカッション : エンタープライズブロックチェーンの活用例 オラクル資料パネルディスカッション : エンタープライズブロックチェーンの活用例 オラクル資料
パネルディスカッション : エンタープライズブロックチェーンの活用例 オラクル資料
 
ソラミツのご紹介 〜Hyperledger Irohaを活用した導入事例〜
ソラミツのご紹介 〜Hyperledger Irohaを活用した導入事例〜ソラミツのご紹介 〜Hyperledger Irohaを活用した導入事例〜
ソラミツのご紹介 〜Hyperledger Irohaを活用した導入事例〜
 
いろはを活用したデジタル地域通貨の運用開始
いろはを活用したデジタル地域通貨の運用開始いろはを活用したデジタル地域通貨の運用開始
いろはを活用したデジタル地域通貨の運用開始
 
パネルディスカッション : エンタープライズブロックチェーンの活用例
パネルディスカッション : エンタープライズブロックチェーンの活用例パネルディスカッション : エンタープライズブロックチェーンの活用例
パネルディスカッション : エンタープライズブロックチェーンの活用例
 

Último

Último (7)

LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 

IoT×Blockchain活用事例 ~トイレに学ぶHyperledger Fabricシステム開発の勘所~

  • 1. © Hitachi, Ltd. 2019. All rights reserved. Hyperledger Tokyo Meetup 株式会社 日立製作所 サービスプラットフォーム事業本部 Blockchain推進部 2019/06/27 梅田 多一 IoT×Blockchain活用事例 ~トイレに学ぶHyperledger Fabricシステム開発の勘所~
  • 2. © Hitachi, Ltd. 2019. All rights reserved. 1. Why Blockchain ? 2. システム構成と処理方式 3. システム開発の勘所 Contents 1
  • 3. © Hitachi, Ltd. 2019. All rights reserved. 1. Why Blockchain ? 2
  • 4. © Hitachi, Ltd. 2019. All rights reserved. トイレにブロックチェーンを適用する3つの理由 (1)基本的な価値 取引の否認&なりすまし防止、取引記録の 本人/組織/他による改ざん&削除防止 分散した組織間で取引を同じ内容同じ順番 に実行できる。リコンサイル不要化 (2)期待される価値 契約をプログラムとして記述が可能 契約条件に基づく取引の自動化 (DAO/DAC:Decentralized Autonomous Organization / Company) 署名/取引記録技術による価値 2 取引の信頼性担保 3 取引の自動化 1 取引の透明性担保 P2P/分散合意技術による価値 スマートコントラクトによる価値 3
  • 5. © Hitachi, Ltd. 2019. All rights reserved. ①透明性(取引の透明性担保) オレが〇〇〇したいとき いつも空いてないんだよ (怒) トイレの見える化 4 Hyperledger Governing Board 日立 金融 長稔也本部長
  • 6. © Hitachi, Ltd. 2019. All rights reserved. ③ブロック (Orderer) の署名 ①トイレ (toilet1) の署名 ②各サーバ (org1, org2) の署名 ブロック情報 限界の人にとって改ざんは絶望 ②改ざん耐性(取引の信頼性担保) 5
  • 7. © Hitachi, Ltd. 2019. All rights reserved. IoT→BC→AI→IoTの連携で業務はもっと効率化できる ①AIによるさぼり検知 ②スマートロックでドアオープン ②’赤外線操作でウォシュレット発射 ※実際には実行していません 40分 ③スマートコントラクト(取引の自動化) 6
  • 8. © Hitachi, Ltd. 2019. All rights reserved. ブロック情報 トイレにブロックチェーンを適用するXXXの理由 7
  • 9. © Hitachi, Ltd. 2019. All rights reserved. 2. システム構成と処理方式 8
  • 10. © Hitachi, Ltd. 2019. All rights reserved. システム構成 Orderer ブロックチェーンネットワーク Peer0 Node SDK Chaincode ブラウザ Hyperledger Fabricのサンプルとして提供されている balance-transferを使ってブロックチェーンネットワークを構成 5F北東(5EN)トイレ センサ情報 Peer1 Chaincode Node SDK 5F南東(5ES)トイレ Node SDK Node SDK Peer1 Chaincode Peer0 Chaincode Org1 Org2 Node SDK REST Server 5F北西(5WN)トイレ 5F南西(5WS)トイレ センサ情報センサ情報 センサ情報 Endorsement Policy: 両方の組織(Org1&Org2)の署名が必要 9
  • 11. © Hitachi, Ltd. 2019. All rights reserved. トイレ側の処理方式 Raspberry Pi Node.js Fabric Node SDK updateAll({ “5WS1”:0, “5WS2”:1, “5WS3”:1, “5WS4”:0 }) センサ情報を毎秒送信 5WS?: 5F南西トイレのベンザID 0/1: 空室/使用中 clearCount(“5WS”) トイレ掃除後に送信 10 出典:RSコンポーネンツ販売サイト
  • 12. © Hitachi, Ltd. 2019. All rights reserved. 回路/制御プログラム メス 510Ω 1kΩ 510Ω EchoTriger ・Trigerを10μ秒HIGHにすると距離測定開始 ・距離測定中はEchoがHIGH ・距離=(EchoがHIGHの時間×340m/s)÷2 11 出典:www.pi4j.com 出典:RSコンポーネンツ販売サイト 出典:www.amazon.co.jp 出典:www.amazon.co.jp
  • 13. © Hitachi, Ltd. 2019. All rights reserved. サーバ側の処理方式(センサ情報) Key Value 5WS1 {"status":0,"count":10} 5WS2 {"status":1,"count":10} 5WS3 {"status":0,"count":10} 5WS4 {"status":1,"count":10} updateAll({ “5WS1”:0, “5WS2”:1, “5WS3”:1, “5WS4”:0 }) Key Value 5WS1 {"status":0,"count":10} 5WS2 {"status":1,"count":10} 5WS3 {"status":1,"count":11} 5WS4 {"status":0,"count":10} 5WS?: 5F南西トイレのベンザID status 0/1: 空室/使用中 read set write set センサ情報を毎秒送信 12
  • 14. © Hitachi, Ltd. 2019. All rights reserved. サーバ側の処理方式(トイレ掃除) clearCount(“5WS”) Key Value 5WS1 {"status":0,"count":10} 5WS2 {"status":1,"count":10} 5WS3 {"status":0,"count":10} 5WS4 {"status":1,"count":10} Key Value 5WS1 {"status":0,"count":0} 5WS2 {"status":1,"count":0} 5WS3 {"status":0,"count":0} 5WS4 {"status":1,"count":0} 5WS?: 5F南西トイレのベンザID status 0/1: 空室/使用中 read set write set トイレ掃除後に送信 13
  • 15. © Hitachi, Ltd. 2019. All rights reserved. 3. システム開発の勘所 14
  • 16. © Hitachi, Ltd. 2019. All rights reserved. IoTによる大量更新 Key Value 5WS1 {"status":0,"count":10} 5WS2 {"status":1,"count":10} 5WS3 {"status":0,"count":10} 5WS4 {"status":1,"count":10} updateAll({ “5WS1”:0, “5WS2”:1, “5WS3”:1, “5WS4”:0 }) Key Value 5WS1 {"status":0,"count":10} 5WS2 {"status":1,"count":10} 5WS3 {"status":1,"count":11} 5WS4 {"status":0,"count":10} read set write set センサ情報を毎秒送信 updateAll({ “5WS1”:0, “5WS2”:1, “5WS3”:1, “5WS4”:0 }) Key Value 5WS1 {"status":0,"count":10} 5WS2 {"status":1,"count":10} 5WS3 {"status":1,”count”:11} 5WS4 {"status":0,"count":10} read set トイレ側 サーバ側 Key Value 5WS1 {"status":0,"count":10} 5WS2 {"status":1,"count":10} 5WS3 {"status":1,”count”:11} 5WS4 {"status":0,"count":10} write set なし updateAll({ “5WS1”:0, “5WS2”:1, “5WS3”:1, “5WS4”:0 }) Key Value 5WS1 {"status":0,"count":10} 5WS2 {"status":1,"count":10} 5WS3 {"status":1,”count”:11} 5WS4 {"status":0,"count":10} read set Key Value 5WS1 {"status":0,"count":10} 5WS2 {"status":1,"count":10} 5WS3 {"status":1,”count”:11} 5WS4 {"status":0,"count":10} write set なし 15
  • 17. © Hitachi, Ltd. 2019. All rights reserved. IoTによる大量更新 Peer1 Chaincode Orderer Node SDK Peer1 Chaincode 5F南西(5WS)トイレ センサ情報 Org1 Org2 センサ情報 read write set + Endorsement read write set + Endorsement ①シミュレーション ②read write set生成 ③Endorse トランザクション(read write set + Endorsement) ブロック (トランザクション群) 生成ブロック ①トランザクションのEndorsement検証 ②MVCC(Multi version Concurrency Control) ③commit ①シミュレーション ②read write set生成 ③Endorse ブロック 16
  • 18. © Hitachi, Ltd. 2019. All rights reserved. IoTによる大量更新 Peer1 Chaincode Orderer Node SDK Peer1 Chaincode 5F南西(5WS)トイレ センサ情報 Org1 Org2 センサ情報 read write set + Endorsement read write set + Endorsement ①シミュレーション ②read write set生成 ③Endorse トランザクション(read write set + Endorsement) ブロック (トランザクション群) 生成ブロック ①トランザクションのEndorsement検証 ②MVCC(Multi version Concurrency Control) ③commit ①シミュレーション ②read write set生成 ③Endorse ブロック 更新がなければ(write setがなければ) トランザクションを発行しないことで 余計なブロックの生成を抑える 17
  • 19. © Hitachi, Ltd. 2019. All rights reserved. 同一Keyの同時更新 Key Value 5WS1 {"status":0,"count":10} 5WS2 {"status":1,"count":10} 5WS3 {"status":0,"count":10} 5WS4 {"status":1,"count":10} updateAll({ “5WS1”:0, “5WS2”:1, “5WS3”:1, “5WS4”:0 }) Key Value 5WS1 {"status":0,"count":10} 5WS2 {"status":1,"count":10} 5WS3 {"status":1,"count":11} 5WS4 {"status":0,"count":10} read set write set センサ情報を毎秒送信 トイレ側 サーバ側 clearCount(“5WS”) Key Value 5WS1 {"status":0,"count":10} 5WS2 {"status":1,"count":10} 5WS3 {"status":0,"count":10} 5WS4 {"status":1,"count":10} Key Value 5WS1 {"status":0,"count":0} 5WS2 {"status":1,"count":0} 5WS3 {"status":0,"count":0} 5WS4 {"status":1,"count":0} トイレ掃除後に送信 read set write set version 100 version 101 version 100 version 101 MVCCで失敗してもセンサ情報はすぐ届く MVCCで失敗したらリトライが必要 18
  • 20. © Hitachi, Ltd. 2019. All rights reserved. 同一Keyの同時更新 clearCount(“5WS”) Key Value 5WS1 {"status":0,"count":10} 5WS2 {"status":1,"count":10} 5WS3 {"status":0,"count":10} 5WS4 {"status":1,"count":10} トイレ掃除後に送信 Key Value 5WS1Count {"count":10} 5WS2Count {"count":10} 5WS3Count {"count":10} 5WS4Count {"count":10} Key Value 5WS1 {"status":0} 5WS2 {"status":1} 5WS3 {"status":0} 5WS4 {"status":1} Key Value 5WS1Count {"count":0} 5WS2Count {"count":0} 5WS3Count {"count":0} 5WS4Count {"count":0} Key Value 5WS1 {"status":0} 5WS2 {"status":1} 5WS3 {"status":0} 5WS4 {"status":1} write set read set なし MVCCで失敗しない countを独立したキーとして分離 19
  • 21. © Hitachi, Ltd. 2019. All rights reserved. 秘密鍵はどこへ消えた? Orderer ブロックチェーンネットワーク Peer0 Chaincode Peer1 Chaincode Peer1 Chaincode Peer0 Chaincode Org1 Org2 Node SDK REST Server balance-transferはNode SDK REST Serverを提供していて便利 /tmpのクリーンアップによって 秘密鍵が削除されるのでご注意ください。 20
  • 22. © Hitachi, Ltd. 2019. All rights reserved. さいごに • 音速 カンオケ この地球号に乗って 誰もが向かっている場所? • 宇宙船地球号 340m/s×60s×60m≒1225km/h 4万77km÷24h≒1670km/h 21
  • 23. © Hitachi, Ltd. 2019. All rights reserved. IoT×Blockchainで一歩前へ 電光掲示板 超音波 距離センサ 22
  • 24. © Hitachi, Ltd. 2019. All rights reserved. 他社商品名、商標等の引用に関する表示 23 HITACHIは、株式会社 日立製作所の商標または登録商標です。 Hyperledger 及びHyperledger Fabric はThe Linux Foundationの米国およびその他の国における登録商標です。 Raspberry PiはRaspberry Pi財団の登録商標です。 その他記載の会社名、製品名などは、それぞれの会社の商標もしくは登録商標です。
  • 25. © Hitachi, Ltd. 2019. All rights reserved. 株式会社 日立製作所 サービスプラットフォーム事業本部 Blockchain推進部 ~トイレに学ぶHyperledger Fabricシステム開発の勘所~ IoT×Blockchain活用事例 2019/06/27 梅田 多一 END 24