
Le terme batching, batch processing - traitement par lots en français - désigne les méthodes d'agrégation de transactions en cryptomonnaie. Cela permet de réduire les coûts de traitement globaux.
C'est sur Bitcoin que cette technique fut tout d'abord utilisée. Il s'agit de regrouper de nombreux paiements en une seule transaction, ce qui permet de :
- Réduire les frais de transaction pour l'ensemble (on ne paie les frais que pour une transaction unique) ;
- Diminuer l'espace occupé par l'ensemble des paiements au sein du bloc.
Le batching sur Bitcoin permet ainsi de réaliser de substantielles économies par rapport aux transactions simples (une transaction unique pour chaque paiement). Il faut programmer une transaction combinant plusieurs entrées et sorties, ce qui peut s'avérer complexe. Ce sont généralement les plateformes de change qui utilisent le batching pour traiter plusieurs retraits à la fois. Les pools de minage utilisent aussi cette méthode, afin de verser les récompenses à leurs mineurs.

Le batching de transactions sur Bitcoin permet de plus d'optimiser le délai de finalisation des transactions, notamment dans le cas où le blockchain est fortement engorgée.
Le batching sur les couches secondaires
Le principe d'une couche secondaire (layer 2) est de décharger la couche de base. Les transactions des utilisateurs du L2 sont regroupées et traitées sur une autre chaîne. C'est le cas, par exemple, du Lightning Network pour Bitcoin, ou des rollups d'Ethereum comme Optimism.
Dans ce cas de figure, le batching est donc réalisé sur un réseau secondaire :
- Les utilisateurs soumettent leurs transactions sur le Layer 2 ;
- Des nœuds vérifient leur validité ;
- Elles sont agrégées selon des règles spécifiques (batching) ;
- Les nœuds agrégateurs (aussi appelés séquenceurs) produisent des preuves de la validité du batch ;
- La transaction finale correspondant au batch est ensuite diffusée sur la chaîne principale avec les preuves de validités (finalisation).
Il existe différentes techniques de batching pour les layers 2. L'objectif est non seulement d'optimiser des frais, de l'espace et des délais de traitement, mais aussi de pouvoir prouver de manière irréfutable à la couche de base que les batches ne comprennent que des transactions valides.
