% Auteur : Louis de Campou
\begin{frame}{Wormhole}
Protocole de passage de messages qui connecte 13 chaînes dont Ethereum et Solana.
\newline

\begin{itemize}
    \item Gardiens
    \item Verified Action Approval (VAA)
    \item Payloads
\end{itemize}
\end{frame}

\begin{frame}{Wormhole : Gardiens}

Un gardien est une autorité de confiance qui a comme rôle d'observer et de signer un message.\newline

    \begin{block}{Fonctionnement du réseau de gardiens}
        \begin{itemize}
            \item Un message est émis depuis une chaîne source
            \item Chaque gardien observe individuellement ce message, vérifie sa validité puis le signe
            \item Lorsque 2/3 des gardiens ont signé le message, le consensus est atteint
            \item Le message signé est transmis à la chaîne cible pour traitement
        \end{itemize}
    \end{block}
\end{frame}

\begin{frame}{Wormhole : Verified Action Approval (VAA)}

Primitive de messagerie de base de Wormhole
\newline

En-tête :
\begin{itemize}
    \item Index de l'ensemble des gardiens
    \item Nombre de signatures stockées
    \item Collection des signatures ECSDA (secp256k1)
\end{itemize}

Corps : 
\begin{itemize}
    \item L'ID de la chaîne Wormhole du contrat émetteur
    \item L'adresse du contrat émetteur
    \item Le payload
\end{itemize}
\end{frame}

\begin{frame}{Wormhole : Payloads}

Charges utiles spécifiques attachées à un VAA depuis une chaîne source pour indiquer à la chaîne cible comment traiter le message Wormhole après vérification.\newline

5 payloads au total dont :
\begin{itemize}
    \item Transfer (déclenche la libération de jetons verrouillés) 
    \item AssetMeta (atteste les méta-données de l'actif, obligatoire avant un premier transfert)
\end{itemize}
\end{frame}

\begin{frame}{Wormhole : Payload - Transfer}

Pour transférer des jetons des chaînes A à B, il y a verrouillage des jetons sur la chaîne A puis on frappe ("mint") sur la chaîne B.\newline

\begin{itemize}
    \item ID de la charge utile
    \item Montant du transfert
    \item L'adresse sur la chaîne d'origine 
    \item ID de la chaîne d'origine
    \item L'adresse sur la chaîne de destination
    \item ID de la chaîne de destination
\end{itemize} 
\end{frame}

\begin{frame}{Wormhole : Conclusion}

\begin{itemize}
    \item Le réseau de gardiens est l'élement le plus critique de l'écosystème mais aussi le plus opaque
    \item Wormhole se dit décentralisé mais ne l'est pas selon notre définition
\end{itemize}
\end{frame}