LIVRE BLANC BLOC KCOLLIDE R · Actuellement, les contrats intelligents nécessitent un événement...

29
LIVRE BLANC BLOCK COLLIDER created: February 11, 2017 revised: January 17, 2018 v0.9.9

Transcript of LIVRE BLANC BLOC KCOLLIDE R · Actuellement, les contrats intelligents nécessitent un événement...

L I VRE BLANC B LO C K C O L L I D E R

block collider team

created: February 11, 2017

revised: January 17, 2018

v0.9.9

S OMMA IRE

1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2 Implications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.3 Cas d'utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2 Mécanique des chaînes multiples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.1 Chaînes de tissage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.2 Conflits des chaînes multiples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3 Le minage sur Collider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3.1 Approche consensuelle : "Preuve de la distance" . . . . . . . . . . . . . . . . 10

3.2 Le défi du calcul de la distance de montage . . . . . . . . . . . . . . . . . . . . 13

3.3 NRG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.4 Le minage de transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

4 Dynamique des transactions à chaînes multiples . . . . . . . . . . . . . . . . . . . . 17

4.1 Notions de base sur les transactions . . . . . . . . . . . . . . . . . . . . . . . . . . 18

4.2 Jetons marqués . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

4.3 Promesses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

4.4 Rappels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

5 Innovations instrumentales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

5.1 Routiers en bloc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

5.2 Le protocole FIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

5.3 Routage optimisé des blocs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

6 Regard vers l'avenir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

6.1 Considérations protocolaires pour le développement . . . . . . . . . . . . . . . . 25

6.2 Vision et orientation future . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

Références 27

2

1 introduction 3

"Écrire des programmes qui ne font qu'une chose et qui le font bien. Écrire des programmes

pour travailler ensemble." — Doug McIlroy, l'inventeur de tuyaux Unix[14]

1 Introduction

La multi-chaîne Block Collider est un grand livre distribué à grande vitesse construit sur des

ensembles de blocs provenant d'autres chaînes de blocs, intégrant ces chaînes ensemble et permettant

de nombreuses caractéristiques inter-chaînes. La multi-chaîne supporte les mises à jour d'équilibre de

latence ultra-faible avec le Financial Information eXchange (FIX) protocol et innove sur la réduction du

travail et des incitations pour la vitesse du réseau des mineurs, de sorte que la multi-chaîne résultante

repousse la frontière de la vitesse et du débit des chaînes de blocs. La multi-chaîne Block Collider est

créée en collaboration exclusivement par des mineurs décentralisés de pair à pair - sans points d'échec,

des oracles ou des validateurs.

1.1 Motivation

Les cryptocurrences sont des "jardins murés" qui ne peuvent pas réutiliser, déclencher ou exécuter des

transactions avec d'autres chaînes de blocs. Si Alice veut exécuter le contrat intelligent de Bob, elle ne

peut envoyer de la crypto monnaie qu'à partir de la chaîne de blocs sur laquelle Bob a déployé le

contrat intelligent. Ce manque de coopération étouffe l'innovation et entrave considérablement

l'utilisation pratique.

Les temps de blocage et les frais rendent de nombreuses chaînes de blocage mal adaptées aux gros

volumes de transactions ou à la négociation. Les chaînes latérales érigées pour alléger la pression

centralisent le réseau et sont entre les mains de quelques coopératives de minage ou startups, isolés

des avancées paradigmatiques de la conception décentralisée, et à la merci des structures de pouvoir

qui exigent une confiance injustifiée.

©2018 Block Collider Freedom through Cryptography

1 introduction 4

Ponter des chaînes avec une chaîne multiple, c'est comme construire des routes entre les bâtiments.

Hypothétiquement, on pourrait construire un bâtiment qui a tout, mais dans la pratique, certains

bâtiments sont construits pour y travailler, d'autres pour y vivre - tant que les citoyens veulent être

dans plusieurs bâtiments à différents moments, les routes ont de la valeur. La communauté crypto telle

qu'elle existe démontre une grande variété de caractéristiques à travers les chaînes de blocs - certaines

chaînes ont des temps de blocages rapides, certaines chaînes ont des contrats intelligents expressifs,

d'autres sont purement déflationnistes et constituent une excellente réserve de valeur. Tant que les

utilisateurs ont besoin de fonctionnalités de plus d'une chaîne de blocs, il est nécessaire de relier ces

chaînes avec une chaîne multiple.

C'est pourquoi la philosophie de conception d'Unix recommande que chaque programme fasse une

chose bien[14], et que le système d'exploitation rende le raccordement de ces excellentes pièces

modulaires simple et efficace (par exemple, par l'intermédiaire de tuyaux). La multi-chaîne Block

Collider permet d'appliquer cette philosophie aux chaînes de blocs en offrant la possibilité d'une

communication et d'une coopération entre les chaînes.

1.2 Implications

Avec l'adoption de la technologie multi-chaînes de Block Collider :

• Les transactions et les contrats intelligents peuvent être initiés ou exécutés par des contratsintelligents sur d'autres chaînes de blocs.

• les transactions sécurisées peuvent être pontées entre des chaînes de blocs sans "témoins",

"nœuds de confiance" ou centralisation de quelque nature que ce soit.

• Les transactions entre chaînes peuvent être accélérées au-delà de la vitesse de l'une ou l'autrechaîne pontée.

• Les contrats intelligents peuvent être garantis pour s'exécuter automatiquement.

©2018 Block Collider Freedom through Cryptography

1 introduction 5

• Les développeurs d'applications distribuées peuvent combiner de manière modulaire les

caractéristiques exotiques des chaînes de blocs à travers l'écosystème.

• Les développeurs d'applications distribuées peuvent intégrer la capacité d'équilibrage de charge

entre les chaînes.

Toutes ces caractéristiques peuvent se produire sans modification du code de l'une ou l'autre des

chaînes pontées - le système est conçu pour être compatible avec l'écosystème existant. De plus, avec

ses temps de blocages rapides, et avec la déduplication drastique du travail que son architecture

fournit, la chaîne Block Collider constitue une plate-forme exceptionnelle sur laquelle construire des

systèmes véritablement décentralisés.

1.3 Cas d'utilisations

La technologie à chaînes multiples est une étape cruciale pour l'écosystème des cryptomonnaies. Voici

quelques exemples de cas d'utilisation clés que la technologie multi-chaînes Block Collider permet.

Echanges décentralisés

Les bourses sont actuellement un goulot d'étranglement primaire dans l'industrie de la cryptographie.

Le fait d'être inscrit à la cote d'une bourse est l'un des principaux facteurs qui influent sur les prix des

actifs cryptographiques, et les questions techniques liées aux bourses ont un impact négatif sur

l'ensemble de l'industrie. La multichaîne de Block Collider permettrait d'effectuer des échanges entre

cryptocurrencies sans aucun point central de défaillance, ce qui permet d'appliquer les caractéristiques

de robustesse inhérentes aux réseaux des blockchains à cette fonction cruciale de l'industrie.

Couvertures contractuelles intelligentes inter-chaînes

La protection contre le piratage est une préoccupation majeure pour de nombreux participants aux

marchés du crypto, car les failles de sécurité ont causé d'importantes pertes de capital. Étant donné que

les chaînes multiples de Block Collider peuvent déclencher une action sur une chaîne lorsqu'un

événement est déclenché par un autre, un cas d'utilisation potentiel est de fournir des couvertures de

contrat intelligentes. En d'autres termes, lorsqu'un compte d'une chaîne de blocs (dont on sait qu'il

n'est accessible à personne d'autre que le fournisseur de couverture) est vidé, un compte d'une autre

chaîne de blocs est crédité du montant perdu. Ainsi, les tiers peuvent se prémunir contre les risques de

sécurité de manière cryptographique.

©2018 Block Collider Freedom through Cryptography

2 multichain mechanics 6

Exécution Automatique et Garantie d'un Contrat Intelligent (AGSCE).

Actuellement, les contrats intelligents nécessitent un événement déclencheur pour s'exécuter. Certains

services centralisés existent pour programmer les déclencheurs, comme le réveil Ethereum[4]. La

multichaîne de Block Collider intègre une garantie d'exécution future du contrat dans la chaîne, de

