Alors que nous assistons actuemellement à un rallentissement du nombre des ICO sur Utility Tokens, nombreux sont les spécialistes qui pensent que la vague qui arrive concernera les Security Tokens et sera beaucoup plus importante. Pourquoi pensent-ils que les Security Tokens vont connaitre un tel succès? C’est ce que nous allons tenter de clarifier en commençant par définir ces deux deux types de jetons.
Utility Tokens
Comme son nom l’indique, les Utility Tokens sont les jetons qui ont une fonction dans le fonctionnement d’un écosystème décentralisé reposant sur une blockchain. Comme nous l’avons déjà évoué en détail dans cet article, ces fonctions sont extrêmement variées à tel point qu’il est difficile de les catégoriser. Leur rôle dans l’écosystème peut être plus ou moins important, mais sans eux le réseau ne devrait pas pouvoir fonctionner.
Sans bitcoin, les membres du réseau ne pourraient pas échanger de la valeur entre eux et les mineurs ne pourraient pas être rémunérés.
Augur
Cette fonction n’est toutefois pas toujours aussi évidente, surtout lorsque les jetons sont émis par des protocoles enregistrés sur une blockchain qui ne leur appartient pas (Ethereum par exemple). Dans ce cas, toute la mécanique de la blockchain est rémunérée en Ether alors que les jetons émis par l’application décentralisée sevent au fonctionnement de l’application. C’est par exemple de cas d’Augur qui utilise les Ether, mais également les REP pour son fonctionnement.
Security Tokens
Les Security Tokens ont pour vocation de digitaliser des biens matériels ou non sans pour autant avoir de fonction dans le développement d’un réseau décentralisé. Ces tokens sont généralement enregistrés dans des smart contrats et vont donc offrir tous les avantages de la blockchain sur internet (sécurité, flexibilité, rapidité de circulation, transparence) aux biens du monde rééls qu’ils soient physiques (tableaux, tickets de concerts…) ou non (musique, films, actifs financiers, titres de propritété, brevets…). Nous allons en fait assister à la tokenisation massive du réel pour en faciliter l’échange sur internet.
La tokenisation d’actions et obligations pourrait par exemple permettre aux entreprises traditionnelles de lever des fonds sans avoir à contracter un emprunt ou réaliser une introduction en bourse. De nombreuses entreprises dont le business model n’a rien à voir avec les technologies liées à la blockchain, organise déjà des ICO pour se financer. Ces titres financiers auraient la forme et donc la flexibilité des tokens, mais offriraient les mêmes types de droits financiers et juridiques que les actions et les obligations traditionnelles. Les entités émettrices de ces jetons peuvent naturellement ajuster les droits juridiques et financiers à leur guise.
La Security and Exchange Commission, le gendarme de la bourse américain, utilise un certain nombres de critères pour déterminer si un token est un Security Token et à ce titre doit être soumis aux mêmes exigences de transparence et d’enregistrement que tous autres actifs financier.
sec
Ces critères sont définis dans le « Howey test ». Le «test de Howey» est un test créé par la Cour suprême pour déterminer si certaines transactions sont qualifiés de «contrats d’investissement», aux termes de la Securities Act de 1933 et de la Securities Exchange Act de 1934. Une actif financier est un contrat d’investissement lorsque les quatres éléments suivants existent:
1. Investissement d’argent 2.Dans une entreprise commune 3.Avec des attentes de bénéfices 4.Pour les efforts des autres
Un certain nombre de créateurs d’ICO ont découvert cette interprétation à leur dépend, voyant les jetons qu’ils ont émis requalifiés en contrat d’investissement. Dans la plupart des cas les règles applicables aux offres publiques d’achat d’actifs financiers, n’avaient pas étét respectées entrainant de lourdes amendes de la part de la SEC. L’exemple de la DAO (Decentralized Autonomous Application) est probablement un de plus retantissant en la matière.
DAO
Les différences entre utility et security tokens
A la difference des Utility Tokens, les Security Tokens constituent une part de propriété du bien qu’ils représentent. Si ce sont des actions, les Security Tokens représentent une part du capital des entreprises qui les émettent.
De leur côté, les Utility Tokens ne confèrent aucun droit de gouvernance sur l’écosystème auxquels ils appartiennent. Ils le peuvent toutefois, lorsque le mode de consensus choisit est le Proof of Stake ou le Delegated Proof of Stake, puisque c’est la détention de jetons qui donne accès aux droits de mintage ou confére un droit de vote pour l’élection de « Witness ». C’est par exemple le cas pour Steemit, Eos ou encore Bitshare.
Une conséquence de ce qui vient d’être dit est que les dividendes ne sont que rarement reversés aux détenteurs de Utility Tokens. Lorsque c’est le cas, comme pour Dash ou Neo, ces dividendes ne sont pas proportionnels aux résultats ou à la capitalisation de l’écosystème.
Enfin, le régime juridique applicable est différent pour les deux types de tokens. Aux Etats-Unis, la SEC exige que les émetteurs de de Security Tokens respectent les mêmes règles que celles qui s’imposent aux actifs financiers entrant des les critères du Howey Test. Il en va différement en France, où le législateur à décidé de créer un régime indépendant pour les Utility et les Security Tokens (voir l’article 26 de la Loi PACTE).
Pourquoi Security Tokens vont connaitre un essort
La question qui se pose par exemple, est celle de savoir pourquoi nous devrions utiliser des Security Tokens plutôt que des Action ou des obligation? Est-ce que des salariés pourrait accepter de recevoir des Security Tokens plutôt que actions?
Dans le monde des start-ups comme dans celui des grand groups, il est très courant que les salariés reçoivent des actions pour compléter un revenu en espèce et aligner l’interet de l’employé sur celui de l’entreprise.
Le problème avec les actions est que leur valeur n’est pas commue tant que l’entreprise ne fait pas l’objet d’une introduction en bourse. Or avec l’accroissement des financement privés ces dernières années, ces opérations s’effectuent de plus en plus tard. A titre d’exemple l’introduction en bourse de Drop Box est survenue 13 ans après sa création. Durant toute cette période les employés qui disposaient d’actions ne pouvaient pas les revendre sur un échange reglementé.
C’est ce problème de liquidité que les tokens peuvent résoudre et probablement revolutionner la façon dont les salariés sont rémunérés. Lister un token sur un échange est en effet beaucoup plus simple et dans certains cas presqu’instantané. Le prestige et les exigences des échanges de crypto varie beaucoup, mais si on souhaite lister un token sur un échange tel que Liqui et les mettre en vente, c’est possible.
Les tokens vont donc permettre de fluidifier le payement des salariés en intéressement. C’est en tout cas le pari que font certaines start-up, telle que Quidli. Quidli est en effet une start-up française supportée par Consensis, dont l’objectif est de proposer aux entreprises traditionnelles des solutions pour tokeniser leurs actifs en vue d’en faciliter la circulation.
Quidli
De ce point de vue, les Security Tokens apparaissent comme un excellent moyen pour lever des fonds et les répartir entre les employés de l’entreprise.
Un autre avantage non négligeable des Security Tokens réside dans la possibilité de les valoriser en utilisant les outils de valorisation traditionnellement utilisés pour les actions et les obligations. Dans un précédent article, nous avions évoqué la complexité de la valorisation des utility tokens en raison de la nouveauté et de la diversité de leur business models. Ce problèmes n’existe pas avec les Security Tokens, ce qui les rends beaucoup plus sûr et facile à commercialiser. Il faut toutefois préciser que le prix des Utility tokens sera déterminée sur les échanges de crypto comme pour les Utility Tokens, selon les lois de l’offre et de la demande, mais ils sera possible d’estimer avec beaucoup plus de précision s’ils sont sur ou sous-valorisés.
Bien sûr, il ne s’agit là que d’un exemple et cette logique pourra s’appliquer à l’ensemble des biens existant, les opportunités sont donc illimitées.
The Hyperledger project was initiated in 2015 by the Linux Foundation, a group of members from different industries and a community of developers to meet the application needs.
IBM was one of the first members. The project now has more than 200 members, an active structure (« Fabric ») and 7 other projects under development. Hyperledger is an open source and open governance project that offers its members a technological structure to develop a project based on a blockchain (protocol, blockchain and smart contracts). It also offers an environment and the tools necessary to develop the project and put in relation to the different parts of the project.
The objective is to set up an open source and inter-industries platform to develop blockchain-based projects and enable them to experiment quickly. Hyperledger offers 5 structures (Fabric, Sawtooth, Indy, Iroha and Burrow) and 4 tools to facilitate the development of applications are currently in development (Cello, Quilt Composer and Explorer). Hyperledger goes further than Bitcoin and Ethereum by proposing to align the protocol with the very practical needs of applications developed by companies. Hyperledger Fabric.
HYPERLEDGER FABRIC SERVICES
One of the main features of Hyperldger Fabric is its flexibility. Its goal is to allow the most interaction between hyperledger members while being closer to their operational needs. Hyperledger offers four types of services: Identity Services, Policy Services, Blockchain Services, Smart Contract Services.
Hyperledger-architecture
– Identity Services: as its name indicates this service allows to manage the identity of the members of the network.
– Blockchain Services: this service manages the issues related to the peer-to-peer communication protocol, the state of the blockchain, the consensus algorithm used by the consensus mechanism.
– Smart Contract services: provides an execution environment for Chaincode. This service is only available to « full nodes » also known as « validating nodes. » This service also includes secure containers (« secured containers ») corresponding to the Ethereum Virtual Machine (« EVM ») used for the execution of Chaincodes. The applications communicate with each of these services through APIs. CLI is an interface used to invoke these APIs.
MODELS AND FUNCTIONS OF HYPERLEDGER FABRIC
The Hyperledger Fabric model is made up of many elements that we will describe individually:
hyperledger
1- Members (« Peers »): « Peers » are members of the network who initiate transactions and maintain the status of the blockchain. There are three types of members: the Endorsers Peers or Endorsers have the mission to receive, validate and sign the transactions they receive and return them to the application that created them. « Ordering services » have the task of collecting the transactions that have been validated, adding them to the blocks and sending them to the « Committing Peers ». These check that the transactions have not been completed several times and the signature and add them to the blockchain.
2 – Assets: assets represent tangible or intangible assets that are represented on the blockchain and traded over the network, such as financial securities or food. These properties are formalized on Hyperledger in « <key.value> » in a Json file.
3 –Chaincode: these are the smart contracts used on Hyperledger. Their function is to define the assets that we must evoke by organizing their storage, as well as the functions that make it possible to act on these assets and change their state. Smart contracts can also include application-specific policies and policies.
4 – Ledger: the blockchain used by Hyperledger is the same as the other blockchain, that is to say, a register which marks in time the changes of transactions or state of the blockchain. The state changes on the blockchain are initiated by the Chaincode functions itself powered by transactions sent by network members. This operation is not very different from that used by Ethereum. A <key-value> is attached to each transaction which makes the blockchain a storage register for <key-values>.
5 – Channels: these channels offer the possibility of using « Fabric » privately and confidentially, ie only by members who have been shortlisted and on a private blockchain. However, it is possible to make transactions between different channels through Chaincode cross-links according to the rules determined in the Chaincode.
6 – Membership: Unlike public blockchains like bitcoin that are open to all, the blockchains used by Hyperledger are private and therefore imply that the identity of all members is known. The identié of « Peer Nodes », « Client Applications », « Business Entities » and « Administrators » is digitally established through an X.509 certificate. These certificates contain the role of each of the entities and their level of access to the information contained on the blockchain.
7- Consensus method: the consensus mode is the technique used by the members of the network to decide which block of transaction will be next to be added to the blockchain and by which member. Verification of the order and validity of transactions is part of the consensus mechanism.
Hyperledger has a significant advantage in this regard. The fact that the members of the network can choose between different methods of consensus. As we have already mentioned in our article on the differences between public and private blockchains, the mode of consensus depends on the level of trust between the members of the network. The more confidence there is, the more the consensus mode can be light. Indeed the mode of consensus ensures the security of the network, so it is normal that a network on which members do not know each other adopts a more secure mode of consensus (like the mechanism of the Proof of Work for example).
In the case of Hyperledger, the members of the network know each other, so the chosen consensus mode may be less secure (such as PBFT, « round robin policy » or « Simple Consensus »). Of course, it is also possible to use the Proof of Work mechanism with Hyperledger.
HYPERLEDGER FABRIC FUNCTIONALITIES
Hyperledger Fabric first offers the ability to use a blockchain and set it to match the needs of network members. Fabric allows to set up private blockchain and to assure the confidentiality of the transactions realized between the members.
It is also possible not to reveal the identity of the members who joined the network. Fabric then segregates the created blockchains, one from the other, while allowing the exchange of information between them using Chaincodes.
Hyperledger thus offers an extremely efficient and flexible development environment for creating a blockchain-based network.
Le projet Hyperledger a été initié par la fondation Linux en 2015 et par un groupe de membres venant de différentes industries et une communauté de développeurs en vue de repondre aux besoins d’application.
IBM fut l’un des premiers membres. Le projet compte maintenant plus de 200 membres, dispose d’une strucutre active (« Fabric ») et de 7 autres projets en développement.
Hyperledger est un projet open source et open gouverance qui offre à ses membres une structure technologique pour developper un projet reposant sur une blockchain (le protocole, la blockchain et les smart contracts) mais également un environnement et les outils nécessaires pour développer le projet et mettre en relation les differentes parties au projet.
L’objectif est de mettre en place une plateforme open source et interindustries pour developper des projets reposant sur une blockchain pour leur permettre une experimentation rapide.
Hyperledger propose 5 structures (Fabric, Sawtooth, Indy, Iroha et Burrow) et 4 outils pour faciliter le developpement des applications sont actuellement en developpement (Cello, Quilt Composer and Explorer).
Hyperledger va plus loin que Bitcoin et Ethereum en proposant d’alligner le protocole sur les besoins très concrets des applications développées par les entreprises. Hyperledger Fabric
Bitcoin
Ethereum
Hyperledger
Token
Bitcoin
Ether
Non
Smart Contract
Non
Oui Smart Contracts
oui Chain Code
Type de Blockchain
Publique
Publique
Publique/ Privée
Méthode de Consensus
Proof of Work
Proof of Work
Publique/ Privée
LES SERVICES D’HYPERLEDGER FABRIC
Une des principales caractéristique d’Hyperldger Fabric est sa flexibilité. Son objectif est de permettre le plus d’interaction entre les membres d’hyperledger tout en étant au plus proche de leur besoins opérationnels.
Hyperledger offre quatre types de services: Identity services, Policy Services, Blockchain Services, Smart Contract services.
Hyperledger-architecture
– Identity Services: comme son nom l’indique ce service permet de gèrer l’identité des parties membres du réseau.
– Policy Services: gère les questions d’accès au réseau, de confidentialité, les règles du consortium ainsi que les règle de consensus.
– Blockchain Services: ce service gère les questions liées au protocol de communication de pair à pair, l’état de la blockchain, l’algorythm de consensus utilisé par le mécanisme de consensus.
– Smart Contract services: offre un environnement d’execution pour les Chaincode. Ce service est seulement disponible pour les « membres entiers (« full nodes ») aussi connus sous le nom de « membres validateurs » (« Validating noeds »). Ce service inclus également les compartiments sécurisés (« secured containers ») correspondant à la Machine Virtuelle Ethereum (« Ethereum Virtual Machine » ou « EVM ») servant à l’execution des Chaincodes.
Les applications communiquent avec chacun de ces services à travers des API. CLI est une interface utilisée pour invoquer ces API.
LES MODELS AND FUNCTIONS D’HYPERLEDGER FABRIC
Le modèle d’Hyperledger Fabric est consititué de nombreux éléments que nous allons décrire individuellement:
hyperledger
1- Les Membres (« Peers »): Les « Peers » sont des membres du réseau qui initient les transactions et tiennent à jour l’état de la blockchain. Il y a trois types de membres. les « Endorsing Peers » ou « Endorsers » ont pour mission de recevoir, valider et signer les transactions qu’ils recoivent et de les retourner à l’application qui les a créés. « Ordering services » ont pour mission de collecter les transactions qui ont été validées, de la ajouter dans les blocks et de les envoyer au « Commiting Peers ». Ces derniers, vérifient que les transactions n’ont pas été réalisées plusieurs fois ainsi que la signature et les ajoutentent à la blockchain.
2 – Assets: les actifs representent les biens tangibles ou intangibles qui sont représentés sur la blockchain et échangés sur le reseau, tels que des titres financiers ou de la nourriture. Ces biens sont formalisé sur Hyperledger en « <key.value> » dans un Json file.
3 – Chaincode: ce sont les smart contracts utilisés sur Hyperledger. Ils ont pour fonction de définir les actifs que nous devons d’évoquer en organisant leur stockage, ainsi que les fonctions qui permettent d’agir sur ces actifs et changer leur état.
Les smart contracts peuvent également inclure les règles et politiques specifiques aux applications.
4 – Ledger: la blockchain utilisée par Hyperledger est la même que les autres blockchain, c’est à dire un registre qui marque dans le temps les changements de transactions ou d’état de la blockchain. Les changements d’état sur la blockchain sont initiés par les fonctions des Chaincode elle-même actionnées par des transactions envoyées par les membres du réseau. Ce fonctionnement n’est pas très different de celui utilisé par Ethereum.
Une <key-value> est attachée à chaque transaction ce qui fait demla blockchain un registre de stockage des <key-value>.
5 – Channels: ces cannaux offrent la possibilité d’utiliser « Fabric » de manière privative et confidentielle, c’est à dire uniquement par les membres qui auront été présélectionnés et sur une blockchain privée. Il est toutefois possible de réaliser des transactions entre différents cannaux grâce à des cross chain Chaincode selon les règles déterminées dans le Chaincode.
6 – Membership: A la différence des blockchain publiques comme le bitcoin qui sont ouvertes à tous, les blockchains utilisées par Hyperledger sont privées et impliquent donc que l’idéntité de tous les membres soit connue. L’identié des « Peer Nodes », des « Client Applications », des « Business Entities » et des « Administrateurs » est établie digitalement à travers un certificat X.509.
Ces certificats contiennent le rôle de chacune des entités et leur niveau d’accès aux informations contenues sur la blockchain.
7- Consensus method: le mode de consensus est la technique utilisée par les membres du réseau pour decider quel block de transaction sera le prochain à être ajouté à la blockchain et par quel membre. La vérification de l’ordre et de la validité des transactions fait parti du mechanisme de consensus.
Hyperledger présente un avantage important à cet égard. Le fait pour le membres du réseau de pouvoir choisir entre différentes methodes de consensus.
Comme nous l’avons déjà évoqué dans notre article sur les différences entre blockchains publiques et privées, le mode de consensus dépend du niveau de confiance qu’il y a entre les membres du réseau. Plus il y a de confiance, plus le mode de consensus peut être léger. En effet le mode de consensus assure la sécurité du réseau, il est donc normal qu’un réseau sur lequel les membres ne se connaissent pas adopte un mode de consensus plus sécurisé (comme le mécanisme du Proof of Work par exemple).
Dans le cas d’Hyperledger, les membres du reseau se connaissent, le mode de consensus choisis peuvent donc être moins sécurisé (tel que PBFT, « round robin policy » ou encore « Simple Consensus »). Evidement, il est également possible d’utiliser le mécanisme du Proof of Work avec Hyperledger.
LES FONCTIONNALITES D’HYPERLEDGER FABRIC
Hyperledger Fabric offre d’abord la possibilité d’utiliser une blockchain et de la paramétrer pour qu’elle corresponde aux besoins des membres du réseau. Fabric permet de mettre en place des blochchain privées et d’assurer la confidentialité des transactions réalisées entre les membres. Il est également possible de ne pas révéler l’identité des membres qui ont rejoint le réseau.
Fabric permet ensuite de ségréguer les blockchain crées, les une par rapport aux autres, tout en permettant l’échange d’informations entre elles à l’aide e Chaincodes.
Hyperledger offre donc un environnement de développement extrêmement efficace et flexible pour créer un réseau reposant sur une blockchain.
Aucun business n’évolue en vase clos. Les entreprises se développent en relations avec d’autres organisations, qu’elles soient sociales, commerciales ou gouvernementales.
L’objet d’une entreprise est de créer de la valeur. Or une entreprise va créer de la valeur en faisant circuler des biens ou des services à travers ce réseau.
Les biens concernés peuvent être de deux natures: tangibles ou intangibles.
Les biens tangibles sont tous les biens matériels que vous pouvez toucher: un voiture, une maison, un DVD, une pièce de monnaie.
A l’inverse, les actifs intangibles sont immatériels. Ce sont par exemple, la musique, les films, les actifs financiers, les brevets, les titre de propriété ou d’identité. Avec la digitalisation de nos sociétés, la liste est aujourd’hui presqu’infinie.
Les registres ont pour mission d’enregistrer le transfert de ces biens d’une organisation à une autre. Lorsque qu’un bien est transféré entre deux organisations, ces deux dernières mettent à jour leurs registres. Par exemple lorsqu’une société transfert un bien immobilier à une autre société, les deux sociétés vont refléter la vente dans leur bilan. De même, l’administration va mettre à jour ses différents registres (fiscaux, de la propriété immobilière…), ou encore les banques qui vont transférer une somme d’argent du compte de la première société vers la seconde.
Le fait que chaque entité du réseau détient son propre registre et son propre processus pour le mettre à jour entraine de nombreux inconvénients. C’est d’abord inefficace, puisque l’action est répliquée par tous les membres séparément. C’est ensuite très cher, puisque chaque membre du réseau doit consacrer un nombre d’heure et donc de moyen important pour mettre à jour ces registres. C’est enfin risqué puisque chaque membre du réseau doit assurer seul la sécurité de ses systèmes.
Si le réseau utilise la blockchain, il existe un seul registre. Chaque membre dispose d’une copie du registre général qui est mis à jour simultanément à chaque fois qu’un block est ajouté à la blockchain. Le réseau dispose donc d’un seul et même système, ce qui engendre des gains de temps et des économies d’échelles importantes.
Les différents avantages de la blockchain :
Décentralisée: La blockchain est une base de données décentralisée. Autrement dit tous les membres du réseau disposent d’une copie de la blockchain dans leur systèmes. Cette caractéristique permet d’abord d’organiser et de faciliter l’accès de tous les membres à une information toujours identique pour tous ce qui permet d’augmenter la confiance entre les membres. Cette caractéristique assure aussi la sécurité de cette dernière puisque pour la modifier ou la faire disparaître, il faut que toutes les bases de données de tous les membres soient également modifiées ou annulées
Immutabilité: Une fois que les transactions sont ajoutées à la blockchain, il n’est pas possible de revenir dessus. Le fait qu’on ne puisse pas revenir sur les transactions réalisées ajoute de la confiance entre les membres du réseau.
Chronologique: Les blocks sont ajoutés les uns à la suite des autres sans qu’il soit possible de changer leur ordre d’ajout. Cette caractéristique permet de garder un historique de l’ajout des transactions à la blockchain et ainsi résoudre facilement les éventuels conflits entres les membres du réseau.
Instantanéité: Les transactions sont signée et ajoutées à la base de données presqu’instantanément ce qui, dans un grand nombre de cas, est un gain de temps et de dépenses opérationnelles important.
Finalité: signifie que deux transactions ne peuvent être ajoutées en même temps dans deux blocks différents. Cette caractéristique qui n’est pas propre essentiellement aux blockchains privées permet d’assurer l’absence de conflit entre les différents membres du réseau.
Bitcoin
DIFFERENCES AVEC LE BITCOIN
Les blockchains utilisées pour les entreprises sont différentes de celle sur laquelle repose le bitcoin.
Il est important de comprendre que le bitcoin est une cryptomonnaie qui fonctionne en utilisant une blockchain publique, c’est-à-dire ouverte à tous.
Les entreprises utilisent des blockchains privées ou de consortium. Ces dernières proposent quatre différences majeures:
Membres: les membres de la blockchain sont choisis. Les blockchains privées et de consortium ne sont pas ouvertes à tous, les membres sont tous choisis et leur identité est donc connue. Cet élément est essentiel parce qu’il va permettre d’appliquer à ce blockchain des procédures de sécurité beaucoup plus légère et efficace que pour les blockchain publique dans lesquelles les membres ne se connaissent pas. Des mécanismes de consensus tel que le « Pratical Byzantine Fault Tolerance» pourront ainsi remplacer les mécanismes très lourds du « Proof of Work ».
Privées: il est d’abord possible de rendre privé certaines transactions. Sur une blockchain publique, toutes les transactions sont accessibles à tous, même si l’identité des membres n’est pas directement accessible puisqu’ils sont représentés par leur adresse publique. Dans les blockchain privées, il est possible de paramétrer pour que les membres voient seulement les transactions qui les concernent.
Consensus: les personnes en charges d’ajouter les blocks à la blockchain sont choisis et identifiés. Dans les blockchains publique telle que le bitcoin ou Ethereum, tous les membres peuvent participer au processus de consensus sans être sélectionné.
Smart Contracts: les smart contrats ne sont pas propres aux blockchains privées. Ethereum par exemple est une blockchain publique sur laquelle sont déployés des smart contracts. Dans les réseaux d’entreprises reposant sur une blockchain privée ou de consortium, les smart contrats servent à échanger des logiques de business.
Private blockchain
POURQUOI LA BLOCKCHAIN EST PERTINENTE POUR LES ENTREPRISES ?
Au regard de ces éléments, quels sont donc les bénéfices de la blockchain:
– Gains de temps: le fait que les transactions soient ajoutées à la blockchain de manière instantanée par tous les membres du réseau en même temps, peut réellement impacter la vitesse des transactions entre les membres de ce même réseau. Par exemple une lettre de crédit peut mettre plusieurs jours à établir. Avec une blockchain, elle serait échangée immédiatement.
– Gains en argent: tous les membres mettent à jour la blockchain en même temps, autrement dit ils s’accordent tous sur l’état du registre qu’ils partagent. Cela évite l’utilisation d’audits interne mais aussi externe, pour chacun des membres du réseau.
– Limite les risques: D’abord parce que le registre est décentralisé, ce qui implique que tous les membres du réseau disposent d’une copie. Cet aspect rend les blockchains plus résistantes aux risques de cyber attaques. A cela s’ajoute le fait que les blockchain sont protégées par les mécanismes cryptographiques très solides.
D’autres parts, il n’existe plus qu’un registre partagé et non un registre différent pour chaque membre, ce qui limite considérablement les risques de divergences entre les différents registres.
– Augmente la confiance entre les membres du réseau, puisque ces derniers sont constamment en accord sur l’état des transactions qu’ils réalisent entre eux.
blockchain
EXEMPLES
Bases de données partagées
Ce type de projet peut être un bon moyen pour commencer à créer un réseau d’organisation autour d’une base de donnée partagée.
Chacun des membres conserve ses systèmes actuels, mais ajoute des informations à la blockchain directement ou à travers une tierce partie.
Chaque membre du réseau contrôle les personnes qui peuvent avoir accès à ces données. Les configurations sont multiples. Ces données peuvent être contenues dans un seul set ou dans plusieurs sous-groupes. Un sous-groupe pour chaque membre par exemple.
Ces bases de données partagées permettent de rassembler toutes les informations qu’un réseau souhaite mettre en commun de manière sécurisée et très efficace. Cela permet aux membres du réseau d’accéder à ces données en temps réel.
Chaines d’approvisionnement
La chaine d’approvionnement des pièces d’un airbus est un excellent exemple d’une organisation inter-industrie dans laquelle la blockchain apporte de la valeur ajoutée.
Cette organisation permet d’enregistrer sur la blockchain toutes les pièces et leurs origines, le programme qui les a créé, ainsi que leur remplacement. Autrement dit la blockchain offre une base de données centralisée de tous les éléments constitutifs d’un avion ainsi que le moment auquel ils ont été ajoutées à l’appareil.
Cette base de données est donc une preuve de l’origine des pièces, de la façon dont elles ont été fabriquées et de leur parcours d’assemblage. Cela permet de détecter immédiatement les pièces endommagées et en déduire l’origine du problème.
Il est également possible d’imaginer que dans un futur proche des smart contracts commanderont automatiquement les pièces manquantes.
Ce qui fonctionne pour un environnement complexe comme celui de l’assemblage d’un avion, fonctionne également à plus petite échelle. Par exemple, il est probable que tous les aliments présents dans votre réfrigérateur soient bientôt enregistrés et tracés sur la une blockchain. De la même manière, des smart contracts pourront automatiquement recommander des aliments lorsque ceux-ci auront été consommés.
EVERLEDGER est un exemple de chaine d’approvionnement reposant sur une blockchain. Celle-ci vise à éviter toute pollution de la chaine d’approvionnement de diamants, par des diamants issus de marchés parallèles.
Audit
Certaines institutions (banque ou foncière) peuvent avoir un intérêt à inclure tout leur portefeuille de propriété sur une blockchain, pour assurer que la valorisation de ce dernier soit accessible par toutes les parties y ayant intérêt et ce de manière sécurisée.
La blockchain offre ici la possibilité d’avoir une vue en temps réel de tout le portefeuille et de sa valorisation ce qui encourage les gérant à mieux le gérer et en appréhender les risques.
La blockchain est alimentée en transactions par les différents systèmes de l’organisation. Cette dernière dispose donc d’un registre chronologie et infalsifiable ce qui facilite considérablement l’audit interne et permet des gains de temps et d’argent importants.
Lettre de Crédit
Elles sont indispensables pour les échanges internationaux. Elles existent depuis toujours, mais comme nous l’avons déjà évoqué, elles sont souvent complexes à mettre en oeuvre. La blockchain permet de remplacer le processus de signature qui prend généralement plusieurs jours, par un échange des consentements quasi simultané. On peut par exemple imaginer que l’élément déclencheur de la lettre de crédit soit la signature électronique de la douane qui aurait scanné une puce RFID attachée au bien transporté.
COMMENCER AVEC LA BLOCKCHAIN
LA BLOCKCHAIN est encore une technologie émergeante. Il est en fait difficile de se familiariser avec la technologie et trouver une utilisation réellement utile de la blockchain. C’est pourquoi, il est recommandé de commencer par des projets simples et faciles à mettre en oeuvre pour pouvoir progresser vers des projets plus complexes. Les projets suivants peuvent donner une idée de progression:
1 – Un registre de conformité: créer une base de donnée partagée permettant d’avoir une vue en temps réel de l’ensemble des données tout en bénéficiant des avantages de la blockchain: immutabilité, finalité, chronologie, sécurité. Ces propriétés permettent de faciliter l’accès aux données par les différentes parties intéressées: auditeurs, business, régulateur. Notez que cette première étape peut être réalisée au niveau d’une seule entreprise.
2 – Un registre partagé par un Consortium: l’étape suivante consiste a étendre la base de données au delà de l’entreprise. L’idée est en effet d’inclure certains membres de l’industrie dans laquelle nous nous situons en vue de faciliter les échanges ainsi que la mise en commun des registres.
3 –Echange d’actifs: durant cette étape, les membres du consortium commencent à échanger des actifs à travers des smart contracts. Ces actifs ne sont à ce stade que des informations.
4 –Création d’un marché: échange d’actifs entre les membres du marché.
No business evolves in a vacuum. Companies develop relationships with other organizations, whether social, commercial or governmental.
The purpose of a business is to create value. But a company will create value by circulating goods or services through this network.
The goods concerned can be of two natures: tangible or intangible.
Tangible goods are all the material goods that you can touch: a car, a house, a DVD, a coin.
In contrast, intangible assets are immaterial. For example, music, films, financial assets, patents, title deeds or identity. With the digitization of our societies, the list is now almost infinite.
Ledgers are responsible for recording the transfer of these goods from one organization to another. When a property is transferred between two organizations, the latter two update their records. For example, when a company transfers real estate to another company, both companies will reflect the sale on their balance sheet. Similarly, the administration will update its various registers (tax, real estate …), or the banks that will transfer a sum of money from the account of the first company to the second.
The fact that each network entity has its own registry and its own process to update it has many disadvantages. It is initially inefficient since the action is replicated by all members separately. It is then very expensive since each member of the network must devote a number of hours and therefore important means to update these registers. It is finally risky since each member of the network must ensure the security of his systems alone.
If the network uses the blockchain, there is only one register. Each member has a copy of the general ledger that is updated simultaneously each time a block is added to the blockchain. The network, therefore, has a single system, which results in significant time savings and economies of scale.
The different advantages of the blockchain:
– Decentralized: The blockchain is a decentralized database. In other words, all members of the network have a copy of the blockchain in their systems. This feature makes it possible to organize and facilitate the access of all members to information that is always the same for everyone, which increases trust between members. This feature also ensures the security of the latter since to change or remove it, it is necessary that all databases of all members are also changed or canceled.
– Immutability: Once the transactions are added to the blockchain, it is not possible to return to it. The fact that we cannot go back on the transactions adds trust between the members of the network.
– Chronological: The blocks are added one after the other without it being possible to change their order of addition. This feature allows you to keep a history of adding transactions to the blockchain and easily resolve any conflicts between network members.
– Instantaneity: Transactions are signed and added to the database almost instantaneously which, in a large number of cases, saves time and significant operational expenses.
– Finality: means that two transactions cannot be added at the same time to two different blocks. This characteristic, which is not specific to private blockchains, ensures that there is no conflict between the different members of the network.
Bitcoin
DIFFERENCES WITH BITCOIN
The blockchains used for businesses are different from the one on which bitcoin is based.
It is important to understand that bitcoin is a cryptocurrency that works by using a public blockchain, that is to say open to all.
Companies use private blockchains or consortium. The latter propose four major differences:
– Members: members of the blockchain are chosen. Private and consortium blockchains are not open to all, members are chosen and their identity is known. This element is essential because it will allow to apply to the blockchain much lighter and more efficient security procedures than for public blockchain in which the members do not know each other. Consensus mechanisms such as « Pratical Byzantine Fault Tolerance » will be able to replace the very heavy mechanisms of the « Proof of Work« .
– Private: it is first possible to make private certain transactions. On a public blockchain, all transactions are accessible to everyone, even if the members’ identity is not directly accessible because they are represented by their public address. In private blockchain, it is possible to programme the blockchain so that members only see the transactions that affect them.
– Consensus: the people in charge of adding the blocks to the blockchain are chosen and identified. In public blockchains such as bitcoin or Ethereum, all members can participate in the consensus process without being selected.
– Smart Contracts: smart contracts are not unique to private blockchains. Ethereum for example is a public blockchain on which smart contracts are deployed. In business networks based on a private blockchain or consortium, smart contracts are used to exchange business logic.
Private blockchain
WHY IS BLOCKCHAIN RELEVANT TO BUSINESS?
Given these elements, what are the benefits of blockchain:
– Time Savings: The fact that transactions are instantly added to the blockchain by all members of the network at the same time, can really impact the speed of transactions between members of the same network. For example, a letter of credit can take several days to establish. With a blockchain, it would be exchanged immediately.
– Money Gains: All members update the blockchain at the same time, in other words they all agree on the state of the register they share. This avoids the use of internal and external audits for each network member.
– Limits the risks: Firstly because the registry is decentralized, which implies that all members of the network have a copy. This aspect makes the blockchains more resistant to the risks of cyber attacks. Added to this is the fact that blockchains are protected by very strong cryptographic mechanisms.
On the other hand, there is only one shared register and not a different register for each member, which considerably limits the risk of discrepancies between the different registers.
– Increases trust between the members of the network, since they are constantly in agreement on the state of the transactions that they realize between them.
EXAMPLES
Shared databases
This type of project can be a good way to start creating an organization network around a shared database.
Each member retains their current systems, but adds information to the blockchain directly or through a third party.
Each network member controls who can access this data. The configurations are multiple. These data can be contained in a single set or in several subgroups. A subgroup for each member for example.
These shared databases make it possible to gather all the information that a network wishes to share in a secure and very efficient way. This allows network members to access this data in real time.
Supply chains
The airbus parts supply chain is an excellent example of an inter-industry organization in which blockchain adds value.
This organization allows to save on the blockchain all the parts and their origins, the program that created them, and their replacement. In other words, the blockchain offers a centralized database of all the constituent elements of an aircraft as well as the moment at which they were added to the aircraft.
This database is therefore a proof of the origin of the parts, the way they were made and their assembly process. This makes it possible to immediately detect the damaged parts and to deduce the origin of the problem.
It is also possible to imagine that in the near future smart contracts will automatically order the missing parts.
What works for a complex environment like the assembly of an airplane also works on a smaller scale. For example, it is likely that all the foods in your refrigerator will be soon saved and plotted on a blockchain. In the same way, smart contracts can automatically recommend food when it has been consumed.
EVERLEDGER is an example of a supply chain based on a blockchain. It aims to avoid any pollution of the diamond supply chain by diamonds from parallel markets.
Audit
Some institutions (bank or real estate) may have an interest in including all their property portfolio on a blockchain, to ensure that the valuation of the latter is accessible by all parties with interest and in a secure manner.
The blockchain offers here the possibility to have a real-time view of the entire portfolio and its valuation which encourages managers to better manage it and understand the risks.
The blockchain is powered by transactions by the different systems of the organization. The latter therefore has a chronology and tamper-proof log which greatly facilitates the internal audit and saves time and money.
Letter of credit
They are indispensable for international exchanges. They have always existed, but as we have already mentioned, they are often complex to implement. The blockchain allows to replace the signature process, which usually takes several days, by an exchange of consents almost simultaneous. For example, the triggering element of the letter of credit could be the electronic signature of the customs officer who scanned an RFID chip attached to the goods being transported.
Blockchain
START WITH BLOCKCHAIN
Blockchain is still an emerging technology. It’s actually hard to get used to the technology and find a really useful use of the blockchain. Therefore, it is recommended to start with simple and easy-to-implement projects to move towards more complex projects. The following projects can give an idea of progression:
1 – A compliance register: create a shared database allowing to have a real time view of all data while enjoying the benefits of the blockchain: immutability, purpose, timeline, security. These properties make it easier to access data by the various interested parties: auditors, business, regulator. Note that this first step can be done at a single company level.
2 – A shared registry by a Consortium: the next step is to extend the database beyond the enterprise. The idea is to include certain members of the industry in which we are located in order to facilitate exchanges and the sharing of registers.
3 – Exchange of assets: during this stage, the consortium members start exchanging assets through smart contracts. These assets are at this stage only information.
4 – Creation of a market: exchange of assets between the members
Courant septembre 2018, l’Assemblée Nationale a étudié le projet de Loi PACTE dont l’article 26 est dédié aux ICO.
Cette loi se situe dans le prolongement de L’ordonnance du 8 décembre 2017 prise en application de la loi du 9 décembre 2016 (loi Sapin II) qui propose de modifier le Code monétaire et financier et le Code de commerce pour permettre la transmission et la représentation de titres financiers au moyen de « dispositifs d’enregistrement électroniques partagés ». En d’autres termes le législateur permet de transmettre des actifs non côtés sur une blockchain, ce qui confère à cette dernière une crédibilité importante en terme de preuve.
La loi PACTE met en place un régime visant à protéger les investisseurs sans trop restreindre la créativité des entrepreneurs. Le législateur a donc imaginé un système de label qui serait attribué par l’Autorité des Marché Financiers (l’AMF) à la suite d’une analyse du projet d’ICO. Comme tout label, il n’est pas obligatoire. En d’autres termes, l’idée est d’orienter les investisseurs vers les ICO qui bénéficieront du Visa de l’AMF et de les mettre en garde contre les projets qui n’auront pas souhaité postuler.
Le projet de loi commence par définir les jetons et les ICO:
Le projet de loi prévoit d’introduire un article L552-2 au Code Monétaire et Financier qui commence par définir ce qu’est un jeton :
« Art. L. 552-2. du CMF– Aux fins du présent chapitre, constitue un jeton tout bien incorporel représentant, sous forme numérique, un ou plusieurs droits, pouvant être émis, inscrits, conservés ou transférés au moyen d’un dispositif d’enregistrement électronique partagé permettant d’identifier, directement ou indirectement, le propriétaire dudit bien ».
ICO
La loi acte donc le fait que les jetons sont des « biens incorporels » ce qui implique que le propriétaire des jetons soit identifiable. Ce choix du législateur est étonnant par ce que les ERC20 Tokens qui sont de loin les plus utilisés pour les ICO, sont fongibles c’est-à-dire qu’ils ne sont pas nominatifs (à l’inverse des jetons ERC 721 par exemple).
Les jetons n’ont pas été qualifiés de « valeurs mobilières » comme c’est le cas dans d’autres pays et notamment les Etats-Unis. Le législateur a donc tranché pour un régime spécifique aux ICO qui sera différent de celui des IPO.
Le projet de loi définit également ce qu’est une ICO:
« Art. L. 552-3. du CMF– Une offre au public de jetons consiste à proposer au public, sous quelque forme que ce soit, de souscrire à ces jetons. Ne constitue pas une offre au public de jetons l’offre de jetons ouverte à la souscription par un nombre limité de personnes, fixé par le règlement général de l’Autorité des marchés financiers, agissant pour compte propre ».
L’AMF devra déterminer le nombre de personnes au-delà duquel un projet devient une ICO. Cette distinction est également étonnante dans la mesure ou une ICO est par définition publique. Le législateur a souhaiter laisser une place à des formes d’appels d’offres réservés à un certain nombre de personnes ou d’organisation, un peu comme les SAFT (Single Agreement for Future Tokens) le font aux Etats-Unis.
Champs d’application de la loi
La loi s’applique à «toute personne morale établie en France, qui, directement ou indirectement, propose au public de financer un projet ou une activité en contrepartie de l’attribution de jetons ».
La loi s’est limitée aux cas où la personne morale sollicite un visa de l’AMF. Il ne s’agit pas d’une déclaration obligatoire à l’AMF, mais d’un avis décerné sur demande. Le visa de L’AMF à pour objet de protéger les investisseurs en amont et en aval de l’investissement. En Amont, l’AMF s’assure que le document d’information fourni suffisamment d’information aux investisseurs (à déterminer par l’AMF). En aval, l’AMF vérifie que le processus d’investissement dans une ICO est sécurisé et transparent à travers la mise en place d’un compte de gage pour l’envoie des fonds et de procédure de récupération des fonds clairement établies.
Ce processus de sélection de l’AMF aboutira à la création d’une « Liste Blanche », c’est à dire une liste des entités dont le projet aura été validé par l’AMF, dontr l’objet est d’orienter les investisseurs qui demeurent libre d’invetir dans les projets non homologués.
Crypto Exchanges
AMENDEMENT N°2492
Si l’amendement est adopté (d’ici fin 2018), une nouvelle catégorie de fournisseurs de services d’investissement serait ajoutée au CMF: Les « Prestataires de services sur actifs numériques ».
Ces prestataires seront soumis soit à un enregistrement obligatoire soit facultatif. D’autre part, la définition de Crypto actifs englobe non seulement les jetons émis par les ICO, mais également tous les actifs cryptographiques, y compris les crypto-monnaies. Cette définition large des actifs cryptographiques est similaire, mais pas identique, à celle introduite par l’arrêté n ° 2016-1635 du 1er décembre 2016, qui visait à soumettre les intermédiaires crypto-actifs aux exigences de la réglementation Lutte contre le Blanchiment de Capitaux/Financement du Terrorisme LBC / FT.
1er Régime: l’enregistrement obligatoire des dépositaires et échanges Fiat/crypto
Enregistrement obligatoire auprès le l’AMF
Les checks de l’AMF: avant de délivrer son visa, l’AMF doit vérifier la réputation et les qualification professionnelles des directeurs et actionnaires.
L’AMF va ensuite publier une liste des prestataires validés.
Pratiquer ces activités sans autorisation: risque 2 ans d’emprisonnement et 30,000euros d’amende.
2ème Régime: Licence optionnelle pour les autres Crypto-prestataires
Les fournisseurs de services de crypto-actifs établis en France auront la possibilité de demander une licence non obligatoire délivrée par l’AMF.
Pour obtenir cette licence, les fournisseurs de services de crypto-actifs devront:
souscrire une assurance de responsabilité professionnelle (ou se conformer aux exigences de fonds propres définies dans le Règlement général de l’Autorité),
posséder un système informatique résilient et mettre en place des procédures de sécurité adéquates.
gérer les conflits d’intérêts et les audits internes.
Une fois leur licence obtenue, ils seront tenus de communiquer des informations justes, claires et non trompeuses à leurs clients, de les informer des risques associés aux actifs cryptographiques et de publier leur politique de rémunération.
En outre, les fournisseurs de services souhaitant bénéficier de la licence facultative devront se conformer à des exigences obligatoires spécifiques en fonction des services de crypto-assets qu’ils ont l’intention de fournir.
Le législateur Français fait donc preuve d’une réelle volonté de rendre la France attractive pour les entrepreneurs et les investisseurs. Ce nouveau régime est à la fois novateur et flexible, ce qui est une bonne chose et semble conforter une partie des acteurs de l’industrie.
Un point essentiel reste pourtant à régler, la fiscalité. Talon d’achille de la France, la fiscalité sur les cryptoactifs est à l’heure actuelle encore perçue comme étant soit floue, soit punitive.
Quid du régime Fiscal?
Le régime actuel est perçu comme punitif (jusqu’à 70% des Plus Values) et comme le premier frein au développement des ICO en France. En Allemagne par exemple, les plus-values ne sont pas taxées si les crypto-actifs sont détenus depuis plus d’un an.
Pour être vraiment attractif, la France devra donc se doter d’un régime fiscal également attrayant sans quoi tous les efforts du gouvernement pourraient bien s’avérer inefficace.
A l’heure actuelle, il existe en France trois régimes possibles:
soit le barème progressif de l’impôt sur le revenu dans la catégorie des bénéfices non commerciaux (BNC) s’il s’agit d’une activité « occasionnelle »,
soit selon le régime d’imposition des bénéfices industriels et commerciaux (BIC) si l’activité est régulière,
ou bien encore le régime des plus-values de cession de biens meubles (comme un véhicule, du mobilier, une créance, etc).
C’est pourquoi le député Éric Woerth (LR) a déposé un amendement au projet de loi de finances 2019 appliquant le prélèvement forfaitaire unique (PFU) aux ventes de bitcoins et autres crypto-actifs. L’objectif est d’appliquer la « Flat Tax » de 30% sur les plus values relatives aux ventes de crypto-actifs. Ce régime serait à la fois plus compétitif et plus lisible pour les investisseurs.
Dans un précédent article, nous avons décrit l’organisation révolutionnaire des écosystèmes reposant sur une blockchain, mais également leur diversité et leur complexité. Face à la varité des structures apparu en l’espace de quelques années, se pose la question centrale de la meilleur méthode à adopter pour valoriser les jetons émis et utilisés par ces réseaux.
En effet contrairement aux sociétés traditionnelles, chacun de ces projets développe un business model qui lui est propre. Il est donc difficile d’élaborer une méthode de valorisation qui s’appliquerait indifféremment à toutes les start-ups utilisant les technologies liées à la blockchain.
A l’inverse, il existe pour les sociétés traditionnelles de nombreuses méthodes telles que celle des « Discounted Cash Flows », et de nombreux indicateurs comme le « Price-Earnings Ratio ». La grande différence avec les écosystèmes émettant des jetons, réside dans le fait qu’il n’y a pas de flux de cash, puisque les jetons assurent eux–mêmes la circulation de valeur.
Il est aussi important de retenir que l’industrie de la blockchain est encore naissante et qu’il n’existe pas ou peu, d’historique de valorisation des écosystèmes. Il est donc presqu’impossible d’analyser le comportement des jetons par le passé.
Il faut donc imaginer de nouvelles méthodes adaptées à ce qui fait la valeur des projets. Comme nous l’avons déjà évoqué, chaque Altcoin est un réseau décentralisé qui s’est fixé pour objectif de résoudre un ou plusieurs problèmes. Les jetons sont émis pour permettre à ce réseau d’échanger de la valeur et de se développer, comme le fait la monnaie dans une économie nationale. Les jetons ont donc une valeur fonctionnelle issue de l’utilisation des jetons dans l’écosystème et pour résoudre le problème fixé par le réseau. Cette valeur fonctionnelle est particulièrement difficile à évaluer en raison du nombre de données (souvent subjective) à prendre en considération et des phénomènes également difficile à quantifier, qui influencent cette valorisation (tel que le « Staking » ou la vélocité des jetons).
Bitcoin
La difficulté de la valorisation est renforcée par le fait que la valeur d’un jeton n’est pas uniquement fonctionnelle, elle est également spéculative. Une part de la valeur des jetons qui est difficilement quantifiable, est en effet directement liée à la spéculation. Cette dernière pourrait être définie comme la valeur issue de l’impact du trading des jetons sur les échanges de cryptomonnaies. Comme en témoigne la forte volatilité de certains jetsons, cette valeur peut être parfaitement décolérée de la valeur fonctionnelle ou réelle du jeton. Elle repose généralement sur une analyse purement technique des courbes de prix, plutôt que sur une analyse approfondie des écosystèmes sur lesquels repose le jeton.
Plusieurs méthodes sont toutefois apparues pour tenter de valoriser un écosystème reposant sur une blockchain et en déduire le prix que devrait avoir les jetons émis.
Chris Burniske est le premier à avoir proposé d’appliquer le concept de « l’Equation of Exchange » aux projets reposant sur une technologie de registre décentralisé.
Cette équation est traditionnellement utilisée pour déterminer la valeur d’une monnaie dans une économie. Comme nous l’avons évoqué, les jetons jouent (notamment) le rôle de monnaie au sein de leur écosystème, il est donc envisageable de leur appliquer cette formule.
Chris Burniske précise toutefois qu’il n’utilise pas cette technique pour déterminer le prix que devrait avoir les jetons dans le présent ou le futur, parce que les informations dont nous disposons sur ces écosystèmes sont encore naissantes. Il l’utilise plus comme une méthode pour se poser les bonnes questions et mieux comprendre l’environnement dans lequel évolue le projet.
L’équation est présentée de la sorte : M x V = P x Q
Où
M = la valeur totale des jetons
V = la vélocité des jetons, c’est-à-dire le nombre de fois qu’ils ont été échangés sur une période donnée.
P = dans le cas des cryptoassets, P représente le prix des ressources monétisées par le réseau. Si nous reprenons l’exemple de SiaCoin, il s’agira ici de déterminer le prix en dollars des Gigabite de stockage disponible, représenté en $/GB.
Q = total des ressources utilisées par le réseau. Dans le cas de SiaCoin, ce serait le nombre de Gigabite disponible sur le réseau.
Si nous multiplions P et Q (où P=$/GB et Q=GB), nous obtenons un montant en $. PQ représente l’échange de valeur dans l’écosystème. C’est en quelque sorte le PIB de la micro-économie créée par le protocole et le réseau. Or ce PIB est enregistré sur la blockchain.
Donc le PIB d’un écosystème correspond au volume des transactions en jeton de référence, même si cet indicateur doit être relativisé en raison des nombreuses transactions entre échanges qui correspondent, selon Chris Burniske, à environ 30% des transactions et sont purement spéculatives.
decentralised idea
Une fois que nous avons la valeur PQ en dollars, il convient de trouver « V » pour pouvoir en déduire « M ». Ce dernier nous permettrait de valoriser l’ensemble des jetons (M = PQ/V). Une fois que nous connaissons ces éléments et avons pu obtenir une valeur pour « M », nous sommes en mesure de déterminer la « Current Utility Value » ou « CUV » d’un jeton. La CUV s’obtient en divisant « M » par le nombre de jetons en circulation (à l’exception des jetons « Bonded » ou « Hodl’d »).
La Vélocité des jetons
« V » correspond à la vélocité du jeton, c’est à dire le nombre de fois qu’un jeton change de main dans une période donnée. Or cette vélocité dépend beaucoup de l’utilisation des jetons dans le développement du protocole par les membres du réseau. Plus le protocole prévoit de cas d’utilisation des jetons entre les membres du réseau, plus la circulation de ces jetons et donc la vélocité seront important.
La vélocité des jetons est un indicateur important de la volatilité du jeton que vous souhaitez acquérir, même si sa détermination sera impossible s’il s’agit d’un projet en développement. En effet, la vélocité des jetons d’un réseau est généralement calculée sur une période d’un an selon la méthode suivante :
Vélocité = Volume Total de Transaction / Volume Moyen du Réseau
Reprenons l’exemple qu’utilise Chris Bruniske dans son article :
« À titre d’exemple, en 2016, le réseau (bitcoin) a traité en moyenne 160 millions de dollars de transactions en dollars américains par jour, pour un total de 58 milliards de dollars en un an. La taille moyenne des actifs de Bitcoin en 2016 était de 8,9 milliards de dollars (M). Par conséquent, V = 58 milliards de dollars / 8,9 milliards de dollars, ou 6,5. Une vélocité de 6,5 signifie qu’en 2016, chaque bitcoin a changé de mains 6,5 fois. En réalité, un petit pourcentage de bitcoins ont probablement été échangés beaucoup plus que cela, alors qu’un pourcentage plus élevé était bloqué dans les mains des hodlers, mais plus tard. Par comparaison, la vélocité de la masse monétaire USD M1 est actuellement de 5,5, bien que celle-ci ait chuté de façon spectaculaire depuis la crise financière de 2008. »
Selon Nate Nead, un projet qui incite ses utilisateurs à conserver les jetons créera de la valeur, à l’inverse d’un réseau sur lequel la vélocité est trop importante. Mais selon lui, si la vélocité est trop basse, il y aura un manque de liquidité sur le réseau, entrainant une baisse du prix. Il faut donc un minimum de vélocité pour qu’un jeton atteigne sa vraie valeur. Dans les deux formules de valorisation les plus célèbres (celles de Burniske et Buterin), la valeur d’un jeton est inversement proportionnelle à la valeur d’un jeton.
Pour que la valeur d’un jeton se développe, il est donc essentiel que le protocole prévoit des mécanismes permettant d’atteindre un équilibre entre circulation (vélocité) et conservation (« staking ») des jetons.
Plusieurs méthodes permettent par exemple de limiter la vélocité d’un jeton:
– une méthode de consensus reposant sur le « staking » des jetons, comme le Proof of Stake ou le Node consensus développé par NEO.
– Gamification pour encourager la détention des jetons: il s’agit d’un mécanisme visant à inciter les utilisateurs à utiliser le protocole et l’application pour acquérir plus de jetons. Steemit en est un excellent exemple: plus vous détenez de jetons, plus votre influence sur le réseau et votre aptitude à gagner des jetons est importante. Donc plus vous avez de jetons, plus vous gagnerez de jetons en participant au protocole.
– En faire une réserve de valeur: Bitcoin/Ether.
SI CET ARTICLE VOUS A INTERESSE, N’HESITEZ PAS A LA PARTAGER SUR LES RESEAUX SOCIAUX!!
In a previous article, we described the revolutionary organization of ecosystems based on a blockchain, but also their diversity and complexity. Faced with the variety of structures that have appeared in the past few years, the central question of the best method to value the tokens issued and used by these networks came up.
Unlike traditional companies, each of these projects develops a business model of its own. It is therefore difficult to develop a valuation method that would apply equally to all start-ups using blockchain technologies.
On the other hand, there are many methods for traditional companies such as « Discounted Cash Flows » and many indicators such as « Price-Earnings Ratio ». The main difference with token-issuing ecosystems is that there is no cash flow, since tokens themselves ensure the flow of value.
It is also important to remember that the blockchain industry is still nascent and that there is little or no history of ecosystem valuation. It is therefore almost impossible to analyze the behavior of tokens in the past.
It is therefore necessary to imagine new methods to value the projects. As we have already mentioned, each Altcoin is a decentralized network that aims to solve one or more problems. Tokens are issued to allow this network to exchange value and develop, as does money in a national economy. The tokens therefore have a functional value resulting from their use in the ecosystem. This functional value is particularly difficult to determine because of the number of data (often subjective) which influence this valuation (such as « Staking » or the velocity of the chips).
The difficulty of valuation is reinforced by the fact that the value of a token is not only functional, it is also speculative. Part of the value of the tokens, which is difficult to quantify, is directly related to speculation. The latter could be defined as the value resulting from the impact of token trading on the exchange of cryptocurrencies. As evidenced by the high volatility of some tokens, this value can be perfectly uncorelated from the functional or actual value of the token. It is usually based on a purely technical analysis of price curves, rather than a thorough analysis of the ecosystems on which the token is based.
decentralized idea
However, several methods have emerged to try to value a blockchain-based ecosystem and to deduce the price that the tokens should have. The valuation model proposed by Chris Burniske is by far the most famous model and we will focus on that one. You can also check out the models developed by Vitalik Buterin, Brett Winton, Willy Woo and Percy Venegas.
Equation of Exchange
Chris Burniske is the first to propose applying the Equation of Exchange concept to projects based on decentralized registry technology. This equation is traditionally used to determine the value of a currency in an economy. As we mentioned, tokens play (among other things) the role of money within their ecosystem, so it is possible to apply this formula to them.
Chris Burniske points out, however, that he does not use this technique to determine the price that tokens should have in the present or the future, because the information we can collect about these ecosystems is still nascent. He uses it more as a method to ask the right questions and better understand the environment in which the project evolves. The equation is presented in the following way:
M x V = P x Q
Where
M = the total value of the chips
V = the velocity of the chips, that is to say the number of times they have been traded over a given period.
P = in the case of cryptoassets, P represents the price of resources monetized by the network. If we take the example of SiaCoin, it will be used to determine the dollar price of Gigabite available storage, represented in $ / GB.
Q = total resources used by the network. In the case of SiaCoin, this would be the number of Gigabites available on the network. If we multiply P and Q (where P = $ / GB and Q = GB), we get an amount in $.
PQ represents the exchange of value in the ecosystem. It is in a way the GDP of the micro-economy created by the protocol and the network. But this GDP is recorded on the blockchain. Thus the GDP of an ecosystem corresponds to the volume of transactions in reference token, even if this indicator must be relativized because of the many transactions between exchanges which, according to Chris Burniske, correspond to about 30% of transactions and are purely speculative.
Bitcoin
Once we have the PQ value in dollars, we have to find « V » to be able to deduce « M ». The latter would allow us to value all the tokens (M = PQ / V). Once we know these elements and have been able to get a value for « M », we are able to determine the « Current Utility Value » or « CUV » of a token. The CUV is obtained by dividing « M » by the number of chips in circulation (with the exception of « Bonded » or « Hodl’d » tokens).
Token Velocity
« V » is the velocity of the token, which is the number of times a token changes hands in a given period. But this velocity depends on the use of tokens in the development of the protocol by the members of the network. The more the protocol provides for the use of tokens between the members of the network, the more the circulation of these tokens and therefore the velocity will be important. The velocity of the chips is an important indicator of the volatility of the chip you want to buy, even if its determination will be impossible if it is a project under development. Indeed, the velocity of the tokens of a network is generally calculated over a period of one year according to the following method:
Velocity = Total Volume of Transaction / Average Volume of the Network
Let’s take the example that Chris Bruniske uses in his article:
« For example, in 2016, the network (bitcoin) processed an average of $ 160 million worth of transactions in US dollars a day, for a total of $ 58 billion in one year. Bitcoin’s average asset size in 2016 was $ 8.9 billion (M). As a result, V = $ 58 billion / $ 8.9 billion, or 6.5. A velocity of 6.5 means that in 2016, each bitcoin changed hands 6.5 times. In fact, a small percentage of bitcoins were probably traded much more than that, while a higher percentage was stuck in the hands of the hodlers, but later. By comparison, the velocity of the USD M1 money supply is currently 5.5, although it has fallen dramatically since the 2008 financial crisis. «
According to Nate Nead, a project that encourages its users to keep the tokens will create value, unlike a network on which the velocity is too important. But according to him, if the velocity is too low, there will be a lack of liquidity on the network, causing a drop in price. It takes a minimum of velocity for a token to reach its true value.
In the two most famous valorization formulas (those of Burniske and Buterin), the value of a token is inversely proportional to the value of a token.
For the value of a token to grow, it is therefore essential that the protocol provides mechanisms to achieve a balance between circulation (velocity) and conservation (« staking ») of tokens.
Several methods allow for example to limit the velocity of a token:
– a consensus method based on the « staking » of tokens, such as the Proof of Stake or the Node consensus developed by NEO.
– Gamification to encourage the possession of tokens: this is a mechanism to encourage users to use the protocol and application to acquire more chips. Steemit is a great example: the more chips you have, the more influence you have on the network and your ability to earn chips. So the more chips you have, the more chips you will earn by participating in the protocol.
– Make it a store of value: Bitcoin / Ether.
IF YOU ENJOYED THIS ARTICLE, PLEASE DO NOT HESITATE TO SHARE IT ON YOUR FAVOIRTE SOCIAL MEDIA!!
We have transcribed the really exciting speech of Gautier Marin-Dagannaud, product engineer at Tendermint, during the CryptoMondaysParis from 23/07/18 at Station F in Patis!
Gautier: So, hello everyone, my name is Gautier, I’m an engineer at Tendermint, and today I’m working on a project called Cosmos. So I know that it is not necessarily well known in the French-speaking ecosystem. Who knows Cosmos, or has already vaguely heard of Cosmos? Not that bad. I’m going to talk about the Cosmos vision, which is an alternative to the vision of smart contracts and decentralized applications today, which are mostly developed on blockchains virtual machines, blockchains that run a virtual machine like Ethereum.
The vision of Cosmos is based on three points, and the first point, was to allow developers to develop their own blockchain, what we call our application specific blockchain, that is to say, an application for a blockchain. Unlike on Ethereum, we will develop its smart contract, then deploy it on Ethereum, that is to say full of applications that run on the same blockchain. We propose an application per blockchain. I will explain later why we chose this design.
The second is that we want all these blockchains, which are now easy to develop, to talk to each other, that is, to exchange tokens and data. This is the problem of interoperability. This is the second thing we try to solve.
And the third thing we try to solve is the problem of scalability, that is to say, the rise to scale, which today is almost all blockchains we have problems of scalability, we try to solve this problem.
I’ll explain a little bit how we get to that.
Cosmos
The first point is to allow people to deploy their own blockchain easily. And so here is where the Tendermint product comes in. For that, we need to come back in 2014. In 2014, if we wanted to develop its decentralized application, we did not have much choice. Most people, what they were doing was either they were deploying something on the protocol, on Bitcoin directly, which was quite limited, or they were rebuilding a blockchain from the beginning, which was very hard and very long. That’s why qu’Ethereum worked well, they came up with a new value proposition where they said now, it’s easy to deploy decentralized applications. That’s why today, almost everyone deploys on Ethereum.
Tendermint started in 2014, so at the same time as Ethereum started, we started thinking about another vision. We said, instead of making a single blockchain on which everyone will build its application, we will create an engine that will allow everyone to create his blockchain easily, which was not possible before.
To understand how this engine works, we must understand how a blockchain is constituted. Basically, there are three fundamental layers, there is the network layer, which is the layer that propagates the messages, there is the consensus layer, which allows the nodes to agree on the same state at the same time, and the application layer, which in fact gives meaning to the message and depends on the use case, what is called business logic. For example, for Bitcoin, it is accounts with scales, for a governance application it would be the rules governing governance.
And so Tendermint will propose, as engine, the network and consensus layers, so that the developer only has to focus on the application layer. And these network and consensus layers are both difficult to develop, and we propose a powerful engine and the developer can then really focus on the application layer.
In addition, Tendermint has a lot of advantages. The first advantage is that this application layer can be developed in the programming language you want. We are not limited to Solidity, we can develop it in C, C ++, Go, whatever we want. The second advantage is that Tendermint is a very powerful blockchain engine, in the sense that it is called Byzantine Fault Tolerance, BFT. For the little note, today, BFT is a word that comes up quite often in the world of blockchain. In 2014, Tendermint’s CEO, Jae Kwon, was the first to return to the 1980 papers, and bring this BFT research back into the world of blockchain, which is today, and which Casper of Ethereum and others for the Proof of Stake.
Casper
Tendermint is a BFT engine, it has two interesting properties among many, which are instant finality, once that a transaction is included in a block, it can not be canceled, and the second is the light client which is very easy to implement on Tendermint. This is not the case on the Proof of Work blockchains. Another interesting point is that Tendermint allows you to develop applications, blockchains both public and private. So, whether your application is for a public blockchain in Proof of Stake or a private blockchain in Proof of Authority or others, you can do it on Tendermint.
So, now, we have plenty of easy-to-develop blockchains with this engine. But the fact that all these blockchains are developed on an engine that has the property of instant finality as already said, it allows to connect them together. We developed a protocol called IBC, Inter Blockchain Communication Protocol, which allows to connect these blockchains that have this property of finality between them. In a decentralized way, obviously. Today, we already know how to connect blockchains centrally, what we do not know is to connect them in a decentralized way.
So we have this protocol, now, IBC, which allows to connect blockchains that have finality. All blockchains developed at Tendermint have it, but for example, other blockchains like Casper also have this finality property.
Now we can connect the blockchains together. How do we go to a network, to a blockchains internet? This Cosmos, basically, is a network of blockchains, an internet blockchains, that is to say an ecosystem where blockchains can talk to each other. The naive solution is to connect all the blockchains with each other, but that does not work very well, because the internet has not been built like that for obvious scalability issues. If we have M blockchain in the network, we will grow in M squared. It does not take very long. In fact, what Cosmos does is that we have a hub and spoke architecture, that is, we have hubs and zones, and hubs act as routers.
If I want to develop my blockchain in Cosmos, I use Tendermint in a few days and I develop a blockchain, and then I put an IBC connection with the hub, and I’m connected with everyone. There may be several hubs, of course, but there will be many more areas than hubs.
So the Cosmos Hub is what we are developing today at Tendermint, and it will be the first blockchain in Cosmos, and that will mark the launch of Cosmos. For those who follow a little closer, it should happen very soon, in a few weeks.
The third problem I’m going to talk about is scalability. How do we get there? In fact, there are two ways to achieve scalability, the first is that Tendermint alone can reach several thousand transactions per second, and if Tendermint reaches its maximum, that is that our application has too many transactions, too many transaction requests, what we can do is put multiple strings in parallel, with the same application, and resolve via IBC so that they understand each other. It’s called vertical scalability, and it will not be until 2019. But theoretically, it’s feasible.
Ethereum
Here is. These were the three points of Cosmos to understand. Now, I’m just going to finish on the vision, because for those who have entered the blockchain and actually know that smart contracts and decentralized applications on Ethereum, it may sound a bit weird to say, « Why would I go to develop my application as a blockchain, with my own blockchain, rather than developing it on a smart contract? » So, there are several reasons why we think it’s a better design in the long run, the first is that, for performance reasons, how to lift the virtual machine between the application and network layers or consensus, we gain in performance, as most languages that compile directly are more efficient than languages that run with a virtual machine. Performance.
The second is flexibility. We can develop its application in the language we want. But that’s not all. When we have a blockchain that is a virtual machine, by the virtual machine imposes limits on the application. And these limits are perfectly justified because there are many applications that can come, so you have to put limits to guarantee security. An example, on Ethereum, it is not possible to have automatic code execution. Any code execution must be triggered at the base by a Hedge-user. And that makes sense, on Ethereum, if we want to guarantee safety.
But if you have an application for a chain, then security issues evolve and you can have automatic code execution. Which unlocks lots of use cases. We, for example, for the Cosmos Hub, use a lot of automatic code executions. Just be careful, like any program, that you do not have an infinite loop and so on. But if we have a problem, and we have an infinite loop, it does not matter because we turn on our own blockchain, we can completely go back, and other blockchain will not be affected.
And that brings me to my third point, which is, like me, the most important, and that is often not mentioned much today and for me, the reason is that it is a very black point on the blockchain, virtual machines like Ethereum et cetera, that’s the issue of sovereignty. That is to say that when one deploys its application on a blockchain of the Ethereum type or virtual machine in general, one has a very limited sovereignty. The two very well known examples on Ethereum are the DAO Hack and the Parity Hack.
DAO
DAO Hack, there was a bug, a lot of money was lost, what did we do? There was governance that was not enough. The governance of the DAO was not enough we needed to spend on the governance of the network, and there was a hard fork. I think we will not see a hard fork anytime soon, considering the scandal it has done.
There was the Parity Hack, there was also a lot of money lost, there was no hard fork. Why ? Because the Parity governance, of the Parity application, is not aligned with the governance of the protocol below, which runs the application.
What we want is to realign the governance. That is, an application for a blockchain. If the application has a problem, we can go back. This is not a problem because this governance is limited to the blockchain. The other blockchains will not come back if a BK goes back. And we keep this compatibility via Cosmos. So the general idea is to say: « Everyone has his own sovereignty, his own independence, but is still able to discuss with others and scale. »
That’s the vision for which we think that in the long run many applications will come on their own blockchain beyond scalability issues, beyond the issues of flexibility, there are also issues of sovereignty which are very important.
Finally, where we are today, we hope to launch in a few weeks. Cosmos is an ecosystem, it’s a decentralized network, it’s a blockchain network. Anyone today can come and build their own blockchain in Cosmos. The Cosmos Hub which is developed by Tendermint, which is also a company, will be the first blockchain that will mark the launch of Cosmos, but today you can come and develop on Tendermint, whether you have a private project or a public project, for Proof of Stake, for Proof of Authority, today you can build on Tendermint, it is a stable product that has been developed since 2014, it has been audited many times.
The Cosmos tool kit is a little more recent, a little less stable, but we approach the stability and within a few months, we can have an ecosystem that will develop it. I finally add that we have more than fifty projects today that are developing on Cosmos today. We hope that many more will join them quickly. Here. Thank you.
Cette série de 75 Tweets peut être trouvé sur la page Twitter de Vitalik Buterin. Nous l’avons transcrite et traduite ici pour plus de commodité.
«Aujourd’hui, je vais faire une tempête de tweet pour expliquer l’histoire et l’état de la recherche d’Ethereum sur Casper, y compris les guerres FFG vs CBC, le switch hybride =>, le rôle du hasard, les problèmes de conception des mécanismes, etc.
La recherche de Preuve de l’Enjeu («Proof of Stake » ou « POS ») d’Ethereum a commencé en janvier 2014 avec Slasher. Bien que l’algorithme soit très sous-optimal, il a introduit des idées importantes, plus particulièrement l’utilisation de pénalités pour résoudre le problème du « Nothing at Stake ».
Nous avons passé une bonne partie de la fin de 2014 à essayer de gérer les «attaques à longue distance», qui permettent aux attaquants de retirer leur mise des dépôts de la chaîne principale et de créer une «chaîne d’attaque» avec plus de signatures que la chaîne principale et au’ils pourraient utiliser pour tromper les clients.
Si la chaîne d’attaque diverge de la chaîne principale à un moment relativement récent, ce n’est pas un problème car si les validateurs signent deux messages contradictoires pour les deux chaînes en conflit, cela peut servir de preuve pour les pénaliser et leur enlever leurs dépôts. Mais si la divergence s’est produite il y a longtemps (donc, une attaque à longue distance), les attaquants pourraient retirer leurs dépôts, empêchant ainsi les pénalités sur l’une ou l’autre chaîne.
Nous avons finalement décidé que les attaques à longue portée étaient inévitables pour les raisons que les partisans de la Preuve du Travail (« Proof of Work » ou « POW ») déclarent (par exemple, https://download.wpsoftware.net/bitcoin/pos.pdf).
Cependant, nous n’avons pas accepté leurs conclusions. Nous avons réalisé que nous pouvions gérer les attaques à long portée en introduisant une hypothèse de sécurité supplémentaire: les clients se connectent au moins une fois tous les quatre mois (et les dépôts prennent quatre mois pour se retirer) et les clients refusent simplement de revenir plus loin.
Proof of work
C’était un anathème pour les promoteurs de la Preuve du Travail, car cela ressemble à une hypothèse de confiance: vous devez obtenir la chaîne de blocs à partir d’une source fiable lorsque vous synchronisez pour la première fois. Mais pour nous, pauvres subjectivistes, cela ne semblait pas être un gros problème; vous avez besoin d’une source de confiance pour vous dire quelles sont les règles de consensus de la blockchain dans tous les cas (et ne pas oublier les mises à jour logicielles).
Maintenant que nous avons réglé les dépôts et les pénalités, nous avons dû décider quels étaient ces dépôts et ces pénalités. Nous savions que nous voulions une propriété de «finalité économique», dans laquelle les valideurs signaient les blocs de telle manière qu’une fois qu’un bloc était «finalisé», aucun bloc en conflit ne pourrait être finalisé sans qu’une grande partie des validateurs doive signer des messages qui entrent en conflit avec leurs messages précédents de manière à ce que la blockchain puisse les détecter et donc les pénaliser.
Je suis allé sur une longue et finalement improductive tangente dans une direction que j’ai appelée «consensus par pari»:
Le « consensus par pari » est une construction intéressante dans laquelle les validateurs miseraient sur le bloc qui serait finalisé et les paris eux-mêmes détermineraient quelle chaîne le consensus favoriserait. La théorie était que le PoW possède également cette propriété, car l’exploitation minière est un pari où si vous misez sur la bonne chaîne, vous gagnez (récompense – frais d’exploitation), et si vous misez sur la mauvaise chaîne, avec PoS nous pourrions pousser les chances sur les paris beaucoup plus élevés.
Les probabilités sur les paris des validateurs commenceraient bas, mais comme les validateurs se voyaient de plus en plus confiants dans un bloc, les probabilités de chacun augmenteraient de manière exponentielle, en parallèle, jusqu’à ce qu’ils finissent par miser tous leurs dépôts sur un bloc. Ce serait la «finalité».
Pendant ce temps, Vlad a commencé à faire des recherches approfondies sur la conception des mécanismes, en particulier pour rendre Casper plus robuste face aux oligopoles, et nous avons également commencé à examiner des algorithmes consensuels inspirés de la théorie de la tolérance aux fautes byzantine traditionnelle, telle que Tendermint.
Vlad a décidé que le BFT traditionnel était boiteux (il a particulièrement détesté les seuils durs, comme le 2/3 dans PBFT et Tendermint), et il essaierait de réinventer efficacement la théorie du BFT en utilisant une approche qu’il a appelée «Correct by Construction» (CBC). )
La philosophie de la CBC est très différente de celle du BFT traditionnel, en ce sens que la «finalité» est entièrement subjective. Dans la philosophie de la CBC, les validateurs signent des messages et, s’ils signent un message qui entre en conflit avec leur message précédent, ils doivent soumettre une «justification» prouvant que, dans le sens le plus pertinent, La nouvelle chose pour laquelle ils votent a davantage de support que la vieille chose pour laquelle ils votaient, et ils ont donc le droit de changer.
Pour détecter la finalité, les clients recherchent des modèles de messages qui prouvent que la majorité des validateurs votent de manière fiable pour certains blocs B de telle manière qu’ils ne peuvent pas s’écarter de B sans qu’une grande partie des validateurs changent illégalement leurs votes.
Ethereum lighter
Par exemple, si tout le monde vote pour B, alors tout le monde vote sur un bloc qui contient les votes de tous pour B, ce qui prouve qu’ils supportent B et sont conscients que tout le monde supporte B, que B.
J’ai finalement renoncé au consensus, parce que cette approche semblait trop risquée, et je suis donc revenu à essayer de comprendre comment fonctionnent les algorithmes tels que PBFT. Cela a pris du temps, mais après quelques mois, j’ai compris.
J’ai réussi à simplifier PBFT et à le traduire dans le contexte de la blockchain, en le décrivant comme quatre «conditions tranchantes», règles qui définissent quelles combinaisons de messages sont contradictoires et donc illégales:
J’ai défini une règle pour déterminer quand un bloc est finalisé et prouvé les propriétés clés «sécurité» et «vivacité plausible»: (i) si un bloc est finalisé, il est impossible qu’un bloc en conflit soit finalisé sans> = 1/3 violant une condition de coupure, moneybalresistent à (ii) si un bloc est finalisé, 2/3 des validateurs honnêtes peuvent toujours coopérer pour finaliser un nouveau bloc. Ainsi, l’algorithme ne peut ni «revenir sur ses mots» ni «rester bloqué» tant que 2/3 sont honnêtes.
J’ai finalement simplifié les conditions minimales tranchantes de quatre à deux et à partir de là, Casper, le Friendly Finality Gadget (FFG), a été conçu pour être utilisé en superposition sur tout PoW, PoS ou autre blockchain pour ajouter des garanties de finalité.
La finalité est une avancée très importante: une fois qu’un bloc est finalisé, il est sécurisé quelle que soit la latence du réseau (contrairement aux confirmations dans le PoW), et revenir sur un block nécessite >= 1/3 de validateurs qui tichent d’une manière qui peut être détectée et utilisée pour détruire leurs dépôts. Par conséquent, le coût du retour à la finalité peut atteindre les milliards de dollars. Les approches Casper CBC et Casper FFG permettent d’atteindre cet objectif, mais de manière techniquement différente.
Notez que Casper CBC et Casper FFG sont * les deux * “superpositions” qui doivent être appliquées par-dessus une règle de choix de fourche existante, bien que les abstractions fonctionnent de différentes manières.
En termes simples, dans Casper CBC, la superposition de finalité s’adapte à la règle de choix de fourche, tandis que dans Casper FFG, la règle de choix de fourche s’adapte à la superposition de finalité.
Casper
La préférence initiale de Vlad pour la règle du choix de la fourchette était «“Le dernier GHOST piloté par les messages”, une adaptation de GHOST (https://eprint.iacr.org/2013/881.pdf) à la Preuve de l’Enjeu, et ma préférence initiale était de commencer avec le PoS hybride, en utilisant la Preuve du Travail comme règle de choix de la fourchette de base.
Dans la version initiale de Casper FFG, la Preuve du Travail «exécuterait» la chaîne bloc par bloc, et la Preuve de l’Enjeu suivrait de près pour finaliser les blocs. Casper CBC était une preuve complète d’enjeu dès le départ. Dans le même temps, Vlad et moi-même étions en train de créer nos propres écoles de pensée sur la théorie du consensus *.
Ici, une distinction très importante est entre * les fautes attribuables de manière unique *, où vous pouvez dire qui est responsable et peut donc les pénaliser, et * les fautes imputables non uniquement *, où une des parties multiples peut avoir causé la faute. Le cas classique d’une faille non attribuable de manière unique est mis hors ligne par opposition à la censure, également appelée «équivalence de faute du locuteur / auditeur».
Pénaliser des fautes uniquement attribuables (par exemple, les conditions de tranchage de Casper FFG) est facile. Pénaliser les fautes non imputables est difficile.
Que se passe-t-il si vous ne pouvez pas dire si les blocs ont cessé d’être finalisés parce qu’une minorité est déconnectée ou parce que la majorité censure la minorité?
Il existe essentiellement trois écoles de pensée sur cette question:
(i) Pénaliser un peu les deux côtés (ii) Pénaliser durement les deux côtés (préférence de Vlad) (iii) Diviser la chaîne en deux, pénaliser une partie sur chaque chaîne et laisser le marché décider quelle chaîne est la plus précieuse (ma préférence).
En novembre 2017, les conditions tranchantes de Casper FFG et mes idées pour résoudre le problème du «1/3 hors ligne» grâce à un mécanisme de «fuite quadratique» sont devenues un document:
[1710.09437] Le gadget amical de finalité de Casper
Résumé: Nous présentons Casper, une preuve du système de finalité basé sur la mise qui recouvre une preuve de travail existante… arxiv.org
Bien sûr, je savais bien que faire appel à la couche sociale pour résoudre les attaques à 51% n’était pas une très bonne chose, alors j’ai commencé à chercher des moyens pour permettre aux clients en ligne de détecter automatiquement la chaîne légitime et quelle est l’attaque en temps réel.
C’était quelque chose, mais toujours sous-optimal; À moins que la latence du réseau ne soit exactement égale à zéro, il n’y avait qu’une garantie que les scores de suspicion des clients différaient au maximum par delta, et non que les clients seraient entièrement d’accord.
Entre-temps, ma principale critique du modèle de Vlad concernait les «attaques de découragement», où les attaquants pouvaient menacer de manière crédible d’attaquer 51% de la population, entraînant ainsi les autres à abandonner, dominant ainsi la chaîne. Coût quasi nul. Vlad (avec Georgios Piliouras) a commencé à faire de la modélisation économique pour estimer le coût réel d’une telle attaque sous son modèle.
Il convient de noter que tous ces problèmes ne sont pas propres à la Preuve de l’Enjeu. En fait, dans la Preuve du Travail, les gens ont tendance à simplement abandonner et à supposer que prévenir les attaques à 51% est tout à fait impossible, et une attaque à 51% est une catastrophe qui doit être évitée à tout prix. Mais, tout comme la tradition Ethereum, Vlad et moi-même ne savions pas que le mot «ambitieux» pouvait être tout sauf un compliment et continuions à travailler sur nos différentes approches pour décourager, atténuer et récupérer des attaques à 51%.
Au début de 2018, le travail de Vlad sur CBC a commencé à progresser rapidement, avec de grands progrès en matière de preuves de sécurité. En ce qui concerne l’état d’avancement en mars 2018, voyez cette présentation épique de deux heures:
Entre-temps, Casper FFG faisait d’énormes progrès. La décision de l’implémenter en tant que contrat qui serait publié sur la blockchain Ethereum a facilité le développement. Le 31 décembre 2017 à 23h40, nous avons publié un testnet écrit en python:
Malheureusement, le développement de FFG a ralenti. La décision d’implémenter FFG en tant que contrat rendait certaines choses plus faciles, mais cela rendait les choses plus difficiles, et le passage éventuel de EVM à EWASM, et de Casper à chaîne unique à Casper, serait plus difficile. En outre, le travail de l’équipe était divisé entre «la chaîne principale Casper» et «la chaîne de distribution Casper» et il était clair qu’il y avait une duplication inutile des efforts entre les équipes de Casper et de Sharding.
En juin 2018, nous avons pris la décision fatale de supprimer «Hybrid Casper FFG en tant que contrat» et de poursuivre Casper en tant que chaîne indépendante, conçue de manière à faciliter l’intégration du sharding. Le passage à la Preuve de l’Enjeu complète m’a amené à réfléchir davantage sur les règles de choix des fourches dans la Preuve de l’Enjeu.
Casper FFG (et CBC) requièrent tous deux que l’ensemble de validateurs * entier * qui doivent voter à chaque “époque” pour finaliser les blocs, ce qui signifie qu’il y aurait des dizaines à des centaines de signatures à chaque seconde. L’agrégation de signatures BLS rend cela pratique en termes de temps de calcul, mais je voulais essayer de tirer parti de toutes ces signatures supplémentaires pour rendre la chaîne beaucoup plus «stable», en obtenant une sécurité de 100 confirmations en quelques secondes.
Voici mes premières tentatives:
Un comité d’attestation basé sur des chaînes PoS complètes
Cependant, toutes ces approches de la règle du choix des fourches présentaient un point faible: elles divisaient les validateurs en «attesteurs» et en «proposants», et les proposants, principaux moteurs de la production de blocs, avaient une taille hors normes. Cela n’était pas souhaitable, principalement parce que cela nous obligeait à disposer d’une source solide de génération de nombres aléatoires en chaîne pour sélectionner les candidats de manière équitable. Et le caractère aléatoire en chaîne est * difficile *, avec des approches simples comme RANDAO semblant de plus en plus problématiques.
Analyse d’exploitation de la balise RANDAO, tour 2
Justin Drake et moi-même sommes allés résoudre ce problème de deux manières, Justin en utilisant des fonctions de retard vérifiables qui ont une sortie déterministe et vérifiable, mais prennent beaucoup de temps séquentiel non paramétrable pour rendre la manipulation impossible à l’avance. et moi-même en faisant une concession majeure au Cult of Vlad ™, en utilisant des règles de choix de fourches basées sur GHOST pour réduire considérablement la dépendance aux proposants, permettant à la chaîne de croître sans interruption même si> 90% des proposants sont malveillants % d’attestateurs sont amicaux.
Ethereum
Vlad était très heureux, mais pas complètement: il préférait une version de GHOST basée sur les derniers messages des validateurs *, alors que je préférais une version basée sur * des messages immédiats *:
À cette époque, j’ai également réussi à trouver un moyen de «canaliser» Casper FFG, en réduisant le temps de finalité de 2,5 époques aux 2 époques théoriquement optimales:
J’étais très heureux que la règle de choix de fourche RPJ (que j’ai renommée depuis « GHOST immédiat ») soit parfaitement compatible avec Casper FFG, contrairement à la plupart des autres, et qu’elle possède une propriété « stabilité » très importante: que le choix de la fourche est une bonne prédiction du futur choix de fourche. Cela semble évident, mais il est très facile de créer accidentellement des règles de choix de fourche qui n’ont pas cette propriété.
Le développement le plus récent de tous est le résultat que le dernier message généré par GHOST peut, en raison d’une technicité, ne donner que 25% de tolérance aux pannes en deux tours, mais que le message GHOST (avec FFG ou CBC) écriture encore). Le principal compromis entre FFG et CBC est que CBC semble avoir de meilleures propriétés théoriques, mais FFG semble être plus facile à mettre en œuvre.
Entre-temps, un lot de progrès sur les fonctions de retard vérifiables a été réalisé:
En outre, j’ai récemment décidé d’examiner l’ancien article de 1982 de Leslie Lamport, dans lequel il disposait d’un algorithme de consensus avec une tolérance aux pannes de 99% si l’on supposait que tous les nœuds, y compris les observateurs, étaient en ligne avec une faible latence:
Les hypothèses de latence du réseau rendent sans doute cela inapproprié en tant qu’algorithme de consensus primaire. Cependant, il y a un cas d’utilisation où cela fonctionne vraiment bien: en remplacement des scores de suspicion pour la détection de la censure à 51%. Fondamentalement, si une coalition à 51% commence à censurer des blocs, d’autres validateurs et clients peuvent détecter que cela se produit et utiliser le consensus à 99% de tolérance aux fautes pour convenir que cela se produit et coordonner une fourchette minoritaire.
L’objectif à long terme de cette recherche est de réduire autant que possible la dépendance à la couche sociale et de maximiser le coût de la déstabilisation de la chaîne pour qu’il soit nécessaire de revenir à la couche sociale.
Que reste-t-il maintenant? Du côté des AFG, des preuves formelles, des améliorations à la spécification et des progrès continus sur la mise en œuvre (déjà lancés par> = 3 équipes!), Dans la perspective d’un déploiement sûr et rapide. Du côté de la CBC, la situation est la même. En avant et vers le haut!
This Tweet thread can be found on Vitalik Buterin’s Twitter page. We have transcripted it here for convenience.
“ Today I am going to make a tweet storm explaining the history and state of Ethereum’s Casper research, including the FFG vs CBC wars, the hybrid => full switch, the role of randomness, mechanism design issues, and more.
Ethereum proof of stake research began in Jan 2014 with Slasher. Though the algorithm is highly sub-optimal, it introduced some important ideas, most particularly the use of penalties to solve the nothing at stake problem.
We spent much of late 2014 trying to deal with “long-range attacks”, where attackers withdraw their stake from deposits on the main chain and use it to create an alternate “attack chain” with more signatures than the main chain, that they could fool clients into switching too.
If the attack chain diverges from the main chain at a fairly recent point in time, this is not a problem, because if validators sign two conflicting messages for the two conflicting chains this can be used as evidence to penalize them and take away their deposits. But if the divergence happened long ago (hence, long-range attack), attackers could withdraw their deposits, preventing penalties on either chain.
We eventually decided that long-range attacks are unavoidable for pretty much the reasons PoW proponents say (eg. https://download.wpsoftware.net/bitcoin/pos.pdf). However, we did not accept their conclusions. We realized that we could deal with long-range attacks by introducing an additional security assumption: that clients log on at least once every four months (and deposits take four months to withdraw), and clients simply refuse to revert further than that.
Proof of work
This was anathema to PoW proponents because it feels like a trust assumption: you need to get the blockchain from some trusted source when you sync for the first time. But to us dirty subjectivists, it did not seem like a big deal; you need some trusted source to tell you what the consensus rules of the blockchain are in any case (and don’t forget software updates), so the additional trust required by this PoS assumption is not large.
Now that we settled on deposits and penalties, we had to decide what those deposits and penalties are. We knew that we wanted an “economic finality” property, where validators would sign on blocks in such a way that once a block was “finalized”, no _conflicting_ block could be finalized without a large portion of validators having to sign messages that conflict with their earlier messages in a way that the blockchain could detect, and hence penalize.
I went on a bit long, and ultimately unproductive, a tangent on a direction I called “consensus by bet”:
Consensus by bet was an interesting construction where validators would make bets on which block would be finalized, and the bets themselves determined which chain the consensus would favor. The theory was that PoW also has this property, as mining is a bet where if you bet on the right chain, you gain (reward — mining cost), and if you bet on the wrong chain, you lose the mining cost, except with PoS we could push the odds on the bets much higher.
The odds on validators’ bets would start off low, but as validators saw each other getting more and more confident about a block, everyone’s odds would rise exponentially, in parallel, until eventually, they would bet their entire deposits on a block. This would be “finality”.
In the meantime, Vlad started heavily researching mechanism design, particularly with an eye to making Casper more robust against oligopolies, and we also started looking at consensus algorithms inspired by traditional Byzantine fault tolerance theory, such as Tendermint.
Vlad decided that traditional BFT was lame (he particularly disliked hard thresholds, like the 2/3 in PBFT and Tendermint), and he would try to effectively reinvent BFT theory from scratch, using an approach that he called “Correct by Construction” (CBC)
The correct-by-construction philosophy is very different from traditional BFT, in that “finality” is entirely subjective. In CBC philosophy, validators sign messages, and if they sign a message that conflicts with their earlier message they have to submit a “justification” proving that, in the relevant sense, the new thing they are voting for “has more support” than the old thing they were voting for, and so they have a right to switch to it.
To detect finality, clients look for patterns of messages that prove that the majority of validators is reliably voting for some block B in such a way that there is no way they can switch away from B without a large fraction of validators “illegally” switching their votes.
For example, if everyone votes for B, then everyone votes on a block that contains everyone’s votes for B, that proves that they support B and are aware that everyone else supports B, and so they would have no legitimate cause for switching to something other than B.
Ethereum
I eventually gave up on consensus-by-bet because the approach seemed too fundamentally risky, and so I switched back to trying to understand how algorithms like PBFT work. It took a while, but after a few months I figured it out.
I managed to simplify PBFT and translate it into the blockchain context, describing it as four “slashing conditions”, rules that state what combinations of messages are self-contradictory and therefore illegal:
I defined a rule for determining when a block is finalized, and proved the key “safety” and “plausible liveness” properties: (i) if a block is finalized, then there is no way for a conflicting block to get finalized without >= 1/3 violating a slashing condition; moneybalresorts to(ii) if a block is finalized, 2/3 honest validators can always cooperate to finalize a new block. So the algorithm can neither “go back on its word” nor “get stuck” as long as > 2/3 are honest.
I eventually simplified the minimal slashing conditions down from four to two, and from there came Casper the Friendly Finality Gadget (FFG), which is designed to be usable as an overlay on top of any PoW or PoS or another blockchain to add finality guarantees.
Finality is a very significant advancement: once a block is finalized, it is secure regardless of network latency (unlike confirmations in PoW), and reverting the block requires >= 1/3 of validators to cheat in a way that’s detectable and can be used to destroy their deposits. Hence, the cost of reverting finality can run into the billions of dollars. The Casper CBC and Casper FFG approach both achieve this, though in technically different ways.
Note that Casper CBC and Casper FFG are *both* “overlays” that need to be applied on top of some existing fork choice rule, though the abstractions work in different ways.
In simplest terms, in Casper CBC the finality overlay adapts to the fork choice rule, whereas in Casper FFG the fork choice rule adapts to the finality overlay.
Vlad’s initial preference for the fork choice rule was “latest message-driven GHOST”, an adaptation of GHOST (https://eprint.iacr.org/2013/881.pdf ) to proof of stake, and my initial preference was to start off with hybrid PoS, using proof of work as the base fork choice rule.
Casper
In the initial version of Casper FFG, proof of work would “run” the chain block-by-block, and the proof of stake would follow close behind to finalize blocks. Casper CBC was full proof of stake from the start. At the same time, Vlad and I were both coming up with our own respective schools of thought on the theory of consensus *incentivization*.
Here, a very important distinction is between *uniquely attributable faults*, where you can tell who was responsible and so can penalize them, and *non-uniquely attributable faults*, where one of multiple parties could have caused the fault. The classic case of a non-uniquely-attributable fault is going offline vs censorship, also called “speaker-listener fault equivalence”.
Penalizing uniquely attributable faults (eg. Casper FFG slashing conditions) is easy. Penalizing non-unquely-attributable faults is hard.
What if you can’t tell if blocks stopped finalizing because a minority went offline or because a majority is censoring the minority?
There are basically 3 schools of thought on this issue:
(i) Penalize both sides a little (ii) Penalize both sides hard (Vlad’s preference) (iii) Split the chain into two, penalize one side on each chain, and let the market decide which chain is more valuable (my preference).
In November 2017, the Casper FFG slashing conditions, plus my ideas for solving “the 1/3 go offline” problem through a “quadratic leak” mechanism, became a paper:
Of course, I was well aware that appealing to the social layer to solve 51% attacks was not a very nice thing to do, so I started looking for ways to at least allow online clients to *automatically* detect which chain is “legitimate” and which is the “attack” in real time.
It was something, but still sub-optimal; unless network latency was exactly zero, there was only a guarantee that clients’ suspicion scores would differ by at most delta, not that clients would fully agree.
In the meantime, my main criticism of Vlad’s model had to do with “discouragement attacks”, where attackers could credibly threaten to make a 51% attack that causes everyone to lose money, thereby driving everyone else to drop out, thus dominating the chain at near-zero cost. Vlad (along with Georgios Piliouras) started doing economic modeling to estimate the actual cost of such an attack under his model.
It’s worth noting here that all of these issues are not unique to proof of stake. In fact, in proof of work, people tend to simply give up and assume preventing 51% attacks is outright impossible, and a 51% attack is a doomsday that must be prevented at all costs. But, as is the Ethereum tradition, Vlad and I were both unaware that the word “ambitious” can be anything but a compliment and kept on working on our separate approaches to disincentivizing, mitigating and recovering from 51% attacks.
In early 2018, Vlad’s work on CBC started to move forward quickly, with great progess on safety proofs. For the state of progress in March 2018, see this epic two-hour presentation:
In the meantime, Casper FFG was making huge progress. A decision to implement it as a contract that would be published to the Ethereum blockchain made development easy. On Dec 31, 2017, at 23:40, we released a testnet written in python:
Unfortunately, development of FFG then slowed down. The decision to implement FFG as a contract made some things easier, but it made other things harder, and it also meant that the eventual switch from EVM to EWASM, and single-chain Casper to sharded Casper, would be harder. In addition, the team’s work was being split between “main chain Casper” and “shard chain Casper” and it was clear there was enormous unneeded duplication of effort going on between the Casper and sharding teams.
In June 2018, we made the fateful decision to scrap “hybrid Casper FFG as a contract”, and instead pursue full Casper as an independent chain, designed in such a way that integrating sharding would be much easier. The switch to full proof of stake led me to start thinking much harder about proof of stake fork choice rules.
Casper FFG (and CBC) both require the *entire* validator set to vote in every “epoch” to finalize blocks, meaning there would be tens to hundreds of signatures coming in every second. BLS signature aggregation makes this practical in terms of computational overhead but I wanted to try to take advantage of all of these extra signatures to make the chain much more “stable”, getting “100 confirmations” worth of security within a few seconds.
However, all of these approaches to the fork choice rule had a weakness: they split up validators into “attesters” and “proposers”, and the proposers, being the key drivers of block production, had outsized power. This was undesirable, primarily because it required us to have a strong source of on-chain random number generation to fairly pick the proposers. And on-chain randomness is *hard*, with simple approaches like RANDAO looking more and more problematic.
Justin Drake and I went off to solve this problem in two ways, Justin by using verifiable delay functions which have a deterministic and verifiable output, but take a large amount of unparallelizable sequential time to compute, making manipulation ahead of time impossible. and myself by making a major concession to the Cult of Vlad™, using GHOST-based fork choice rules to greatly reduce the dependence on proposers, allowing the chain to grow uninterrupted even if >90% of proposers are malicious, as long as >50% of attesters are friendly.
Vlad was very happy, though not fully: he preferred a version of GHOST based on validators’ *latest messages*, whereas I preferred a version based on *immediate* messages:
Around this time I also managed to come up with a way to “pipeline” Casper FFG, reducing time-to-finality from 2.5 epochs to the theoretically optimal 2 epochs:
I was very happy that the RPJ fork choice rule (which I have since renamed “immediate message-driven GHOST”) is nicely compatible with Casper FFG in a way that most others are not and that it has a very important “stability” property: that the fork choice is a good prediction of the future fork choice. This seems obvious but is very easy to accidentally make fork choice rules that do *not* have this property.
The most recent development of all is a result that latest message driven GHOST may, due to a technicality, only give 25% fault tolerance within two rounds, but immediate driven message GHOST (with FFG or CBC) still gives the full 33% (no writeup yet). The main tradeoff between FFG and CBC is that CBC seems to have nicer theoretical properties, but FFG seems to be easier to implement.
In the meantime, a *lot* of progress on verifiable delay functions has been made:
Also, I recently decided to look into Leslie Lamport’s old 1982 paper, where he had a consensus algorithm that has 99% fault tolerance if you add the assumption that all nodes, including observers, are online with low network latency:
The network latency assumptions arguably make this unsuitable as a primary consensus algorithm. However, there is one use case where it works *really* well: as a substitute for suspicion scores for 51% censorship detection. Basically, if a 51% coalition starts censoring blocks, other validators and clients can detect that this is happening, and use the 99% fault tolerant consensus to agree that this is happening, and coordinate a minority fork.
The long-run goal of this research is to reduce reliance on the social layer as much as possible and maximizing the cost of destabilizing the chain enough so that reverting to the social layer is necessary.
What’s left now? On the FFG side, formal proofs, refinements to the specification, and ongoing progress on implementation (already started by >=3 teams!), with an eye to safe and speedy deployment. On the CBC side, much of the same. Onward and upward!
Nous avons retranscrit le speech vraiment passionnant de Gautier Marin-Dagannaud, product engineer chez Tendermint, durant le CryptoMondaysParis du 23/07/18 à la Station F!
Gautier : Alors, bonjour à tous, je m’appelle Gautier et je suis ingénieur chez Tendermint, et aujourd’hui, je travaille sur un projet qui s’appelle Cosmos. Alors je sais que ce n’est pas forcément très connu dans écosystème francophone. Qui connaît Cosmos, ou a déjà vaguement entendu parler de Cosmos? Pas si mal que ça. Je vais surtout vous parler de la vision de Cosmos, qui en fait est une alternative à la vision des smart contracts et des applications décentralisées aujourd’hui, qui sont développées pour la plupart sur des blockchains qu’on appelle virtual machines, des blockchains qui font tourner une machine virtuelle comme Ethereum.
La vision de Cosmos s’appuie sur trois points, et le premier point, s’est de permettre aux développeurs de développer leur propre blockchain, ce qu’on appelle nous application specific blockchain, c’est-à-dire une application pour une blockchain. Au contraire de sur Ethereum, on va développer son smart contract, puis le déployer sur Ethereum, c’est-à-dire plein d’applications qui tournent sur la même blockchain. Nous, c’est une application pour une blockchain. Je vous expliquerai plus tard pourquoi on a choisi ce design.
tendermint
La deuxième, c’est qu’on veut que toutes ces blockchains, qui sont maintenant faciles à developper, puissent se parler, c’est-à-dire échanger des tokens et de la donnée. C’est la problématique d’interopérabilité. C’est la deuxième chose qu’on essaye de résoudre.
Et la troisième chose qu’on essaye de résoudre, c’est la problématique de la scalabilité, c’est-à-dire de la montée à l’échelle, qui aujourd’hui est quasiment sur toutes les blockchains on a des problématiques de scalabilité, on essaie de régler cette problématique.
Je vais expliquer un petit peu comment on arrive à ça.
Le premier point, c’est permettre aux gens de déployer leur propre blockchain facilement. Et donc là, c’est là ou le produit Tendermint rentre en jeu. Pour ça, il faut un peu revenir en 2014. En 2014, si on voulait développer son application décentralisée, on n’avait pas beaucoup de choix. La plupart des gens, ce qu’ils faisaient, c’est soit ils déployaient quelque chose sur le protocole, enfin sur Bitcoin directement, ce qui était assez limité, soit ils reconstruisaient une blockchain depuis le début, ce qui était très dur et très long. C’est pour ça qu’Ethereum a bien marché, ils sont venus avec une nouvelle proposition de valeur où ils ont dit maintenant, c’est facile de déployer des applications décentralisées. C’est pour ça qu’aujourd’hui, quasiment tout le monde déploie sur Ethereum.
Tendermint a commencé en 2014, donc au même moment qu’Ethereum s’est lancé, nous on a commencé à réfléchir sur une autre vision. On s’est dit, au lieu de faire une seule blockchain sur laquelle tout le monde va construire son application, on va créer un moteur qui va permettre à chacun de créer sa blockchain facilement, ce qui n’était pas possible avant.
Pour comprendre comment ce moteur fonctionne, il faut comprendre comment une blockchain est constituée. En gros, il y a trois couches fondamentales, il y a la couche réseau, qui est la couche qui propage les messages, il y a la couche consensus, qui permet aux nœuds de s’accorder sur un même état à un même moment, et la couche application, qui en fait donne du sens au message et dépend du cas d’usage, ce qu’on appelle la business logic. Par exemple, pour Bitcoin, c’est des comptes avec des balances, pour une application de gouvernance ça serait les règles qui régissent la gouvernance.
Et donc Tendermint va proposer, en tant que moteur, les couches réseau et consensus, de telle sorte que le développeur n’a plus qu’à se concentrer sur la couche application. Et ces couches réseau et consensus sont à la fois difficiles à développer, et on propose un moteur qui est puissant et le développeur peut ensuite vraiment se concentrer sur la couche application.
En plus, Tendermint a beaucoup d’avantages. Le premier avantage est que cette couche application peut être développée dans le langage de programmation qu’on veut. On n’est pas limité à Solidity, on peut le développer en C, en C++, en Go, en ce qu’on veut. Le deuxième avantage, c’est que Tendermint, c’est un moteur blockchain très performant, dans le sens premièrement où il est ce qu’on appelle Byzantine Fault Tolerance, BFT. Pour la petite note, aujourd’hui, BFT, c’est un mot qui revient assez souvent dans le monde de la blockchain. En 2014, le CEO de Tendermint, Jae Kwon, a été le premier à retourner sur les papiers de 1980, et ramener cette recherche BFT dans le monde de la blockchain, qui est aujourd’hui, et qu’a Casper d’Ethereum et d’autres pour le Proof of Stake.
ethereum casper
Tendermint, c’est un moteur BFT, il a deux propriétés intéressantes parmi beaucoup, qui sont instant finality, une fois qu’une transaction est incluse dans un block, elle ne peut pas être annulée, et la deuxième, c’est le light client qui est très facile à implémenter sur Tendermint. Ce qui n’est pas le cas sur les blockchains Proof of Work. Un autre point intéressant, c’est que Tendermint permet de développer des applications, des blockchains à la fois publiques et privées. Donc, que votre application soit pour une blockchain publique en Proof of Stake ou une blockchain privée en Proof of Authority ou autres, vous pouvez le faire sur Tendermint.
Donc, maintenant, on a plein de blockchains faciles à développer, avec ce moteur. Mais le fait que tous ces blockchains soient développées sur un moteur qui a de la propriété de instant finality comme déjà dit, ça permet de les connecter entre elles. On a développé un protocole qui s’appelle IBC, Inter Blockchain Communication Protocol, qui permet de connecter ces blockchains qui ont cette propriété de finalité entre elles. De manière décentralisée, évidemment. Aujourd’hui, on sait déjà connecter les blockchains de manière centralisée, ce qu’on ne sait pas, c’est les connecter de manière décentralisée.
Donc on a ce protocole, maintenant, IBC, qui permet de connecter des blockchains qui ont la finality. Toutes les blockchains développés chez Tendermint l’ont, mais par exemple, d’autres blockchains comme Casper a aussi cette propriété de finalité.
Maintenant, on peut connecter les blockchains entre elles. Comment on passe à un réseau, à un internet de blockchains? Ce Cosmos, fondamentalement, c’est un réseau de blockchains, un internet de blockchains, c’est-à-dire un écosystème où les blockchains peuvent se parler. La solution naïve, c’est de connecter toutes les blockchains entre elles, mais ça, ça ne marche pas très bien, parce qu’internet ne s’est pas construit comme ça pour des problématiques de scalabilité évidentes. Si on a M blockchain dans le réseau, on va croitre en M carré. Ca ne tient pas très longtemps. En fait, ce que Cosmos fait, c’est qu’on a une architecture en hub and spoke, c’est-à-dire qu’on a des hub et des zones, et les hubs agissent comme des routeurs.
Si je veux développer ma blockchain dans Cosmos, j’utilise Tendermint en quelques jours et je développe une blockchain, et après, je mets une connection IBC avec le hub, et je suis connecté avec tout le monde. Il peut y avoir plusieurs hubs, bien sûr, mais il y aura beaucoup plus de zones que de hubs.
Donc le Cosmos Hub, c’est ce qu’on est en train de développer aujourd’hui, chez Tendermint, et ce sera la première blockchain dans Cosmos, et ça marquera le lancement de Cosmos. Pour ceux qui suivent d’un peu plus prés, ça devrait arriver très bientôt, d’ici quelques semaines.
La troisième problématique dont je vais parler, c’est la scalabilité. Comment on y arrive ? En fait, on a deux façons d’arriver à la scalabilité, la première, c’est que Tendermint permet à lui seul d’arriver à plusieurs milliers de transactions par seconde, et si Tendermint arrive à son maximum, c’est-à-dire que notre application a trop de transactions, trop de demandes de transaction, ce qu’on peut faire, c’est mettre plusieurs chaînes en parallèle, avec la même application, et résoudre via IBC pour qu’elles se comprennent entre elles. Ça s’appelle de la scalabilité verticale, et ça ne sera pas avant 2019. Mais théoriquement, c’est faisable.
Ethereum
Voila. C’étaient les trois points de Cosmos à comprendre. Maintenant, je vais juste finir sur la vision, parce que pour ceux qui sont rentrés dans la blockchain et qui connaissent en fait que les smart contracts et les applications décentralisées sur Ethereum, ça peut paraître un peu bizarre de se dire « Pourquoi j’irais développer mon application en tant que blockchain, avec ma propre blockchain, plutôt que de la développer sur un smart contract? ». Alors, il y a plusieurs raisons pour lesquelles on pense que c’est un meilleur design à long terme, la première, c’est que, pour des raisons de performance, comment on lève la machine virtuelle entre l’application et les couches réseau ou consensus, on gagne en performance, comme la plupart des langages qui compilent directement sont plus performants que les langages qui tournent avec une machine virtuelle. Performance.
La deuxième, c’est la flexibilité. On peut développer son application dans le langage qu’on veut. Mais ce n’est pas tout. Quand on a une blockchain qui est une machine virtuelle, par la machine virtuelle impose des limites sur l’application. Et ces limites sont tout à fait justifiées parce qu’il y a plein d’applications qui peuvent venir, donc il faut mettre des limites pour garantir la sécurité. Un exemple, sur Ethereum, ce n’est pas possible d’avoir de l’exécution automatique de code. Toute exécution de code doit être déclenchée à la base par un Hedge-user. Et ça fait sens, sur Ethereum, si on veut garantir la sécurité.
Mais si on a une application pour une chaîne, alors les problématiques de sécurité évoluent et on peut avoir de l’exécution automatique de code. Ce qui débloque plein de use cases. Nous, par exemple, pour le Cosmos Hub, on utilise plein d’exécutions automatiques de code. Il faut juste faire attention, comme n’importe quel programme, qu’on n’a pas de boucle infinie et cetera. Mais si on a un problème, et qu’on a une boucle infinie, ce n’est pas grave parce que comme on tourne sur notre propre blockchain, on peut tout à fait revenir en arrière, et les autres blockchain ne seront pas affectés.
Et ça m’amène à mon troisième point, qui est, celons moi, le plus important, et qui est souvent pas beaucoup évoqué aujourd’hui et pour moi, la raison en est que c’est un point très noir sur les blockchain, machines virtuelles comme Ethereum et cetera, c’est la problématique de souveraineté. C’est-à-dire que quand on déploie son application sur une blockchain de type Ethereum ou machine virtuelle en général, on a une souveraineté très limitée. Les deux exemples très connus sur Ethereum, c’est le Hack du DAO et le Hack de Parity.
DAO
Le Hack de DAO, il y a eu un bug, plein d’argent a été perdu, qu’est-ce qu’on a fait ? Il y a eu de la gouvernance qui n’a pas suffit. La gouvernance du DAO n’a pas suffit on a eu besoin de passer sur la gouvernance du réseau, et il y a eu un hard fork. Je pense qu’on ne reverra pas un hard fork de sitôt, vu le scandale que ça a fait.
Il y a eu le Hack de Parity, il y a eu aussi plein d’argent de perdu, il n’y a pas eu de hard fork. Pourquoi ? Parce que la gouvernance de Parity, de l’application de Parity, n’est pas alignée avec la gouvernance du protocole en dessous, qui fait tourner l’application.
Ce qu’on veut, c’est réaligner les gouvernances. C’est-à-dire qu’une application pour une blockchain. Si l’application a un problème, on peut revenir en arrière. Ce n’est pas un problème parce que cette gouvernance est limitée à la blockchain. Les autres blockchains ne reviendront pas en arrière si une BK revient en arrière. Et on garde cette compatibilité via Cosmos. Donc l’idée générale, c’est de dire : « Chacun a sa propre souveraineté, sa propre indépendance, mais est quand même capable de discuter avec les autres et de scale. ».
Voilà, ça c’est la vision pour laquelle on pense qu’à long terme beaucoup d’applications viendront sur leur propre blockchain au-delà des problématiques de scalabilité, au-delà des problématiques de flexibilité, il y a aussi des problématiques de souveraineté qui sont très importantes.
Pour finir, sur là où on en est aujourd’hui, on espère se lancer d’ici quelques semaines. Cosmos, c’est un écosystème, c’est un réseau décentralisé, c’est un réseau de blockchain. N’importe qui aujourd’hui peut venir et construire sa propre blockchain dans Cosmos. Le Cosmos Hub qui est développé par Tendermint, qui est aussi une entreprise, sera la première blockchain qui marquera le lancement de Cosmos, mais dès aujourd’hui, vous pouvez venir développer sur Tendermint, que vous ayez un projet privé ou un projet public, pour Proof of Stake, pour Proof of Authority, vous pouvez dès aujourd’hui construire sur Tendermint, c’est un produit stable qui est développé depuis 2014, il a été audité de nombreuses fois.
Le tool kit Cosmos est un peu plus récent, un peu moins stable, mais on approche la stabilité et d’ici quelques mois, on pourra avoir un écosystème qui va le déveloper. J’ajoute enfin qu’on a plus de cinquante projets aujourd’hui qui sont en train de développer sur Cosmos aujourd’hui. On espère que beaucoup d’autres les rejoindront rapidement. Voilà. Merci.
With the question of the Byzantine default, we touch one of the main problems that face decentralized networks relying on a blockchain.
When computers are organized in networks, there are mainly two types of defaults: the default of a computer for purely material reasons ( » fail Crash « ) or the fact that a computer communicates incorrect information to the other computers of the network, in a deliberate way or not.
This last case is known as the » Byzantine failure « . The question that arises is to know up to which number of ill-intentioned members, it is possible to have trust in a consensus mechanism and thus in the good health of a decentralized network.
In a decentralized network, the purpose of a consensus mechanism is to ensure that all members agree on the order of the addition of the transactions to the shared database, i.e the blockchain.
It is possible to reach an honest consensus in spite of the existence of malicious members whose objective is to harm the network by preventing it from reaching this consensus. When a certain number of members cannot be trusted, a consensus cannot be securely reached and the order of transactions added to the database is not certain anymore. If this happens this is the end of the network because no transactions cannot be exchanged between the members anymore.
Many of the solutions that have been devised over the last twenty years to solve this issue also know as the « Byzantine default problem », are widely used nowadays to develop consensus protocols that meet the expectations of blockchain applications.
1 – The problem of the Byzantine generals:
The example of the « Byzantine Generals » is has been used to illustrate the « Byzantine default » and to better understand the difficulties faced by a decentralized network to reach consensus.
The problem of Byzantine generals was first imagined by Leslie Lamport, Robert Shostak, and Marshall Pease in their 1982 essay, and is intended to illustrate the communication and understanding problems (voluntary or not) that may arise between different members or nodes of the same network.
You must imagine a group of generals directing the Byzantine army encircling an enemy city and whose objective is to carry out a coordinated attack. To do this, the leading general decides the time of the beginning of the assault and orders his messenger to carry the information to other generals. Each general must pass on the information he receives to the other generals so that they all have the same information and launch the attack at the same time. If they do not attack at the same time, they are sure to lose the battle.
Byzantine generals
The problem arises when one or more generals are malicious and decide to transmit information that is not correct such as advancing the attack by one hour. The consequence is that some of the generals will attack at a certain time and the other party an hour later.
Transposed into computer science, each general represents a computer of the network and the time of attack, the order of the transactions on the ), it is necessary to set up algorithms that will reach a common answer despite the malicious members, that is to say if we take our example, to agree on a single moment to attack the city.
2 – The proposed solutions
The algorithms of the Byzantine Generals better known as « Byzantine Fault Tolerance Algorithms » (« BFT ») are highly sought after because they guarantee to maintain security properties on a network as long as a certain number of « f » nodes are not failing.
This approach of the consensus system implies that the identity of each member is known, which requires the existence of a centralized entity in charge of the management of this data. From this point of view, the protocols based on a BFT algorithm are more adapted to « private » blockchain models or requiring permission (« permission blockchains ») and offer a much greater resistance to attacks.
This type of protocol has the advantage of the finality of its consensus which means that a block added to the blockchain cannot be questioned (by a separate fork). This is not the case with the mechanism of the Proof of Work where two blocks can be added at the same time to the blockchain creating two competing chains.
With BFT it is not possible to create a « fork » on the blockchain, which permit to align execution and confirmation of transactions and thus accelerate considerably their realization.
3 – Practical Byzantine fault tolerance: the example of Hyperledger
The protocol of « Practical Byzantine Fault Tolerance » (« PBFT ») was presented for the first time in an essay by Miguel Castro and Barbara Liskov published in 1999. This protocol has the huge advantage of being able to perform tens of thousands of transactions per second, which is, of course, a must to be applicable to large networks.
The algorithm maintains security properties as long as less than one-third of the nodes or replicas are corrupted.
The basic communication pattern under the PBFT protocol is realized in several steps:
byzantine fault tolerance
REQUEST: The client sends a message including its service request to the main server.
PRE-PREPARE: The primary server assigns a number to this request and sends a PRE-PREPARE message to the other servers (members).
PREPARE: Each server sends each of the other servers a message of « PREPARE ».
COMMIT: Each server sends each of the other servers a message of « COMMIT ».
REPLY: Once a sufficient number of servers agree on the order of the request, each server sends its response to the client.
If the client does not receive a response after a certain period of time, it retransmits a request to all the replicas that transmit it to the main server. If it does not implement this request in a given period, the replicas will consider that the main server is missing and will start a « change of view » to all servers. When enough replicas have started a « change of view », they are able to receive the next request using a different primary server.
The performance of the PBFT has been significantly improved through the use of « message authentication code » (MAC) that allows authentication of different servers rather than using digital signatures.
This system is therefore both fast and efficient but also decoupled from any form of participation in the network (unlike Proof-of Stake), which allows small members to participate in the regulation of the network.
A major problem, however, is that PBFT-based systems require all parts of the network to agree on an exact list of participants. Indeed, leaving the open network would put him at risk of a so-called « Sybil attack », during which an attacker can create a significant number of nodes in order to dominate the system since decisions are made if the vote reaches a threshold (or certain quorum).
The Practical Byzantine Fault Tolerance is therefore particularly suitable for closed blockchain networks requiring identification and validation of each member.
4 – The Hyperldger Consensus:
1 – The customer creates a transaction and sends it to a peer in charge of the submission (« submitting peer ») of his request. The « submitting peer » can here be compared to the main server that we have described above.
2 – The « submitting peer » prepares a transaction and sends it to the peers in charge of approving new transactions or activating existing transactions (« endorsing peer »). These « endorsing peer » can be compared to « replicas » also mentioned above.
3 and 4 – The « submitting peer » then collects the approval and submits the transaction to the service of consensus (« consensus service »).
5 – The « consensus service » then distributes the transaction to the members of the network who will verify that it contains no error.
hyperledger
5 – The Ripple Ledger Consensus Process: Probability Based Voting
In a very basic way, Ripple can be considered as creating a network of people or entities that claim credit authorizations from each other.
A server (called the « s »), which is an entity that has access to the Ripple Server Protocol and therefore participates in the implementation of the consensus (unlike the Ripple Client Software that can only make transactions), has a « Unique Node List » or « UNL » (literally a « single node list »). Only the vote of Servers contained on this list of participants is taken into account to reach the consensus. It is therefore a subset of the members of the network which, when taken collectively, is considered by « s » to be trustworthy. Note that the server « s » is not obliged to trust a server individually.
Ripple
Concretely, the Ripple Protocol consensus consensus algorithm (« RPCP »), takes place every second in several steps:
Each server gathers all the valid transactions it received before the beginning of the consensus process in a batch called « candidate group » (« set candidates ») that it then makes public.
Each server then groups all the candidate groups of all the list servers on its « Uniq Node List » and votes on the accuracy of each of these transactions.
Transactions that receive a minimum percentage of vote are selected for the next vote, if there is one. Transactions that do not meet the required percentage are rejected and add to the next « group of candidates ».
The last vote requires that each transaction has a minimum of 80% of the vote of all the servers of the UNL, otherwise the transaction can not be added to the register (« Ledger »). This means that as long as 80% of the servers on the UNL are honest, no fraudulent transaction can be approved.
SCP is developed to deal with the problem of « Byzantine Default », leading to consensus without having to obtain the consent of all members of the network. This is an important difference with other Byzantine fault resistant systems that require the consent of network nodes to achieve this.
More precisely, SCP proceeds in 4 phases in the same way as protocols like Paxos. The nodes of the network exchange a series of polls to confirm and finally accept a value. For that, it determines a minimum quorum, ie a minimum number of members of the network having to vote to obtain an agreement. Each node chooses one or more parts of quorum (« quorum slice ») and included in each part of the nodes in which it has confidence. Each of these quorum shares will then intersect each other.
Stellar
To reach an agreement, the SCP protocol relies on a property called « the intersection of quorums ».
The idea behind this concept is that each node that is honest has a network topology strong enough to reach a consensus. For this, we assume that if we remove the nodes that are malicious and the nodes that depend on it and that the intersection of the quorum is maintained, then the topology of the network is strong.
La plupart des mécanismes utilisés dans un réseau reposant sur une blockchain existaient avant le whitepaper publié par Satoshi Nakamoto. Les réseaux de pair à pair, comme les mécanismes de Hachage Cryptographique et de cryptage de clés Asymétriques par exemple, sont connus et utilisés de longue date. La vraie révolution initiée par le Bitcoin en 2009 est la cryptoéconomie et il est primordial de bien comprendre ce concept si vous voulez saisir la vraie valeur ajoutée de la révolution blockchain.
Le but de la cryptoéconomie est de construire des protocoles solides qui pourront organiser et développer des réseaux pair-à-pair décentralisés.
Les réseaux pair-à-pair sont apparus il y a plusieurs années et vous en avez peut être déjà utilisé. « Les torrents » par exemple, très utilisés pour partager le dossier en ligne (surtout video et audio), sont des réseaux de pair-à-pair. Mais ces réseaux manquent d’efficacité, parce que si les membres téléchargent volontier les contenus qui les intéressent, ils n’ont aucun intérêt à partager le leur.
Le génie de Satoshi Nakaomoto est d’avoir créé un protocole (le protocole Bitcoin) qui prévoit de récompenser les membres du réseau pour leur participation dans l’administration du réseau (les mineurs recoivent 12,5 bitcoins par block ajouté à la blockchain). La blockchain n’est que l’outil qui permet de sécuriser et de conserver l’historique des transactions réalisées entre les membres du réseau.
Si nous reprenons l’exemple des Torrents, nous pourrions très bien imaginer que les membres du réseau recoivent un certain nombre de jetons pour chaque vidéo ou musique qu’il met (légalement) à la disposition des autres membres du réseau.
Comme nous allons le voir, la notion de cryptoéconomie concerne l’incitation au développement du réseau, mais également sa sécurité.
Qu’est ce que la cryptoéconomie ?
Un réseau de Pair à Pair comme le bitcoin est une économie décentralisée et autonome qui doit être mise en oeuvre par ses membres, puisque cette fonction n’est plus déléguée à un tiers de confiance. Mais ces membres comme n’importe quels humains, sont rationels et ne passeront pas leur temps à travailler pour un réseau gratuitement. C’est la raison pour laquelle ils doivent être récompensés et c’est précisément ce que Satoshi Nakamoto a inventé.
Le mot cryptoéconomie contient deux éléments distincts: Cryptographie et Economie. La “Cryptographie” fait référence aux mécanismes techniques visant à sécuriser un réseau décentralisé et « l’Economie » est la façon dont ces mécanismes sont organisés pour inciter les membres du réseau à les mettre en oeuvre. Pour simplifier, la cryptoeconomie est l’utilisation d’argent pour sécuriser un réseau décentralisé.
Quel est le but de la Cryptoéconomie?
Le but de cryptoeconomics est de développer de manière sécurisée un réseau décentralisé basé sur un protocole. Dans cette définition il y a deux aspects différents: la sécurité (“crypto”) et le développement (“economie”).
La notion de “sécurité” signifie que le réseau décentralisé doit toujours parvenir à un consensus concernant la mise à jour de la base de données partagée (c’est à dire la blockchain), et ce même lorsqu’un certaine nombre de ses membres agit de façon contraire à l’intérêt du réseau (voir l’Attaque Générale Byzantinne ci dessous). Autrement dit, les membres du réseau doivent parvenir à un accord sur l’ordre des transactions qui doivent être ajoutées à la blockchain, pour s’assurer que les jetons (bitcoin par exemple) ne sont pas dépensés à plusieurs reprises, problème mieux connu sous le nom de “Double Dépense”.
Pour ce faire, différents mécanismes de consensus, tels que la “Preuve du Travail”, la “Preuve de l’Enjeu” ou encore la “Preuve de l’Enjeu Délégué”, peuvent être utilisés.
Cryptoeconomics
La notion “développement” signifie que les membres du réseau sont incités à actionner les mécanismes cryptographiques visant à mettre à jour la base de données partagée de manière sécurisée.
Comme nous l’avons évoqué dans cet article, certains réseaux de pair-à-pair préfèrent déléguer à un autre réseau, l’administration de la blockchain sur laquelle sont enregistrées les transactions réalisées entre les membres de leur réseau. C’est notamment le cas des Applications Décentralisées (Dapps) développées sur la blockchain Ethereum. Ce dernières emmettent de “Tokens” dont l’objet est d’inciter les individus à utiliser cette application. Ces “Tokens” diffèrent des “Coins” émis par les réseaux de pair-à-pair entretenant leur proper blockchain, en ce qu’il ne rémunèrent pas les membres du réseau pour les activités de minage et donc de sécurisation du réseau. Dans le cas d’Ethereum, les “Ether” sont les “Coins” qui assurent le bon fonctionnement du consensus au nom de toutes les Dapps enregistrées sur le blockchain Ethereum.
Sans rentrer dans le detail du fonctionnement de ces applications, il est important de noter que la notion de cryptoéconomie pourra avoir un sens légèrement différent selon que nous parlons d’un réseau de pair-à-pair utilisant sa propre blockchain, ou d’un réseau l’ayant délégué à un autre réseau.
Nous nous concentrons ici sur la notion de cryptoéconomie dans un réseau de pair-à-pair entretenant sa propre blockchain.
L’Attaque des Généraux Byzantins
Ce concept est essentiel pour comprendre comment les membres ostiles d’un réseau peuvent attaquer ce réseau décentralisé. Il est important de noter que l’attaque viendrait seulement de l’intérieur, c’est à dire de personne qui ont téléchargé le protocole et ont décidé de l’utiliser contre le reste du réseau.
Si plusieurs membres décident d’agir (en même temps ou non) en infraction des règles du protocole ou de les exploiter en vue de rendre impossible la mise jour de la base de données partagée et ainsi d’enregistrer de nouvelles transactions entre les membres du réseau.
Byzantine generals
L’exemple des Généraux Byzantins a été créé pour illustrer ce concept. Vous devez juste imaginer des généraux prêts à attaquer une ville. Ils sont tous placés autour de la ville et ils doivent se coordonner pour lancer une attaque. Si au moins 2/3 de l’armée n’attaque pas en même temps, ils seront dépassés par l’armée de la ville et perdront la bataille. Le général principal envoie un messager au général qui est à côté de lui pour communiquer le temps de l’attaque et demander à ce général de transmettre les informations au général suivant. Mais le problème se pose si un (ou plusieurs) general est un traître et décide de communiquer une heure différente.
L’armée des généraux correspond à un réseau decentralisé et l’heure de l’attaque à l’ajout d’une transaction. Toute la difficulté réside dans la capacité du réseau à trouver un consensus (sur l’heure de l’attaque et l’ordre d’ajout d’une transaction).
Les mécanismes cryptographiques utilisés par des réseaux décentralisés pour résoudre la question d’une attaque byzantinne sont différents selon que nous nous référons à une blockchain privée ou à une blockchain publique.
Avec une blockchain publique, le mécanisme le plus célèbre est la “Preuve du Travail”, qui a été popularisé par le bitcoin. D’autres mécanismes comme la Preuve de l’Enjeu” ou la “Preuve de l’Enjeu Délégué” sont de plus en plus adoptés.
Avec les blockchain privées, des mécanismes comme la “Practical Byzantine Fault Tolerance” (utilisée par Hyperledger par exemple) et “Federated Byzantine Agreement” (utilisé par Stellar ou Ripple) sont plus développés.
L’exemple de Bitcoin
D’une part, le protocole de Bitcoin utilise plusieurs mécanismes cryptographiques pour assurer que les utilisateurs conservent leurs bitcoins sans risque (le Cryptage de clé Asymétrique), que les transactions soient définitivement ajoutées à la blockchain (le hachage cryptographique utilisé dans le mécanisme de la Preuve du Travail) et que tout l’historique des transactions du réseau soit impossible de changer (l’Arbre de Merkle).
D’autre part, la cryptoéconomie à travers la Preuve du Travail est utilisée pour sécuriser le système parce qu’il rend toute attaque trop chère pour être conduit par l’attaquant rationnel.
bitcoin
Le protocole de Bitcoin le rend en effet extrêmement cher le minage du bitcoin pour éviter « l’attaque de 51 % », qui implique qu’un mineur rassemble plus de 50 % de la capacité de minage du réseau. Si un mineur venait à atteindre cette limite, il aurait la possibilité de défaire les blocs précédement ajoutés à la blockchain. Mais il est estimé que concentrer 51% des capacities de minage exigeraient USD 6 milliards de materiel informatique et consommeraient USD 4 millions en énergie chaque jour (https: // gobitcoin.io/tools/cost-51-attack/), ce qui rend toute attaque économiquement presque impossible.
C’est pourquoi nous mentionnons que le coût élevé du minage assure la sécurité du réseau. C’est aussi pourquoi ceux le coût augmentent proportionnellement au nombre des mineurs intervenant sur le réseau. Il est important de noter que « l’attaque de 51 % » n’est pas simplement théorique puisqu’un groupe de mineurs (Mining Pool) a atteint ce seuil en 2014.
Enfin le mécanisme de la Preuve du Travail est étudiée pour récompenser des mineurs pour leur participation dans le processus de consensus. Chaque mineur qui a réussi à ajouter un bloc à la blockchain reçoit 12,5 bitcoin. De cette façon les mineurs peuvent rembourser leurs investissements dans le materiel informatique, l’électricité et la bande passante.
Comme le rappel Elad Verbin : « vu d’une autre façon, Nakamoto a trouvé une solution théorique au Problème des Généraux Byzantins, en payant aux généraux un salaire tant qu’ils agissent honnêtement, mais annule ce salaire s’ils sont attrapés en essayant de tricher. »
SI CET ARTICLE VOUS A PLU N’HESITEZ PAS A LE LIKER ET A LE PARTAGER
Most of the mechanisms used in a blockchain network existed before Satoshi’s whitepaper. Peer to peer network, Cryptographic Hashing, Asymmetric key encryption, Merkle Tree, for instance, have been well known for a long time. The true revolution brought about by the Bitcoin in 2009 is cryptoeconomics and it is paramount to understand it if you want to grasp the real value of the blockchain revolution.
The purpose of cryptoeconomics is to build strong protocols that will be able to govern and securely develop peer-to-peer decentralized networks.
Peer to peer networks exist for some time. « Torrents » for instance, that many people used to share folder online, are peer to peer networks. However, they lake efficiency because members are happy to download content, but have no interests in sharing theirs. Blockchains, through cryptoeconomics, would give members this incentive to share folder, by giving token in exchange for instance.
In other words, blockchain networks could be compared to an incentive machine that will inject market structures in decentralized networks.
Cryptoeconomics
How does Cryptoeconomics work?
A peer to peer network such as the bitcoin is a decentralized and autonomous economy that needs to be implemented by its members since this function is not delegated to a third party anymore. But these members like any humans, are rational and will not spend their time working for a network for free. That’s the reason why they need to be rewarded and this is precisely what Satoshi has invented.
Cryptoeconomics refer to « crypto », which are the technical mechanisms of a decentralized network, and « economics » which are the way these mechanisms are organized to incentivize members of the network to action it or develop it. To speak in basic terms, cryptoeconomics is the use of money to secure and develop a decentralized network.
Security means that the decentralized network must find a consensus on the way to update the shared database (i.e the blockchain) even when a certain amount of its members are not trustable (the Byzantine General Attack).
Development means that the members of the network are incentivized to update the shared database, i.e to use the service provided by the protocol and the network. We will now describe these two points.
The Byzantine General Attack
This concept is essential to understand how rogue members of the network can attack a decentralized network. It is important to note that attack would only come from the inside, i.e from persons who have downloaded the protocol and have decided to use it against the rest of the network. If several members are acting in breach of the rules of the protocol or exploiting them at the same time, the network is under attack since it could become impossible to update the shared database and so monitor additional transactions among members of the network.
Byzantine generals
The example of the Byzantine Generals has been created to illustrate the concept. You just need to imagine 5 generals ready to attack a town. They are all placed around the city and they just need to coordinate with each other to launch the attack. If at least 2/3 of the army does not attack at the same time, they will be outnumbered by the city’s army and lose the battle. The leading general sends a messenger to the general who is next to him to communicate the time of the attack and ask this general to transmit the information to the next general. But what if this general is a traitor and decides to communicate a different hour.
Cryptographic mechanisms used by decentralized networks to solve the Byzantine attack issue are different depending on if we refer to a private or a public blockchain. With public blockchain, the most famous is Proof of Work, which has been popularized by the bitcoin. Other mechanisms such as Proof of Stake or Delegated Proof of Stake are gaining traction every day. With private blockchain mechanisms such as Practical Byzantine Fault Tolerance (used by Hyperledger for instance) and the Federated Byzantine Agreement (used by Stellar and Ripple) are more developed.
The Bitcoin example
On one hand, Bitcoin protocol uses several cryptographic mechanisms to ensure that users safely detain their bitcoin (Asymmetric key encryption), that transactions are securely added to the blockchain (cryptographic hashing used to link each block and transactions) and that all the history of network transactions is impossible to change (Merkle Tree).
On the other hand cryptoeconomics through Proof of Work are used to secure the system because it makes attack too expensive to be conducted by a rational attacker.
The Bitcoin protocol makes it extremely expensive to mine bitcoin in order to avoid the « 51% attack », which implies that a miner gathers more than 50% of the network hashing power. Crossing this limit would give this miner the possibility to prevent other miners to add a block to the blockchain and undo previous blocks. But it is estimated that gathering 51% of Hashing power would require USD 6 billion in hardware and consume USD 4 million per day (https://gobitcoin.io/tools/cost-51-attack/), which obviously cannot be profitable just by removing a block from the blockchain. This is why we mention that the high cost of mining ensures the security of the network. This is also why these costs increase proportionally to the number of miners acting on the network. It is important to note that the « 51% attack » is not simply theoretical since a mining pool reaches this threshold in 2014.
Finally, the Proof of Work mechanism is tailored to reward minors for their participation in the consensus process. Each miner who managed to add a block to the blockchain will receive 12,5 bitcoin. This way minors can repay their investments in mining material, electricity and bandwidth.
According to Elad Verbin, « Nakamoto found a clever game-theoretic solution to the classic Byzantine Generals’ Problem, by paying the generals a salary as long as they act honestly, but garnishing that salary if they are caught trying to cheat. »
Several incentive systems already exist
As we just explained, each decentralized network organized over a blockchain is an autonomous ecosystem, which uses different mechanisms to induce its members to participate in the development and/or the security of the network. Members are generally rewarded with tokens issued by the protocol.
These revenues can be very varied and depend on the problem that attempts to resolve the protocol. We can see patterns appearing and we will describe in a separate article the cryptoeconomics primitive, which have already been identified. In this article we will, however, identify three modes of recurring compensation:
– Dividend
– Buyback
– Increase in value
Cryptocurrencies 2018
1 – DIVIDENDS
A token generates dividends when the members of the network are paid for their participation in the network. This participation may take several forms:
– The provision of resources: users of a network are paid for lending to the network resources, which belong to them. These resources can be very varied:
It may be the calculation capacity of a computer installation: Mining is the most common example. As we described above, the miners of a network (bitcoin for instance) offer to the network their own computer installation calculation capabilities (hashing power), to complete the consensus mechanism (proof of work for example) and add the transactions of the network on the blockchain. Minors are therefore paid for their contribution to the network, in bitcoin created by the Protocol (and costs attached to transactions). Mining is also the only mechanism for the creation of bitcoin.
It can also be memory space: In the case of SIA, Storj, Filcoin, Madsafe, users are paid to let other members of the network dispose of a part of the memory of their computer installation.
– By the production of content: Steemit is a good example. It is the first social media on which members are paid for posting articles and comments. Each member of Steemit vote for the articles that he reads and generates remuneration for the writer that is proportional to its level of involvement in the network. So as soon as you vote for an article, the protocol automatically grants remuneration. The more Steem token (token issued by the Protocol Steemit) you possess, the more your vote will make a significant remuneration to the author of the article.
The number of people who votes for your article is important because the more vote you receive the more money you receive. It is not rare to see writer be paid $500 for their articles.
Steemit is an excellent example of the way the Internet will evolve in the coming years. At the moment we provide the few platforms that we use (Facebook, Twitter, Intagram…) with all our content and personal data for free. But this period will end pretty soon. With the decentralized protocols and the new social media platforms, you no longer need to give your personal data and you are paid for the content that you add. This formula will apply very soon to all platforms who wish to survive the blockchain.
For example, I would not be surprised to see websites such as Tripadvisor compensate its users with travel tokens for any comments added on the hotels that you have visited. These tokens would grant you free nights in other hotels.
2 – TOKEN REDEMPTION:
In cryptoassets universe, token redemption does not take the same form as securities redemption that we are currently experiencing. The redemption is carried out in an indirect manner by the destruction of tokens.
It is indeed important to understand that in a network where the number of tokens is limited, destroying a certain number of tokens increases the value of the remaining tokens.
Bitshares consensus mechanism (delegated Proof of stake), for example, allows « witnesses » wishing to be elected to propose to the members of the network of « burn » (« burn ») a part of tokens that they will receive from the protocol as a reward for their work of « mintage » (we talk about « mintage » for proof of stake mechanism and not of « mining », but the meaning is the same). Instead of getting richer, they, therefore, propose to remove these tokens from the network and thus to increase the value of other tokens.
3 – THE INCREASE OF VALUE
This is a common component of any investment, yet it is important to understand how and why a token gets value.
IF YOU ENJOYED THIS ARTICLE AND FOUND IT USEFUL, PLEASE DO NOT HESITATE TO LIKE IT AND SHARE IT! THANK YOU
Créé par Zooko Wilcox-O’Hearn en Octobre 2016, ZCash a été imaginé pour corriger et améliorer l’anonymat proposé par le protocole Bitcoin. Ce dernier utilise en effet le mécanisme de cryptage de clés asymétriques. Chaque membre du réseau dispose en effet d’une clé privée et d’une clé publique. Si nous comparons le paiement en bitcoin à celui avec une carte bleu, la clé publique correspond à votre numéro de carte bleu que vous pouvez échanger librement, et votre clé privée à votre code secret qui permet d’autoriser les dépenses et ne doit pas être révélé.
Le problème avec le Bitcoin est que toutes les transactions sont librement consultables sur la blockchain. Il a été démontré qu’il est relativement facile d’identifier le détenteur d’une clé publique et donc d’avoir accès aux transactions réalisées par cette personne.
Zcash résout ce problème en utilisant un zk-SNARK un algorithme de cryptage utilisant le mécanisme de la « Preuve sans Connaissance ».
Zk-SNARK (pour « zero-knowledge Succinct Non-interactive ARgument of Knowledge ») l’algorithme utilisé par Zcash.
zcash
Zk-SNARK est un algorithme publie durant le troisième trimestre de 2016 dans le cadre de la création de ZCash, dont la vocation est de permettre des transferts de valeurs réellement anonymes et décentralisés en utilisant, parmi d’autres technologies, la preuve sans connaissance. Concrètement, ZCash permet de transférer de la valeur sous forme de jeton ZCash sans pour autant avoir à dévoiler votre adresse, l’adresse de votre destinataire et le montant que vous souhaitez transférer.
Cet algorithme permet donc de transférer des données entièrement cryptées et seulement donner la clé de décryptions (clé publique) au destinataire du message ou de la transaction. Ceci est une première, parce qu’auparavant il était impossible d’effectuer des transactions sur un réseau public (non-autorisé) sans permettre aux mineurs d’accéder aux données du message pour déterminer si la transaction est valide ou non. L’algorithme Zk-SNARK repose sur le mécanisme de la « preuve sans connaissance ».
Preuve sans connaissance (“Zero Knowledge Proof”)
La notion de ‘zero knowledge’ a été soulevée pour la première fois dans les années 80 par trois chercheurs du MIT: Shafi Goldwasser, Silvio Micali et Charles Rackoff. Ils travaillaient alors sur l’interaction des systèmes de preuves dans lesquels une partie (le démonstrateur) échange un message avec une seconde partie (le vérifieur) en vue de convaincre le vérifieur de la véracité d’une déclaration mathématique.
La question qu’ils se sont posés était celle de savoir de quelles informations le vérifieur va-t-il prendre connaissance au cours du processus de vérification au delà du fait de savoir que la déclaration mathématique est correcte.
Concrètement un système de Preuve sans connaissance permet de vérifier la véracité d’une déclaration sans pour autant en connaitre le contenu. Peut-être qu’un exemple permettra de mieux en comprendre le fonctionnement.
Zcash
Imaginons que j’essaye de vous convaincre que j’ai un superpouvoir, celui de compter toutes les feuilles d’un arbre en une fraction de seconde. Je souhaite vous le prouver sans pour autant vous révéler le nombre de feuilles qu’il y a dans l’arbre ni la nature de mon super pouvoir.
Je vais fermer les yeux et vous offrir le choix de prendre une feuille dans l’arbre ou non. Vous allez donc soit décrocher une feuille de l’arbre soit ne rien prendre. Je n’ai pas d’autre moyen de savoir si vous avez pris une feuille ou non, qu’en comptant les feuilles de l’arbre avec mon super pouvoir. Maintenant je regarde l’arbre et vous allez me demander si oui ou non vous avez pris une feuille.
Si je vous donne un mauvais réponse vous allez immédiatement savoir que je n’ai pas de super pouvoir. Si je vous donne une bonne réponse vous allez vous dire que j’ai été chanceux. Dans ce cas, nous pouvons répéter le processus décrit plus haut jusqu’à ce que vous soyez convaincu de mon super pouvoir et que je connais le nombre exact de feuilles dans l’arbre.
C’est ce mécanisme qui est utilisé par Zk-SNARK pour procéder les transactions du réseau ZCash en conservant l’anonymat des parties à la transaction ainsi que le contenu de celle-ci. De ce point de vue, ZCash présente un degré d’anonymat supérieur par rapport au bitcoin.
SI CET ARTICLE VOUS A PLU, N’HESITEZ PAS A LA LIKER ET LE PARTAGER!!
The delivery of physical gold may soon be safer thanks to a company that intends to use blockchain – the technology that powers the cryptocurrencies operations. Emergent Technology Holdings wants to use the platform in securing gold transactions.
Blockchain ledgers are like online journals that can’t be tampered with. Once something has been written on a blockchain ledger, the information stored remains available for public viewing forever.
By digitally encoding gold in blockchains, private holders and central banks will be able to account for each ounce of the metal throughout the delivery. Blockchains Expert claims that this could upend the current banking system since banks are traditionally the gatekeepers to these ledgers. The technology allows both parties in the transaction to update the data in the ledger without the need for a middleman.
Gold is one of the most important and expensive resources on Earth that has both trade and intrinsic value. Currently, FXCM details that an ounce of gold fluctuates at around $1,228 (€1,050 or £931). At the minute, central banks use a “trust” system whenever they allow foreign central banks to store gold. However, this isn’t a very reliable method for storing the precious metal. This issue was highlighted when Germany’s central bank wasn’t able to repatriate some of its precious metals from the US immediately in 2013.
With blockchain technology, storing and tracking the movement of gold should be better and more secure. If Emergent Technology becomes successful in using blockchain in digitally encoding gold delivery, the trust system may be rendered obsolete in the near future.
This isn’t the first time that a company hoped to use blockchain in track gold. Emergent Technology said, however, that their approach is “fundamentally different” because their mission is to track “responsibly-sourced gold.”
Apart from digitalising gold deliveries, Emergent Technology formed a partnership with Yamana Gold to create G-coins – a cryptocurrency backed by gold. According to their plans, one G-coin will be pegged to one gram of gold’s spot price. As a blockchain-based investment, G-coins will act as digital certificates that can be used for diversifying investment portfolios or payment.
By creating a digital token that is fully backed by gold, Emergent Technology hopes for a more liquid market for trading the metal. The cryptocurrency market is one of the most popular industries today. Bitcoin, for instance, is often compared to gold as a safe haven investment. Although naysayers have a very different opinion, combining gold with digital coins is still predicted to attract even veteran investors.
Avec la question du défaut byzantin nous touchons au cœur des problématiques liées aux réseaux décentralisés reposant sur une blockchain.
Lorsque des ordinateurs sont organisés en réseau, il existe principalement deux types de défauts: le défaut d’un ordinateur pour des raisons purement matérielles (“Crash fail”) ou le fait qu’un ordinateur communique des informations incorrectes aux différents ordinateurs de manière intentionnelle ou non.
Ce dernier cas est connu sous le nom de défaut Byzantin (“Byzantine failure”). La question qui se pose est celle de savoir jusqu’à quel nombre de membres malintentionné est-il encore possible d’avoir confiance dans un mécanisme de consensus et donc dans la bonne santé d’un réseau décentralisé. Il est en effet possible d’atteindre un consensus honnête malgré l’existence de membres malveillant dont l’objectif est de nuire au réseau en l’empêchant d’atteindre ce consensus.
Les solutions imaginées ces vingt dernières années pour résoudre le problème du défaut Byzantin sont en effet largement reprises de nos jours pour développer des protocoles de consensus répondant aux attentes des applications de la blockchain.
1 – Le problème des généraux Byzantins:
L’exemple des « Généraux Byzantins » est généralement repris pour illustrer le “défaut Byzantin” et permettre de mieux comprendre les difficultés auxquelles est confronté un réseau décentralisé pour
Le problème des généraux byzantins a été mis en évidence pour la première fois par Leslie Lamport, Robert Shostak et Marshall Pease dans leur essai paru en 1982 et vise à illustrer les problèmes de communication et d’entente qui peuvent survenir entre les différents membres ou nœuds d’un même réseau.
Il faut imaginer un groupe de généraux dirigeant l’armée byzantine encerclant une ville ennemi et dont l’objectif est de mener une attaque coordonnée. Pour ce faire, un général décide du début de l’assaut et ordonne à son messager d’aller porter l’information aux autres généraux. Chaque général doit faire passer l’information qu’il reçoit aux autres généraux pour qu’ils disposent tous de la même information et lancent l’attaque en même temps. S’ils n’attaquent pas en même temps, ils sont certains de perdre la guerre.
Le problème se pose lorsqu’un ou plusieurs généraux sont malintentionnés et décident de transmettre une information qui n’est pas correcte comme avancer d’une heure l’attaque. La conséquence est qu’une partie des généraux va attaquer à une certaine heure et l’autre partie une heure après.
Généraux Byzantins
En science informatique (vous aurez compris que chaque général représente un ordinateur du réseau), il est nécessaire de mettre en place des algorithmes permettant de trouver une réponse commune malgré les membres malveillants, c’est-à-dire si nous reprenons notre exemple, de s’accorder sur un seul moment pour attaquer la ville.
2 – Les solutions proposées
Les algorithmes des Généraux Byzantins mieux connus sous le nom de “Byzantine Fault Tolerance algorythms” (“BFT”) sont très recherchés parce qu’ils garantissent de maintenir des propriétés de sécurité sur un réseau tant qu’un certain nombre de nœuds « f » sont défaillants.
Cette approche du système de consensus implique que l’identité de chaque membre soit connue, ce qui nécessite l’existence d’une entité centralisée en charge de la gestion de ces données. De ce point de vue, les protocoles basés sur un algorithme BFT sont plus adaptes a un modèle de blockchain dite “privées” ou nécessitant une autorisation (“permissioned”) et offrent une résistance beaucoup plus importante aux attaques.
Ce type de protocole présente l’avantage de la finalité de son consensus c’est dire qu’un block ajouté à la blockchain ne peut être remis en cause, comme c’est notamment possible avec le mécanisme de la Preuve du Travail (« Proof of Work »). En effet avec BFT il n’est pas possible de créer un “fork” sur la blockchain, ce qui permet d’aligner exécution et confirmation des transactions et ainsi accélérer considérablement leur réalisation.
Le protocole de “Practical Byzantine Fault Tolerance” (“PBFT”) a été présenté pour la première fois dans un essai de Miguel Castro et Barbara Liskov publie en 1999. Ce protocole présente l’énorme avantage de pouvoir procéder des dizaines de milliers de transactions par secondes, ce qui est évidement essentiel pour être applicable à des réseaux de grande taille.
L’algorithme permet de maintenir des propriétés de sécurité tant que moins d’un tiers des nœuds ou répliques sont corrompus.
Le pattern de communication de base sous le protocole PBFT se réalise en plusieurs étapes:
REQUEST: Le client envoie un message incluant sa requête de service au serveur principal.
PRE-PREPARE: the serveur principal assigne un numéro à cette requête et envoie un message de PRE-PREPARE aux autres serveurs.
PREPARE: chaque serveur envoie à chacun des autres serveurs un message de “PREPARE”.
COMMIT: chaque serveur envoie à chacun des autre serveurs un message de “COMMIT”.
REPLY: une fois qu’un nombre suffisant de serveur s’accorde sur l’ordre de la requête, chaque serveur envoie sa réponse au client.
Byzantine Fault Tolerance
Si le client ne reçoit pas de réponse après une certaine période, il retransmet une requête à l’ensemble des répliques qui la transmettent au serveur principal. Si ce dernier ne met pas en œuvre cette requête dans une période donnée, les répliques vont considérer que le serveur principal fait défaut et vont lancer un “changement de vue” (“View change”) à l’ensemble des serveurs. Lorsqu’un nombre suffisant de répliques a lancé un “changement de vue”, ils sont en mesure de recevoir la prochaine requête en utilisant un serveur principal différent.
La performance du PBFT a été par la suite considérablement améliorée grâce à l’utilisation de “message authentification code” (MAC) qui permettent d’authentifier les différents serveurs plutôt que d’utiliser des signatures digitales.
Ce système est donc à la fois rapide et efficace mais aussi découplé de toute forme de participation dans le réseau (à l’inverse de Proof-of Stake), ce qui permet à des membres de petite taille de participer à la régulation du réseau s’ils ont été choisis pour le faire.
Un des problèmes majeurs repose toutefois sur le fait que les systèmes bases sur PBFT nécessitent que l’ensemble des parties du réseau s’accordent sur une liste exacte de participants. En effet, laisser le réseau ouvert lui ferait courir le risque d’une attaque dite “Sybil”, au cours de laquelle un attaquant peut créer un nombre important de nœuds en vue de dominer le système puisque les décisions sont prises si le vote atteint un certain quorum.
Le Practical Byzantine Fault Tolerance est donc particulièrement adapté aux réseaux de blockchain fermés et nécessitant une identification et une validation de chaque membres.
4 – Le Consensus d’Hyperldger:
1 – Le client créé une transaction et l’envoie à un pair en charge de la soumission (“submitting peer”) de sa requête. Le “submitting peer” peut ici être comparé au serveur principal que nous avons décrit plus haut.
2 – Le “submitting peer” prépare une transaction et l’envoie aux pairs en charge d’approuver les nouvelles transactions ou d’actionner les transactions existantes (“endorsing peer”). Ces “endorsing peer” peuvent être compares aux “répliques” également mentionnées plus haut.
3 et 4 – Le “submitting peer” collecte ensuite l’approbation et soumet la transaction au service du consensus (“consensus service”).
5 – Le “consensus service” distribue ensuite la transaction aux membres du réseau qui vont vérifier qu’elle ne contient pas d’erreur.
5 – The Ripple Ledger Consensus Process: vote base sur des probabilités
De manière très basique on peut considérer que Ripple créé un réseau de personnes ou d’entité s’attribuant les uns les autres des autorisations de crédit.
Un Serveur (appelons le “s”), qui est une entité ayant accès au Ripple Server Protocol et qui participe donc à la mise en œuvre du consensus (à l’inverse des Ripple Client Software qui ne peuvent que réaliser des transactions), dispose d’une “Unique Node List” or “UNL” (littéralement une “liste de nœud unique”). Seul le vote des Serveurs contenu sur cette liste de participant est pris en compte pour aboutir au consensus. Il s‘agit donc d’un sous-groupe des membres du network qui, lorsqu’il est pris collectivement, est considéré par “s” comme étant digne de confiance. A noter que le serveur “s” n’est pas oblige de donner sa confiance à un serveur individuellement.
Ripple
Concrètement, l’Algorithme de Consensus du Protocole Ripple (“Ripple Protocol consensus algorithme” – “RPCA”), se déroule toutes les secondes en plusieurs étapes:
Chaque serveur regroupe toutes les transactions valides qu’il a reçu avant le début du procédé de consensus dans un lot appelé “groupe de candidats” (“candidats set”) qu’il rend ensuite publique.
Chaque serveur regroupe ensuite tous les groupes de candidats de tous les serveurs listes sur son “Uniq Node List” et vote sur l’exactitude de chacune de ces transactions.
Les transactions qui reçoivent un pourcentage minimum de votre sont sélectionnés pour le vote suivant, si il y en a un. Les transactions ne réunissant pas le pourcentage suffisant sont rejetées et ajoute au “groupe de candidats” suivant.
Le dernier vote demande que chaque transaction ait un minimum de 80% de vote de l’ensemble des serveurs de l’UNL à défaut de quoi la transaction ne peut être ajoute au registre (“Ledger”). Cela signifie que tant que 80% des serveurs présents sur la UNL est honnête, aucune transaction frauduleuse ne pourra être approuvée.
SCP est élaboré pour faire face au problème du “defaut 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 defaut byzantine mais qui nécessitent le consentement des nœuds du réseau pour y parvenir.
Stellar
Plus précisément, SCP procède en 4 phases de la même manière que des protocoles comme Paxos. Les nœuds du réseau échangent une série de scrutins pour confirmer et finalement 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 nœud choisit une ou plusieurs parts de quorum (“quorum slice”) et inclus dans chaque part des nœuds en qui il a confiance. Chacune de ces parts de quorum vont ensuite produire des intersections les uns par rapport aux autres.
Pour aboutir à un accord, le protocole SCP repose en effet sur une propriété appelle “l’intersection des quorums”. L’idée derrière ce concept et que chaque nœud 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 nœuds qui sont malveillants ainsi que les nœuds qui en dépendent et que l’intersection du quorum est maintenue, alors la topologie du network est forte.
Si vous avez aimé cet article, n’hésitez pas à le partager sur les réseaux sociaux!!
Talao est une plateforme reposant sur une blockchain dédiée aux freelances. Comme les plateformes traditionnelles (Upwork ou Freelancers), Talao permet aux freelances de trouver des projets, mais va plus loin en leur offrant la possibilité d’être propriétaire de l’historique de leurs évaluations et de leurs certifications. Ils peuvent donc les utiliser sur n’importe quelle plateforme et avec n’importe quel emlpoyeur.
Fort d’une équipe solide, d’un projet en beta qui fonctionne, des partenariats avec de nombreuses entreprises et plateformes de mise en relation, Talao est clairement une ICO à considérer.
The current development of public blockchains (as private ones) is very similar to what happened to the Internet at its beginning. The Internet was only constituted of intranets, i.e private networks attached to an institution or to a group of people working on the same subject. Yet these intranets were working in isolation without the possibility to communicate with each other and share information.
At the beginning of the 1970s, appeared the TCP/IP protocol which has been created to link these networks and allow inter-network communication (hence « internet »). It is the same now with the networks based on a blockchain. Even public networks, that are open to everyone such as the bitcoin network, operate independently fro m the other public networks without the possibility to communicate directly between them. In the current state of the technology, it is not possible to directly exchange bitcoins for Ether (issued by Ethereum another public blockchain). It is only possible to buy ether with bitcoins on a cryptocurrency exchange which connects buyers and sellers.
Before describing the solutions appearted until now to connect these different blockchain (II), it seems interesting to briefly describe how the Internet, as well as the applications that use it, are organized and shall communicate the information (I). This will also help us to better understand how the decentralized networks use the existing structure of the Internet to develop.
I – CIRCULATION OF THE INFORMATION BETWEEN TWO APPLICATIONS SOVER THE INTERNET
1 – THE GENERIC STACK OF AN APPLICATION BASED ON THE INTERNET:
The Internet as we know it today works through several layers of a same stack that can be resumed as follows:
Internet-stack
Each of these layers include one or several protocols which gaol is to select and prepare the information before it is sent through the Internet.
You need to follow the arrows to understand the path of the information through these layers from sending to receiption of the information. The information travels from the top of the stack which is where it is sent and goes through the different layers of the stack to reach its recipient.
The first layer is the application that represents the interface with the users. If we take the example of a mail box, an application that we all use. Writing an e-mail and clicking on the button « send » triggers the process of sending data to your recipient. Your e-mail will be sent using a protocol called SMTP (Simple Mail Transfer Protocol). A protocol is a list of rules and steps allowing a good communication between several computers. There are many types of protocols and the choice of protocol depends on the layer and the type of data sent. For clarity reasons, we will focus on the most commons protocols. At application level, the File Transfer Protocol (FTP) will be used if you send files or HyperText Transfer Protocol (HTTP) if you send a query on the web (for example a Google search).
The next layer is the transport layer which objective is to organize the transport of the message without taking into account (at this stage) the type of network to route the message. The most common protocol in the transport layer is « TCP » (for « Transmission Control Protocol »), which objective is to segment the message into multiple packets to be able to send them separately on the internet, check that all messages arrive well in order, send new packets when some are not arrived and verify that the network is not congested.
On the side of the party who receives the message, the role of the TCP protocol is to collect the packets and reassemble them to reconstitute the message.
The goal of the Internet Layer is to send the packets that we have just described through the Internet network. To do this, the Protocol « IP » (for « Internet Protocol ») performs two main actions. First, it identifies the recipient thanks to his address « IP » as well as its location. Then it sends the packets to the server the closest to the final recipient.
Finally, the lowest layer of the stack is the network which objective is to transmit the message physically, using the infrastructure of the Internet network (wifi, telephone cable, optical fiber…).
You will find below a short summary of the different protocols used according to the layer of the stack of the Internet network:
Internet-stack-protocols
2 – The Generic stack of a Traditional Application:
We focus here on the first floor of the generic stack, the « application » layer. The three constitutive elements of an application are the storage, the treatment and the communication of the data.
The storage of the data.
First it is important to différentiate the « File System » (« files system ») from the « database » (« database »). The first system is a set of programs which allows you to add and to classify folders on the hard drive of a computer while the second is a set of programs that allow you to organize and maintain a database.
A file system is less complex to the extent that it is tailored to store unstructured data, i.e all data are based on different formats. For example, some files will be in Word, others in PDF, but will not share a common structure. The idea is therefore simply to add these data in files and organize those files in order to find the data easily (through an index for example), as you would do with any computer.
It is different with a management system database in that it organizes the data with a similar structure to which we can apply a logic of organization generally in the form of tables. In other words, it is possible to create a program (based on a language like SQL for example), which will manage the automatic storage of data and all other operations necessary for the management of these data. For this reason, this type of system such as MongoDB, MySQL and Cassandra, is more complex to put in place, but very suitable when the amount of data to manage and the number of users who need to access it is important. Create logical management allows to avoid duplicate datas and strongly secures the system.
However, there is still the problem of the access and the update of these data when several applications use the database at the same time. The problem is to organize the use of the database by these different applications to ensure that they use only the last updated version and do not insert their changes in an hold version. Processes better known as « multiversion concurrency control » are essentially intended to allocate the use of a database according to the needs of such or such application and allowing its simultaneous access.
In practice, the applications send transactions to change the database. The « multiversion concurrency control » have a mission to organize these transactions and avoid any conflict. As we will see, the mechanism of consensus of a blockchain can be defined as a distributed « multiversion concurrency control ».
The treatment of data
The processing of data corresponds to all operations carried out by the computer on the data. This definition covers for instance the transformation of data into information readable by the machine or the movement of data across the processors and memories.
Depending on the applications, this treatment of the data can be performed with or without registration of the state of this information. To simplify any computer is a « state machine ». This means that a computer continuously checks if a request was submitted to him by constantly operating a « state function ». Each time a query is submitted, the computer detects this change of state and action it. For example, when you press an icon to activate an application, your computer will launch the application and once completed, save that the state of the application is now « enabled » until you decide to close the application in which case the computer will record the new state relating to this application.
When a command is only operated, but the new state is not registered, we are talking about a stateless program, of an application or a protocol. The difference between the two lies in the recording or not of the action.
The communication
As described earlier, the TCP and IP protocols have been imagined to connect different networks by allowing the transfer of data.
However, these protocols transmit the data in the same manner regardless of their values. The Protocol decomposes the information in packets and sends the packets until it has received the confirmation that all packets have been received and reconstituted by the recipient.
Application-Stack
3 – The stack of a decentralised application:
The decentralized applications based on a blockchain are not totally different in their structure from traditional applications that we have just described. We have identified the various components of an application to be able to compare them with those of a decentralised application. Note that we will rely on the bitcoin protocol but also and especially on the Ethereum protocol to illustrate the different layers of a decentralised application, since this last platform has been created to develop decentralized applications.
1 – The storage of data
As already mentioned, a blockchain is a database of a new kind since it is at the same time decentralized, transparent and protected by cryptographic processes.
data storage
We have just explained what is a « multiversion concurrency control ». The role of a blockchain through the consensus mecanisms is the same, but achieved in a decentralised manner.
The primary role of a consensus mecanism is to organize the addition of the transactions to the blockchain. Networks based on a blockchain are by definition decentralized. This means that the members of the network are in charge of updating the database and not more a trusted third party. The difficulty of consensus mecanisms is to ensure that transactions are added to the blockchain only once and according to an order that is appropriate to all members of the network. It is indeed vital for the life of the network to ensure that a transaction is only added to the blockchain only once in order to avoid the problem of the « double spending ».
Imagine that the bitcoin that you receive has also been received by another person, the transfer of value over the Internet which is the main purpose of the bitcoin network would immediately be questioned.
When all the members of a network are anonymous, which is the case of the bitcoin network, a consensus mechanism is necessary to organize the addition of the transactions to the blockchain, i.e. to determine which members will have the right to add the transaction and get the reward attached to it (12.5 bitcoins at the present time – this number is programd to decrease at regular intervals).
In the databases universe, a transaction is used to change the database. This is true with bitcoin since each transactions added in blocks include a new output. This output will then be added in the input to the next transaction which will also include a new output. Each transaction therefore amends the database by adding a new output. If you want to better understand a bitcoin transaction, you can refer to the article.
This is also true with smart contracts platforms such as Ethereum. Smart contracts are saved directly on the blockchain and actioned by transactions (commands sent by external accounts to the blockchain) or messages (commands sent by other smart contracts). In other words, the state of smart contracts on the database is changed directly by a transaction or a message.
With blockchains, the program in charge of the database management is therefore the protocol which brings together all the operating rules of the network. Its role is to define the rules that will have to be respected for the transactions to be added to the blockchain (size, information required, valid output, private key corresponding to the public key…).
In its initial form (the bitcoin one), the blockchain is the only location where data are stored. The blockchain is downloaded by all complete members of the network, so there are as many databases on the network that there are complete members. Members must therefore constantly update it, to ensure that are always adding blocks to the most updated blockchain.
The technology has evolved a lot since bitcoin appearance in 2009, and today it is possible to store network information in databases that are external to the network and its blockchain. This is the case with IPFS which communicates with the blockchain thanks to smart contracts.
Data processing
The bitcoin blockchain which corresponds to the most basic form of the blockchain, only proposes the decentralization of data storage, as we have just explained. The other two aspects, the processing and the communication of data, remain specific to each member of the network. In other words, these activities are not divided among the members of the network.
With the creation of Ethereum and its decentralized virtual machine, we saw the first decentralization of data processing. Unlike bitcoin network, the Ethereum protocol proposes to store transactions in each of the blocks of the blockchain, but also and especially, computer programs, the famous smart contracts. The blockchain, therefore, becomes a « smart » database because it has relatively advanced computing capacity. The blockchain became « Turing complete ».
This means that the computer programs stored in the blockchain can be operated by users (by transactions sent from external accounts) or other contracts (by messages sent from internal accounts). However, the commands are actioned by the Ethereum Virtual Machine which is composed of all the computers of the network. When a smart contract is operated, all the computers on the network are running the program simultaneously and update the new state of the Smart contract in the blockchain.
It is important to remember that with Ethereum, we passed to the second stage of decentralization in which it is possible to gather thousands of computers of people who do not know each other in order to execute the programs of a global network. It is also the reason why Ethereum is sometimes called the « first world computer ». To learn more about the operation of Ethereum, you can refer to this article.
Decentralised communication
At the moment, decentralized applications are still based on the communication stack of the Internet (TCP/IP) to exchange of information, but the technological developments could change this fact in the near future.
The stack of a decentralised application could therefore be simplified this way:
Decentralised-Application-Stack
In the second part of the article, we will describe inter-blockchain communication methods.
If you enjoyed this article, please do not hesitate to share it on social media.
La blockchain est souvent décrite comme une base de données, ce qui est juste. Une blockchain est en effet la base de données dans laquelle sont stockées toutes les transactions réalisées par les membres du réseau. Bien qu’il soit également possible d’accéder à la blockchain de l’extérieur, chaque membre «complet» du réseau télécharge à blockchain en intégralité de telle sorte que toutes les transactions du réseau sont physiquement stockées dans chacun des ordinateurs participant au réseau.
L’Arbre de Merkle est la structure utilisée par la blockchain pour organiser le stockage des transactions dans chaque bloc. Il est essentiel de comprendre son fonctionnement pour pouvoir déterminer comment les membres du réseau accèdent à ces transactions.
Le fonctionnement d’un Arbre de Merkle
Le Merkle Tree (“Arbre de Merkle”) est une méthode permettant de structurer des données en vue d’y accéder et d’en vérifier la véracité plus rapidement. 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 inversé. En effet, les transactions sont regroupées par groupe de deux, un hachage est ensuite applique à ce groupe. Les groupes sont ensuite regroupes par groupe de deux puis soumis au même procédé jusqu’au dernier hachage appelé la racine (“Merkle Root”) qui lui est ajoute comme référence dans le “Header” du bloc.
Arbre de Merkle
Cette organisation des transactions au sein d’un block va permettre aux mineurs lors de la vérification des nouvelles transactions, de remonter très rapidement vers la dernière transaction concernée et ainsi vérifier si il existe bien une transaction d’un montant supérieur a celui qui doit être dépensé dans la nouvelle transaction (voir schéma ce dessous). En d’autres termes, un arbre de Merkle permet d’identifier très rapidement les transactions qui appartiennent à un même membre. Si l’ensemble de ces transactions ou une seule suffit à couvrir la dépense réalisée par ce membre alors la transaction de ce membre sera autorisée.
Un bloc d’une blockchain pourrait être schématisé comme suit:
Transaction
Comme on peut le constater, le corps du bloc (« Body ») contient toutes les transactions ajoutées dans le bloc et organisées en arbre de Merkle. Le dernier hachage (« Root ») est lui repris dans la tête du bloc (« header »), ce qui permettra de faire la liaison avec les autres blocs de la blockchain.
Les avantages d’un arbre de Merkle
L’efficacité d’un Arbre de Merkle vient de sa structure et le fait qu’il soit possible d’accéder à n’importe quelle transaction sans avoir à télécharger l’intégralité de la base de données. En d’autres termes, il est possible de télécharger uniquement la branche qui permet de remonter à la transaction nous intéressant. Si nous reprenons le schéma réalisé plus haut, il est possible d’accéder à la Transaction N°2 en téléchargeant uniquement la branche qui mène de la « Racine » à la transaction.
Branche
C’est la raison pour laquelle, cette structure est très utile pour prouver que toute une chaîne de transaction est restée inchangée. Grâce à la chaîne de hachage cryptographiques, il est en effet possible de remonter jusqu’à la transaction recherchée et s’assurer que toute la branche (depuis la racine jusqu’à la transaction) n’a pas été modifiée.
Le fait que cette vérification puisse se concentrer sur une seule branche sans avoir à télécharger l’arbre dans son intégralité, c’est-à-dire l’intégralité de la blockchain, rend cette structure extrêmement légère à utiliser en termes de mémoire et capacité de calcul. Pour cette raison, elle s’avère également particulièrement bien adaptée aux membres « légers » (par opposition aux membres complets, les membres du réseau qui ne téléchargent pas la blockchain dans son intégralité), qui peuvent ainsi vérifier des transactions sur la blockchain sans pour autant télécharger l’intégralité de la blockchain.
L’organisation des données en Arbre de Merkle est donc une composante essentielle du fonctionnement d’un réseau reposant sur une blockchain, aussi bien en termes d’accès efficace aux données que de sécurité de ces données.
Si cet article vous a plus n’hésitez pas à le partager sur les réseaux sociaux!!
Le développement actuel des blockchains publiques comme privées est très similaire à ce qu’a connu internet à ses débuts. Internet était en effet un ensemble d’intranet, c’est à dires des réseaux privés généralement attaché à une institution ou à un groupe de personnes travaillant sur un même sujet. Or ces intranets fonctionnaient en vase clos sans possibilité de communiquer les un avec les autres et partager des informations.
Au début des années 70 est apparu le protocole TCP/IP qui a été créé pour relier ces réseaux et permettre la communication inter-network (d’où « internet »). Il en va de même actuellement avec les réseaux reposant sur une blockchain. Même les réseaux publics, c’est à dire ouvert à tous comme le réseau bitcoin, fonctionnent indépendamment des autres réseaux publiques sans possibilité de communiquer directement entre eux. En l’état actuel de la technologie, il n’est pas possible d’échanger directement des bitcoins pour des Ether (émis par Ethereum une autre blockchain publique). Il est uniquement possible d’acheter des Ether avec des bitcoins sur un échange de cryptomonnaies qui met en relation des acheteurs et des vendeurs.
Avant de décrire les solutions imaginées jusqu’à aujourd’hui pour connecter ces différentes blockchain (II), il semble intéressant de décrire brièvement la façon dont internet, ainsi que les applications qui l’utilisent, sont organisés et communiquent les informations (I). Cela nous permettra également de mieux comprendre comment les réseaux décentralisés utilisent la structure existante d’internet pour se développer.
I – CIRCULATION DE L’INFORMATION ENTRE DEUX APPLICATIONS SUR INTERNET
1 – LA PILE GENERIQUE D’UNE APPLICATION REPOSANT SUR LE RESEAU INTERNET :
Le réseau internet tel que nous le connaissons actuellement fonctionne grâce à plusieurs couches d’une même pile qui peuvent être schématisées comme suit :
Internet stack
Chacune de ses couches inclus un ou plusieurs protocoles qui ont pour objectif de sélectionner et préparer l’information avant son envoie à travers internet.
Il suffit de suivre les flèches pour comprendre le parcours de l’information à travers ces piles depuis l’envoie jusqu’à la réception de l’information. L’information part du haut de la pile qui est à l’origine de l’envoie et traverse les différentes couches des deux piles pour aboutir à son destinataire.
La première couche est celle de l’Application qui représente l’interface avec l’utilisateur d’internet. Prenons l’exemple d’une boite mail, une application que nous utilisons tous. Le fait de rédiger un e-mail et de cliquer sur le bouton « envoi » déclenche le processus d’envoie des données à votre destinataire. Votre e-mail sera envoyé en utilisant un protocole appelé SMTP (Simple Mail Transfert Protocol). Un protocole est une liste de règles et étapes permettant une bonne communication entre plusieurs ordinateurs. Il existe de nombreux types de protocoles et le choix du protocole dépend de la couche et du type de données envoyées. Pour des raisons de clarté nous nous limiterons aux protocoles les plus utilises. Au niveau de l’Application, le protocole FTP (File Transfer Protocol) sera utilisé si vous envoyez des fichiers ou encore HTTP (HyperText Transfer Protocol) si vous envoyez une requête sur le web (par exemple une recherche Google).
La couche suivant est la couche de Transport dont l’objectif est d’organiser le transport du message sans prendre en compte (à ce stade) le type de réseau qui acheminera le message. Le protocole le plus courant dans la couche de transport est « TCP » (pour « Transmission Control Protocol ») dont l’objectif est notamment de segmenter le message en plusieurs paquets pour pouvoir les envoyer séparément sur internet, de contrôler que tous les messages arrivent bien en ordre, envoyer à nouveau les paquets ne sont pas arrivés et vérifier que le réseau n’est pas congestionné.
Si nous nous situons maintenant du côté de la partie qui reçoit le message, le rôle du protocole TCP est de collecter les paquets et de les réassembler pour reconstituer le message.
La couche Internet a pour objet d’envoyer les paquets que nous venons de décrire à travers le réseau internet. Pour ce faire, le protocole « IP » (pour « Internet Protocol ») réalise deux actions principales. D’abord, il identifie le destinataire grâce à son adresse « IP » ainsi que sa localisation. Ensuite il envoie les paquets au serveur le plus proche du destinataire final.
Enfin la couche la plus basse de la pile est le Réseau dont l’objectif est de transmettre le message physiquement, en utilisant les infrastructures du réseau internet (Wifi, câble téléphonique, fibre optique…).
Vous trouverez ci-dessous un petit résumé des différents protocoles utilisés selon la couche de la pile du réseau internet :
Internet stack protocols
2 – LA PILE GENERIQUE D’UNE APPLICATION TRADITIONELLE:
Nous nous concentrons ici sur le premier étage de la pile générique, la couche « Application ». Les trois éléments constitutifs d’une application sont la mise en mémoire des données, le traitement et la communication de ces données.
La mise en mémoire des données.
Il est avant tout important de bien dissocier le « système de fichiers » («files system») de la « base de données » («database»). Le premier système est un ensemble de programme qui permet d’ajouter et de classer des dossiers sur le disque dur d’un ordinateur tandis que le second est un ensemble de programmes qui permettent d’organiser et maintenir une base de données.
Un Système de fichier est moins complexe dans la mesure où il est étudié pour stocker des données non structurées, c’est à dire que toutes reposent sur des formats différents les uns des autres. Par exemple certains fichiers seront en Word d’autre en PDF, mais ne partageront pas une structure commune. Il s’agit donc simplement d’ajouter ces données dans des fichiers et organiser ces fichiers en vue de retrouver les données facilement (à travers un index par exemple), comme vous le feriez avec n’importe quel ordinateur.
Il en va différemment avec un système de management de base de données dans la mesure où il organise des données ayant une structure similaire auxquelles on peut appliquer une logique d’organisation généralement sous forme de tables. En d’autres termes, il est possible de créer un programme (reposant sur un langage comme SQL par exemple) qui va gérer le stockage automatique des données et toutes autres opérations nécessaire à la gestion de ces données. Pour cette raison ce type de système comme MongoDB, MySQL et Cassandra, est plus complexe à mettre en place, mais très adapté lorsque le nombre des données à gérer et le nombre des utilisateurs qui doivent y accéder est important. Créer des logiques de gestion permet en effet d’éviter de dupliquer les donner et sécurise fortement le système.
Pour autant se pose toujours le problème de l’accès et de la mise à jour de ces données lorsque plusieurs applications utilisent la base de données en même temps. Le problème est de parvenir à ordonner l’utilisation de la base de données par ces différentes applications pour assurer que celles-ci n’utilisent que la dernière version mise à jour et n’insèrent pas leurs changements dans une version dépassée. Des procédés mieux connus sous le nom de « contrôle concourant de versions multiples » (de l’anglais « multiversion concurrency control ») visent essentiellement à répartir l’utilisation d’une base de données selon les besoins de telle ou telle application et en permettant son accès simultané.
En pratique, les applications envoient des transactions pour modifier la base de données. Les mécanismes de contrôle concourant de versions multiples ont pour mission d’organiser ces transactions et d’éviter tout conflit. Comme nous allons le voir, le mécanisme de consensus d’une blockchain peut être définit comme un mécanisme distribué de contrôle concourant de versions multiples.
2. Le traitement des données
Le traitement des données correspond à l’ensemble des opérations réalisées par l’ordinateur sur les données. Cette définition couvre par exemple la transformation des données en information lisibles par la machine ou encore la circulation des données à travers les processeurs et les mémoires.
Selon les applications, ce traitement des données peut être effectué avec ou sans enregistrement de l’état de cette information. Pour simplifier n’importe quel ordinateur est une « state machine » (littéralement une « machine d’état »). C’est-à-dire qu’un ordinateur vérifie en permanence si une instruction lui a été soumise en faisant fonctionner une « state fonction ». Chaque fois qu’une requête lui est soumise, l’ordinateur détecte ce changement d’état et l’actionne. Par exemple lorsque vous appuyer sur une icône pour activer une application, votre ordinateur va lancer l’application et une fois complété, enregistrer que l’état de l’application est maintenant « activé » jusqu’à ce que vous décidiez de fermer l’application auquel cas l’ordinateur enregistrera le nouvel état relatif à cette application.
Lorsqu’une commande est seulement actionnée mais que le nouvel état n’est pas enregistré, nous parlons d’un programme, d’une application ou d’un protocole sans état (« stateless »). La différence entre les deux réside dans le fait d’enregistrer ou non les conséquences de l’action qui vient d’être menée.
3. La communication
Comme nous l’avons décrit plus haut, les protocoles TCP et IP ont été imaginés pour connecter les différents réseaux en permettant la circulation des données.
Pour autant, ces protocoles transmettent les données de la même manière quelque soit leurs valeurs. Le protocole décompose l’information en paquets et les envoie jusqu’à ce qu’il ait reçu la confirmation que tous les paquets ont été reçus et reconstitués par le destinataire.
Application Stack
3 – LA PILE GENERIQUE D’UNE APPLICATION DECENTRALISEE:
Les applications décentralisées reposant sur une blockchain ne sont pas totalement différentes dans leur structure des applications traditionnelles que nous venons de décrire. Nous avons identifié les différentes composantes d’une application pour pouvoir les comparer avec celles d’une application décentralisée. Notez que nous nous reposerons sur le protocole bitcoin mais aussi et surtout sur Ethereum pour illustrer les différentes strates d’une application décentralisée puisque cette dernière plateforme a été créée pour développer des applications décentralisées.
La mise en mémoire
Comme nous l’avons déjà évoqué, une blockchain est une base de données d’un genre nouveau puisqu’elle est à la fois décentralisée, transparente et protégée par des procédés cryptographiques.
Base de données
Nous venons d’expliquer ce qu’est un mécanisme de contrôle concourant de versions multiples, le rôle d’une blockchain et du mécanise de consensus qui y est attaché est le même, à la différence qu’elle le réalise de manière décentralisée.
Son rôle premier est en effet d’organiser l’ajout des transactions à la blockchain. Les réseaux reposant sur une blockchain sont par définition décentralisés. Cela signifie que ce sont les membres du réseau qui mettent à jour la base de données du réseau et non plus un tiers de confiance. Toute la difficulté de ce mode de fonctionnement est de parvenir à s’assurer que les transactions sont bien ajoutées à la blockchain une seule fois selon un ordre qui convient donc à tous les membres du réseau. Il est en effet vital pour la pérennité du réseau qu’une transaction qui a été ajoutée à la blockchain ne le soit pas une seconde fois. Il s’agit en fait d’éviter le problème de la double dépense.
Imaginons en effet que le bitcoin que vous venez de recevoir a également été reçu par une autre personne, le transfert de valeur sur internet qui est la raison d’être du réseau bitcoin serait immédiatement remise en question.
Lorsque les membres d’un tel réseau ne se connaissent pas, ce qui est le cas du bitcoin, un mécanisme de consensus est nécessaire pour organiser l’ajout des transactions à la blockchain. C’est-à-dire déterminer lequel des membres aura le droit d’ajouter la transaction et obtenir la récompense (12,5 bitcoins à l’heure actuelle – ce nombre est programmé pour diminuer à intervalles réguliers) qui y est attachée.
Dans l’univers des bases de données, une transaction est un ensemble de changement effectué sur la base de données. Cette affirmation est vraie dans le cadre du bitcoin puisque chaque transactions ajoutées dans des blocks par les mineurs inclus un nouvel output. Cet output sera ensuite ajouté dans l’Input de la transaction suivante qui elle aussi inclura un nouvel Output. Chaque transaction ajoute modifie donc bien la base de données en ajoutant un nouvel output.
Cette affirmation est encore plus vraie dans le cas des plateformes de smart contracts tel qu’Ethereum. Les smart contracts sont en effet enregistrés directement sur la blockchain et sont actionnés par des transactions (commandes envoyées par des comptes externes à la blockchain) ou des messages (commandes envoyées par d’autres smart contracts). Autrement dit, l’état des smart contracts sur la base de données est directement modifié par une transaction.
Dans le cadre des blockchains, le programme en charge de la gestion de la base de données est donc le protocole qui regroupe toutes les règles de fonctionnement du réseau. Son rôle est notamment de définir les règles que devront respecter les transactions pour pouvoir être ajoutées à la blockchain (taille, informations requises, Output valide, clé privée correspondante à la clé publique…).
Dans sa forme initiale (celle du bitcoin), la blockchain est le seul emplacement où sont stockées les données. La blockchain est téléchargée par tous les membres complets du réseau, donc il existe autant de bases de données du réseau qu’il y a de membres complets. Les membres doivent donc la mettre à jour constamment, pour être certain que la base de données dont ils disposent contient bien le dernier block ajouté.
La technologie a beaucoup évolué depuis l’apparition du bitcoin en 2009, et il est aujourd’hui possible de stocker les informations du réseau dans des bases des données qui sont externe au réseau et à sa blockchain. C’est notamment avec IPFS qui communique avec la blockchain grâce à des smart contracts.
2. Le traitement des données
La structure de la blockchain telle qu’elle est apparue en 2009, le blockchain bitcoin, ne propose qu’une décentralisation du stockage des données comme nous venons de l’évoquer. Les deux autres aspects, le traitement des données et la communication, demeurent propre à chaque membre du réseau. Autrement dit, ces activités ne sont pas réparties entre les membres du réseau comme l’est le stockage des données.
Il faudra attendre la création d’Ethereum et de sa machine virtuelle décentralisée pour voir apparaitre la première décentralisation des traitements de données. Contrairement au réseau bitcoin, le protocole Ethereum propose de stocker des transactions dans chacun des blocks de la blockchain, mais aussi et surtout, des programmes informatiques, les fameux Smart Contracts. La blockchain devient donc une base de données douée de capacité de calcul relativement avancée.
Concrètement cela signifie que les programmes informatiques stockés dans la blockchain peuvent être actionnés par des utilisateurs (par des transactions envoyées à partir des comptes externes) ou d’autres contrats (par des messages envoyés à partir de comptes internes). Or les commandes sont actionnées par la Machine Virtuelle Ethereum qui est constituée de tous les ordinateurs des membres du réseau. Quand un smart contract est actionné tous les ordinateurs du réseau exécutent le programme simultanément et mettent à jour le nouvel état du smart contrat dans la blockchain dont chacun des membres dispose également.
Ce qu’il est important de retenir c’est qu’avec Ethereum, nous sommes passé à un deuxième stade de décentralisation dans lequel il est possible de rassembler des milliers d’ordinateurs de personnes qui ne se connaissent pas en vue d’exécuter les programmes d’un réseau planétaire. C’est d’ailleurs la raison pour laquelle Ethereum est parfois surnommé le premier ordinateur mondial. Pour en savoir plus le fonctionnement d’Ethereum, vous pouvez vous reporter à cet article.
3. Une communication Décentralisée
A l’heure actuelle, les applications décentralisées reposent encore sur la pile de communication internet (TCP/IP) pour échanger des informations, mais les évolutions technologiques pourraient changer cette donnée dans un futur proche.
La pile d’une application décentralisée pourrait donc être schématisée de la sorte :
Decentralised Application Stack
Dans la deuxième partie de cet article, nous décrirons les méthodes de communication inter blockchains.
Si vous avez aimé cet article, n’hésitez pas à la partager sur les médias sociaux!! Merci
With the current noise, everyone has heard of bitcoin, but fewer are those who know the blockchain. Also known as “Decentralized Ledger Technologies”, the blockchain is a major innovation which allows the bitcoin and other crypocurrencies to operate.
You may ask why peoples are so passionate about bitcoin and the blockchain? A first response could be that this technology brings what was missing to the Internet: the possibility of transfer value directly between users without intermediary.
The transfer of value over the Internet as it currently exists is 20 years late in comparison to the transfer of the information which democratization has been permitted by the development of the Internet. In the 1990s, Internet was a network highly compartmentalized composed of sub-networks which did not correspond with each other. For example, if you were a user of AOL email, you could send e-mail messages only to users of AOL. You could not send e-mail to the users of Genie (the ancestor of Gmail). Until SMTP (Simple Mail Transfer Protocol) was created to link all these networks.
It is the same now for the transfers of funds on the Internet. All financial institutions operate independently from each other, with different systems and generally incompatible. This is the reason why, the slightest international transfer takes several days and involves a cost ridiculously high.
The Internet has enabled the transfer of the information freely, the technologies based on the blockchain allow the transfer of value just as freely, immediately, without charge, and without consideration of volume or distance.
Proof of Work
What is a blockchain?
A blockchain is a database shared among all the members of a network, which increases without interruption and whose objective is the chronological record, immutable and secure transactions among the members of this network.
Let’s collapse this definition to better understand:
Database: The initial vocation of a Blockchain is to store data. The blockchain is therefore a folder. The data are stored in blocks sealed and connected to each other using a cryptographic process. In other words, each block is a folder containing information and all of these records are linked to each other.
In perpetual growth: new folders are created without interruption and related to other at the same rate.
Decentralized: The database is updated and saved by all the members of the network. Each member of the network has a copy of the blockchain and updates it each time a block is added.
Chronological: blocks are added one after the other without any possibility to change the order of addition. This point is essential, because the transactions must be added with certainty to avoid double spending of the coins.
Immutable: To be able to edit a block, the blocks which have been added after him must be changed. However, to do this it would be necessary to modify each of the blockchains recorded by each of the members.
Censorship Resistant: the fact that each member of the network holds a copy of the blockchain makes it resistant to censorship. In other words as long as all members of the network have not been excluded or neutralized, it is impossible to undermine the integrity of the blockchain. When you think that the bitcoin network is composed of hundreds of thousands of members in all countries of the world, you understand a little better the level of inviolability reached by the bitcoin blockchain.
What problem a blockchain really helps to solve?
The Internet has liberalized the information in facilitating its circulation. It is indeed extremely easy to send a photo or video by e-mail. But in reality, you send a copy of this video and keep the original in your records or in your mail box. The problem with the transfer of value on the Internet is that you must ensure that the original is sent and that no copy is performed. Thus it is not possible to transfer euros on the Internet as you would send photos.
The blockchain solves the problem of the « double expense », because it helps to ensure that the EUR 20 have been transferred only once. Up to today, we were forced to use trusted intermediaries, such as banks to ensure that only the original was transferred without being retained by the transmitter.
This technology therefore has the vocation to eliminate intermediaries by allowing users to exchange directly with each other. Bitcoin enables the exchange of monetary value, but registry Decentralised ledger technologies can apply to all areas of our society. It is indeed possible to record any type of property on a blockchain, dematerialized (music, photos, video, patents, identity papers…), but also the titles representative of material goods (title of ownership, the actions/obligations…), the list is endless.
This technology is a great tool to connect directly users of the Internet who do not know each other and allow them to exchange goods of value without consideration of distance or volume. It is in fact as quick and easy to send a bitcoin to your neighbor than 10 000 to an unknown at the other end of the planet.
Perhaps do you start to understand the reasons of the popularity of this new technology and its revolutionary potential in a society as centralized as ours. All trusted intermediaries could see their monopolies called into question in a near future.
The core elements of a network based on a blockchain.
To simplify, each of these networks is based on a protocol, tokens and a community of programmers, minors and of users.
The best way to understand the organization of a network based on a blockchain is to compare it to a national economy. A national economy consists of a currency (tokens) which is used by the citizens (community) according to the rules determined by the law (the Protocol) and stored in a banking system (the blockchain).
ecosystems
Each project based on a blockchain is an autonmous ecosystem that does not belong to anybody and at the same time to all members of the network who have downloaded the protocol on their computer in order to get access to the network.
There are now many types of structure, but to keep it simple we continue to take the bitcoin as example. If you want to access the bitcoin network and exchange bitcoins with other members, you must start by downloading a bitcoin compatible portfolio which function will be to store your bitcoins and create transactions. But what is generally not said is that by downloading your portfolio, you download a copy of the Bitcoin Protocol which allows you to access the network.
The protocol is a computer program created by the developer members, which brings together all the operating rules of the network (Constitution of transactions, their addition to the blockchain, interaction among membres, creation and circulation of tokens…).
The tokens are generated by the minor members according to the rules established in the protocol. These tokens are used by all the members of the network to exchange the value within the network and outside through cryptocurrencies exchanges.
Each of these ecosystems goals is to solve a specific problem. The objective of the bitcoin is to transfer value on the Internet, but there is also Ripple whose objective is to connect banks in order to facilitate transfers between institutions, Ethereum which is a platform offering a developing environment for decentralized applications ( » Dapps »). Each cryptocurrency tries to solve a different problem.
The type of goal that has set the ecosystem also determines the type of blockchain used.
The different types of blockchains?
There are currently three types of blockchain: public, private, and consortium.
Public blockchains
Public blockchains are open to all, without any selection. In other words, anyone can become a member of the network by downloading the protocol which is open source and accessible to any person who has an Internet connection. To obtain a decentralized network without any intermediary, it is essential to put in place a public blockchain. In the current state of the technology, this type of blockchain is however very heavy to implement because of the complexity of the consensus mechanism.
Consensus mechanism is used by the minors to determine which one will have the right to add the block to the blockchain and get the reward (currently, 12.5 blocks plus the fees paid by the users to transfer their bitcoins). It is important to understand that minors are in competition with each other. Mining bitcoins is a business like other, minors have invested in computer equipment, Internet connections and electricity for the provision of the network in the hope to add blocks and retrieve the reward.
But the system of the « Proof of work » (« Proof of work »), which is still the most used system at the present time, is very complicated to implement and limit the development of the network. This method also involves a disproportionate consumption of energy which is reflected on the growing transactions costs.
This is the price to pay to obtain a network perfectly decentralized and autonomous. Yet this type of blockchain is not suitable for all types of projects.
Private blockchain
The Private blockchains and Consortium
Access to a private blockchain is limited to members pre-approved. In other words, a member must respond to the conditions pre-established by the creators of the blockchain in order to access to the network and the services offered by the blockchain. The consensus mechanism is concentrated in the hands of one entity.
The problems of security being much more simple in the case of private blockchains because membres are known, it is possible to apply a consensus mechanisms much simpler, efficient and therefore easy to deploy such that the Bizantin Fault Tolerance. You probably wonder what these private blockchains may bring in comparison to shared databases as we currently know them?
The flexibility of this type of blockchain fits a large number of industries which have the constraints of operational or regulatory types.
For example, a distribution business that wishes to follow each of the products of its stocks using a blockchain could choose to use a private blockchain for its immutability, transparency, security and flexibility properties. Such company would have no need to use a public blockchain.
Similarly, a network of bank wishing to use a blockchain to perform and record transactions would be held by regulatory obligations of confidentiality and therefore forced to use a private blockchain or at least a Consortium as did the R3 network with its Platform of Smart Contracts » Corda ».
Thank you for reading this article. If you enjoyed it, please do not hesitate to share it on social medias!!
Dans le précédent article, nous avons introduit les ICO et leurs mécanismes de base. Nous allons maintenant décrire comment les investisseurs devraient analyser une ICO afin d’éviter les escroqueries.
Un nombre croissant d’ICO est proposé au public tous les jours de sorte qu’il devient difficile d’évaluer le potentiel et le sérieux de chaque projet. ICO rating est un bon point de départ pour se faire une idée de la qualité d’un projet et de son équipe. Plus le score lié au risque est élevée, moins il y a d’information disponible pour évaluer le projet.
Une autre façon d’approfondir votre compréhension du projet est d’aller sur le site bitcointalk.org. Ce site est l’un des principaux forums de discussion sur les crypto-monnaies. Si vous visitez la partie consacrée aux annonces, vous serez en mesure de trouver votre projet ainsi que les commentaires des utilisateurs qui sont généralement une mine d’or pour mieux comprendre et évaluer le projet.
Certaines initiatives ont également commencé à apparaître afin de guider les investisseurs (et les entrepreneurs) dans leur recherche. « ICOcharter » est l’une d’entre elles et vous aidera à vous poser les bonnes questions. Nous allons d’ailleurs l’utiliser pour structurer notre guide en tentant de compléter chacun des points soulevés.
ICO Charter
1-L’INFORMATION FOURNIE PAR LE PROJET D’ICO/ITO
Comme pour tout investissement la première étape de l’évaluation d’un projet réside dans la collecte de l’information relative au projet. ICOCharter décrit l’ensemble des informations nécessaire pour analyser une ICO et son serieux, nous allons tenter de la détailler.
• Une présentation exhaustive des ICO/ITO Chaque projet d’ICO sérieux doit avoir un site web sur lequel vous pourrez trouver des renseignements nécessaire, mais vous devrez également faire vos propres recherches afin de compléter et vérifier ces informations. Le site web de l’ICO doit vous fournir beaucoup d’informations sur le projet, le business model ainsi que l’équipe. L’absence de site internet ou un site incomplet constitue un premier signal négatif et trahit généralement l’amateurisme ou la non préparation de l’équipe. Notez qu’une simple page décrivant le projet ne suffit pas à constituer un site internet solide et susceptible de convaincre d’autres investisseurs.
• Livre blanc complet
Le point de départ de votre analyse doit être la lecture du « Livre blanc ». Vous pouvez normalement télécharger ce document sur le site web de l’ICO. Sinon, il suffit généralement de taper le nom de votre projet suivi de « Livre blanc » dans votre moteur de recherche pour tomber sur une version PDF du document. Le livre blanc est le document explicatif du projet, ses activités et ses objectifs. Il est donc essentiel de le lire correctement afin d’évaluer le projet. Pourtant, ces livres blancs ne sont pas toujours faciles à comprendre, parce qu’ils se réfèrent à des notions relatives à la cryptographie, crypto-économie, l’informatique de réseau (pour le consensus) ou à des concepts mathématiques complexes. Vous n’avez cependant pas besoin d’être un spécialiste dans chacun de ces domaines pour comprendre et évaluer une ICO. Mais vous aurez toujours besoin d’avoir une compréhension minimum de la manière dont un réseau organisé autour d’une blockchain fonctionne.
Tous les projets ont un livre blanc. L’absence de ce document ou son imprécision sont des indicateurs du manque de sérieux ou de la préparation des équipes portant le projet.
• Informations détaillées sur l’équipe, le marché, les produits et les entités juridiques sur lesquelles sont construites le projet d’ICO/ITO
Ces informations sont reprises dans les points ci-dessous.
• Règlements, statuts et structure de l’actionnariat
Ce sont tous les actes constitutifs de l’entité juridique créée pour supporter juridiquement l’ICO. Comme indiqué au point 11 ci-dessous, cette entité doit être enregistré dans un « pays conforme » pour s’assurer que vous serez en mesure de procéder à des poursuites judiciaires si l’ICO devait mal tourner.
• Fournir des renseignements concernant le montant que l’ICO doit lever
Les fondateurs du projet doivent préciser le montant des fonds/cryptocurrencies qu’ils ont l’intention de lever au cours de l’OIC. Il est également important de connaître le nombre total de jetons qui seront émises en échange de ces fonds. Vous devez être en mesure de déterminer si les jetons mis à disposition du public sont limitées ou non. En l’absence de limitation, votre investissement peut rapidement être noyé dans l’augmentation du nombre des jetons disponibles. Sauf pour des raisons particulières inhérentes au projet, il est donc essentiel que le nombre de jetons total soit déterminé par le Protocole avant l’ICO.
• Plan de développement du projet d’ICO/ITO
L’orientation du projet ainsi que les étapes de son développement devrait figurer dans le livre blanc ou être décrit sur le site internet du projet. Si le projet n’a pas encore émis de prototype que vous pouvez essayer (« beta preview »), il est essentiel de comprendre où les dirigeants du projet veulent aller, à quelles dates avec les fonds recueillis au cours de l’ICO.
Start up team
• Bios et CV des intervenants clés et le personnel du projet
Vous devez analyser l’expérience des membres de l’équipe en charge du projet. Il est généralement considéré que la composition de l’équipe est responsable de 50 % de la réussite du projet. Il n’est pas rare de voir des sociétés de capital-risque investir dans des mauvais projets portés par une équipe solide et expérimentée.
Les dirigeants : Ont-ils déjà participé à des projets relatifs à la blockchain avant? Le fait qu’ils ont échoué dans un précédent projet ne doit pas être considéré comme un point négatif. Le site web d’un projet sérieux doit avoir une page consacrée à l’équipe et fournir un résumé de leur expérience. L’absence de ces informations doit être perçue comme un signal négatif. Il est également important de déterminer si le projet bénéficie du soutien de consultants externes ayant une compétence reconnue dans l’industrie.
Les développeurs: Même si vous n’avez aucune connaissance en programmation, il est possible d’évaluer la participation des développeurs dans le projet. Pour cela vous pouvez aller sur la page Github du projet qui vous intéresse en tapant « Github » et le nom du projet dans Google. Par exemple c’est la page pour Steemit : https ://github.com/steemit/steem/graphs/contributors
Ensuite, il vous suffit de cliquer sur l’onglet « Code » pour voir le nombre de « engage » et leur histoire, ainsi que le nombre des « contributeurs » qui ont participé à l’élaboration du Code. Les « Commits » correspondent au nombre de changements/ajouts qui ont été effectuées sur le code source du projet.
Vous pouvez également consulter le nombre d’étoiles attribué au projet pour juger de sa popularité auprès de la communauté. Le site CoinGecko est un excellent moyen pour évaluer l’implication des développeurs dans le projet. Ils analysent plusieurs sites web où les développeurs peuvent déposer leur amélioration du protocole (le code source).
Cette information est importante parce qu’elle vous permet d’avoir une vue claire de l’équipe de développeurs ainsi que l’historique de leurs activités.
• Vérification indépendante des principaux acteurs/Staff ainsi que l’indépendance et l’impartialité des conseillers extérieurs
Vous devez vérifier que tous les renseignements fournis par les fondateurs du projet ont été vérifiés et certifiés par une tierce partie indépendante. Le nom et les détails de cette partie devrait être mentionné sur le site et, idéalement, vous devriez être en mesure d’accéder à son rapport.
2-EXAMEN JURIDIQUE INDÉPENDANT DE L’ICO ET DE SES ÉMETTEURS
Tout projet sérieux devra nommer un cabinet d’avocats pour s’assurer que l’ICO/ITO ne viole aucun règlement financier. Les avocats seront impliqués dans la création de la structure juridique émettant les jetons et recevant les fonds. Ils devront également déterminer si les jetons peuvent être qualifiés de titre de valeurs mobilières auquel cas ils seraient assujettis aux réglementations relatives aux titres financiers.
3- CARACTÉRISTIQUES DU LIVRE BLANC
• Entité juridique qui sous-tend l’émission de jetons
Ce point a déjà été évoqué plus haut sous « Règlements, statuts constitutifs et structure de l’actionnariat ».
• Brève description du projet ICO/ITO.
Si le Livre blanc est correctement rédigé, n’importe qui devrait être capable de comprendre les bases du projet ainsi que ses objectifs. Comme nous l’avons déjà mentionné, vous aurez besoin d’une certaine compréhension des mécanismes qui sous-tendent le fonctionnement d’un réseau décentralisé reposant sur un blockchain pour déterminer de quelle manière le projet permet d’améliorer la technologie. Comme pour tout investissement, vous ne devriez pas mettre votre argent dans un projet que vous ne comprenez pas.
• Le projet ICO/ITO Business Plan.
Une des choses les plus importantes que vous devez comprendre avant d’investir est la façon dont les jetons vont interagir avec le protocole qui les ont créé. Les business-model développés par les projets reposant sur une blockchain sont en effet très différents des business model tel que nous les connaissons actuellement.
Pour simplifier, chacun de ces projets est un écosystème organisée autour d’un protocole qui est téléchargé par tous les membres du réseau. Le protocole est un programme qui organise le fonctionnement du réseau, c.-à-d. qu’il définit par exemple la façon dont les blocs sont ajoutés à la blockchain, combien de mineurs sont récompensés pour leur travail, combien de jetons doivent être émis et la façon dont ces jetons sont utilisées par la communauté….
Le protocole a pour objet de résoudre un problème donné (par exemple le réseau Bitcoin propose de résoudre le problème du transfert de valeur sur Internet) par l’intermédiaire de sa communauté d’utilisateurs et de développeurs. En participant à une ICO et en acquérant des jetons, vous devenez membre de la communauté, que vous reniez une part active dans son développement (en utilisant le service proposé par le réseau ou en en faisant sa promotion) ou non (en conservant vos jetons en cold storage par exemple).
cryptocurrencies
Toutes les personnes impliquées dans la mise en œuvre du protocole (développeurs, mineurs ou utilisateurs) sont normalement récompensés par des jetons émis par le protocole. Leur pari est normalement de considérer que si ils participent au développement du réseau le nombre des utilisateurs va, se développer et prendre part à son tour à la résolution du problème. Par exemple, plus le réseau bictoin est large, plus le service qu’il propose (transfert de valeur sur internet) est efficace. Or la valeur du jeton (quand ils sont échangés sur des échanges de crypto) augmentera à mesure que le protocole et la communauté réussissent à résoudre le problème qu’ils ont l’intention de résoudre.
Le business-model d’un projet décentralisé dépend donc du problème que le protocole a l’intention de résoudre, du rôle de la communauté dans l’élaboration du protocole et sur la façon dont cette communauté est récompensé pour son implication.
Les jetons peuvent être vu comme la monnaie de l’écosystème et peuvent également être échangés contre des devises nationales ou autres cryptocurrencies sur les échanges. En tout cas, les jetons doivent jouer un rôle important dans le développement du projet et ne pas seulement être créés pour l’ICO. En effet, plus un utilisateur est récompensé pour développer le réseau plus il le fera. Si les jetons n’ont aucun rôle de récompense des membres de la communauté ou d’accès à un service alors vous devez vous demander quelle est la raison d’être des jetons.
Vous avez besoin de comprendre pourquoi les jetons que vous êtes sur le point d’acquérir sont nécessaires au fonctionnement du protocole et de la communauté. Vous devez vous demander si les jetons sont indispensables pour résoudre le problème que le protocole et la communauté ont l’intention de résoudre. Par exemple, est ce que les jetons bitcoin sont indispensables pour transférer de la valeur sur internet à travers le réseau bitcoin ? Réponse, oui. Si ce point n’est pas clair pour vous, alors cherchez encore!
• Quantité de jetons demandée.
Dans cette section, il est précisé combien de jetons seront émis au total, lorsqu’ils seront délivrés et comment ces jetons seront conservés par les fondateurs du projet. Il est très important que le protocole détermine un nombre total de jetons qui seront émis et si les fondateurs du projet auront la possibilité d’émettre plus de jetons à l’avenir ce qui aurait pour conséquence de diluer la valeur de ceux que vous avez acquis au cours de l’ICO.
Les jetons peuvent être pré-minés ou exploitées pendant la durée du projet. Les jetons sont « pré-minés, » lorsqu’ils sont tous émis au début du projet. Ce type d’émission est généralement considéré comme négatif par les communautés de passionnés qui voient cela comme une occasion pour les développeurs de conserver une part importante de jetons.
Il est préférable que le protocole soit programmé pour émettre des jetons au cours de l’élaboration du réseau. C’est le cas du Protocole Bitcoin qui émet des nouveau bitcoins chaque fois qu’un bloc est ajouté à la blockchain afin de récompenser le travail des mineurs. Pour autant, le nombre total de bitcoins qui sera émis n’est pas illimité et est déterminé par le Protocole lui-même. C’est la raison pour laquelle nous parlons du bitcoin comme d’une monnaie qui n’est pas inflationniste bien que des bitcoins soient émis toutes les 10 minutes.
• Combien de jetons sont conservés par les fondateurs ?
C’est notamment le cas pour les développeurs de Ripple qui avait conservé un nombre important de jeton dès le début du projet, mais qui ont été forcés de mettre en gage une partie significative de leurs jetons pour 10 ans en vue de faire cesser les critiques des autres investisseurs. Les craintes de ces derniers étaient en effet de voir les jetons détenu par les fondateurs du projet être mis en vente subitement, faisant ainsi chuter le prix des jetons déjà en circulation.
• Utilisation du produit de l’ICO
Ce point est détaillé ci-dessous, mais il est important que le Livre blanc décrive précisément comment les fonds levés lors de l’ICO vont être utilisés. Il est en effet important après avoir lu le livre blanc d’avoir une idée exacte des projets d’investissement et de développement du projet par les fondateurs.
• La présentation technique du projet Cette section détaille les aspects techniques du projet et décrit comment le protocole améliore la technologie existante. Si le projet propose un nouveau type de blockchain par exemple (comme l’a notamment fait IOTA), le livre blanc devra expliquer la différence avec les types existants de blockchain, comment cette dernière va stocker les transactions, qui seront les mineurs, comment ils seront rémunérés…
Il en va de même si le projet vise à améliorer la méthode de consensus (comme Steemit, Bitshares, Eos l’ont fait avec le mécanisme de la preuve de l’enjeu délégué par exemple). Il sera également important de comprendre si le projet mettra en œuvre sa propre blockchain et émets ses propre jetons (jetons natifs), ou se construit au-dessus d’un autre protocole (Ethereum par exemple) et émet des jetons non natifs. Comme nous l’avons décrit dans cet article, ces deux types de jetons ont des fonctions différentes et leur évaluation doit également évoluer différemment dans le temps.
• Structure des jetons, la mécanique, l’émission (primaire) et post ICO/ITO (secondaire) fonctionnalités pour le projet spécifique ICO/ITO
Comme nous venons de le mentionner, il est essentiel de comprendre la structure des jetons, c’est-à-dire si ils sont natifs ou non, et quel est leur rôle dans le fonctionnement du projet.
• Communication sur les risques et l’avertissement relatif aux règles légales et tribunal compétent dans l’EEE (Espace économique européen)
4-LE CODE DES SMART CONTRACTS DU PROJET AINSI QUE LES SPECIFICATIONS TECHNIQUES
Le code doit être « open source » c’est-à-dire ouvert à tous. C’est la base de l’élaboration de ces protocoles décentralisés. Si le code n’est pas ouverte à tous, sans raisons évidentes ou inhérente au projet lui-même, alors ce point est selon nous un problème qui va faire peur à la communauté et affecter le développement de l’écosystème. En effet, sauf si le projet repose sur une blockchain privée ou de Consortium, le développement et la mise à jour du protocole repose généralement sur le bon vouloir de la communauté des développeurs qui ajoutent leur proposition de manière bénévole dans un premier temps. Ils sont souvent rémunérés en jetons, mais il s’agit pour eux d’un pari puisque les jetons n’ont pas encore pris de valeur au moment de leur travail.
Smart contracts
Si le code n’est pas accessible à tous, le protocole ne pourra pas se développer aussi rapidement et il est probable que le développement de la communauté des utilisateurs soit également freinée par ce manque de transparence des développeurs initiaux.
5- LA LUTTE CONTRE LE BLANCHIMENT ET PROCEDURES DE KYC
Ce sont des processus standard de vérifications qui doivent être menées afin d’identifier l’origine des fonds investis et de s’assurer qu’ils ne sont pas illégaux. Toutes les banques et institutions financières sont soumises à ces contrôles et devraient également être réalisés dans le cadre des ICO/ITO même si la loi n’en fait pas encore explicitement la demande. Ces contrôles visent généralement à déterminer l’identité des participants à l’ICO (Passeport, Carte d’identité) et à leur demander de remplir sur l’honneur un formulaire relatif à l’origine des fonds. Si les montants investis sont considérés comme important des recherches plus approfondies pourront être menées par l’intermédiaire de société spécialisées.
6- COLLECTE DES JETONS ET CRYPTOCURRENCY
Tous les points suivants sont clairs et devraient être précisées dans le guide disponible sur le site web de l’ICO:
• La communication de différents types de ‘Portefeuilles’, ainsi que la traçabilité en temps réel des fonds recueillis pour l’ICO/ITO
• Divulgation des honoraires versés aux conseillers externes en jetons
• Transparence concernant les mécanismes de pré-vente et les rabais proposés.
• La traçabilité de toutes les opérations réalisées avec les jetons de l’ICO. Idéalement il faudrait avoir accès à un site comme « blockchain.info ».
• La divulgation de tous les frais utilisé pour et pendant le processus de l’ICO/ITO
7-UTILISATION DES PRODUITS DE L’ICO/ITO
• Processus de restitution des fonds si le montant cible de l’ICO n’est pas atteint
Ce processus doit être clairement expliqué dans le guide disponible sur le site web de l’ICO. Sinon, vous devriez communiquer avec les fondateurs du projet pour obtenir plus de précisions. En pratique vous devriez au moins connaître les délais de retour de vos Ether ou Bitcoin sur le portefeuille que vous avez initialement utilisé.
• La création portefeuille visant la mise en gage des fonds jusqu’à la fin de l’ICO
Il est important de vérifier si un portefeuille séparé est organisé pour recueillir les jetons envoyer par les investisseurs et si il est géré par un tier indépendant. Cette garantie est importante si l’ICO s’avère être une escroquerie puisque le récepteur des jetons n’a aucune obligation (même pas légale) pour retourner les jetons.
• Les règles et les conditions de libération de fonds destinée à l’ICO
Ce point est déjà évoqué plus haut.
8-ICO/ITO SÉCURITÉ
• Présence continue d’un superviseur au cours de l’ICO/ITO pour surveiller l’ICO, le piratage et corriger les bugs.
• recommandé certification ISO 27001
9-ACCEPTATION D’UNE VÉRIFICATION PAR UN TIERS POUR MESURER LE RISQUE DU PROJET
Cette information peut-être difficile à obtenir et vous devrez souvent vous adresser directement à l’équipe du projet pour déterminer si un auditeur externe a été nommé pour vérifier la robustesse du code face aux attaques. Ce point est extrêmement important dans la mesure ou les projets établis sur des smart contracts (la grande majorité) quelque soit la plateforme utilisée (Ethereum, Hyperledger…), reposent sur une technologie naissante et donc faillible. Le fait que ces smart contracts soient utilisés pour véhiculer de la valeur (les jetons) rend l’exercice particulièrement intéressant pour les hackers. L’exemple le plus célèbre est malheureusement celui de la DAO, durant lequel les attaquants avaient trouvé une faille dans le code « Solidity » et dérobés l’équivalent de 45 millions d’euros et contraint Ethereum à effectuer un hard fork de sa blockchain et ainsi donner naissance à Ethereum Classic.
Proof of Work
10-LE PROCESSUS POST ICO
Comme déjà mentionné, le site internet de l’ICO doit fournir un guide détaillant toutes les étapes de l’ICO et surtout l’après ICO, c.-à-d. quand et comment vos jetons vous seront livrées :
• Divulguer les places de marché sur lesquelles les jetons nouvellement émises seront échangés: il est important d’obtenir cette information dès que possible si vous voulez vendre vos jetons dès que vous les avez reçus. Cette information est également importante si vous souhaitez contribuer à l’ICO sur le marché secondaire, c’est à dire en achetant les jetons sur un échange. Notez qu’acheter les jetons sur un échange, c’est-à-dire sur le marché secondaire, est généralement beaucoup moins intéressant en raison du prix plus élevé des jetons et des frais perçus par l’échange.
• La fréquence et les moyens utilisés par les membres du projet pour communiquer les évolutions de l’ICO et ensuite du projet à la communauté des utilisateurs.
11-L’ENGAGEMENT SUR LE DROIT DES ÉTATS INSCRITS
Pour être conforme à la Charte, l’ICOs ne doit pas être :
• effectuée par un émetteur constitué en vertu des lois d’un État répertorié comme « non conforme » dans la dernière version de la « note globale à la suite d’examens par les pairs en fonction de la norme de l’EOIR » liste publiée par le Forum mondial sur la transparence et l’échange de renseignements à des fins fiscales de l’OCDE, accessible à l’adresse suivante : (http://www.oecd.org/tax/transparency/exchange-of-information-on-request/ratings/ » un État non conforme « ) ; ou
• régies par la législation d’un État non conforme.
• Si l’ICO est réalisée par un émetteur constitué en vertu des lois d’un État inscrit comme partiellement coopératif » ou « coopératif » dans la liste de l’OCDE, l’émetteur doit s’engager expressément, dans le livre blanc, à répondre en toute transparence à la demande de renseignements fiscaux présentée par une autorité fiscale, réglementaire et administrative étrangère.
Merci d’avoir lu ce long article. Si il vous a plu n’hésitez pas à le partager sur les réseaux sociaux
Si vous souhaitez avoir une première approche générale de la blockchain, de son rôle et de ses différents types de structures, je vous conseille cet article que j’ai écris pour BlogNT.
The encryption of asymmetric key is a central mechanism in bitcoin operations and cryptocurrencies in general. Almost all of the existing tokens are exchanged through this mechanism. The name may sound scary at first, but the mechanism is relatively simple to understand.
Symmetric key
To better understand how works a system based on asymmetric keys, it is necessary to begin by describing what is a system of a symmetric key. In this system, the key used by the party which sends and encrypts the message on the one hand, and the party who receives and decrypts it, on the other hand, is the same, hence the term symmetrical. All the challenge for the parties is, therefore, to achieve the exchange of the common key in a secured manner.
The fact that the parties use the same key necessarily implies an element of trust between the transmitter and the receiver, that is obviously not adapted to decentralized systems such as the Bitcoin in which the parties do not know each other.
Symmetric key
1 – The part that sends the message uses a cryptographic key to scramble its content.
2- The message can be sent to the recipient through a channel that is not secure.
3 – In parallel the sender transmits the cryptographic key to decrypt the message to the recipient.
4 – The recipient decrypts the message using the cryptographic key.
Encryption of asymmetric keys
Unlike the system of symmetric key, the system based on the encryption of public key uses two different keys to encrypt and decrypt the message, this is the reason for why this system belongs to the category of « encryption of asymmetric keys » (« Asymmetric Key Encryption »).
The interest of this system lies in the fact that you do not have to send the key which has encrypted the message to the recipient of the message. Both participants now have a set of key mathematically related one to the other. The public key is included in the encryption of the message, and the private key is used to decrypt it.
asymmetric key
Depending on the type of cryptographic system used, the public key is obtained from an encryption of the private key or vice versa.
For example, the public key that you use to transfer your bitcoins is created from the private key by applying a series of a cryptographic hash.
If we compare the payment in bitcoin to the payment by credit card, your public key corresponds to the number on your credit card which can be freely shared with anyone. Your private key corresponds to your secret code which should not be disclosed since it gives you the possibility to validate transactions and therefore to spend your bitcoins.
public and private key
If your private key is important, it is because it is always possible to find your public key from your private key, but not the opposite. It is indeed one of the main characteristics of a cryptographic hash. So you can transfer your public key to anyone since it is impossible to guess your private key from your public key.
The limits of the asymmetric encryption.
One of the main problems with the use of encryption algorithms public key lies in its low performance. For example, a symmetric encryption algorithm allows you to decrypt 256 bytes 4000 times faster than an asymmetric algorithm.
There are many encryption algorithms for the public keys. The two main ones are the RSA system of cryptography and the Elliptic Curve Cryptography. We will focus on this last algorithm since it is the system which has been adopted by the Bitcoin Protocol.
The RSA is the first system to have been used in the framework of the public key encryption and remains today the most used. Its name is derived from its three inventors Ron Rivest, Adi Shamir and Len Adleman, all three researchers at MIT. The encryption and decryption of the RSA are based on the principles of modular arithmetic whose description is beyond the scope of this Article.
Elliptic Curve Cryptography
The mechanism of the Elliptic Curve Cryptography has been retained by the or the designers of the Bitcoin Protocol to generate a public key from the private key.
In practice, a private key is a number of 256 bits obtained in a random manner. It is also recommended the use of a sophisticated pseudo-random system to generate your private key (cryptographically secure pseudo-random number generator – « CSPRNG ») to ensure maximum security.
The private key is then used to generate the public key using a multiplication on an elliptic curve:
The private key (K) will be multiplied by a point generator (G) located on the curve and the result will correspond to the public key (K), another point on the curve (or K = K*g). Without entering into the details of the multiplication on elliptic curve, it is important to note that the point (k) can be obtained from (k) and (g), but it is impossible to obtain the point (k) from (K) and (g) and this, although (G) is constant for all generations of bitcoin key.
Elliptic Curve Cryptography
In other words, it is possible to generate a public key from a private key, but it is impossible to find a private key from a public key. This is the reason why it is possible to reveal its public key to any security.
If you enjoyed this article, please do not hesitate to share it on social media!!! THANK YOU
Le cryptage de clé asymétrique est un mécanisme central dans le fonctionnement du bitcoin et des cryptomonnaies en général. La quasi-totalité des jetons existants sont échangés grâce à ce mécanisme. Le nom peut faire peur de prime abord, mais le mécanisme est relativement simple à comprendre.
Clé Symétrique
Pour mieux comprendre ce qu’est un système reposant sur des clés asymétriques, il est nécessaire de commencer par décrire ce qu’est un système de clé symétrique. Dans ce système, la clé utilisée par la partie qui envoie et crypte le message d’une part, et la partie qui le reçoit et le décrypte d’autre part, est la même, d’où le terme symétriques. Tout le challenge pour les parties est donc de parvenir à échanger la clé commune de façon sécurisée.
Le fait que les parties utilisent la même clé implique nécessairement un élément de confiance entre l’émetteur et le récepteur, ce qui ne convient évidemment pas aux systèmes comme le Bitcoin dans lequel les parties ne se connaissent pas.
Symetric key
1 – La partie qui envoie le message utilise la clé cryptographique pour brouiller son contenu.
2- Le message peut être envoyé au destinataire à travers un canal non sécurisé.
3 – En parallèle l’envoyeur transmet la clé cryptographique permettant de décrypter le message au destinataire.
4 – Le destinataire décrypte le message à l’aide de la clé cryptographique.
Cryptage de clefs asymétriques
Contrairement au système de clé symétriques, le système du cryptage de clef publique utilise deux clefs différentes pour crypter et décrypter le message, c’est la raison pour laquelle ce système appartient à la catégorie des “Cryptage de clefs asymétriques” (“Asymetric Key Encryption”).
CLE ASYMETRIQUE
Ce système permet d’éviter d’avoir à envoyer au destinataire du message la clé qui l’a encrypté. Les participants disposent désormais d’un jeu de clé reliées mathématiquement l’une à l’autre. La clef publique est inclue dans le cryptage du message, et la clé privée permet de le décrypter.
Selon le type de système cryptographique utilisé, la clé publique est obtenue à partir d’un cryptage de la clé privé ou vice versa.
Ainsi par exemple, la clé publique que vous utilisez pour transférer vos bitcoins est créée à partir de la clé privée en lui appliquant une série de hachage cryptographique.
Bitcoin transaction
Si nous comparons le paiement en bitcoin au paiement par carte bancaire, votre clé publique correspond à votre numéro de carte bleu qui peut être librement partagé avec n’importe qui. Votre clé privée correspond à votre code secret qui ne doit surtout pas être divulgué puisqu’il permet de valider les transactions et donc de dépenser vos bitcoins.
Si votre clé privée est si importante, c’est parce qu’il est toujours possible de retrouver votre clé publique à partir de votre clé privé, mais pas l’inverse. C’est en effet une des principales caractéristiques d’un hachage cryptographique. Vous pouvez donc transférer votre clé publique à n’importe qui puisqu’il est impossible de deviner votre clé privé à partir de votre clé publique.
Les limites du cryptage asymétrique.
L’un des principaux problèmes et frein à l’utilisation des algorithmes de cryptage de clé publique réside dans ses faibles performances. A titre d’exemple, un algorithme de cryptage symétrique permet de décrypter 256 bytes 4000 fois plus rapidement qu’un algorithme asymétrique.[1]
Il existe de nombreux algorithmes de cryptage pour les clés publiques. Les deux principaux sont le RSA système de cryptographie et la Curve Elliptique Cryptographique (“Elliptic Curve Cryptogrphy – ECC”). Nous nous concentrerons sur ce dernier algorithme puisque c’est le système qui a été retenu dans le cadre du Protocol Bitcoin.
Le RSA est le premier système à avoir été utilisé dans le cadre du cryptage de clé publique et demeure aujourd’hui le plus utilisé. Son nom est issu de ses trois inventeurs Ron Rivest, Adi Shamir et Len Adleman, tous trois chercheurs au MIT. Le cryptage et le décryptage du RSA sont basés sur des principes d’arithmétique modulaire dont la description va au-delà du cadre de cet article.
Curve Elliptique Cryptographique
Le mécanisme de la Curve Elliptique Cryptographique a été retenu par le ou les concepteurs du protocole Bitcoin pour générer une clé publique à partir de la clé privée.
En pratique, la clé privée est un numéro de 256 bits obtenu de manière aléatoire. Il est d’ailleurs recommande d’utiliser un système perfectionné de type pseudo-aléatoire pour générer votre clé privée (cryptographically secure pseudo-random number generator – “CSPRNG”) tout en assurant une sécurité maximum.
La clé privée est ensuite utilisée pour générer la clé publique en utilisant une multiplication sur courbe elliptique:
Curve Elliptique Cryptographique
La clé privée (k) sera multipliée par un point générateur (g) situe sur la courbe et le résultat correspondra à la clé publique (K), un autre point sur la courbe (ou K = k*g). Sans entrer dans le détail de la multiplication sur Curve Elliptique, il est important de noter que le point (K) peut être obtenu à partir de (k) et (g), mais il est impossible d’obtenir le point (k) à partir de (K) et (g) et ce, bien que (g) soit constant pour toutes les générations de clé bitcoin.
En d’autres termes, il est possible de générer une clé publique à partir d’une clé privée, mais il est impossible de retrouver une clé privée à partir d’une clé publique. C’est la raison pour laquelle il est possible de révéler sa clé publique en toute sécurité.
Si cet article a répondu à vos questions, n’heésitez pas aà le partager sur les réseau sociaux!!!
In the previous article, we have introduced ICO and their basic mechanisms. We will now describe how investors should analyze ICOs in order to avoid scams.
HOW TO EVALUATE AN ICO?
There is a growing number of ICO proposed to the public every day so it becomes difficult to evaluate the potential and the seriousness of the project.
ICO rating is a good starting point to get an idea of the seriousness of a project. The more the risk related score is high, the less information are available to evaluate the project.
Another way to deepen your understanding of the project is to make your own opinion on the site bitcointalk.org. It is one of the main discussion forums on crypto-currencies. If you visit the part dedicated to the Announcements, you will be able to find your project as well as the comments of users which are generally very rich in information.
Some initiatives have also started to appear in order to guide investors (and entrepreneurs) in their search. The “ICO Charter” is one of them and will help you dig into much more details. We would like to use it to structure our guide and just insert additional information/ideas to clarify some of the concepts.
ICO Charter
1-INFORMATION PROVIDED BY THE ICO/ITO PROJECT
Detailed and exhaustive presentation of the ICO/ITO Project
Every serious ICO must have a website on which you will be able to find useful information, but you will also need to do your own research. The ICO website should give you many information on the project, the business model, and the team. An ICO without a website or an incomplete one is not a good sign and should be treated as a red flag.
Complete White Paper
The starting point of your analysis must be to read the «whitepaper». You can normally download this document on the website of the ICO. If not, it is usually sufficient to type the name of your project followed by « Whitepaper » in your search engine to fall on a PDF version of the document.
[thrive_lead_lock id=’3574′]
The whitepaper is the explanatory document of the project, its operations, and its objectives. It is therefore essential to read it correctly in order to assess the project. Yet these whitepapers are not always easy to understand, because they refer to concepts relating to cryptography, crypto-economy, Network Computing (for the consensus) or to complex mathematical concepts.
However, you do not need to be a specialist in each of these areas to understand and evaluate a project. You will still need to have a basic understanding of the way a network organized around a blockchain works.
All serious projects have a whitepaper. The absence of this document or its imprecision are indicators of the lack of seriousness or preparation of the teams behind the project.
Detailed information on the team, market, product and legal entity(ies) sponsoring the ICO/ITO project
This is self-explanatory and will be detailed in below sections.
Bylaws, articles of incorporation and shareholding structure
These are the constitutive documents of the legal entity created to support the ICO. As described in point 11 below, this entity should be registered in a “compliant country” to ensure that you will be in a position to file legal pursuits should the ICO reveal to be a scam.
Provide information used to determine target Cryptocurrency raised
The founder of the project should clarify the amount of funds/cryptocurrencies, they intend to raise during the ICO.
It is also important to know the total number of tokens that will be issued in exchange of these funds. You should also be able to determine whether the tokens available to the public are limited or not. In the absence of limitation, your investment can quickly be drowned in the increase of available tokens. Except for specific reasons inherent to the project, it is therefore essential that the total number of token is determined by the Protocol.
Roadmap for ICO/ITO Project
The orientation of the project, as well as the stages of its development, should appear in the whitepaper or be described on the website of the project. If the project has not yet issued a prototype that you can try ( » beta preview »), it is essential to understand where the leader of the project wants to go, on which dates and with the funds raised during the ICO.
Bios and resumes of the key players/staff of the project doing an ICO/ITO.
You must analyze the experience of the members of the team in charge of the project. It is generally considered that the composition of the team is responsible for 50% of the success of the project.
The leaders: Have they already been involved in projects relating to the crypto-currencies before? The fact that they have failed in previous projects must not be regarded as a negative point. The website of a serious project must have a page devoted to the team and provide a summary of their experience. The absence of such information should be perceived as a negative signal. It is also important to determine if the project benefits from the support of external consultants with a recognized competence in the industry.
The developers: Even if you have no programming knowledge, it is possible to evaluate the involvement of developers on the project. For this, you can go on the Github page of the project that you are interested in by typing « Github » and the name of the project in Google. For instance, this is the page for Steemit: Https://github.com/steemit/steem/graphs/contributors
Then you simply click on the tab « Code » to see the number of « commits » and their history, as well as the number of ‘Contributors » who participated in the drafting of the Code. « Commits’ are the number of changes/additions which have been performed on the source code of the project.
You can also refer to the number of stars awarded to the project for judging its popularity with the community.
CoinGecko website is also excellent to evaluate the involvement of the developers in the project. They analyze several websites where developers can deposit their improvement of the protocol source code and rate the project accordingly.
This information is important because they will give you the possibility to have a clear view of the team of developers and the history of their activities.
Independent check of key players/Staff good standing (‘Fit and Proper’) and on the advisors’ suitability and independence.
You should check whether all the information provided by the founders of the project have been verified and certified by an independent tierce party. The name and details of this party should be mentioned on the website and ideally, you should be able to access its report.
2-INDEPENDENT LEGAL REVIEW OF THE ICO/ITO TOKEN AND ITS ISSUER
Any serious project will have to appoint a law firm to make sure that the ICO/ITO does not breach any financial regulation. The lawyers will be involved in the creation of the legal structure issuing the tokens and receiving the funds. They will also determine if the tokens could be classified as securities in which case they would be subject to all the financial regulations relative to IPO.
protocole
3-WHITE PAPER FEATURES
Underlying legal entity issuing tokens and its recent financials.
This point has already been described above under “Bylaws, articles of incorporation and shareholding structure”.
A brief description of ICO/ITO project.
If the Whitepaper is correctly drafted, anyone should be able to understand the basics of the project and what are the objectives. As mentioned above, you will need some understanding of the mechanisms underlying the functioning of a decentralized network based on a blockchain to determine how the project improves the technology. As for any investment, you do not want to put your money in a project that you do not understand.
Project ICO/ITO business Plan.
One of the most important things you need to understand before you buy the tokens is how this token will interact with the protocol that has created it. The business models developed by Decentralised Ledger Technologies are indeed very different from the business models we are currently familiar with.
The purpose of the protocol is to solve a problem (for instance Bitcoin propose to solve the issue of value transfer over the internet) through its community of users and developers. All the persons involved in the development of the protocol are normally rewarded with the tokens issued by the protocol. The value of the token (when exchanged on crypto exchanges) will increase if the protocol and the community are successful in solving the problem they intend to solve.
So the business model of a decentralized project will depend on the issue the protocol intends to solve, on the role of the community in the development of the protocol and on the way this community is rewarded for its implication. Tokens are the currency of the ecosystem and can be exchanged for national currencies or other cryptocurrencies on crypto exchanges. In any case, tokens must play an important role in the development of the project because the value of the protocol is impacted by the velocity (i.e the circulation) of these tokens.
You need to understand why the tokens you are about to acquire, are necessary for the development of the protocol. If this is not clear to you then search again!
Amount of cryptocurrency sought.
In this section, you want to clarify how many tokens will be issued in total, when they will be issued and how of these tokens will be retained by the founders of the project.
How many tokens?
It is very important that the protocol determines a total number of tokens that will be issued so the founders of the project do not decide to issue more tokens in the future and dilute the value of the one you have acquired during the ICO.
tokens
When will tokens be issued?
Tokens can be pre-mined or mined during the life of the project. Tokens are « pre-mined, » when they are all issued at the beginning of the project. This type of issuance is generally considered negatively by the communities of enthusiasts who see it as an opportunity for developers to retain a significant part of tokens.
It is preferable if the protocol is programmed to issue tokens during the development of the network. It is the case of the Protocol Bitcoin which creates new bitcoins every time a block is added to the blockchain in order to reward the work of minors. Yet the total number of bitcoins that will be issued is determined by the Protocol itself. This is the reason why we are talking about the bitcoin as a currency which is not inflationary.
How many tokens are retained by the founders?
This was particularly the case for the developers of ripple in order to stop criticism have been forced to pledge a significant part of their tokens for 10 years.
Use of proceeds
This point is detailed below, but it is important that the Whitepaper describe precisely how the ICO should be conducted. A guide should be available explaining all the steps form the transfer of your private keys to the reception of the ICO tokens.
The technical presentation of the project
This part might go deeper in details on the technical aspects of the project and describe how it improves the technology. If the project proposes a new type of blockchain for instance (as IOTA did with Tangle), the white paper will have to explain what the difference with the existing type of blockchain is, how it will store the transactions, who will be the miners, how they will be remunerated, show that this model is secured…
It is the same if the project intends to improve the consensus methodology (as Steemit, Eos and Bitshares with Delegated Proof of Stake for instance).
It will be important to understand if the project will implement its own blockchain and issue native tokens, or be constructed on top of another protocol (Ethereum for instance) and issue non-native tokens. As we described in our article describing the cryptocurrencies revolutionary business model, these two types of tokens have different functions and their valuation will also evolve differently over time.
Token structure, mechanics, issuance (primary) and post ICO/ITO (secondary) features for the specific project ICO/ITO
As we just mentioned, it is essential to understand the token structure, i.e if they are native or not, and what is their role in the functioning of the project.
Risk disclosures/Warning and disclaimers/Legal rules and a competent court in the EEA (European Economic Area)
4-ICO/ITO SMART CONTRACT CODE AND TECH SPECS
PROJET MANIFESTO V1
Smart Contract (s) or Access to code or any technical data detailing the Token delivery process, and subsequent impacts
The code must be « open source » i.e open to all. It is the basis of the development of these decentralized protocols. If the code is not open to all without obvious reasons or inherent to the project itself, then this point is according to us a problem that will frighten the community and affect the development of the ecosystem.
5-KYC, ANTI MONEY LAUNDERING, AND ANTI TERRORIST PROCESS
These are very standard checks that need to be conducted in order to identify the origins of funds invested and ensure that they are not illegal. All banks and financial institutions are subject to these checks and should also be conducted in an ICO/ITO even if the law does not yet request them. These checks are:
Passport, ID Card or any form of State issued ID document for a physical person.
Articles of incorporation of a legal entity with authorized signatory officers Tax-Residency of an investor.
You can expect to go through these checks when registering for the ICO on the project’s website.
6-TOKENS AND CRYPTOCURRENCY RAISING PROCESS
All the following points are self-explanatory and should be clarified in the guide provide available on the ICO website:
bitcoin wallet
Disclosure of different types of ‘Wallets’, real-time traceability of collected cryptocurrency (and/or Fiat currencies) for the ICO/ITO
Disclosure of fees in tokens paid to advisors
Pre-sales Mechanics/Rules and disclosure of rules to offer discounts
Traceability of all crypto transactions
Disclosure of all fees used for and during the process of the Pre-ICO/ITO and actual ICO/ITO
7-USE OF ICO/ITO PROCEEDS
The process of cryptocurrency proceeds ‘restitution in case the ICO/ITO target amount is not reached:
This part should be clearly explained in the guide available on the ICO website. If not, you should contact the founders of the project to obtain clarification.
Creation of an ICO/ITO Escrow wallet for cryptocurrencies
It is important to check that an escrow wallet managed by a third party is organized to collect the tokens sent by the investors. Otherwise, if the ICO is a scam, the receiver of the tokens will have no obligation (not even legal obligation) to return the tokens.
Rules and conditions for release of proceeds to the ICO/ITO project
8-ICO/ITO SAFETY AND SECURITY
The ongoing presence of an IT supervisor during the ICO/ITO to monitor the ICO/ITO website, hacking and the correct Bugs
ISO 27001 certification recommended
9-ACCEPTANCE OF A THIRD PARTY AUDIT TO MEASURE THE RISK OF THE PROJECT
10-POST ICO
As already mentioned, the website of the ICO should provide a guide detailing all the steps of the ICO and especially the post-ICO, i.e when and how your tokens will be delivered.
Disclose ICO/ITO process and history with outcome and results
Disclose marketplaces where newly issued ICO/ITO token is traded: it is important to obtain this information as early as possible if you want to sell your coins as soon as you have received them. It is also important if you want to participate to the ICO on the secondary market, i.e by buying the tokens on an exchange.
Sequence and means by which regular updates on the project are provided to the community
11-COMMITMENT ON THE LAW OF LISTED STATES
ICOs complying with this Charter shall not:
Be carried out by an issuer incorporated under the laws of a State listed as “non compliant” in the latest version of the «Overall Rating Following Peer Reviews against the standard of EOIR » list published by the Global Forum on Transparency and Exchange of Information for Tax Purposes of the OECD, accessible at the following address: http://www.oecd.org/tax/transparency/exchange-of-information-on-request/ratings/(a « Non Compliant State »); or
Be governed by the laws of a Non-Compliant State.
If an ICO is carried out by an issuer incorporated under the laws of a State listed as “provisionally partially cooperative” or “partially cooperative” in the above-mentioned OECD list (a “Partially Cooperative State”), or governed by the laws of a Partially Cooperative State, the issuer shall expressly undertake, in the white paper, to answer in full transparency and cooperation to the tax information request submitted by foreign tax administrative, judicial or regulatory authorities
If you enjoyed this article, please do not hesitate to share it on your favorite social media!! thank you
La France a décidé de devenir un des leaders dans l’industrie naissante de la blockchain et elle s’en donne les moyens. Nous sommes en effet le premier état au monde à donner une définition légale de la blockchain et à en reconnaitre les vertus.
Dès 2016, le législateur français s’est penché sur cette technologie et a décidé de l’appliquer à deux domaines du droit des titres financiers qui devaient être modernisés : Les bons de caisse et les titres non côtés.
Reprenons la chronologie de la réglementation française à ce jour:
Ordonnance du 28 avril 2016 relative aux bons de caisse
L’article 120 de la loi n°2016-1691 du 9 décembre 2016 dite « Sapin II »
Mars – mai 2017 : 1e consultation publique
19 septembre – 6 octobre 2017 : 2e consultation publique, sur la base d’un projet de texte
Avant le 9 décembre 2017 : publication de l’ordonnance
Avant le 9 mai 2018 : dépôt du projet de loi de ratification devant le Parlement
Décret d’application prévu, au plus tard, le 1er juillet 2018
Nous pouvons maintenant décrire chacune de ces étapes pour mieux en saisir l’ampleur.
1- L’ordonnance du 28 avril 2016 relative aux « bons de caisse »
Cette ordonnance institue un nouveau titre hybride, le «minibon» et permet de les rendre transférable au moyen d’une inscription dans ce que le législateur a défini comme un «dispositif d’enregistrement électronique partagé », une autre définition de la blockchain. Ces titres sont appelés Minibons parce qu’ils ont vocation à être émis par des Petites et Moyennes Entreprises dans le cadre de financement participatif. L’idée du législateur est de fournir aux PME un nouveau moyen de financement réalisé par l’émission de titres directement sur un blockchain.
2- L’article 120 de la loi n°2016-1691 de la loi du 9 décembre 2016 dite « Sapin II »
La loi Sapin II poursuit cette dynamique en habilitant le gouvernement français à prendre toute les mesures législatives utiles pour adapter le droit applicable aux titres financiers et aux valeurs mobilières. Il s’agit donc d’une carte blanche donnée par le législateur au gouvernement pour moderniser les régimes juridiques de certaines catégories de titres.
L’objectif est de promouvoir la mise en place d’un écosystème favorable à la technologie blockchain dans le prolongement de la réforme opérée pour les minibons et de positionner la France un pays en phase avec cette révolution technologique.
C’est dans le cadre de cette loi que le gouvernement a pris l’ordonnance du 09 Décembres 2017.
Reglementation francaise
3 – Les consultations publiques :
Avant de publier sa seconde ordonnance relative à la blockchain, le gouvernement a organisé deux consultations publiques en vue d’obtenir le plus de retour des acteurs de la place.
De nombreux points ont été évoqués dans les réponses obtenues par le gouvernement, nous ne reprendrons uniquement les plus importants:
Une majorité des participants s’est prononcé en faveur d’une prise de position du législateur en vue de limiter toute insécurité juridique.
Il était également demandé d’étendre le champ d’application de l’ordonnance au plus grand nombre de titres et permettre le transfert de propriété des titres dans la blockchain.
Les acteurs se sont toutefois montrés plus frileux quant à la gestion des espèces dans la blockchain. Cette option est jugée utile mais pas prioritaire.
Les avis étaient plus partagés quant au type de blockchain, publique ou privée, devant être utilisé. Chacun défendant le type de blockchain qui correspondait le mieux à son projet.
4- L’ordonnance blockchain du 09 décembre 2017
Dans le cadre du mandat que lui a alloué le législateur dans la loi « Sapin II », cette ordonnance propose de modifier le Code monétaire et financier et le Code de commerce pour permettre la transmission et la représentation de titres financiers au moyen de « dispositifs d’enregistrement électroniques partagés ».
Plusieurs conditions sont toutefois posées, à commencer par le fait que les titres ne doivent pas être admis aux opérations d’un dépositaire central, ni livré dans un système de règlement et de livraison d’instrument financiers. Cette exclusion s’explique simplement par le fait que le rôle de la blockchain couvre les missions du dépositaire central et du gestionnaire du système de règlement-livraison (Euroclear France pour la France): l’enregistrement, la conservation et l’échange des titres financiers.
Ensuite les inscriptions sont limitées à certains types d’instruments financiers:
les titres de créance négociables (les certificats de dépôt, les billets de trésorerie, les bons à moyen terme négociables)
les parts ou actions d’organismes de placement collectif (OPCVM)
les titres de capital (émis par des sociétés par action)
les titres de créance
blockchain
5 – Les apports et limites de cette ordonnance:
Cette ordonnance opère une simple adaptation du droit positif en assimilant l’inscription en compte titre à celle sur le registre blockchain. En d’autres termes, le gouvernement n’a pas opté pour la création d’un régime autonome pour la blockchain.
De plus l’ordonnance confirme que la blockchain sera utilisé pour les fonctions suivantes:
la cession et circulation des titres financiers.
la preuve de la propriété des titres.
le transfert de propriété.
Un autre point à noter est que l’ordonnance va indirectement donner naissance à une nouvelle catégorie d’acteurs: les gestionnaires de blockchain. Les émetteurs de titres non-côtés devront mandater une entité chargée d’assurer le bon fonctionnement de la blockchain et la conservation des titres.
6 –Qu’attendre du décret d’application prévu, au plus tard, le 1er juillet 2018?
L’ordonnance « Blockchain » a posé les bases de l’utilisation des blockchain pour la conservation et la circulation des titres non-côtés, beaucoup de questions n’ont toutefois pas encore été clarifiée. Ces réponses sont attendue de la part du Conseil d’Etat qui doit se pronnoncer au plus tard le 1er Juillet 2018.
Le décret devra notamment définir le cadre d’application de l’ordonnance en précisant le type de blockchain (publique ou privée) susceptible d’être utilisée. Le Conseil d’Etat devra également se prononcer sur les modalités d’inscription des titres dans la blockchain. Quelle forme devra prendre la demande d’ajout de la part de l’émetteur?
Le statut du gestionnaire de blockchain et le point de savoir si il devra obtenir une certification des autorités de marché? Mais également le régime de responsabilité qui lui est applicable. De ce point de vue, il est probable que nous nous dirigions vers une responsabilité légale des Emetteurs et contractuelle des gestionnaires (à confirmer)
Enfin, la question des conflits de lois devra être tranchée pour déterminer les conditions d’application du droit français aux titres conservés sur des blockchain. Cette question pourrait se révéler très complexe si le Conseil d’Etat décide d’étendre l’application de l’Ordonnance aux blockchains publique, ce qui n’est pas à exclure.
Si cet article vous a plus n’hésitez pas à le partager!! Vous pouvez également poser toutes vos questions en commentaire!!
Certainement l’une des expressions les plus célèbres à l’heure actuelle, L’expression Initial Coin Offering ou ICO, est utilisée en référence à l’offre publique d’achat (en anglais Initial Public Offering ou IPO) par laquelle les entreprises d’une certaine taille ouvrent leur capital au public en vue de lever des fonds. Les Initial Coin Offering pourraient bien révolutionner le monde de la finance. Dans cet article, nous allons clarifier les différentes étapes d’une Initial Coin Offering du point de vue des investisseurs et des entrepreneurs.
Notez qu’il est également très fréquent d’utiliser l’ITO pour « Initial Token Offering », parce que « Coins » et « Tokens » sont généralement différenciés. Sur le site Coinmarketcap.com par exemple, ces deux catégories sont identifiables en sélectionnant « Coins » ou « Tokens » en haut de la liste de tous les jetons. Les « Coins » correspondent à ce qui est aussi appelé « Native Tokens », qui, selon la définition du site, sont des « crypto-monnaies qui peuvent fonctionner indépendamment » puisqu’ils reposent sur leur propre blockchain.
En revanche, les « Tokens » (ou « Non-Native Tokens ») sont des « crypto-monnaies qui sont dépendant de la blockchain d’une autre cryptomonnaies pour fonctionner ». C’est par exemple le cas de Dapps qui sont créés au-dessus du protocole Ethereum tel que Storje, augur, Iconomi, Golem ou encore Omnisgo. Ils bénéficient en fait de l’environnement de développement et de la blockchain entretenue par Ethereum.
Pour simplifier, une ICO/ITO est un mode décentralisé pour lever des capitaux. Il s’agit d’une manière décentralisée, parce qu’elle permet aux entrepreneurs d’accéder directement aux investisseurs par le biais de plates-formes décentralisées (Ethereum, Wave…) sans avoir à passer par le chemin traditionnel du capital-risque. Il s’agit de « Coins » ou « Tokens » et non de « titres » émis par nos entreprises traditionnelles, car selon les projets les « Coins » ou « Tokens » peuvent avoir des fonctions et des retours sur investissements qui sont très différentes de ce que nous connaissons avec les instruments financiers traditionnels.
Les méthodes pour émettre des jetons: il y a deux options pour émettre les jetons au moyen d’une Initial Coin Offering. La première méthode consiste à recueillir les capitaux requis et de distribuer ensuite tous les jetons aux participants au prorata de leur participation. Cette méthode pourrait être comparée à l’émission de titres sur un marché primaire tel que nous le connaissons actuellement.
La deuxième méthode est d’émettre les jetons sur un échange de cryptomonnaies pour les vendre directement aux investisseurs. Cette méthode pourrait être comparée au marché secondaire.
Notez que, pendant une ICO/ITO, les deux méthodes peuvent être utilisées, l’une après l’autre, quand il y a une pré-vente par exemple.
ICO
QUELLES SONT LES DIFFÉRENTES ÉTAPES D’UNE ICO ?
Dans cette section, nous allons aborder les ICO/ITO du point de vue d’un entrepreneur (1) et de celui de l’investisseur (2) puisque que les deux sont très différents.
I – LE POINT DE VUE DE L’ENTREPRENEUR
J’ai récemment eu la chance d’assister à une présentation de Hubert de Vauplane et Valentine Baudoin de Kramer Levin, un des cabinet leaders pour l’ICO à Paris, durant laquelle ils ont expliqué les différentes étapes d’une ICO. Compte tenu de l’expérience du cabinet dans le domaine des IPO, ils sont particulièrement bien placés pour décrire les différences entre les deux processus.
L’un de leurs premiers points était de clarifier que le processus d’une ICO/ITO est très proche de celui d’une IPO, à commencer par la nécessité de conclure des contrats avec des spécialistes (conseillers, avocats, banques…) afin de compléter le projet. Ces conseillers nécessitent une mise de départ relativement importante (environ 500 000 $).
C’est pourquoi de nombreux entrepreneurs décident de financer l’ICO à travers une pré-ICO où ils recueillent des fonds grâce à la distribution des jetons pour les premiers utilisateurs. Les fonds recueillis servent ensuite payer les conseillers, les avocats, les banques et tous les coûts de l’ICO.
Donc, l’idée selon laquelle n’importe qui peut organiser une ICO juste en payant des agents avec les jetons de l’ICO n’est pas conforme à la réalité. Une ICO s’appuyant sur un projet sérieux devrait normalement passer par les étapes suivantes :
ICO workflow
Nous détaillerons chacun de ces points dans la troisième partie de cette série d’article, mais pour l’instant, il est intéressant d’avoir une idée des différentes étapes :
1 – Première étape : Structurer l’ICO
Cette partie est réalisée parallèlement à l’émission ou au minage des jetons qui seront vendus.
– Signature d’un contrat de service/ mandat d’accord avec un arrangeur (également appelé « Global Advisor »).
– Signature d’une lettre de mission avec un cabinet d’avocats.
2 – Deuxième étape : Conception du produit
Durant cette période, l’équipe se concentre sur la préparation du produit, en mettant en place un site web et en finalisant le Livre blanc. L’équipe va surtout essayer de motiver la communauté s’ils en ont déjà une. Sinon, ils auront besoin d’utiliser des outils marketing tels que les «Bounty programmes» et les «Airdrops» ainsi que les méthodes traditionnelles pour établir une communauté sur un laps de temps limité. Il est important de mentionner qu’une ICO est une excellente façon de commencer l’élaboration d’une communauté.
3 – Troisième étape : la pré-vente et de vente
Comme nous l’avons déjà mentionné, une pré-vente peut être organisée pour recueillir des fonds en vue de payer pour le processus de l’ICO/ITO. La pré-vente est généralement proposée à un prix réduit par rapport au prix qui sera proposé au cours de la vente.
4 – Quatrième étape : l’après ICO/ITO et le listing
Lister les « Coins » ou « Tokens » sur un échange de crypromonnaies est vital pour le succès de l’ICO/ITO. Obtenir un tel enregistrement garanti systématiquement un prix de vente plus élevé et une exposition à une base d’investisseurs très large.
Cet enregistrement n’est pourtant pas évident dans la mesure où la plupart des échanges ont publié les critères qu’ils évaluent pour accepter ou non les jetons. Ces guides visent par exemple à déterminer si les jetons pourraient être qualifiés d’actions au sens de la réglementation du pays d’enregistrement de l’échange.
II – LA PERSPECTIVE DE L’INVESTISSEUR
Une majorité d’ICO reposent sur la blockchain Ethereum. Dans la pratique, un smart contrat est créé et stocké sur le blockchain pour gérer tous les processus de l’ICO: réception de jetons, paiement lorsque le montant du financement est atteint ou le remboursement lorsque le le montant n’est pas atteint. La mise en place de ce genre de smart contrat est assez simple et le code (open source) est disponible sur le site web d’Ethereum.
Si vous souhaitez prendre part à une ICO et commencer à partir de zéro, vous devrez passer par les étapes suivantes:
1- Acheter des Ether ou des Bitcoin sur un échange:
Il n’est pas possible de participer à une ICO avec des monnaies nationales, la première étape est donc d’obtenir cryptomonnaies. La plupart de l’ICO sont réalisées avec des bitcoins ou des éther. Comme nous l’avons décrit dans cet article, il y a plusieurs façons d’obtenir des cryptomonnaies, mais la plus commune est à travers un échange.
2- Mettre en place un portefeuille:
Comme nous l’expliquons dans cet article, lorsque votre cryptomonnaies sont stockées sur un échange vous n’êtes pas propriétaire de votre clé privée. En d’autres termes, vous n’avez aucun contrôle sur vos jetons.
portefeuilles bitcoin
Chaque ICO utilise son propre ensemble de règles, mais la plupart du temps, vous devrez envoyer les clés privées d’un jeton donné (généralement BTC ou ETH) au porte-monnaie créé spécifiquement pour l’ICO. La seule façon d’arrêter et de transférer efficacement vos clés privées, serait depuis votre portefeuille.
Vous ne devriez jamais transférer vos jetons directement vers le portefeuille de l’ICO depuis un échange parce que vous ne détenez pas vos clés privées et les jetons de l’ICO ne vous seraient donc pas adressés.
Quel portefeuille choisir? De toute évidence, un portefeuille électronique qui est compatible avec les jetons de l’ICO que vous recherchez. Aujourd’hui, la plupart des jetons issus durant les ICO sont compatibles avec les standards ERC20 (c’est-à-dire que ces jetons sont compatibles avec le protocole Ethereum), vous aurez besoin d’un portefeuille qui est en mesure de recevoir ce type de jetons. Les portefeuilles les plus couramment utilisés sont MyEtherWallet et Metamask. Il est important de garder à l’esprit que ces portefeuilles n’offrent pas le plus haut niveau de sécurité et que vos jetons devront ensuite être transférés en «cold storage» sur des portefeuilles tel que Ledger ou Trezor.
3- Recevoir vos jetons:
Tous les ICO utilisent un processus différent vous devez donc vous rendre sur leur site web et suivre leur instruction, mais de manière générale, il vous sera demandé de transférer vos Ether ou bitcoins vers une adresse donnée et recevoir vos jetons une fois l’ICO terminée.
Notez que ce n’est pas rare de devoir patienter quelques jours, voire quelques semaines avant votre recevoir vos jetons.
Dans le prochain article de notre série consacrée aux ICO/ITO nous allons décrire comment vous pouvez analyser une ICO/ITO en détail.
Où trouver les ICO/ITO en cours?
Si vous souhaitez prendre part à une ICO, vous pouvez vous rendre sur les sites suivants qui liste les prochaines ICOs :
Steemit est un excellent exemple de ce que vont devenir les médias sociaux et internet en général dans un futur proche. Vous allez être rémunérés pour votre participation dans le développement de la plateforme…
Certainly one of the most famous expressions at the moment, initial Coin offering or ICO, is used by reference to the initial public offering or IPO by which companies of a certain size open their capital to the public in order to raise funds. The ICO could well revolutionize the world of finance.
Note that it is also very common to use ITO for “Initial Token Offering”, because “coins” and “tokens” are generally different. On the website Coinmarketcap.com for instance, these two categories are identifiable by selecting « Coins » or « Tokens » at the top of the list of all tokens. « Coins » correspond to what is also called « Native tokens », which according to the definition of the website, are « crypto-currencies which can operate independently » since they rely on their own blockchain.
By contrast, « Tokens » (or “non-native tokens”) are « crypto-currencies which are dependent on another crypto-currency as a platform for work ». This is, for example, the case of Dapps which are created on top of the Ethereum protocol (Storje, augur, Iconomi, Golem, Omnisgo…). They actually benefit from the development environment and the blockchain maintained by Ethereum.
To simplify, ICO/ITO is a decentralized way to raise capital. It is a decentralized way because it allows entrepreneurs to access investors directly through decentralized platforms (Ethereum, Wave…) without having to go through the traditional Venture Capital path. We are talking about tokens/coins and not “securities” issued by traditional companies, because depending on the projects these tokens/coins may have functions and returns on investments that are very different from traditional financial instruments.
[thrive_lead_lock id=’3574′]
Method to issue tokens: there are two options to issue the tokens through an ICO. The first method is to collect the requested capital and then distribute all the tokens to the participants in proportion to their participation. This method could be compared to the Primary Market issuance we currently know.
The second method is to release the tokens on an exchange and sell them to the participants. This method could be compared to the Secondary Market.
Note that during an ICO/ITO both methods can be used, one after the other, when there is a pre-sale for instance.
ICOs are therefore a mix of IPO and crowdfunding but actually goes much further.
ICO
WHAT ARE THE DIFFERENT STEPS OF AN ICO?
In this section, we will approach ICO/ITO from the perspective of an Entrepreneur (1) and from the one of an Investor (2) since both are quite different.
I – THE ENTREPRENEUR VIEW
I had the chance to assist to a presentation by Hubert de Vauplane and Valentine Baudoin from Kramer Levin, the leading law firm for ICO in Paris, and they explained all the different steps of an ICO. Given the law firm’s experience in IPO, it was extremely interesting to better understand the difference between both processes.
One of their first points was that ICO/ITO process was similar to IPO in many instances, starting from the necessity to contract with specialists (advisors, lawyers, lending banks…) in order to complete the project. Hiring such contractors requires entrepreneurs to gather an important amount of funds upfront (around $500,000).
That’s why many entrepreneurs decide to finance the ICO through a pre-ICO where they raise funds by distributing tokens to early adopters. The funds raised will then pay for the advisor, lawyers, banks and all costs of the real ICO.
So the idea that anybody can organize a serious ICO just by paying contractors with ICO tokens is not conformed to reality. ICO relying on a serious project would normally go through the following steps:
ICO workflow
We will go into details for each of these points in the third part of this article series, but for the time being, it is interesting to get an idea of the different steps:
1 – First stage: the ICO structuring
This part is conducted in parallel to the issuance or the mining of the tokens that will be sold.
Signature of a service agreement/mandate agreement with an arranger (also called « Global Advisor »).
Signature of an engagement letter with a law firm.
2 – Second stage: Product wrapping
During this part, the team focuses on the preparation of the product, by setting up a website and finalizing the Whitepaper. Most importantly they will try to motivate the community if they already have one. If not, they will need to use marketing tools, such as bounty programs and airdrops as well as the traditional method to build a community in a short period of time. It is important to mention that going through an ICO is an excellent way to start developing a community.
3 – Third stage: Pre-sale and sale
As we already mentioned, a pre-sale can be organized to raise funds from early adopters in order to pay for the ICO/ITO process. The pre-sale is generally proposed at a discount price in comparison to the ICO/ITO price that will be proposed during the sale.
4 – Fourth stage: Post ICO/ITO and Listing
Listing the Coins/Tokens on an exchange is vital to the success of the ICO/ITO. To get a Coin/Token on a well-known exchange will almost certainly ensure a higher price and an exposure to a wild range of investors.
However, this is a challenge and most exchanges have released the criteria they evaluate when considering whether to list digital currencies. The framework lists considerations such as whether the digital currency would qualify as a security under Coinbase guidelines, how much liquidity it has, and what exchanges trade the currency already.
II – THE INVESTOR VIEW
A majority of ICO are created over the Ethereum blockchain. In practice, a smart contract is created and stored on the blockchain to manage all the ICO process: reception of tokens, payment when the funding trigger is reached or refund when the trigger is not reached. Setting-up this kind of smart contract is quite straightforward since the code is available on the Ethereum website.
If you want to take part in an ICO and are starting from scratch, you will need to go through the following steps.
1- Buy Ether or Bitcoin on an Exchange:
You will not be able to take part in an ICO with fiat currencies, so the first step is to obtain cryptocurrencies. Most of the ICO are conducted with bitcoins and ether (the Ethereum native token). As we described in this article, there are several ways to obtain cryptocurrencies, but the most common is through an exchange.
2- Set-up a local wallet:
As we explain in this article, when your cryptocurrencies are stored on an exchange you do not own your private keys. In other words, you have no control over your coins.
Portefeuille bitcoin
Each ICO utilizes its own set of rules but most of the time you would be required to send the private keys of a given coin (generally BTC or ETH) to the wallet created for the purpose of the ICO. The only way to effectively detain and transfer your private keys would be from your local portfolio.
You should never transfer your coins directly to the wallet of the ICO from an exchange because you do not detain the private keys and the ICO tokens you have purchased will not be sent to your attention.
Which wallet should you choose? Obviously, a wallet that is compatible with the ICO tokens you are looking for. Today, most ICO tokens are ERC20 compatible (i.e these tokens are compatible with the Ethereum protocol), so you would need a wallet that is able to accept this type of tokens. The most commons ones are MyEtherWallet, Metamask or Parity. It is important to bear in mind that these wallets do not provide the highest level of security and all your tokens should remain in cold storage.
3- Receiving your coins:
All ICO has a different process so you have to go on their website and follow their instruction, but most of the times, you will be asked to send Ether to a given address and receive your tokens once the ICO is completed.
Note that this is quite common to have to wait one or two days before you receive your coins.
In the next article of our series on ICO/ITO we will describe how you can analyze an ICO/ITO in detail.
WHERE TO SEARCH FOR ICO:
If you want to take part in an ICO, you can visit the following websites which list the coming ICOs :
Il est de plus en plus évident que le bitcoin présente de nombreuses limitations en tant que moyen de payement. Limitations quant à la taille des blocks (1MB maximum) et à la vitesse d’ajout des blocks à la blockchain (un toutes les 10 minutes), qui engendre une autre limitation celle des frais élevés attachés aux transactions et qui rendent le bitcoin très peu compétitif par rapport aux autres moyens de paiements. Cette donne pourrait changer avec l’apparition de du Lightning Network.
QU’EST-CE QUE LE LIGHTNING NETWORK ?
Le Lightning Network est un protocole 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 protocole 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.
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.
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 bloquer une certaine somme d’argent.
Le Lightning Network 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 transaction mulit-sig initiale et effectuer des transactions à travers ce canal.
[thrive_lead_lock id=’3556′]
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.
COMMENT LE LIGHTNING NETWORK FONCTIONNE REELLEMENT?
Imaginons que Carol souhaite transférer des bitcoins à Alice, mais n’a pas de canal direct avec celle-ci. Elle va donc passer par l’intermédiaire de Bob qui lui à un canal ouvert entre Carol et Alice.
Source: Bitcoinmagazine
Les étapes d’une transaction réalisée à travers le Lightning Network sont les suivantes :
Alice demande à Carol de créer une valeur (par exemple un mélange de chiffre et de lettre) 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é.
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 »).
Proof of Work
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 adresse 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 adresse 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.
Le Lightning Network représente donc une avancée 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.
LA MISE EN ŒUVRE DU LIGHTNING NETWORK POURRAIT AVOIR L’EFFET OPPOSE A CELUI ESCOMPTE
Le Lightning Network semble avoir été choisi comme solution aux problèmes du bitcoin dans la mesure où il propose une architecture très prometteuse. Comme nous venons de le voir, il permet la création de canaux dans lesquels les utilisateurs peuvent réaliser autant de transactions qu’ils le souhaitent sans avoir à les ajouter à la blockchain à chaque fois mais en bénéficiant de la sécurité d’un réseau décentralisé. En d’autres termes, les opérations sont confirmées instantanément et les frais sont répartis entre toutes les opérations réalisées dans le canal lorsque celui-ci est fermé et la dernière transaction (qui est le résultat de la compensation de ce que les parties se doivent mutuellement) est ajoutée à la blockchain.
Lightning Network
Le seul problème réside dans le fait que les canaux sont seulement définis entre deux personnes. Afin d’atteindre une personne avec qui vous ne partagez pas de canal, vous devrez utiliser des nœuds intermédiaires ou “hubs” (Bob dans notre exemple). Cependant, ces nœuds pourrait être considérés par les organismes de réglementation comme des “transmetteurs monétaires” et à ce titre être soumis à des exigences telles que la capitalisation minimale, contrôles KYC (…) qui ne peuvent pas être rempli par n’importe quelle personne.
Le Règlements du FinCEN définit le terme “transmetteurs monétaires” comme une personne qui fournit des services de transfert de fonds, ou toute autre personne engagée dans le transfert de fonds. Le terme “services de transfert de fonds” signifie “l’acceptation de la monnaie, fonds, ou autres que la valeur de remplacement du service d’une personne et la transmission de service, fonds, ou autres que la valeur de remplacement du service à un autre endroit ou personne par tout moyen.””
Si c’était le cas, chaque nœud servant d’intermédiaire devrait être en mesure d’effectuer des vérifications sur l’origine des fonds, ce qui implique la mise en place de système important et ne pourrait donc être réalisée que par des institutions financière.
C’est ici que les banques et les grandes entreprises telles que les sociétés de cartes de crédit, pourraient entrer en jeu et commencer à gérer le réseau bitcoin, mais seul l’avenir nous confirmera ce scénario.
Si vous avaez aimeé cet article, n’hésitez pas à le Partager et à le Liker
[/thrive_lead_lock]
It is getting every day more evident that the bitcoin presents many limitations as a means of payment. Limitations on the size of the blocks (1MB maximum) and the speed of adding blocks to the blockchain (one every 10 minutes), which generates another limitation that the high costs attached to transactions and make the bitcoin a very poor competitor with regard to other means of payments. This could change with the emergence of the Lightning Network.
What is the Lightning Network?
The Lightning Network is a protocol which goal is 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 with extremely low fees.
The technology used by the lighting network is the so-called “channels of payments”. “Micropayments Channels” is a technology that allows you to gather several small transactions in the same transaction in order to limit the costs and not have to wait for the confirmation of each transaction.
Each party must therefore first create together a channel by issuing a transaction that they must all sign using their private key (i.e a multisig transaction). The transaction will not be broadcasted on the network and will have the vocation to block a certain sum of money.
[thrive_lead_lock id=’3574′]
The Lightning Network proposes a bidirectional channel, which means that both parties can make payments through the same channel. The two parties may, therefore, block a sum of money in the multisig transaction and perform transactions through this channel.
The Lightning Network also organizes the networking of these different channels in order to make 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.
How does the lightning network actually work?
Let’s imagine that Carol wishes to transfer a bitcoin to Alice, but has no direct channel with her. The payment will, therefore, go through an intermediary, “Bob” who has an open channel with both Carol and Alice.
Source: BitcoinMagazine
The steps of a transaction conducted through the lightning network are the following:
1- Alice requests Carol to create a value (for example a mixture of digit and letter), and to transfer the hash as well as her bitcoin address.
2- Alice transmits the hash to Bob and tells him that she would send him a bitcoin if he shows the value that he has received from Carol proving that it has transmitted a bitcoin to Carol.
3- Bob receives the value (which checks the hash) from Carol and transmits her a bitcoin in return.
4- Bob passes the value that he 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.
As we see Alice uses the channel that Bob has put in place with Carol to transfer a bitcoin. Obviously, this scenario works with several intermediaries.
But as you may be wondering, what would happen if Alice changed her mind and decided to no longer transfer the bitcoin once she has received the value from Bob and that the latter has forwarded the bitcoin to Carol (step 4 above)?
Hash Time-Locked contract
To solve this issue, 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, 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 unlocked (multisig address).
2- Bob can recover funds by sending them to an address he controls at any time by adding his signature and the value that has been transmitted by Alice.
3- Alice can also send the funds to an address that she controls but only after a certain period ( » Time-Lock »).
This mechanism is then used at network level. Alice and Bob have also put in place a hash Time-Locked Contract. In our example below, 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.
The Lightning Network, therefore, represents an important step for the development of the network bitcoin and can be a solution for networks of communication between machines that are presently developing.
The implementation of the lightning network could have the effect opposed to that discount
The Lightning Network seems to have been chosen as the solution to the problems of the bitcoin since it proposes a very promising architecture.
As we just described it allows the creation of channels in which users can perform as many transactions as they wish without having to add them to the blockchain each time but at the same time, benefiting from the security of a decentralized network. In other words, the operations are confirmed instantly and the costs are distributed between all the transactions carried out in the channel when it is closed and the last transaction (which is the result of the netting for what the parties owe each other) is added to the blockchain.
Lightning network
The only problem lies in the fact that the channels are only defined between two persons. In order to reach a person with whom you do not share a channel, you will need to use intermediate nodes or « hubs » (Bob in our example). However, these nodes could be considered by the regulatory agencies as « money transmitters » and as such be subject to requirements such as the minimum capitalization, KYC checks (…) which cannot be filled by anyone.
“FinCEN’s regulations define the term “money transmitter” as a person that provides money transmission services, or any other person engaged in the transfer of funds. The term “money transmission services” means “the acceptance of currency, funds, or other value that substitutes for currency from one person and the transmission of currency, funds, or other value that substitutes for currency to another location or person by any means.”
If this was the case, each node serving as an intermediary should be able to carry out checks on the origin of the funds, which implies the establishment of important system and could therefore not be carried out by financial institutions.
This is where banks and large companies such as the credit card companies could enter the game and begin to manage the bitcoin network, but only the future will confirm this scenario.
If you enjoyed this article, please do not hesitate to Like it and to Share it!
Vous ne pouvez pas être un crypto investisseur ou entrepreneur sans avoir une vraie compréhension des différences entre les types de blockchains ainsi que leurs implications. Même si elles reposent sur des principes similaires, leurs fonctionnements sont en fait différent à tous les niveaux. Ainsi des jetons ne pourront être évalués de la même manière selon qu’ils sont utilisés pour le fonctionnement d’une blockchain privée ou publique.
Quelles sont les principales différences ?
Une blockchain est dite « publique » (ou ouverte) lorsque n’importe qui peut devenir membre du réseau sans conditions d’admission. En d’autres termes, quiconque souhaitant utiliser le service proposé par le réseau peut télécharger le protocole localement sans avoir à révéler son identité ou correspondre à des critères prédéterminés. Comme nous l’avons déjà évoqué, un protocole est un programme informatique qui pourrait être comparé à une charte en ce qu’il définit les règles de fonctionnement d’un réseau reposant sur une blockchain. Ainsi par exemple, les membres du réseau bitcoin téléchargent le protocole Bitcoin (par l’intermédiaire de leur « wallet ») pour pouvoir prendre part au réseau et échanger des bitcoins, mais la seule condition est d’avoir une connexion internet.
Il en va différemment avec une blockchain privée (ou fermée), puisque les membres du réseau sont sélectionnés avant de pouvoir télécharger le protocole et donc utiliser le service proposé par le réseau. Les capacités de minage et le système de consensus dans son ensemble sont centralisés au sein d’une même entité. Un réseau reposant sur une blockchain privée n’est donc pas décentralisé à proprement parler.
Private blockchain
Enfin les blockchains de Consortium fournissent de nombreux avantages des blockchains privées sans pour autant concentrer le mécanisme du consensus entre les mains d’une même entité.
Comment fonctionnent ces différents types de blockchains en pratique ?
Les différences entre ces types de blockchain reposent sur les niveaux de confiance entre les membres et le niveau de sécurité qui est en découle. Ainsi plus le niveau de confiance entre les membres du réseau est élevé, plus le mécanisme de consensus (qui vise à ajouter les blocks à la blockchain de manière sécurisée) peut être léger. Comme nous allons le voir, il n’y aucune confiance entre les membres d’une blockchain publique puisqu’elle est ouverte à tous et à l’inverse une confiance beaucoup plus forte sur les blockchain privées puisque les membres sont pré-sélectionnés. Dans les réseaux reposant sur une blockchain, le niveau de confiance entre les membres du réseau impacte donc directement la structure et les mécanismes mis en place.
LES AVANTAGES ET INCONVENIENTS DE CES TROIS TYPES DE BLOCKCHAIN
PUBLIQUE
Une blockchain publique est idéale lorsque le réseau doit être réellement décentralisé, c’est à dire qu’aucune entité centrale ne contrôle l’entrée des membres sur le réseau et le mécanisme de consensus et lui aussi démocratique. Un mécanisme de consensus démocratique signifie que tous les membres peuvent devenir des mineurs et que ces mineurs sont en concurrence pour ajouter les blocks à la blockchain (en tout cas lorsque le mécanisme de la preuve du travail est utilisé).
Mais cette décentralisation à un coût.
– Taille des blocks limitée : Le nombre de transactions pouvant être ajoutés dans chaque block est limité, ce qui implique d’importantes limitations quant à la vitesse d’ajout des transactions à la blockchain. Les blocks de la blockchain bitcoin ont en effet une taille maximum de 1MB et ne peuvent donc accueillir qu’un nombre limité de transactions. L’objectif de SEGWIT est bien d’augmenter la taille des blocks à 2MB.
Blockchain network
– Lenteur de la blockchain: le protocole Bitcoin est programmé pour qu’un block ne puisse être ajouté à la blockchain que toutes les 10 minutes pour des raisons de sécurité. L’idée du protocole est que plus il y a de mineurs qui participent au mécanisme du consensus, plus la difficulté augmente en vue d’assurer que les blocks soient toujours ajoutés toutes les 10 minutes. Cette règle permet donc de maintenir la concurrence entre les membres du réseau. Cette mesure est également à l’origine de cette course à l’équipement à laquelle se livrent les mineurs et l’immense gâchis énergétique engendré par le minage du bitcoin.
[thrive_lead_lock id=’3556′]
– Un coût des transactions qui peut être élevé: Les mineurs ne participent au processus du minage que parce qu’ils espèrent obtenir la récompense (coinbase + frais) allouée aux mineurs ayant ajouté un block à la blockchain. Il s’agit pour eux d’un business, cette récompense leur permettant normalement de rembourser les coûts qu’ils ont engagés dans le processus du minage (électricité, matériel informatique, connexion internet). Les jetons qui leur sont distribués sont directement émis par le protocole, mais les frais sont à la charge des utilisateurs. Dans le cas du bitcoin par exemple, les mineurs reçoivent 12,5 bitcoins pour chaque block ajouté, à quoi s’ajoutes frais payés par les utilisateurs pour inclure leurs transactions dans les blocks. Ces frais sont variables et plus ils y a de demande d’ajout de transactions, plus ces frais sont élevés.
– Les transactions ajoutées sur la blockchain sont publiques: tout le monde (membre du réseau comme non-membres) à accès aux transactions ajoutées sur la blockchain. Les informations des transactions sont rendues publiques pour que les mineurs qui ne connaissent pas les autres membres puissent en vérifier la conformité (par exemple que la personne qui a créé une transaction dispose bien des bitcoins qu’elle souhaite dépenser). Ces transactions ne sont évidemment pas nominatives, seule votre clé publique apparaît, mais si quelqu’un connaît votre clé publique, il sera en mesure de retrouver toutes les transactions que vous avez réalisé.
CONSORTIUM
Un consortium est un réseau dans lequel les membres pouvant participer au mécanisme du consensus sont pré-sélectionnés. Ce type de blockchain est généralement considéré comme étant partiellement décentralisée dans la mesure où l’identité des mineurs est connue et qu’il est possible de rendre publique ou non les transactions ajoutées sur la blockchain.
Ce type de blockchain est mis en œuvre de la même manière qu’une blockchain privé que nous décrivons ci-dessous à la différence prêt que le mécanisme de consensus n’est pas concentré dans les mains d’une seule entité.
PRIVEE
Le mécanisme de consensus est centralisé entre les mains d’une seule entité qui a pour mission de vérifier et d’ajouter toutes transactions à la blockchain. Un réseau reposant sur une blockchain privée, n’a donc pas besoin d’utiliser un mécanisme de consensus comme la « Preuve du Travail » ou la « Preuve de l’enjeu » qui sont compliqués à mettre en place et couteux. Les problématiques de sécurité étant beaucoup plus simple dans le cas des blockchains privées, il est possible de leur appliquer des mécanismes de consensus, beaucoup plus léger, efficaces et donc facile à déployer tel que les BFT.
Ce contrôle du mécanisme de consensus à plusieurs avantages.
La maitrise de la blockchain: il est en effet possible de revenir à tout moment sur les transactions déjà ajoutées à la blockchain et donc changer la balance de ses membres. Dans une blockchain publique une telle opération nécessiterait que 51% des capacités de minages soient concentrées entres les mains d’une même entité. Ce fut notamment le cas de la cooperative de mineur GHash qui depassa le seuil des 51% début 2014.
blockchain
Absence de frais: le fait que le mécanisme de minage ne soit pas concurrentiel et qu’il n’y ait pas de mineurs à rémunérer permet d’éliminer les frais et récompenses attachés aux transactions.
Un consensus beaucoup rapide : le fait que le mécanisme de consensus soit centralisé permet d’obtenir un consensus beaucoup plus rapidement. En fait la notion de consensus n’est plus vraiment adaptée puisqu’il s’agit plutôt d’un enregistrement des transactions sur la blockchain. A noter que l’entité chargée d’administrer la blockchain peut três bien décider de changer les paramètres de la blockchain et notamment d’augmenter la taille des blocks pour pouvoir y ajouter plus de transactions.
Des données privées: l’entité en charge de l’administration de la blockchain peut également décider de contrôler qui peut entrer dans le réseau ou non et si les transactions seront publiques ou non.
Proof of Work
La question que nous nous posons évidement est celle de savoir ce que peuvent bien apporter les blockchain privées par rapport à nos base de données partagées telles que nous les connaissons actuellement ?
La flexibilité de ce type de blockchain correspond en fait à un grand nombre d’industrie qui ont des contraintes de type opérationnelles ou réglementaires.
Ainsi par exemple, une entreprise e distribution qui souhaite suivre chacun des produits de ses stocks en utilisant une blockchain, pourrait choisir d’utiliser une blockchain privé pour ses propriétés d’immutabilité, de transparence, de sécurité et de flexibilité. Une telle entreprise n’aurait aucun intérêt à utiliser une blockchain publique.
De même, un réseau de banque souhaitant utiliser une blockchain pour réaliser et enregistrer ses transactions, serait tenu à des obligations réglementaires de confidentialité et donc contrainte d’utiliser une blockchain privée au moins un Consortium comme l’a fait le réseau R3 avec sa plateforme de Smart Contracts « Corda ».
Si vous avez aimé cet article, n’hésitez pas à la Partager et à le Liker!!
You cannot be a crypto investor or entrepreneur without having a real understanding of the differences between these types of blockchains as well as their implications. Even if they are based on similar principles, their operation is, in fact, different to all levels. So the tokens issued by these blockchains will not be assessed in the same manner.
What are the main differences?
A blockchain is so-called « public »(or open) when anyone can become a member of the network without conditions of admission. In other words, anyone wishing to use the service proposed by the network can download the protocol locally without having to reveal his or her identity or meet predetermined criteria. A protocol is a computer program that could be compared to a Charter in that it defines the rules of operation of a network based on a blockchain. For example, the members of the bitcoin network download the Bitcoin protocol (through the intermediary of their « wallet ») to be able to join the network and exchange bitcoins, but the only condition is to have an Internet connection.
It is different with a private blockchain (or closed) since the members of the network are selected before being able to download the protocol and therefore use the proposed service by the network. The mining capabilities and the system of consensus as a whole are centralized within the hands of the same entity. A network based on a private blockchain is therefore not decentralized in itself.
Private blockchain
Finally, consortium blockchains provide many of the benefits of private blockchains without focus the mechanism of the consensus between the hands of the same entity.
[thrive_lead_lock id=’3574′]
In this article, we will mostly focus on the différence between public and private blockchain.
The differences between these types of blockchains are based on the levels of trust existing among the members of the network and the resulting level of security. Indeed, the higher the level of trust between the members of the network, the lighter the consensus mechanism (which aims to add the blocks to the blockchain securely). As we will see, there is no trust between the members of a public blockchain since it is open to everyone and inversely the confidence is much stronger on the private blockchain since members are pre-selected. In networks based on a blockchain, the level of trust among the members therefore directly impacts the structure and mechanisms of the network.
ADVANTAGES AND DISADVANTAGES OF THESE DIFFERENT TYPES OF BLOCKCHAIN
PUBLIC BLOCKCHAIN
A public blockchain is ideal when the network must be truly decentralized, which means that no central entity controls the entry of the members on the network and the consensus mechanism is democratic. A democratic mechanism of consensus means that all members can become a minor and that these miners are in competition to add the blocks to the blockchain (at least when the mechanism of the evidence of the work is used).
But this decentralization has a cost:
– The limited size of the blocks: The number of transactions that can be added in each block is limited, which involves important limitations to the speed of adding transactions to the blockchain.
– A cost per transactions which can be high: Miners only participate in the process of mining because they hope to get the reward (coinbase and fees) allocated to minors who have added a block to the blockchain. For them it is a business, this reward will finance the costs they have incurred in the process of mining (electricity, computer equipment, internet connection). Tokens that are distributed to them are directly issued by the Protocol, but the fees are supported by the users. In the case of the bitcoin, for example, minors receive 12.5 bitcoins for each block added, to which are added fees paid by the users to add their transactions to the blocks. These fees are variable and the higher the demand to add transactions, the higher the fees.
Public Blockchain
– The transactions added to the blockchain are public: the whole world (Member of the network as non-members) can access transactions that are added to the blockchain. The information of the transactions is made public for the miners who do not know the other members, to check the conformity (for example that the person who has created a transaction holds enough bitcoins). These transactions are obviously not nominative, only your public key appears, but if someone knows your public key, he will be able to find all the transactions that you have created.
CONSORTIUM
A consortium is a network in which the members that can participate to the consensus mechanism are pre-selected. This type of blockchain is generally regarded as partially decentralized to the extent that the identity of the minors is known and that it is possible to make public or not the transactions added to the blockchain.
This type of blockchain is implemented in the same manner as private blockchains that we describe below but the difference is that the consensus process is not concentrated into the hands of a single entity.
PRIVATE BLOCKCHAIN
The consensus mechanism is centralized in the hands of a single entity which mission is to verify and add all transactions to the blockchain. A network based on a private blockchain, therefore does not need to use a mechanism such as « Proof of Work » or « Proof of Stake » which are complicated to implement and expensive. The problems of security being much more simple in the case of private blockchains, it is possible to apply the mechanisms of consensus lighter, more effective and therefore easy to deploy such that the BFT.
Such control of the consensus has several advantages:
– The manipulation of the blockchain: It is indeed possible to come back at any time on the transactions that have already been added to the blockchain and therefore change the balance of the members. In a public blockchain, such operation would require that 51% of the hashing power (i.e capacity to mine) is concentrated in the hands of the same entity. This not theory anymore since it happened beginning 2014 when the cooperative of GHash minor reached the 51% threshold.
– An absence of fees: the fact that the mining process is not competitive and that there are no miners to remunerate, there are no costs and rewards attached to transactions.
– A consensus much faster: the fact that the consensus mechanism is centralized makes it much quicker. In fact, the term “consensus” is no longer adapted since it is rather a recording of transactions on the blockchain. Note that the entity responsible for managing the blockchain can decide to change the parameters of the blockchain and in particular to increase the size of the blocks to be able to add more transactions.
– Private data: the entity in charge of the administration of the blockchain may also decide to control who can enter the network or not and if the transactions will be public or not.
Blockchain
You may ask what makes the private blockchain better than the shared database as we know them today?
The flexibility of this type of blockchain might be very useful to a large number of industries who face operational or regulatory constraints.
For example, a distribution company that wishes to follow each of the products of its stocks using a blockchain might choose to use a private blockchain for its properties of immutability, transparency, security, and flexibility. Such an undertaking would have no interest to use a public blockchain.
Similarly, a network of bank wishing to use a blockchain to perform and record transactions, would be subject to confidentiality obligations and therefore forced to use a private blockchain or a Consortium as did the R3 network with its Platform of Smart Contracts » Corda ».
If you enjoyed this article please do not hesitate to like it and share on social media!!