Our website is made possible by displaying online advertisements to our visitors.
Please consider supporting us by disabling your ad blocker.

This White Paper is temporary. We are writing the final one that will be posted here. Check back when this warning is removed. Thanks for your patience.


Krypto₣ranc: la renaissance de la monnaie française

1. introduction

En 1999, l'euro a remplacé la monnaie française: le franc. Les gens du monde entier avaient encore trois ans pour rendre tous leurs francs. En 2002, le franc a disparu après plus de 700 ans d’existence pour faire place à l’euro. Le franc était une image fidèle de la culture et du succès français. En 2010, la Banque centrale française a estimé que plus de 4 milliards de francs n’ont pas été restitués et étaient toujours en circulation entre les mains du peuple. Avec le temps, la suppression du franc a laissé un goût amer. Alors que la croissance du PIB était de + 3% en 1999, elle n’approche jamais de ce chiffre depuis. Beaucoup ont vu dans ce sacrifice le début de la chute de l'économie française et de sa perte de souveraineté. Il n’était pas possible à ce moment-là que les gens changent le cours des choses, il y avait une campagne de propagande pro-Euro sans précédent, tous les médias grand public et toutes les personnes les plus influentes poussaient à l’effacement du franc. Mais les choses ont changé depuis. Avec l’invention de la technologie blockchain de Satoshi Nakamoto et la montée en puissance de bitCoin, il est désormais possible pour la bonne équipe, dotée des compétences techniques appropriées, de créer une devise sans l’approbation de toute autorité. Nous sommes cette équipe, alors pourquoi ne pas le faire? Le Krypto₣ranc est l'incroyable renaissance du franc. Ce n'est pas une nouvelle révolution technologique dans le domaine de la blockchain, mais une idée révolutionnaire: refaire ce qui a été effacé par les bureaucrates, par le peuple pour le peuple, open source, gratuit et imparable!

2. La technologie

Pour atteindre cet objectif, il n'est pas nécessaire de recréer la roue. BitCoin est la crypto-monnaie la plus populaire au monde, avec plus de 500 contributeurs et plus de 20 000 forks chez Github, l'équipe de bitCoin améliore le travail de Satoshi et publie des améliorations régulièrement. Nous voulons rester aussi proches que possible de bitCoin pour cette raison. Le Krypto₣ranc doit être une devise fiable, reposant sur un concept infaillible, et nous n’ajouterons aucun code exotique qui pourrait compromettre la sécurité des travaux d’ingénierie de Satoshi Nakamoto. Nous nous en tiendrons autant que possible au noyau bitCoin afin de pouvoir mettre à niveau Krypto₣ranc le long du chemin emprunté par la devise crypto-originale et la plus populaire, le plus rapidement possible après chaque mise à niveau et chaque nouvelle version.

En termes simples, Krypto₣ranc est bitCoin mais avec une blockchain différente, avec un comportement différent, adapté à ce projet spécifique, de sorte que Krypto₣ranc devienne une des principales devises du monde. Mais la technologie de la blockchain est exactement la même.

Krypto₣ranc est basé sur un système POW (Proof of Work), car vous ne pouvez pas renforcer la sécurité de chaque transaction et blockchain dans son ensemble, sans le rendre difficile à déchiffrer, POW est le moyen le plus sûr et le plus fiable de le faire. La méthode POW est essentielle pour protéger la blockchain contre les attaquants et nous n'introduirons aucun élément susceptible de réduire sa sécurité. Nous voulons également rester compatibles avec tous les mineurs et les pools qui exécutent bitCoin: Krypto₣ranc est aussi facile à utiliser que bitCoin.

Quelle est la différence entre USD et EUR? Leurs caractéristiques sont les mêmes, nous pouvons acheter et vendre. Le même raisonnement s'applique aux deux blockchains. La vraie différence est le nombre de pièces imprimées et l'acceptation des personnes. Il ne fait aucun doute dans notre esprit que Krypto₣ranc sera la devise préférée des utilisateurs du franc par rapport au bitCoin, considéré par beaucoup comme une entité purement spéculative et expérimentale.

