LIVRE BLANC BLOC KCOLLIDE R · Actuellement, les contrats intelligents nécessitent un événement...
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