Resolve "Glossaire"

This commit is contained in:
VOLPE Dorian
2023-04-04 12:16:54 +00:00
parent e3bfa2fa0a
commit 1716a717a1
12 changed files with 166 additions and 86 deletions

View File

@ -4,7 +4,7 @@
Comme son nom lindique, un \textit{\gls{blockchain} bridge} également appelé \textit{\gls{cross-chain} bridge} est un protocole reliant deux \textit{\gls{blockchain}s} entre elles de manière unilatérale ou bilatérale dans une optique dinteropérabilité.\\
Dans la but de comprendre la popularité des \textit{bridges} en tant que protocole dinteropéralité, il faut en premier lieu sintéresser au marché de la cryptomonnaie. Actuellement Bitcoin domine en représentant 40,5\% de ce dernier, suivie ensuite par Ethereum avec 19,5\%. Cela laisse donc 40\% du marché formé de nombreuses crytomonnaies plus petites et plus indépendantes. Cest donc naturellement, quune forte demande de possibilité déchanges entre les \textit{\gls{blockchain}s} ait vu le jour de la part des utilisateurs ayant plusieurs cryptomonnaies\cite{NgraveNumbers}.\\
Dans la but de comprendre la popularité des \textit{bridges} en tant que protocole dinteropéralité, il faut en premier lieu sintéresser au marché de la cryptomonnaie. Actuellement \gls{Bitcoin} domine en représentant 40,5\% de ce dernier, suivie ensuite par \gls{Ethereum} avec 19,5\%. Cela laisse donc 40\% du marché formé de nombreuses crytomonnaies plus petites et plus indépendantes. Cest donc naturellement, quune forte demande de possibilité déchanges entre les \textit{\gls{blockchain}s} ait vu le jour de la part des utilisateurs ayant plusieurs cryptomonnaies\cite{NgraveNumbers}.\\
Il existe trois différentes manières de déplacer les \gls{actif}s en tant que \textit{bridge}. Tout dabord, le mécanisme de \textit{Lock and Mint} signifiant Verrouiller et Frapper, les \gls{actif}s se trouvant sur la chaîne de départ sont verrouillés sur celle-ci pour être ensuite créés sur la chaîne destinataire. Un autre mode d'échange est celui du \textit{Burnt and Mint}, ce dernier est très similaire à celui déjà présenté, la seule différence étant que les \gls{actif}s sont directement effacés plutôt que verrouillés. Pour finir, les échanges atomiques entre chaînes (Atomic Swaps) permettent un échange direct en pair-à-pair d'\gls{actif}s entre la chaîne dorigine et la chaîne de destinataire.\cite{EthereumMechanism}
@ -25,7 +25,7 @@ Les \textit{Trustless Bridges} sont désignés comme \textit{trustless} car ils
Les \textit{bridges} peuvent également être distingués en fonction de leur type de vérification. Les plus connus sont la vérification native, externe et locale.\cite{InteroperabilityBhuptani} \\
La vérification native commence par lutilisation dun \textit{light client}\cite{NomadDocsNative}. Un client léger est un logiciel permettant de connecter les noeuds des \textit{\gls{blockchain}s} entre elles. Il est codé comme un \textit{\gls{smart contract}} puis est employé de la chaîne de l'expéditeur vers la machine virtuelle de la chaîne destinataire. Si les vérificateurs de données de la chaîne de l'expéditeur sont honnêtes (cest-à-dire quils nagissent pas de manière malveillant) alors le client léger est vu comme véridique par la chaîne réceptionnant les \gls{actif}s ou données et peut être utilisé de manière bilatérale.
Un avantage de cette solution est quelle est reconnue comme étant celle reposant le moins sur la confiance parmi celles existantes car les chaînes ne se fient quà leurs propres vérificateurs pour effectuer le \textit{bridge}. Un autre bénéfice de ce mécanisme est le fait quil nutilise pas de vérificateurs tiers entre les deux \textit{\gls{blockchain}s} et donc la sécurité dépend de la sécurité des \textit{\gls{blockchain}s} elles-même (ce qui est avantageux si elles sont forcément sécurisées comme la chaîne dEthereum par exemple).
Un avantage de cette solution est quelle est reconnue comme étant celle reposant le moins sur la confiance parmi celles existantes car les chaînes ne se fient quà leurs propres vérificateurs pour effectuer le \textit{bridge}. Un autre bénéfice de ce mécanisme est le fait quil nutilise pas de vérificateurs tiers entre les deux \textit{\gls{blockchain}s} et donc la sécurité dépend de la sécurité des \textit{\gls{blockchain}s} elles-même (ce qui est avantageux si elles sont forcément sécurisées comme la chaîne d\gls{Ethereum} par exemple).
Un désavantage de cette méthode est que le client léger doit être adapté aux consensus des chaînes auquelles il est attaché ce qui le rend inutilisable avec des chaînes différentes. Le client léger nécessite également de la maintenance en cas de changement des règles consensus (utilisées pour valider les transactions). Un autre inconvénient découlant du fait que le client léger est programmé de manière spécifique est que ce dernier nest donc pas réutilisable. \\
\begin{figure}[h!]
\centering
@ -36,7 +36,7 @@ La vérification native commence par lutilisation dun \textit{light client
\pagebreak
La vérification externe consiste en un ensemble de vérificateurs nappartenant pas aux \textit{\gls{blockchain}s} relayant les données entre les deux extrémités du \textit{bridge}. Pour se faire, un certains nombre de vérificateurs doivent signer un message provenant de la chaîne denvoi pour que le chaîne destinataire le reconnaisse comme valide. Par exemple, pour le \textit{bridge} Wormhole 13 vérificateurs sur 19 doivent avoir signé\cite{NomadDocsExternal}. Ce concept est une primitive cryptographique (algorithme cryptographique de bas niveau servant de base à un système de sécurité informatique) nommée système de signature à seuil (désignée par TSS pour \textit{Threshold Signature Scheme})\cite{BinanceTSS}.
La vérification externe consiste en un ensemble de vérificateurs nappartenant pas aux \textit{\gls{blockchain}s} relayant les données entre les deux extrémités du \textit{bridge}. Pour se faire, un certains nombre de vérificateurs doivent signer un message provenant de la chaîne denvoi pour que le chaîne destinataire le reconnaisse comme valide. Par exemple, pour le \textit{bridge} \gls{Wormhole} 13 vérificateurs sur 19 doivent avoir signé\cite{NomadDocsExternal}. Ce concept est une primitive cryptographique (algorithme cryptographique de bas niveau servant de base à un système de sécurité informatique) nommée le système de signature à seuil (désignée par TSS pour \textit{Threshold Signature Scheme})\cite{BinanceTSS}.
Contrairement à la vérifications native, les \textit{bridges} vérifiés de manière externe sont faciles à développer, peuvent être réutilisés sans problèmes et leur maintenance coûte peu. Le désavantage conséquent de cette méthode est que la sécurité dépend des vérificateurs tiers du pont ce qui peut fragiliser le système car ils sont généralement moins sécurisés que ceux des \textit{\gls{blockchain}s}. \\
\begin{figure}[h!]
\centering
@ -88,9 +88,9 @@ Une faiblesse spécifique des \textit{bridges trusted} repose sur le fait que le
Comme vu dans la section présentant les différentes méthodes déchange des \textit{bridges}, ces derniers frappent les \gls{actif}s désirés sur la chaîne destinataire. Certains attaquants peuvent profiter de ce mécanisme de frappe pour effectuer ce quon appelle une \textit{Infinite Mint Attack}.\cite{ChainLinkRisks} Cette attaque peut se résumer à un \textit{hacker} générant un nombre élevé d\gls{actif}s en utilisant une faille dun \textit{bridge} sans verrouiller ou brûler d\gls{actif}s sur sa \textit{\gls{blockchain}}. Suite à cela, lindividu réintroduit ces \gls{actif}s sur le marché ce qui fait violemment baisser leur coût ce qui engendre un risque financier systémique.\\
Les \textit{\gls{blockchain} Bridges} sont très rapidement devenus un outil indispensable des échanges centralisés, mais il ne faut pas oublier que ces protocoles sont relativement récents. Créés par de petites \gls{blockchain}s comme Syscoin et NEAR Protocol dans le but de rentre leurs chaînes interopérables avec les applications décentralisées dEthereum, les premiers bridges datent de 2020\cite{Bitstamp}. Par conséquent, nous ne connaissons pas encore le comportement des \textit{bridges} lorsquils font face à des scénarios sortants de la norme comme des attaques réseaux, un retour en arrière sur les transactions dune \gls{blockchain} (souvent désigné par le terme \textit{rollback}) ou bien pendant une congestion du réseau. Ces zones dincertitudes peuvent donc être une source de risques. \\
Les \textit{\gls{blockchain} Bridges} sont devenus un outil indispensable des échanges centralisés très rapidement, mais il ne faut pas oublier que ces protocoles sont relativement récents. Créés par de petites \gls{blockchain}s comme Syscoin et NEAR Protocol dans le but de rentre leurs chaînes interopérables avec les applications décentralisées d\gls{Ethereum}, les premiers bridges datent de 2020\cite{Bitstamp}. Par conséquent, nous ne connaissons pas encore le comportement des \textit{bridges} lorsquils font face à des scénarios sortants de la norme comme des attaques réseaux, un retour en arrière sur les transactions dune \gls{blockchain} (souvent désigné par le terme \textit{rollback}) ou bien pendant une congestion du réseau. Ces zones dincertitudes peuvent donc être une source de risques. \\
Un autre facteur portant atteinte à la sécurité des \textit{bridges} est le fait que certains ont leur code en \textit{open source} dans une démarche de transparence et denvie dinstaurer une relation de confiance avec les utilisateurs. Malheureusement cela donne loccasion aux personnes malveillantes de mieux comprendre le fonctionnement du \textit{bridge} et donc de pouvoir lattaquer. Lattaque Wormhole est un exemple connu dattaque exploitant cette faiblesse.
Un autre facteur portant atteinte à la sécurité des \textit{bridges} est le fait que certains ont leur code en \textit{open source} dans une démarche de transparence et denvie dinstaurer une relation de confiance avec les utilisateurs. Malheureusement cela donne loccasion aux personnes malveillantes de mieux comprendre le fonctionnement du \textit{bridge} et donc de pouvoir lattaquer. Lattaque \gls{Wormhole} est un exemple connu dattaque exploitant cette faiblesse.
\begin{figure}[h!]
\centering
@ -140,6 +140,6 @@ Maintenant que les possibles obstacles au bon fonctionnement du \textit{bridge}
La faculté de lobservateur à pouvoir couper la connexion sil conteste la transaction lui permet deffectuer un déni de service appelé \textit{Watcher DoS}. Cest pourquoi il lui ait possible de fermer définitivement la connexion dune transaction si ce dernier continue sans cesse de couper le processus sans raison valable. Heureusement, la fermeture ne concerne que la connexion et nimpacte en aucun cas le système du \textit{bridge}. Cependant cette attaque semble irrationnelle en terme de ressources et de temps car lobservateur effectuant le déni de service ne gagne rien financièrement contrairement au processus habituel. En effet, si un observateur prouve une fraude correctement, ce dernier peut récupérer le collatéral du vérificateur. Mais ici puisquaucune fraude nest prouvée les données se trouvant sur la chaîne dorigine sont conservées et sécurisés. Cela cause seulement une perte de temps pour lutilisateur ou lapplication décentralisée voulant effectuer l'échange dune \textit{\gls{blockchain}} à une autre.
Une réponse à ce problème actuellement mise en œuvre par le \textit{bridge} de Nomad est la présence dun groupe restreint dobservateurs autorisés à contester, de cette manière il est facile de connaître les observateurs malveillants. Chaque observateur possède une clé permettant de signer une attestation confirmant la présence dune fraude dans la transaction, chaque \textit{bridge} stocke un ensemble contenant les adresses des attestations appartenant aux observateurs autorisés. Si lattestation reçue par le \textit{bridge} est présente dans lensemble alors la connexion est rompue\cite{NomadDocsWatcher}.
Une réponse à ce problème actuellement mise en œuvre par le \textit{bridge} de \gls{Nomad} est la présence dun groupe restreint dobservateurs autorisés à contester, de cette manière il est facile de connaître les observateurs malveillants. Chaque observateur possède une clé permettant de signer une attestation confirmant la présence dune fraude dans la transaction, chaque \textit{bridge} stocke un ensemble contenant les adresses des attestations appartenant aux observateurs autorisés. Si lattestation reçue par le \textit{bridge} est présente dans lensemble alors la connexion est rompue\cite{NomadDocsWatcher}.
Sur le long terme, une proposition consistant à la mise en place de frais si lon souhaite contester est en train dêtre étudiée. Le montant doit répondre à deux contraintes: ce dernier doit être assez haut pour dissuader les observateurs malhonnêtes mais assez bas pour que ceux ayant réellement lenvie de prouver de manière valide une fraude existante puissent le faire. Dans la continuité de cette solution, il serait également possible de récupérer la signature de la déconnexion générée par lobservateur sur la chaîne originale et de le pénaliser en lui retirant les frais quil a payé tel une garantie\cite{OptimisticBhuptani}.