3. Le but

Le but de Krypto₣ranc doit être accepté comme monnaie de réserve par le gouvernement français. Nous pensons que le système financier connaîtra une crise majeure et que l'or ne pourra pas sauver l'euro dans ce scénario. Sans crypto-monnaie en tant que devise de réserve, la zone euro s'effondrera dans un chaos total. Lorsque cela se produira, les gens n'auront nulle part où sauver leur patrimoine que la crypto-monnaie, ce sera le seul endroit sûr. Les Français savent que le franc et Krypto₣ranc seront leur choix alternatif en cas d’effondrement financier pour remplacer l’argent. Nous pensons qu'un pays comme la France devrait disposer de suffisamment de Krypto₣ranc pour pouvoir imprimer des billets de banque et des pièces à partir de la crypto-monnaie, ce qui serait une mesure sûre pour éviter une situation dramatique en cas d'échec de l'euro manquant pour alimenter l'économie. Nous pensons également que chaque pays de la zone euro devrait avoir un système de double caisse, avec des billets en circulation en euros et en Krypto₣ranc, bitMark, bitLire, BitPesos, etc.

4. Émission

Comme expliqué précédemment, la blockchain de Krypto₣ranc ne sera pas la même que celle de bitCoin. Nous émettrons 6,55 milliards de Krypto₣ranc entre le 1er janvier 2019 et le 1er janvier 2022. Ainsi, nous égalerons la capitalisation de la Banque centrale française. Ensuite, nous aurons une génération de pièces déflationnistes qui atteindra un total de 20 milliards sur 200 ans.

2,5 milliards de Krypto₣rancs seront pré-exploités et partagés entre les auteurs du Krypto₣ranc, et serviront à financer la maintenance et le développement futur. Krypto₣ranc doit être bien financé pour continuer son chemin et être soutenu sur le long terme.


Parce que la technologie de la blockchain que nous utilisons est la même que celle créée par Satoshi Nakamoto, voici le livre blanc original de la blockchain, traduit en plusieurs langues par Google (utilisez le menu déroulant avec les drapeaux pour changer la langue).


Bitcoin: un système de paiement électronique peer-to-peer | Satoshi Nakamoto

Abstrait

Une version purement peer-to-peer de l'argent électronique permettrait d'envoyer les paiements en ligne directement d'une partie à une autre sans passer par une institution financière. Les signatures numériques constituent une partie de la solution, mais les principaux avantages sont perdus si un tiers de confiance est toujours nécessaire pour éviter les doubles dépenses. Nous proposons une solution au problème de la double dépense en utilisant un réseau peer-to-peer. Le réseau horodate les transactions en les hachant dans une chaîne de preuve de travail basée sur le hachage, formant un enregistrement qui ne peut pas être modifié sans refaire la preuve de travail. La plus longue chaîne sert non seulement de preuve à la séquence des événements observés, mais prouve qu'elle provient du plus grand bassin de puissance du processeur. Tant que la majorité de la puissance du processeur est contrôlée par des nœuds qui ne coopèrent pas pour attaquer le réseau, ils génèrent la plus longue chaîne et les attaquants les plus éloignés. Le réseau lui-même nécessite une structure minimale. Les messages sont diffusés au mieux et les nœuds peuvent quitter le réseau à leur gré, acceptant la plus longue chaîne de preuve de travail comme preuve de ce qui s’est passé pendant leur absence.

1. introduction

Le commerce sur Internet repose désormais presque exclusivement sur des institutions financières servant de tiers de confiance pour traiter les paiements électroniques. Bien que le système fonctionne suffisamment bien pour la plupart des transactions, il souffre toujours des faiblesses inhérentes au modèle basé sur la confiance. Les transactions totalement non réversibles ne sont pas vraiment possibles, car les institutions financières ne peuvent éviter de régler des différends. Le coût de la médiation augmente les coûts de transaction, limite la taille minimale des transactions et limite la possibilité de petites transactions occasionnelles, et la perte de capacité à effectuer des paiements non réversibles pour des services non réversibles est plus coûteuse. Avec la possibilité d'un renversement, le besoin de confiance se propage. Les commerçants doivent se méfier de leurs clients, les harcelant pour plus d'informations qu'ils n'en auraient autrement besoin. Un certain pourcentage de fraude est accepté comme inévitable. Ces coûts et incertitudes de paiement peuvent être évités en personne en utilisant une devise physique, mais aucun mécanisme n'existe pour effectuer des paiements via un canal de communication sans une partie de confiance.)