sorte qu'aucun service centralisé ou tiers n'est requis pour cette caractéristique essentielle.

2 Mécanique des chaînes multiples

2.1 Chaînes de tissage

La poussée architecturale clé derrière la technologie multichaînes de Block Collider est l'encapsulation

de l'état actuel de chacune des chaînes pontées dans la multichaînes Block Collider. C'est-à-dire qu'à

tout moment t, le bloc le plus courant du Block Collider en cours d'exploitation (ou qui vient d'être

exploité) fait référence au bloc le plus récent de chacune des chaînes supportées (ou "pontées").

Arrière-plan : Chaînes de blocs standard

Dans les chaînes de blocs communs (y compris Bitcoin, Ethereum et la plupart des autres), une

séquence de blocs est enchaînée pour éviter les doubles dépenses et les crédits/débits de valeur non

autorisés. Chaque bloc est une combinaison des données de transaction racine de Merkle, d'une racine

d'état dans certaines chaînes, du hachage de l'en-tête et d'une référence au hachage de l'en-tête d'un

bloc précédent. Le bloc lui-même peut être référencé de façon unique par son hachage d'en-tête, donc

ce hachage est utilisé comme clé de mise en cache ou clé de requête.

BTC Block Hash #0:

000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f

BTC Block Hash #1:

00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048

©2018 Block Collider Freedom through Cryptography

2 multichain mechanics 7

Chacun de ces hashes forme une séquence d'en-têtes de blocs, le bloc validé le plus récent de la chaîne

étant le plus grand "numéro de bloc" et la tête de la chaîne. Au moment de la rédaction de ce

document, selon CoinMarketCap, il y a 609 chaînes de blocs qui mine, chacune émettant ces hashes à

des vitesses variables à travers un réseau de milliers de machines[8].

"Base Tuples" : Unifier les derniers blocs sur chaque chaîne pontée.

Dans la chaîne Block Collider, chaque bloc fait référence au bloc de tête de chacune des chaînes pontées

- ce n-uplet est appelé "n-uplet de base" du bloc. Plus précisément, le n-uplet de base d'un bloc Collider

peut faire référence à n'importe quel bloc valide récent sur une chaîne pontée dont le parent a été

référencé dans le n-uplet de base d'un bloc Collider précédent. Ceci permet à la chaîne Collider de

servir de chaîne unificatrice pour toutes les chaînes pontées.

En raison de la nature combinatoire des tuples de base. la chaîne de bloc collisionneur de blocs est

toujours plus rapide que la chaîne de blocs pontée la plus rapide. Par exemple, puisqu'il y a

actuellement un nouveau bloc Ethereum toutes les 30 secondes[9] et un nouveau bloc Bitcoin toutes les

9,2 minutes[7], un Block Collider multichaîne de ces deux chaînes aurait un nouveau bloc pour chaque

nouvelle combinaison de blocs, soit environ toutes les 28 secondes. Considérons l'exemple suivant (pas

à l'échelle) :

Notez que dans cet exemple, Ethereum Block 4 est réutilisé une seule fois - la réutilisation des blocs dans les

tuples de base est un phénomène courant, ce qui permet de s'en assurer :

Block Collider block(BTC block 1, ETH block 4) < Block Collider block(BTC block 2, ETH block 4)

Dans l'exemple ci-dessus, la chaîne de blocs d'Ethereum au bloc 4 de l'ETH est une instance de Block

Collider qui est la chaîne la plus rapide. Ce concept devient plus clair lorsque nous ajoutons une

troisième chaîne de blocs dans le mélange. Dans l'exemple suivant, pour deux blocs d'Ethereum, un

bloc WAVES est émis pour chaque deux blocs d'Ethereum :

©2018 Block Collider Freedom through Cryptography

2 multichain mechanics 8

BTC block ETH block WAVES block Block Collider block

BTC block 1 ETH block 1 WAVES block 1 BC block 1

... ETH block 2 ... BC block 2

... ... WAVES block 2 BC block 3

... ETH block 3 ... BC block 4

... ETH block 4 ... BC block 5

... ... WAVES block 3 BC block 6

BTC block 2 ... ... BC block 7

... ETH block 5 ... BC block 8

... ETH block 6 ... BC block 9

N'oubliez pas que ces tableaux représentent la même période de temps écoulé. Notez l'augmentation

du taux d'émission de blocs de la chaîne Block Collider, en ce sens que le nombre total de blocs est

passé de 7 dans le premier exemple à 9 dans le deuxième exemple. L'ajout d'une autre chaîne de blocs

(dans ce cas Waves) augmente le nombre de combinaisons dans Block Collider.

Vitesse du bloc

Puisque le Bloc collisionneur multichaîne émet un nouveau bloc chaque fois qu'une chaîne pontée

émet un nouveau bloc, le nombre de nouveaux blocs Bloc collisionneur est la somme du nombre de

nouveaux blocs dans toutes les chaînes pontés. Cela signifie que la vitesse du bloc (c'est-à-dire le

nombre de blocs minés dans un intervalle donné, V) de la multichaîne Block Collider est

approximativement la somme de la vitesse du bloc de chacune des chaînes supportées (modulo le

temps qu'il faut pour que les nouveaux blocs de chaînes pontées se heurtent dans la multichaîne

Collider). Puisque l'intervalle de blocs (le temps entre les blocs, T) est l'inverse de la vitesse (T = 1), cela

se traduit par une relation harmonique entre la multichaîne Block Collider et ses chaînes pontées. C'est-

à-dire, pour chaque chaîne de blocs pontés i de la multichaîne Block Collider :

©2018 Block Collider Freedom through Cryptography

2 multichain mechanics 9

VBC ≈∑i

Vi

1

TBC≈

∑i

1

Ti

En ajustant le seuil de difficulté du calcul pour extraire un bloc, la complexité de calcul de chaînes

supplémentaires peut être contrôlée pour maintenir une latence faible avec un hashrate équivalent,

même si la vitesse augmente nécessairement.

Dans l'exemple précédent, les mineurs de la première itération de la formation Block Collider, "BTC +

ETH", recherchent des "paires de bases" tandis que dans la seconde, ils recherchent des "triples de base"

pour "BTC + ETH + WAVES" et ainsi de suite. De cette façon, le Collider multi-chaînes tire parti de la

variance des chaînes pontées pour créer une chaîne de blocs unique se déplaçant rapidement tout en

soutenant les opérations d'émission inter-blocs de confiance qui sont particulièrement utiles pour les

transactions ou opérations d'actifs à grande vitesse.

En raison de la variabilité de la découverte de blocs sur toutes les chaînes de blocs, où Ethereum par

exemple varie de 6 secondes à 2 minutes et Bitcoin varie généralement de 5 à 15 minutes, il sera

impossible pour les mineurs d'essayer d'anticiper les combinaisons qui font que la séquence de blocs

de blocs de blocs de collision favorise une chaîne. Cela augmente considérablement la difficulté de

calcul des attaques de contrecarrer les attaques à chaînes multiples qui impliquent le déplacement de la

puissance minière sur le Block Collider.

La réduction de la durée du bloc a des conséquences sur les taux d'obsolescence et les incitations à la

centralisation. Pour lutter contre ces problèmes, Block Collider sépare l'exploitation des blocs de

l'exploitation des transactions minières. Ce concept sera abordé dans la prochaine section.

2.2 Conflits des multi-chaînes

Parce que chaque bloc sur le Collider fait référence à des blocs sur des chaînes supportées, lorsqu'il y a

désaccord sur une chaîne supportée quant à savoir quel bloc est la tête, les mineurs de Block Collider

hériteront d'une partie de ce conflit. Une stratégie à chaînes multiples serait de laisser ces conflits

passer à travers le collisionneur, laissant la chaîne du collisionneur se diviser et se résoudre comme

n'importe laquelle de ses chaînes se divise et se résout. Cependant, cela créerait un plancher très élevé

sur le taux d'usure du Collider, induirait des incitations discontinues pour les mineurs en bloc, et

créerait des problèmes supplémentaires pour s'assurer que la scission se résout.

Au lieu de cela, le Collider permet d'inclure dans un tuple de base tout bloc valide récent (y compris les

