Designing a specific Low Power architecture for blockchain and Smart Contracts operations in IoT platform
Conception d'une architecture spécifique Low Power pour les accès blockchain et Smart Contracts des plateformes IoT
Abstract
Nowadays, numerous IoT applications have become an essential part of people's lives, industries, and modern ecosystems. Most IoT applications are based on a centralized system in which all of the system participants have to rely on a central entity. In such a system, data immutability, data traceability, and transparency cannot be provided. Blockchain technology is an entirely decentralized system in which the third trusted party (central entity) is removed. The particularity of this technology is that it provides that once data is deployed on it, it cannot be modified or removed from the system. Contrarily to centralized systems, blockchain provides data traceability and transparency. Most modern blockchains also allow the deployment of smart contracts, which are digital programs that can be read by all participants and executed automatically according to an event on the blockchain. The advantageous features of blockchain technology show a clear interest in the integration of IoT with blockchain technology.This thesis contribution studies the integration possibilities of IoT with blockchain technology. One of the main parts of the contributions is developing a model of dedicated low-power-consumption IoT hardware architecture that enables communication with multiple types of blockchains. The architecture model is composed of an ARM-based CPU emulated on QEMU and cryptographic hardware accelerator designs modeled in SystemC TLM high-level hardware description language. A Linux Operating System (OS) is executed on top of the architecture.The development of dedicated Linux Kernel device drivers was required because the AIPs executed on Linux can not directly access given hardware IPs (Intellectual Properties). Dedicated device drivers and PwClkARCH SystemC TLM library were used to implement the architecture's power management to optimize the architecture's overall energy consumption when a given blockchain API is executed. This work also proposes different blockchain APIs (Ethereum, Hyperledger Sawtooth) written in C++, including all the requirements of the given blockchain, e.g., ABI encoding, transaction structure, and cryptographic primitives. The contribution results represent that a significant reduction of the overall energy consumption can be achieved when the elliptic curve point multiplication operation is hardware accelerated. The results also show that when the payload size of the transaction increases, it is worth using hash hardware accelerators to decrease the overall energy consumption and accelerate the given API's execution.
De nos jours, de nombreuses applications IoT sont devenues une partie essentielle de la vie des gens, des industries et des écosystèmes modernes. La plupart des applications IoT sont basées sur un système centralisé dans lequel tous les participants au système doivent s'en remettre à une entité centrale. Dans un tel système, l'immuabilité, la traçabilité et la transparence des données ne peuvent être assurées. La technologie Blockchain est un système entièrement décentralisé dans lequel le tiers de confiance (entité centrale) est supprimé. La particularité de cette technologie est qu'elle prévoit qu'une fois que les données y sont déployées, elles ne peuvent pas être modifiées ou retirées du système. Contrairement aux systèmes centralisés, la blockchain assure la traçabilité et la transparence des données. La plupart des blockchains modernes permettent également le déploiement de Smart Contracts, qui sont des programmes numériques pouvant être lus par tous les participants et exécutés automatiquement en fonction d'un événement sur la blockchain. Les caractéristiques avantageuses de la technologie blockchain montrent un intérêt évident pour l'intégration des IoT avec la technologie blockchain.Cette contribution de thèse étudie les possibilités d'intégration des IoT avec la technologie blockchain. L'une des principales parties de la contribution est le développement d'un modèle d'architecture matérielle IoT dédiée à faible consommation d'énergie qui permet la communication avec plusieurs types de blockchains. Le modèle d'architecture est composé d'un CPU basé sur ARM émulé sur QEMU et d'accélérateurs matériels cryptographiques modélisés dans le langage de description matérielle de haut niveau SystemC-TLM. Un système d'exploitation (OS) Linux est exécuté au sommet de l'architecture.Le développement de pilotes de périphériques dédiés au noyau Linux a été nécessaire car les API exécutés sur Linux ne peuvent pas accéder directement à des IP matérielles (propriétés intellectuelles) données. Les pilotes de périphériques dédiés et la bibliothèque SystemC TLM PwClkARCH ont été utilisés pour mettre en œuvre la gestion de l'énergie de l'architecture afin d'optimiser la consommation énergétique globale de l'architecture lorsqu'une API blockchain donnée est exécutée. Ce travail propose également différentes API de blockchain (Ethereum, Hyperledger Sawtooth) écrites en C++, incluant toutes les exigences de la blockchain donnée, par exemple, l'encodage ABI, la structure de transaction et les primitives cryptographiques. Les résultats de la contribution montrent qu'une réduction significative de la consommation énergétique globale peut être obtenue lorsque l'opération de multiplication des points de la courbe elliptique est accélérée par le matériel. Les résultats montrent également que lorsque la taille de la charge utile de la transaction augmente, il est intéressant d'utiliser des accélérateurs matériels de hachage pour réduire la consommation d'énergie globale et accélérer l'exécution de l'API donnée.
Origin | Version validated by the jury (STAR) |
---|