2. Transactions

Nous définissons une pièce électronique comme une chaîne de signatures numériques. Chaque propriétaire transfère la pièce à l’autre en signant numériquement un hachage de la transaction précédente et la clé publique du propriétaire suivant et en les ajoutant à la fin de la pièce. Un bénéficiaire peut vérifier les signatures pour vérifier la chaîne de propriété.

Le problème, bien sûr, est que le bénéficiaire ne peut pas vérifier que l’un des propriétaires n’a pas dépensé la pièce en double. Une solution courante consiste à introduire une autorité centrale de confiance, ou mint, qui vérifie chaque transaction pour rechercher des dépenses doubles. Après chaque transaction, la pièce doit être retournée à la Monnaie pour émettre une nouvelle pièce, et seules les pièces émises directement par la Monnaie sont réputées ne pas être dépensées deux fois. Le problème avec cette solution est que le destin de l’ensemble du système monétaire dépend de la société qui gère la monnaie, chaque transaction devant passer par celle-ci, comme une banque.

Nous avons besoin d’un moyen pour le bénéficiaire de savoir que les propriétaires précédents n’ont signé aucune transaction antérieure. Pour nos besoins, la transaction la plus ancienne est celle qui compte, de sorte que nous ne nous soucions pas des tentatives ultérieures pour doubler les dépenses. La seule façon de confirmer l’absence de transaction est de connaître toutes les transactions. Dans le modèle basé sur la monnaie, la Monnaie était au courant de toutes les transactions et décidait laquelle était la première. Pour y parvenir sans une partie de confiance, les transactions doivent être annoncées publiquement et nous avons besoin d'un système permettant aux participants de convenir d'un historique unique de l'ordre dans lequel ils ont été reçus. Le bénéficiaire doit avoir la preuve qu’au moment de chaque transaction, la majorité des nœuds ont convenu que c’était le premier reçu.

3. Serveur d'horodatage

La solution que nous proposons commence par un serveur d'horodatage. Un serveur d'horodatage fonctionne en prenant un hachage d'un bloc d'éléments à horodater et en publiant largement le hachage, par exemple dans un journal ou une publication Usenet. L'horodatage prouve que les données doivent exister à ce moment-là, évidemment, pour entrer dans le hachage. Chaque horodatage inclut l'horodatage précédent dans son hachage, formant une chaîne, chaque horodatage supplémentaire renforçant ceux qui le précèdent.

4. Preuve de travail

Pour implémenter un serveur d'horodatage distribué sur une base d'égal à égal, nous devrons utiliser un système de preuve de travail similaire à celui d'Hashcash d'Adam Back, plutôt que des articles de journaux ou de publications Usenet. La preuve de travail implique l'analyse d'une valeur qui, lorsqu'elle est hachée, par exemple avec SHA-256, le hachage commence par un nombre de bits zéro. Le travail moyen requis est exponentiel dans le nombre de bits requis et peut être vérifié en exécutant un hachage unique.

Pour notre réseau d'horodatage, nous implémentons la preuve de travail en incrémentant un nonce dans le bloc jusqu'à ce qu'une valeur soit trouvée pour donner le hash requis par le bloc. Une fois que l’effort de la CPU a été dépensé pour qu’il satisfasse à la preuve de travail, le bloc ne peut pas être modifié sans refaire le travail. Comme les blocs ultérieurs sont enchaînés par la suite, le travail de modification du bloc comprendra la reprise de tous les blocs après celui-ci.