orphelins et les oncles) dont le parent a déjà été référencé dans un tuple de base. "Recency" tel qu'utilisé

©2018 Block Collider Freedom through Cryptography

3 mining on the collider 10

ici signifie que la profondeur du bloc n'est pas sensiblement inférieure au bloc de profondeur le plus

élevé qui a été observé sur cette chaîne, le seuil de recency variant pour chaque chaîne pontée (et

déterminé par la stratégie oncle/orphelin de chaque chaîne).

Aux fins du calcul de la vitesse de la chaîne Collider résultante, cette permissivité orpheline augmente

la vitesse effective du bloc des chaînes pontées d'un facteur déterminé par le taux d'orphelins de cette

chaîne. Prenons l'exemple suivant : une chaîne multiple BC est construite sur des chaînes BTC et ETH,

et dans chaque bloc ETH à nombre pair, il y a un désaccord sur la profondeur-1. Notons qu'un bloc

devient orphelin, par exemple " 2 ", et notons que les désaccords de profondeur-1 impliquent que

chaque bloc a un parent non orphelin ; alors nous pouvons observer ce qui suit :

3

Notez que le bloc ETH orphelin ou non orphelin peut apparaître en premier dans la chaîne

BC, car on ne sait pas lequel est lequel jusqu'à ce que le fractionnement soit résolu. Notez

aussi qu'il y a un "backtracking" limité autorisé, mais que pour de faibles taux d'usure, un tel

backtracking est très localisé. Enfin, notez l'augmentation effective de la vitesse du bloc BC ;

puisque l'ETH dans cet exemple a un taux de 1 , sa vitesse effective est augmentée de

(1 − 13 )−1 = 1.5, ou une augmentation de 50% .

3 Le minage sur collider

3.1 Approche consensuelle: "Preuve de Distance"

Block Collider utilise une version modifiée du consensus de Nakamoto pour déterminer le prochain

bloc de tête, c'est-à-dire, au cœur du bloc :

Les nœuds considèrent toujours la chaîne la plus longue comme étant la bonne et continueront à

travailler pour l'étendre. Si deux nœuds diffusent simultanément des versions différentes du bloc

suivant,

©2018 Block Collider Freedom through Cryptography

3 mining on the collider 11

certains nœuds peuvent recevoir l'un ou l'autre en premier. Dans ce cas, ils travaillent sur le

premier qu'ils ont reçu, mais sauvent l'autre branche au cas où elle deviendrait plus longue.

Le lien sera rompu lorsque la prochaine preuve de travail sera trouvée et qu'une branche

deviendra plus longue ; les nœuds qui travaillaient sur l'autre branche passeront ensuite à

la branche la plus longue. [15]

Block Collider modifie cela en introduisant un nouvel algorithme pour le défi informatique nécessaire

à l'exploitation d'un nouveau bloc, qui est basé sur la distance d'édition des chaînes de caractères et qui

est décrit plus loin dans cette section. Ce défi généralise l'idée de filtrer les hashes en dessous d'un

certain seuil dans l'idée de filtrer les hashes à une certaine distance d'un ensemble de référence - d'où

"Preuve de Distance".

Un bloc Bloc Collisionneur de blocs, comme les autres blocs, inclut des transactions et des références à

des blocs précédents et des preuves sous la forme d'autres en-têtes de blocs de blocs afin de valider le

travail effectué sur chaque bloc. Cependant, contrairement à d'autres chaînes de blocs, les blocs Block

Collider n'ont pas un nombre fixe de transactions. Au lieu de cela, chaque bloc a un "solde de distance"

que la somme des distances de transaction du bloc doit rester en dessous, ce qui est basé sur le nombre

d'emblèmes que le mineur de bloc possède.

Bonus de taille de bloc d'emblème (EBSB)

Les emblèmes sont les macro-actifs cryptographiques émis par Block Collider. Les mineurs de blocs se

voient accorder un bonus de taille de bloc basé sur le nombre d'emblèmes qu'ils détiennent, en

permettant un espace supplémentaire pour les transactions dans un bloc, ce qui à son tour augmente

les frais de transaction qu'ils peuvent collecter. Par analogie, imaginez un chariot minier - plus le

mineur de bloc peut charger dans le chariot, plus son paiement pourrait être important si on trouve de

l'or. Les emblèmes permettent aux mineurs de blocs d'avoir des chariots plus grands.

En comparaison, les blocs Bitcoin et Ethereum ne peuvent accepter qu'un certain nombre de

transactions en raison de leur taille ou de leurs limites de gaz. Alors qu'une certaine limite est

nécessaire pour éviter la congestion du réseau à partir de blocs énormes, des limites fixes arbitraires

sont clairement une réponse sous-optimale. La taille variable des blocs permet un alignement incitatif

supplémentaire, ce qui permet aux mineurs plus investis dans le réseau (littéralement) de produire

plus à partir de leur travail. De plus, la taille fixe des blocs force les transactions à être classées

uniquement en fonction des frais, alors que le mécanisme Block Collider permet des canaux latéraux

plus flexibles pour influencer la priorité par le biais de la "distance de transaction" de la transaction.

Avec le Block Collider multichaîne, chaque bloc est plafonné par une somme maximale de "distances

de transaction" (expliquées plus en détail plus loin dans cette section) contenue dans chaque

transaction. Cela signifie que si la distance totale maximale pour le bloc est de 5, alors le mineur serait

en mesure d'accepter 10 transactions de distance 0,5 (0,5 - 10 = 5). Ainsi, les transactions avec des

distances plus faibles ont une plus grande chance d'entrer dans un bloc avec des frais minimaux, de

sorte qu'un utilisateur peut pré-miner la distance et augmenter la probabilité d'inclusion

©2018 Block Collider Freedom through Cryptography

3 mining on the collider 12

dans un bloc même avec des frais moins élevés. Dans le cas contraire, une transaction peut inclure

l'absence de travail et des frais importants qui incitent le mineur à affecter une partie de son énergie

minière à l'ajout de la transaction.

Que l'utilisateur pré-mine ou non sa transaction, les emblèmes augmentent la distance maximale du

mineur de bloc qui peut être incluse, par exemple de 10 à 12 dans la figure suivante :

Les emblèmes n'augmentent pas la probabilité que le mineur trouve le bloc suivant ; le même score de

distance doit être trouvé quel que soit le nombre de transactions acceptées dans le bloc. De plus, la

prime à l'emblème est sublinéaire (c'est-à-dire qu'il y a des rendements décroissants pour la propriété

