Batching

Ce contenu éducatif vous est proposé par bunq, la néobanque qui facilite vos investissements crypto.
<strong>Investissez dans les cryptos en toute simplicité</strong>
Investissez dans les cryptos en toute simplicité

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.

Batching des paiements sur Bitcoin : réduction de la taille
Le batching sur Bitcoin : plus le nombre de paiements inclus dans une même transaction augmente et plus leur taille diminue. Les frais ne sont pas dépendants du nombre de paiements.

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.

Arbitrum - Architecture
Le batching au sein d'Arbitrum. Les nœuds séquenceurs créent des batches de transactions pour injecter une transaction unique sur la chaîne de base, Ethereum - https://medium.com/@sashhasashha/arbitrum-transaction-lifecycle-a7d3dcc51470