La preuve de travail résout également le problème de la détermination de la représentation dans la prise de décision majoritaire. Si la majorité était basée sur une adresse IP et un vote, elle pourrait être détournée par toute personne capable d’allouer de nombreux IP. La preuve du travail est essentiellement un CPU-un-vote. La décision majoritaire est représentée par la chaîne la plus longue, qui bénéficie de l'effort de preuve de travail le plus important. Si la majorité de la puissance du processeur est contrôlée par des nœuds honnêtes, la chaîne honnête se développera le plus rapidement et devancera toutes les chaînes concurrentes. Pour modifier un bloc passé, un attaquant devrait refaire la preuve de travail du bloc et de tous les blocs qui le suivent, puis rattraper et dépasser le travail des nœuds honnêtes. Nous montrerons plus tard que la probabilité qu'un attaquant plus lent rattrape son retard diminue de manière exponentielle à mesure que les blocs suivants sont ajoutés.

Pour compenser l’augmentation de la vitesse du matériel et l’intérêt variable pour l’exécution des nœuds au fil du temps, la difficulté de validation est déterminée par une moyenne mobile ciblant un nombre moyen de blocs par heure. Si elles sont générées trop rapidement, la difficulté augmente.

5. Réseau

Les étapes pour exécuter le réseau sont les suivantes:

  1. Les nouvelles transactions sont diffusées à tous les nœuds.
  2. Chaque nœud collecte les nouvelles transactions dans un bloc.
  3. Chaque nœud travaille à trouver une preuve de travail difficile pour son bloc.
  4. Lorsqu'un nœud trouve une preuve de travail, il diffuse le bloc à tous les nœuds.
  5. Les nœuds acceptent le bloc uniquement si toutes les transactions qu'il contient sont valides et non déjà dépensées.
  6. Les nœuds expriment leur acceptation du bloc en travaillant sur la création du bloc suivant dans la chaîne, en utilisant le hachage du bloc accepté comme hachage précédent.

Les nœuds considèrent toujours la chaîne la plus longue comme étant la bonne et continueront à la prolonger. Si deux nœuds diffusent simultanément des versions différentes du bloc suivant, 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 sauvegardent l'autre branche au cas où elle deviendrait plus longue. La cravate sera brisée lorsque la preuve de travail suivante sera trouvée et qu'une branche sera plus longue; les noeuds qui travaillaient sur l'autre branche passeraient alors à la plus longue.

Les nouvelles diffusions de transactions n'ont pas nécessairement besoin d'atteindre tous les nœuds. Tant qu'ils atteignent de nombreux nœuds, ils entreront rapidement dans un bloc. Les diffusions par blocs sont également tolérantes aux messages supprimés. Si un nœud ne reçoit pas de bloc, il le demandera lorsqu'il recevra le bloc suivant et réalisera qu'il en a manqué un.

6. Motivation

Par convention, la première transaction dans un bloc est une transaction spéciale qui lance une nouvelle pièce appartenant au créateur du bloc. Cela incite les nœuds à prendre en charge le réseau et permet de distribuer d’abord les pièces en circulation, car il n’ya pas d’autorité centrale pour les distribuer. L'ajout constant d'une constante de quantité de nouvelles pièces est analogue à celui des mineurs d'or qui dépensent des ressources pour ajouter de l'or à la circulation. Dans notre cas, c'est le temps CPU et l'électricité qui est dépensé.

L'incitation peut également être financée par des frais de transaction. Si la valeur de sortie d'une transaction est inférieure à sa valeur d'entrée, la différence est une commission de transaction ajoutée à la valeur incitative du bloc contenant la transaction. Une fois qu'un nombre prédéterminé de pièces est entré en circulation, l'incitation peut passer entièrement aux frais de transaction et être totalement exempte d'inflation.

L'incitation peut aider à encourager les nœuds à rester honnêtes. Si un attaquant avide est capable de rassembler plus de puissance processeur que tous les nœuds honnêtes, il devra choisir entre l'utiliser pour escroquer des personnes en récupérant ses paiements ou l'utiliser pour générer de nouvelles pièces. Il devrait trouver plus rentable de respecter les règles, de telles règles qui le favorisent avec plus de nouvelles pièces que toutes les autres, que de saper le système et la validité de sa propre richesse.

