Comment Bancor réduit considérablement les coûts du gaz d’Ethereum

Bancor Bounty
Bancor (Français)

--

Le réseau Bancor pour la liquidité décentralisée est fondamentalement différent des échanges traditionnels et décentralisés. Alors que la négociation sur les bourses nécessite une adéquation entre les acheteurs et les vendeurs, le protocole Bancor permet aux utilisateurs de convertir des jetons sans contrepartie. Un autre facteur clé de différenciation est que le protocole de Bancor ne repose pas sur des frais supplémentaires, mais plutôt sur la croissance de la BNT (et donc de l’utilisation du réseau) pour son expansion.Les seuls frais encourus par les utilisateurs sont ceux requis pour effectuer des transactions avec la blockchain sous-jacente (par exemple, le gaz sur Ethereum). Cela dit, les contrats intelligents que Bancor les utilise pour permettre la liquidité sur la chaîne (jumeler les utilisateurs à des pools de liquidités intelligents plutôt que les uns aux autres) sont très coûteux et peuvent faire en sorte que le coût du gaz soit relativement plus élevé qu’autres services qui transfèrent les jetons entre acheteurs et vendeurs (et généralement ajoutent des frais supplémentaires).

Nous avons été heureux quand Ethereum a publié la mise à niveau de Byzance ce qui a réduit leurs prix du gaz considérablement.Malheureusement, peu de temps après la publication, nous avons remarqué une augmentation continue des tarifs, ce qui nous a encouragés à continuer à développer des solutions indépendantes à ce problème, car la prochaine mise à niveau d’Ethereum pourrait être très loin.

Nous avons commencé à examiner les estimations de gaz fournies par des outils populaires et les comparées aux données réelles des derniers blocs et transactions. Notre objectif était de voir s’il y avait moyen de réduire notre estimation de gaz (que nous fournissons comme un outil utile aux utilisateurs de Bancor Network UX pour éviter l’échec des transactions) tout en réduisant les temps d’exécution.

Notre recherche a révélé que dans la plupart des blocs, plusieurs transactions avaient un prix du gaz très élevé par rapport à ~ 90% des autres transactions dans chaque bloc, ayant parfois un gwei même plus de 1000x que la prochaine transaction la plus élevée. Nous avons réalisé que la méthode standard Web3 pour estimer gasPrice utilise la médiane des transactions de prix du gaz du dernier bloc. Bingo! Cela signifiait que si dans le bloc précédent, les utilisateurs envoient plusieurs transactions avec des prix du gaz anormalement élevés au réseau, la méthode gasPrice serait trompée en renvoyant une estimation beaucoup plus élevée que nécessaire.

C’est une porte dérobée que les hackers peuvent abuser s’ils veulent manipuler les prix du gaz sur le réseau. En outre, si ce processus est réalisé par des mineurs d’Ethereum, ils peuvent faire grimper les prix et gonfler leurs propres bénéfices avec juste une poignée de transactions hors prix effectuées toutes les quelques heures.

Dans un premier temps pour régler ce problème, Bancor a mis en place une nouvelle méthode de calcul du prix du gaz qui exclut les prix exceptionnels du gaz de chaque bloc. Cela a immédiatement réduit nos estimations à des nombres plus réalistes, beaucoup plus bas que l’estimation de la méthode gasPrice.

Ensuite, nous avons croisé nos chiffres avec les chiffres fournis par ETH Gas Station et nous sommes assurés de rester proche de leur standard (<5 minutes) pour garantir que les transactions Bancor Network seraient toujours exécutées dans les 5 minutes ou moins.

Le nouveau calcul d’estimation de gaz a été poussé à l’application Web Bancor le 14 janvier à 16h (GMT) et a immédiatement réduit les prix moyens du gaz de 50% !

Cette solution était solide mais nous savions que nous pourrions faire encore mieux. Nous avons lancé un processus pour prédire les taux de gaz des blocs subséquents en fonction des prix du gaz des blocs précédents. Ce processus de prévision a permis à Bancor de réduire ses tarifs de 30% en moyenne .

Nous surveillons ces processus de prés et les mettons constamment à jour afin de garder une longueur d’avance et de fournir aux utilisateurs de Bancor Network les meilleurs taux possibles tout en convertissant n’importe quel jeton sur notre réseau de liquidités décentralisé sur la chaîne.

Merci à Or Dadush, développeur de Solidity à Bancor, pour la recherche, la conception et le développement de cette nouvelle approche.

--

--