Evaluating the performance of Distributed Ledger – Blockchain technologies in IoT environment Φοιτητής: Γεώργιος Μιχαήλ Μακράκης 321/2013107 Υπεύθυνος καθηγητής: Καμπουράκης Γεώργιος
ΓΕΏΡΓΙΟΣ ΜΙΧΑΉΛ ΜΑΚΡΆΚΗΣ 321/2013107
[email protected]
Contents ▪ Purpose and idea ▪What is the Internet of Things (IoT) ▪ What is a Distributed Ledger Technology (DLT) ▪ Frameworks analysis and implementation ▪ DLTs comparison and results
▪ Conclusion and discussion
ΓΕΏΡΓΙΟΣ ΜΙΧΑΉΛ ΜΑΚΡΆΚΗΣ 321/2013107
[email protected]
Purpose of this thesis ▪ New approach to the IoT performance and security by using DLTs ▪ Evaluate the use of already established technologies. ▪ Can DLTs be used in IoT? ▪ No cryptocurrencies included.
ΓΕΏΡΓΙΟΣ ΜΙΧΑΉΛ ΜΑΚΡΆΚΗΣ 321/2013107
[email protected]
Idea ▪ IoT market big growth. ▪ IoT is mainly a distributed system. ▪ DLT is a distributed system. ▪ Can them both be integrated for some use cases? (Smart Homes – Buildings, Factories)
ΓΕΏΡΓΙΟΣ ΜΙΧΑΉΛ ΜΑΚΡΆΚΗΣ 321/2013107
[email protected]
Internet of Things ▪ Simple computing devices that are connected to a network. ▪ Few resources on performance and storage. ▪ Sometimes exist “in the wild”. ▪ Almost everyone has a form of these devices. ▪ A lot of different protocols.
▪ Security is a major issue.
ΓΕΏΡΓΙΟΣ ΜΙΧΑΉΛ ΜΑΚΡΆΚΗΣ 321/2013107
[email protected]
IoT units installed base by category (Millions) Gartner (January 2017)
ΓΕΏΡΓΙΟΣ ΜΙΧΑΉΛ ΜΑΚΡΆΚΗΣ 321/2013107
[email protected]
Distributed Ledger Technology ▪ A database that every node that participates in network holds. ▪ No central authority. ▪ Permissionless, Permissioned, with Smart Contracts and with transactions only. ▪ Became known with Bitcoin P2P cash system. ▪ Blockchain is a form of DLT.
▪ Other uses: Supply chain, Healthcare, IoT.
ΓΕΏΡΓΙΟΣ ΜΙΧΑΉΛ ΜΑΚΡΆΚΗΣ 321/2013107
[email protected]
Centralised vs Distributed ΓΕΏΡΓΙΟΣ ΜΙΧΑΉΛ ΜΑΚΡΆΚΗΣ 321/2013107
[email protected]
Problems to be solved with DLTs in IoT ▪ Track data measurements and prevent duplication with malicious data. ▪ Easy deployment with identification, authentication and secure data transfer. ▪ Data can be accessible from every node. ▪ Have device autonomy.
ΓΕΏΡΓΙΟΣ ΜΙΧΑΉΛ ΜΑΚΡΆΚΗΣ 321/2013107
[email protected]
Frameworks Analysis ▪ IOTA ▪ Holochain ▪ Flowchain
ΓΕΏΡΓΙΟΣ ΜΙΧΑΉΛ ΜΑΚΡΆΚΗΣ 321/2013107
[email protected]
IOTA ▪ Designed for Machine Economy (token MIOTA). ▪ Unique architecture by using the Tangle, a DAG as consensus. ▪ Resistible to quantum attacks. ▪ A lot of Open Source projects including Masked Authenticated Messaging (MAM).
ΓΕΏΡΓΙΟΣ ΜΙΧΑΉΛ ΜΑΚΡΆΚΗΣ 321/2013107
[email protected]
Blockchain and Tangle ΓΕΏΡΓΙΟΣ ΜΙΧΑΉΛ ΜΑΚΡΆΚΗΣ 321/2013107
[email protected]
MAM ▪ Second layer data communication. ▪ Small PoW for transactions. ▪ Trytes encoding. ▪ Merkle tree for transactions. ▪ Root → Channel key.
▪ Public, Private and Restricted channel modes.
ΓΕΏΡΓΙΟΣ ΜΙΧΑΉΛ ΜΑΚΡΆΚΗΣ 321/2013107
[email protected]
Holochain ▪ Not exactly a DLT. ▪ No consensus. ▪ Can create dApps. ▪ Using DHT for data sharing. ▪ Private and Public ledger.
▪ Agent Centric approach – No Data Centric.
ΓΕΏΡΓΙΟΣ ΜΙΧΑΉΛ ΜΑΚΡΆΚΗΣ 321/2013107
[email protected]
Holochain Architecture https://github.com/Holochain/holochain-proto/wiki
ΓΕΏΡΓΙΟΣ ΜΙΧΑΉΛ ΜΑΚΡΆΚΗΣ 321/2013107
[email protected]
Flowchain ▪ DLT for real-time data transactions. ▪ Both for microcontrollers and high performance devices. ▪ W3C’s Web of Things server. ▪ Virtual mining concept and Proof-of-stake (PoS) for consensus. ▪ Uses DHT also.
ΓΕΏΡΓΙΟΣ ΜΙΧΑΉΛ ΜΑΚΡΆΚΗΣ 321/2013107
[email protected]
Virtual Blocks ΓΕΏΡΓΙΟΣ ΜΙΧΑΉΛ ΜΑΚΡΆΚΗΣ 321/2013107
[email protected]
Implementation ▪ Response Time, Service Time- Round Trip Time and Packet size metrics. ▪ Three nodes on different areas (Athens - Marousi, Athens – Korydallos, Rhodes). ▪ Raspberry Pi 3 Model B used as nodes. ▪ NodeJs implementation of the metrics projects for each framework. ▪ 10 messages exchange for every test.
ΓΕΏΡΓΙΟΣ ΜΙΧΑΉΛ ΜΑΚΡΆΚΗΣ 321/2013107
[email protected]
Response Time ΓΕΏΡΓΙΟΣ ΜΙΧΑΉΛ ΜΑΚΡΆΚΗΣ 321/2013107
[email protected]
Service Time – Round Trip Time ΓΕΏΡΓΙΟΣ ΜΙΧΑΉΛ ΜΑΚΡΆΚΗΣ 321/2013107
[email protected]
DLTs Comparison ▪ IOTA is mature enough but had some design problems. ▪ MAM lacks out of nodes supporting it. ▪ Holochain has good core implementation although no security audit has been made. ▪ Flowchain is fast enough for IoT, not adopted enough and widely supported.
ΓΕΏΡΓΙΟΣ ΜΙΧΑΉΛ ΜΑΚΡΆΚΗΣ 321/2013107
[email protected]
Comparison Table ΓΕΏΡΓΙΟΣ ΜΙΧΑΉΛ ΜΑΚΡΆΚΗΣ 321/2013107
[email protected]
Results ▪ Best performance and message size: Flowchain. ▪ Secure but not critical application in mater of time: IOTA MAM. ▪ More adaptive to changes and bottom-up architecture projects: Holochain.
ΓΕΏΡΓΙΟΣ ΜΙΧΑΉΛ ΜΑΚΡΆΚΗΣ 321/2013107
[email protected]
Holochain RTT
Some metrics
IOTA MAM RTT Flowchain RTT
ΓΕΏΡΓΙΟΣ ΜΙΧΑΉΛ ΜΑΚΡΆΚΗΣ 321/2013107
[email protected]
Discussion ▪ More popular technologies were not suitable for IoT. ▪ Hyperledger Fabric: A lot of tools to handle in IoT devices. ▪ Ethereum: Full node too heavy, must move load to more powerful device. ▪ Hashgraph: SDK only, supported for enterprise agreement. ▪ New frameworks must be established for IoT.
▪ Maybe introduce Smart Contracts. ▪ No standardization for DLTs in IoT.
ΓΕΏΡΓΙΟΣ ΜΙΧΑΉΛ ΜΑΚΡΆΚΗΣ 321/2013107
[email protected]
Acknowledgements ▪ Professor Kampourakis Georgios ▪ Kotsilitis Sarantis ▪ Plegma Labs S.A. ▪ IOTA Discord Community ▪ Holochain Mattermost Community
ΓΕΏΡΓΙΟΣ ΜΙΧΑΉΛ ΜΑΚΡΆΚΗΣ 321/2013107
[email protected]
Questions? ΓΕΏΡΓΙΟΣ ΜΙΧΑΉΛ ΜΑΚΡΆΚΗΣ 321/2013107
[email protected]
Thanks! The whole project is open source hosted @ https://github.com/georgemakrakis
ΓΕΏΡΓΙΟΣ ΜΙΧΑΉΛ ΜΑΚΡΆΚΗΣ 321/2013107
[email protected]