7. Récupération de l'espace disque

Une fois que la dernière transaction d'une pièce est enterrée sous suffisamment de blocs, les transactions passées avant de pouvoir être éliminées pour économiser de l'espace disque. Pour faciliter cela sans casser le hachage du bloc, les transactions sont hachées dans un arbre Merkle, avec uniquement la racine incluse dans le hachage du bloc. Les vieux blocs peuvent ensuite être compactés en détachant les branches de l'arbre. Les hachages intérieurs n'ont pas besoin d'être stockés.

Un en-tête de bloc sans transaction serait d'environ 80 octets. Si nous supposons que des blocs sont générés toutes les 10 minutes, 80 octets * 6 * 24 * 365 = 4,2 Mo par an. Avec des systèmes informatiques se vendant généralement avec 2 Go de RAM en 2008, et la loi de Moore prévoyant une croissance actuelle de 1,2 Go par an, le stockage ne devrait pas être un problème même si les en-têtes de bloc doivent être conservés en mémoire.

8. Vérification de paiement simplifiée

Il est possible de vérifier les paiements sans exécuter un nœud de réseau complet. Il suffit à l'utilisateur de conserver une copie des en-têtes de bloc de la chaîne de preuve de travail la plus longue, en interrogeant les nœuds du réseau jusqu'à ce qu'il soit convaincu qu'il possède la plus longue chaîne et obtient la branche Merkle le bloc dans lequel il a été horodaté. Il ne peut pas vérifier la transaction pour lui-même, mais en le liant à un endroit de la chaîne, il peut voir qu'un nœud de réseau l'a accepté et que des blocs ont été ajoutés accepté.

En tant que telle, la vérification est fiable tant que des nœuds honnêtes contrôlent le réseau, mais sont plus vulnérables si le réseau est maîtrisé par un attaquant. Alors que les nœuds de réseau peuvent vérifier eux-mêmes les transactions, la méthode simplifiée peut être trompée par les transactions fabriquées par un attaquant tant que l'attaquant peut continuer à maîtriser le réseau. Une stratégie pour se protéger contre cela consisterait à accepter les alertes provenant des nœuds du réseau lorsqu'ils détectent un bloc non valide, invitant le logiciel de l'utilisateur à télécharger le bloc complet et les transactions alertées pour confirmer l'incohérence. Les entreprises qui reçoivent des paiements fréquents voudront probablement toujours exécuter leurs propres nœuds pour une sécurité plus indépendante et une vérification plus rapide.

9. Valeur de combinaison et de division

Bien qu'il soit possible de manipuler des pièces individuellement, il serait difficile de faire une transaction distincte pour chaque cent dans un transfert. Pour permettre la division et la combinaison des valeurs, les transactions contiennent plusieurs entrées et sorties. Normalement, il y aura soit une entrée unique provenant d'une transaction précédente plus importante, soit plusieurs entrées combinant des montants plus petits, et au plus deux sorties: une pour le paiement et une pour le retour, le cas échéant, à l'expéditeur.

Il convient de noter que la diffusion, où une transaction dépend de plusieurs transactions, et ces transactions dépendent de beaucoup d’autres, n’est pas un problème ici. Il n'est jamais nécessaire d'extraire une copie autonome complète de l'historique d'une transaction.

10. Intimité

Le modèle bancaire traditionnel atteint un niveau de confidentialité en limitant l'accès aux informations aux parties impliquées et au tiers de confiance. La nécessité d'annoncer publiquement toutes les transactions exclut cette méthode, mais la confidentialité peut être maintenue en brisant le flux d'informations à un autre endroit: en gardant les clés publiques anonymes. Le public peut voir que quelqu'un envoie un montant à quelqu'un d'autre, mais sans que la transaction soit liée à qui que ce soit. Ceci est similaire au niveau d'information publié par les bourses, où le temps et la taille des transactions individuelles, le «ruban», sont rendus publics, mais sans indiquer qui étaient les parties.