de l'emblème), ce qui équilibre l'incitation économique et la centralisation (puisque l'utilité marginale

des emblèmes sera la plus élevée pour ceux qui ont moins d'emblèmes).

Seuil de difficulté dynamique

Parce que l'intervalle de bloc du Block Collider multichaîne dépend de l'intervalle de bloc de ses

chaînes pontées, garantir un intervalle de bloc est infaisable. Il y a plutôt des délais cibles pour chacune

des six fourchettes prévues, soit 5,5 secondes, 3,5 secondes, 3,5 secondes, 1,5 seconde et 0,5 seconde.

C'est-à-dire qu'au début, la multichaîne Collider est ciblée pour libérer un nouveau bloc avec un retard

d'environ 5,5 secondes par rapport au bloc le plus récent de toutes les chaînes de blocs pontées.

Le seuil de difficulté de défi est ajusté dynamiquement pour s'adapter à ces fenêtres cibles. Si une

solution n'a pas été trouvée lorsqu'un nouveau bloc supplémentaire provenant de la même chaîne

pontée est observé, il y a une diminution temporaire du seuil, ce qui permet aux mineurs du Collider

de rattraper rapidement les blocs émis à un rythme plus rapide que prévu. En plus de fournir un

ajustement pour des taux de blocs exceptionnels sur une chaîne pontée, cela lisse également les

situations où la distance de montage est particulièrement difficile à trouver (par exemple, par analogie

géométrique, lorsque les distances entre les hachages des chaînes pontées sont distales).

©2018 Block Collider Freedom through Cryptography

3 mining on the collider 13

Pour répondre au défi informatique de Block Collider pour l'exploitation de blocs miniers, un mineur

de blocs doit continuer à choisir au hasard des nonces et à calculer :

hash_attempt := hash(miner_public_key + nonce)

La contestation peut prendre fin lorsque le résultat est satisfaisant (dans le cas des deux chaînes) :

RO(hash_attempt, BTC block hash) < D && RO(hash_attempt, ETH block hash) < D

ou, de façon équivalente :

max(RO(hash_attempt, BTC block hash), RO(hash_attempt, ETH block hash)) < D

Une fois qu'un mineur de bloc trouve un nonce dont le hash résultant satisfait au seuil de contrainte, il

propa-gate sa solution au réseau pour gagner la récompense de bloc, qui inclut une partie des frais

©2018 Block Collider Freedom through Cryptography

3.2 Le défi du calcul de la distance de montage

Le "minage" du Collider multichaîne est le défi informatique de finding un hash que satisfies une

distance minimale d'édition entre les hashes des chaînes membres, ses transactions, et son bloc

précédent. Block Collider utilise l'algorithme Cosine Similarity[17] pour évaluer la similarité entre deux

hashes.

Les approches traditionnelles basées sur le hachage peuvent être considérées comme trouvant un seuil

sur la distance entre le hachage découvert et le point de référence arbitraire de "zéro" - c'est-à-dire que

tout hachage à une certaine distance D de zéro est également inférieur à un certain seuil de hachage

(également D). Edit distance étend cette notion implicite de distance en espace multidimensionnel.

Étant donné que la distance d'édition et les défis plus traditionnels de la preuve du travail partagent ce

noyau fondamental, les deux approches peuvent facilement ajuster la difficulté de calcul en déplaçant

leur seuil de distance.

3 mining on the collider 14

alloués dans les transactions soumises à ce bloc. Chaque bloc du bloc Collisionneur de blocs contient

des références au bloc précédent et les états d'en-tête de toutes les chaînes de blocs pertinentes utilisées

dans sa construction.

Edit Distance Traditional PoW Distance

measured from reference points measured from zero

"multivariate" "univariate"

threshold easily adjusted threshold easily adjusted

Distance de traitement dans l'exploitation minière de blocs : Exemple

Imaginez un Collisionneur multichaîne à trois blocs. Nous commencerions alors avec trois chaînes de

caractères, chacune d'entre elles envoyant le hachage de l'en-tête d'un bloc d'un autre bloc de la chaîne

de blocs :

BTC: 0000000000000000006abfe31e59af9f81b3fc84a1a25a8fdc095e429dc6dffa

ETH: 0x73413ff99013f6007b72e299aee87da63311602ae4dfb1466b254b7c89b8e1bd

NEO: 0b58e3e1980eb79c293ee1d047997c5a7092da8d49813c2407e90f85e0ba1f9e

Imaginez que le seuil actuel sur ce Collider multichaîne est de 0,29. Pour extraire un nouveau bloc

dans la chaîne de blocs racine, le mineur de bloc itérerait à travers un jeu de caractères ou un nombre

aléatoire, hachant des chaînes de caractères jusqu'à ce qu'il trouve un hachage inférieur à 0,29 pour

tous les blocs. Avec un seul travailleur Web sur un processeur Intel Core i7, un mineur prototype a

trouvé la solution suivante en 32,6 secondes :

Solution: c53a147e80b2ae87c50d62dfdc82501d0405c9734d0daf6197918f182ca6c7f5

Modifier la distance dans l'exploitation minière des transactions

Dans le cas du forage transactionnel, un mineur transactionnel doit d'abord calculer les données de

transaction, puis essayer des nonces aléatoires successifs :

hash_target := hash(transaction_data)

hash_attempt := hash(miner_public_key + nonce)

La distance d'édition de transaction est alors la distance entre le hash_attempt (basé sur le travail du

mineur) et le hash_target transaction ID (TXID) :

tx_dist := RO(hash_attempt, hash_target) * byte_size(transaction_data)

©2018 Block Collider Freedom through Cryptography

3 mining on the collider 15

Edit Distance computational challenge grants...

1. Extension naturelle multidimensionnelle et géométrique de laminimisation d'un hachage.

2. Asymétrie accrue dans l'exploitation minière par rapport à lavalidation

3. Algorithme altruistiquement significatif pour l'optimisation

©2018 Block Collider Freedom through Cryptography

Chaque bloc ne peut inclure qu'une certaine somme de distances de transaction (tx_dist), déterminée

par le nombre d'emblèmes auxquels le mineur de bloc a accès. Un mineur de transaction peut continuer

à exploiter une transaction pour une distance inférieure, pour une plus grande chance d'être inclus dans

un bloc, ou peut simplement diffuser sa solution et attendre l'inclusion. Les implications de la

séparation de l'exploitation minière par transaction et de l'exploitation de blocs miniers sont abordées

dans la section précédente.

Avantages de la distance de montage

D'un point de vue intuitif, la prise d'un hachage de données transforme les données en un type d'espace

irrémédiablement différent - c'est l'intention des hachages, qui sont aussi connus sous le nom de

"fonctions de trappe" . Puisque la chaîne Collider génère son propre hash, qui fait référence à d'autres

hashes, pour des raisons de simplicité, aucun espace supplémentaire n'a besoin d'être defined, et toutes

les opérations peuvent avoir lieu entre les hashe s sans entrer dans les trappes. Cet engagement

envers l'élégance permet d'intéressantes interprétations géométriques de l'espace de hachage, puisque

Cosine Similarity est symétrique et est une métrique bien formée.

De plus, en tant que sous-produit du calcul d'une distance d'édition, l'algorithme génère une

description de la façon d'éditer une chaîne pour la transformer en une autre, de sorte que la validation

de la distance d'édition est plus simple à calculer que le calcul. Cette asymétrie vient s'ajouter à

l'asymétrie déjà présente dans les points de devinette dans l'espace de hachage pour en trouver un à

une distance appropriée, ce qui est la caractéristique clé des défis de calcul.

Enfin, alors que de nombreux algorithmes de hachage sont intentionnellement conçus pour être

coûteux en calcul sans autre but, la distance d'édition est en fait un problème utile à résoudre. Si l'on

trouve des optimisations pour les boucles internes de défis informatiques artificiels, aucun grand

progrès n'a été réalisé. En plaçant un problème réel et utile au cœur du défi informatique de Block

Collider, tout travail d'optimisation des solutions qui en résulte profite également au reste de la

communauté informatique sous la forme de meilleurs algorithmes de base.

3 mining on the collider 16

3.3 NRG

NRG (Non-Relational Graphs) est la devise de la chaîne exploitée sur le Block Collider. Il s'agit de la

rémunération principale utilisée pour effectuer des transactions et attribuer des mineurs, similaire à

"Gas" sur Ethereum, sauf qu'elle est divisée en son propre jeton. Comme Emblems, NRG dispose d'un

approvisionnement fixe ; le total disponible est d'environ 9,8 milliards de NRG. Contrairement aux

emblèmes, le NRG peut être miné. Les avantages de l'exploitation minière NRG diminuent avec le

temps, de sorte que l'exploitation minière peut se poursuivre à l'infini sur son approvisionnement fixe.

3.4 Exploitation minière

Pour extraire des transactions, un mineur de transactions doit d'abord évaluer tout calcul requis pour

la transaction. Un mineur de transaction trouve alors un nonce qui, combiné avec la clé publique du

mineur de transaction, se trouve à une certaine distance du hachage des données de transaction

(expliqué plus en détail dans la section ci-dessus sur "Le défi du calcul de la distance d'édition"). Un

mineur de transaction peut continuer à exploiter une transaction pour une distance inférieure, pour

une plus grande chance d'être inclus bientôt dans un bloc, ou peut simplement diffuser sa solution et

attendre l'inclusion. Ainsi, le mineur de transaction doit être au courant des taux en vigueur sur le

marché pour l'inclusion des transactions afin de maximiser les frais recueillis.

Block Mining Transaction Mining

One winner per block Many winners per block

Contributes to network security Contributes to network throughput

Fees in NRG Fees in NRG

Based on an edit distance challenge Based on an edit distance challenge

Tilts to network speed and hashing power Tilts to network speed and performant databases

