dimanche, décembre 22, 2024
Accueil Blog Page 5

4 étapes pour comprendre une transaction bitcoin

Dans ce guide nous vous proposons une première description technique d’une transaction bitcoin depuis le téléchargement du portefeuille jusqu’à l’ajout de la transaction à la blockchain. Bien comprendre ces différentes étapes est essentiel pour ensuite comprendre les autres crypto-monnaies.

ETAPE 1 – VOTRE PORTEFEUILLE BITCOIN VA CREER VOTRE ADRESSE BITCOIN A PARTIR DE VOS CLES PRIVEES ET PUBLIQUES

La première étape est de créer une adresse bitcoin pour pouvoir recevoir et envoyer des bitcoins.

Cette adresse est issue de votre clé publique à travers un processus de hachage cryprographique. Pour bien comprendre comment le protocol Bitcoin fonctionne, il est essentiel d’avoir une idée de ce que représente le hachage cryprographique et son mode de fonctionnement. Ce système est en effet central puisqu’il est utilisé à plusieurs niveaux du cycle de circulation d’un bitcoin: pour obtenir une adresse, dans le script bitcoin et dans la “preuve de travail” realisée par les mineurs.

Comme vous pouvez le constater dans le schema ci-dessous, l’adresse bitcoin est issue de la clé publique qui elle meme issue de la clé privée.

SCHEMA 1

Bitcoin transaction
Bitcoin transaction

Mais avant d’entrer dans le détail de la création de nos clés, retenons que la clé publique vous permet de recevoir des bitcoins, alors que le clé privée vous permet de les dépenser. Si on compare le paiement avec des bitcoins au paiement par carte bancaire dans un magasin, la clé publique correspond à votre numéro de carte bancaire, celui  qui vous identifie et que vous pouvez transmettre sans trop de risques, et la clé privée correspond à votre code secret, qui vous permet de valider le payement et que vous ne devez surtout pas divulguer.

Lorsque vous téléchargez un portefeuille pour conserver vos bitcoins, les clés privées et publiques n’apparaissent pas mais elles sont générées automatiquement par le portefeuille, de même que votre adresse bitcoin. Vous n’accederez et ne transferrerez que votre Adresse Bitcoin. Comme le montre le SCHEMA 1 ci-dessus, votre Adresse Bitcoin est obtenue en appliquant un double hachage (SHA256 et RIPEMD160) à la clé publique pour obtenir ce qu’on appelle la “Public Key Hash” (20bytes/160bits). Cette derniere est ensuite encryptee en utilisant un Base58Check système pour obtenir une Adresse Bitcoin.


Pour aller plus loin: Qu’est ce qu’un algorithme de hachage? Il s’agit d’une formule mathématique qui est appliquée à un nombre variable de données (l’”input”) en vue de les transformer en un nombre fixe de données correspondant à l’emprunte digitale des données (“output”). Dans le cas de l’algorithme SHA256, la taille du code est toujours 256 bits. Le système du hachage est utilisé dans beaucoup d’autres domaines que le bitcoin pour verifier facilement que les données intiales (“input”) n’ont pas été changées. En effet deux input différents ne peuvent pas donner un output identique.

Par exemple si nous soumettons la phrase “Bitcoin est une monnaie d’avenir” a l’algorythme SHA256 nous allons obtenir un code de 256 bits qui ressemblera au code suivant: “0f7becfd3bcd1a82e06663c97176add89e7dee0268de46f94e7e11bc3863e148”. Maintenant si nous ajoutons un point à la phrase et le re-soumettons à l’algorithme, le code obtenu sera totalement différent (même si il aura toujours 256 bits). En d’autres termes, il est impossible  de trouver deux inputs différent qui donneraient le même output.

 Il est également important de rappeller que l’algorithme de hachage ne fonctionne que dans un sens et qu’il est impossible de retrouver l’input a partir de l’output.

Hachage cryptographique
Hachage cryptographique

De manière tres schématique nous pourrions nous figurer le mechanisme de hachage comme une presse qui reduirait un ou plusieurs elements de nature (chiffres, lettres, symbols) et de longueur différentes (input) en un seul code de 256 bits (output).

Si vous souhaitez en savoir plus sur ce conept vous pouvez vous rendre sur notre article Hachage Cryptographique – Le guide pour tout comprendre.


ETAPE 2 – VOTRE PORTEFEUILLE VA ENSUITE CREER UNE TRANSACTION EN COMBINANT LES INFORMATIONS ISSUE DE LA TRANSACTION PRECEDENTE (CELLE QUE VOUS AVEZ RECUE) AVEC CELLES DE VOTRE DESTINATAIRE

Imaginons une transaction où Alice souhaite transférer un bitcoin à Bob. A ce stade, Alice et Bob ont tous les deux un portefeuille et donc chacun un jeu de clé privé/publique et une adresse bitcoin.

Bob transmet à Alice sa clé publique encodée sous la forme d’une Adresse Bitcoin. Cette Adresse Bitcoin peut être transmise à n’importe qui par n’importe quel moyen, que ce soit par mail ou par QR code.

Dès reception, Alice (ou plutot son portefeuille) va inclure les informations de cette adresse dans la transaction qu’elle va créer, pour que bob puisse ensuite prouver avec sa clé privé que la transaction lui été bien destinée.

Comme le montre le schema 2 ci-dessous, Les transactions sont liées les unes aux autres dans la blockchain. L’output d’une transaction, qui inclu le montant qu’Alice souhaite transférer à Bob et les informations de l’adresse de Bob (dans le PubkeyScript) est inclu dans l’Input de la transaction suivante.

Et c’est logique, parce qu’un bitcoin c’est en fait un droit à dépenser qui peut être activé grâce à une clé privé. Il est donc toujours conseillé de conserver vos clés privées en sécurité parce que perdre sa clé privée, revient à perdre l’unique preuve que vous avez le droit de dépense un bitcoin, ou plutôt l’output de la transaction qui a été créé pour vous en utilisant un cadena (le signature script) que seul votre clé privé peut ouvrir.

Bitcoin transaction
Bitcoin transaction

Il est important de noter que votre portefeuille a la capacité de combiner le montant de plusieurs transactions que vous avez reçu dans le passé en vue d’envoyer le montnant exacte que vous souhaitez.


Pour aller plus loi – En pratique, le portefeuille d’Alice re-transformer l’Adresse Bitcoin en “Public Key Hash” pour créer sa transaction. Rappelons que cette “Public Key Hash” a été intiallement créée par Bob et contient donc les informations de sa clé publique et de sa clé privée. C’est essentiel parce que Bob va utiliser sa clé privée pour obtenir le payement.

Alice va utiliser le “Public Key Hash” de Bob pour créer un “Pubkeyscript”. Vous pouvez comprendre le “Pubkeyscript” comme un cadenas à code que vous pouvez ouvir uniquement en alignant les 3 ou 4 bons numéros. Or cette combinaison est contenue dans ce qu’on appelle la “Signature script” qui est concue à partir des clés privée et publique que Bob devra fournir pour dépenser (c’est à dire pour créer une nouvelle transaction) à son tour les Bitcoins qu’il aura reçu d’Alice.

Alice va donc constituer une transaction à partir d’une transaction existante (version 1) en suivant les étapes suivantes:

1 – En utilisant ses propres clé privées et publiques, elle créé un “Signature Script” dans l’Input de la transaction Version (2) et ainsi débloque l’Output de la transaction Version 1. En d’autre termes, son “Signature Script” (celui de la version 2) est le code requis par le “PubKey Script” (celui de la version 1), qui avait été créé à partir de son Adress Bitcoin.

2 – Creation d’un nouvel “Output” par Alice: Elle peut maintenant inclure le montant de bitcoin présent dans l’Output de la transaction version (1), dans l’Output de la Transaction version (2) et le fermer grace au cadenas “Pubkey Script” créé à partir de l’Adresse Bitcoin de Bob. Ainsi seul Bob sera en mesure d’ouvrir le cadenas et dépenser l’Output en créant à son tour une transaction en suivant exactement le même processus.

3 – La transaction est ensuite envoyée sur le réseau bitcoin et les membres mineurs vont déterminer si le code utilisé par Alice (sa “Signature Script”) permet bien d’ouvrir le cadenas de l’Output précédent (le “Pubkey Script” de la transaction Version 1). Si c’est le cas, la transaction sera ajoutée à la Blockchain pour que Bob puisse y accéder.


ETAPE 3 – VOTRE PORTEFEUILLE VA ENVOYER LA TRANSACTION AUX AUTRES MEMBRES DU RESEAU ET NOTAMMENT AUX MINEURS QUI VONT SE CHARGER DE VERIFIER LA VALIDITE ET DE L’AJOUTER A UN BLOCK

Le minage de bitcoin est central dans le fonctionnement du système.

Un nouveau block est ajouté à la blockchain toutes les 10 minutes. Pour chaque block les mineurs:

  •  verifient si les transactions envoyées sur le réseau sont correctes,
  • les assemblent dans un block,
  • calcul le hashage du “header” de ce block en réalisant le « Proof of Work« 
  • si il est accepté par le reste du réseau, il est ajouté à la blockchain,
  • Le mineur obtient la récompense qui correspond (coinbase + frais ajoutés à chaque transactions).

LES ETAPES SONT LES SUIVANTES:

1. Vérification de la validité des transactions qu’il reçoit et regroupement de ces transactions dans un même lot (“memory Pool”) en attendant qu’il y en ait suffisament pour les ajouter dans un block. Ces verifications visent à determiner si les transactions ont bien été consitituées en accord avec les règles du protocol Bitcoin, telle que l’existence d’un output suffisant pour constituer la transaction, un script de deverrrouillage correspondant au script de verouillage, ou encore plus simplement que la syntaxe des transactions est correcte.

Le “Memory Pool” auquel nous faisons reference ne doit pas etre confondu avec les “Mining Pools” qui sont des regroupements de mineurs generallement de plus petite taille qui ajoutent leur puissance informatique pour tenter de gagner la course de la creation de blocs de transactions.

2. Simultanement, le mineur va constituer un bloc qui est composé de deux parties: une tête (“Header”) dans laquelle sont stockées des informations concernant le block en constitution et un corp (“Body”) incluant toutes les transactions du block sur forme d’un “Merkle tree” (litteralement un arbre de Merkle”). Pour bien comprendre comment la blockain est organisée, il est important de comprendre chacun de ses compostantes décrit dans le “header” et le “Body” de chaque block:

Bitcoin transaction
Bitcoin transaction

MERKLE TREE:  le Merkle Tree (“arbre de Merkle”) est une méthode perméttant de structurer des données en vue d’y accéder plus facilement et d’en verifier la véracité plus rapidement. Comme vous l’aurais compris, le nom vient du fait que cette méthode organise les données en les regroupant par deux, donnant ainsi la forme d’un arbre renversé. En effet, les transactions sont regroupées par groupe de deux, un hachage est ensuite appliqué à ce groupe. Les groupes sont ensuite regroupés par groupe de deux puis soumis au même procédé jusqu’au dernier hachage appelé la racine (“Merkle Root”) qui lui est ajouté comme référence dans le “Header” du block.

Cette organisation des transactions au sein d’un block va permettre au mineurs lors de la vérification des nouvelles transactions, de remonter très rapidement vers la dernière transactions concernée et ainsi vérifier si il existe bien un output d’un montant supérieur à celui qui doit être dépensé dans la nouvelle transaction (voir schéma ci-dessus).


ETAPE 4 – LE MINEUR VALIDE LE HACHAGE DU HEADER GRACE AU « PROOF OF WORK » ET LE COMMUNIQUE AU RESEAU AVANT D’AJOUTER LE BLOCK A LA BLOCKCHAIN

Comme nous l’expliquons dans notre article « Une explication simple de Proof of Work« , dans un réseau décentralisé tel que ceux reposant sur une blockchain, la difficulté est de mettre d’accord tous les membres sur l’ordre des transactions qui doivent y être ajoutées. C’est toute la question du Conensus entre les membres du réseau. Proof of Work est un des mécanismes qui permet d’atteindre cet accord tout en assurant la sécurité du réseau. Et pour cela n’importe qui ne doit pas être en mesure d’ajouter des blocks à la blockchain comme il l’entend et obtenir la récompense. Il doit d’abord prouver son implication en mettant à la disposition des membres du réseau les capacités de calcul de son ordinateur (aujourd’hui un ordinateur ne suffit plus à miner le bitcoin, seul les fermes de minages et les mining pools peuvent encore participer).

Le mécanisme de “Proof of Work” peut s’expliquer en des termes relativement simples: c’est le fait pour un participant du réseau (dans le cas du bitcoin, un mineur) de présenter à l’ensemble des autres membres du réseau, le résultat des calculs qu’il a effectué. Les opérations à réaliser ne sont pas en elles mêmes compliquées, mais doivent être réalisées un nombre de fois tel que le mineur doit engager d’importantes capacités informatiques (CPU). Le mineur doit en effet trouver un chiffre au hazard (Le « Nonce »). Pour cela il va tenter sa chance jusqu’à ce qu’il le trouve. Il va appliquer l’algorythme de hachage à un même groupe de donnée (le hachage du block précédent) jusqu’à ce qu’il obtienne le résultat qu’il cherche.

Si il est le premier à découvrir le Nonce et à le transmettre au reste du réseau, le mineur aura gagné le droit d’ajouter le block à la blockchain et de récolter la récompense en bitcoins et en frais attachés aux transactions.

J’espère que cet article vous a permis de mieux comprendre comment fonctionne le Bitcoin. Si c’est la cas n’hésitez pas à LIKER et PARTAGER cet article. Vous pouvez également poser vos questions en commentaire!  

GLOSSAIRE

Altcoins, pour « Alternative Coins » : tous les autres jetons (également connus sous le nom de « Tokens » ou « Coins ») apparus après le bitcoin.

Blockchain : littéralement, « chaîne de blocs » ; base de données d’un réseau décentralisé, qui doit être mise à jour par les membres du réseau lui-même et non plus par un tiers de confiance. C’est le rôle des mineurs. Il y  a des  blockchains publiques (ouvertes à tous) et privées (les membres sont sélectionnés).

Cap : limite des fonds requis par l’ICO. – Voir « soft cap » / « hard cap » / « individual cap ». >  « capped » : « plafonné » ;  « uncapped » : « non plafonné »

Clé privée : nombre aléatoire de 256 bits permettant de signer une transaction. Elle peut être comparée au code secret que vous utilisez pour payer avec votre carte bancaire. Il est donc essentiel de ne jamais la divulguer.

Clé publique : nombre aléatoire de 256 bits permettant de vous identifier sue la blockchain. Elle peut être comparée à votre numéro de carte bleu et peut être partagé avec des tiers sans risque.

Coins : jetons natifs, aussi appelés « Native Tokens » : ce sont des cryptomonnaies qui peuvent fonctionner indépendamment puisqu’elles reposent sur leur propre blockchain. Le bitcoin en est le principal exemple. – Par opposition à « Tokens » : jetons non-natifs

Cold storage : stockage hors-ligne ; pratique et support non relié à internet et qui permet de conserver des cryptomonnaies;  exemple : les clés USB sécurisées, également appelées « portefeuilles physiques »  – Par opposition à « Hot storage »

Cold wallet (littéralement « portefeuille froid ») : permet de conserver vos jetons en Cold Storage  – Par opposition à « Hot Wallet » – Exemple Ledger Nano S.

Consortium : type d’organisation reposant sur une blockchain dans laquel les membres pouvant participer au mécanisme du consensus sont présélectionnés ; il est donc est généralement considéré comme partiellement décentralisé.

Crypto : abréviation de « cryptomonnaie »

Cryptoactif : expression faisant référence à l’ensemble de jetons en circulations, toute nature confondue.

Cryptoéconomie : Concept apparu avec le bitcoin, selon lequel les membres du réseau son rémunérés pour leur participation dans le développement, la sécurisation ou tout simplement l’utilisation du réseau.

Cryptomonnaie : jetons ayant pour vocation principale de transférer de la valeur entre les membres du réseau. Cette expression est communément utilisées à tore pour décrire tous types de jetons

Cryptoassets : voir Cryptoactif

CUV (« Current Utility Value ») : valeur d’échange d’un jeton à un moment T.

DAO (« Decentralized Autonomous Application ») : Entreprise dont le management est organisé de manière décentralisé entre ses membres.

DApps : pour Applications Décentralisées, ce sont des applications qui sont hébergées sur une plateforme de type Ethereum et qui ne disposent donc pas d’une blockchain qui leur est propre. Elle émettent généralement leurs propres jetons (voir « Non-native tokens ») pour permettre aux utilisateurs d’accéder au service proposé par l’application. La grande majorité des cryptomonnaies sont conçues sur ce modèle

Échange « crypto-to-crypto » ou Crypto/Crypto : bouse d’échange sur lesquelles on ne peut déposer que des cryptomonnaies et non des monnaies nationales.

Échange « fiat-to-crypto » : ? bouse d’échange sur lesquelles il est possible d’acheter des cryptomonnaies avec des monnaies nationales.

ERC (« Ethereum Request for Comments ») : propositions d’amélioration ou de changement du code source par des programmeurs. Une fois entérinées par la communauté le changement entre en vigueur.

ERC20 Token : type de jeton compatible avec le protocole Ethereum entériné dans le Ethereum Request for Comments n.20.

Ethers : jetons natifs de la blockchain Ethereum

Ethereum : une des premières blockchains à avoir permis la programmation et l’exécution de Smart Contracts

Exchanges : bourse sur lesquelles se rencontre l’offre de vente et d’achat de cryptoactifs. Ces bourses d’échanges peuvent être Fiat/Crypto ou Crypto/Crypto.

Fiat money, ou fiat : : monnaie nationale en anglais. Exemple euros, dollars…

FOMO : « Fear of missing out », lorsque l’achat des jetons est motivé non par une analyse approfondie, mais par la peur irrationnelle de rater une opportunité.

Fork (« fourchette » en anglais) : ‡mise à jour du protocole qui peut se faire de manière douce (« soft ») ou forte (« hard »).

« soft fork » : changement effectué sur le protocole qui n’impacte pas les blocks déjà existants de la blockchain.

Hachage Cryptographique : Il s’agit d’une formule mathématique (un algorithme) qui est appliqué à un nombre variable de données (l’”input”) en vue de les transformer en un nombre fixe de données correspondant à l’empreinte digitale des données (“output”). Ok ça ne vous aide pas trop! C’est simplement faire passer des données (textes, chiffres…) qui ont une taille et un format différent dans une moulinette et il en ressort des données ayant une taille et un format unique et prédéfinie. Ce mécanisme permet de vérifier très rapidement que les données d’entrée n’ont pas été modifiées. Dans l’univers des cryptomonnaies, les algorithmes de hachage les plus courants sont SHA-256 et X11.

« hard fork » : changement effectué dans le logiciel du protocole qui aura pour conséquence de créer deux versions différentes du protocole, qui ne seront donc plus reconnues l’une par l’autre

Hot Storage : le fait de conserver des jetons dans un portefeuilles de cryptomonnaies basées sur internet – Par opposition à « cold storage »

Hot Wallet (littéralement « portefeuille chaud ») : portefeuilles Bitcoin basé sur internet fonctionnant sur des appareils (smartphone, ordinateur ou tablette); L’utilisateur confie sa clé privée à une tierce personne (la plateforme internet).

ICO (« Initial Coin Offering ») : « émissions de jetons numériques » – Procédé décentralisé visant à mettre en vente des jetons, aussi appelés « tokens », en vue de financer et promouvoir un projet reposant généralement sur une blockchain mais aussi d’accroître la taille de la communauté ; la levée de fonds est l’objectif premier d’une ICO, mais accroître la communauté est vital pour tout projet reposant sur une blockchain,

IPO (« Initial Public Offering ») : introduction en Bourse par laquelle les entreprises d’une certaine taille ouvrent leur capital au public en vue de lever des fonds. Dans le cas des IPO, les investisseurs achètent des titres de la société qui leur donnent des droits juridiques et financiers sur cette dernière.

ITO (« Initial Token Offering ») : même signification qu’Initial Coin Offering mais avec des Tokens et non des Coins.  Procédé décentralisé visant à mettre en vente des jetons, aussi appelés « tokens », en vue de financer et promouvoir un projet reposant généralement sur une blockchain mais aussi d’accroître la taille de la communauté.

Livre blanc (« White paper ») : document qui présente les caractéristiques d’un projet reposant sur une blockchain. Dans le cadre des ICO, le White Paper peut être comparé à un prospectus, ce qu’il doit fournir aux investisseurs les informations nécessaires pour investir en connaissance de cause.

Maker : Expression utilisée sur les bourses d’échanges pour désigner la partie qui dépose une offre d’achat ou de vente dans le livre d’ordre en premier. Par opposition au « Taker » qui accepte cette offre.

Market creator (« créateur de marché ») :  membre qui crée l’événement et fixe le résultat, les règles, ainsi que les Reporters et leur rémunération

Margin Trading : ou trading sur marge. Technique de traading visant à emprunter des jetons pour augmenter son exposition sur le marché en augmentant sa mise.

Minage : correspond au mécanisme de création des bitcoins. Les nouveaux bitcoins sont émis pour chaque blocks ajoutés à la blockchain. Actuellement les mineurs récoltent 12,5 bitcoins pour chaque blocs ajoutés à la blockchain après avoir compléter avec succès le mécanisme de consensus (Proof of Work).

Mintage : on parle de « mintage » pour le mécanisme du Proof of Stake et non de « minage« , mais le sens est le même.

Mécanisme de consensus : mécanisme cryptographique par lequel les mineurs se mettent d’accord pour choisir lequel d’entre eux aura droit d’ajouter le block à la blockchain et ainsi récupérer les 12,5 bitcoins. Le vainqueur est celui qui

Membre complet : membre qui a téléchargé la blockchain dans son intégralité.

Membres développeurs : rédigent et mettent à jour le protocole (code source).

Membre mineur : membre du réseau qui met à jour la blockchain  en ajoutant les transactions dans des blocs, puis les blocs à la blockchain, selon les règles du protocole qui génèrent par la même occasion les jetons.

Membre utilisateur : membre qui rémunère les mineurs en utilisant les jetons et le service proposé par le protocole. Chaque fois que vous transférez un bitcoin, vous payez des frais aux mineurs.

Merkle Tree:  le Merkle Tree (“arbre de Merkle”) est une méthode perméttant de structurer des données en vue d’y accéder plus facilement et d’en verifier la véracité plus rapidement. Comme vous l’aurais compris, le nom vient du fait que cette méthode organise les données en les regroupant par deux, donnant ainsi la forme d’un arbre renversé. En effet, les transactions sont regroupées par groupe de deux, un hachage est ensuite appliqué à ce groupe. Les groupes sont ensuite regroupés par groupe de deux puis soumis au même procédé jusqu’au dernier hachage appelé la racine (“Merkle Root”) qui lui est ajouté comme référence dans le “Header” du block.

Multisig : pour multi-signatures. Une transaction est dite multisig lorsque plus d’une partie doit la signer pour la valider.

MVP (« Minimum Viable Product ») : signifie un prototype.

« Panic sale » : quand tout le monde vend en même temps.

Jeton natif : jeton émis par un réseau disposant de sa propre blockchain (dans le cas d’Ethereum, il s’agit des Ethers)

Jetons non-natifs : ou « jetons d’application » : jetons émis par un réseau ne disposant pas de sa propre blockchain et qui doit être hébergé sur une plateforme comme Ethereum.