En tant que pare-feu supplémentaire, une nouvelle paire de clés doit être utilisée pour chaque transaction afin d'éviter qu'elles soient liées à un propriétaire commun. Certaines liaisons sont toujours inévitables avec les transactions à entrées multiples, ce qui révèle nécessairement que leurs entrées appartenaient au même propriétaire. Le risque est que si le propriétaire d’une clé est révélé, la liaison pourrait révéler d’autres transactions appartenant au même propriétaire.

11. Calculs

Nous considérons le scénario d'un attaquant essayant de générer une chaîne alternative plus rapide que la chaîne honnête. Même si cela est accompli, le système n’est pas soumis à des modifications arbitraires, telles que créer de la valeur à partir de rien ou prendre de l’argent qui n’a jamais appartenu à l’attaquant. Les nœuds n'accepteront pas une transaction invalide comme moyen de paiement et les nœuds honnêtes n'accepteront jamais un bloc les contenant. Un attaquant ne peut qu'essayer de modifier l'une de ses propres transactions pour récupérer de l'argent récemment dépensé.

La course entre la chaîne honnête et une chaîne d’attaquant peut être qualifiée de marche aléatoire binomiale. L'événement de réussite est la chaîne honnête étendue d'un bloc, augmentant son avance de +1, et l'événement d'échec est la chaîne de l'attaquant étendue d'un bloc, réduisant ainsi l'écart de -1.

La probabilité qu'un attaquant rattrape un déficit donné est analogue au problème de Ruine d'un joueur. Supposons qu'un joueur avec un crédit illimité commence à un déficit et joue potentiellement un nombre infini d'essais pour tenter d'atteindre le seuil de rentabilité. Nous pouvons calculer la probabilité qu'il atteigne le seuil de rentabilité ou qu'un attaquant rattrape la chaîne honnête, comme suit[8]:

p= probability an honest node finds the next blockq= probability the attacker finds the next blockqz= probability the attacker will ever catch up from z blocks behind

qz={1ifpq(q/p)zifp>q}

Compte tenu de notre hypothèse que p>q, la probabilité chute de façon exponentielle lorsque le nombre de blocs que l’attaquant doit rattraper augmente. Avec les chances contre lui, s’il ne fait pas un bond en avant très tôt, ses chances deviennent extrêmement faibles alors qu’il tombe de plus en plus loin.

Nous considérons maintenant combien de temps le destinataire d'une nouvelle transaction doit attendre avant d'être suffisamment certain que l'expéditeur ne peut pas modifier la transaction. Nous supposons que l'expéditeur est un attaquant qui veut faire croire au destinataire qu'il l'a payé pendant un moment, puis le changer pour se rembourser après un certain temps. Le destinataire sera alerté lorsque cela se produira, mais l'expéditeur espère qu'il sera trop tard.

Le récepteur génère une nouvelle paire de clés et transmet la clé publique à l'expéditeur peu avant la signature. Cela empêche l'expéditeur de préparer une chaîne de blocs à l'avance en y travaillant continuellement jusqu'à ce qu'il ait la chance de prendre de l'avance, puis d'exécuter la transaction à ce moment-là. Une fois la transaction envoyée, l'expéditeur malhonnête commence à travailler en secret sur une chaîne parallèle contenant une autre version de sa transaction.

The recipient waits until the transaction has been added to a block and z les blocs ont été liés après. Il ne connaît pas le montant exact de la progression de l'attaquant, mais en supposant que les blocs honnêtes ont pris le temps moyen prévu par bloc, la progression potentielle de l'attaquant sera une distribution de Poisson avec la valeur attendue:

λ=zqp

Pour obtenir la probabilité que l'attaquant puisse encore rattraper son retard, nous multiplions la densité de Poisson pour chaque degré de progrès qu'il aurait pu faire par la probabilité qu'il puisse rattraper son retard:

k=0λkeλk!{(q/p)(zk)ifkz1ifk>z}

Réorganiser pour éviter la somme infinie de la distribution ...

1k=0zλkeλk!(1(q/p)(zk))

Conversion en code C ...