Si un mineur de transaction a des intérêts non rémunérés dans une transaction (par exemple, si le

mineur de transaction est l'une des parties à la transaction, ou si le mineur de transaction a été payé

dans un canal latéral), le mineur de transaction peut continuer à exploiter une distance de transaction

pour être encore plus faible, de sorte que les honoraires payés dans la chaîne Collider peuvent être

remplacés par une puissance de calcul. Ce mécanisme simple d'incitations hors bande permet à un

nouveau type de fournisseur de services cryptographiques, qui peut utiliser la puissance de calcul

pour s'assurer que les transactions sont affichées, parce que les transactions avec de plus petites

distances de transaction sont plus susceptibles d'entrer dans un bloc même sans frais élevés.

©2018 Block Collider Freedom through Cryptography

4 multichain transaction dynamics 17

Deuxièmement, un autre fournisseur de services est activé, car certaines transactions passent à travers

les mailles du filet et ne sont pas exploitées. Les petits mineurs, qui n'ont peut-être pas le matériel

nécessaire pour travailler de façon rentable sur des blocs, peuvent participer au réseau en écoutant les

transactions autrement manquées (probablement de la part de clients lite-clients), en les exploitant et

en diffusant par la suite la transaction à tous leurs pairs pour réclamer une partie des frais inclus dans

la transaction.

Avantages de la séparation de l'extraction des transactions de l'extraction des blocs miniers

Alors que d'autres chaînes explorent la stratégie d'inclure le travail des oncles (blocs en compétition

avec un bloc récent dans la chaîne) pour obtenir certains avantages des blocs périmés[11][18][13][13],

Block Collider gagne des avantages similaires en séparant l'extraction de transactions de l'extraction de

blocs. Tandis que les mineurs de bloc se disputent les biens immobiliers plus rares de gagner le bloc

suivant, les mineurs de transaction com-pete dans un espace beaucoup moins encombré avec moins de

chance de conflit, ce qui diminue la quantité de travail de réplication entre eux. Ainsi, bien que Block

Collider ne se plie pas dans le travail à partir de blocs périmés, la quantité de travail de calcul perdu à

partir de blocs périmés est considérablement réduite par rapport à d'autres chaînes.

Separate Transaction Mining means...

1. Reduced duplication of work, leading to increased efficiency

2. Increased barrier to network centralization

3. Opportunity for miner specialization, leading to increased efficiency

D'un point de vue économique, on peut considérer cette séparation comme la scission d'une industrie

verticalement intégrée - en permettant la concurrence dans deux espaces, le risque de centralisation est

réduit, puisqu'un acteur devrait gagner le jeu de la centralisation aux deux niveaux. D'autant plus que

l'exploration de transactions et l'exploration de blocs ont des exigences fondamentales très différentes

(en mémoire, en type informatique et en architecture), la division de ces fonctions permet une plus

grande efficacité grâce à la spécialisation.

4 Dynamique des transactions à chaînes multiples

Au cours de l'année écoulée, plusieurs tentatives ont été faites pour créer un "marché décentralisé",

comme Token from Coinbase[5], Swap[6], ShapeShift[1] et 0x[19].

©2018 Block Collider Freedom through Cryptography

4 multichain transaction dynamics 18

Bien que bien intentionnés et non dépourvus de nouvelles fonctionnalités pour le trading, ils sont

sévèrement limités en raison de leur dépendance à Ethereum, et donc de la vitesse du bloc d'Ethereum.

Actuellement, l'expérience exige qu'un utilisateur attende le prochain bloc d'Ethereum pour récupérer

sa soumission de l'intention de négocier, puis au moins un autre bloc pour que la partie adverse

accepte cette intention et achève le commerce. Si chaque bloc d'Ethereum prend 30 secondes, ce

processus peut prendre quelques minutes. Cela suppose également le cas peu probable que les

transactions de l'une ou l'autre partie soient ramassées par les mineurs dans le bloc qui suit

immédiatement leur transaction. D'autre part, jusqu'à présent, toutes les solutions qui n'ont pas été

construites sur la chaîne Ethereum ont été centralisées.

Avec les fondations décrites dans les sections précédentes en place, le Block Collider multichaînes peut

accueillir des transactions multichaînes beaucoup plus rapidement et de manière véritablement

décentralisée. Les services qui utilisent le Block Collider seront en mesure de servir les carnets de

commandes avec des mises à jour beaucoup plus rapides, bien plus rapides que la fréquence de

génération de blocs d'une chaîne de blocs pontée. Ils pourront également faciliter les transactions

croisées au lieu des "token swaps", qui sont pour l'instant entièrement sur la chaîne de blocs

d'Ethereum ou effectués sur des bourses centralisées.

4.1 Notions de base sur les transactions

Les transactions pour le Collider sont stockées sur une table de hachage distribuée (DHT), que les

mineurs utilisent pour synchroniser avec d'autres nœuds et valider le travail. On s'attend à ce que les

nœuds se synchronisent uniquement avec ce tableau pour éviter l'utilisation de filtres de blooms qui

retardent les chaînes de blocage en raison de leur incapacité à référencer des plages partielles. La

méthode de stockage proposée est très similaire à IPFS[10], en ce sens qu'un client peut stocker

localement tout ou partie de la chaîne. Puisque la multichaîne Block Collider se synchronise avec de

nombreuses chaînes de blocs, elle conserve ou a accès à l'état de chaque chaîne temporairement. Ceci

permet au Collisionneur de configurer des transactions qui s'exécutent lorsqu'un événement particulier

se produit sur l'une des chaînes pontées.

Les rovers de blocs (processus qui découvrent et distribuent des blocs, discutés dans la section

suivante) sont l'outil idéal pour la diffusion de transactions destinées à être exécutées sur chaque

chaîne de blocs membre. Les mineurs exploitant ces blocs de rovers signeront la soumission de la

transaction qui valide leur droit à la redevance. Comme le réseau s'étend, nous nous attendons à ce

qu'il soit économique pour les rovers et les mineurs de se séparer, c'est pourquoi ce processus n'exige

que la signature privée valide et non une paire de base.

©2018 Block Collider Freedom through Cryptography

4 multichain transaction dynamics 19

4.2 Jetons marqués

La multichaîne Block Collider a des monnaies marquées, qui est une unité de valeur pour chaque

chaîne pontée. Ces jetons marqués ne sont disponibles que sur des chaînes qui supportent des actifs

symbolisés ou des chaînes latérales et pourraient être comparés à des "pièces de couleur"[3].

Par exemple, sur Ethereum, le Collider utilise Marked Ethereum (ou M-ETH) qui est un jeton

Ethereum ERC20. Chaque transaction dont ce jeton fait partie est automatiquement une partie valide

de la multichaîne Block Collider. Les jetons marqués sont observés par les rovers (discutés dans la

section suivante) et sont utilisés pour accélérer la synchronisation entre pairs. Ce qui suit serait une

transaction qui, même si elle est exécutée sur Ethereum, pourrait être récupérée à partir de la

multichaîne Block Collider.

0xd12Cd8A37F074e7eAFae618C986Ff825666198bd Transferred:TXID -23 M-ETH

0xBB9bc244D798123fDe783fCc1C72d3Bb8C189413 +22.999 M-ETH

L'utilisation d'octets pour identifier le jeton n'est pas unique à Block Collider ; c'est la même manière

que la chaîne de blocs d'Ethereum identifie qu'un jeton particulier a été transféré. Toute transaction ou

bloc peut être transmis au Block Collider. En théorie, ce processus pourrait être utilisé si un jeton d'une

chaîne de blocs devenait plus précieux que la chaîne elle-même, et par la suite, les mineurs du Block

Collider pourraient la fusionner en tant que sa propre chaîne en utilisant le drapeau byte comme

différentiateur de sa chaîne hôte.

4.3 Promesses

Sur la multichaîne Block Collider, les promesses sont des transactions cryptées qui décryptent et

s'exécutent lorsqu'un événement sur une autre chaîne est observé. Il y a deux éléments clés d'une

promesse Collider : les données privées et le filtre de bits. Les données privées sont une transaction qui

est destinée à être exécutée à un moment futur, qui est cryptée. Cela peut être lourd en données,

comme un dump de documents, ou plus lourd en calcul, comme un contrat intelligent à exécuter. Le