Proof of work : (“Preuve du travail” Mécanisme cryptographique ayant pour objet de déterminer lequel des mineurs pourra ajouter le prochain block à la blockchain. Le Proof of Work est une des composante du mécanisme de consensus.

Proof of stake (« Preuve de l’enjeu ») : même vocation que le Proof of Work mais repose sur un mécanisme différent. Plus vous disposez de jeton, plus vous disposez de droit d’ajouter des blocks à la blockchain. L’idée est que les membres qui disposent du plus grand nombre de jeton ont le plus intérêt à ce que la blockchain soit mise à jour de manière correcte (d’où la preuve de l’enjeu). .

Preuve de l’Enjeu délégué : autre mécanisme de consensus fonctionnant comment la Preuve de l’enjeu à la différence que les membres disposant de jetons délèguent leur droit de minage à des tiers (les witness) pour éviter les abus liés au Proof of Stake. Protocole : C’est le code source d’un réseau reposant sur un blockchain. Une fois téléchargé, ce rogramme informatique indique à votre ordinateur comment communiquer avec les autres membres du réseau, et suivre toutes les règles de fonctionnement du réseau.

REP (« Reputation Tokens ») :  (the unique token usable on the Augur betting platform)

Ricardien (contrat) : Contrat à la fois lisible par les humains et par les machines. Ce sont des contrats pré-rédigés dans lesquels doivent seulement être ajoutés certains termes spécifiques aux parties.

SAFT (« Single Agreement for Future Tokens ») : ??

SAM (« Serviceable Available Market ») : le nombre de consommateurs que vous allez pouvoir atteindre au sein du Total Accessible Market que vous aurez définit.

Security Tokens : actif digital inscrit sur la blockchain et représentant une fraction ou l’intégralité d’un instrument financier sous-jacent (action, dette, immobilier, matière première, brevet, propriété intellectuelle…) ;

Smart Contract (« contrat intelligent ») : (programme autonome qui, une fois démarré, exécute automatiquement des conditions inscrites en amont dans la blockchain, sans nécessiter d’intervention humaine. Il fonctionne comme toute instruction conditionnelle de type « if – then » (si telle condition est vérifiée, alors telle conséquence s’exécute). Pour déclencher son exécution, un smart contract se connecte à une base de données jugée fiable, via l’intermédiaire d’un oracle (un service qui fait le lien entre le smart contract et le monde réel).

Solidity : langage dérivé de Javascript ; c’est le langage le plus utilisé pour la programmation des Smart Contracts sur Ethereum

SOM (« Serviceable Obtainable Market ») : segment de marché capturable

STO (« Securites Tokens Offering ») : Une Initial Coin Offering pour Security Tokens.

Taker : (voir « Maker ») – partie qui accepte l’offre d’achat ou de vente déposée par le « Maker » dans le livre d’ordre de la bourse d’échange.

TAM (« Total Adressable Market ») : l’ensemble du marché disponible sur le segment dans lequel se développe le projet

Token : « actif numérique utilisé par les membres d’un même réseau pour transférer de la valeur, des droits, ou toute autre information entre les membres de ce réseau. Ils peuvent ensuite être échangés sur des bourses d’échanges. Il existe un certain nombre de jetons différents : Currency Tokens (ou jetons de monnaie), Platform Tokens (ou jetons de plateforme), Application Tokens (ou jetons d’application), Security Tokens (jetons de titres). Chacune de ces catégories pouvant être divisées en sous-catégories : les jetons natifs et non-natifs.

Trader : personne réalisant des transactions sur actifs traditionnel ou cryptoactifs de manière habituelles vois professionnelle.

Turing Complet :une machine est dite Turing Complet lorsqu’elle est  en mesure d’exécuter des programmes plus complexes (ceux des Smart Contracts par exemple).

Utility Tokens : ou « Jetons d’application » : jetons ayant des fonctions variées dans le fonctionnement d’un écosystème décentralisé reposant sur une blockchain – voir aussi

Hashing Algorithm: the complete guide to understand

A hashING algorithm organizes the implementation of a hash function as a set of digital values.

This introduction may seem difficult to understand, yet the concept is not difficult to get. Of course we are not going to enter into the details of the functioning of the algorithm, but we will describe what it is to be used.

In the framework of the Decentralized Ledger Technologies (i.e blockchain technologies), the hash function (which is applied by the algorithm) has for main object to compare groups of important data and determine if their content has been corrupted or not. In fact, the hash of a group of data will always be the same as long as this group of data is not changed. By contrast, if a small change is made to this group of data, the hash of the new group will be totally different.

As its name indicates, a hashing algorithm cut the data to produce a new group of data completely different

Generally speaking, a hashing algorithm is a program to apply the hash function to « data of entries ». Concretely, a hash function is a mathematical function that allows you to convert a numeric value of a certain size in a numeric value of a different size. One could compare the hash function to a press in which is inserted an object, which once compressed exits with a smaller size, but always the same, regardless of the size of the inserted object.

hashing algorithm
hashing algorithm

In the above example, the hash algorithm is SHA256, which is the one used by the Protocol Bitcoin. The object to which is applies the function (« input ») is a numeric value whose size can vary according to the algorithm. Here the input are pieces of sentences, but it is possible to imagine any type of data (Figures, letters, signs…) having a different size.

The size corresponds to the number of characters which composed the group of data. The three inputs are therefore submitted together to the hash algorithm and the numerical value that results in (« output ») is however always of fixed size (between 160 and 512 bits according to the type of function). In the case of SHA256, the size of the output is always 256bits, or 256 characters…logic.

Hash functions propose many other features, that it is important to note:

  • « Compression »: The input value (« input ») is generally greater than the value of output (« output »). In this case it is considered that the Hash Function compresses the data that are submitted to it.
  • « Resistant to collisions »: two values of different inputs may not lead to a value of identical output. From this point of view the hash functions are Collision resistant. It should be noted that even a minimal variation between two values of inputs (a comma for instance) can lead to two values of outputs completely different.
    The reverse is also true. The same value of entry may not lead to two different outputs.
  • « Pre-image resistance »: it is impossible to find an input value from the output. The only way to find the input value is to apply a method of « brute force », which means that the only way is to try all the input values possible until you find the good one. It is essential to understand this peculiarity in the framework of the crypto-currencies because the mode of consensus of the « Proof of the works » (« Proof of Work ») is based precisely on this concept.

A hash algorithm determines the way in which is going to be used the hash function. It is therefore important to differentiate between the algorithm and the function.

As mentioned, a hashing algorithm is a program to apply the hash function to an input, according to several successive sequences whose number may vary according to the algorithms. All of the sequences of hash form a series. During each steps of the series, two blocks of data whose size varies according to the algorithms (usually between 128-bit has 512-bit), are subject to the hash function with a view to obtain a « Output value » (« output »).

A frequency of the series of hash:

hashing algorithm
hashing algorithm

The output value is then one of the two blocks of data in the following sequence. The other block does generally constitute the data from the most recent block of data. This mechanism is repeated until the entire message has been submitted to the hash function. This is the reason for which it is often made reference to a « snowball effect ».

A hash serie:

hashing algorithm
hashing algorithm

There are many types of hashing algorithm such as Message Digest (MD, MD2, MD4, MD5 and MD6), RIPEMD (RIPEND, RIPEMD-128, and RIPEMD-160), Whirlpool (Whirlpool-0, Whirlpool-T, and Whirlpool) or Secure Hash Function (SHA-0, SHA-1, SHA-2, and SHA-3). In the universe of the cryptocurrencies, the most used hashing algorithms are SHA-256 and X11.

 

The algorithm SHA-256,

SHA-256 (« Secured Hash Algorithm 256″) is the algorithm which has been chosen by the designers of the Protocol Bitcoin. It is used during the creation of the public key from the private key, but also for the realization of the process of proof of work. This algorithm has been developed by the NSA ( » United States National Security Agency ») in 2001 and continues to be used by many financial institutions and governments for the encryption of their data.

The success of the bitcoin however, poses an important problem concerning the use of the algorithm SHA-256. As we have already seen, each new bitcoin created returns to the miner who has carried out and submitted to the network the « Proof of work » the first. However, the likelihood for a minor to provide the « Proof of work » in the first position is directly proportional to the capacity of calculation that it is able to deploy on the network, i.e the hashing power.

On the other hand, the Protocol Bitcoin has been programed to add a block to the blockchain all 8-10 minutes, no more but no less. The Protocol Bitcoin adjusts therefore automatically to the hashing power of miners on the network by increasing or decreasing the difficulty of the « Proof of work ».

The popularity of the bitcoin has led to a rapid increase in the number of miners, thus we have seen a real race to the equipment of minors whose capacity of calculation and so hashing power, have literally exploded in recent years.

In a few years, we moved form the first miners who in 2009 could mine bitcoins on their laptops (Central Processing Unit mining – the « CPU ») or by improving its capacity with a graphics card (Graphic Processing Unit mining – « GPU »), to mining farms only using  « Application Specific Integrated Circuits (ASIC). The ASIC are integrated circuits with a single function (for example mine bitcoin) and not a general vocation. So ASIC can mine hundreds of thousands times more rapidly than the CPU and GPU, for a fraction of their energy consumption and thus the cost, while producing less heat and noise.

The investments in the ASICs have rapidly increased thereby excluding all individual miners. The only way today for individuals to compete with the mining farms is to be part Mining pools, i.e huge groups of individual miners. Yet these groups occasionally reach worrying sizes for the bitcoin network to the extent that certain are in a position to exceed the fateful limit of 51% of the hashing power (« Hashrate ») and are thus potentially able to take control of the network. In practice, if a member gather more hashing power than the rest of the network, it has the ability to come back unilaterally on the blocks already added to the blockchain (see « The attack of 51% »). This was the case of the GHash mining pool which exceeded the threshold of 51% beginning 2014.

This concentration of hashing power which ended up in a race for the equipment of miners is the main problem of the use of the algorithm SHA-256 (with the disastrous ecological effects it generates), since it threatens the philosophy of the bitcoin. This algorithm is indeed likely to question the decentralized aspect the bitcoin.

Proof of Work
Proof of Work

The Algorithm X11

it is in this context that appeared the Algorithm X11 at the end of 2014. This algorithm which has been designed for crypto-currencies, is still more secure than the algorithm SHA-256 and presents the advantage of not being able to be used by « Application Specific Integrated Circuits ». It is currently being used in several crypto-currencies, the most famous being DASHCOIN.

X11 organizes a chain of 11 different hash algorithms: Blake, BMW, groestl, JH, keccak, skein, Luffa, cubehash, shavite, SIMD, and echo. To fail, the whole 11 hashing algorithms must default simultaneously. It is estimated that the probability of such a situation is close to zero.

On the other hand, as we have seen above, the ASICs can only be programed for one function, i.e SHA-256. Yet an ASIC will cannot be programed to proceed with the hash of two (or more) different algorithms simultaneously. This is the reason why ASICs cannot be used to perform the Algorithm X11 since it included 11 different algorithms.

Thank you for having read this article. If it has pleased You DO NOT HESITATE TO THE Liker or has the share. Your comments and questions are also welcome!!

 

Hachage Cryptographique – Le guide pour tout comprendre

Un algorithme de hachage organise l’application d’une fonction de hachage a un ensemble de valeurs numerique.

Cette introduction peut paraître confuse, pourtant le concept n’est pas difficile à comprendre. Bien sûr nous n’allons pas entrer dans le détail du fonctionnement de l’algorithme, mais décrire à quoi il sert.

Dans le cadre des Technologies de Registre Décentralisés, la fonction de hachage (qui est appliquée par l’algorithme) a pour objet principal de comparer des groupes de données importants et déterminer si leur contenu a été altéré ou non. En effet, le hachage d’un groupe de donné sera toujours le même tant que ce groupe de donné n’est pas modifié. Par contre si un infime changement est apporté à ce groupe de données, le hachage du nouveau groupe sera totalement différent.

Comme son nom l’indique, un algorithme de hachage découpe les données pour produire un nouveau groupe de données totalement différent

Plus concrètement, une fonction de hachage est une fonction mathématique qui permet de convertir une valeur numérique d’une certaine taille dans une valeur numérique d’une autre taille. On pourrait comparer la fonction de hachage à une presse dans laquelle est inséré un objet, qui une fois compressé ressort avec une taille plus petite, mais toujours identique, quelque soit la taille de l’objet inséré.

hachage cryprographique
hachage cryprographique

Dans l’exemple ci-dessus, l’algorithme de hachage est SHA256, qui est celui utilisé par le protocol Bitcoin. L’objet auquel est applique la fonction (“input”) est une valeur numérique dont la taille peut varier selon l’algorithme. Ici les Input sont des morceaux de phrases, mais il est possible d’imaginer n’importe quelle type de donnée (chiffres, letters, signes…) ayant une taille variée.

La taille correspond au nombre de caractères qui compose le groupe de données. Les trois inputs sont donc soumis ensemble à l’algorithme de hachage et la valeur numérique qui en résulte (“output”) est par contre toujours de taille fixe (entre 160 et 512 bits selon le type de fonction). Dans le cas de SHA256, la taille de l’output est toujours 256bits, soit 256 caractères…logique.

Les fonctions de hachage presentent de nombreuses autres particularités, qu’il est important de noter:

  • “Compression”: La valeur d’entrée (“input”) est généralement plus grande que la valeur de sortie (“output”). Dans ce cas il est considéré que la fonction de hachage compresse les données qui lui sont soumises.
  • “Résistant aux collisions”: deux valeurs d’entrées différentes ne peuvent pas aboutir à une valeur de sortie identique. De ce point de vue les fonctions de hachage sont considérées comme résistantes aux collisions (“Collision resistant”). A noter que même une variatation minime entre deux valeurs d’entrées (une virgule en plus ou en moins par exemple) peut aboutir à deux valeurs de sorties complètement différentes.
  • L’inverse est egalement vrai. Une même valeur d’entrée ne peut aboutir à deux valeurs de sorites différentes.
  • “Pre-image resistance”: Il est impossible de trouver une valeur d’entrée à partir de la valeur de sortie. La seule façon de trouver la valeur d’entrée est d’appliquer une méthode dite de “force brute”, c’est à dire que la seule façon est d’essayer toutes les valeurs d’entrée possible jusqu’a ce qu’on tombe sur la bonne. Il est essentiel de comprendre cette particularité dans le cadre des crypto-monnaies parce que le mode de consensus de la “Preuve du travaille” (“Proof of Work”) repose précisément sur ce concept.

Un algorithme de hachage détermine la façon dont va être utilisée la fonction de hachage. Il est donc important de différencier l’algorithme et la fonction.

De manière générale, un algorithme de hachage est programme pour appliquer la fonction de hachage à des “données d’entrées”, selon plusieurs séquences successives dont le nombre peut varier selon les algorithmes. L’ensemble des séquences de hachage forment une série. Durant chaque séquences de la série, deux blocks de données dont la taille varie selon les algorithmes (généralement entre 128 bits a 512 bits), sont soumis à la fonction de hachage en vu d’obtenir une “valeur de sortie” (“output”).

Une fréquence de la série de hachage:

Algorythm de hachage
Algorythm de hachage

La valeur de sortie constitue ensuite un des deux blocks de données de la séquence suivante. L’autre block est généralement constitue des données du plus recent block de données. Ce mécanisme se répète jusqu’à ce que le message entier ait été soumis à la fonction de hachage. C’est la raison pour laquelle il est souvent fait référence à un “effet d’avalanche”.

Une série de hachage:

Algorythm de hachage
Algorythm de hachage

Il existe de nombreux types d’algorithme de hachage tels que Message Digest (MD, MD2, MD4, MD5 and MD6), RIPEMD (RIPEND, RIPEMD-128, et RIPEMD-160), Whirlpool (WHIRLPOOL-0, WHIRLPOOL-T, and WHIRLPOOL) ou encore Secure Hash Function (SHA-0, SHA-1, SHA-2, and SHA-3). Dans l’univers des crypto-monnaies, les algorithmes de hachage les plus courant sont SHA-256 et X11.

L’algorythme SHA-256

SHA-256 (“Secured Hash Algorithme 256”) est l’algorithme qui a été retenu par les concepteurs du protocol Bitcoin. Il est utilisé lors de la creation de la clé publique à partir de la clé privée, mais aussi pour la réalisation du processus de Proof of Work. Cet algorithme a été développé par la NSA (“ United States National Security Agency”) en 2001 et continue a être utilisé par de nombreuses institutions financières et de gouvernements pour le cryptage de leurs données.

Le succès du bitcoin pose toutefois un problème important concernant l’utilisation de l’algorithme SHA-256. Comme nous l’avons déjà vu, chaque nouveau bitcoin créé revient au mineur ayant réalisé et soumis au réseau la “Proof of Work” le premier. Or la probabilité pour un mineur de fournir la “Proof of Work” en premier est directement proportionnelle à la capacité de calcul qu’il est capable de déployer.

D’autre part, le Protocol Bitcoin a été programmé pour ajouter un block à la blockchain toutes les 8-10 minutes, pas plus mais pas moins non plus. Le Protocol Bitcoin s’ajuste donc automatiquement à la capacité de calculs des mineurs en augmentant ou en diminuant la difficulté de la “Proof of Work”.

Or la popularité du bitcoin a entrainé une rapide augmentation du nombre des mineurs, nous avons donc assisté à une veritable course à l’équipement des mineurs dont les capacités de calcul ont littéralement explosé ces dernières années. En quelques années, nous sommes passé des premiers mineurs qui en 2009 pouvaient miner des bitcoins depuis leurs ordinateurs portables (Central Processing Unit mining – “CPU”) ou en l’améliorant avec un carte graphique (Graphic Processing Unit mining – “GPU”), à des fermes de minages fonctionnant uniquement avec des “Application Specific Integrated Circuits” (ASIC). Les ASIC sont des circuits intégrés ne pouvant avoir qu’une function particulière (par exemple miner du bitcoin) et non pas une vocation générale. Ainsi les ASIC peuvent miner des centaines de fois plus rapidement que les CPU et GPU, pour une fraction de leur consommation d’énergie et donc du coût, le tout en produisant moins de chaleur et de bruit.

Les investissements dans les ASICs ont rapidement augmentés excluant du même coup tous les mineurs individuels. La seule manière aujourd’hui pour les individus de concurrencer les fermes de minages est de rejoindre de “groups de mineurs” (“Mining Pools”). Or ces groups atteignent parfois des tailles inquiétantes pour le réseau bitcoin dans la mesure ou certain sont en capacité de dépasser la barre fatidique de 51% de la capacité de minage (“Hashrate”) et sont ainsi potentiellement en mesure de prendre le contrôle du réseau. Car en effet si un acteur détient plus de capacité de minage que le reste du réseau, il détient la capacité de revenir unilatéralement sur les blocks déjà ajoutés à la blockchain (voir “l’attaque des 51%”). Ce fut notamment le cas de la cooperative de mineur GHash qui dépassa le seuil des 51% debut 2014.

Cette concentration des capacités de minage issue de la course à l’équipement des mineurs est le principale problème de l’utilisation de l’algorithme SHA-256 (avec les effets écologiques désastreux qu’il génère évidement), puisqu’il remet en question la philosophie même du bitcoin. Cet algorithme est en effet susceptible de remettre en question l’aspect entièrement décentralisé du bitcoin.

Proof of Work
Proof of Work

L’algorythme X11

C’est dans ce contexte qu’est apparu fin 2014 l’algorithme X11. Cet algorithme qui a été conçu dans l’optique de servir uniquement à des crypto-monnaies, est encore plus sécurisé que l’algorithme SHA-256 et présente l’avantage de ne pas pouvoir être utilisé par des “Application Specific Integrated Circuits”. Il est actuellement utilisé dans plusieurs crypto-monnaies, le plus célèbre étant DASHCOIN.

X11 organise en effet une chaine de 11 algorithmes de hachage différents: blake, bmw, groestl, jh, keccak, skein, luffa, cubehash, shavite, simd, et echo. Pour être défaillant il faut donc que l’ensemble des algorithmes de hachages fassent défaut simultanément. Il est estimé que la probabilité d’une telle situation est proche de zero.

D’autre part, comme nous l’avons vu plus haut, les ASICs ne peuvent être programmés que pour une seule fonction qui dans le cas du bitcoin, est l’utilisation de l’algorithme SHA-256 à une vitesse inégalée. Pourtant un ASIC ne pourra être programme pour procéder au hachage de deux algorithmes différents simultanément. C’est la raison pour laquelle les ASCs ne pourront être utilisé pour procéder l’algorithme X11 puisqu’il inclus 11 algorithmes différents.

MERCI D’AVOIR LU CET ARTICLE. SI IL VOUS A PLU N’HESITEZ PAS A LE LIKER OU A LA PARTAGER. VOS COMMENTAIRES ET QUESTIONS SONT EGALEMENT LES BIENVENUS!!

How to securely store your coins: the ultimate guide

It seems important to begin by clarifying that the word « Keychain » could be more appropriate than « portfolio » to the extent that the portfolios do not store any bitcoin, only public and private keys that allow the transfer. A portfolio is a software that will give you access to the bitcoin network and manage for you the purchase and sale operations . This software can be downloaded on your computer or used directly on the Internet. Obviously the security conditions will vary from one type of portfolio to another.

PRIVATE AND PUBLIC KEYS

If you compare the payment with bitcoins to the payment by credit card in a store, the public key corresponds to your credit card number, which identifies you and that you can transmit without too many risks, and the private key corresponds to your secret code, which allows you to validate the payment and that you must not disclose.

The term bitcoin portfolio refers both to the folder that contains your private key, but also the programs that generate public keys in order to create transactions, a little like your banker assigns you a credit card number and a secret code.

As you can imagine, the purpose of the portfolio is to retain bitcoins or Satoshi (1 satoahi = 0.00000001 bitcoins) but also to allow their expenditure. To do this, the portfolio enable its owner to distribute the public keys (to receive the bitcoins) and a program of signature of transactions with the help of private keys (for spending the bitcoins). To better understand a bitcoin transaction process you can read our article « 4 simple steps to understand a bitcoin transaction« .

The Portfolio must then be able to communicate such information to the bitcoin network  and has therefore a third program in relationship with the network. The first two programs are not necessarily directly related to the last one. In other words, it is possible to generate public keys and sign transactions indirectly, without being connected to the bitcoin network, and to transmit them in a second time. There are many combinations of these transactions.

BITCOIN PORTFOLIO ON THE INTERNET (« HOT STORAGE »)

The most common portfolio types are online portfolios. These applications are based on the Internet and can be downloaded on your smartphone and computer. they are great for small payments of everyday life by using QR codes for instance. The QR code is just a way to encode your public key so that you can scan it from your smartphone. If you do not know what to do with your bitcoins do not hesitate to use my QR code to get rid of them:

QR code
QR code

Smartphones are considered less secure than the Portfolios located on a laptop, it is therefore recommended not to keep all your bitcoins on your mobile portfolio, but rather in a software downloaded locally on your computer and even better in « Cold storage » (see below).

With this type of portfolio, your private and public keys are stored on the website of a service provider. In other words, the three programs that we mentioned above are concentrated on a same platform in the hands of the same person. In other word you generally do not control your private keys, which is a risk because it means that you need to trust the company that manages the portfolio. The main advantage however is that you can access your portfolio from anywhere in the world.

PORTFOLIO DOWNLOADED LOCALLY

A more secure way to keep your cryptocurrencies is to download a portfolio directly on your computer. You therefore become master of your private key and you are much better protected against attacks, provided of course that your computer does not contain any virus such as spyware programed to collect your keys.

The ideal solution remains to save your private key out of the Internet on a USB keys secure, also called « physical portfolios » (or « Cold Storage »).

Ledger is a French start-up which proposes a portfolio that you can download on your computer or smartphone, but whose data are stored on a key that you insert into the USB port of your computer. All information relating to your bitcoins are therefore not in contact with the Internet. The models proposed by ledger now allow you to store not only your bitcoins, but also the main altcoins: Ether, XRP, dash, litecoin, Dogecoin, Zcash.

 

Other brands such as KeepKey or Trezor wallets are also very effective.

It is possible if not recommended to use both types of storage for your bitcoins, a little as you would do with your current account and your savings account. You can indeed keep only the bitcoins/Satoshi you need on your hot storage (portfolio online) and regularly transfer the surplus on your cold storage.

Another way not to expose its private key to the Internet and use a portfolio HD.

HIERARCHICAL DETERMINISTIC WALLET (or « HD wallet »)

Despite its barbaric qualifier, the hierarchical portfolio is today the most effective way to protect your bitcoins (with portfolios in cold storage). It is a little technical can, but concretely, a HD portfolio contains an initial Seed from which it will be possible to create many keys drifting all from each other and organized in trees in the following way:

This process has the huge advantage of being able to create an almost unlimited number of keys starting only of the initial seed, so it is much more secure since it is now sufficient to retain the initial seed in security (in cold storage for example) to be able to recreate, transfer or import the whole portfolio.

 

OUR ADVICES

  • Encrypt your portfolio: it is important to use a password strong enough. Choose a good password is a necessary solution, but not sufficient, which should be combined with other means of protection such as those proposed below.
  • Use all the means of protections proposed by the Portfolio: today almost all portfolios available offer an option of double authentication. It is in fact a additional protection that is to send on your mobile phone a message including a code that you must include on the home page of the portfolio to be able to access it.
  • Keep the control of your private key: it is important not to entrust to a portfolio the care to manage your private key because it returns àleur entrust the safety of your bitcoins. It is therefore recommended to use only of portfolios with which you will keep the hand on your private key and keep a major part in « Cold Storage ».
  • Do not reuse the same addresses: For reasons of security, it is advised to use a new address for each new transactions. Many are the portfolios which today allows to create an address by transaction (portefeuilleHD)

You can compare the different portfolios available on the market in the below chart:

[googlepdf url= »https://www.blockchains-expert.com/wp-content/uploads/2017/12/Wallets-comparison-Charts-2018.pdf » width= »100% » height= »1000″]

 

IF YOU ENJOYED THIS ARTICLE FEEL FREE TO SHARE IT OR ASK ANY QUESTIONS/COMMENTS BELOW!!

Une explication simple de la « Preuve du Travail »

La « Preuve du Travail » (de l’anglais « Proof of Work ») n’est pas apparu avec le Bitcoin

Le concept de la “preuve du travail” existe depuis longtemps. La premiere application moderne, presentee en 1996 par Adam Back sous le nom de “Hashcash”, utilisait un mechanisme de la « Preuve du Travail » basé sur l’algorythme SHA256 (comme le protocol Bitcoin), comme un anti-spam en associant la reception d’un email à un mechanisme de la « Preuve du Travail ». Comme nous allons le voir, l’une des particularité du mécanisme de la « Preuve du Travail » est son coût, en raison des opérations qui doivent être realisées et donc des capacités informatiques et énergétiques qui sont requises.

Dans un réseau décentralisé tel que ceux reposant sur une blockchain, la difficulté est de mettre d’accord tous les membres sur l’ordre des transactions qui doivent y être ajoutées. C’est toute la question du Conensus entre les membres du réseau. La « Preuve du Travail » est un des mécanismes qui permet d’atteindre cet accord tout en assurant la sécurité du réseau. Et pour cela n’importe qui ne doit pas être en mesure d’ajouter des blocks à la blockchain comme il l’entend et obtenir la récompense. Il doit d’abord prouver son implication en mettant à la disposition des membres du réseau les capacités de calcul de son ordinateur (aujourd’hui un ordinateur ne suffit plus à miner le bitcoin, seul les fermes de minages et les mining pools peuvent encore participer).

La « Preuve du Travail » permet au mineurs de dire au reste du réseau, « regardez j’ai utilisé beaucoup de capacités de calcul, plein de matériel et plein d’énergie au service du réseau, la preuve j’ai obtenu le résultat de la « preuve du travail » donc maintenant je peux ajouter le bloc et recupérer la récompense qui va payer pour tous ces frais. »

Il est générallement considéré que le réseau bitcoin consomme autant d’énergie qu’un pays comme l’Ireland, mais ce qu’on ne dit pas assez, c’est que cette énergie sert à faire tourner des machines pour un exercice absurde, la « Preuve du Travail », qui sert juste à déterminer lequel des mineurs aura le droit d’ajouter le block à la blockchain. C’est aussi pourquoi de nombreux nouveaux systèmes de consensus apparaissent tels que le Proof of Stake ou le Delegated Proof of Stake en vue de limiter cette consommatoin d’énergie.

Tenter de définir le mécanisme de la « Preuve du Travail »

Le mécanisme de la « Preuve du Travail » peut s’expliquer en des termes relativement simples: c’est le fait pour un participant du réseau (dans le cas du bitcoin, un mineur) de présenter à l’ensemble des autres membres du réseau, le résultat des calculs qu’il a effectué. Les opérations à réaliser ne sont pas en elles mêmes compliquées, mais doivent être réalisées un nombre de fois tel que le mineur doit engager d’importantes capacités informatiques (CPU). Le mineur doit en effet trouver un chiffre au hazard. Pour cela il va tenter ça chance jusqu’à ce qu’il le trouve. Il va appliquer l’algorythme de hachage à un même groupe de donnée jusqu’à ce qu’il obtienne le résultat qu’il cherche.

 

QU’EST CE QU’UN ALGORYTHME DE HACHAGE? Il s’agit d’une formule mathematique qui est appliquée à un nombre variable de données (l’”input”) en vue de les transformer en un nombre fixe de données correspondant à l’emprunte digitale des données (“output”). Dans le cas de l’algorythme SHA256 la taille du code est toujours 256 bits. Le systeme du hachage est utilisé dans beaucoup d’autres domaines que bitcoin pour verifier que les données intiales (“input”) n’ont pas été changées. En effet deux input différents ne peuvent pas donner un output identique. Par exemple si nous soumettons la phrase “Bitcoin est une monnaie d’avenir” a l’algorythme SHA256 nous allons obtenir un code de 256 bits qui ressemblera au code suivant: “0f7becfd3bcd1a82e06663c97176add89e7dee0268de46f94e7e11bc3863e148”. Maintenant si nous ajoutons un point à la phrase et le re-soumettions à l’algorythme, le code obtenu sera totalement différent (même si il aura toujours 256 bits). En d’autres termes, il est impossible  de trouver deux inputs différents qui donneraient le même output. Il est également important de rappeller que l’algorythme de hachage ne fonctionne que dans un sens et qu’il est impossible de retrouver l’input à partir de l’output. De manière très schématique nous pourrions nous figurer le méchanisme de hachage comme une presse qui reduirait un ou plusieurs éléments de nature (chiffres, lettres, symbols) et de longueur différentes (input) en un seul code de 256 bits (output).

Plus concrètement le mineur doit trouver un résultat commençant par un certain nombre de zéro. Plus le nombre de zéro est important plus il est difficile pour le mineur de trouver le résultat et plus il devra essayer sa chance avant de tomber dessus.

 

Or le nombre de zéro (et donc la difficulté) est ajustée au nombre de mineurs sur le réseau (et de leur capacité informatique) pour être sûr qu’il prendront en moyenne 10 minutes pour trouver la solution. Une fois qu’il a trouvé ce chiffre, les autres membres du réseau peuvent instantanement en verifier la solution.

 

Comment un mineur fait pour trouver le resultat d’un hachage contenant un certain nombre de zero, si il ne connait pas les données d’entrée qui doivent être soumises au hachage? Puisque le mineur ne peut pas trouver les données d’entrée (“input”) à partir des données de sorti (“output”) comme nous l’avons expliqué plus haut dans notre encarde, il va tenter sa chance jusqu’a ce qu’il trouve les données d’entrée lui permettant d’obtenir des données de sortie correspondant à l’objectif de difficulte requis, c’est à dire commençant par le nombre de zéro suffisant pour être validé par le protocol Bitcoin et ainsi être ajouté à la blockchain.

 

Pour ce faire il va utiliser toujours les mêmes données auquelles il va ajouter un “Nonce” qui, lui, changera à chaque essai, jusqu’a ce qu’il trouve le Nonce lui permettant de trouver le bon resultat.

 

Si nous reprenons l’exemple utilise dans notre encardre, le mineur procedera comme il suit:

Bitcoin est une monnaie d’avenir1 = 0fdg155sd1fgsd5133d5fgdfgdbtnnjd3x5g4m3f5h4gzs3dg5….

Bitcoin est une monnaie d’avenir2 = 0wnjsbfd4yj35zs4egn35y4bzs3e5f43zn57has3d5nx3t5b73…..

Bitcoin est une monnaie d’avenir3 = 00asefnjj574dm3dm5y4mh3d54d3dmh43d54gdf35h4s486…

(…..)

Bitcoin est une monnaie d’avenir4635445614 = 000sdrgf7n3a547sd3ba5s4nj3s54fb3a54a3a45……

En jaune ce sont les « Nonces » appliqués par le mineur aux mêmes données d’entrée (“Bitcoin est une monnaie d’avenir”). Le mineur les essayes un par un. En vert, c’est le nombre de zéro contenu dans le résultat de l’algorythme de hachage, requis pour valider le block. Si le niveau de difficulté est requiert trois zéro par le protocol Bitcoin alors le mineur essayer des « Nonces » au hazard jusqu’à ce qu’il obtienne trois zéro. Il est important de noter que le niveau de difficulté est constament ajusté au nombre de mineurs présent sur le réseau et à leur niveau de sophistication pour s’assurer qu’un Nonce est trouvé toutes les 10 minutes.

Proof of Work
Proof of Work

Une fois que le mineur a trouvé le hachage du block permettant de valider ce block, ce dernier le transmet aux autres mineurs pour validation. Ces derniers disposant maintenant des données d’entrée pourront vérifier instantanement que le mineur a bien effectué le travail de recherche du Nonce (d’ou le nom “preuve de travail”) et ainsi valider le block.

Pour donner un ordre d’idee, à l’heure actuelle, compte tenu du niveau de difficulté, il faut compter jusqu’a 150 000 milliard de tentatives pour trouver le bon Input. Ce sont 600 trillons de calcul de l’algorythme SHA256 qui sont réalisés toutes les secondes à travers le monde. Nous sommes loin des débuts où le niveau de difficulté permettais de miner à partir d’un ordinateur portable, les mineurs sont maintenant des data center uniquement dédiés à cette activité.

Merci d’avoir lu cet article. Si il vous a intéressé, n’hésitez pas à le LIKER et à le PARTAGER!! Si vous avez des questions, vous pouvez les ajouter en commentaires et nous vous répondrons.

A simple explanation of « Proof of Work »

PROOF OF WORK did not appear with the Bitcoin. Its main purpose is to secure the network while it membres find an agreement on the order of the transactions that will be added to the blockchain.

The concept of « proof of work » exists since a long time. The first modern application, submitted in 1996 by Adam back under the name of « Hashcash », used a mechanism of « proof of work » based on the algorithm SHA256 (such as the one used by the protocol Bitcoin), as an anti-spam by associating the reception of an email to a mechanism of proof-of work. As we will see, one of the main features of proof-of-work is its cost, due to the operations that must be realized and therefore of computing capacity and energy sectors which are required.

In a decentralized network such as those based on a blockchain, the difficulty is to find an agreement among membres on the order of transactions which must be added. It is the whole question of the Conensus on the network. Proof of work is one of the mechanisms that allows to reach this agreement while ensuring the security of the network. And for this no matter which must not be able to add blocks to the blockchain as he hears and get the reward. It must first demonstrate its involvement by putting at the disposal of the members of the network the computing capacity of its computer (today a computer is no longer sufficient to undermine the bitcoin, only the farms of minages and mining pools may still participate).

The proof of work allows the minors to say to the rest of the network, « Look I have used a lot of capacity of calculation (CPU), lots of equipment and lots of energy at the service of the network, I went through the POW process and I have the evidence that I finished first, so now I can add the block and receive the reward who is going to pay for all these costs. »

It is generally considered that the bitcoin network consumes as much energy as a country like Ireland, but what is not being said enough, is that this energy is used to run the machines for an absurd exercise, the proof of work, which just serves to determine which of the minors will have the right to add the block to the blockchain. This is also why many new systems of consensus have recently appeared such that the proof of stake or the delegated Proof of stake in view to limit this consumption of energy.

Try to define the mechanism of the POW

The mechanism of « proof of work » can be explained in relatively simple terms: it is the fact for a participant of the network (in the case of the bitcoin, a minor) to submit to all other members of the network, the result of the calculations that he has done. The operations to be carried out are not in themselves complicated, but must be carried out such an important number of times that the minor must incur significant computing capacity (CPU). The minor must indeed find a random figure. For this he will try its chance until he find the number. It will apply the hashing algorithm on a same group of data until he obtains the result that it seeks.

What is an hashing algorithm? It is a mathematical formula which is applied to a variable number of data (the « input ») in order to transform them into a fixed number of data corresponding to the digital borrows data (« output »). In the case of the algorithm SHA256 the size of the code is always 256 bits. The hashing system is used in many other areas that bitcoin to check that the initial data (« input ») have not been changed. In fact two different input may not give an identical output identical. For example if we submit the phrase « Bitcoin is a currency of the future » to the algorithm SHA256, we will get a code of 256 bits, which will look like the following code: « 0F7becfd3bcd1a82E06663C97176ADD89E7DEE0268of46F94e7e11BC3863E148 ». Now if we add a point to the sentence and the re-submit it to the algorithm, the code obtained will be completely different (even if it will always be 256-bit). In other words, it is impossible to find two different inputs which would give the same output. It is also important to remember that the algorithm of hash only works in one direction and that it is impossible to find the input from the output.

More zero in the result means increased difficulty

More concretely the minor must find a result starting with a number of zero. The greater the number of zero, the more difficult it is for the minor to find the result and the more it will have to try his luck before finding it.

Yet the number of zero (and therefore the difficulty) is adjusted to the number of minors on the network (and their computer capacity or hashing power) to be sure that it will take an average of 10 minutes to find the solution. Once it has found this figure, the other members of the network can instantly check the solution.

How a minor manages to find the result of a hash containing a number of zero, if he does not know the input data that must be submitted to the hash? Since the minor may not find the Input data (« input ») from the result (« output »), he is going to try his luck until he located the Input data enabling him to obtain the output data corresponding to the objective of difficulty required, which is the number starting with a number of zero sufficient to be validated by the Protocol Bitcoin and thus be added to the blockchain.

To do this it will always use the same data to which he will add a « Nonce », which will change in each test, until he locates the Nonce allowing him to find the good result.

If we take the example mentioned above, the minor shall compute as follows:

Bitcoin is a currency of the future1 = 0FDG155sd1fgsd5133D5fgdfgdbtnnjd3x5g4m3f5H4GZS3Dg5….

Bitcoin is a currency of the future2 = 0wnjsbfd4yj35zs4EGN35Y4bzs3E5F43ZN57has3d5nx3t5b73…..

Bitcoin is a currency of the future3 = 00asefnjj574DM3dm5y4MH3d54d3DMH43d54GDF35H4S486…

(…..)

Bitcoin is a currency of the future4635445614 = 000sdrgf7n3a547sd3BA5s4nj3S54FB3a54a3a45……

in yellow this are the « Nonce » applied by the minor to the same input data (« Bitcoin is a currency for the Future »). The minor test them one by one. In Green, it is the number of zero in the result of the hashing algorithm, required to validate the block. If the level of difficulty required by the Protocol Bitcoin is three zero, then the minor tries the « Nonce » randomly until he obtains a result with three zero. It is important to note that the level of difficulty is constantly adjusted to the number of minors present on the network and their level of sophistication to ensure that a nonce is found all the 10 minutes.

Proof of Work
Proof of Work

Once the minor has found the nonce of the block to validate this block, the latter shall transmit to the other minors for validation. The latter who now have the complete input data will be able to check instantly that the minor has carried out the research work of the Nonce and thus validate the block.

To give an order of idea, at present time, taking into account the level of difficulty, it is necessary to count up to 150 000 billion of attempts to find the correct input. This represents 600 trillons of calculation of the algorithm SHA256 made every second around the world. We are far from the beginning where the level of difficulty allowed to mine bitcoin from a laptop, minors are now data center dedicated solely to this activity.

THANK YOU for having read this article. If you interested, please do not hesitate to the LIKER and share!! If you have questions, you can add them in the comments and we will answer you.

Internet of Things: Blockchain, Lightning Network and Tangle

Internet of things is already a reality. You have of course heard about connected objects that are invading every day a little more our life. These are all the sensors installed in our cars, our houses, our smartphones, our towns…everywhere. And this is just the beginning.

For instance, several new hardware have recently appeared in our homes: Smart thermostats that regulate the temperature in accordance with our habits and weather data collected on the net, smart lights that ignite only when someone is in the room, the fridge that make orders online what is missing and get them delivered, or the Smart locks that close your house automatically, are all sensors that are now part of our environment.

These sensors are called intelligent because they are equipped with processors powerful enough to activate an algorithm able to learn our habits and combine them with information available on the net in order to update its setting accordingly.

Smart thermostats for instance, record the setting we are manually doing during the first two weeks and use weather forecasts available online to optimize energy savings. These devices can obviously interact with the other sensors of their environment. You can for instance program a smart thermostat to start increase the temperature of your home and turn the light on when your smart lock is opening the door. You can even do that when you are on your way home through your localization app on your smartphone.

We are just at the beginning of a new industrial revolution and Gartner, the famous IT and technology research company, estimates that the number of these connected objects might reach 13.5 billion in 2020. But this revolution raises many questions and especially security ones.

internet of things
internet of things

As shown during the attack organized in October 2016 against Internet Service Provider company Dyn, it is now possible to take control of thousands of connected objects such as webcams, routers, and even baby phones, to support a large scale DDos attack.

All these objects are organized in networks, so they will communicate with each other and realize transactions, billions of micro-transactions to be accurate. So it is paramount for all these transactions and communication to be conducted securely. These sensors are still not very smart, i.e their memory and processing capacity are still limited by the requirements of size and access to energy in their environments. Even if according to Moor’s Law, this situation will evolve sharply, it is necessary to find today a system able to secure these networks while understanding the requirements of the Internet of Things.

BLOCKCHAIN

A system based on the blockchain could appear at first sight as a good solution. A blockchain indeed allows a network of nodes or connected objects to communicate and transact in a secured and decentralized way.

However, in its current state of development, the bitcoin blockchain (that we are taking as an example here) has several inconvenient to be applicable to an important number of connected objects:

  • not good for Scaling:

Due to the limited number of transactions that can be added to the blockchain, it is actually difficult apply the blockchain to a network with an exponential increase where transactions made among members of the network (either physical persons or not) will also increase exponentially. The size of each blockchain blocks is 1MB and even an increase of this size through SEGWIT 2X for instance, is not sufficient to process all the transactions made on the bitcoin network. It is indeed considered that 250,000 transactions are always waiting to be processed.

  • A protocol very slow

This bottleneck is largely due to the speed of the bitcoin protocol which programmed to only add a block every 10 minutes. The difficulty of Proof of Work is indeed always adjusted to the number of miners acting on the network (i.e the amount of hashing power used on the network) so the time frame between two block will always be 10 minutes. It is easy to understand that such system which is already difficult to apply to commercial solutions, is not adapted to a universe where billions of machines exchanges with each other.

  • high Fees

The presence of minors that must be paid for their validation work and adding blocks to the blockchain, is also a big disadvantage. At the present time, the fees charged by minors to users for each transactions added to the blockchain are around $2, but can reach of the peaks of up to 8.5 dollars. Here again the principle of the mining which aims to operate the network in a decentralized and secure manner, is particularly unsuited to micro-transactions that will explode around us in the near future.

  • Heavy weight of the blockchain

Finally the size of the blockchain may also prove to be a major disadvantage. Even if it is not necessary to download a blockchain integrally to interact with it and send transactions, it still needs to be stored in a same place by all members (minors or nodes) of the network. This system is obviously unsuited to a world where billions of transactions will be carried out each day.

 

 

A POSSIBLE SOLUTIONS: THE LIGHTNING NETWORK

 

Lightning network
Lightning network

The Lightning Network is a protocol designed with the initial objective to enable the bitcoin to extend its network by accelerating the speed of the transactions.

This Protocol now applies to the whole of the blockchains and allows millions of transactions per second, instantly and with fees extremely low.

The technology used by the lighting network is that of channels of payments. The micropayments Channels are a technology that allows you to group several small transactions in a same transaction in order to limit the costs and not have to wait for the confirmation for each transaction.

Each party must therefore first create together a channel by issuing a transaction that they must all sign using their private key, which will not be broadcasted on the network and will block a certain sum of money.

The Lightning Network goes further and proposes a bidirectional channel, that is to say that the two parties can make payments through the same channel. The two parties may therefore block a sum of money in the mulit-sig initial transaction and perform transactions through this channel.

The Lightning Network goes further and proposes a bidirectional channel, that is to say that the two parties can make payments through the same channel. The two parties may therefore block a sum of money in the mulit-sig initial transaction and perform transactions through this channel.

The Lightning Network also organizes the networking of these different channels so as to enable the achievement of payments by interposed persons. To do this, the software will perform a series of steps that will allow Alice to transfer funds to Carol by the intermediary of Bob.

These steps are the following:

1- Alice requests Carol to create a value (for example a mixture of digit and letters), and to transfer to her the hash of this value as well as its address bitcoin.

2- Alice transmits the hash to Bob and tell him that she would send him a bitcoin if he shows the value that it has received from Carol proving that it has transmitted a bitcoin to Carol.

3- Bob receives the value (which checks the hash) on the part of Carol and transmits her a bitcoin in return.

4- Bob passes the value that it has received from Carol to Alice thus proving that it has transferred the bitcoin to Carol. Alice can therefore send him to turn a bitcoin safely.

Lightning Network
Lightning Network

As we can see, Alice uses the channel that Bob has put in place with Carol to transfer a bitcoin to the latter without knowing her. Obviously this scenario works with several intermediaries.

But as you may be wondering, what would happen if Alice changed her mind and decided no longer to transfer the bitcoin once she has received the value from Bob and that the latter has forwarded the bitcoin to Carol (step 4 above)?

This is where Hash Time-Locked contract come into action.

The lightning network uses a process called « Hash Time-Locked Contract » which includes both a timer ( » Time-Locked ») and a secret ( » hash »). If we take the example above of a transfer of bitcoin from Alice to Carol (directly, without including Bob to facilitate the explanation), the establishment of a Hash Time-Locked Contract is done according to the following steps:

1- Alice sends the bitcoin that she wants to transfer to Carol, toward a third-party address which requires the signature of both parties to be used (multisig address).

2- Bob can recover funds by sending them to an address that he controls at any time by adding its signature and the value that has been transmitted by Alice.

3- Alice can also send the funds to an address that it controls but only after a certain period ( » Time-Lock »).

This mechanism is then used at the level of the network. So Alice and Bob have also put in place a hash Time-Locked Contract. In our example above, Bob receives the value of Alice before transferring the bitcoin. The two channels are linked so if Alice does not want to transfer the bitcoin, Bob will be able to insert the value that it has received from Carol in the Hash Time-Locked contract in place with Alice and thus be certain to recover it.

As you can see the lightning network represents a significant advance in the development of the bitcoin network and can be a solution for networks of communication between machines that are currently developing. Although many of the prototypes of networks based on a blockchain are currently in development, we would like to stop on one of the most promising, in any case the Internet of Objects, the Tangle.

 

TANGLE : all the advantages of the blockchain, without the blockchain.

 

iota
iota

Used by the IOTA project, Tangle is a new type of network based on a DAG (Directed Acyclic Graph) which has been designed with the Internet of Things in mind.

Tangle is no longer really a blockchain properly speaking, since there is no longer a « block » or a « chain ». Tangle is actually a second generation blockchain that does not rely on an architecture of blocks connected to each other by cryptographic hashes, but retains some of the fundamentals of the current blockchain:

 

– A peer-to-peer network

– A decentralized database

– A consensus mechanism to validate transactions

One of the first consequences of the absence of blocks is the absence of minors. To be precise and as we shall see, there are no members of the network who are exclusively minors on behalf of the network. All members are a little bit. A network based on Tangle does not charge fees to validate transactions. This is one of the major differences with the blockchain as we know it today. Transactions even for small amounts are therefore possible on this type of network, which is particularly well suited to the Internet of objects.

An improved consensus system applied to a revolutionary structure

The consensus mode is also different from the one we currently know since it is not done in sequence, 10 minutes for the bitcoin protocol for example, but continuously and in parallel.
TANGLE is also called a DAG or DIRECTED ACYCLIC GRAPH. « Directed » means that it only goes in a sense, « Acyclic » means that it is not circular and « Graph » that the network itself is the equivalent of the blockchain to store transactions.

As with current networks, each network member (or « node ») is a computer that sends transactions for validation to other members with whom it is connected. In the case of Tangle, these transactions are referred to as « Site ».

Tangle
Tangle

The rule is that any new transaction, called « tips » (in gray above), must approve two existing transactions. Each chain of transactions is called a branch. The longer the branch on which a transaction is based, that is to say there is more new transactions after it, the more its weight is important. By « weight », it is necessary to understand the amount of work that has been invested in the transaction by the Member transmitter. The weight of a « tip » can also be calculated in accordance with the weight of all transactions that are included on the same branch.

Tangle
Tangle

We then speak of accumulated weight. In the example above, the accumulated weight of A is 9, that is to say its weight (1), plus the weight of the transactions to which it points, or (b), (d), (f) and (G). The greater the weight of a site, the lesser it will be possible to revert on this transaction. It is important to see that all transactions in green in the above diagram are indirectly pointed by all new transactions in grey, which is not the case of the transactions in red. The objective of any transaction is to become green.

The two transactions that must validate each new transaction are randomly selected by an algorithm called « Markov chain Monte Carlo » and intends to avoid that Members choose to validate only their transactions. As you can see, each member of the network plays the role of a minor by validating two transactions for the Siena is accepted by the network.

How do you know the degree of reliability of a transaction?

By simply activating the algorithm « Markov chain Monte Carlo » to determine the number of times that a Tip chooses led to your transaction. If you activate the algorithm 100 times and that your transaction is reached 50 times then the rate of validation is of 50%.

Once a member has verified that the two transactions selected by the algorithm are not conflicting, the principle used to validate transactions is the same as that used by the blockchain of bitcoin, i.e. proof of work. Each Member reproduced the same cryptographic hash until it discovers the Nonce which allows you to validate the transaction. The big difference with the POW used for the bitcoin lies in the fact that there is no race between the different minors anymore and therefore the difficulty to find the Nonce does not increase. It is therefore possible to participate in the mining of the transactions of a network based on the tangle technology from its smartphone or its PC. Tangle is in fact designed so that the mining is done by objects connected with low capacities. It is therefore perfectly adapted to the Internet of Objects.

SCALING

It is essential to understand that the type of mining that we have just described is carried out simultaneously by all the members of the network and not more in cadence, all 10 minutes as is the case with the bitcoin. Therefore the more Members present on the network, the more secure the network is. This option is made possible because the transactions are no longer added to blocks whose size is limited, but are saved directly in the DAG or directed acyclic graph.

OFFLINE

Another crucial element for its use in the Internet of objects is that the members of the network can participate in the mining without being continuously connected to the Internet network. When we apprehend the issues of communication of the sensors to a network in the real world, it is apparent that this option is indispensable. For practical reasons, it is in fact impossible that all connected objects are permanently connected to the Internet, even indirectly through a gateway.

I hope this article was useful !! If so you can like the page. Please also do not hesitate to ask your question in the comments below !

Internet des Objets: Blockchain, Lightning Network et Tangle

On voit apparaître depuis peu des objets connectés dans notre maison. Les smart thermostats qui régulent la température de votre maison en fonction de vos habitudes et des données météo empruntées sur le web, Les lampes intelligentes qui s’allument uniquement lorsque quelqu’un est dans la pièce, le réfrigérateur qui commande tout seul ce qu’il vous manque ou encore les smartlocks qui ferment votre maison automatiquement, sont autant de capteur plus ou moins intelligents présents dans notre environnement.

Ces objets deviennent intelligents parce qu’ils sont équipés de processeurs visant de faire fonctionner des algorithmes capables d’apprendre nos habitudes et donc de s’adapter à notre quotidien tout en combinant les information relevées sur leur environnement avec les données trouvées sur internet.

Les smart thermostats par exemple, analysent dans un premier temps les niveaux de chaleurs que nous préférons et utilisent les données météorologiques disponibles sur internet pour optimiser les économies d’énergies. Ces appareils peuvent évidemment interagir avec les autres capteurs de leur environnement. Vous pouvez par exemple programmer un smart thermostat pour diminuer la température et les lampes intelligentes pour qu’elles s’éteignent lorsque le smart Lock est enclenché et qu’aucune présence n’est détectée dans la maison.

Internet of things
Internet of things

Nous ne sommes qu’au début d’un mouvement de grande envergure, puisque Gartner, la célèbre compagnie de recherche en téchnologie de l’information, estime que le nombre de ces objects connectés pourrait atteindre 13,5 milliards d’ici à 2020. Or ce mouvement soulève des questions importantes à commencer par celle de la sécurité.

Comme en témoigne une attaque perpétrée aux Etats Unis et en France en octobre 2016 contre le fournisseur d’accès Dyn, il est possible de prendre contrôle d’objets du quotidiens comme des webcams, des routers et même de babyphones en vue de conduire des attaques déni de service d’une taille sans précédent.

Tous ces objets étant en réseau, ils vont communiquer et réaliser des transactions les uns avec les autres, des milliards de micro-transactions pour être précis. Il est donc essentiel de leur permettre d’échanger en toute sécurité et de manière indépendante. Ces capteurs n’étant pas pour la plupart encore très intelligents, c’est-à-dire qu’ils ont une mémoire et des capacités de calcul limitées, il faut dès aujourd’hui imaginer un système qui soit très léger et facile à mettre en œuvre tout en étant rapide et capable de supporter un nombre illimité de membres.

BLOCKCHAIN

Un système reposant sur une blockchain pourrait sembler très adapté de prime abord. Une blockchain permet en effet à un réseau de membres ou d’objets connectés de réaliser des transactions et de communiquer de manière autonome et très sécurisée.

Pourtant, en l’état actuel de son développement la blockchain du bitcoin (que nous prenons comme exemple ici) présente de nombreux inconvénients pour être appliqué à un nombre important d’objets connectés en réseau :

  • Une capacité de déploiement limitée

En raison du nombre limité de transactions pouvant être ajoutées à chaque block de la blockchain, il est actuellement difficile d’étendre l’application de la blockchain à un réseau ayant une croissance exponentielle et donc un nombre de transactions entre les membres du réseau (personnes physiques ou objets connectés) également exponentiel. La taille des blocks de la blockchain Bitcoin est 1MB (en septembre 2017) et même une amélioration comme SEGWIT 2X qui ajoute des capacités de stockage dans chaque block, ne suffit pas à contenter la demande actuelle du réseau bitcoin. Il est en effet considéré que près de 250,000 transactions sont constamment en attente de confirmation.

  • La lenteur du protocol

Cet engorgement est largement dû à la lenteur du protocol Bitcoin. A l’heure actuelle le protocol Bitcoin ne permet d’ajouter un block à la blockchain que toutes les 10 minutes. La difficulté du Proof of Work est en effet constamment ajustée aux nombre de mineurs présent sur le réseau (et donc au hashing power utilisé sur le réseau) pour que espace soit respecté entre chaque block pour assurer la sécurité du réseau. On comprend bien que ce système qui est déjà mal adapté aux applications commerciale, ne peut fonctionner dans un univers où des milliards de machines échangent entre-elles à la vitesse de la lumière.

  • Des frais élevés

La présence de mineurs qu’il faut rémunérer pour leur travail de validation et d’ajout des blocks à la blockchain, est également un gros désavantage. A l’heure actuelle, les frais facturés les mineurs aux usagers pour chaque transactions ajoutées à la blockchain tourne autour de 2 dollars, mais peut atteindre des pics allant jusqu’à 8,5 dollars. Là encore le principe du minage qui vise à faire fonctionner le réseau de manière décentralisé et sécurisé, s’avère particulièrement inadapté aux micro-transactions qui vont exploser autour de nous dans un futur proche.

  • La lourdeur de la blockchain

Enfin la taille de la blockchain peut également s’avérer être un inconvénient majeur. Certe il n’est pas nécessaire de télécharger une blockchain en entier pour interagir avec elle et envoyer des transactions, mais il faudra que celle-ci soit stockée dans un même endroit par tous les membres (mineurs ou nom) du réseau. Ce système est de toute évidence inadapté à un monde où des milliards de transactions vont être réalisées chaque jour.

 

LA SOLUTION POSSIBLE: LE LIGHTNING NETWORK

 

Lightning network
Lightning network

Le Lightning Network est un protocol dont l’objectif initial est de permettre au bitcoin d’étendre son réseau en accélérant la vitesse de réalisation des transactions.

Ce protocol s’applique maintenant à l’ensemble des blockchains et permet de réaliser des millions de transactions par seconde de manière instantanée et avec des frais extrêmement faible.
Chaque partie doit donc d’abord créer ensemble un canal en émettant une transaction qu’ils doivent tous signer à l’aide de leur clef privée, qui ne sera pas diffusée sur le réseau et qui aura pour vocation de blocker une certaine somme d’argent.La technologie utilisée par le Lighting Network est celle des canaux de paiements. Les canaux de micropaiments (« Micropayments Channels ») sont une technologie qui permet de regrouper plusieurs petites transactions dans une même transaction en vue de limiter les frais et ne pas avoir à attendre la confirmation pour chaque transaction.

Le Lightning Network va plus loin et propose un canal bidirectionnel, c’est à dire que les deux parties peuvent effectuer des paiements à travers un même canal. Les deux parties peuvent donc bloquer une somme d’argent dans la mulit-sig transaction initiale et effectuer des transactions à travers ce canal.

Le Lightning Network organise également la mise en réseau de ces différents canaux de manière à permettre la réalisation de paiements par personnes interposées. Pour ce faire, le logiciel va réaliser une série d’étapes qui vont permettre à Alice de transférer des fonds à Carol par l’intermédiaire de Bob.

Ces étapes du fonctionnement du Lightning Network sont les suivantes :

  • Alice demande à Carol de créer une valeur (par exemple un mélange de chiffre et de lettres) et de lui en transférer le hachage ainsi que son adresse bitcoin.
  • Alice transmet le hachage à Bob et lui dit qu’elle lui transmettra un bitcoin si il lui montre la valeur qu’il a reçu de Carol prouvant qu’il a bien transmis un bitcoin à Carol.
  • Bob reçoit la valeur (qui vérifie le hachage) de la part de Carol et lui transmet un bitcoin en retour.
  • Bob transmet la valeur qu’il a reçue de Carol à Alice prouvant ainsi qu’il a transféré le bitcoin à Carol. Alice peut donc lui transmettre à son tour un bitcoin en toute sécurité.

Lightning Network
Lightning Network

Comme nous le voyons Alice utilise le canal que Bob a mis en place avec Carol pour transférer un bitcoin à cette dernière sans pour autant la connaître. Evidement ce scénario fonctionne avec plusieurs intermédiaires.

Mais comme vous vous le demandez peut être, que se passerait-il si Alice changeait d’avis et décidait de ne plus transférer le bitcoin une fois qu’elle a reçu la valeur de la part de Bob et que ce dernier a transmis le bitcoin à Carol (étape 4 ci-dessus) ?

Hash Time-Locked Contract

Pour ce faire, le lightning Network utilise un procédé appelé «Hash Time-Locked Contract» qui inclut à la fois un minuteur (« Time-Locked ») et un secret (« Hash »). Si nous reprenons l’exemple si dessus d’un transfert de bitcoin de Alice vers Carol (directement, sans inclure Bob pour faciliter l’explication), la mise en place d’un Hash Time-Locked Contract s’effectue selon les étapes suivantes :

  • Alice envoie les bitcoin qu’elle veut transférer à Carol, vers une adresse tierce qui nécessite la signature des deux parties pour être utilisée (adresse multisig).
  • Bob peut récupérer les fonds en les envoyant vers une adrese qu’il contrôle à tout moment en y ajoutant sa signature et la valeur qui lui aura été transmise par Alice.
  • Alice peut également envoyer les fonds vers une addresse qu’elle maîtrise mais seulement après une certaine période (« Time-Lock »).

Ce mécanisme est ensuite utilisé au niveau du réseau. Ainsi Alice et Bob ont aussi mis en place un Hash Time-Locked Contract. Dans notre exemple ci-dessous, Bob reçoit la valeur d’Alice avant de lui transférer le bitcoin. Les deux canaux sont liés donc si Alice ne veut pas lui transférer le bitcoin à son tour, Bob pourra insérer la valeur qu’il a reçue de Carol dans le Hash Time-Locked Contract en place avec Alice et ainsi être certain de le récupérer.

Comme vous pouvez le constater le Lightning Network représente un avancées importante pour le développement du réseau bitcoin et peut être une solution pour les réseaux de communication entre machines qui se développent actuellement. Bien que de nombreux prototypes de réseaux reposant sur une blockchain tous plus performants les uns que les autres soient actuellement en développement, nous voudrions nous arrêter sur un des plus prometteur, en tout cas l’internet des objets.

iota
iota

TANGLE : tous les avantages de la blockchain, sans blockchain

Tangle est un nouveau type de réseau reposant sur un DAG (Directed Acyclic Graph) qui a été conçu avec l’internet des objets comme ligne de mire. Tangle n’est plus vraiment une blockchain à proprement parlé, puisqu’il n’y a plus de « block » ni de « chain ». Tangle est en fait une blockchain de seconde génération qui ne repose pas sur une architecture de blocks reliés les uns aux autres par des hachages cryptographiques, mais conserve certains fondamentaux de la blockchain actuelle :

  • Un réseau de pair à pair
  • Une base de données décentralisée
  • Un mécanisme de consensus en vue de valider les transactions

Une des premières conséquences de l’absence de blocks est l’absence de mineurs. Pour être précis et comme nous allons le voir, il n’existe pas de membres du réseau qui soient exclusivement mineurs pour le compte du réseau. Tous les membres le sont un peu. Un réseau reposant sur Tangle ne charge donc pas de frais pour valider des transactions. C’est une des différences majeures avec la blockchain telle que nous la connaissons actuellement. Les transactions même pour des montants infimes sont donc possibles sur ce type de réseau, ce qui est particulièrement bien adapté à l’internet des objets.

 

CONSENSUS: Tangle propose un système de validation des transactions très novateur.

Le mode de consensus est également différent de celui que nous connaissons actuellement puisqu’il ne s’effectue pas en séquence, de 10 minutes pour le protocol bitcoin par exemple, mais en continue et en parallèle.

TANGLE est également appelé un DAG ou DIRECTED ACYCLIC GRAPH. « Directed » signifie que cela ne va que dans un sens, « Acyclic » signifie que ce n’est pas circulaire et « Graph » que le réseau en lui-même est l’équivalent de la blockchain pour stocker les transactions.

Comme pour les réseaux actuels chaque membre du réseau (ou « node » en anglais cad « nœud ») est un ordinateur qui envoie des transactions pour validation aux autres membres avec lesquels il est connectés. Dans le cas de Tangle, ces transactions sont appelées « Site ».

Tangle
Tangle

La règle est que toute nouvelle transaction, appelée « Tips » (en gris ci-dessus), doit approuver deux transactions existantes. Chaque chaine de transactions est appelé une branche. Plus la branche sur laquelle une transaction repose est longue, c’est-à-dire plus il y a de nouvelle transactions après elle, plus son poids est important. Par « poids », il faut comprendre le montant de travail qui a été investi dans la transaction par le membre émetteur. Le poids d’un « Tip » peut également être calculé en fonction du poids de toutes transactions qui figurent sur la même branche.

Tangle
Tangle

On parle alors de poids cumulé. Dans l’exemple ci-dessus, le poids cumulé de A est 9, c’est-à-dire son poids (1), plus le poids des transactions vers lesquelles il pointe, soit (B), (D), (F) et (G). Plus le poids d’un Site est important, moins il sera possible de revenir sur cette transaction. Il est important de voir que toutes les transactions en vert dans le schéma ci-dessus sont indirectement pointées par toutes les nouvelles transactions en gris, ce qui n’est pas le cas des transactions en rouge. L’objectif de toute transaction est de devenir verte.

Les deux transactions que doivent valider chaque nouvelle transaction sont choisies au hazard par un algorythme appelé « Markov Chain Monté Carlo » et entend éviter que des membres choisissent de valider seulement leurs transactions. Comme vous pouvez le voir, chaque membre du réseau joue le rôle de mineur en validant deux transactions pour que la sienne soit acceptée par le réseau.

Comment connaitre le degré de fiabilité d’une transaction ?

Tout simplement en actionnant l’algorithme « Markov Chain Monté Carlo » pour déterminer le nombre de fois qu’un Tip choisit conduit à votre transaction. Si vous actionnez l’algorithme 100 fois et que votre transaction est atteinte 50 fois alors le taux de validation est des 50%.

Une fois qu’un membre a vérifié que les deux transactions sélectionnées par l’algorithme ne sont pas conflictuelles, le principe utilisé pour valider les transactions est le même que celui utilisé par la blockchain du bitcoin, c’est-à-dire Proof of Work. Chaque membres reproduit le même hachage cryptographique jusqu’à ce qu’il découvre le Nonce qui permet de valider la transaction. La grande différence avec le POW utilisé pour le bitcoin réside dans le fait qu’il n’y a plus de course entre les différents mineurs et donc la difficulté pour trouver le Nonce n’augmente pas. Il est donc possible de participer au minage des transactions d’un réseau reposant sur la technologie Tangle depuis son smartphone ou son PC. Tangle est en fait conçu pour que le minage soit réalisé depuis des objets connectés aux faibles capacités. Il est donc parfaitement adapté à l’internet des objets.

DEPLOYEMENT: avec Tangle plus le réseau est grand plus il est sécurisé

Il est essentiel de comprendre que le type de minage que nous venons de décrire s’effectue simultanément par tous les membres du réseau et non plus en cadence, toutes les 10 minutes comme c’est le cas avec le bitcoin. Donc plus il y a de membres dans le réseau, plus il y a de mineurs et plus le réseau est sécurisé. Cette option est rendue possible parce que les transactions ne sont plus ajoutées à des blocks dont la taille est limitée, mais sont directement enregistrées dans le DAG ou DIRECTED ACYCLIC GRAPH.

OFFLINE: Tangle fonctionne même lorsque lorsqu’il n’est pas connecté.

Un autre élément crucial pour son utilisation dans l’internet des objets est que les membres du réseau peuvent participer au minage sans pour autant être connecté en permanence au réseau internet. Quand on appréhende les problématiques de communication des capteurs d’un réseau dans le monde réel, on s’aperçoit que cette option est indispensable. Pour des raisons pratiques, il est en effet impossible que tous les objets connectés soient en permanence connectés à internet, même indirectement au travers d’un Gateway.

N’hésitez pas à poser vos questions en commentaire et à Liker si cet article vous a plu!!

 

Proof of Work vs Proof of Stake

The goal of consensus system in a decentralized network relying on a blockchain is to allow the members of the network to find an agreement among these members on the current state of the blockchain. The difficulty is to attain such result without knowing the identity of the members and without any centralized authority that plays the role of confident intermediary.In the article we will compare Proof of Work vs Proof of Stake which are two options to solve this issue

In other word, consensus are mechanisms that allows a decentralized network that share a common ledger (the blockchain), to agree on the validity and the order of the transactions realized among the members of the network.

Before the creation of the Bitcoin, this process was not possible and centralized entity were needed to play the role confident intermediary. The purpose of a bank for instance is initially to update a ledger (your account) to show the movements in and out according to the payments that are made among the members or the banking system.

Proof of Work

“Proof of work” (“POW”) is currently the most famous consensus system due to the development of the bitcoin. This mechanism relies on a reward of the entities participating to the consensus process for validating the transactions and adding them to the blockchain. Until now, the bitcoin has largely shown it reliability and resistance to attacks. It is important to note the successful hack were most of the time against exchanges that did not provide solutions secured enough to for the private keys, but the Bitcoin protocol in itself has never been breached to date.

The success of POW relies on different elements:

First POW is the first consensus algorithms for which the management of the identity of its members is fully decentralized. In other words anyone can mine bitcoin without having to show its identity. This is the reason why POW is well suited for “public” or “permission less” blockchains that are open to anyone.

In practice in a system applying POW, each miner tries to solve a mathematical problem and the first one is allowed to constitute the block and add it to the blockchain which will open the right to a reward paid in bitcoin. Without entering in too much detail, the solution to the mathematical problem cannot be found by deduction, but only by trying solution until the miner find the one that is the answer. So the more calculating power you have the attempt you can make on the problem and the more probability you have to find the answer. It is also important to flag that the difficulty of the problem grows with the number of miners trying to solve it (the amount of calculating power or “hashing power” used on the network) so that it will always take 10 min to find to mine a block.

This is the reason why POW always leads to a run on calculating power, which is a constant increase of the calculating power of the network. It is far the time when, everyone could mine bitcoin on his PC. Now only a handful of mining farm and mining pools (gathering thousands of PC) are able to compete to add blocks to the blockchain. This run also has absurd ecological effects. It is generally considered that the bitcoin network consumes as many electricity as a country like Ireland.

Proof of Work
Proof of Work

All these reasons have led developers to imagine new consensus mechanisms that would reach the same results without having this run on the CPU, that would be faster (than one block each 10mins) and easy to scale. Proof of Stake is one of these new consensus systems.

 

PROOF OF STAKE

As you can understand from its name, Proof of Stake does rely on the stakes you have in the network, i.e the number of token that you own, and not on your calculating power.

So where the size of your installation is determinant in the POW system, in the Proof of Stake system the most important is the amount of token that you own. Indeed the more token you have, the more opportunity you will have to mint (we talk about “minter” for POS instead of miner for POW). The mechanism rely on the idea that the person who have the most interest to have a consensus system that works perfectly are the one that have the most interest in the system, because if the consensus does not work the price of the token will fall and their wealth too.

The other rational behind this mechanism is that the price of the attack would be so high that it would discourage any attacker. To succeed an attacker would have to buy an important amount of token.

In practice, the minter combines the identification of the last block that has been mined with their public key to generate a random number. This number is them multiplied by the number of token that is own by the minter and the time in second since the last block added. If this number is higher than a predetermined threshold then the minter is authorized to add the next block.

 

LIMITS TO POW AND POS

 

Proof of work
Proof of work

Both POW and POS are not perfect and could be improved.

POW for instance is very slow. A block containing a limited number of transactions can only be added to the blockchain every 10 minutes. Given the risk of 51% attack we have described above, it is generally considered that it is impossible to come back on a block once 6 blocks have been added to the blockchain after the one in which our transaction is stored. Even if projects like the Lightning Project and Sidechain try to solve these issues, this time frame makes the uses of bitcoin for commercial purposes very difficult.

This problem is increased by the fact that POW does not provide finality of the consensus. This means that once a block is added to the blockchain it is not 100% that the next block will be added on this block. It sometimes happens that two miners had blocks at the same time and realize what is called a “fork”. There is collision between two blocks and the network will have to choose the block on which the next block will be added. It is admitted by the miners that the blocks should be added on the chain showing the highest rate of difficulty. This collision among blocks is another reason why you need to wait 6 blocks before you can considered that your transactions has definitely been added to the blockchain.

Even if several methods have been invented to make bitcoin transactions faster (again Lightning Project or SideChain for instance), the question of the size of the block and the number of transactions that can be added to each blocks, remain an important point of conflict in the bitcoin community despite the adoption of SEGWIT 2X in August 2017. The issue of the size of the blocks is directly linked to the pace at which blocks can be added to the blockchain (“Block frequency”). The more transaction you can add to each blocks, the more time it takes to validate these transactions and add the blocks. As Marco Vukolic, researcher at IBM, pointed out, this is when the validation times grows that risks of forks increase and so attacks too.

The system of the POS is not perfect too and could also be a victim of its simplicity.

Blockchain network
Blockchain network

It is sometime considered that the value of the tokens mined under the POW system, comes from all the means (CPU/electricity) that have been used to mine the tokens. In other words, the price of the tokens should at least reflect the investment made by the miners. This is not the case for the tokens that have been minted through the processes of POS since it not involve any investment apart from the buying price of the tokens.

This is precisely what is at the roots of one of the main attack of the POS consensus system which is called the nothing at stake attack.

This is an attack by which an attacker would intentionally divide (fork) the blockhain, by creating a longer blockchain without any additional costs for him. If we come back to the explanation of the POS system, imagine that two minters have obtain the right to mint a block at the same time, they would create two separate and competitive blockchains . As for the POW mechanism, such forks are normally solved by the miners choosing the chain with the most difficulty and abandon the other one. The transactions contained in the abandoned chain would be added in the next blocks.

With POW, miners have to choose the chain correctly because mining prices are so high that they cannot afford to mine without adding blocks, but this is not the case with POS. Minters can indeed keep mining intentionally on the wrong chain just to obtain the rewards. This attack would normally come from a group of minters who would consult in order to invalidate a certain number of transactions and allow double spending for the minter own account. Again this king of attack would be very risky for the linter as the price of their token could fall if the network becomes aware of such attack.

These issues of the size and frequency of blocks, the finality of mining and the concentration of mining capacity all constitute challenges the current developers try to solve through experimental systems such as Delegated Proof of Stake, Byzantine Fault Tolerant systems or Tangle that we will describe in different articles

Preuve du Travail vs Preuve de l’Enjeu

Avant l’apparition du bitcoin, ce processus n’était pas possible et des autorités centralisées jouant le rôle de tiers de confiance devaient intervenir. Par exemple, la raison d’être initiale d’une banque est de mettre à jour un registre (votre compte) pour refléter les mouvements d’entrée et de sortie qui correspondent aux paiements effectués entre les membres du réseau bancaire.

PREUVE DU TRAVAIL (Proof of Work)

preuve du travail (« PdT ») est le mécanisme décentralisé de consensus le plus célèbre à l’heure actuelle grâce au développement du Bitcoin.

Ce mechanisme repose à la fois sur une récompense des entités participant au consensus pour leur bonne conduite et leur travail de calcul, ainsi que sur un algorithme visant à protéger le réseau contre des acteurs ne disposant pas de la majorité de la puissance informatique sur le réseau. Jusqu’à maintenant, le Bitcoin a largement démontré la fiabilité d’un tel système.

Son succès tient à plusieurs éléments.

D’abord la Preuve du Travail est l’un des seuls mécanisme de consensus pour lequel le management de l’identité des participants est entièrement décentralisé. En d’autres termes n’importe qui peut miner des bitcoins sans avoir à prouver d’une quelconque identité. C’est la raison pour laquelle la Preuve du Travail correspond aussi bien aux blockchains dites “publiques” ou encore “sans permissions” (“permissionless blockchains”), qui sont ouvertes à tout le monde.

En pratique, dans un système appliquant la Preuve du Travail, chaque mineur essaye de réaliser un problème mathématique et seul le premier à avoir trouvé la solution a le droit d’ajouter le block à la blockchain et d’obtenir la récompense. Sans rentrer dans trop de détails, la solution de ce problème mathématique ne peut être trouvée par déduction, mais seulement en essayant toutes des solutions possible. Or plus votre ordinateur est performant, plus vous allez être en mesure d’essayer un nombre important de possibilités. Pour cette raison, plus votre installation est performante, plus vous avez de chance de trouver la solution. C’est également pour cette raison que tout système reposant le POW entraîne une course aux CPU, c’est-à-dire une augmentation inévitable des capacités de calcul disponible sur le réseau.

Proof of Work
Proof of Work

Il y a en effet longtemps que les personnes qui minaient des bitcoins depuis leurs PC avec des cartes graphiques, ne sont plus dans la course et ont été contraint de rejoindre des pools de minages. Donc plus il investit plus un mineur a de chance miner des blocks, ce qui a l’avantage de rendre toute attaque sur le réseau particulièrement chère mais entraine une véritable course à l’équipement entre les mineurs dont l’effet écologique est catastrophique.

PREUVE DE L’ENJEU

A la différence de la « Preuve du Travail », le mécanisme de consensus reposant sur la “Preuve de l’enjeu” ne demande pas de compléter un certain nombre d’opérations informatique, mais de démontrer qu’on est en possession d’un certain montant d’argent ou de jetons. Avec un mécanisme reposant sur la « Preuve du Travail », la probabilité qu’un mineur soit le premier à trouver le nonce permettant de valider le hachage du block lui permettant de l’ajouter à la blockchain, est directement proportionnel à la puissance de calcul de son installation informatique.

Avec la “Preuve de l’enjeu”, le pouvoir de calcul informatique n’intervient donc plus, la probabilité pour un “minteur” ou “forger” (on ne parle plus de mineur concernant la “Preuve de l’enjeu”) de créer un block et de recevoir la récompense qui y est associée, est proportionnelle à l’étendue de sa participation dans le réseau. Ce mécanisme repose sur l’idée que celui qui détient le plus de participations dans un réseau a le plus intérêt à ce que celui-ci demeure sécurisé. Une attaque aurait en effet pour conséquence de faire diminuer considérablement la valeur de ses jetons. Ensuite pour réaliser une attaque sur le réseau, il faut acheter une part importante des jetons, ce qui pourrait s’avérer dissuasif tant le coût peut être élevé. De ce point de vue, le fait que des jetons puissent être forges sans consommer d’importantes quantités d’énergies et de puissance informatique permet d’éviter la centralisation des moyens informatiques que connait notamment le bitcoin.

Concrètement, le “minteur” combine l’identifiant du dernier block qui a été ajoute à la blockchain avec leur “Clé Publique” pour générer un numéro aléatoire. Ce numéro est ensuite multiplié avec le nombre de jetons dont ils disposent et le nombre de secondes intervenues depuis que le dernier block a été ajoute à la blockchain. Si le chiffre qui en résulte est supérieur à une certaine limite déterminée à l’avance, alors le “minteur” est autorisé à créer le block suivant et à récolter la récompense qui y est attachée.

Il est également important de préciser qu’un mécanisme de la “Preuve de l’enjeu” permet comme celui de la « Preuve du Travail » de procéder au mintage/minage des blocks sans pour autant avoir à révéler son identité. Tout dépend du type de blockchain auquel il s’applique. S’il s’agit d’une blockchain dite publique sur laquelle tout le monde peut s’inscrire, alors les minteurs n’auront pas à révéler leur identité.

 

LIMITES DES DEUX SYSTEMES

 

Proof of Work
Proof of Work

Pour autant, ces mécanismes présentent de nombreux defaults.

Le système de la « Preuve du Travail » par exemple, est d’abord particulièrement lent. En effet, un block ne peut être ajouté sur la blockchain que toutes les 10 minutes, ce qui pose un problème important pour l’utilisation commerciale du Bitcoin.

Ce problème est accentué par le fait qu’un mécanisme reposant sur la « Preuve du Travail » ne présente pas de “finalité du consensus” (“Consensus finality”). Une fois qu’un block est ajouté à la blockchain il n’est pas certain à 100% que ce block soit celui qui sera choisi pour ajouter le block suivant. Deux mineurs peuvent ajouter un block en même temps (réalisant un “fork”), il y alors collision des deux blocks et le réseau devra choisir le block qui devra continuer la blockchain. Ce choix est effectué par les autres mineurs en fonction de la difficulté de la « Preuve du Travail », le block ayant le niveau de difficulté le plus élevé devra être choisi pour ajouter le prochain block. Même si la collision de block est rare, cette éventualité oblige les utilisateurs du bitcoin à attendre 6 blocks (1 heure) avant de considérer leur transaction comme étant définitivement confirmée.

Même si de nombreuses méthodes ont été développées depuis la création du bitcoin pour permettre l’exécution rapide de transactions, la question de la taille de chaque block (actuellement de 1MB, ce qui permet d’ajouter environ sept transactions par secondes en moyenne) et donc le nombre de transactions qui peuvent être ajoutées à chaque blocks, demeure un point de vif débat dans la communauté bitcoin malgré l’adoption de SEGWIT 2X en août 2017. Le problème de la taille des blocks est directement lie à celui de la rapidité avec laquelle ces blocks peuvent être ajoutés à la blockchain (“block frequency”). En effet, plus de nombre de transactions à ajouter est important, plus le délai de validation des transactions augmente. Or comme le précise Marco Vukolic, chercheur chez IBM, plus le temps de validation est important, plus les risques de “fork” sur la blockchain augmente et donc de voir réaliser des attaques de “double depense”.

Un autre point faible réside dans l’immense consommation d’énergie absorbée par le réseau bitcoin pour fonctionner. Un rapport réalise en 2014, considère en effet que le réseau bitcoin consomme autant d’énergie que l’ensemble de l’Irlande.

Blockchain network
Blockchain network

Le système de la “Preuve de l’enjeu” n’est pas non plus parfait et pourrait même être victime de sa simplicité.

Il est en effet parfois considéré que les pièces/jetons faisant l’objet d’un minage sont en quelque sorte investies de la valeur de ce minage, c’est à dire par l’investissement effectué par les mineurs dans les machines et l’énergie nécessaires pour créer ces pièces/jetons. Ce n’est pas le cas des pièces/jetons qui ont été “mintés” selon le processus de la “Preuve de l’enjeu” puisqu’ils n’impliquent aucun de ces investissements, si ce n’est l’achat des jetons du réseau.

C’est précisément ce qui est l’origine d’une des principales attaques à laquelle le système de la “Preuve de l’enjeu” doit faire face et qui est connue sous le nom de “Nothing at Stake” (qui pourrait être traduite par l’attaque du “Rien à perdre”).

Concrètement un attaquant pourrait tenter de diviser (c’est à dire créer un “fork”) la blockchain en créant une blockchain plus longue que celle qui est déjà existante, sans dépenser de vrai ressources. Si nous reprenons les explications du mécanisme de la “Preuve de l’enjeu”, un tel scenario peut intervenir lorsque deux forgeurs obtiennent le droit d’ajouter leur block au même moment. A cet instant la blockchain est divisée en deux branches (d’où le nom “fork” ou “fourchette”). Comme nous l’avons déjà vu dans le cas de la « Preuve du Travail », le “fork” est normalement résolu naturellement lorsqu’une majorité de “forgeur” décide d’ajouter le block suivant à l’une des branches. Dans ce cas la seconde branche est abandonnée et les transactions qui la constituent seront ajoutes dans un block suivant.

La différence avec le « Preuve du Travail », c’est qu’ici les forgeurs n’ont pas d’obligation matérielle de choisir une des branches. Ils peuvent en effet continuer à “forger” sur les deux branches puisque cela ne leur coûte rien et que leur seul véritable intérêt est d’obtenir la récompense quel que soit la branche retenue. Avec le système de la « Preuve du Travail », le minage coûte tellement cher que les mineurs ne peuvent pas se permettre un tel luxe et doivent obligatoirement choisir une des branches pour ajouter le block qu’ils viennent de miner.

Il est donc possible de voir un attaqueur se faire aider par d’autre “forgeurs” qui eux non plus n’aurait pas à dépenser de vrai ressources. L’objectif d’une telle attaque est d’invalider certaines transactions et ainsi permettre d’effectuer des doubles paiements pour le propre compte du “forger”. Il est important de préciser que les risques d’une telle attaque sont très élevés pour les minteurs qui la réalisent puisqu’ils risque de voir le prix de leurs jetons s’effondrer si le réseau prend connaissance de l’attaque.

Cette attaque est le parallèle de “l’attaque des 51%” auquel peut faire face un réseau régit le mécanisme de la « Preuve du Travail ». Ces deux types de modèles de consensus ont en effet une fâcheuse tendance à entraîner une concentration du pouvoir de minage et de mintage entre les mains de quelques acteurs, remettant en cause la raison même de l’existence des réseaux décentralisés. Dans le cas du bitcoin qui utilise le système de la « Preuve du Travail ». , seules quelques fermes de minages et pools de mineurs ajoutent des blocks à la blockchain. Ce fut notamment le cas de la coopérative de mineur GHash qui dépassa le seuil des 51% début 2014 et se trouva donc en position de revenir unilatéralement sur les blocks déjà miné.

Les différents problèmes de taille et de fréquence d’ajout des blocks, de finalité du minage et de la concentration des capacités de minages sont autant de challenges que les développeurs tentent aujourd’hui de résoudre à travers de systèmes de consensus toujours plus performants tels que le Delegated Proof of Stake, Byzantine Fault Tolerant systems ou encore Tangle que nous analyserons dans un prochain article.

Delegated Proof of Stake: the crypto-democracy

The main difficulty in a decentralised network is to make all the membres agree on the validity and the order of the transactions realised among these members.

The purpose of the conensus systems is precisely to solve these issues. Since the creation of Bitcoin and its Proof of Work system, several other mechanisms have been imagined to introduce speed, scalability and « democracy » in members conensus.

Proof of Work systems are working very well but also have limitations

The issue of a system that rely on a POW consensus method is that it inevitably leads to a CPU race, because the difficulty of adding blocks to the blockchain is proportional to the number of Miners acting  on the network. In other words, the more active miners, the more difficult it is to add blocks to the blockchain. So only the miners who are able to increase the calculation capacity of their computers can expect to remain in the race of mining block and obtain the reward that will allow them to finance their material. This is the reason why the Bitcoin blockchain is only mined by minning farms or huge mining pools and the consequence is that most of the CPU and the hashing power (i.e the power to mine blocks) remains in the hand of a small group of persons. This concentration constitutes a risk of collusion which could lead to an attack of the 51%.

Proof of Stake systems also work well, but also have inconvenients

With the Proof of Stake consensus system, each person who detain a token of the given cryptocurrency, can participate to the “mintage” process (with POS we talk about “mintage” and not “minage”) and be rewarded for adding blocks to the blockchain. In practice, only the members who detain the most token are likely to add block which also involves a risk of concentration of the mintage power among few participants. The rational behind POS is that the persons who have an important amount of token should be involved in priority in the mintage process because their interest is that the consensus works perfectly as otherwise the price of the tokens will fall.

You can follow this link to learn more about the differences between Proof of Work and Proof of Stake.

Delegated Proof of Stake tries to propose inovative solutions

The Delegate Proof of Stake system intend to solve these concentration issue while ensure high speed and scalability of the network. Indeed, detaining some tokens of a network using DPOS only gives you the right to vote for the Delegates (101 in the initial version of the system) who have the mission of validating the blocks and adding them to the blockchain. They are the miners of the network.

Let’s take an example to better understand the functioning of DPOS. If the network using DPOS as consensus methodology was a democracy, each members of the network who detain a token (a shareholder) would be a citizen with a voting right. Each citizen votes for a list of representatives (the Delegates) who are in charge of the good functioning of the democracy (validation and addition of the blocks to the blockchain). 

In the last version of the protocol developed by Bitshares (Bitshares 2.0), several improvements have been added to the DPOS system. A new class of Delegates has been created, the “Witnesses” who are in charge of the tasks initially dedicated to the Delegates, i.e validate and mint the blocks. The Delegates still exist but their role is now to look after the protocol of the network and make the updates that are requested.

So in our crypto-democracy, the citizens would elect the Delegates whose mission is to create the laws of the society (the code of the protocol). The mayors (the Witness) who are also elected would implement these rules and make sure that they are respected (validation of the blocks and mintage).

It is important to clarify that even if the Delegates have the hand on changes that need to be done to the protocol, the shareholders of the network still have the final work. So in the marvelous world of crypto-democracy, the MPs always submit their work to the referendum of the shareholders.

Delegates election
Delegates election

THE ELECTION: each member of the network can vote for Delegates who will take care of the consensus, but the more stake you have in the network the more important your influence will be

The election system allows the shareholders to keep control on the Delegates that are elected while ensuring that all power is not entirely concentrated in the hand of few.

In practice, if you detain 10 tokens, you can vote for the 101 delegates and witnesses with a weight of 10 token for each of your votes. As for the Proof of Stake system, the more token you detain, the more power you have on the network. The only difference is that with Delegated Proof of Stake, you the power you have is on the election so it is indirectly on the network.

Now, if you own one million tokens for instance, the delegates you will have chosen will have a huge support and are very likely to be elected. The possibility for the most important token owners to abuse of their position and dictate the delegates what they have to do is a reality. According to the creators of the DPOS, such attack is not imaginable since the important token owner would have too much to lose.

In any case, this is the reason why some systems like Ark have decided to adapt the DPOS system by reducing the number of Delegates to 51 and grant a declining vote.

In other words, the shareholder with one million token will have to spread this million among all Delegates which reduces immensely its power on the election.

In traditional DPOS, all the Delegates are added on a list. All of them are technically equipped to review the transactions, create blocks and them to the blockchain. They are selected in accordance with the number of vote that they have gathered. Only the first 101 Delegates are selected. This is reason why most of the delegates are campaigning to obtain the vote of the shareholders.

They will for instance convince the shareholders that they have all the technical ability to complete the minting process without any issue. Somme will also propose to retain only a percentage of the reward and give the rest to the shareholders. They would do this by burning (i.e eliminating) a certain amount of the tokens they have received as a reward for the minting of the blocks.  By reducing the number of tokens available on the network, these Delegates would normally increase the value of all other tokens still circulating and this way reverse a dividend to the shareholders.

It is finally important to note that the vote will be done automatically by the client you have chosen except if you decide to do it yourself. In this case you can vote for or against Delegates. Negative votes are a very good way to remove Delegates who do not behave well from the list of Delegates. If a Delegates is not in the first 200 on the list, it will be possible to replace him.

Consensus
Consensus

THE CONSENSUS is also inovative in that it grant each Delegates a slot during which he must add its block.

Each of the selected delegates is assigned a time slot for 3 seconds during which he must add a block to the blockchain.

It is considered that up to 1/3 of delegates can be malicious since if for each block added by a minority on a concurrent chain two other will be added to the main chain. The blocks are added according to the same principle as that of the blockchain bitcoin, i.e to the longer, it is impossible for a 1/3 or less of delegates to lead an attack against the network.

The Benefits

The benefits are that in delegating the validation of transactions, the participants of the network do not need to be complete nodes (« full nodes »), they have not therefore the obligation to download the entire blockchain but have yet cost and speed of transaction confirmation particularly interesting. This point is important for all members for which the mining of transactions under the POS is not cost effective due to the insufficient number of chips they have or all simply because they do not possible to maintain a computer connects 24/7.

Bitshare 2.0 proposes an updated version of the DPOS process which needs to be mentioned;

The last version of the Protocol developed by Bishare brings some interesting improvements to DPOS. A new class of delegates appears, this are the « witnesses », who perform the tasks originally dedicated to the delegates, i.e. validate transactions and mint the blocks. The delegates them still exist, but will now manage the network and change the settings when it is necessary.

If we are resuming our example of the crypto-democracy, citizens elect Members of Parliament (Delegates) who create and keep updated the laws of democracy (the code for the Protocol). The Mayors (the « witnesses »), also elected, have the mission to ensure the practical application of the Rules (the validation of transactions and the creation of blocks). The process of the election of the witnesses and of delegates is the same as in the previous version (described above).

Thank you for reading this article. If you enjoyed it, please do not forgot to like it and share it. And if you have any questions, please do not hesitate to add them in the comments below so we can answer them!!

Delegated Proof of Stake: la crypto-democratie

Dans un réseau décentralisé la grande difficulté est de parvenir à mettre tous les membres d’accord sur la validité et sur l’ordre des transactions réalisées entre ces membres. C’est précisément ce qu’entendent résoudre les méchanismes de consensus. Depuis l’apparition du Bitcoin et du système du Proof of Work, de nombreux systèmes de consensus ont été développés en vue d’en améliorer les performances tout en les rendant plus « démocratiques ».

Le problème d’un système reposant sur le POW est qu’il conduit inévitablement à une course aux CPU puisque la difficulté d’ajouter un block à la blockchain est proportionnelle au nombre de mineurs intervenant sur le réseau. En clair, plus il y a de mineurs et plus il est difficile d’ajouter un block à la blockchain. Ainsi seul les mineurs capables d’augmenter les capacités de calcul de leurs systèmes peuvent espérer continuer à miner des blocks et recevoir la récompense leur permettant de rester rentable. La conséquence de cette course est que seule une poignée de fermes de minages et des pools de minages sont aujourd’hui en mesure d’ajouter des blocks à la blockchain Bitcoin ce qui engendre une forte concentration des capacités de calcul (« Hashing power » ou « pouvoir de hashage ») et donc le risque de voir apparaître une attaque des 51%. Autrement dit, une entité détenant une majorité du pouvoir de hashage décide unilatéralement de revenir sur les blocks ajoutés à la blockchain.

Avec le système de POS, chaque personne qui détient des intérêts dans le réseau sous forme de jetons ou de pièces, peut participer au processus de “mintage” des blocks (on parle de mintage à la place de minage dans le cas du POS) et ainsi être rémunéré. En pratique, seuls les membres disposant du plus de jetons peuvent prétendre ajouter des blocks à la blockchain ce que entraîne à nouveau des risques de concentration des capacités de mintage entre les mains d’un nombre restreint de membres du réseau. Il est en effet considéré que ce sont ceux qui ont le moins intérêt à ce qu’une attaque survienne puisque le prix des jetons s’effondrerait, les ruinant de la même manière.

Le système de consensus DPOS entend lutter contre la centralisation du processus que nous avons décrit pour le POW et POS. En effet, le fait de détenir un intérêt dans le réseau offre simplement de droit de voter pour des « Délégués » (101 dans la version initiale de système) chargés de valider les transactions et de les ajouter dans des blocks, travail pour lequel ils sont rémunérés.

Prenons un exemple pour mieux comprendre le fonctionnement du DPOS. Imaginons que le réseau utilisant le DPOS consensus est une démocratie. Chaque membre de ce réseau qui possède un jeton est un citoyen qui dispose d’un droit de vote. Chaque citoyen élit des députés (les Délégués) qui créent et tiennent à jours les lois de la démocratie et assurent son bon fonctionnement (validation et ajout des transactions aux blocks).

Dernière précision, non seulement les Délégués sont élus mais les membres du réseau ont le dernier mot sur toutes les modifications effectuées sur le protocole. Dans le monde merveilleux des crypto démocraties, les députés font donc un référendum avant de promulguer chaque loi.

élection des délégués
élection des délégués

L’Election

Le système de l’élection permet aux détenteurs de jetons de garder un contrôle sur les délégués qu’ils élisent tout en assurant que tous les pouvoirs sur le réseau n’est pas concentré dans les mains d’une minorité. 

Concrètement, si vous disposez de 10 jetons, vous pouvez voter pour 101 délégués avec un poids de 10 jetons pour chacun de vote. Comme avec le système du POS, plus vous possédez de jetons, plus votre impact (sur le vote et donc le choix des délégués) est important.

Si vous disposez d’un million de jetons par exemple, les délégués que vous choisirez recevront un support considérable qui assurera  surement leur élection.

Les possibilités d’abus « de position dominante » ont souvent été critiqué et ont donné naissance à des systèmes comme celui développé par Ark, où seulement 51 Délégués sont nommés et où le vote des membres est dégressif. En d’autres termes, le membre qui détient un million de jetons devra dorénavant les répartir parmi tous les Délégués, ce qui réduit considérablement son influence sur l’élection et donc sur le réseau.

Les créateurs du DPOS affirment au contraire qu’il serait beaucoup trop cher de réaliser une telle attaque et les membres malveillants auraient beaucoup trop à perdre.

Il existe une liste des délégués qui sont équipés techniquement et prêt à intervenir dans le processus de validation des transactions et des blocks du réseau. Ces délégués sont sélectionnés en fonction du nombre de votes qu’ils accumulent. Seuls les 101 premiers délégués participent au consensus et le nombre des délégués doit être impair pour limiter l’apparition de chaînes concurrentes.

Le vote pour les délégués s’effectue automatiquement par le client que vous aurez choisit, sauf si vous choisissez de voter par vous même. Ceux qui souhaitent devenir délégués doivent faire campagne pour convaincre les usagers de voter pour eux, en proposant par exemple de partager une partie de leurs dividendes ou en prouvant qu’ils disposent d’un équipement très performant. 

Lorsque des Délégués se présentent pour une élection, ils vont en effet généralement déterminer la façon avec laquelle ils vont repartir leurs gains. Si ils décident de conserver 80% de leurs gains, cela signifie qu’ils vont en “bruler” (“burn”) 20%. En d’autres termes, ils vont accepter d’éliminer 20% des jetons qu’ils auront reçus. En diminuant le nombre des jetons du réseau, ces délègues font en principe augmenter la valeur de chaque jetons et ainsi déverser une forme de dividende aux membres non-délégués qui les ont élu.

Le vote peut être pour ou contre ce délégué de telle sorte que si un délégué se comporte de façon malveillante en omettant d’ajouter des transactions dans un block par exemple, des votes négatifs pourront lui être alloués en vue de faire décroître son score. Si un délégué ne se trouve plus dans la liste des 200 premiers délégués ayant le plus de votes positifs, il pourra être remplacé.

Consensus
Consensus

Le Consensus

Chacun des Délégués sélectionné se voit attribuer un créneau horaire de 3 secondes durant lequel il doit ajouter un block à la blockchain.

Il est considéré que jusqu’à 1/3 des Délégués peut être malveillant puisque si pour chaque block ajouté par une minorité sur une chaîne concurrente deux autres seront ajoutés à la chaîne principale. Les blocks étant ajoutés selon le même principe que celui de la blockchain bitcoin, c-a-d à la plus longue, il est impossible pour une 1/3 ou moins de Délégués de conduire une attaque contre le réseau.

Les avantages

Les avantages souvent évoqués sont évidement qu’en déléguant la validation des transactions, les participants du réseau n’ont pas besoin d’être des noeuds complets (“full nodes”), ils n’ont donc pas l’obligation de télécharger l’ensemble de la blockchain mais disposent pourtant de frais et de rapidité de confirmation des transactions particulièrement intéressant. Ce point est important pour tous ceux pour qui le fait de “minter” des transactions sous le POS n’est pas rentable en raison du nombre insuffisant de jetons dont ils disposent ou tous simplement parce qu’ils ne leur est pas possible de maintenir un ordinateur connecte 24/7.

Bitshare 2.0 DPOS

La dernière version du Protocol développé par Bishare apporte quelques améliorations intéressantes au système du DPOS. Une nouvelle classe de délégués apparait, ce sont les « Témoins », qui effectuent les tâches initialement dédiées aux Délégués, c.a.d valider les transactions et minter les blocks. Les Délégués eux existent toujours, mais vont désormais administrer le réseau et en changer les paramètres quand c’est nécessaire.

Si nous reprenons notre exemple de la crypto-démocratie, les citoyens élisent des députés (les Délégués) qui créent et tiennent à jours les lois de la démocratie (le code du protocole). Les maires (les « Témoins »), également élus, ont pour mission d’assurer l’application concrète des règles (la validation des transactions et la création des blocks). Le processus d’élection des Témoins et des Délégués est le même que dans le version précédente (décrite plus haut).

Bitshares: The first decentralised exchange

OVERVIEW

Name of the project: Bitshares

Launch date: 05 Nove 2014 form a fork of the bitcoin blockchain

Website: http://www.bitsharesfcx.com/homepage.php

Documentation : http://docs.bitshares.org/_downloads/bitshares-general.pdf

Token code: BTS

Total number of tokens : http://cryptofresh.com/assets

Marketcap : https://coinmarketcap.com/currencies/bitshares/


PRESENTATION

PITCH

Bitshares is both a decentralised excahge and a platform tailored to develop « Decentralised Autonomous Organisations Companies (« DAC »). In fact the exchange is the first DAC that has been developped.

– DECENTRALISED AUTONOMOUS COMPANIES

As you may guess from its name, a DAC is company with a decentalised functioning and managed by a software. This type of software is normally able to work without any human input and is autonomous.

This is also the case of the Decentalised Autonomous Organisation (« DAO ») developped by Ethereum. Despite its first setbacks, the DAO is revolutionnary in that allows human organisations to be managed in a decentralised manner and not only transactions as it is the case with the bitcoin. The DAO is actually a system of smart contracts which could work autonomously ifthey were programmed to do so, but in the case of the DAO some of these contracts are actioned by humans.

Bitshare is the first platform to function as a DAC through an elction process of Delegates and Witness who are in charge of implementing the system. Delegates mission is to make sure that the protocol is always up to date and improve it where it is possible. On the other hand, Witnesses validate all the transactions and add them to the blockchain. They are all on a list which is submitted on a pre-scheduled timeframe to the vote of Bitshares Shareholders, i.e any person thqt holds BTS. This consensus system is called Delegated Proof of Stake », because the power is delegated but each shareholder influence on the network is proportional to its stake. In other words, the more BTS you detail, the most weight your vote will have.

– A DECENTRALISED EXCHANGE

The exchange platform Bitshares (intially called Bitshares X) is the first DAC to see the light of the day. one of the main innovation is to propose an exchange that is fully decentralised. Most of the existing exchanges rely on a centralised management of the funds and coins that transit or remain on them. Even if most of these exchanges pretend to keep all their customers’s keeys in « Cold Storage », an important risk remain. In terms of security, Bitshares model is interesting because it delegates to each of its membres the responsability of the security of its own tokens. The concetration of all tokens in a centralised exchange allows attaquants to focus all their efforts on a single system, which is not case when they have to face as many systems as there are shareholders. In itself, decentralisation could well be the best defense against attaquant, even when the systems of each shareholders is poolry defended. It is also important to flag that due to this decentralised organisation, the identity of each shareholders is also protected.

Two additional features that worth mentionning, are first that Bitshares does impose restrictions on the amount of your transactions or on withdrawals. For instance, where most exchanges normaly apply a fee which is a percentage of the notional of your trade, Bistshares applies a fixed rate whatever the size of your trade.

– SMARTCOINS

On Bitshares, it is possible for anybody who has created its DAC, to issue the tockens of this company and sell them on the exchange. This is a very interesting way to organise a decentralised crowedfunding campagn or ICO.

Bitshares
Bitshares

It is also possible to buy and sell SmartCoins which are cryptocurrencies with a value that is correlated to the value of an underlying asset. For instance BitUSD is a smartcoin which value is linked to the value of the USD. In other words, the price of a BitUSD may fluctuate depending on the offer and demand as would do any other cryptocurrency, the only difference lies on the fact that price of BitUSD cannot go below one USD when the price of other cryptocurrencies could reach zero. We have taken USD as an exemple, but any asset could be chosen to serve as underlying.


INNOVATION

Bitshares has brought so many innovations that it is sometimes difficult to determine what is its the core product. Even if Bitshares has been criticized for its dispersion, it is important to say that, the decentralised exchange, its DAC structure and the DPOS consensus method are working and get improved every years.


BUSINESS MODEL

Most of the income of Bistshares comes from the fees that are applied on the exchange for each transactions. It also comes from the different products that are sold on the exchange such as the Smartcoins and shares of the DAC. All the tokens retained before the launch of the platform also need to be taken into account.


THE TEAM

Daniel Larimer – Founder
Charles Hoskinson – Co-Founder (he left to join Ethereum)
Stan Larimer – developer and writer of the Whitepaper.

Bitshares: Le premier échange décentralisé

APERCU

Nom du projet : Bitshares

Date de lancement : 05 Nov 2014 à partir d’une fork de la blockchain bitcoin.

Website : http://www.bitsharesfcx.com/homepage.php

Documentation : http://docs.bitshares.org/_downloads/bitshares-general.pdf

Code du jeton : BTS

Nombre total de jetons : http://cryptofresh.com/assets

Capitalisation boursière : https://coinmarketcap.com/currencies/bitshares/


PRESENTATION

PITCH

Bitshares est à la fois une plateforme d’échange décentralisée et un support permettant le développement de « Decentralised Autonomous Companies » (« DAC »). Pour être précis, l’échange décentralisé est la première DAC à avoir été développée.

DECENTRALISED AUTONOMOUS COMPANIES

Comme son nom l’indique, une DAC est une compagnie dont le fonctionnement est décentralisé et géré par un programme résidant sur la blockchain. En théorie, ce type de programme ne nécessite pas d’intervention humaine et peut fonctionner de façon autonome. C’est notamment le cas pour la « Decentralised Autonomous Organisation » (« DAO ») imaginée et développée par Ethereum. Malgré ses déboires, la DAO est parfaitement révolutionnaire en ce qu’elle permet de gérer de manière décentralisée nom plus seulement des transactions, comme c’est la cas pour le Bitcoin, mais également des organisations humaines. Une DAO est en fait un système de Smart Contracts et pourrait à ce titre fonctionner sans intervention humaine, mais qui dans le cas de la DAO sont essentiellement actionnés par les membres du réseau.

Bitshares est la première plateforme à fonctionner comme une DAC selon un processus d’élection de Délégués et de Témoins en charge du fonctionnement du système. Les Délégués sont en charge de la mise à jour du protocole tandis que les Témoins assurent la validation des transactions et la constitution des blocks. Tous figurent sur une liste et sont sélectionnés par le vote des détenteurs de jetons du réseau selon un méchanisme de consensus basé sur la pondération des voies (plus vous avez de jetons, plus votre vote est important) mieux connu sous le nom de « Delegated Proof of Stake ».

UN ECHANGE DECENTRALISE

La plateforme d’échange Bitshares (initiallement appelée Bitshares X) est  donc la première DAC à avoir été créée. Une des principales innovations est de proposer un échange qui soit entièrement décentralisé. La plupart des échanges de cryptomonnaies reposent actuellement sur une gestion centralisée, mais aussi sur une conservation centralisée des clés privées de chacun des membres. Bien que tous ces échanges affirment détenir ces clés en « cold storage » il n’en demeure pas moins un risque important.

En termes de sécurité, le modèle de Bitshares est intéressant parce qu’il délègue à chacun de ses membres le soin d’assurer la sécurité de ses propres actifs.  En effet la concentration des jetons sur un échange permet aux attaquants de focaliser leurs efforts sur un seul système, ce qui n’est évidemment pas le cas lorsque les jetons sont gardés par autant de système différents qu’il y a de membres. Ainsi le simple fait de décentraliser la conservation des actifs devrait en lui-même suffire à décourager la plupart des attaquants.

Il faut rappeler que grâce à cette organisation décentralisée, votre identité n’est pas non plus mise en danger. Bitshares se démarque également des autres échanges en ce qu’il n’impose aucune restriction aux échanges que vous pouvez effectuer, aux montants que vous souhaitez retirer et au type d’actif que vous pouvez traiter. Par exemple, la plupart des échanges actuels appliques des frais qui sont proportionnels au montant de votre transaction, donc plus le montant est élevé, plus les frais sont importants, alors que sur Bitshares les frais sont fixes quel que soit le montant que vous échangez.

Dernier point qui mérite d’être relevé, Bitshares permet de réaliser des paiements récurrents ce qui peut s’avérer particulièrement utile lorsque Bitshares est utilisé pour gérer les comptes courants d’une entreprise.

SMARTCOINS

Sur Bitshares, il est possible pour toute personne ayant créé une DAC, d’émettre les jetons de cette compagnie et de les offrir sur l’échange, permettant ainsi de réaliser un financement participatif décentralisé, mieux connu dans le monde des cryptomonnaies sous le nom d’ICO.  Bitshares offre également la possibilité d’échanger des instruments dérivés appelés Smartcoins.

Bitshares
Bitshares

Ces produits dérivés ne sont que des cryptomonnaies dont la valeur est corrélée à celle d’un actif sous-jacent qui peut être de n’importe quel type. Ces cryptomonnaies fonctionnent comme n’importe quelles cryptomonnaies, leur valeur est donc déterminée selon l’offre et la demande, à la différence près qu’elle ne peut descendre en dessous de celle de l’actif sur lequel elles reposent. Si nous prenons l’exemple de BitUSD, un Smart coin dont la valeur est liée à celle du dollar, il est possible d’imaginer que le prix d’un BitUSD évolue à la hausse en fonction de l’offre et de la demande comme le font les autres cryptomonnaies. La seule différence avec les autres cryptomonnaies est que la valeur d’un BitUSD ne pourra jamais descendre en dessous de celle d’un dollar.

Nous avons pris le dollar comme exemple, mais n’importe quel actif pourrait être choisit pour servir base aux Smartcoins.


INNOVATIONS APPORTEES PAR LE PROJET

Les innovations apportées par Bitshares sont multiples à tel point qu’on a parfois du mal à déterminer laquelle de ses innovations est le cœur de métier de Bitshares. Si certain voient ça d’un mauvais oeuil, force est de constater que toutes les avancées techniques développées par la plateforme fonctionnent et continuent à se perfectionner. C’est d’ailleurs en capitalisant sur cette expérience, que Dan Larimer a quitté Bitshares pour fonder EOS.


BUSINESS MODEL

Les revenus de Bitshares sont issus des frais imposés aux utilisateurs de l’échange ainsi que les produits proposés par la DAC, tels que les actifs corrélés au marché ou les titres émis par les usagers. A cela s’ajoute les jetons retenus lors du lancement de la plateforme.


L’EQUIPE

Daniel Larimer – Fondateur
Charles Hoskinson – Co-Fondateur (il a quitté l’équipe pour retrouver Ethereum)
Stan Larimer – développeur et rédacteur du Whitepaper.

Ethereum: The world computer

The Ethereum blockchain is both open source and public. « Public » means that anyone can store smart contracts on the blockchain and interact with them without any selection or conditions. « Open source » means that everyone can replicate the source code and create it own blockchain by « forking » the exisiting one.

As of today, Ethereum is the most advanced and used Dapp (applicatications based on the Decentralised Ledger Technology) platform. It uses Proof of Work (as bitcoin do) as consensus technology but will switch to Proof of Stake (« Casper ») in the next version. The current version (« Homstead ») is not the final one and we will discuss in a separate article the improvements to come.

Ethereum’s blockchain works in a different manner than Bitcoin’ blockchain. It not only stores transactions, but also programs (Smart Contracts) and monitor the state of these programs that changes every times a user or another contract interacts with it. In other words, users interact with the blockchain through (1) accounts that send transactions (2) to action contracts that are stored on the blockchain.

  • The accounts : there are two types of accounts in the Ethereum network : Externally Owned Accounts (EOA) and Contract Accounts. To make things simple, Contract Accounts are the accounts in the blockchain where the code of the Smart Contracts are stored. User cannot directly access them. The only way for a user to action the code of the Smart Contract is through a transaction sent from it Externally Owned Account. This EOA is like a bitcoin account that you can use with a set of private and public keys to send transaction, the only difference is that you use it to send Ether and to action Smart Contracts.

It is important to note that Smart Contract with each other on the blockchain but i twill not be through transactions but through Messages.

  • Smart Contracts : as we mentioned above, Smart Contracts are programs written in Solidity, an object oriented programming language inspired from Javascript. Basically speaking, when you create a Smart Contracts and deploy it on the blockchain you buy some storage space on the blockchain with Ether in order to store the code and any additonal datas of the Smart Contract. This Smart Contract can be programed to interact with other Smart Contracts autonomously (by sending message), can interact with real life events trough Oracle or only wait to be activated by users through transactions sent from EOA.

Ethereum
Ethereum

One of the main element of the Etherem environnement is the Ethereum Virtual Machine. It function is to transform (« compile ») the human readable code (« Solidity ») into a machine readable code (« Bytecode ») which is store on the blockchain. The EVM is actionned by all the computer connected to the network. So everytime a Smart Contract is added to the blockchain or a transaction is sent to action one, all the computers of the network will execute the request ensuring the utmost security to the network.

Hope this introduction gave you a better idea of Ethereum functionning. If you want to go deeper in the details you can read our article on the programming language « Solidity » and on the consensus mechanisms « Proof of Work » and « Proof of Stake ».

You can also read the following articles :

  • Jacob Dienelt – Understanding Ethereum – 2016

https://forum.daohub.org/uploads/default/original/2X/b/b583e2bb2e6998bfec40d488b1709deb53abdc4a.pdf

  • Ethereum Community – Ethereum Homestead Documentation (Realease 0.1) – Septembre 2016

https://media.readthedocs.org/pdf/ethereum-homestead/latest/ethereum-homestead.pdf

  • Vitalik Buterin – Ethereum: Platform Review – June 2016

https://static1.squarespace.com/static/55f73743e4b051cfcc0b02cf/t/57506f387da24ff6bdecb3c1/1464889147417/Ethereum_Paper.pdf

Ethereum: le premier ordinateur mondial

Créé en 2014 par par le génie visionnnaire Vitalik Buterin, Ethereum est une des premières plateformes à avoir permis la programmation et l’exécution de Smart Contracts. La blockchain Ethereum n’abrite plus simplement des transactions comme c’est le cas pour le bitcoin, mais également des programmes (les Smart Contracts) executés par l’Ethereum Virtual Machine (« EVM »). A ce titre la blockchain Ethereum (à travers son language de programmation et grâce à l’EVM) est dite « turing-complet » puisqu’elle est en mesure d’exécuter les commandes complexes ou non comprises dans ces Smart Contracts.

La véritable révolution que propose Ethereum réside dans l’environnement de développement d’applications décentralisées (DAPPS), qu’il met à la disposition des entrepreneurs. De manière simplistes, les applications reposent traditionnellement sur plusieurs serveurs pour abriter le code source et les bases de données. Ethereum se propose de réunir toutes ces fonctions dans un même et unique endroit, la blockchain. Les Smart Contract peuvent notamment correspondre au code source qui va permettre à une application de fonctionner. Pour l’utilisateur final rien ne change en apparence, seul l’envers du décors et profondément simplifié et sécurisé.

Il est important de rappeler qu’Ethereum est toujours en Beta ce qui explique que des failles de sécurité sont survenues (voir l’attaque de la DAO) et sont encore possible, mais la révolution est en marche qu’on le veuille ou non.

Ethereum est souvent comparé à un ordinateur mondial parce que chaque membre du réseau fait partie intégrante de l’Ethereum Virtual Machine et qu’à l’heure actuelle les Smart Contracts sont exécutés par l’ensmble des membres. Autrement dit, tous les ordinateurs connectés au réseau sont mis à contribution pour exécuter le code d’un Smart Contract ou activer une transaction. Cette façon de procéder à parfois été décrit comme un gachis de capacité de calcul, mais assure en fait la sécurité du système. A noter que cette façon de procéder pourrait évoluer dans les prochaines mises à jour du protocole.

La blockchain Ethereum est à la fois open source et ouverte. « Open Source » signifie que n’importe qui peut en dupliquer le code source (réaliser un « fork » de la blockchain) pour développer son projet sur une blockchain privée. « Publique »  signifie que n’importe qui peut devenir membre de la blockchain principale et y ajouter ses Smart Contracts. Ethereum est à ce jour la plateforme la plus utilisée par les développeurs pour créer des applications reposant sur des Technologies de Registres Décentralisés.

Il est important de noter que dans la version actuelle d’Ethereum (« Homstead ») n’est pas la version finale.

  1. UNE BLOCKCHAIN AVANCEE

Ethereum propose une blockchain qui fonctionne différement de celle du Bitcoin. La blockchain Ethereum contient en effet une liste de transactions (comme Bitcoin) mais également un “état” du registre de ces transactions. D’autre part, Ethereum n’utilise pas le même système d’UTXO que celui utilisé par le protocol Bitcoin.

Ethereum enregistre et met à jour l’“état” du registre qui est nécessaire pour gérer les deux types de comptes qui peuvent interagir avec la blockchain. Ethereum ne détermine pas si une transaction est valide, mais plutot si celui qui l’envoie a suffisament de fonds pour le faire. Les utilisateurs interagissent avec la blockchain Ethereum par l’intermédaire de comptes (a) qui emmettent des transactions (b) pour actionner des contrats (c) localisés sur la blockchain.

a) Compte Exterieur (EOA – Eternally Owned Accounts) et Compte du Contrat (Contract Accounts)

Il est important de bien différencier ces deux types comptes pour comprendre la façon dont fonctionne Ethereum.

Le compte extérieur peut être comparé à un portefeuille bitcoin. C’est en effet ce compte qui permet aux utilisateurs d’interagir avec la blockchain depuis l’extérieur. Dans le cas du bitcoin, les Transactions sont réalisées, validées et envoyées à partir d’un portefeuille exterieur grâce aux clées privées et publiques. Il en va de même avec le Compte Extérieur Ethereum. Ce dernier dispose d’une balance d’Ether et permet d’envoyer des transactions grâce à un jeu de clés privées et publiques en vue d’actionner un Smart Contract qui réside sur la blockchain dans un Compte du Contrat. C’est donc à partir de ce compte que sont envoyées les instructions humaines aux Smart Contracts.

Le Compte du Contract de son côté n’est pas directement accessible par les utilisateurs et n’est donc pas actionné au moyen de clées privées et publiques. A la différence du Compte Extérieur, le Compte du Contrat est associé à un code (le code du Smart Contract) qui est actionné par les transactions envoyées depuis les Comptes Extérieurs. Dès que le Compte du Contrat reçoit une Transaction son code est exécuté par l’Ethereum Virtual Machine (c’est à dire par l’ensemble des membres du réseau) selon les termes contenus dans la Transactions. Le nouvel état du Compte du Contrat est ensuite enregistré sur la blockchain. Il faut voir ce type de compte comme autonome, c’est à dire ayant son espace mémoire dans la blockchain dédié (pour stocker le Smart Contract) et sa balance d’Ether.

  1. Transactions et Messages (ou « Calls »)

Une Transaction est un message électronique contenant un ensemble de données transferées au moyen des clées publiques et privées et qui contient le message nécessaire pour activer le contrat auquelle elle est destinée.

L’envoie d’une Transaction a pour conséquence de modifier l’état du smart contract et donc de la blockchain de manière irréversible. C’est en cela qu’une Transaction se différencie d’un Message. En effet, un message est comme une transaction à l’exception qu’il est transmis d’un contrat à autre et qu’il n’engendre pas nécessairement un changement de l’état de la blockchain.

Une transaction peut être très simple tel qu’envoyer des Ethers d’un compte à un autre, ou beaucoup plus compliqué tel qu’ajouter des nouveaux contrats au réseau ou en actionnant des fonctions de contrats existant. Ces opérations requiert touours une participation financière des utilisateurs sous forme de Gas (voir ci-dessous).

Les messages ont eux la particularité de simplement lire le code existant et de retourner un résultat. Un message ne nécessite donc pas de participation financière de la part des utilisateurs. Pour résumer, vous utilisez une transaction pour écrire sur la blockchain et un message pour lire sur la blockchain.

Une autre différence importante réside dans le fait qu’un message ne nécessite pas de signature cryptographique pour être transféré d’un contrat à un autre. A l’inverse d’une transaction qui est initiée par un compte extérieur (c.a.d par un individu physique) et pour cette raison nécessite une confirmation cryptographique, l’origine d’un message peut être considéré comme étant « interne » en ce qu’il peut être initié automatiquement (c.a.d. à partir du code du smart contract) par un smart contract et de ce point de vue ne nécessite pas de signture supplémentaire.

Les contracts

Par « contrat » il faut comprendre les Smart Contracts auquel nous faisons référence dans cet article.

Un smart contract est un ensemble de code rédigé dans le language « Solidity ».

Ethereum
Ethereum

Le code du smart contrat est ensuite compilé par l’EVM, qui le transforme en EVM bytecode, puis stocké sur une adresse particulière de la blockchain (celle du smart contrat). Compiler le code du smart contract signifie que l’EVM transforme un code lisible par les humains (Solidity) en code lisible par la machine (Bytcode).

On peut également le définir comme un ensemble de règles économiques qui sont enregistrées sur une blockchain et partagées/validées collectivement par les membres d’un même reseau.

Constitution blocks

La composition des blocks est pour le moment similaire a celle de Bitcoin. Mais contrairement au bitcoin qui est dit “Stateless”, l’état de la blockchain Ethereum est enregistré à chaque transaction. En d’autres termes, chaque blocks de la blockchain presente une unitie de temps et la blockchain un histoirique de tous les états des contrats presents sur celle-ci.

D’autre part, il n’y a pas de limite a la taille des blocks (contrairement au bitcoin qui a mis une limite de 1MB par blocks). La taille des blocks est en fait controlée et limitée par le fait que chaque utilisateur paye l’espace de stockage ainsi que les capacité de calcul de l’EVM qu’il utilise. Enfin, comme nous l’avons déjà évoqué dans la section relative aux méchanismes de consensus, Ethereum ajoute un block à la blockchain toutes les 12/14 secondes contre toutes les 10 minutes pour le bitcoin.

 

  1. LA MACHINE VIRTUELLE ETHEREUM:

La Machine Virtuelle Ethereum (« Ethereum Virtual Machine » ou EVM ») est composée de l’ensemble des ordinateurs du réseau. Ethereum est parfois appelé « le premier ordinateur mondial » parce que l’EVM est un ordinateur partagé entre tous ses membres sans pouvoir en identifier le propriétaire.

Comme n’importe quel ordinateur, L’EVM est une « state machine ». C’est-à-dire de manière schematique, qu’un ordinateur vérifie en permanence si une instruction lui a été soumise en faisant fonctionner une « state fonction ». Chaque fois qu’une requette lui est soumise, l’ordinateur détecte ce changement d’état et l’actionne. Une fois l’action complétée et la mémoire mise à jour le cas échéant, l’ordinateur enregistre un nouvel état qui sera celui à prendre en compte pour les prochaines vérifications.

De la même manière l’EVM vérifie constament si de nouvelles transactions ont été envoyées. Si c’est le cas elle lit et actionne le code correspondant. Tous les langages utilisés pour programmer des smart contracts doivent en effet être compilés afin d’etre transformés en bytcode. Les bytcodes sont en fait des listes d’instructions qui sont lues et exécutés par l’EVM.

Ce système permet d’exécuter des codes complexes sur la blockchain. Les opérations ne sont pas pré-définies comme pour bitcoin, chacun est en mesure de créer ses opérations aussi complexes soient elles.

Comme nous l’avons déjà évoqué, tous les noeuds du reseau font fonctionner l’EVM simultanement pour obtenir un consensus sur la blockchain. Autrement dit, chaque fois qu’un contrat est actionné par un message ou une transaction, les calculs sont effectués sur tous les noeuds du réseau en même temps, ce qui rend les erreurs et la censure presque impossible. Evidement avec un tel système, Ethereum fait prévaloir la sécurité et la recherche de consensus sur l’économie de capacité de calcul et de mémoire.

Or ces capacités de calcul ainsi que l’espaces de mémoire ont un coût et il était indispensable d’imaginer des moyens d’en limiter les abus. C’est la raison pour laquelle les concepteurs d’Ethereum ont imaginé un moyen de faire participer financièrement les nœuds du réseau en calculant un prix payable en Ether proportionnel aux moyens requis par le Smart Contract pour être exécuté. Donc plus une application requiert d’importantes capacités de calcul et d’espace de stockage sur la blockchain, plus sont coût sera élevé.

Une conséquence directe de ce prix est que la plupart des Dapps vont limiter l’utilisation de la blockchain et ses systèmes de consensus pour leurs operations essentielles et procéder aux autres operations “off blockchain”.

J’espère que cette introduction vous a permis de mieux comprendre le fonctionnement d’Ethereum. Ces liens vous permettront d’en savoir plus sur le langage de programmation « Solidity » et sur le méchanisme de consensus « Proof of Work » et « Casper ».

Vous pouvez également vous reporter sur les liens suivants:

Ripple: the protocol that connects banks

APERCU

Date of creation: 2014

Website : https://ripple.com/

Protocol : RTXP (Ripple Transaction Protocole)

Cryptocurrency : Ripple (XRP)

Number of circulating tokens and price: https://coinmarketcap.com/currencies/ripple/

Total number of Tokens: 100 billions spread among Ripple’s founders (20%), Ripple Lab (25%) and the users of the network (55%). Note that in May 2017, Ripple’s management has announced that they would pledge 14 billions of their XRP for 10 years to answer the fear of investors that founders could fleed the market with their new coins anytime making the price fall.

Où acheter XLM : Poloniex, Bittrex, Kraken, Stellar Decentralised exchange.

 

PITCH

Ripple is a protocol which purpose is to facilitate financial transactions. As SMTP (Simple Mail Transfer Protocol) that designed the rules which need to be followed by computers in order to tranfer e-mails, RTXP (Ripple Transaction Protocole) defines a list of rules allowing users to make transactions on the internet instantly and for free, with any currencies, cryptocurrencies or any other means.

Ripple’s goal is to link all the existing payment networks which are currently independant and require heavy backoffice to connect them. Ripple’s network is actually around 75 banks all around the world.

 

INNOVATION 

How does Ripple work:

RIPPLE CONNECT

Ripple Connect is the element of the protocol that manage the communication among the different parts. It is the first step of the transfer. In the below example, if Alpha Corp want to transfer funds to Beta Corp, it will start to send a reques to its bank which will use its aollocated Ripple Connect to obtain the necessary information to proceed to the transfer. Its Ripple Connect will indeed connect with the Ripple connect of the destination bank to obtain a quotation for the transfer, with a « market maker » or « liquidity provider » which will provide the exchange rate.

Alpha Corp will be in a position to determine if the conditions of the transfer are acceptable before proceeding to the transfer. If this is the case, Beta Corp will be able to proceed with the background checks required by national regulations. Once both banks are ready to transfer funds, the bank of Alpha Corp will organise the transfer with ILP Validator.

ILP VALIDATORS

ILP (« Inter-Ledger Protocol ») Validator role is to coordinate the ledger of the different banks, in order to update them at the same time instead of separately as it is currently the case.

Ripple
Ripple

The two banks will put the amount to be transferred (i.e the funds to be transfered from the bank of Corp Alpha to the bank of Corp Beta and the funds that the Bank of Corp Beta will transfer to Corp Beta) on a separate account, so that the ILP Validator will be able to make the transfer at the same time, avoiding any transfer risk or delay.

LE CONSENSUS

Once the transaction is validated, it is sent to certain members of the network for confirmation : the Tracking Nodes and the Validation Nodes. The role of the first is to transmit the transactions through the network and provide information on the state of the blockchain, while the second effectively participate to the consensus, i.e they validate the transactions, gather them in a block and cpollecgtively validate the blocks.

As you can see from the below graph, transactions can have three differents status : candiate, approved or rejected. A candidate transaction correctly constituted and approved, is added to the block of transactions currently being validated.

The completion of the consensus is then realised following the rules of the Byzantine Fault Tolerance that we describe in this article. Basically, each Validating Nodes calculates its own version of the new block and transmit the hash to the network so the other members can verify it quicky. The new block will then be added to the blockchain if a super-majority of the Validating Nodes have received the same hash.

Ripple
Ripple

The use of XRP : the purpose of XRP cryptocurrency is both to ensure the security of the network and serve as a bridge between other currencies. Before you create a transaction on the network, you will need to have a minimum reserve of XRP on your account (50 XRP). For each transactions, 0.00001 XRP is destroyed which is equivalent to say the using ripple is free. This fee is still used to discourage attacks that would create an important amount of fake accounts (« Ledger spams ») or transactions (« Transaction Spams ») in order to saturate the network. With XRP such attack would be too expensive.

XRP is also used as an intermediary between two currencies if the parties cannot find a member of the network (“Gateway”) able to act as a Market-maker. For instance, if Alice wants to use Euros and Bob dollars but no one on the network is available or willing to make the converstion in a sens or the other, it is stil possible to convert both Euros and Dollars into XRP to complete the transaction and then convert back into their currency.

It is important to note that Ripple network can still be used without using XRP and exchanges can be done in every currencies.

 

BUSINESS MODEL

Ripple generates revenues in two different ways. First through the XRP tokens that retains and that it sells to banks and user in order to convert currencies on the network. Second by selling and mainting the Inter-Leder Protocol to the members of the network.

THE TEAM

The fast growing team is spread on five different sites: San Francisco, New York, London, Luxembourg and Sydney

To know more https://ripple.com/company/

COMPETITORS

Ripple’s goal is to replace the technologie that is currently used by company like SWIFT. At the moment, we cannot see any company developping a technology and a network as advanced as the one created by Ripple.

Some exchanges like Coinbase and BitPay have created a solution to manage payments in bitcoins between business and consumers, but the technology they are developping is based on the Bitcoin protocol and is not as advanced than the Inter-Ledger Protocol developped by Ripple. The Bitcoin Protocol is particularly difficult to scale despite several promising projects like the Lightning Network.

We do not beleive either that Stella is a competitor to Ripple even if they are based on very similar technology. The reason is that their strategy is very different. Ripple’s goal is to connect banks and facilitate financial transfers where Stellar is a non for profit organisation which proposed the use of its technology for free.

 

POUR ALLET PLUS LOIN :

Rippple Consensus Whitepaper – https://ripple.com/files/ripple_consensus_whitepaper.pdf

Pour plus d’information sur le fonctionnement du consensus de Ripple, vous pouvez vous reporter sur cette page: https://ripple.com/build/ripple-ledger-consensus-process/

Ripple: le protocol qui relie les banques

APERCU

Date de création: 2014

Website : https://ripple.com/

Protocol : RTXP (Ripple Transaction Protocole)

Cryptomonnaie : Ripple (XRP)

Nombre de jetons en circulation et prix: https://coinmarketcap.com/currencies/ripple/

 

Nombre total de jetons: 100 milliards qui sont repartis entre les fondateurs de Ripple (20%), le Ripple Lab (25%) et les autres participants du réseau (55%). Il est important de noter qu’en mai 2017, le management de Ripple a décidé de mettre en gage 14 milliards de leurs XRP en vue de répondre aux critiques des investisseurs qui craignaient que ces jetons soient vendus subitement faisant ainsi plonger le prix.

Où acheter XLM : Poloniex, Bittrex, Kraken, Bitstamp, Bitfinex.

PITCH

Ripple est un protocole internet dont l’objet est de faciliter les transactions financières. Au même titre que SMTP (Simple Mail Transfer Protocol) a defini les règles suivient par les ordinateurs pour envoyer des e-mails, RTXP (Ripple Transaction Protocole) défini un ensemble de règles permettant d’effectuer des transactions sur internet instantanément et gratuitement, dans n’importe quelle monnaie, cryptomonnaie, matière (Or par exemple) ou tout autre untié de valeur.

Ripple a pour objectif de relier tous les réseaux de payment qui sont à l’heure actuelle encore indépendants en vue de les simplifier, de les rendre gratuit et plus rapide. Le réseau de Ripple est actuellement de 75 banques sur l’ensemble de la planète.

 

INNOVATION 

Comment Ripple fonctionne:

XCURRENT

XCurrent est l’élément du protocole qui gère la communication entre les différentes parties. C’est la première étape du transfert. Si Alpha Corp souhaite transférer des fonds a Beta Corp, elle va commencer par envoyer une requête a sa banque qui va utiliser le XCurrent qui lui est attribue pour obtenir les informations nécessaires. Ce dernier va en effet entrer en contact avec le XCurrent de la banque destinataire pour obtenir une cotation pour le transfert, et avec un « market makers » ou « Liquidity provider » qui lui fournira le taux de change le cas échéant.

Alpha Corp sera donc en mesure de déterminer si les conditions du transfert sont acceptables avant de procéder. Si c’est le cas, la banque de Beta Corp pourra procéder aux vérifications généralement requises par les règlementations nationales (KYC…). Une fois que les banques sont prêtes à transférer les fonds, la banque d’Alpha Corp organisera le transfert avec ILP Validator.

ILP VALIDATORS

ILP (« Inter-Ledger Protocol ») Validator a pour fonction de coordonner les registres des différentes banques, pour pouvoir organiser un transfert simultané au lieu d’avoir à le faire à la suite comme c’est la cas a l’heure actuelle.

 Ripple

Ripple

Concrètement les deux banques mettent les fonds à transférer sur un compte bloqué (les fonds que la banque de Corp Alpha va transférer à la banque de Corp Beta et les fonds que la banque de Corp Beta va transférer à Corp Beta), pour que ILP Validator puisse procéder au transfert simultané, évitant ainsi tout risque de transfert ou de retard.

LE CONSENSUS

Une fois que la transaction est validée, elle est envoyée aux membres du réseau pour validation, cad aux membres de traçage (« Tracking nodes ») ou aux membres de validation («Validation nodes »). Le rôle des premiers est de transmettre les transactions à travers le réseau et fournir les informations sur l’état de la blockchain, tandis que les seconds participent effectivement au consensus, c’est-à-dire à la validation des transactions, à leur regroupement dans des blocks et à la validation collective des blocks. Comme vous pouvez le constater, les transactions peuvent avoir trois statuts différents : candidats, approved ou rejected. Une transaction candidate qui est constituée régulièrement et approuvée, est ajoutée au block de transaction en cours de validation.

La réalisation du consensus s’effectue ensuite selon les règles des procédés de « Byzantines Fault Tolreance ». Pour simplifier, chaque membre validant du réseau calcule une version du nouveau block et le transmet au réseau, sous forme de hachage pour que les autres membres puisse facilement vérifier si ils ont obtenu ou non le même résultat. Le nouveau block sera ensuite considéré comme valide et ajouté à la blockchain, si une super-majorité des membres validants a obtenu le même hachage.

 

Ripple
Ripple

L’utilisation de XRP: XRP (prononcez Ripple) est une cryptomonnaie dont le but est d’assurer la sécurité du réseau et servir de pont entre les autres monnaies. Le nombre des XRP est limité à 100 milliards qui sont repartis entre les fondateurs de Ripple (20%), le Ripple Lab (25%) et les autres participants du réseau (55%) en vue de le développer. A l’heure actuelle la valeur totale du réseau est estimée a 960 millions de US dollars pour une création de compte d’environ 170 par jour.

En effet pour réaliser une transaction sur le réseau Ripple, il faut d’abord avoir une réserve de XRP sur son compte (minimum 50 XRP soit 0.5$ au moment de l’écriture de cet article). A chaque transaction 0.00001 XRP est détruit (soit environ un cent millième de centime), ce qui revient à dire qu’utiliser le réseau Ripple est gratuit. Cette cryptomonnaie est en fait utilisée pour dissuader les attaques visant à créer un nombre important de comptes factices (“Ledger Spam”) ou un nombre important de transactions également factices (“Transactions spam”) en vue de saturer et donc neutraliser le réseau. L’introduction des XRP rendant en effet trop cher ce type d’attaque.

Les XRP sont également utilisés pour servir d’intermédiaire entre deux monnaies si des contreparties ne parviennent pas à trouver un membre du réseau (“Gateway”) susceptible d’agir comme “market-maker”. Par exemple, si Alice préfère utiliser des Euros et Bob des dollars mais qu’aucun membre du réseau n’est prêt à effectuer la conversion dans un sens ou dans un autre en vue de permettre à Bob et Alice de réaliser une transaction, il leur est toujours possible de convertir leur euros et dollars en XRP pour réaliser l’échange et ensuite les reconvertir dans la monnaie initiale.

Il est toutefois important de noter que le réseau Ripple peut être utilisé sans pour autant passer par la cryptocurrency XRP et les échanges peuvent très bien être réalisés dans n’importe quelle monnaie.

 

BUSINESS MODEL

Ripple génère des revenus de deux manières différentes. D’abord par l’émission de sa cryptomonnaie, les XRP, que les membres du réseau et les usages peuvent acquérir pour convertir des devises entres elles. Ensuite par la vente à ses membre et la maintenance de son Inter-Ledger Protocol.

L’EQUIPE 

Elle est en plein croissance et se répartie sur cinq sites: San Francisco, New York, London, Luxembourg et Sydney.

Pour en savoir plus: https://ripple.com/company/

LA CONCURRENCE

L’objectif de Ripple est de remplacer des technologies comme celle proposée par SWIFT, mais ne dispose pas selon nous de concurrents sérieux développant une même technologie pour le moment. Certains échanges tel que Coinbase et BitPay organise également des payments entre professionnels et consommateurs mais la technologie qu’ils développent reposant sur le protocol Bitcoin est moins avancée.

Bien que reposant sur une technologie très proche, Stellar ne peut selon nous pas être considéré comme un concurrent direct de Ripple dans la mesure où ils ont une stratégie très différente : Ripple vise les transferts financiers entre institutionnels (banques, compagnies…) alors que Stellar est une organisation à but non lucratif proposant l’utilisation gratuite de son réseau.

 

POUR ALLET PLUS LOIN :

Rippple Consensus Whitepaper – https://ripple.com/files/ripple_consensus_whitepaper.pdf

Pour plus d’information sur le fonctionnement du consensus de Ripple, vous pouvez vous reporter sur cette page: https://ripple.com/build/ripple-ledger-consensus-process/

Stellar Lumens: free international payments for all

OVERVIEW

Creation date: 2014

Website : https://www.stellar.org/

Protocol : Stellar Consensus Protocol (“SCP”)

Cryptocurrency : Stellar Lumens (XLM)

Number of circulating tokens and price: https://coinmarketcap.com/currencies/stellar/

Tokens retained by founders: 5%

Where to buy XLM : Poloniex, Bittrex, Kraken, Stellar Decentralised exchange.


PITCH

Stellar proposes a structure to develop payment systems based on decentralized ledger technology, which the same way as Ripple would. The founders, Jed McCaleb (also the founder of the sadly famous MtGox) and Joyce Lim, were also part of the creation of Ripple before leaving it to create Stellar. A disagreement on the strategic orientations of the Ripple project might be the reason of the break-off. When Ripple decided to serve only banks and major corporations, Stellar core idea is to provide all persons, and especially poor peoples, access to banking services and the possibility to transfer funds worldwide for free

Stellar Lumens
Stellar Lumens

Stellar allows anyone to develop applications from it API (“Horizon”) and interact with the network through the intermediary “Stellar Core”, which role is to validate transactions using the Stellar Consensus Protocol we are describing below. Once connected to the network, it is easy to exchange value all around the world for free and instantly.

The only obligation of each participant is to create an account through which he will be allocated a set of public and private keys.


INNOVATION : Stellar Consensus Protocol (“SCP”): the Federated Byzantine Agreement

Stellar Consensus Protocol has been created to solve the issue of the « Byzantine failure », by reaching a consensus without requesting the approval of all the members of the network.

The consensus works in four different steps, in the same way as a protocol like Paxos would. The nodes of the systems exchange a list of ballots to confirm and at the end agree on a value. But a ballot can only be validated if a minimum quorum is respected, i.e a certain number of nodes need to take part to the vote for the ballot to be valid. Each node chose a slice of the quorum in which it will include some nodes that it trusts. Each of these quorum slices will produce intersections with each other.

To reach an agreement, the Stellar Consensus Protocol relies on a property called “quorum intersections”. The idea behind this concept is that each node that is honest carries a network topology strong enough to reach a consensus.

Stellar lumens
Stellar lumens

 


BUSINESS MODEL :

Stellar is a non for profit organisation, so the use of the system and network is free and open source. Operational costs are covered by donations and the 5% of tokens retained by the founders.


THE TEAM : it is composed of 12 persons including :

Jed McCaleb : Co-founder of Stellar, he has strong background as cryptoentrepreneur since he has created the first exchange for bitcoins MtGox. He is also one of the founders of Ripple that he left for strategic reasons.

David Mazière : professor of informatic sciences at Stanford university, he has a PHD in electric engineering and informatic sciences. He is the main conceptor of the Stellar Consensus Protocol.


CONCURRENT COMPANIES :

ABRA and BITPESA are the two main concurrents that come to mind. Like Stellar, these two start-ups intend to offer poor peoples access to financial services and in particlar free international monetary transfers.

Even if Ripple’s purppose is to make international monetary transfers free, we do not see it as a current for Stellar since it only provides services for institutional clients.


LEARN MORE :

Stellar Roadmap : https://www.stellar.org/blog/roadmap/

Outside the Spotlight, Stellar is Pulling Banks Into Orbit

David Mazieres – The Stellar Consensus Protocol: A Federated Model for Internet-level Consensus – Fevrier 2016 – https://www.stellar.org/papers/stellar-consensus-protocol.pdf

Leslie Lamport – Paxos made simple – 2001 – http://research.microsoft.com/en-us/um/people/lamport/pubs/paxos-simple.pdf

Stellar Developpement Foundation – On Worldwide Consensus – Dec 2015 – https://medium.com/a-stellar-journey/on-worldwide-consensus-359e9eb3e949#.be783b5y1

Stellar Lumens: des services financiers pour tous

APERCU

Date de création: 2014

Website : https://www.stellar.org/

Protocol : Stellar Consensus Protocol (“SCP”)

Cryptomonnaie : Stellar Lumens (XLM)

Nombre de jetons en circulation et prix: https://coinmarketcap.com/currencies/stellar/

Jetons retenus par les créateurs : 5%

Où acheter XLM : Poloniex, Bittrex, Kraken, Stellar Decentralised exchange.


 PITCH

Stellar propose une structure de système de paiement basée sur un registre décentralisé qui fonctionne de la même manière que le système développé par Ripple. Les fondateurs de Stellar, Jed McCaleb (aussi créateur du fameux MtGox) et Joyce Kim, comptaient également parmi les fondateurs de Ripple avant de quitter le projet pour créer Stellar. L’idée fondatrice de Stellar est d’offir aux personnes qui n’ont pas accès aux services bancaires, essentiellement des habitants de pays en développement, des moyens de payements depuis les téléphones portables ainsi que des solutions de transfers internationaux immédiats et moyennant une fraction de centime.

Concrètement, Stellar permet de développer des applications à partir de son API (“Horizon”) et d’interagir avec l’ensemble du réseau par l’intermediaire de “Stellar Core” dont la fonction est de valider les transactions grâce au système de consensus que nous avons decrit plus haut. Une fois connecté au réseau, il est donc facile, immédiat et presque gratuit d’échanger n’importe quelle valeur d’un bout à l’autre de la planète.

Chaque participant a pour seul obligation de créer un compte pour lequel il se verra attribué un jeu de clées privées et publiques qui comme pour le bitcoin, seront à la fois son identifiant sur le réseau et sa signature pour réaliser des transactions. Il vous suffira ensuite de réaliser des transactions depuis votre compte.

Stellar cryptocurrency
Stellar cryptocurrency

Apres avoir passé deux ans à construire la plateforme, Jed McCaleb poursuit actuellement sont plan de route avec pour priorité l’Afrique et plus particulièrement le Nigeria.


INNOVATION : Stellar Consensus Protocol (“SCP”): the Federated Byzantine Agreement

SCP est élaboré pour faire face au problème du “défaut byzantin” (“Byzantine failure”), en aboutissant à un consensus sans pour autant avoir à recueillir le consentement de l’ensemble des membres du réseau. C’est une différence importante avec les autres systèmes résistant au défaut byzantine mais qui nécessitent le consentement des noeuds du réseau pour y parvenir.

Plus précisement, SCP procède en 4 phases de la même manière que des protocols comme Paxos. Les noeuds du réseau échangent une série de scrutins pour confirmer et finallement accepter une valeur. Pour cela, il détermine un quorum minimum, c’est à dire un nombre minimum de membres du réseau devant voter pour obtenir un accord. Chaque noeuds choisit une ou plusieurs parts de quorum (“quorum slice”) et inclu dans chaque parts des noeuds en qui il a confiance. Chacune de ces parts de quorum vont ensuite produire des intersections les une par rapport aux autres.

Pour aboutir à un accord, le protocol SCP repose en effet sur une propriété appellée “l’intersection des quorums”. L’idée derrière ce concept et que chaque noeud qui est honnête dispose d’une topologie de réseau suffisamment forte pour aboutir à un consensus. Pour cela on part du principe que si on enlève les noeuds qui sont malveillants ainsi que les noeuds qui en dépendent et que l’intersection du quorum est maintenue, alors la topologie du network est forte.

Stellar cryptocurrency

Stellar cryptocurrency


BUSINESS MODEL :

Stellar est une organisation à but non lucratif, l’utilisation de son système et réseau sont donc gratuits. Les frais opérationnels sont couverts par les 5% de XLM retenus et les donations.

 


L’EQUIPE : elle est composée de 12 personnes, dont

Jed McCaleb : Co-fondateur de Stellar, il dispose d’un solide background d’entrepreneur dans la cryptoéconomie puisqu’il a créé le premier échange de bitcoin, MtGox. Il est également à l’origine de Ripple qu’il a quitté en raison de divergences stratégiques et pour créer Stellar.

David Mazière : professeur de science informatique à l’université de Stanford, il est titulaire d’un doctorat en ingénierie électrique et sciences informatiques. C’est à lui que nous devons les avancées technologiques du protocol de consensus.

 


LA CONCURRENCE :

ABRA et BITPESA sont les deux concurrents qui viennent à l’esprit. Comme Stellar, ces deux start-up ont pour ambition d’offrir aux plus pauvre l’accès aux services financiers et proposent en particulier des transferts internationaux gratuits ou presque.

Bien que Ripple concerne également les transferts monétaires internationaux et que leurs protocols de consensus soient très proches, nous ne le voyons pas comme un concurrent direct de Stella dans la mesure ou Ripple est pour le moment réservé exclusivelent aux institutionnels.

 


POUR ALLET PLUS LOIN :

Stellar Roadmap : https://www.stellar.org/blog/roadmap/

Outside the Spotlight, Stellar is Pulling Banks Into Orbit

David Mazieres – The Stellar Consensus Protocol: A Federated Model for Internet-level Consensus – Fevrier 2016 – https://www.stellar.org/papers/stellar-consensus-protocol.pdf

Leslie Lamport – Paxos made simple – 2001 – http://research.microsoft.com/en-us/um/people/lamport/pubs/paxos-simple.pdf

Stellar Developpement Foundation – On Worldwide Consensus – Dec 2015 – https://medium.com/a-stellar-journey/on-worldwide-consensus-359e9eb3e949#.be783b5y1

How to buy bitcoins and altcoins: the ultimate guide

Today there are many possibilities to buy bitcoins and altcoins. But each of these options is not adapted to everyone. This guide will allow you to choose among these option which one i the best for you.

First a little terminological clarification : when we talk about altcoin we are actually referring to all the cryptocurrencies other than bitcoin. There are around 700 altcoins at the moment and their number is growing fast. If you want to know more about altcoins, you ca have a look at this article. Also note that the term « cryptocurrency » generally covers bitcoins and altcoins.

You have basically three main ways to buy sell cryptocurrencies :

  • Through a broker
  • Trough a peer to peer platform
  • Through an exchange

Before we describe in detail each of these options, it is important that you ask yourself which type of « cryptoinvestor » you would like to be. Do you want to buy only bitcoins or are you also interested in altcoins ? Do you want to do day trading and speculate on the price or simply keep the cryptocurrencies as a long term investment ? As you will see, the three options described above are not adapted to any profile.

Disclaimer : although we act as affiliate on behalf of some of the companies described on this page (i.e we will receive a commission if you use their services after clicking on the links we provide on this page), the aim of this article is not to provide any investment advice but only to describe the different ways to buy and sell cryptocurrencies. You must bear in mind that these cryptocurrencies rely on a developping thechnology with all the risks involved and that their price is usually very volatile. It is essential that you only invest the money you can afford to lose.

TROUGH A BROKER

It is now possible to obtain bitcoins and Ether (to know more about this altcoin, you can go to our section dedicated to Ethereum) extremely rapidly and simply by buying the tokens directly to a broker. They are intermediaries who buy bitcoins/Ether and sell them on a commission like any gold seller would do.

This option will perfectly fit the project of those who want to retain their bitcoin/Ether on the long term while obtaining their cryptocurrencies quickly, securely and without too many formalities. Commissions of the brokers are indeed usually high (in comparison to the other options) and the choice of cryptocurrencies you can buy limited (only bitcoin and Ether).

Coinhouse
Coinhouse

The most famous brokers are CoinHouse et Coinmama. You will have to create an account provide a copy of you id and a proof of residency to obtain your coins quickly.

If you decide to use a different broker, you must check if they are legally settled as a company and collect as many reviews as possible.

TROUGH A PEER TO PEER PLATFORM

This method could be compared to the “eBay for bitcoins”. Bitcoins are exchanged directly among the members of the network without transiting through the account of the platform. As for the previous model, Peer to Peer platforms are more adapted to persons wishing to buy only bitcoins and retain them on the long run.

This type of platform is used for several different reasons.

  • The platform will only connect the users without manipulating the coins, so the fees collected are pretty low.
  • The identity of the users is not checked. This is the only way to buy bitcoins anonymously.
  • Almost every types of payment method are possible as long as it is agreed between the parties. Note that the fees applied by the seller vary a long depending on the method you are choosing.

The platform can provide additional services such as escrow and noting systems to limit as much as possible scams.

THROUGH AN EXCHANGE

To obtain bitcoin and altcoin through an exchange is the third and last method we would like to describe. It is very well adapted to the cryptoinvestors who are also interested in altcoins and inentend to buy and sell cryptocurrencies on a regular basis.

The exchanges will first have to complete identity checke before they can open an account on your behalf that you will have to credit in order to exchange cryptocurrencies. As we will see, each of the funds movements imply the payment of a fee, that’s the reason why it is essential to choose the most efficient option.

CAUTION : It is essential that you do not treat the account on the exchange as a second bank account. Retaining your funds and cryptocurrencies into the account provided by the exchange is the same as keeping them on an « hot wallet », i.e. you grant the exchange the control on your private keys. Would you provide your credit card details and secret password on a same e-commerce website ? Well this is excatly the same here. That’s why you need to transfer your cryptocurrencies into a « cold storage » wallet as often as possible.

To know more about the different bitcoin wallet, you can refer to this article : « Bitcoin wallet : the complete guide to securely store your cryptocurrencies. ». This is all the more important that exchanges have been hacked many times in the past and although security standards are much better now, it will happen again.

bitcoin exchange
bitcoin exchange

TYPES OF EXCHANGES – all exchanges do not provide the same services. Some only allow the conversion of national currencies into cryptocurrencies, other conversion among cryptocurrenies and other do both. We will only look into this last type of exchanges.

It is important to note that some exchanges are more adapted depending on the region or the national currency you would like to use. For instance, exchange volumes in Euros are more important on Kraken and Bitstamp than on other exchanges, which is good for liquidity and so better rates. These platforms allow SEPA transfers, which are fast and free transfers in Euro within the EU.

You will also need to choose the exchange in accordance with the cryptocurrencies that it proposes. If you want to buy bitcoins and altcoins, you need to be sure that they are available on the exchange that you choose.

TRANSFERS – Before opening an account with an exchange, double check what type of fund transfers are possible with this exchange. Here are the most widely used methods:

  • Wire transfer: this method is generally very expensive and very slow. Banks are usually applying in addition to the fees applied by the exchange. It is quite common to wait 3 days before your account on the exchange is credited.
  • SEPA Transfer: this method works as a wire transfer but it is free and faster. It only concerns Euro transfer within the EU. If you plan to use Euro, you must ensure that the platform supports SEPA transfers.
  • Bitcoin: in a second time you will be able to fund your account directly with bitcoin. Movements of bitcoins are usually free or cheaper than with cash. When you are doing your transfer, just bear in mind that bitcoin need 1h to confirm (i.e 6 blocks) so ensure that you are not doing the transfer in high volatility periods.
  • Depending on the exchange you will also be able to use EFT payment, ACH / SWIFT/ Paypal/, International Ripple Gateway Association (IRBA), TetherUSD, OKPAY. Note that the fees will fluctuate a lot depending on the method you choose.

VOLUMES: to determine the level of popularity of an exchange you can check the volume of trades realized on a daily basis on this exchange. Bitcoinchart (https://bitcoincharts.com/markets/) offers a classification of these exchanges in real time.

The volume of the trades is important because it will have a direct on the price you will pay for the cryptocurrencies you will buy. Indeed, when the volume of trades is high on a certain coin, it means that many people are selling and buying this coin at the same time, so the liquidity on this coin is high. It also means that if you want to buy the coins at a certain price it is likely that someone will sell them at this price. When there is no liquidity you might have to buy the coins at a higher price just because there are no sellers at your proposed price.

You need to understand this point if you are buying on an exchange because if no one wants to sell at your proposed price because too few peoples are selling a coin you might end-up buy the coin for a much higher price. This is called the bid/ask spread and this is why you need to go on an exchange with the most liquidity on the coin you want to buy/the national currency you are using.

FEES – as we have just seen, the buying or selling price can include a spread if you cannot find a buyer/seller to accept your price. To this spread, the following fees need to be taken into account:

  • Transaction fees: these are the fees collected by the exchanges. These fees are proportional to the size of your orders. The higher the order, the lower the fees.
  • Transfer fees: every time you add funds on your account your bank will collect a fee (except in case of SEPA transfer). When you withdraw your funds from the exchange to send them to you bank, the exchange will also collect a fee.

All these fees added together represent a consequent part of your buying/selling price, so it is important to be as cautious pas possible when transferring funds.

SECURITY – We strongly recommend touse all the security options proposed by the exchange, i.e a strong password really random (by using this website for instance https://strongpasswordgenerator.com/) as well the double authentication when available.

It is also very important to constantly transfer your coins from the exchange cold storage.

Finally, it is recommended to use an exchange that is approved by the financial authority of its country or region of registration.

There is an important amount of exchanges avaiable at the moment and reviewing them all is not realistic, that’s why I have decided to focus on the three I am using and which I beleive beleive are the most suitable in terms of liquidity, number of pairs of cryptocurrencies available, transfers methods and fees and security.

[googlepdf url= »https://www.blockchains-expert.com/wp-content/uploads/2017/12/Exchanges-comparison-Charts-2017.pdf » download= »Download » width= »100% » height= »600″]

 

ABOUT

Since 2014, I am passionate about the technologies linked to the blockchain because this technology will revolutionize the organisation of our society. But this is in learning Solidity (the programming language developed by Ethereum and based on Javascript) that I truly understood the impact that will have Smart Contracts on our day to day life. After three years of writing on this subject and a book almost completed, I can only agree with those who say that this revolution will be as important the ‘internet’ revolution.

Stan
Stan

The blockchain has the potential to reinvent our organizations, commercial and governmental, but also of our society by allowing a decentralized distribution of competences and information. The goal of this blog is to share with everyone all the creations of this developing technology.

Blockchains Experts is addressed to every person who intends to better understand the technological, legal and economic aspects behind the “Decentralized Ledger Technology”. This is the reason why, we are reviewing in details the most recent innovations, the start-ups and the cryptocurrencies that we believe will constitute a significant improvement for this fast growing industry.

If you wish to invest in cryptocurrencies, please note that the aim of the website will not train you for “day trading”, but give you the tools you need to identify the actors who will make a long term difference in this industry as well as the means to obtain and retain their proposed tokens.

If you have questions or comments, please do not hesitate to contact me and I will be happy to reply.

[si-contact-form form=’1′]

A PROPOS

Dès 2014, je me suis passionné pour les technologies liées à la blockchain qui vont de toute évidence révolutionner l’organisation de notre société. C’est en apprenant à coder Solidity (le language de programmation développé par Ethereum et largement inspiré de Javascript) que j’ai réellement pris la mesure de l’impact que vont avoir les Smart Contracts sur notre quotidien. Après trois ans à écrire sur le sujet et un livre bientôt complété, je ne peux qu’être d’accord avec ceux qui affirment que cette révolution sera aussi, si ce n’est plus, importante que la révolution internet.

Stan

La blockchain a le potentiel pour réinventer nos organisations, commerciales et gouvernementales, mais également sociétales en permettant une répartition décentralisée des compétences et de l’information. Le but de ce blog est de partager avec le plus grand nombre toutes les avancées de cette technologie naissante.

Blockchains Expert s’adresse donc à tous ceux qui souhaitent comprendre les aspects à la fois technologiques, mais aussi juridiques et économiques des « Technologies de Registres Décentralisés ». Dans cette optique, nous étudions en détail les dernières innovations, les start-ups et les Cryptomonnaies qui selon nous constituent une avancée significative pour cette industrie en pleine expansion.

Si vous souhaitez investir dans les cryptomonnaies, notez que l’objectif de ce blog n’est pas de former au « day trading », mais plutôt de vous donner les outils pour identifier les acteurs qui feront la différence dans cette industrie et les moyens pour acquérir et conserver leurs jetons.

Si vous avez des questions ou des suggestions, n’hésitez pas à me contacter et je serai ravi de vous répondre.

[si-contact-form form=’1′]

Introduction to bitcoin and to the blockchain technology

Everyone has heard about the bitcoin, but very few are able to understand how it works exactly. While frequently caricatured by the medias as a currency for terrorists and traffickers, the bitcoin remains at the origin of a revolution that will deeply tranform our society. This website will give you the tools to better understand and anticipate this revolution.

 

The Bitcoin

The bitcoin has been created in 2009 by Satoshi Nakamoto, an individual or group of individual which identity remains unknown to date.

It is the first cryptocurrencie ever created and is revolutionary because it allows instant and secure transfer of value on the internet. This is the reason why the bitcoin is usually called «cyber cash ».

The transfer of value system on the internet in its current state can be compare to the e-mail exchange system as it was at its beginning, when you could only send e-mails to persons that belonged to the same system. For instance, users of AOL could not send e-mails to users of GEnie or CompuServe, the ancestors of Gmail and Yahoo. This is the apparence of the SMTP protocol that has allowed users of different e-mails systems to send e-mails to each others.

Today, to make an international transfer of money, you need to use a bank which systems are not even connected. The information are transmitted using the internet network, but the bank’s ledgers are independant and need to be updated for each transfer. Sometime these systems need to be updated manually and this is the reason why these transfers are so expensive and time consuming.

The bitcoin is above all a protocol, similar to SMTP, which connects any person that has an access to the internet and make it possible to exchange any amount instantly, with a person based on the other side of the planet, in a secured and anonymous manner. The only condition is to obtain a portfolio that will grant you access to the bitcoin network and the ability to buy or sell bitcoins.

If the bitcoin protocol has never been hacked since its creation, it is not the case of the exchanges on which you can buy/sell bitcoin and of the portfolios on which you store them. Hackers have been exploiting with success the lack of security of these exchanges and portfolios many times in the past. That’s why it is extremely important that you take any possible measure to protect your bitcoins and crypto-currencies. If you want to know more about these process you can read the following posts : « How to buy your bitcoins, a complete guide » and « The best way to keep your bitcoins and cryptocurrencies safe ».

 

Blockchain Illustration

 

THE BLOCKCHAIN

But the technology that undermine the bitcoin, the blockchain, will have a much deeper impact on our organisations, than only facilitating international monetary transfers.

The blockchain is a data base of a new kind, a ledger on which are registered all the transactions created between the members of a same network. The main difference with the database we currently know lies on the fact that the blockchain is decentralised and updated by the members of the network.

For instance, a bank in its basic sense is also a ledger on which are recorded the transactions (expenses, credit..) made by the members of the banking network. The clients have initially granted the banks the fonction to update their ledger on their behalf and treated them as a trusted intermediary. Today, the network plays the role of this trusted intermediary. The creators of the bitcoin did find a (cryptographically) secured way to update the ledger of the network without any intermediary. The trust can now be transferred from central organisations such as banks, governments, but also corporations like UBER or Amazon, to users.

Today if you want to sell a bike on the internet you go on a platform like eBay and become a member, by revealing all your personal and banking information, so that you can post your ad. With the blockchain there is no platform, only a software that you will upload and which will give you access to the network on which you will be able to freely post your ad. This is exactly how works OpenBazaar which connects person who want to sell or buy on the internet.

Hope this brief introduction gives you a better idea of the potential of such technology on a society as centralised as ours and in a period where data organisation has never been so important.

 

 

Portefeuille bitcoin: comment conserver vos crypto-monnaies?

Il semble important de commencer par préciser que le mot “Trousseau” pourrait être plus adapté que “portefeuille” dans la mesure où les portefeuilles bitcoin ne stockent aucun bitcoin, seulement les clés publiques et privées qui permettent de les transférer. Un portefeuille bitcoin est un logiciel qui va vous donner accès au réseau bitcoin et gérer pour vous les opérations l’achat et de vente. Il s’agit donc de votre premier contacte avec le réseau bitcoin et génrallement la première étape lorsque vous souhaitez acquérir des bitcoins ou autres crypto-monnaies.

Il est donc essentiel de comprendre à quoi sert un un portefeuille bitcoin avant de se lancer. D’autre part, tous les portefeuilles proposés sont différents, il convient donc d’identifier celui qui vous correspondera le mieux.

 

CLE PRIVEE, CLE PUBLIQUE

Si on compare le paiement avec des bitcoins au paiement par carte bancaire dans un magasin, la clé publique correspond à votre numéro de carte bancaire, celui qui vous identifie et que vous pouvez transmettre sans trop de risques, et la clé privée correspond à votre code secret, qui vous permet de valider le paiement et que vous ne devez surtout pas divulguer.

Clé publique
Clé publique

Concrètement, le terme de portefeuille bitcoin fait référence à la fois au dossier qui contient vos clé privées, mais aussi aux programmes qui génèrent des clés publiques. L’objectif est de créer des transactions à partir de vos clés privées et publiques, un peu comme votre banquier vous attribue un numéro de carte bancaire et un code secret.

Comme on peut l’imaginer, le but du portefeuille bitcoin est de conserver des bitcoins ou Satoshi (1 satoahi = 0.00000001 bitcoins), mais aussi d’en permettre la dépense. Pour ce faire, le portefeuille propose un programme permettant à son propriétaire de distribuer des clés publiques (pour recevoir les bitcoins) et un programme de signature des transactions à l’aide de clés privées (pour dépenser les bitcoins).

Le portefeuille bitcoin doit ensuite être en mesure de communiquer ces informations au réseau bitcoin et dispose donc d’un troisième programme de mise en relation avec le réseau. Les deux premiers programmes ne sont pas nécessairement directement liés au dernier. Autrement dit, il est possible de générer des clés publiques et signer des transactions indirectement, sans être connecté au réseau bitcoin, et de les transmettre dans un deuxième temps. Il existe de nombreuses combinaisons de ces transactions.

PORTEFEUILLE BITCOIN SUR INTERNET (“HOT STORAGE”)

Internet porfolio
Internet porfolio

Les plus courants sont les portefeuilles bitcoin sur internet. Ce sont des applications basées sur internet et pouvant être téléchargées sur votre smartphone et ordinateur. Cela permet d’effectuer des petits paiements de la vie courante au moyen de QR codes. Le QR code est juste une manière de coder votre clé publique pour pouvoir la scanner depuis votre smartphone. Si vous ne savez pas quoi faire de vos bitcoins n’hésitez pas à utiliser mon QR code pour vous en débarrasser :

 

Les smartphone sont considérés comme étant moins sécurisés que les portefeuilles localisés sur un ordinateur portable, il est donc recommandé de ne pas conserver tous ses bitcoins dans son portefeuille mobile, mais plutôt dans un logiciel téléchargé localement sur votre ordinateur et encore mieux en “Cold storage” (voir ci-dessous).

Avec ce type de portefeuille, vos clés privées et publiques sont stockées sur le site d’un prestataire de service. En d’autres termes, les trois programmes que nous avons évoqués plus haut sont concentrés sur une même plateforme entre les mains d’un même prestataire.

Le principal avantage est que vous pouvez accéder à votre portefeuille depuis n’importe où dans le monde, mais en échange vous n’êtes plus maître à 100% de vos clés. Vous confiez en effet la responsabilité de vos clés à une tierce personne.

 

PORTEFEUILLES TELECHARGE EN LOCAL

Une façon plus sécurisée de conserver vos crypto-monnaies consiste à télécharger un portefeuille directement sur votre ordinateur. Vous devenez donc maître de vos clés privées et êtes beaucoup mieux protégé contre les attaques, à condition évidemment que votre ordinateur ne contienne pas de virus tel que des spyware programmés pour récolter vos clés.

L’idéal est donc d’aller encore plus loin et de sauvegarder vos clés privées hos d’internet sur des clés USB sécurisées, également appelées « portefeuilles physiques » (ou “Cold Storage”).

Ledger est une start-up française qui propose un portefeuille que vous pouvez téléchargez sur votre ordinateur ou smartphone, mais dont les données sont stockées sur une clé que vous insérez dans le port USB de votre ordinateur. Toutes les informations relatives à vos bitcoins ne sont donc pas en contact avec internet. Les modèles proposés par Ledger (à l’exception de Ledger Nano) permettent maintenant de stocker non seulement vos bitcoins, mais également les principaux altcoins: Ether, XRP, Dash, litecoin, Dogecoin, Zcash.

 

Ledger Nano S

D’autres marques telles que Keepey ou Trazor Wallet sont également très efficaces.

Il est possible voir recommandé d’utiliser les deux types de stockage de vos bitcoins, un peu comme vous le feriez avec votre compte courant et votre compte épargne. Vous pouvez en effet conserver uniquement les bitcoins/satoshi dont vous avez besoin sur votre hot storage (portefeuille en ligne) et transférer régulièrement le surplus sur votre cold storage.

Un autre moyen de ne pas exposer sa clé privée à internet et d’utiliser un portefeuille HD.

PORTEFEUILLE DETERMINSTE HIERATCHIQUE (“Hierarchical Deterministic wallet” ou “HD wallet”)

Malgré son qualificatif barbare, le portefeuille hiérarchique est à ce jour façon la plus efficace pour protéger vos bitoins (avec les portefeuilles en cold storage). C’est un peut technique, mais concrètement, un portefeuille HD contient une graine initiale (“seed”) à partir de laquelle il sera possible de créer de nombreuses clés toutes dérivantes les unes des autres et organisées en arbres de la façon suivante:

Portefeuille bitcoin
Porefeuille deterministe hierarchique

Ce procédé présente l’énorme avantage de pouvoir créer un nombre presque illimité de clés en partant uniquement de la graine initiale, le tout en étant beaucoup plus sécurisé puisqu’il suffit maintenant de conserver la graine initiale en sécurité (en cold storage par exemple) pour pouvoir recréer, transférer ou importer le portefeuille entier.

Le schema suivant devrait vous permettre de mieux comprendre comment le portefeuille déterministe fonctionne en pratique.

1 – Une graine initiale est un chiffre créé (de 128, 156, 512 bits) à partir d’un générateur de nombre pseudo-aléatoire et soumis à hachage (SHA 512) dont est déduits la clé privée principale et le code de chaine principal. Ce code est créé en vue d’ajouter des données aléatoires pour qu’une chaine secondaire ne soit pas en mesure de retrouver les clés qui lui sont supérieures ou inferieures.

2 – La clé publique principale est déduite de la clé privée principale. Comme vous pouvez le constater la clé publique (principale puis secondaire) et le code de chaine (principal puis secondaire), dont le duo est générallement appelé une “clé étendue” (« extended key »), suffisent pour créer des clés publiques inferieures. Ce procédé est particulièrement utile pour les sites de e-commerce qui reçoivent des payements en bitcoin/satoshi, puisqu’une clé publique sera créée pour chaque transaction à partir de la clé étendue sans pour autant avoir à gérer les clés privées correspondantes.

NOS CONSEILS

  • Crypter votre portefeuille: Il est important d’utiliser un mot de passe suffisamment fort. Choisir un bon mot de passe est une solution nécessaire, mais pas suffisante, qui devra être cumulée avec d’autres moyens de protection tel que ceux proposés ci-dessous.
  • Utilisez tous les moyens de protections proposes par les portefeuille: aujourd’hui presque tous les portefeuilles disponibles proposent une option de double authentification. Il s’agit en fait d’une protection supplémentaire qui consiste à envoyer sur votre téléphone portable un message incluant un code que vous devez inclure sur la page d’accueil du portefeuille pour pouvoir y accéder.
  • Gardez le control de vos clés prives: il est important de ne pas confier à un portefeuille le soin de gérer vos clés privées parce que cela revient àleur confier la sécurité de vos bitcoins. Il est donc recommandé de n’utiliser que des portefeuilles avec lesquels vous conserverez la main mise sur vos clés privées et d’en conserver une majeure partie en “cold storage”.
  • Ne pas réutiliser les même adresses: pour des raisons de sécurité, il est conseille d’utiliser une nouvelle adresse pour chaque nouvelle transactions. Nombreux sont les portefeuilles qui aujourd’hui permette de créer une adresse par transaction (portefeuilleHD)

Il existe de nombreux portefeuilles disponible actuellement disponible. Nous vous proposons un tableau comparatif des échanges que nous considérons les meilleurs:

 

[googlepdf url= »https://www.blockchains-expert.com/wp-content/uploads/2018/01/Wallets-comparison-Charts-2018-FR.pdf » width= »100% » height= »1000″]

 

Introduction au bitcoin et à la technologie blockchain

Tout le monde a entendu parler du bitcoin mais rare sont ceux qui save comment il fonctionne vraiment. Souvent caricaturé par les medias comme une monnaie utilisée par les terroristes et les trafiquants, le bitcoin est pourtant à l’origine d’une veritable revolution qui va changer notre société en profondeur. Ce site vous propose de mieux comprendre cette revolution pour l’anticiper et vous y préparer.

 

LE BITCOIN

Le bitcoin a été créé en 2009 par une personne ou un groupe de personnes connu sous le nom de Satoshi Nakamoto et dont l’identité exacte n’a jamais été révélée.

Le bitcoin est révolutionnaire parce qu’il permet de transférer de la valeur sur internet de manière sécurisée et anonyme. C’est la raison pour laquelle le bitcoin est généralement appelé « espèces numériques ».

Actuelement le transfert de valeur sur internet peut être comparé aux débuts d’internet lorsque vous ne pouviez envoyer un e-mail qu’aux personnes appartenant au même système d’échange d’e-mails. Ainsi les utilisateurs d’AOL, ne pouvaient pas envoyer d’e-mails aux utilisateurs de GEnie et CompuServe, les ancêtres de Yahoo et Gmail. L’apparition du protocol SMTP a permis de relier toutes ces boîtes mails et d’envoyer des e-mails à n’importe qui.

Aujourd’hui pour effectuer un transfer international d’argent, vous devez passez par des banques dont les systèmes internes fonctionnent séparément les uns des autres. Les informations sont transmises en utilisant le réseau internet, mais leurs registres doivent en permanence être mis à jour et parfois encore manuellement ce qui explique la lenteur et le coût élevé de ces transactions.

Bitcoin est le protocol, comparable à SMTP, qui met en relation chaque personne ayant accès à internet et lui permet d’échanger de la valeur instantanément, à l’autre bout de la planète, de manière sécurisé et anonyme. il suffit pour cela d’obtenir un portefeuille et se procurer des bitcoins.

 

Si le protocole Bitcoin est en lui meme parfaitement sécurisé puisqu’il n’a jamais été violé depuis sa creation, il n’en va pas de même des échanges qui permettent d’obtenir ces bitcoins et des portefeuilles qui permettent de les conserver.

 

Ce sont ces derniers dont les failles de sécurité sont generallement exploitées par des hackers qui sont déjà parvenu évoler un nombre important de bitcoins par le passé. Avant de procéder à votre premier achat de bitcoin nous vous conseillons vivement de suivre les procédures simples décrites dans les deux articles “Portefeuille Bitcoin: le guide complet pour conserver vos cryptomonnaies en toute sécurité” et “3 moyens très simples pour aquérir vos bitcoins et cryptomonnaies”.

 

LA BLOCKCHAIN

Mais la technologie qui permet le bitcoin de fonctionner, la blockchain, va avoir des répercutions beaucoup plus profondes sur notre société.

La blockchain est une base de donnée ou plus précisément un registre sur lequelle sont enregistrées les transactions réalisée entre les membres d’un réseau. La grande différence avec les base de données actuelles réside dans le fait que la blockchain est décentralisée et que ce sont les membres du réseau qui la mettent à jours.

Une banque par exemple est également un registre sur lequel sont enregistrés les transactions (dépenses, transferts…) de ses clients. Les clients ont initialement nommés leur banque pour mettre à jour ce registre et donc servir d’intermédiaire de confiance. Aujourd’hui, c’est le réseau qui joue ce rôle d’intermédiaire de confiance. Les créateurs du bitcoin ont en effet trouvé un moyen sécurisé (par des procédés cryptographiques) de mettre à jour le registre du réseau sans intermédiaires. Grâce à cette technologie, la confiance peut donc être transférée d’organismes centralisateurs tels que des banques ou des gouvernements, mais aussi des plateformes telles qu’Amazon, eBay ou UBER, vers les utilisateurs du réseau.

Concrètement, aujourd’hui si vous souhaitez vendre un vélo sur internet, vous allez sur Leboncoin et vous devenez membre en révélant toutes vos informations personnelles et bancaire pour pouvoir déposer une annonce. Avec la blockchain, il n’y a plus de plateforme, vous téléchargez un logiciel que vous installez sur votre ordinateur et qui vous donne accès au réseau sur lequel vous allez pouvoir librement poster vos annonces. C’est exactement comme cela que fonctionne OpenBazaar qui met en relation des personnes souhaitant acheter ou vendre des objets sur internet.

Peut être commencez vous à voir l’immense potentiel que peut offrir les Technologies de Registre Décentralisés (ou « TRD » qui recouvre toutes les technologies liées à la blockchain) dans un monde aussi centralisé que le notre et en pleine explosion de nombre des données à organiser.