123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298 |
- \documentclass{article}
- \usepackage{arxiv}
- \usepackage[utf8]{inputenc} % allow utf-8 input
- \usepackage[T1]{fontenc} % use 8-bit T1 fonts
- \usepackage{hyperref} % hyperlinks
- \usepackage{url} % simple URL typesetting
- \usepackage{booktabs} % professional-quality tables
- \usepackage{amsfonts} % blackboard math symbols
- \usepackage{nicefrac} % compact symbols for 1/2, etc.
- \usepackage{microtype} % microtypography
- \usepackage{lipsum}
- \usepackage{amsmath}
- \usepackage{amsfonts}
- \usepackage{amssymb}
- \usepackage{listings}
- \usepackage{color}
- \definecolor{codegreen}{rgb}{0,0.6,0}
- \definecolor{codegray}{rgb}{0.5,0.5,0.5}
- \definecolor{codepurple}{rgb}{0.58,0,0.82}
- \lstdefinestyle{mystyle}{
- commentstyle=\color{codegreen},
- keywordstyle=\color{magenta},
- numberstyle=\tiny\color{codegray},
- stringstyle=\color{codepurple},
- basicstyle=\footnotesize,
- breakatwhitespace=false,
- breaklines=true,
- captionpos=b,
- keepspaces=true,
- numbers=left,
- numbersep=5pt,
- showspaces=false,
- showstringspaces=false,
- showtabs=false,
- tabsize=2
- }
- \lstset{style=mystyle}
- \usepackage[
- defernumbers=true,
- backend=bibtex,
- % style=authoryear,
- style=numeric,
- sorting=none
- ]{biblatex} % Use the bibtex backend with the authoryear citation style (which resembles APA)
- \addbibresource{bibliografie.bib}
- \usepackage[section]{placeins}
- \usepackage{caption}
- \DeclareCaptionFormat{citation}{%
- \ifx\captioncitation\relax\relax\else
- \captioncitation\par
- \fi
- #1#2#3\par}
- \newcommand*\setcaptioncitation[1]{\def\captioncitation{\textit{Sursa:}~#1}}
- \let\captioncitation\relax
- \captionsetup{format=citation,justification=centering,margin=40pt,font=small,labelfont=bf}
- \usepackage{graphicx}
- \graphicspath{ {images/} }
- \title{Building trust among Things in omniscient Internet using Blockchain technology}
- \author{
- Radu BONCEA \\
- ICI Bucuresti\\
- \texttt{radu@rotld.ro} \\
- \And
- Ionut PETRE \\
- ICI Bucuresti\\
- \texttt{ionut.petre@rotld.ro} \\
- \And
- Victor VEVERA \\
- ICI Bucuresti\\
- \texttt{victor.vevera@ici.ro}
- }
- \setcounter{secnumdepth}{3}
- \begin{document}
- \maketitle
-
- \begin{abstract}
- Since 1999, when Kevin Ashton coined the term Internet of Things (IoT), till our present days, IoT has evolved from a simple concept to one of the topmost business growth drivers. Along with Machine Learning, Cloud Computing and Big Data, IoT is the foundation stone upon which data-driven digital services are built. In near future IoT will reach a tipping point where most of the data generated in Internet will come from billions of devices that are too resource-constrained to be able to efficiently enforce complex security and data privacy policies. The solution is to use lightweight authentication and agreement protocols for \textit{dumb} devices and integrate distributed ledger technologies, e.g. blockchain in \textit{smarter} devices and make use of smart contracts to execute processes on predetermined rules. In this regard, we present a simple smart contract written in Solidity and a young, but very promising, blockchain IoT-centric platform, IoTeX. IoTeX is to become fully operational in 2019, it supports Solidity and Ethereum virtual machine and adopts a \textit{blockchains in blockchain} architecture, with focus on accommodating a large number of transactions than traditional PoW consensus blockchains. And we finish with presenting some interesting tools incubated by Hyperledger, a Linux Foundation project, that allow us to build bottom-top blockchain building blocks.
-
- \end{abstract}
-
-
- % keywords can be removed
- \keywords{IoT \and blockchain \and trust model \and smart contract \and data privacy \and data integrity \and IoTeX \and Hyperledger}
-
-
- \section{Introduction}
- \paragraph{}
- In 2018, the number of devices connected to the Internet and used around the world has exceeded 17 billion, of which the number of IoT devices is about 7 billion \cite{IOTSTATE2018} (excluding smartphones, tablets, laptops, fixed or mobile phones). And the number is expected to grow to 35 billions by year 2025. All these devices produce large quantities of raw data which are stored in \textit{data lakes} \cite{7592715}, waiting to be processed using Big Data methods such as batch and stream processing, in a Cloud Computing infrastructure in order to build new \textit{intelligence-oriented} applications and services.
- \paragraph{}
- Today's IoT deployment and operating models are largely focused on closed enterprise ecosystems, but as the data grows and becomes the new gold and IoT turns into the new gold mine, there is an increasing interest towards data-sharing and adoption of a shared economy model. However, this horizontal model in which raw data are transactioned on digital data marketplaces or interchanged among IoT devices, poses several key challenges in terms of authorization, authentication, ensuring data privacy and integrity, such as:
- \begin{enumerate}
- \item \textbf{Identification} is the threat of associating a (persistent) identifier, e.g. a name and address or a pseudonym of any kind, with an individual and data about him. The identification is currently most dominant threat during the information processing phase.
- \item \textbf{Localization and tracking} is the threat of determining and recording a person’s location through time and space. This threat requires identification of the subject. Most common privacy violations related to this threat include GPS stalking, disclosure of private information such as an illness, or generally the uneasy
- feeling of being watched \cite{Toch,Voelcker}.
- \item \textbf{Profiling} denotes the threat of compiling information dossiers about individuals in order to infer interests and relations with other profiles and data. With the new machine learning capabilities which reduce the costs, mass-profiling is becoming more accessible. Common profile-based privacy violations include price discrimination, unsolicited advertisements, social engineering or erroneous automatic decisions, e.g. by Facebooks automatic detection of sexual offenders \cite{Odlyzko, Orgill2004TheUF, JosephMenn}.
- \item \textbf{Privacy-violating interaction and presentation} is about conveying private information through a public medium and in the process disclosing it to an unwanted audience. This is a common threat in IoT domains such as smart retail, transportation and healthcare, where there is a requirement for heavy interaction with the user.
- \item \textbf{Lifecycle transitions} is a threat that occurs when smart things disclose private information during changes of control spheres in their lifecycle. A good example is the compromising photos and videos that are often found on used cameras or smart phones.
- \item \textbf{Inventory attack }refers to the unauthorized collection of information about the existence and characteristics of personal assets, e.g., burglars can use inventory
- data to check the property to find a safe time to break in.
- \item \textbf{Linkage} consists in linking different previously separated systems such that the combination of data sources reveals (truthful or erroneous) information that the subject did not disclose to the previously isolated sources and, most importantly, also did not want to reveal.
- \end{enumerate}
-
- \begin{table}[ht]
- \renewcommand{\arraystretch}{1.3}
- \caption{Summary of the impact of the evolving features on the seven categories of privacy threats \cite{ZiegeldorfMW15}.}
- \label{tab:privacy_threats}
- \tiny
- \centering
- \begin{tabular}{|p{1.3cm}|p{1.3cm}|p{1.3cm}|p{1.3cm}|p{1.3cm}|p{1.3cm}|p{1.3cm}|p{1.3cm}|p{1.3cm}|}
- \hline\hline
- & \textbf{Technology} & \textbf{Size} & \textbf{Inter-\newline connection} & \textbf{Data \newline collection} & \textbf{Thing \newline Interaction} & \textbf{System \newline Interaction} & \textbf{Lifecycle} & \textbf{Vertical vs. \newline horizontal}\\
- \hline
- \textbf{Identification} & Cameras, face recognition & & Fingerprinting & & & Speech, cloud interfaces & &\\
- \hline
- \textbf{Tracking} & Indoor LBS & & & Decreasing awareness & & Data trails & & \\
- \hline
- \textbf{Profiling} & & Explosion of data sources & & Qualitatively new sets of data & & & & \\
- \hline
- \textbf{Interaction \& Presentation} & & & & & Presentation media & Pervasive interaction with users & &\\
- \hline
- \textbf{Lifecycle transitions} & & & & Product history log & & & Exchangeability & Sensitive data on devices\\
- \hline
- \textbf{Inventory attacks} & Diversification & & Wireless communication & & & & &\\
- \hline
- \textbf{Linkage} & & & & Decreasing transparency & & & & Drives linkage locally\\
- \hline
- \end{tabular}
- \end{table}
-
- \paragraph{}
- One way to address the security related issues is by implementing standard authorization/authentication models, including two factor authentication (2FA) \cite{rfc4226,rfc6238}, but there are drawbacks. Storing, rolling out and exchanging tokens and public keys within M2M space should \textit{scale}, in this case, exponentially, which is far from desirable. If we use a central model, such as an IoT platform, which could allow us to scale linearly, there is still the SPOF (single point of failure) issue. If the platform gets compromised, the whole system is at risk, as already proven by recent data breaches involving Facebook \cite{facebookhack}, Google \cite{googlehack}, Quora \cite{quorahack}, Marriott Hotels \cite{marriotthack}, just to name a few. \\
- \paragraph{}
- Currently there are two complementary strategies in making future IoT reliable and secure:
- \begin{enumerate}
- \item A strategy that is focusing on resource-constrained devices such as IoT sensors, actuators, beacons, devices found in the edge layer (see Figure \ref{fig:IoT_architecture}) and which are part of Internet-Integrated Wireless Sensor Networks. Such a solution would be to develop lightweight authentication and key agreement protocols at gateway or edge layers \cite{7870585}.
- \item The second method is focusing on gateways and cloud platform, areas where data has been filtered, aggregated, pruned and stored in specific formats. These layers have more resources, including more processing power and can encapsulate the business logic of sharing data. The solution is to use a decentralized model such as blockchain and the power of \textit{smart contracts}.
- \end{enumerate}
- \begin{figure}[ht]
- \centering
- \includegraphics[scale=0.5]{IoT_architecture}
- \caption{Holistic view of IoT generic architecture \cite{RBARCH}}
- \label{fig:IoT_architecture}
- \end{figure}
-
- \section{Building Blocks}
- \subsection{Blockchain}
- \paragraph{}
- Blockchain is an open, distributed, single, shared, tamper-evident ledger for maintaining permanent records of transactional data. The records are called blocks and are linked using cryptography. Blockchain is a linked list, where the new block contains a cryptographic hash (link) of the previous block, a timestamp and the transaction data. It is pinning the following principles \cite{9788770220309}:
- \begin{enumerate}
- \item \textbf{Distributed Database.} Each party has access to the ledger and keeps a full copy of the database. No single participant controls the information or the data. This makes it possible for each participant to validate the records of its transaction partners directly, without any third party partner.
- \item \textbf{Peer-to-Peer Transmission.} Blockchain is managed by a peer-to-peer (P2P) network collectively adhering to a protocol for inter-node communication. Nodes in P2P network validate transactions (adding new blocks) by consensus, following economic incentive such as \textit{proof of work} consensus algorithm.
- \item \textbf{Transparency.} Every transaction and its associated data are visible to anyone with access to the system. Each node and each user has a unique 30-plus-character alphanumeric address that's used for identification. Users can opt for anonymity or provide proof of their identity to others. Transactions occur between blockchain addresses.
- \item \textbf{Irreversibility of Records.} Once a transaction is saved in the ledger, the records cannot be tampered. As a result, they're synced to each transaction record that was posted in past. Various machine algorithms and approaches are enforced to ensure that the storing of the information is permanent, chronologically ordered, and readily available to any or all others on the network.
- \item \textbf{Computational Logic.} Blockchain transactions can be tied to computational logic and in essence programmed. So users can set up algorithms and rules that automatically trigger transactions between nodes.
- \end{enumerate}
-
- \subsection{Consensus algorithms}
- \paragraph{}
- In blockchain, validation of transactions is done by the P2P network of computers using a consensus protocol (majority vote), instead of relying on a single trusted third party (single vote). The blockchain protocol formalizes pre-defined consensus rules for validating transactions on the P2P network, as hard-coded governance rules, managing and auto enforcing transactions of all participants in the network.\\
- Some of the most important consensus algorithms are:
- \begin{enumerate}
- \item \textbf{Proof of Work }(PoW) \cite{Jakobsson1999} was first used by Bitcoin and is known as the \textit{mining} process. Miners would have to solve complex mathematical puzzles through trial and error, a process that requires a lot computational power and the first miner that solves the puzzle would be granted the permission to add the transactions block to blockchain. And he would be rewarded for this expensive operation. Thus, to have access to block creation and transaction validation, an attacker would need at least half of the processing power in the P2P network. In the case of Bitcoin, the attacker would have to be able to compute 24 petahashes and pay \$150 for electricity every each second.
- \item \textbf{Proof of Stake} (PoS) \cite{forgingalg} has a different approach than PoW. Block creators are chosen randomly from a pool of \textit{stakers} (users that stake their tokens to become a validator, locking their \textit{wealth} for a certain time). That means all tokens/coins are generated at the very beginning, instead of being mined like in PoW. The validators or block creators are also rewarded proportionally to their stake. PoS is not only more energy efficient than PoW, it also has another major distinction. In PoW it is possible for miner to not own the coins they are mining, meaning they only seek to maximize their profits without actually improving the network. In PoS, block creators have their share of interest to maintain the network as they actually hold the coins of the blockchain on which they are validating. The PoS algorithm scales better and provides higher transaction throughput, making it more IoT friendly. The downside of PoS is the compromise on a lesser security than PoW. An attacker could in theory buy enough stakes to become the majority and thus validate wrong transactions as part of the attack. However, this scenario is unlikely, due to economical constraints. Buying so many stakes would certainly result in hyperinflation to the point the cost of the attack outweights the reward. Recently, Ethereum announced the transition from PoW to PoS and a new protocol (Casper) that handles the reward and \textit{punishment}, by seizing the stakes of malicious validators.
- \item \textbf{Delegated Proof-of-Stake} (DPoS) \cite{dpos} is known as the democratic blockchain. In DPoS, users can stake their tokens to vote for certain delegates. The vote weight is proportional with the user's number of coins (e.g. if A stakes 2 coins for a delegate and B stakes 1 coin, A’s vote outweighs B by 2 times). The delegate with most votes is allowed to create new blocks and to receive the reward, that could be a fix amount generated through inflation or based on transaction fee. So a delegate wants to receive as much votes as possible, constantly seeking to create things valuable for the network and the community. One use case is EOS, the crypto currency powering the EOSIO, an open-source blockchain software protocol that provides developers and entrepreneurs with a platform on which to build, deploy and run high-performing decentralized applications (dApps).
- \item \textbf{Practical Byzantine Fault Tolerance} (pBFT) \cite{castropbft} model focuses on providing a practical Byzantine state machine replication that tolerates Byzantine faults (malicious nodes) through an assumption that there are independent node failures and manipulated messages propagated by specific, independent nodes. The algorithm is designed to work in asynchronous systems and is optimized to be high-performance with an impressive overhead runtime and only a slight increase in latency. Essentially, all of the nodes in the pBFT model are ordered in a sequence with one node being the primary node (leader) and the others referred to as the backup nodes. All of the nodes within the system communicate with each other and the goal is for all of the honest nodes to come to an agreement of the state of the system through a majority. Nodes communicate with each other heavily, and not only have to prove that messages came from a specific peer node, but also need to verify that the message was not modified during transmission \cite{bcurran}. pBFT is more efficient than PoW, but he model only works well with small consensus group sizes due to the cumbersome amount of communication that is required between the nodes. pBFT is optimal for smaller blockchains. There are several platforms that have implemented pBFT such as Linux Foundation Hyperledger Fabric.
- \end{enumerate}
-
- \subsection{Smart Contracts}
- \paragraph{}
- Smart contracts are lines of code or small programs that are stored on a blockchain like any other transaction and automatically execute when predetermined terms and conditions are met. Basically, smart contracts work by implementing simple “if/when…then…” statements that are written into code on a blockchain in a specific programming language. One such language is Solidity \cite{Dannen}, a high-level and object-oriented language designed to target the Ethereum Virtual Machine (EVM). In Figure \ref{fig:SimpleIoTDataService} we demonstrate a simple contract between an IoT service provider and potential service consumers. A user that wants to access the service, has to enroll and deposit a minimum of 10 ethereum coins (the \textit{enroll} method of the contract). The user will then use the \textit{getaccess} method to reserve the right to use the service for a certain number of hours. The contract will calculate a fee which will be subtracted from user's balance and transfer to service owner wallet. Users could also deposit additional coins using \textit{deposit} method, check their balance using \textit{balance} method or withdraw coins from their balance. Please notice the \textit{depositBalance} method which can be invoked only by the service owner to check the total balance of all users. All actors involved in smart contract transactions need blockchain accounts (blockchain wallets), each account being identified by a unique address (public key). Running each contract requires ether transaction fees, which depend on the amount of computational power required.\\
- Use cases for smart contracts include "\textit{multi-signature}" accounts, where funds are spent only when a required percentage of people agree. They can also be used to manage agreements between users, say, if one buys insurance from the other or access certain services. Smart contracts could be used by other contracts similar to how a software library works or could be used as an application state repository, to store information about an application.
-
- \begin{figure}[ht]
- \centering
- \includegraphics[scale=0.5]{SimpleIoTDataService}
- \caption{A simple contract for accessing an IoT service implemented in Solidity and EVM}
- \label{fig:SimpleIoTDataService}
- \end{figure}
-
- \paragraph{}
- As a conclusion smart contract allow us to:
- \begin{itemize}
- \item Turn legal obligations into automated processes.
- \item Guarantee a greater degree of security.
- \item Reduce reliance on trusted intermediaries.
- \item Lower transaction costs.
- \end{itemize}
-
-
- \section{Addressing blockchain challenges in IoT}
- \paragraph{}
- Integrating blockchain into IoT service architecture may come with flaws and shortcomings:
- \begin{enumerate}
- \item \textbf{Scalability} is one of the main roadblocks to the business adoption of blockchain technology. There are fears relating to the size of Blockchain ledger that might lead to centralization as it's grown over time and required some record management which is casting a shadow over the main quality of blockchain: decentralization. For example, Bitcoin can handle around 7 TPS (transactions per second), while Ethereum (the PoW version) executes around 20 TPS. These are considered extreme low throughputs for most business applications, not to mention the requirement to handle billions of transactions.
- \item \textbf{Processing power and time} is required in order to encrypt all transaction data generated by the blockchain-based IoT ecosystem. This process is exhaustive given the fact that IoT ecosystems are very diverse and comprised of devices that have very different computing capabilities, specially those in the edge and gateway layers and not all of them will be capable of running the same encryption algorithms at the desired speed.
- \item \textbf{Storage} is another roadblock. Blockchain's decentralized architecture implies that all its nodes are required to store the ledger and the ledger will increase in size as time passes. It the case of Bitcoin, the ledger size increases with almost 250MB per day. In a IoT-based ecosystems there are far more transactions and the storage should scale to accommodate terabytes of data on daily bases. This requirement can not be fulfilled by most of the IoT devices and gateways.
- \end{enumerate}
-
- \paragraph{}
- These issues reside as part of the trade-off required to maintain complete decentralization (network partition) in a Brewer's theorem constrained environment, which implies that in the presence of a network partition, one has to choose between consistency and availability \cite{Gilbert}.\\
- To go around these constraints, we need to make compromises on the decentralization, going with the assumption that we don't need global scale decentralization, but a local one. The solution is to implement a \textit{blockchains in blockhain} architecture. An example is IoTeX \cite{iotexwp}, an auto-scalable and privacy-centric blockchain platform for the Internet of Things.
-
- \subsection{IoTeX}
- \paragraph{}
- Instead of connecting all IoT nodes into one single blockchain, IoTeX groups the IoT nodes into subchains. In this regard, IoTeX is basically a network of many blockchains that are hierarchically arranged, where many blockchains can run concurrently with one another while retaining interoperability. At the top of the chain is the root blockchain, a public chain accessible by anyone, which has three main objectives:
- \begin{enumerate}
- \item \textbf{Relay} value and data across subchains in a privacy-preserving way to enable interoperability among subchains;
- \item \textbf{Supervision of subchains}, e.g., penalize the bonded operators of subchain by bond confiscation;
- \item \textbf{Settlement and anchoring} of payments and trust for subchains.
- \end{enumerate}
-
- \begin{figure}[ht]
- \centering
- \includegraphics[scale=0.6]{iotex}
- \caption{Iotex blockchains in blockchain, a rootchain and subchains architecture. Source: iotex.io}
- \label{fig:iotex}
- \end{figure}
-
- \paragraph{}
- IoTeX blockchain gives users the capability of provisioning their application-centric sub-chain, which is backed by the IoTeX root-chain, and on which they could do token transfer as well as execute smart contracts. It uses a proprietary DPoS consensus ( Roll-DPoS), so that token holders could vote the delegates who will produce new blocks for the whole network. For block creation consensus, IoTeX is using Byzantine fault tolerance algorithm. \\
- IoTeX supports Ethereum virtual machine and smart contracts written in Solidity.
-
- \begin{table}[ht]
- \renewcommand{\arraystretch}{1.6}
- \caption{Comparison Between Rootchain and Subchain.}
- \label{tab:rootchain_subchain_comparison}
- \centering
- \tiny
- \begin{tabular}{|p{3cm}|p{3cm}|p{3cm}|}
- \hline\hline
- \textbf{Properties} & \textbf{Rootchain} & \textbf{Subchain} \\
- \hline\hline
- Public vs Private & Public & Public or Private\\
- \hline
- Scalable & Required & Varies\\
- \hline
- Robust & Strongly Required & Required\\
- \hline
- Privacy-centric & Required & Varies\\
- \hline
- Extensibility & Non-Turing Complete & Turing Complete\\
- \hline
- Instant Block Finality & Required & Required\\
- \hline
- \end{tabular}
- \end{table}
-
- \subsection{Hyperledger}
- \paragraph{}
- Hyperledger \cite{hyperledger} is a Linux Foundation project which incubates and promotes a range of business blockchain technologies, including distributed ledger frameworks, smart contract engines, client libraries, graphical interfaces, utility libraries and sample applications.\\
- Hyperledger could be used to develop the required blockchain building blocks, including consensus and smart contracts.
-
- Some of the frameworks and tools Hyperledger provides are:
- \begin{itemize}
- \item \textbf{Hyperledger Burrow} is a permissionable smart contract machine, providing a modular blockchain client with a permissioned smart contract interpreter built in part to the specification of the Ethereum Virtual Machine
- \item \textbf{Hyperledger Fabric} is a blockchain framework intended for developing applications or solutions with a modular architecture, allowing components, such as consensus and membership services, to be plug-and-play.
- \item \textbf{Hyperledger Grid} is a WebAssembly-based project for building supply chain solutions, seeking to assemble blockchain shared capabilities in order to accelerate the development of ledger-based solutions for all types of cross-industry supply chain scenarios.
- \item \textbf{Hyperledger Sawtooth} is a modular platform for building, deploying, and running distributed ledgers. Hyperledger Sawtooth includes a novel consensus algorithm, Proof of Elapsed Time (PoET) \cite{poet}, which targets large distributed validator populations with minimal resource consumption.
- \item \textbf{Hyperledger Iroha} is a modular distributed blockchain platform with its own unique chain-based Byzantine Fault Tolerant consensus algorithm, called Yet Another Consensus and the BFT ordering service algorithms, rich role-based permission model and multi-signature support.
- \item \textbf{Hyperledger Indy} provides tools, libraries, and reusable components for creating and using independent digital identities rooted on blockchains or other distributed ledgers so that they are interoperable across administrative domains, applications and any other “silo”.
- \item \textbf{Hyperledger Composer} is a set of collaboration tools for building blockchain business networks that make it simple and fast for business owners and developers to create smart contracts and blockchain applications.
- \item \textbf{Hyperledger Caliper} is a blockchain benchmark tool, which allows users to measure the performance of a specific blockchain implementation with a set of predefined use cases.
- \item \textbf{Hyperledger Explorer} can view, invoke, deploy or query blocks, transactions and associated data, network information, chain codes and transaction families, as well as any other relevant information stored in the ledger.
- \end{itemize}
-
-
-
- \section{Conclusions}
- \paragraph{}
- The number of IoT devices is expected to grow with a steady 15\% each year, a fact that is raising multiple issues regarding the security and data privacy. IoT is a vertical ecosystem with most of the devices being resource-constrained, unable to enforce complex security patterns. In this case the strategy to mitigate the security risks is to develop lightweight authentication and key agreements protocols. \\
- For the rest of devices, mainly localized in the gateway and cloud computing layer, a decentralized digital ledger can be used to establish trust through the usage of smart contracts and blockchain technologies. In figure \ref{fig:SimpleIoTDataService} we demonstrate a simple usage of smart contracts, implementing a Solidity contract to access data services, contract that can be deployed on Ethereum virtual machine.
- \paragraph{}
- We have also shown that a complete decentralized blockchain has extreme low throughput, unacceptable for large scale IoT deployment models. To mitigate this, we need to tradeoff some of the decentralization for faster consensus and validation. The solution is to implement a blockchains in blockchain architecture, where some of the workload is done in local clusters (subchains) with a high degree of autonomy by with standardized ways of communicating with the subchain network.
- A project that is doing just that is IoTeX, a faster and flexible IoT platform that is to be fully operational in the last quarter of 2019 and which supports Ethereum Virtual Machine and Solidity.
- \paragraph{}
- Besides IoTeX, there is Hyperledger, a Linux Foundation incubator for an extensive set of blockchain projects with focus on the re-use of common building blocks and rapid innovation of distributed ledger technologies and components. The Hyperledger provides with tools for implementing smart contracts and consensus, define business logic, develop deployment models and monitor performance.
- \section{Acknowledgment}
- \paragraph{}
- This work was supported by the Institutional research programme "Competitiveness and efficiency through ICT specialization - SMARTIC" (2019-2022), project PN 1937-01-01 - "Research on advanced security policies and solutions for securing critical infrastructure against cyber-attacks", funded by the Ministry of Research and Innovation.
- \nocite{*}
- \printbibliography[heading=bibintoc, title={Bibliografie}]
- \end{document}
|