filtre de bits indique où chercher la clé de déchiffrement pour déchiffrer la transaction. Le filtre de bits

doit être une simple tranche de bits, potentiellement compte tenu de certaines contraintes, d'un hash de

transaction sur une chaîne pontée.

Un mineur de transaction ayant l'intention d'exploiter une promesse surveillerait la chaîne identifiée

jusqu'à ce que le filtre à bits trouve une tranche qui correspond et soit capable de décrypter les données

privées. Il décrypterait ensuite les données privées dans une transaction, et afficherait cette transaction,

réclamant des frais à la fois de la promesse originale et facultativement de la transaction de la chaîne de

blocs pontés.

©2018 Block Collider Freedom through Cryptography

4 multichain transaction dynamics 20

Exemple de promesses

Les promesses sur la multichaîne de Block Collider permettent facilement une mise en œuvre

entièrement décentralisée de Wik-ileaks. Imaginez qu'Alice a des informations sur son employeur qui,

selon elle, devraient être rendues publiques et qu'elle veut s'assurer que, dans le cas où une libération

contrôlée n'est pas possible, il y aura quand même un dépôt de documents. Alice pourrait mettre une

copie cryptée en ligne et utiliser une promesse Collider pour la diffusion des clés. Plus précisément,

Alice pourrait mettre en place une promesse qui resterait silencieuse tant que certaines données sont

postées sur n'importe quelle chaîne pontée, signée avec sa clé privée. Si elle arrêtait son émission

"Heartbeat", la promesse décrypterait et afficherait une transaction avec la clé pour les données privées

au Collider ou à n'importe quelle chaîne pontée.

4.4 Rappels

Les rappels sont un moyen compatible avec les incitatifs d'exécuter des transactions à chaînes multiples

entre utilisateurs. Ils sont l'évolution naturelle des "swaps atomiques", qui peuvent non seulement

échanger des pièces de monnaie, mais aussi exécuter des transactions arbitraires basées sur des

conditions ou sur des transactions sur d'autres chaînes de blocs.

Les rappels sont exécutés en deux étapes : la mise en place et l'exécution. Chaque action après l'étape

de mise en place est assurée avec une garantie, offerte par n'importe quelle partie qui a la possibilité de

passer à l'action et de s'en aller. De cette façon, si l'une des parties rompt ce protocole en plusieurs

étapes, la partie restante est rendue entière avec la garantie de la partie défenderesse.

Lors de l'étape de configuration, l'initiateur du rappel affiche d'abord une transaction de rappel, qui

établit et finance une adresse bonus, et qui fournit des informations partielles pour configurer les

adresses de garantie. L'adresse de bonus est financée et couvre une partie des honoraires des mineurs

au cours de la transaction. L'adresse de la garantie est l'endroit où une réserve de valeur suffisante est

conservée, de sorte que si un acteur se retire de la transaction, la contrepartie peut toujours être rendue

entière par le montant du compte de garantie, et de sorte que la sauvegarde n'est jamais dans l'intérêt

économique de l'une ou l'autre partie.

En réponse à l'opération de rappel initiale, un répondant affiche une opération de rappel en

réponse, qui finance une adresse en prime et fournit des renseignements partiels pour établir des

adresses de garantie. La combinaison des informations des deux parties spécifie entièrement les

adresses de garantie, qui sont verrouillées et déverrouillées en fonction de l'état actuel de la

transaction[16].

À l'étape de l'exécution, l'initiateur et l'intimé alternent pour remplir partiellement (ou entièrement) les

transactions. Pour que le protocole soit compatible avec les mesures incitatives, la garantie fournie par

chaque garantie doit annuler toute perte potentielle de la partie adverse.

©2018 Block Collider Freedom through Cryptography

4 multichain transaction dynamics 21

Naïvement, la garantie doit avoir au moins autant de valeur que ce qui est transféré pour maintenir la

compatibilité des incitations. Toutefois, en permettant l'exécution partielle, la garantie peut être jusqu'à

k fois moins précieuse que l'ensemble de la transaction, où k est le nombre de pièces partielles en

lesquelles la transaction complète est divisée. De cette façon, il y a un compromis naturel entre la

rapidité d'exécution et le montant de la garantie que l'une ou l'autre partie est prête à offrir en garantie.

Chaque pièce de l'étape d'exécution comprend une minuterie d'expiration. Si le délai expire avant que

la partie concernée n'effectue le transfert total ou partiel convenu, ils sont considérés comme étant

défectueux et leur garantie est confisquée. La dynamique exacte est ouverte à la personnalisation, de

sorte qu'en plus d'être rendue entière, il pourrait y avoir des frais de commodité supplémentaires pour

défection sur une contrepartie.

Exemple de Rappels

Imaginez Bob veut offrir d'échanger 5,0 ETH contre 0,2 BTC. Bob crée une transaction de rappel, qui

finance une adresse bonus, qui sert à financer les frais miniers couverts par le protocole, et fournit des

informations partielles pour établir une adresse de garantie (CBob). Bob propose que ce rappel se

produise en 5 pièces, donc son adresse collatérale doit couvrir 1.0 ETH (puisque 5.0ETH / 5 pièces =

1.0ETH).

Imaginez qu'Alice et Carol veulent toutes les deux devenir des contreparties à cette transaction. Alice

et Carol soumettent toutes deux des transactions en réponse à la transaction de rappel de Bob, qui tente

de financer une adresse bonus et de financer une adresse collatérale (CAlice, CCarol). Un mineur de

bloc en choisit un (disons Alice, sans perte de généralité). L'équilibre de Carol n'est pas affecté puisque

sa réponse n'a pas été choisie. Maintenant que l'installation est terminée,

Bob et Alice passent à l'étape de réalisation, les deux avec au moins 15 de la valeur de leur

compte de garantie. Pour la première pièce, Bob transfère un cinquième de ce qu'il a promis (c'est-à-

dire 1,0 ETH) sur le compte d'Alice. Son transfert débloque la garantie dans son compte et bloque la

garantie dans le compte de garantie d'Alice. Ensuite, Alice transfère un cinquième (ou 0,04 BTC) au

compte de Robert, et ce transfert débloque son compte de garantie, et verrouille à nouveau le compte

de garantie de Robert. Cela se poursuit pièce par pièce jusqu'à ce que la transaction soit complète.

Si, à n'importe quelle étape, Bob ou Alice ne poursuit pas la transaction comme prévu, il y a clairement

assez dans le compte de garantie du défecteur pour fournir un dédommagement à la partie coopérante,

qui peut alors conclure la transaction ailleurs.

©2018 Block Collider Freedom through Cryptography

4 multichain transaction dynamics 22

Step ETHBob BTCBob ETHAlice ETCAlice CBob CAlice

1 Bob creates callback transaction 6 ETH 0 BTC 0 ETH 0.24 BTC — —

2 Alice creates response callback 6 ETH 0 BTC 0 ETH 0.2 BTC 0 ETH 0.04 BTC

3 Bob funds his collateral 5 ETH 0 BTC 0 ETH 0.2 BTC 1 ETH 0.04 BTC

4 Bob transfers first piece to Alice 4 ETH 0 BTC 1 ETH 0.2 BTC 1 ETH* 0.04 BTC

5 Alice transfers first piece to Bob 4 ETH 0.04 BTC 1 ETH 0.16 BTC 1 ETH 0.04 BTC

6 Alice transfers second piece to Bob 4 ETH 0.08 BTC 1 ETH 0.12 BTC 1 ETH 0.04 BTC*

7 Bob transfers second piece to Alice 3 ETH 0.08 BTC 2 ETH 0.12 BTC 1 ETH 0.04 BTC

8 Alice transfers third piece to Bob 3 ETH 0.12 BTC 2 ETH 0.08 BTC 1 ETH 0.04 BTC*

9 Bob transfers third piece of to Alice 2 ETH 0.12 BTC 3 ETH 0.08 BTC 1 ETH 0.04 BTC

10 Alice transfers fourth piece of to Bob 2 ETH 0.16 BTC 3 ETH 0.04 BTC 1 ETH 0.04 BTC*

11 Bob transfers fourth piece of to Alice 1 ETH 0.16 BTC 4 ETH 0.04 BTC 1 ETH 0.04 BTC

