BidBlock Améliore l'Efficacité de Production des Blocs sur BNB Smart Chain
BNB Smart Chain (BSC) a mis en œuvre BidBlock, un mécanisme de production de blocs introduit sous BEP-675, pour remédier aux inefficacités du processus de production de blocs traditionnel. BidBlock élimine l'exécution redondante des transactions par les validateurs avant la clôture des blocs, créant un potentiel pour des limites de gaz plus élevées et une évolutivité améliorée.
Comment BidBlock Change la Production de Blocs
Dans le processus SendBid traditionnel, les constructeurs et les validateurs exécutent tous deux des transactions avant qu'un bloc ne soit scellé, consommant un temps précieux dans l'intervalle du bloc. BidBlock modifie ce flux de travail en permettant aux constructeurs de soumettre des blocs avec des résultats d'exécution déjà attachés. Les validateurs scellent ensuite le bloc et réexécutent les transactions après diffusion pour vérifier leur exactitude. Cet ajustement réduit le nombre de passes d'exécution de trois à deux, comme modélisé dans BEP-675.
Ce nouveau processus n'augmente pas automatiquement la limite de gaz du réseau, mais donne aux constructeurs plus de temps pour construire des blocs, permettant des limites de gaz plus élevées si configurées. Les validateurs conservent la possibilité de révoquer les autorisations de SendBidBlock d'un constructeur en cas de soumissions invalides, avec un retour au processus tradionnel SendBid.
Fonctionnalités Clés de BidBlock
Une soumission de BidBlock comprend :
- Un en-tête avec les résultats de l'exécution, tels que la racine d'état et la racine des reçus.
- Transactions utilisateur signées et transactions systèmes non signées.
- Des blob en option pour des données supplémentaires.
Les validateurs vérifient les champs d'en-tête déterministes par rapport au bloc parent et aux règles de consensus avant de sceller. Après la diffusion, ils réexécutent le bloc localement pour confirmer les résultats soumis. Les règles normales de validité des blocs restent inchangées, assurant l'intégrité du réseau.
Améliorations de reth-bsc v0.1.3
La publication reth-bsc v0.1.3 prend en charge BidBlock en améliorant le transport et la fiabilité. Elle utilise des charges utiles binaires encodées RLP sur gRPC, réduisant la surcharge de sérialisation par rapport à l'analyse JSON. Les autres caractéristiques comprennent :
- Rejet des BidBlocks avec une racine d'état nulle.
- Conservation des révocations lors des redémarrages de nœuds.
- Métriques pour surveiller les mauvais BidBlocks et l'activité de révocation.
Les validateurs peuvent également utiliser des preuves provenant des pairs pour révoquer les autorisations locales de SendBidBlock, renforçant ainsi la robustesse du protocole.
Implications de Performance
BEP-675 estime que BidBlock pourrait permettre un plafond de limite de gaz 50% plus élevé dans des conditions modélisées, bien que ce chiffre reflète l'espace de capacité plutôt qu'une augmentation garantie du débit de transactions en direct. Les observations de la période post-Pasteur ont indiqué une augmentation moyenne de 28% du gaz par bloc pour BidBlock V2 par rapport à V1, démontrant son potentiel à gérer des charges de travail plus complexes.
Les constructeurs, validateurs et opérateurs de sentries sont encouragés à valider le transport de BidBlock et la gestion des permissions dans le cadre de leurs processus de déploiement. Pour plus de détails, reportez-vous à BEP-675 et aux notes de version de reth-bsc v0.1.3.