ByteBall: une autre DAG currency.

 

Byteball est une crypto-monnaie décentralisée qui ne ressemble à aucune autre. Il s’agit d’une coin de 3ème génération qui ne contient pas de blocs (et donc de blockchain) mais qui exploite à la place un graphe acyclique direct (DAG). A l’heure actuelle, Byteball est avec IOTA une crypto-currency DAG-based, toutefois IOTA s’occupe exclusivement de micro-paiements IoT.

Byteball a gagné de l’attention de la part de la communauté ces temps-ci surtout en raison de l’airdrop qui s’est passé le 12 mars 2107. Byteball possède l’un de ses principaux hubs en France.

La monnaie ne prévoit pas de mining mais elle est distribuée gratuitement avec un parachutage en tranches tout le long de l’année 2017. Il n’y a pas de ICO non plus: si vous possédez des Bitcoin, vous pouvez obtenir des byteballs gratuitement en participant tout simplement à la distribution.

Il vous suffit de prouver que vous possédez des BTC pour recevoir des bytes proportionnellement à vos avoirs.

98% de l’offre totale de 10^15 bytes et blackbytes (voir plus bas) sont distribués gratuitement de cette manière. Les 2% restants sont gardés pour les coûts de fonctionnement et comme récompense pour le créateur du protocole. Ce type de parachutage est assez commun (Stellar par exemple) et n’a rien à voir avec les monnaies virtuelles pré-minées et payantes qui sont très souvent des scam à éviter.

Byteball est un système décentralisé qui permet le stockage de données arbitraires de manière tamper-proof. Ces données peuvent être des valeurs transmissibles telles que des crypto-monnaies, la propriété de titres, des dettes, des actions, des assets dérivés…  mais aussi des données brutes de tout type, c-à-d des suites de bytes quelconques. Les unités de stockage sont liées entre elles via les hashes des unités précédentes (une ou plusieurs). Ces liens servent à confirmer les données stockées ainsi qu’à définir un ordre partiel. L’ensemble de ces unités ainsi reliées forment un graphe: le database de Byteball qui stocke donc ses infos sans utiliser une chaine de blocs. Les unités correspondent aux blocs mais elles sont, par construction, illimitées et concernent une seule transaction. 

Puisque dans Byteball il n’y a pas de blocs, il n’y a plus de questions à se poser sur la taille à adopter (sujet qui déchire à présent la communauté bitcoin). Tout se structure à l’intérieur du DAG dans lequel chaque nouvelle transaction pointe vers un ou plusieurs noeuds qui la précèdent (les parents) en incluant et en signant leurs hashes.

L’inclusion des parents dans une transaction valide indirectement et confirme aussi tous les ancêtres de manière ascendante: les parents des parents, etc.  Au fur et à mesure que les transactions s’ajoutent aux autres, le nombre de confirmations augmente comme boule de neige, d’où le nom Byteball.

L’auteur d’une transaction dépend donc de ses pairs pour confirmer la transaction, et non pas des mineurs, comme pour le bitcoin. Notez que l’absence de mining évite de faire un choix entre PoW (BTC) ou PoS (NEM) ou un hybride entre les deux (DRC).

Evidemment, la question qu’on peut légitimement se poser est: comment Byteball se protège-t-il des sybil attacks sans avoir de consensus, ni Proof of Work ni Proof of Stake? C’est la complexité de l’arbre DAG et de ses interconnexions qui assure cette protection. Il faudrait en effet la coordination massive d’un grand nombre de participants (qui sont anonymes et ont intérêt à garder le système intact proportionnellement à leurs avoirs en Bytes) afin de bien mener une attaque. On retrouve ici des concepts PoS mais dans un contexte structurel très différent.

***

Ce contexte permet de bypasser plusieurs faiblesses du bitcoin. Par exemple, on sait que dans bitcoin il n’y a aucune garantie qu’une transaction soit reconnue et intégrée, même quand elle est valide à 100% selon le protocole: la finalisation d’une transaction reste probabiliste, une caractéristique qui n’est pas compatible avec les exigences du secteur financier, fait de solides certitudes. Dans Byteball, les forks et les permutations entre transactions sont impossibles, par conception. Par conséquent, chaque transaction atteint une confirmation ultime rapidement et de manière déterministe.

A l’intérieur du DAG, on retrouve un ordre partiel  entre transactions ainsi que des main chains.