11 Bob transfers final piece of to Alice 0 ETH 0.16 BTC 5 ETH 0.04 BTC 1 ETH* 0.04 BTC

12 Alice transfers final piece of to Bob 0 ETH 0.2 BTC 5 ETH 0 BTC 1 ETH* 0.04 BTC*

13 Alice reclaims her collateral 0 ETH 0.2 BTC 5 ETH 0.04 BTC 1 ETH* 0 BTC

14 Bob reclaims his collateral 1 ETH 0.2 BTC 5 ETH 0.04 BTC 0 ETH 0 BTC

Notez qu'une adresse de garantie non verrouillée (notée avec un *) signifie que, dans le cas où l'étape

suivante de la transaction prend du temps, l'acteur qui a fourni la garantie peut la récupérer. Sinon, cet

acteur ne peut pas récupérer cette garantie. Notez également que, à chaque étape,

BTCBob,t

BTCBob,total receive planned+

ETHBob,t + ETHBob unlocked collateral,t

ETHBob,total sent planned= 1

....de sorte que si Alice interrompt la transaction à une étape quelconque, Bob n'est pas dans une

situation pire que celle d'avoir reçu une réalisation au prorata de la transaction. L'inverse, pour Alice,

vaut aussi. Toutefois, en raison de la nature verrouillée de la garantie, toute partie qui interrompt la

transaction perd sa garantie et se trouve donc dans une situation bien pire. Plus la garantie requise

pour la transaction est importante, plus une partie risque de perdre en interrompant la transaction.

Comme tout protocole de communication complexe, on ne s'attend pas à ce que les utilisateurs aient à

effectuer ces étapes eux-mêmes. La multi-chaîne Collider fournira les éléments constitutifs de ces

transactions, et l'équipe Block Collider lancera un logiciel pour faciliter l'interaction avec ce protocole.

©2018 Block Collider Freedom through Cryptography

5 instrumental innovations 23

5 Innovations Instrumentales

En s'efforçant de développer une technologie qui peut donner des résultats au-delà de l'état actuel de

la technique, l'équipe de Block Collider a créé de nouvelles approches et de nouveaux concepts dans de

nombreux domaines clés. Voici quelques-unes de nos préférées.

5.1 Bloc Routier

La chaîne Block Collider est construite à partir de la myriade de blocs émis par d'autres chaînes de

blocs par le biais d'un processus qui les distribue et les fusionne rapidement, encourage le travail

honnête et redonne à la communauté en semant des chaînes à de nouveaux nœuds clients, même si le

nœud lui-même ne synchronise pas la chaîne de blocs de blocs Colliders.

Pour commencer le processus de fusion des chaînes, Block Collider introduit, en plus des mineurs, de

nouveaux travailleurs en réseau appelés "bloc routier" qui aident les mineurs à relayer les blocs

d'autres chaînes de blocs vers les mineurs pour qu'ils les traitent. Dès le début, les routier

sont automatiquement intégrés dans les applications minières fournies par les développeurs de

Block Collider et la communauté de développement.

Pour illustrer, un rover de bloc traversant la chaîne de blocs de Bitcoin est constamment à la recherche

de nouveaux blocs à la tête de la chaîne afin de relayer ces blocs aux mineurs. Le routier ensemence les

blocs de la chaîne de blocs Bitcoin de la même manière qu'un nœud Bitcoin traditionnel pourrait se

joindre et participer au réseau. La principale différence est qu'un bloc routier maintiendra un groupe

de plus d'une centaine de clients distants à partir desquels semer des blocs au lieu, dans le

cas d'Ethereum, d'une valeur par défaut de 25. Les Bloc Routier sont configurés pour chaque chaîne

membre comme Waves, Ethereum et NEO.

En raison de la nature multichaîne de Block Collider, les mineurs de blocs sont incités à exécuter des

routier de blocs afin que leur voisinage dans le réseau ne soit pas à la traîne par rapport aux

autres quartiers. Le réseau efficace pour Block Collider comprend tous les réseaux des chaînes

pontées, superposées les unes sur les autres, de sorte que les mineurs de Block Collider sont

particulièrement incités à répartir les blocs autour d'eux. Défaire et thésauriser les blocs n'est

pas une stratégie avantageuse à moins que le quartier d'un mineur coïncide avec le quartier le plus

rapide du réseau de chaque chaîne soutenue, ce qui ne sera presque certainement pas le cas pour

n'importe quel mineur.

©2018 Block Collider Freedom through Cryptography

5 instrumental innovations 24

5.2 Le protocol FIX

Dans le développement de nouvelles technologies financières, la poursuite des données du carnet

d'ordres à faible latence et l'exécution des transactions a créé une innovation rapide pour les

ordinateurs et l'infrastructure de réseau de haute performance en " métal nu ". L'un des éléments les

plus réutilisables est le protocole Financial Information eXchange[12], qui a été créé pour l'échange

international en temps réel d'informations relatives aux transactions et aux marchés des valeurs

mobilières.

Le Block Collider utilise ce protocole dans deux capacités primaires. Premièrement, les transactions en

attente (y compris leurs frais et tx_dist) et les tarifs en vigueur pour l'inclusion des transactions dans les

blocs sont distribués via FIX. Étant donné que le processus de remplissage d'un bloc de transactions

peut être comparé au règlement d'un carnet d'ordres, des distances de transaction actualisées sont

nécessaires pour assurer un placement efficace des transactions en blocs. Deuxièmement, à l'extérieur

de l'exploitation minière Collider, le protocole FIX agit comme une source de données à l'échelle de

l'écosystème pour toutes les chaînes de blocs reliées au collisionneur de blocs. Le flux de données sert

de point d'entrée simple pour les investisseurs institutionnels afin de fixer plus facilement les prix des

événements du marché, le volume et les données au niveau des ticks en temps opportun avec un

protocole déjà intégré dans leurs systèmes sur place.

5.3 Routage optimisé des blocs

Sur les chaînes de blocs, les transactions doivent bien sûr se faire de manière sécurisée, sans s'appuyer

sur une confiance autre que celle qui est assurée cryptographiquement. Cependant, il y a des situations

dans lesquelles une compréhension plus lâche de la confiance peut être utilisée pour aider à optimiser

le fonctionnement du réseau.

Block Collider intègre dans le protocole réseau une couche supplémentaire de "confiance" probabiliste,

qui optimise les flux réseau sur la base des déclarations vérifiables que les autres nœuds font sur l'état

du réseau et leurs propres informations. Il y a une incitation douce pour les nœuds à participer

honnêtement, dans la mesure où la participation en tant qu'utilisateur honnête augmente la vitesse à

laquelle un nœud recevra des blocs et obtiendra ses propres blocs propagés dans le réseau.

©2018 Block Collider Freedom through Cryptography

6 looking to the future 25

6 Regarder vers l'avenir

Pour l'avenir, l'équipe de Block Collider s'attend à ce que la mutli-chaîne Collider évolue et grandisse.

Le changement est particulièrement difficile, cependant, dans les systèmes de consensus décentralisés

conçus pour être intrinsèquement sans confiance. Voici nos attentes à l'égard des changements qui

seront intégrés dans le logiciel que nous distribuons et la direction dans laquelle nous avons l'intention

de progresser.

6.1 Considérations protocolaires pour le développement

Mise à l'échelle pour plus de chaînes pontées

Le Block Collider est conçu pour ajouter facilement de nouvelles chaînes de blocs, en ce sens que

chaque nouvelle chaîne de blocs est destinée à être une augmentation insignifiante de la charge placée

sur les mineurs ou les rovers. La contestation informatique restera la même, sauf avec des termes

supplémentaires dans la contrainte. Par exemple, en passant de deux à trois chaînes, le seuil

d'exploitation des blocs s'élargit ainsi :

max(RO(hash_attempt, BTC block hash), RO(hash_attempt, ETH block hash)) < D

max(RO(hash_attempt, BTC block hash), RO(hash_attempt, ETH block hash),

RO(hash_attempt, WAVES block hash)) < D

Avec l'ajout de nouvelles chaînes de blocs, le seuil de difficulté sera ajusté pour maintenir la continuité

de la difficulté.

