ING veut faire passer toutes les banques sur la blockchain
Avec le zero knowledge proof, un participant d'une blockchain privée pourra prouver une information sans divulguer son contenu aux autres parties du réseau.
Le potentiel de la blockchain dans les services financiers n'est plus à prouver. Paiements internationaux plus rapides et moins coûteux, tenues de registre de fonds plus transparentes, partage sécurisé de données sensibles… Mais il reste encore plusieurs obstacles avant de généraliser l'utilisation de la blockchain dans le secteur. Un des plus importants est la confidentialité des informations. Actuellement, la majorité des pilotes sont menés sur des blockchain privées, ce qui permet aux participants de contrôler le réseau mais aussi de voir tout ce qui s'y passe… Par exemple, dans le cas du projet de trade finance Batavia, UBS peut voir que Commerzbank a financé telle entreprise pour tel montant. Un processus un peu trop transparent pour des transactions bancaires.
En 2017, Ethereum a intégré dans son protocole une brique utilisée en cryptographie baptisée le zero knowledge proof (ZKP). Traduction : une preuve à divulgation nulle de connaissance. Pour faire simple, cette technologie permet de révéler la preuve d'une information sans en divulguer le contenu. Par exemple, elle permet de prouver que vous avez plus de 18 ans sans donner votre âge exact.
"Nous cherchions à nous assurer qu'un acteur fasse une transaction sans qu'un autre acteur du réseau n'en connaisse les détails"
ING, qui travaille sur des projets blockchain depuis 2014, est l'une des rares banques dans le monde à expérimenter cette technologie. "Nous sommes tombés sur le zero-knowledge proof lorsque nous faisions des recherches sur les paiements internationaux dans la blockchain. Nous cherchions à nous assurer qu'un acteur puisse faire une transaction sans qu'un autre acteur de ce réseau n'en connaisse les détails. Le zero-knowledge proof était la réponse à ce problème", raconte Mariana Gomez de la Vila, senior program manager blockchain chez ING. "Nous avons joué avec cette technologie et nous en avons conclu qu'elle n'était pas totalement adapté au secteur. Dans le monde financier, tout est relié à un chiffre, que ce soit un prêt, un paiement, un solde bancaire… Nous avons donc implémenté une brique qui permet de cacher un chiffre dans une série de chiffres", ajoute-t-elle.
Un projet open source
En novembre 2017, ING a lancé sa propre solution, qu'elle a nommée zero-knowledge range proof, un version améliorée du ZKP. Concrètement, cette brique permet aux utilisateurs de prouver qu'ils ont un chiffre secret liée à une suite de chiffres connue. Et non, un élément tout entier (un montant, un âge…). "Par exemple, pour un prêt immobilier, un client peut prouver qu'il gagne assez pour avoir un crédit immobilier sans que la banque connaisse son salaire", illustre Mariana Gomez de la Vila. Ainsi, pour le cas du projet de trade finance, UBS ne pourrait pas voir le montant exact des transactions effectuées par Commerzbank.
Actuellement, ING expérimente cette technologie sur des cas d'usage dans le paiement mais ne précise pas lesquels. Et elle utilise la blockchain Ethereum pour opérer les transactions. "Nous avons choisi ce protocole parce que nous travaillions déjà avec pour nos autres projets blockchain. De plus, la blockchain Corda (développée par le consortium d'acteurs financiers R3, ndlr) n'était pas encore live au moment de nos travaux", précise-t-elle. La blockchain de R3, qui permet de réaliser de multiples applications dans le secteur financier, est live depuis seulement le 12 juillet 2018. Comme Corda, la solution d'ING est open source, disponible sur Github. Elle est destinée à toute entreprise qui souhaite cacher un chiffre dans une série de chiffres.
"Vitalik Buterin nous a dit que notre contribution était super et nous a mis en contact avec son équipe"
"Nous avons pour habitude de partager nos recherches avec notre écosystème. Il était donc logique de mettre en open source ce projet pour que tout le monde puisse le tester. Même si nous sommes actifs sur le sujet de la blockchain, nous n'avons pas la prétention de tout savoir", estime Mariana Gomez de la Vila. Le lendemain de la mise en ligne du projet sur Github, le cofondateur d'Ethereum Vitalik Buterin a envoyé un mail à l'équipe d'ING. "Il nous a dit que notre contribution était super et nous a mis en contact avec son équipe pour améliorer la technologie", raconte la dirigeante. Autre intérêt : le co-inventeur de Zcash (crypto-monnaie anonyme basée sur le zero knowledge proof), Madars Virza, a prévenu la banque d'une vulnérabilité, qui depuis a été corrigée.
La banque néerlandaise a poursuivi ses recherches et développe un nouveau type de preuve, le zero-knowledge set membership. Cette technologie peut par exemple confirmer l'appartenance d'un individu à l'Union européenne sans pour autant révéler de quel pays il est originaire. Cette brique pourrait intéresser les banques pour leurs processus de KYC (know your customer). Le ZKP pourrait aussi s'appliquer à d'autres branches de la banque (prêt, assurance, scoring de crédit…). Bref, partout où il y a un enjeu de communication de données personnelles. Un sujet d'autant plus important quelques semaines après l'entrée en vigueur du RGPD.