Une main chain (MC) permet de définir l’ordre total entre les transactions: la transaction qui est incluse (directement ou indirectement) plus tôt dans la MC, est considérée dans l’ordre total. Ainsi, si une double dépense devait apparaître, ce serait la transaction la plus ancienne qui serait toujours considérée comme valable, ce qui enlève toute ambiguïté.

La main chain est déterministe, basée sur les positions de transactions dans le graphe. En règle générale, la MC est définie par (ou plutôt gravite autour) des transactions spéciales créées par des utilisateurs bien connus, que nous appelons les témoins (witnesses). La liste des témoins est définie par les utilisateurs eux-mêmes et ils doivent l’inclure dans chaque transaction postée.

La MC se dessine à l’intérieur du DAG selon deux règles:

1. Les listes des témoins des transactions voisines de la chaîne sont identiques ou différentes au plus par une mutation,
2. La chaîne passe par le plus gros nombre de transactions créées par les témoins, comparées avec les chaînes alternatives.

***

Les commissions sont très simples à calculer: une transaction qui contient 2000 octets, demande de payer 2000 bytes (2 kbytes) pour son exécution. La règle est simple: fees=size.

Le mining étant absent, ces frais ne vont évidemment pas à des mineurs en échange d’un effort computationnel, mais plutôt aux witnesses qui ont contribué à définir la main chain.

Pour voir leurs transactions confirmées, les utilisateurs doivent faire appel à des témoins de confiance, ceux qui valident de nouvelles transactions régulièrement et correctement. Par conséquent, les témoins sont sans cesse en compétition afin de gagner en popularité et en réputation et être ainsi choisis assez souvent par les utilisateurs.

Quid de la privacy?

Byteball présente deux types de coins dans le même database (et wallet), les Bytes et les BlackBytes, un deuxième actif (cette fois privé) aussi émis dans le réseau Byteball.

Lorsqu’une transaction se fait en BlackByte, le texte brut de la transaction (format lisible) n’est pas publié dans la base de données mais envoyé directement au récepteur. Afin d’assurer qu’il n’y a pas de double des dépenses dans BlackBytes, le hash de ces transactions et un spend-proof sont quand-même stockés de façon permanente. Ceux-ci garantissent que la transaction est correcte, sans rien dévoiler des données sous-jacentes.

Résultat de recherche d'images pour "bytes blackbytes wallet"
Le wallet byteball

Par un simple geste du doigt on fait glisser l’écran du wallet. On passe alors du compte en bytes au compte en blackbytes. Remarquable: c’est comme si on avait Bitcoin et Monero dans la même blockchain et on pouvait passer de l’un à l’autre par un simple click.

***

Un Byte vaut à ce jour 80.5$

  ***

D’un point de vue plus fonctionnel, Byteball va permettre d’émettre des actifs qui ne peuvent être déplacés que s’ils sont co-signés par l’institut émetteur. Cela va permettre aux banques d’ouvrir des comptes traçables dans la base de données Byteball (plutôt que sur une base de données interne de la banque) en plein respect des règlements KYC / AML.

Cela signifie que tous les actifs d’une banque (fiat, crypto, autres assets divers et variés: titres, obligations… ) peuvent être émis sur Byteball et vont exister dans un environnement commun unique. Les échanges d’assets deviennent alors instantanés, sans risque, et ne nécessitent pas de tiers dépositaires. L’environnement est très concurrentiel, d’où un échange abordable. Les particuliers peuvent également envoyer instantanément ces actifs bancaires vers des commerçants afin de payer des biens et services.

***

Pour finir, il est intéressant d’esquisser un comparatif entre les deux systèmes DAG et liste les différences avec IOTA.

  • IOTA utilise une PoW. Dans Byteball, l’ordre des opérations est basé sur la chaîne principale.
  • Dans IOTA, des parties du DAG peuvent être orphelines. Dans Byteball, il n’y a aucune chance de devenir orphelin.
  • Byteball a des frais de transactions, dans IOTA il n’y a pas de frais explicites.
  • Dans Byteball, il existe des critères déterministes pour savoir quand er si une transaction est devenue définitive. Dans IOTA, il n’y a pas de critères fermes, tout est probabiliste.
  • IOTA est une monnaie unique, avec des paiements simples, Byteball dispose de plusieurs actifs et de contrats intelligents.
  • Dans IOTA, tous les paiements sont publics. Dans Byteball, certains actifs sont transférés en privé (blackbytes).

3 pensées sur “ByteBall: une autre DAG currency.”

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *