%auteur: Amaury JOLY
\subsubsection{Définition}

Les sidechains sont des blockchains secondaires qui fonctionnent en parallèle d'une blockchain principale. Elles possèdent leurs propres caractéristiques, mais bénéficient de la communauté et de la sécurité inhérente au réseau principal pour les transactions finales qui seront inscrites sur la blockchain principale. Les sidechains permettent de réaliser des opérations en marge de la chaîne principale, apportant ainsi plus de scalabilité et de fonctionnalités. Par exemple, certaines sidechains sont compatibles avec l'Ethereum Virtual Machine (EVM) et peuvent donc porter des applications Ethereum.

\subsubsection{Zendoo}

Zendoo est une plateforme de création de sidechains interopérables avec la blockchain Horizen \cite{garoffolo2020zendoo}. Elle utilise un protocole de transfert cross-chain vérifiable par zk-SNARK \footnote{zk-SNARK est un acronyme qui signifie « Zero-Knowledge Succinct Non-Interactive Argument of Knowledge ». Il s'agit d'une preuve cryptographique qui permet à une partie, le prouveur, de prouver à une autre partie, le vérificateur, qu'une affirmation sur des informations détenues secrètement est vraie sans révéler les informations elles-mêmes.}, qui permet de garantir la sécurité et la décentralisation des communications entre la chaîne principale et les sidechains. Les sidechains Zendoo peuvent avoir des caractéristiques différentes de la chaîne principale, comme le mécanisme de consensus, le modèle comptable ou la structure des données. Elles peuvent même ne pas être des blockchains du tout, tant qu'elles respectent le protocole de transfert cross-chain. Zendoo offre ainsi une grande liberté aux développeurs pour créer des applications sur mesure sans compromettre la scalabilité ou la sécurité du réseau Horizen.\\
De ce fait, Zendoo facilite l'échange de jetons entre différentes chaînes de blocs, sans passer par des intermédiaires centralisés qui perçoivent des commissions. Les utilisateurs peuvent ainsi bénéficier d'une plus grande liquidité et d'une meilleure efficacité dans leurs transactions cross-chain.

\subsubsection{Contrainte technique des sidechains}

La mise en place de sidechains implique une contrainte technique majeure : la création d'un pont bidirectionnel (two-way bridge) entre la chaîne principale et la sidechain. Ce pont permet de transférer des actifs entre les deux chaînes, en respectant un taux de change prédéfini et en garantissant la conservation du nombre total d'actifs. Cependant, ce pont nécessite une coordination entre les deux chaînes, ce qui peut poser des problèmes de sécurité, de performance ou de compatibilité. Par exemple, il est difficile d'utiliser des sidechains avec des blockchains comme Ethereum ou Bitcoin, car elles n'ont pas le même algorithme de consensus, le même modèle comptable ou la même structure de données que les sidechains. Il faudrait donc adapter ces blockchains pour qu'elles puissent communiquer avec les sidechains, ce qui impliquerait des modifications importantes dans leur protocole.