La tenue des transactions commerciales par des registres a été observée depuis les temps antiques Egyptiens. Mais ce n’est qu’au moyen âge Européen que l’on y a répondu de manière satisfaisante. A cette époque, les marchands de toute l’Europe achetaient les plus beaux habits de laine de Flandre, qui était alors le centre de l’industrie textile de laine, et les distribuaient aux confins de l’Europe. Les paiements se faisaient en nature pour la plupart ou avec les monnaies locales de l'époque, ou encore avec des paiements à terme.
La comptabilité et les rapports financiers reposent largement sur la tenue des livres de compte (appelés aussi registres à double entrées). Cette méthode a été inventée au 13ème siècle pour soutenir le commerce de la laine et le développement de son principal dérivé, le drap, marquant une époque de croissance à travers l’Europe. Les principaux marchands ont pris en main les activités d’achats, d'exportation et d'importation de laine au travers le développement d’associations, de guildes ou de hanses. Cette période forme l’apparition de la comptabilité en double partie et de la séparation des données financières en deux colonnes. Pour ce faire, chacune des parties maintient sa position sur un registre qui est contrebalancé (réconcilié) par la position de la partie adverse.
Ce registre à double entrée a favorisé un modèle de commerce centralisé, prenant en compte des intermédiaires, ce qui a naturellement généré un besoin de régulation et d’audit. Les acteurs financiers, les régulateurs et les auditeurs d’aujourd’hui sont organisés de la même manière qu'au 13ème siècle, à partir de ce grand livre à double entrée.
Prenons l’exemple d’un marchand de laine situé à Florence, avec des comptoirs à Avignon, Hambourg ou Lisbonne et des représentants locaux et des entrepôts à Bruges, Bruxelles ou Londres. Comme à l'époque de l'empire romain, la communication se faisait essentiellement au travers des routes commerciales empruntés à pied ou à cheval. Les problèmes qui pouvaient se poser à ce marchands étaient les suivants :
- Comment assurer le suivi des montants dus par les clients, ainsi que celles dus aux fournisseurs, et cela à différents endroits?
- Comment garder un inventaire précis des marchandises dans différents entrepôts avec leur état de livraison et partager l'information entre les différentes localisations?
- Comment s'assurer que la même pièce de tissu dans l'entrepôt de Bruges n'est pas vendue simultanément par l'agent d’Avignon et le siège à Florence?
- Et accessoirement, comment s’assurer que le même morceau de tissu n'a pas été clandestinement et faussement réservé comme vendu à quelqu'un?
Le grand livre à double entrée de Farolfi a commencé à être utilisé en 1299 à Nîmes (France). Dans ce registre, chaque transaction apparaît deux fois, une fois dans la colonne crédit (d'où provient la marchandise) et une fois dans la colonne débit (où elle est allée). Chaque transaction est ainsi doublement vérifiée, en s'assurant que tout flux de biens ou d'argent a une origine et une destination, et que le total des deux parties est équilibré.
Le journal est ainsi systématiquement utilisé pour enregistrer les transactions. En fin de journée, le comptable copierait et distribuerait les transactions dans les livres à double entrée, en identifiant l'origine et la destination de chaque mouvement, et en s'assurant que tous les comptes sont équilibrés après chaque opération.
En 1495, un Italien nommé Luca Pacioli a publié les détails de la méthode et l'a rendu populaire dans un livre imprimé. Ce livre a rencontré un tel succès qu’il est encore aujourd'hui la référence en matière des pratiques comptables, des règlements officiels et des processus financiers. Il est tellement ancré dans les pratiques commerciales que les efforts les plus récents d'automatisation reproduisent fidèlement ce processus.
Jusqu’en 1950, le système pratiqué par les entreprises était cette comptabilité « à l’italienne » comme appelé communément, qui consistait à l’utilisation de plusieurs journaux selon leur nature (selon les comptes tenus : clients, achats, etc.). Ces journaux étaient mis à jour pendant la journée par des aides-comptables et étaient remis au grand comptable en fin de journée. Celui-ci s’occupait ensuite d’entretenir les cinq grands livres du temps (comptes généraux, fournisseurs, clients, banques, frais généraux). Globalement, c'est à cette période que sont apparus le journal d’enregistrement chronologique des opérations du grand livre ainsi que des registres des dettes et des créances individuelles.
Les étapes d’un transaction financière
Pour suivre les étapes d’une transaction, imaginons les mécanismes d’un transfert d’argent effectué par l’envoi d’un SMS au travers d’une application bancaire.
- Etape 1- Emission : l’émetteur envoie une demande de transfert d’argent par SMS. La transaction bancaire est émise avec une carte bancaire pour un virement dans un autres pays. Généré à partir d’une application bancaire, un message électronique est envoyé au système de paiement de la banque. Pour la plupart des transactions entre banques, le réseau interbancaire de messagerie SWIFT (Society for Worldwide Interbank Financial Telecommunication) serait utilisé.
- Etape 2 - Validation: une première vérification que le SMS est bien produit par l’émetteur est effectuée. Une banque vérifie que les comptes du payeur et du bénéficiaire existent effectivement. Il vérifie la syntaxe, vérifie que le montant est dans un certain seuil, contrôle une signature autorisée, etc.
- Etape 3 - Confirmation: La banque vérifie le solde du compte, le statut réglementaire du transfert (seuil de déclaration, contrôle de change, etc.)
- Etape 4 - Règlement : Le montant est débité et le compte du récepteur est crédité du montant.
Lorsque le paiement est réglé, l’opération est inscrite dans le journal, et les registres à double entrée équilibrés.
La banque, en plus de conserver les livres équivalents pour le compte débiteur, doit également conserver une archive de la transaction, l’ajouter au rapport fournit aux autorités pour le blanchiment d’argent, etc.
Intéressonns-nous maintenant à ce qu'il se passe lorsque :
- L’émetteur et le récepteur ont des comptes dans des banques différentes A et B?
Dans sa forme la plus simple, la banque A débite l’émetteur et crédite la banque B, ensuite la banque B débit le banque A et crédite le récepteur. Le double enchaînement de mises à jour et d’archives ainsi que les rapports correspondants seront également déroulés. - La banque A et la banque B n’ont pas relation commerciale? La solution consisterait à impliquer une banque C qui aurait des relations entres les banques A et B. Ce qui génère un niveau supplémentaire d’écritures en cascades.
- La banque B fait faillite avant de créditer le récepteur, mais après avoir reçu le crédit de la banque A ou C? Une banque centrale qui ne ferait jamais défaut permet de répondre à cette question.
- En fin de journée, 200 Mds d’euros de transactions entre l’ensemble des banques du pays ont eu lieu? Est-ce que toutes les paires possibles de banques procéderont aux transferts mutuels sachant que le total des montants compensés sera beaucoup plus petit? Une chambre commune de la rémunération (ou de compensation, comme par exemple Clearstream) ferait tout simplement débiter chaque banque de la différence.
Malgré l’essor d’internet et la capacité d’échange de l’information à grande vitesse, nous faisons encore des opérations bancaires comme si les calculs ont été effectués manuellement et, en fait, des comptables sont encore employés pour vérifier sur les registres à double saisie les cas difficiles générés par ces entrées.
Comment la blockchain résout ces problèmes?
La blockchain est une technologie de stockage et de transmission d’informations, transparente, sécurisée, fonctionnant sans organe de contrôle. Elle se base sur un réseau d’ordinateurs (« noeuds ») utilisant le même protocole d’échange exécuté par un logiciel.
La blockchain amène la simplicité aux opérations du journal comptable et la sécurité liés aux transactions cryptées. En dehors du monde de la finance, chaque activité quotidienne peut en bénéficier. Le Bitcoin en est le plus grand succès, mais sa blockchain est dédiée aux transactions liée à la crypto-monnaie, tandis qu’Ethereum et d’autres plateformes sont plus généralistes et offrent plus de potentiel.
De facto, la blockchain peut supporter plusieurs types d’activités: échange de logements, réservation de chambres d’hôtel ou de places d’avion, suivi des pièces de rechange dans l’entretien de machines, suivi des chargements de marchandises, antécédents médicaux individuels, transactions immobilières, certification, fond mutuels, micro-assurance, micro-finance, etc.Nous allons nous intéresser sur les mécanismes de la blockchain qui permettent de résoudre les problématiques énoncés plus haut.
Cas #1 : Comment faire le suivi des montants dus par les clients et aux fournisseurs dans des endroits différents?
Chaque noeud participant reçoit une copie de toutes les transactions. Les transactions représentent les échanges de chacune des étapes précédentes 1 à 4, qui sont stockées au sein des blocs de la blockchain, et dont le résultat est partagé avec les pairs.
- Etape 1 - Emission : La blockchain permet la transmission de données le plus simplement possible.
- Etape 2 - Validation: Le protocole utilise un système cryptographique fondé sur un système décentralisé de preuves, fournie par tous les noeuds (« les mineurs »). Il peut être utilisé pour valider les signatures
- Etape 3 - Confirmation: La vérification que les fonds sont suffisants pour payer la transaction fait partie des programmes portés par la blockchain.
- Etape 4 - Règlement: Les soldes mis à jour (ou les sorties de la transaction) sont diffusées sur le réseau à tous les autres noeuds participants. Un consensus est construit pour enregistrer le règlement.
Cas #2 : Comment conserver un inventaire précis des marchandises dans différents entrepôts et leur état de livraison et échanger les informations entre les emplacements?
Parce que le calcul est fait par le même logiciel "client", tout écart entre les noeuds peut provenir d'un problème de calcul ou d'une différence dans la séquence d'exécution des transactions: certains noeuds peuvent recevoir la transaction B avant la transaction A et d'autres noeuds dans la séquence inverse.
L’écart lié au problème de calcul peut être résolu facilement: le noeud défaillant est isolé et le résultat correspondant est rejeté par les pairs. Traiter un écart dans la séquence est plus subtil parce qu'il peut y avoir un sous-ensemble minoritaire de noeuds qui s'accordent sur une séquence divergente.
Le protocole blockchain indique que si les noeuds obtenaient des résultats différents, ils accepteraient tous de choisir aléatoirement l'un d'eux pour avoir raison. C'est ce qu'on appelle le «consensus»: les autres rejettent leurs calculs et utilisent le résultat choisi. Il existe de nombreuses façons de parvenir à un consensus, le plus utilisé est la «preuve de travail»: les nœuds concurrents tentent de trouver un nombre qui satisfait une propriété donnée. Le premier nœud qui trouve une solution gagne le consensus.
Cas #3 : Comment s’assurer que le même morceau de tissu dans l’entrepôt de Bruges n’est pas vendu simultanément par l’agent d’Avignon et le siège de Florence?
Ce cas, appelé « double-dépense » peut arriver par simple coïncidence, ou par fraude délibérée. Le protocole blockchain résout ce problème en utilisant une primitive cryptographique appelée "hash". Le hash d'un document prouve qu'il n'a pas été modifié. Nous avons parlé plus haut de la «preuve de travail»: il consiste à collecter un certain nombre de transactions dans un «bloc» et à calculer un hash de celui-ci. Si un bloc est modifié, une vérification du hash le révélera immédiatement. Les blocs sont "enchaînés", c'est-à-dire que chaque bloc contient le hachage du bloc précédent. Si le bloc précédent est modifié, son hachage change et donc le contenu du bloc suivant l’est aussi, ainsi que le hachage de ce suivant etc. Par conséquent, la chaîne entière (bloc) révélerait ce changement unique.
Si l'incident de double dépense est arrivé par hasard, il s'agit d'une question de séquençage, de sorte que la transaction qui obtient d'abord son bloc approuvé par le consensus général est le seul valide, ce qui de facto élimine la deuxième dépense.
Si le double-dépense est issue d’une fraude, le tricheur émettra une deuxième dépense d’un même bien après que les premières dépenses ont été approuvées. Or cette deuxième dépense doit également être approuvé, et en même temps invalider d’une certaine manière le bloc contenant les premières dépenses. Cependant, comme ce bloc précédent a déjà été approuvé par consensus et enchaîné à d'autres blocs, le nœud de tricherie qui veut invalider ce bloc doit construire une chaîne de variantes plus rapidement que le reste de la communauté. Cela signifie qu'il a besoin de plus de puissance de calcul que le reste de la communauté. Il n'est pas impossible, mais économiquement très irréaliste en raison du coût versus le bénéfice de cette tricherie.
Il en résulte un besoin minime d'audit et de vérification par une autorité supérieure, car le consensus est toujours atteint entre tous les acteurs.
Quels usages pour la blockchain?
Les problèmes généraux que la blockchain peut résoudre sont immenses :
- Suivre les entrées et sorties d’un bien (argent ou jeton), parmi un grand nombre d'acteurs pairs
- Se prémunir contre un engagement quasi simultané (dépenser) de ce «bien» par 2 ou plusieurs acteurs ou par un même fraudeur
- S'assurer qu'une chambre d'hôtel n'a pas été réservée deux fois
- Eviter qu'un même taxi soit réservé à 2 clients
- S'assurer qu'aucun autre contrôleur aérien n'a attribué le même niveau de vol et le même itinéraire que le sien à un autre avion
- Suivre pendant la durée de vie d'un avion de ligne les pièces de rechange remplacées progressivement et indépendamment par différentes compagnies aériennes et ateliers de réparation? Airbus compte jusqu’à 7000 sous-traitants
- Faire en sorte que chaque pilote privé puisse enregistrer ses heures de vol dans une blockchain et de laisser les médecins enregistrer les certificats médicaux de ces pilotes, qui confirmerait naturellement leur compétence pour voler
- Suivre individuellement le placement des pièces satellites identifiées dans les sous-systèmes par des sous-traitants
- S'assurer que le même KWh d'un tableau solaire n'a pas été vendu à 2 clients différents
- Garantir qu'une maison n'a pas été vendue simultanément par 2 agents immobiliers à distance
- Suivre le chargement d'une flotte de navires porte-conteneurs par des stations transitaires
- Etc...
Tous ces problèmes sont aujourd'hui résolus par l'introduction d'une coordination centrale et des bases de données distribuées, qui peut être adapté pour un certain nombre de parties prenantes mais devenir complexe lorsque ce nombre croît. Une telle centralisation est une cible pour les attaques. Au-delà d'un certain volume et d'un certain nombre d'acteurs plus ou moins indépendants, ces problèmes bénéficieraient d'une solution «peer-to-peer». Le système obtenu gagnerait en flexibilité, efficacité et résilience.
Pourquoi les services financiers sont-ils devenus les premiers acteurs de la blockchain?
Depuis le début de l'humanité, le monde utilise quotidiennement une sorte de service financier, sous la forme typique d’un système peer-to-peer.
La centralisation et l'agrégation des transactions entraînent d'énormes mouvements de fonds et d'énormes flux financiers. Ils ont créé un besoin de réglementations strictes, pour détecter et punir les fraudes.
Une transformation en véritable modèle peer-to-peer nécessite des changements importants dans la réglementation et peut profondément transformer le secteur financier.
C'est pourquoi les premières applications de blockchain l'ont été dans ce domaine. Mais tous les autres exemples peuvent à un certain moment tirer profit de la technologie blockchain.
Le Bitcoin, la première plateforme de blockchain, a été conçu spécifiquement pour les transactions monétaires avec un remarquable système d’incitation pour soutenir son utilisation. La plateforme Ripple a également été conçue pour les transactions monétaires. La plateforme Ethereum est plus ambitieuse et vise à être universelle. Elle n’est pas limitée aux transactions financières et est capable de soutenir les autres cas d'utilisation cités ci - dessus.
La question qui se pose est de savoir s’il est judicieux de stocker dans la même blockchain publique les informations de tous les cas d'utilisation imaginables (par exemple le commerce liés aux caractères Pokemon-Go)? C'est pourquoi il y aurait certainement à l’avenir un bloc public (Bitcoin ou Ethereum ou autre) qui prend en charge les jetons Pokemon commerciaux, les timbres antiques, les disques vynils de collection, les échanges d’appartements (AirBnB), les services de transport de voitures, etc., et un certain nombre de solutions privées et restreintes basées sur Ethereum (ou non) pour gérer des questions plus confidentielles.
Pour citer les contributions actuelles au projet open source Hyperledger, qui ouvrent la route pour différents types de blockchains, nous avons aujourd'hui:
- Quorum base Ethereum (par JP Morgan),
- Corda , basée-Ethereum (par R3),
- Azure-Bletchley , basée-Ethereum (par Microsoft), et
- Fabric (IBM), sur une base de code différente.
Quelles sont les perspectives et les liens avec d’autres innovations?
Les acteurs de la finance et la FinTech s’emparent de sujet tel que les « paiements instantanés » ou blockchain et expérimentent de nouvelles possibilités. Ces innovations majeures dans le schéma des flux de paiement actuel vont changer considérablement la donne, accélérer les paiements et laisser place à des nouveaux moyens de paiement ultra-connectés. La révision de la DSP2 encourage ce mouvement, ce qui risque de révolutionner les usages.
Les fintechs qui se positionnent sur les services de paiement gèrent effectivement les étapes 1, 2 et 3 les plus faciles et les plus lucratives. L’étape 4 et le poids réel de la complexité restent à la charge des banques. C’est pourquoi le directive européenne sur les paiements (PSD2) appelle cela des « Services initiateurs de paiements » et non « services de paiement ».