State proofs, c'est quoi ?
Découvrez l'une de plus grandes innovations d'Algorand.
Last updated
Découvrez l'une de plus grandes innovations d'Algorand.
Last updated
State Proofs signifie en français "preuves d'état."
Une preuve d'état est une combinaison compressée de signatures attestant d'un état ou d'évènements sur Algorand.
C'est une solution révolutionnaire dans le domaine de l'intéropérabilité sans confiance entre les blockchains (comme pour les ponts), et notamment dans des environnements à faible consommation comme les téléphones mobiles, les montres intelligentes, etc.
Pour faire simple, les preuves d’état sont des sortes de certificats délivrés tous les 256 blocs permettant à Algorand de générer en permanence des rapports cryptographiques sur ce qu'il se passe sur la blockchain.
L'objectif de State Proofs est de permettre à d'autres blockchains de vérifier des informations en temps réel sur Algorand, d'une façon extrêmement fiable et sûre.
Bien qu'ils s'agissent de rapports compacts, ces rapports sont encore trop lourds pour être lus, par exemple, dans un contrat en Solidity (via un client léger) sur Ethereum.
Par conséquent, les preuves d'état doivent être "SNARK-ifiées" (il s'agit d'une forme de preuve à connaissance nulle, largement utilisée par de nombreuses blockchains et co-inventée par Silvio Micali!) pour qu'il ne soit pas nécessaire qu'elles apparaissent de manière complète.
Les preuves d'état sont résistantes aux attaques quantiques, notamment grâce aux "Falcon Keys" qui sont des clés utilisées pour générer ces preuves d'état lors l'exécution de noeuds de participation sur Algorand.
Imaginons qu'Alice utilise exclusivement la blockchain Algorand.
Elle souhaite envoyer 10 AliceCoins (qui disons est une cryptomonnaie disponible sur plusieurs blockchains, comme peuvent l'être l'USDC, l'USDT, etc.) à son ami Bob.
Le problème c'est que Bob utilise exclusivement la blockchain Ethereum, et il veut des AliceCoins sur Ethereum, et non pas sur Algorand.
Aujourd'hui il est impossible de trouver une façon sécurisée pour répondre à cette problématique. Le plus simple est souvent de passer par un échange centralisé (comme Binance par exemple) pour effectuer le transfert, mais cela implique donc de passer malheureusement par un intermédiaire et ce n'est pas ce que l'on souhaite.
C'est également le cas lorsqu'on utilise un "pont" classique entre deux blockchains, puisqu'ils sont toujours contrôlés par une entreprise tierce à qui il faut faire confiance et ce n'est donc pas sécurisé non plus.
Avec State Proofs, cette problématique est enfin résolue et le transfert entre deux blockchains peut se faire de façon automatique, en toute sécurité et surtout sans intermédiaire.
Dans le cas d'Alice et Bob cela se passe comme ça:
1) Alice bloque les 10 AliceCoins dans un contrat intelligent sur Algorand.
2) Algorand va rapporter cette transaction dans une preuve d'état.
3) Algorand va rendre la preuve d'état plus compacte pour pouvoir être lue sur Ethereum.
4) Ethereum va prendre connaissance de la preuve d'état grâce à un client léger.
5) Ethereum va vérifier grâce à la preuve d'état qu'Alice avait bien déposé les 10 AliceCoins sur Algorand et va ensuite générer 10 AliceCoins sur Ethereum pour les envoyer à Bob.
Plus d'informations (en anglais): https://developer.algorand.org/docs/get-details/stateproofs/