Même si une chaîne pontée subit un événement cataclysmique, ce qui lui fait cesser d'émettre des

blocs, le Collider fonctionnera toujours sans interruption. Le Collider est conçu de manière à pouvoir

sécuriser les transactions en toute sécurité tant qu'il assimile encore deux ou plusieurs chaînes de blocs.

Le flux continu de blocs Collider exige seulement que de nouveaux blocs invisibles soient observés et

traités par les mineurs. Une chaîne de blocs donnée peut être déconnectée, de sorte que tant que le

conseil d'assimilation (voir ci-dessous) ne l'enlève pas, le collisionneur ne ralentirait que légèrement en

raison d'une diminution du nombre de nouveaux blocs disponibles pour l'inclusion.

©2018 Block Collider Freedom through Cryptography

6 looking to the future 26

Hard Forks planifiées

Au lancement, le Block Collider supportera six chaînes de blocs. La sixième chaîne n'est pas répertoriée

sur le site Web et sera secrètement parallèle aux autres chaînes de blocage sur les nœuds privés afin

d'éviter les effets du marché qui influencent la tarification de la chaîne.

Pendant les trois premières années suivant le réseau principal, les fourches dures seront poussées vers

la communauté un maximum de six fois. Ces fourches incluront la correction des bogues, la

compatibilité pour les nouvelles chaînes de blocs, l'amélioration de l'efficacité et certains changements

d'hyperparamètres (comme la réduction du délai cible après l'observation de nouveaux blocs). A la fin

de ces fourchettes, un protocole de vote aura été testé et confirmé comme étant le principal moyen de

gouverner le Collider multichaîne sur une base perpétuelle

Mode d'évolution et développement des fonctionnalités

Une fois que les six premières chaînes de blocs ont été déployées sur la multichaîne Collider et que le

protocole de base passe la fenêtre d'incubation de deux ans, le protocole passe en mode "Evolution". Il

s'agit d'une étape qui comprend une période de vote de trois mois au cours de laquelle de nouvelles

chaînes de blocage peuvent être votées dans le Collider, à la majorité simple, et des chaînes de blocage

non désirées peuvent être éliminées, à la majorité des deux tiers.

De plus, le mode Evolution permet le "vote des architectes". Un architecte est une adresse publique qui

est associée à un projet ou une proposition. Il peut s'agir d'une demande de financement pour

développer une nouvelle fonctionnalité ou modifier une fonctionnalité précédente. Pour soumettre un

projet, le propriétaire doit miser un montant d'emblèmes supérieur à un certain seuil.

Le mode Evolution a trois objectifs. Tout d'abord, il donne aux propriétaires d'emblème un enjeu dans

l'évolution de la chaîne. Deuxièmement, il permet au Collider d'adopter de nouvelles caractéristiques

d'autres chaînes par le biais d'un processus démocratique. Cela permet également à la chaîne d'évoluer

avec des changements à grande échelle dans l'environnement politique ou l'accès à de nouveaux

marchés fiat. Enfin, il permet au Block Collider de créer des fonctionnalités et d'accroître

organiquement l'implication de la communauté. Un programme similaire peut être trouvé dans le

Dash Development Fund, qui est peut-être un exemple idéal de ce comportement[2].

Vote

En cas d'urgence, il y a un drapeau de version qui peut être déclenché par les mineurs pour migrer

vers une autre chaîne ou un autre groupe de chaînes. Le drapeau de version, comme celui utilisé

dans Bitcoin, ne supporte qu'un seul chiffre, ce qui signifie la gravité du changement. Il ne s'agit pas

d'un événement " briser la vitre ",

©2018 Block Collider Freedom through Cryptography

6 looking to the future 27

mais qui donne aux mineurs la possibilité de s'éloigner des chaînes qui ont mis dans un état de

délabrement tel qu'il a un impact négatif significatif sur le Block Collider.

6.2 Vision et orientation future

L'intérêt et les progrès techniques dans le domaine de l'utilisation de la cryptographie pour résoudre

les problèmes de coordination ont connu un essor considérable. Toute limite aux implications pour

l'avenir de la société et des systèmes économiques n'a pas encore été découverte. Cela peut très bien

annoncer un nouveau paradigme, où les individus, simplement par la nature de l'accès à l'information

privée, peuvent être assurés cryptographiquement de leurs droits et de leur liberté de choisir et d'agir

dans le monde.

L'industrie telle que nous la connaissons, cependant, est fortement cloisonnée. Alors que les systèmes

existants accordent aux utilisateurs la liberté dans leur domaine, les utilisateurs sont encore confinés et

doivent rester dans ce système. De nombreuses solutions au problème des chaînes multiples reposent

sur la centralisation, par exemple via des validateurs, ce qui est fondamentalement dissonant à la fois

avec les valeurs et avec les avantages de l'industrie de la cryptographie. En tissant ensemble des

chaînes disparates dans la multichaîne Block Collider d'une manière réellement décentralisée, nous

espérons permettre un nouveau niveau de choix individuel et de liberté grâce à la cryptographie. À

l'avenir, Block Collider espère fusionner dans d'autres chaînes, et intégrer plus étroitement les

caractéristiques d'une chaîne à l'autre, afin que les individus puissent avoir le choix le plus libre

possible entre les systèmes de cry

En remettant en question les principales hypothèses sur les chaînes de blocs - y compris la rupture de

l'intégration verticale de l'extraction de blocs et de transactions pour permettre des canaux latéraux

pour les incitations, l'ouverture du canal incitatif de la taille des blocs via la propriété de l'emblème, et

l'innovation de nouveaux algorithmes pour les défis informatiques, pour n'en nommer que quelques-

uns - Block Collider contribue au progrès rapide continu et à l'innovation fondamentale dans

l'écosystème.

L'équipe de Block Collider est dédiée à la liberté par le biais de la cryptographie, et nous espérons que

vous vous joindrez à nous dans ce voyage.

©2018 Block Collider Freedom through Cryptography

R E F E R E N C E S

28

[1] A propos de l'échange. Site Shapeshift.

[2] Système de gouvernance décentralisée. Site Dash Officiel.

[3] Spécification du protocole de pièces de couleur. Github de Colored Coins, 2015.

[4] Réveil de l'E thereum: Début en, 2015.

[5] Coinbase pour lancer le token de messagerie autonome Ethereum. The Coin Telegraph, 2017.

[6] Introduction à Swap: Un protocole de trading décentralisé paire-à-paire sur la blockchain. Blog

Airswap, 2017.

[7] Diagramme historique du temps de bloc de bitcoin. BitInfoCharts, 2018.

[8] Capitalisation boursière des crypto-monnaies. Site CoinMarketCap, 2018.

[9] Graphique de l'historique des temps de bloc Ethereum. BitInfoCharts, 2018.

[10] Benet, J. IPFS - content abordé, versionné, système de fichier P2P. Site IPFS, 2014.

[11] Buterin, V. Toward un bloc de 12 secondes. Blog Ethereum, 2014.

[12] Lamoureux, R., and Morstatt, C. Spécification du protocole Financial Information eXchange, 1992.

[13] Lerner, S. D. Chaînes de blocs encore plus rapides avec le protocole DECOR. Blog Bitslog, 2014.

[14] McIlroy, M. D., Pinson, E. N., and Tague, B. A. Système de multipropriété UNIX : Avant-propos, 1978.

[15] Nakamoto, S. Bitcoin: Un système électronique de paiement en espèces de pair à pair, 2008.

[16] Poelstra, A. Utiliser les chaînes pour ce qu'elles sont bonnes à faire.. Scaling Bitcoin Talk, 2017.

[17] "Cosine similarity." Wikipedia. January 26, 2018. Accédé le 10 février 2018. h ttps://

en.wikipedia.org/wiki/Cosine_similarity.

References 29

[18] Sompolinsky, Y., and Zohar, Sécuriser le traitement des transactions à haut débit dans Bitcoin.

Association internationale pour la recherche cryptologique, 2013.

[19] Warren, W., and Bandeali, A. 0x: Un protocole ouvert pour l'échange décentralisé sur la

chaîne de blocs d'Ethereum. 0x Whitepaper, 2017.

©2018 Block Collider Freedom through Cryptography