Outil CLI
unionlabs/union avatar
unionlabs/union

Union : une couche d'infrastructure zero-knowledge pour les ponts

Union est un protocole d'interopérabilité sans connaissance permettant de transférer des données et des actifs entre des blockchains sans intermédiaire de confiance.

73 801 étoiles3 881 forksRustApache-2.0

En bref

De quoi s’agit-il ?
Le README décrit un protocole de passage de messages et de transferts d'actifs entre les chaînes Cosmos et EVM, avec des composants en Go, Rust, Solidity et TypeScript.
À qui s’adresse-t-il ?
Le dépôt présente une affirmation architecturale précise : un pont zero-knowledge sans tiers de confiance, construit à partir de onze composants. Le README fournit un chemin de construction basé sur Nix et une liste de réseaux pris en charge, mais laisse les détails de gouvernance, de sécurité et de licence à la documentation externe ou à une vérification.
Puis-je l’utiliser commercialement ?
Oui. Apache-2.0 est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
Est-il encore maintenu ?
Oui. Les derniers commits datent d’il y a 52 jours.
En quel langage est-il écrit ?
Principalement Rust, d’après les statistiques de langage de GitHub.

Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 15 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.

ANALYSE OPEN SOURCE APPROFONDIE

La couche zero-knowledge hyper-efficace

Le README de Union s'ouvre sur une seule affirmation : il s'agit d'une couche d'infrastructure zero-knowledge hyper-efficace pour le passage de messages général, les transferts d'actifs, les NFT et la finance décentralisée. Le projet déclare qu'il est basé sur la vérification de consensus et qu'il ne dépend pas de tiers de confiance, d'oracles, de multisignatures ou de MPC. Il implémente le protocole de communication inter-blockchain (IBC) pour la compatibilité avec les chaînes Cosmos et se connecte aux chaînes EVM telles que Ethereum, Berachain (beacon-kit) et Arbitrum. Le README indique également que la mise à niveau des contrats, les connexions, les configurations de jetons et l'évolution du protocole sont contrôlées par une gouvernance décentralisée, alignant les priorités de Union avec ses utilisateurs, validateurs et opérateurs. Aucun détail supplémentaire sur les internals du protocole ou l'analyse de sécurité n'est fourni dans la documentation du dépôt.

Les onze composants du dépôt

Le dépôt est organisé en onze composants, chacun avec un répertoire et un README dédiés. L'implémentation du nœud, uniond, est écrite en Go et utilise CometBLS. galoisd est l'implémentation du prouveur zero-knowledge, également en Go avec Gnark. voyager est décrit comme un relais inter-écosystèmes modulaire et hyper-performant, écrit en Rust. La pile de contrats intelligents CosmWasm et les clients légers pour divers écosystèmes sont tous deux en Rust. unionvisor est un superviseur de nœud Rust destiné à une utilisation en production. drip est un robinet Rust pour les chaînes Cosmos. La pile de contrats intelligents EVM est en Solidity. L'application à app.union.build est en TypeScript avec Svelte, tandis que le site à union.build est en TypeScript avec Astro. Enfin, un SDK TypeScript est fourni pour interagir avec Union.

Construire chaque composant avec Nix

La section de démarrage rapide du README demande aux utilisateurs d'installer Nix, spécifiquement via l'installateur Determinate Systems, pour construire de manière reproductible n'importe quel composant et entrer dans un shell de développement avec toutes les dépendances. Il note que certains composants ne peuvent être construits que sous Linux, et recommande OrbStack pour les utilisateurs macOS afin de configurer facilement une VM NixOS. Le README fournit trois exemples de commandes de construction : `nix build .#uniond -L`, `nix build .#voyager -L` et `nix build .#app -L`, avec une note selon laquelle `nix flake show` liste tous les paquets. Le résultat d'une construction apparaît dans `result/`. Entrer dans le shell de développement avec `nix develop` fournit cargo, rustc, node, go et d'autres dépendances. Avant chaque PR, le projet demande aux contributeurs d'exécuter `nix run .#pre-commit -L` pour formater le dépôt et vérifier l'orthographe. De l'aide est disponible sur le canal `#developers` du Discord de Union.

Réseaux pris en charge et leurs identifiants

Le README inclut un tableau des chaînes prises en charge avec des identifiants de mainnet et de testnet. Par exemple, Arbitrum est répertorié comme `arbitrum.42161` en mainnet et `arbitrum.421614` en testnet. Babylon, Base, Berachain, Bob, BSC, Corn, Ethereum, Osmosis, Sei, Sui, Union et Xion sont également répertoriés avec des chaînes de caractères spécifiques. Sui n'a pas d'entrée mainnet, seulement `sui.4c78adac` en testnet. La chaîne Union elle-même est répertoriée comme `union.union-1` en mainnet et `union.union-testnet-10` en testnet. Le tableau renvoie à https://docs.union.build/ucs/04/ pour la liste complète. Le README n'explique pas ce que signifient ces identifiants au-delà de leur présence dans le tableau.

Gouvernance et modèle de confiance

Le README déclare que les contrats, les connexions, les configurations de jetons et l'évolution du protocole sont contrôlés par une gouvernance décentralisée. Il affirme également que Union ne dépend pas de tiers de confiance, d'oracles, de multisignatures ou de MPC, et repose sur la vérification de consensus. Le README ne fournit pas d'explication plus détaillée sur la mise en œuvre de cette gouvernance ou sur la manière dont la minimisation de la confiance est réalisée en pratique. Il ne mentionne pas non plus d'audits, de vérification formelle ou d'incidents de sécurité. L'affirmation de 'sécurité extrêmement élevée' n'apparaît que dans la description du dépôt, pas dans le corps du README.

Documentation et statut de licence

La documentation officielle est hébergée à docs.union.build, et chaque composant a sa propre documentation de développeur dans son README. Les métadonnées du dépôt listent l'identifiant SPDX comme Apache-2.0, mais l'extrait de licence fourni indique qu'aucun fichier LICENSE n'a été trouvé dans les chemins courants. Par conséquent, les conditions exactes sous lesquelles le code est distribué ne peuvent pas être confirmées à partir du matériel source. Si le texte de licence existe dans le dépôt, il serait la source faisant autorité pour les permissions, les exclusions de garantie et d'autres conditions juridiques. Le README lui-même ne mentionne pas du tout la licence.

Conclusion éditoriale

Le dépôt présente une affirmation architecturale précise : un pont zero-knowledge sans tiers de confiance, construit à partir de onze composants. Le README fournit un chemin de construction basé sur Nix et une liste de réseaux pris en charge, mais laisse les détails de gouvernance, de sécurité et de licence à la documentation externe ou à une vérification. Pour une décision propre à union, commencez par le chemin documenté avec union, observez l'entrée et la sortie produites, puis vérifiez la licence Apache-2.0 avant toute redistribution ou intégration.

Sources officielles

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Notes de la communauté

Notes de la communauté