Azure Blockchain : Microsoft parie sur l’avenir des Blockchains
Microsoft a pris de l’avance sur ses concurrents en matière d’adoption des Blockchains et de fourniture de services permettant leur démocratisation et leur utilisation dans des scénarios métiers. Petite visite d’Azure Blockchain as a Service.
Parfois surnommé l’Internet de la monnaie, le concept Blockchain est considéré comme la nouvelle grande aventure technologique à même de transformer le modèle de bien des entreprises.
Une Blockchain est une base de données distribuée (de type « write-once ») qui représente l’équivalent d’un registre distribué et redondé au sein de l’ensemble des participants. Il faut ici comprendre le terme registre dans son sens ancestral : un recueil de transactions, un livre d’opérations.
Dans le monde physique, un registre est centralisé et tenu par une entité unique. Le côté « révolutionnaire » du Blockchain tient dans l’aspect totalement distribué du registre et dans l’absence d’une autorité centralisatrice pour valider les transactions (on parle de trustless model ou d’organisation sans gérant unique). La sécurité du registre et des transactions est ici assurée par de la cryptographie.
L’utilisation des Blockchains ne se limite pas aux seules monnaies électroniques (crypto-monnaies) et s’étend à toute forme de contrats ou transactions. Le concept peut potentiellement révolutionner toutes formes de transactions dans un monde entièrement numérique, qu’il s’agisse d’échanger des biens, des valeurs, des données privées numériques, ou des services.
Blockchain-as-a-Service
La mise en place d’un système « Blockchain » complet et étendu ne se résume pas à un problème technique. C’est un challenge qui consiste avant tout à mettre en place un écosystème complet avec ses développeurs d’application, ses utilisateurs (émetteurs et récepteurs), ses « miners », ses processeurs (par exemple de paiement dans le cadre d’une monnaie), etc.
Pour autant, la mise en place technique est en elle-même un vrai challenge. D’où l’idée de la simplifier au travers de services Cloud. Ainsi est né l’un des premiers BaaS (Blockchain as a Service) du marché : Azure Blockchain.
Le service vise à la fois à :
- accélérer les implémentations techniques ;
- accélérer le développement des applications qui en tirent parti (en réduisant le ticket d’entrée technique pour maîtriser les concepts et en fournissant des outils et des services middlewares complémentaires) ;
- favoriser le développement d’un écosystème (notamment à travers le Marketplace).
Fondamentalement, Azure Blockchain-as-a-Service comporte deux grands volets :
- Le premier s’adresse aux entreprises qui veulent expérimenter des applications Blockchain avec des solutions « prêtes à l’emploi ». L’Azure Marketplace propose tout un catalogue de telles solutions.
- Le second s’adresse aux développeurs en proposant des Dev Tests Labs ainsi qu’un ensemble de services et d’outils (dans le Cloud ou intégré à Visual Studio) pour accélérer le développement de « smart contracts » et d’applications basées sur n’importe quelle technologie de Blockchain. Par exemple, le langage Solidity (langage le plus populaire pour développer des Smart Contracts d’Ethereum) est disponible sous Visual Studio.
Rester ouvert
Azure Blockchain a pour vocation première de permettre le provisionnement -en un clic- d’un environnement d’expérimentation Blockchain (grâce à des templates prédéfinis) pour créer des Blockchains très rapidement (qu’elles soient publiques ou privées) et élaborer des solutions complètes.
Microsoft voit son service comme un bac à sable où chacun peut venir faire ses expérimentations mais aussi comme un moyen efficace d’exposer mondialement des solutions BaaS sur sa plateforme Azure.
Contrairement à une idée répandue, l’objectif de l’éditeur n’est pas de créer à terme son propre protocole mais de permettre aux acteurs du marché (typiquement des banques et des acteurs comme KPMG, Accenture, E&Y) d’appliquer les technologies Blockchains de leur choix aux cas d’usages métiers.
D’ailleurs, contrairement à IBM dont le service BaaS repose entièrement sur Hyperledger (soutenu par la fondation Linux), Microsoft multiplie les partenariats : Alphapoint, Augur, BigChaindb, BitPay, BitShares, CoinPrims, Emercoin, Ethereum, Eris, Flacom, Hyperledger, LibraTsx, Lisk, Manifold, Ripple, Slock.it, Stori, Strato, Syscoin, Tendermint, tous et bien d’autres sont disponibles sur Azure et sur son Marketplace.
Projet Bletchley
Pour autant, l’éditeur a bien l’intention de venir apporter ses propres technologies et briques à l’édifice et venir ainsi apporter de la valeur ajouter à Azure Blockchain-as-a-Service.
En témoigne le projet Bletchley lancé à l’automne dernier. On peut le voir comme une plateforme modulaire et ouverte qui permet de combiner toutes sortes de technologies pour bâtir plus simplement et plus rapidement des solutions métier exploitant les principales Blockchains du marché.
Bletchley fournit aussi un cadre général définissant une évolution 3.0 des Blockchains (Bitcoin étant considéré comme l’évolution 1, et les protocoles à base de Smart Contracts comme l’évolution 2).
Il se focalise cependant sur l’idée de Blockchains liées à des consortiums.
L’architecture Bletchley propose des évolutions pour enrichir les SmartContracts et regroupe un certain nombre de services clés indispensables à la réalisation de solutions complètes au-dessus des Blockchains. Autrement dit, Bletchley est aussi un ensemble de services middlewares situé entre la plateforme Blockchain sous-jacente et les solutions métier.
Ces services middlewares clés sont notamment des services de gateways pour permettre des communications inter-Blockchains, des services d’identifications et de gestion des clés (pour gérer les droits d’accès à la Blockchain privée), des services de chiffrement, des services de données (analytiques, machine learning, cognitifs, audits), et une Cryplet Fabric.
Les cryptlets (et la Cryplet Fabric qui les accompagne) sont la principale innovation de Bletchley et viennent enrichir le fonctionnement et le potentiel des Smart Contracts. Ils sont une alternative plus sécurisée, plus standardisée et plus formalisée aux oracles d’Ethereum. Dans l’esprit Blockchain 2.0, chaque fois que des évènements temporels ou des conditions externes doivent interagir avec la Blockchain, un « oracle », autrement dit un ensemble « données+codes » extérieur à la Blockchain, doit être appelé.
Le problème : ces oracles n’ont aucune formalisation (ce qui complexifie les scénarii multi-parties) et soulèvent bien des interrogations en matière de confiance et de sécurité. Hébergés dans le Cloud Azure, les Cryplets offrent une alternative beaucoup plus formalisée sous forme de composants programmables dans n’importe quel langage et exécutés dans un environnement Cloud de confiance et sécurisé. C’est aussi via les Cryplets que les SmartContracts peuvent interagir avec les services Azures fournis par la plateforme Bletchley .
Dans sa première version, Bletchley se concrétise sous Azure sous la forme d’un modèle de consortium Blockchain permettant à une entreprise de monter un réseau privé Ethereum exploitant de quelques nœuds à plusieurs centaines de nœuds. Mettre en place un tel réseau distribué multi-nœuds prendrait probablement 3 semaines en temps normal. Il suffit ici de renseigner les 8 questions de l’assistant et l’infrastructure est en place au bout de 5 minutes avec la mise à disposition d’un portail spécifique pour rapidement démarrer le développement de Cryplets et d’applications sur Ethereum.
Toutefois, comme nous l’avons déjà précisé, ni Bletchey, ni les Cryplets ne sont intimement liés à Ethereum. D’autres « templates » devraient apparaître dans les mois à venir.