#include 
double AttackerSuccessProbability(double q, int z)
{
	double p = 1.0 - q;
	double lambda = z * (q / p);
	double sum = 1.0;
	int i, k;
	for (k = 0; k <= z; k++)
	{
		double poisson = exp(-lambda);
		for (i = 1; i <= k; i++)
			poisson *= lambda / i;
		sum -= poisson * (1 - pow(q / p, z - k));
	}
	return sum;
}
			

En exécutant certains résultats, nous pouvons voir la probabilité de chute exponentielle avecz

q=0.1
z=0    P=1.0000000
z=1    P=0.2045873
z=2    P=0.0509779
z=3    P=0.0131722
z=4    P=0.0034552
z=5    P=0.0009137
z=6    P=0.0002428
z=7    P=0.0000647
z=8    P=0.0000173
z=9    P=0.0000046
z=10   P=0.0000012

q=0.3
z=0    P=1.0000000
z=5    P=0.1773523
z=10   P=0.0416605
z=15   P=0.0101008
z=20   P=0.0024804
z=25   P=0.0006132
z=30   P=0.0001522
z=35   P=0.0000379
z=40   P=0.0000095
z=45   P=0.0000024
z=50   P=0.0000006
			

Résolution pour P inférieur à 0,1% ...

P < 0.001
q=0.10   z=5
q=0.15   z=8
q=0.20   z=11
q=0.25   z=15
q=0.30   z=24
q=0.35   z=41
q=0.40   z=89
q=0.45   z=340
			

12. Conclusion

Nous avons proposé un système de transactions électroniques sans confiance. Nous avons commencé avec le cadre habituel des pièces de monnaie fabriquées à partir de signatures numériques, ce qui permet un contrôle strict de la propriété, mais est incomplet sans un moyen de prévenir les doubles dépenses. Pour résoudre ce problème, nous avons proposé un réseau peer-to-peer utilisant la preuve de travail pour enregistrer un historique public des transactions qui devient rapidement impraticable pour un attaquant de changer si des nœuds honnêtes contrôlent la majorité de la puissance du processeur. Le réseau est robuste dans sa simplicité non structurée. Les nœuds fonctionnent en même temps avec peu de coordination. Il n'est pas nécessaire de les identifier, car les messages ne sont pas acheminés vers un lieu particulier et ne doivent être livrés que dans la mesure du possible. Les nœuds peuvent quitter et rejoindre le réseau à leur gré, acceptant la chaîne de preuve de travail comme preuve de ce qui s'est passé pendant leur absence. Ils votent avec leur puissance de processeur, exprimant leur acceptation des blocs valides en travaillant à les étendre et en rejetant les blocs non valides en refusant de travailler dessus. Toutes les règles et incitations nécessaires peuvent être appliquées avec ce mécanisme de consensus.

References

  1. W. Dai, "b-money," http://www.weidai.com/bmoney.txt, 1998. 
  2. H. Massias, X.S. Avila, and J.-J. Quisquater, "Design of a secure timestamping service with minimal trust requirements," In 20th Symposium on Information Theory in the Benelux, May 1999.  
  3. S. Haber, W.S. Stornetta, "How to time-stamp a digital document," In Journal of Cryptology, vol 3, no 2, pages 99-111, 1991. 
  4. D. Bayer, S. Haber, W.S. Stornetta, "Improving the efficiency and reliability of digital time-stamping," In Sequences II: Methods in Communication, Security and Computer Science, pages 329-334, 1993. 
  5. S. Haber, W.S. Stornetta, "Secure names for bit-strings," In Proceedings of the 4th ACM Conference on Computer and Communications Security, pages 28-35, April 1997.  
  6. A. Back, "Hashcash - a denial of service counter-measure," http://www.hashcash.org/papers/hashcash.pdf, 2002. 
  7. R.C. Merkle, "Protocols for public key cryptosystems," In Proc. 1980 Symposium on Security and Privacy, IEEE Computer Society, pages 122-133, April 1980. 
  8. W. Feller, "An introduction to probability theory and its applications," 1957.