Vers un marché flexible avec des frais dynamiques grâce au nouveau Core ARK

zôÖma
ARK.io - France
5 min readDec 10, 2018

--

Dans cet article, je parlerai tout d’abord (1) du système de dynamic fees (*frais dynamiques), (2) comment calculer ces frais dynamiques (feuille de calcul et exemple de code fournis) et (3) quelles sont les variables que nous avons introduites dans Ark Improvement Proposition 16 , déjà mis en œuvre et fonctionnant sur le tout nouveau moteur Mainnet avec Core v2.

ARK vise à faciliter le développement de solutions blockchain en donnant aux développeurs les outils et les bibliothèques qu’ils peuvent utiliser dans presque tous les langages de programmation actuels. L’efficacité importante d’un tel écosystème, soutenu par la communauté des délégués qui gère le réseau, est également l’une des raisons personnelles de mon implication au sein d’Ark Ecosystem.

La Core v2 marque le début d’une nouvelle ère : permettre aux développeurs de créer de nouvelles fonctionnalités modulaires et des personnalisations avec un minimum d’effort.

Système de frais dynamiques

ARK Core V2 est la première implémentation d’un système de redevances dynamique au sein d’un modèle de réseau DPoS. Nous avions imaginé que la création d’un «fee marketplace» entre les utilisateurs et les délégués permettrait à ARK de se rapprocher encore davantage de la création d’un réseau dynamique, réactif et résilient. Les délégués et les utilisateurs finaux devraient bénéficier de frais dynamiques: les utilisateurs finaux bénéficient d‘une concurrence des délégués sous forme de frais de transaction réduits, tandis que les délégués disposent d’un autre outil dans leur arsenal pour lutter contre les vecteurs d’attaques potentiels tels que les attaques de spam.

Les frais dynamiques (ou Dynamic Fees) représentent un vrai changement de protocole . D’une part, les délégués (producteurs de blocs) fixent leurs propres frais minimum acceptables pour chaque type de transaction. Et d’un autre côté, les utilisateurs ARK définissent le montant qu’ils sont prêts à payer pour qu’une transaction soit incluse dans le bloc et la blockchain.
Plus les frais fixés par l’utilisateur sont élevés, plus l’inclusion de la transaction dans le bloc est rapide.

Les opérateurs de nœuds ont la possibilité de personnaliser les frais dans le fichier de configuration en fonction du réseau pour lequel ils exécutent leur nœud. La configuration comprend les variables suivantes:

  • minFeePool — multiplicateur d’entrée de pool avec frais minimum.
  • minFeeBroadcast — multiplicateur de diffusion minimum.
  • Décalages de transaction — Décalages de type de transaction / octets supplémentaires utilisés dans le calcul de la tarification dynamique. L’objectif principal étant d’ajuster le calcul des frais pour un type de transaction spécifique.

Calcul dynamique des frais

La formule de calcul: Fee = (T+S) * C

  • T: valeur de décalage en fonction du type de transaction, défini par le réseau. C’est ici que l’on tient compte de la puissance de traitement supplémentaire pour traiter une transaction spécifique, dont la valeur de transfert est nulle, et réduire ainsi l’intérêt économique de spammer le réseau.
  • C: constante de multiplicateur de frais (Arktoshi / octet) définie par les délégués pour inclure la transaction dans son bloc de blocs / transactions forgé. La constante C est remplacée par la valeur de paramètres de votre fichier network.json (mainnet.json), minFeePool et minFeeBroadcast .
  • S: taille de la transaction sérialisée. Par exemple, pour le transfert, nous avons un décalage T = 100, C = 3000 Arktoshi / octet. Pour une transaction de transfert classique sans marge du fournisseur, la taille est de 153 octets, les frais sont les suivants:

Fee:= (100 + 153) * 3000 = 759000 ARKTOSHI === 0.00759 ARK

Simulateur de calcul de frais dynamique

Pour les valeurs par défaut et les calculs de frais liés au type de transaction, veuillez consulter les valeurs calculées dans le tableau ci-dessous.

Frais dynamiques calculés sur la base de nos paramètres par défaut.

Si vous souhaitez jouer avec les paramètres de calcul des frais, une feuille de calcul de simulation est disponible pour vous donner une idée des valeurs possibles avec différents types et tailles de transactions. Dans le tableau ci-dessus, il existe plusieurs options pour le même type d’opération.
Par exemple, une opération de transfert (couleur verte) comporte trois options de calcul :

  • transfert sans champ fournisseur et sans deuxième signature = 153 octets
  • transfert avec 2ème signature et aucun champ vendeur = 225 octets
  • transfert avec champ fournisseur et 2e signature = 289 octets

La feuille de calcul a une colonne custom_offset où vous pouvez remplacer la valeur et observer les résultats. La même chose vaut pour le paramètre multiplicateur . Par défaut, nous le configurons à 3000, mais vous pouvez le remplacer par votre valeur personnalisée.

Je ne fais pas confiance aux feuilles de calcul — je préfère le code

Pour toutes les âmes geek qui trainent dans le coin, et pour ceux à l’ aise avec le langage de programmation, vous trouverez un échantillon de code court ci-dessous, où vous pouvez créer transaction en utilisant notre à transactionBuilderpartir du arkecosystem/cryptopackage et utiliser la calculatrice-fee dynamique. Les valeurs calculées sont affichées dans la console.

Où aller ensuite?

Dans ce court article, j’ai expliqué l’essence des frais dynamiques et vous ai également fourni un logiciel de simulation de calcul (tableur et exemple de code). Voici quelques idées pour faciliter la visualisation aux utilisateurs finaux.

  • Des outils plus jolis et accessibles, affichant les paramètres de facturation du réseau et une application Web pour le calcul de la facturation seraient d’une grande utilité pour les utilisateurs finaux. Par exemple, BitCoin dispose d’applications Web spécifiques dédiées à l’affichage des valeurs des frais d’historique.
  • Il est également possible de calculer les frais minimum et maximum acceptés actuellement sur le réseau, en interrogeant tous les pairs sur node/configuration API, les paramètres y sont exposés pour chaque nœud. En lisant les paramètres, il ne reste que les calculs.

Les exemples ci-dessus (application Web pour le calcul des frais et présentation de la page des frais de réseau) ne sont que quelques idées de base qui pourraient également être intégrées dans une proposition d’ACF. Si quelqu’un est intéressé, voici le lien: https://arkcommunity.fund/proposals .

Pour ma part, je vais essayer d’être plus actif sur les channels publics. Cela veut dire que je vais essayer d’écrire des posts mensuels où nous discuterons de certaines des caractéristiques techniques d’Ark, de nos avancées, des différents défis auxquels nous sommes confrontés et comment nous pouvons les surmonter.

Suivez-nous sur les médias sociaux ( Twitter | Facebook | Reddit ), rejoignez notre communauté ( Slack | Discord ) et restez à l’écoute de notre blog sur Medium et sur Steemit .

https://ark.io/
Article original de

(CTO @ ArkEcosystem — ARK.io)
Traduit (avec le ❤) par
pour &

--

--

zôÖma
ARK.io - France

CEO & Founder @ Samouraï Coop — Co-Founder @ Paris P2P Festival — Ninja&Design @ Berty Technologies — I work hard to build future of cooperatives companies.