Satopolys
Tour de France Photos & Bitcoin
Adoption & base connaissances 🇫🇷
Glock 👽 2024
🚴♂️📸🇫🇷🙈🙉🙊
FAQ
Il aurait été agréable d'attirer cette attention dans n'importe quel autre contexte. WikiLeaks a donné un coup de pied au nid de frelons, et l'essaim se dirige vers nous.
Satoshi Nakamoto
J'ai travaillé sur un nouveau système de cash électronique qui est entièrement Peer-to-peer, sans tiers de confiance.
Le document est disponible sur : http://www.bitcoin.org/bitcoin.pdf
Les principales propriétés :
Les doubles dépenses sont évitées avec un réseau peer-to-peer. Pas de menthe ou d'autres parties de confiance.
Les participants peuvent être anonymes.
Les nouvelles pièces sont fabriquées à partir d'une preuve de travail de style Hashcash. La preuve de travail pour la nouvelle génération de pièces alimente également le réseau pour éviter les doubles dépenses.
Bitcoin : Un Système De Cash Électronique Peer-to-Peer
Résumé. Une version purement peer-to-peer de l'argent électronique permettrait d'envoyer des paiements en ligne directement d'une partie à une autre sans le fardeau d'une institution financière. Les signatures numériques font partie de la solution, mais les principaux avantages sont perdus si une partie 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 chronomètre les transactions en les hachant dans une chaîne continue de preuves de travail basées sur le hachage, formant un enregistrement qui ne peut pas être modifié sans refaire la preuve de travail. La chaîne la plus longue sert non seulement de preuve de la séquence d'événements témoins, mais aussi de preuve qu'elle provient du plus grand pool de puissance du processeur. Tant que les nœuds honnêtes contrôlent le plus de puissance CPU sur le réseau, ils peuvent générer la chaîne la plus longue et dépasser tous les attaquants. Le réseau lui-même nécessite une structure minimale. Les messages sont diffusés au mieux, et les nœuds peuvent quitter et rejoindre le réseau à volonté, en acceptant la plus longue chaîne de preuve de travail comme preuve de ce qui s'est passé pendant leur absence.
Document complet sur : http://www.bitcoin.org/bitcoin.pdf
Satoshi Nakamoto
Pour que les jetons de preuve de travail transférables aient de la valeur, ils doivent avoir une valeur monétaire. Pour avoir une valeur monétaire, ils doivent être transférés au sein d'un très grand réseau - par exemple un réseau de négociation de fichiers similaire à bittorrent.
Pour détecter et rejeter un événement de double dépense en temps opportun, il faut avoir la plupart des transactions passées des pièces dans la transaction, ce qui, mis en œuvre de manière naïve, exige que chaque pair ait la plupart des transactions passées, ou la plupart des transactions passées qui se sont produites récemment. Si des centaines de millions de personnes effectuent des transactions, c'est beaucoup de bande passante - chacun doit tout connaître, ou une partie substantielle de celle-ci. Satoshi Nakamoto
Tant que les nœuds honnêtes contrôlent le plus de puissance CPU sur le réseau, ils peuvent générer la chaîne la plus longue et dépasser tous les attaquants. Le réseau Bitcoin pourrait en fait réduire le spam en détournant plutôt les fermes de zombies vers la génération de bitcoins.
Satoshi Nakamoto
Vous ne trouverez pas de solution aux problèmes politiques en cryptographie. Oui, mais nous pouvons gagner une bataille majeure dans la course aux armements et gagner un nouveau territoire de liberté pendant plusieurs années.
Les gouvernements sont bons pour couper les têtes d'un réseau contrôlé de manière centralisée comme Napster, mais les réseaux P2P purs comme Gnutella et Tor semblent tenir bon.
Satoshi
Ray Dillinger : la "monnaie" est inflationniste à environ 35 % car c'est à quel point les ordinateurs sont plus rapides chaque année … le taux d'inflation de 35 % est presque garanti par la technologie. L'augmentation de la vitesse matérielle est gérée : "Pour compenser l'augmentation de la vitesse matérielle et la variation de l'intérêt pour l'exécution des nœuds au fil du temps, la difficulté de la preuve de travail est déterminée par une moyenne mobile ciblant un nombre moyen de blocs par heure. S'ils sont générés trop rapidement, la difficulté augmente. »
Au fur et à mesure que les ordinateurs s'accélèrent et que la puissance de calcul totale appliquée à la création de bitcoins augmente, la difficulté augmente proportionnellement pour maintenir la nouvelle production totale constante. Ainsi, on sait à l'avance combien de nouveaux bitcoins seront créés chaque année à l'avenir.
Le fait que de nouvelles pièces soient produites signifie que la masse monétaire augmente d'un montant prévu, mais cela n'entraîne pas nécessairement l'inflation. Si l'offre d'argent augmente au même rythme que le nombre de personnes qui l'utilisent, les prix restent stables. S'il n'augmente pas aussi vite que la demande, il y aura déflation et les premiers détenteurs d'argent verront sa valeur augmenter. Les pièces doivent d'abord être distribuées d'une manière ou d'une autre, et un taux constant semble être la meilleure formule.
Satoshi Nakamoto
Hal Finney a écrit : « Désolé pour toutes les questions, mais comme je l'ai dit, cela semble être une idée très prometteuse et originale, et j'ai hâte de comment le concept est développé. Il serait utile de voir une description plus orientée processus de l'idée, avec des détails concrets de la structures de données pour les différents objets (pièces, blocs, transactions), les données incluses dans les messages et les descriptions algorithmiques, des procédures de gestion des différents événements qui se produiraient dans ce système. Vous avez mentionné que vous travaillez sur une mise en œuvre, mais je pense qu'une description textuelle plus formelle du système serait une prochaine étape utile. »
« Cela n'a pas besoin d'être vérifié. La transaction dans la succursale qui finit par avancer devient la transaction valide, l'autre est invalide. Si quelqu'un essaie de doubler les dépenses comme ça, une seule dépense deviendra toujours valide, les autres invalides. Les destinataires des transactions devront normalement retenir les transactions pendant peut-être une heure ou plus pour laisser le temps de résoudre ce genre de possibilité. Ils peuvent toujours dépenser à nouveau les pièces immédiatement, mais ils doivent attendre avant de prendre des mesures telles que l'expédition de marchandises. L'attaquant n'ajoute pas de blocs à la fin. Il doit revenir en arrière et refaire le bloc dans lequel se trouve sa transaction et tous les blocs qui l'ont suivi, ainsi que tous les nouveaux blocs que le réseau continue d'ajouter à la fin pendant qu'il le fait. Il réécrit l'histoire. Une fois que sa branche est plus longue, elle devient la nouvelle branche valide. Cela touche à un point clé. Même si toutes les personnes présentes peuvent voir les manigances en cours, il n'y a aucun moyen de profiter de ce fait. Il est strictement nécessaire que la chaîne la plus longue soit toujours considérée comme valide. Les nœuds qui étaient présents peuvent se rappeler qu'une branche était là en premier et a été remplacée par une autre, mais il n'y aurait aucun moyen pour eux de convaincre ceux qui n'étaient pas présents de cela. Nous ne pouvons pas avoir de sous-factions de nœuds qui s'acchent à une branche qu'ils pensent avoir été la première, d'autres qui ont vu une autre branche en premier, et d'autres qui se sont joints plus tard et n'ont jamais vu ce qui s'est passé. Le vote de preuve de travail de la puissance du processeur doit avoir le dernier mot. La seule façon pour tout le monde de rester sur la même longueur d'onde est de croire que la chaîne la plus longue est toujours la chaîne valide, quoi qu'il arrive. J'apprécie vos questions. En fait, j'ai fait ce genre de marche arrière. J'ai dû écrire tout le code avant de pouvoir me convaincre que je pouvais résoudre tous les problèmes, puis j'ai écrit le papier. Je pense que je serai en mesure de publier le code plus tôt que je ne pourrais écrire une spécification détaillée. Vous avez déjà raison sur la plupart de vos hypothèses où vous avez rempli les blancs. » Satoshi Nakamoto
James A. Donald a écrit : « Le concept de base est que de nombreuses entités restent complètes et cohérentes informations sur qui possède quels bitcoins. Mais maintenir la cohérence est délicat… »
« La chaîne de preuve de travail est la solution au problème de synchronisation, et pour savoir ce qu'est la vue partagée à l'échelle mondiale sans avoir à faire confiance à qui que ce soit.
Une transaction se propagera rapidement sur tout le réseau, donc si deux versions de la même transaction étaient signalées à peu près au même moment, celle avec la tête de départ aurait un grand avantage en atteignant beaucoup plus de nœuds en premier. Les nœuds n'accepteront que le premier qu'ils verront, refusant l'arrivée du second, de sorte que la transaction précédente aurait beaucoup plus de nœuds travaillant à l'intégrer dans la prochaine preuve de travail. En effet, chaque nœud vote pour son point de vue sur la transaction qu'il a vue en premier en l'incluant dans son Effort de preuve de travail.
Si les transactions sont arrivées exactement au même moment et qu'il y avait une répartition égale, c'est un lancer basé sur ce qui entre d'abord dans une preuve de travail, et cela décide lequel est valide.
Lorsqu'un nœud trouve une preuve de travail, le nouveau bloc est propagé dans tout le réseau et tout le monde l'ajoute à la chaîne et commence à travailler sur le bloc suivant après. Tous les nœuds qui avaient l'autre transaction cesseront d'essayer de l'inclure dans un bloc, car elle est maintenant invalide selon la chaîne acceptée.
La chaîne de preuve de travail est elle-même une preuve évidente qu'elle provient du point de vue globalement partagé. Seule la majorité du réseau ensemble dispose de suffisamment de puissance CPU pour générer une chaîne de preuve de travail aussi difficile. Tout utilisateur, en recevant la chaîne de preuve de travail, peut voir ce que la majorité du réseau a approuvé. Une fois qu'une transaction est hachée dans un lien qui est quelques liens dans la chaîne, elle est fermement gravée dans l'histoire mondiale. » Satoshi Nakamoto
James A. Donald a écrit : « OK, supposons qu'un nœud intègre un tas de transactions dans sa preuve de travail, toutes honnêtes dépenses uniques légitimes et qu'un autre nœud intègre un groupe différent de transactions dans sa preuve de travail, tous aussi honnêtes légitimes dépenses uniques, et les deux preuves sont générées à peu près au même moment. Que se passe-t-il alors ? »
« Ils diffusent tous les deux leurs blocs. Tous les nœuds les reçoivent et gardent les deux, mais ne travaillent que sur celui qu'ils ont reçu en premier. Nous supposerons exactement que la moitié a reçu l'un en premier, l'autre moitié.
Dans un court laps de temps, toutes les transactions finiront de se propager afin que tout le monde ait l'ensemble complet. Les nœuds travaillant de chaque côté essaieront d'ajouter les transactions qui manquent de leur côté. Lorsque la prochaine preuve de travail est trouvée, quel que soit le bloc précédent sur lequel ce nœud travaillait, cette branche devient plus longue et la cravate est cassée. Quel que soit le côté, le nouveau bloc contiendra l'autre moitié des transactions, donc dans les deux cas, la succursale contiendra toutes les transactions. Même dans le cas peu probable où une scission se produirait deux fois de suite, les deux côtés de la deuxième division contiendraient de toute façon l'ensemble des transactions.
Ce n'est pas un problème si les transactions doivent attendre un ou quelques cycles supplémentaires pour entrer dans un bloc. »
Satoshi Nakamoto
James A. Donald a écrit : « De plus, il ne peut pas fonctionner, comme dans le système proposé le travail de suivi de qui possède quelles pièces est payé par seigneuriage , ce qui nécessite de l'inflation. »
« Si vous avez des problèmes avec l'inflation, il est facile de le modifier pour les frais de transaction à la place. C'est aussi simple que cela : laissez la valeur de sortie de toute transaction être inférieure de 1 cent à la valeur d'entrée. Soit le logiciel client écrit automatiquement les transactions pour 1 cent de plus que la valeur de paiement prévue, soit il pourrait sortir du côté du bénéficiaire. La valeur incitative lorsqu'un nœud trouve une preuve de travail pour un bloc pourrait être le total des frais dans le bloc. » Satoshi Nakamoto
James A. Donald a écrit : « Alors, qu'est-il arrivé à la pièce qui a perdu la course ? ... c'est un peu dur si le gars qui est arrivé deuxième est susceptible de perdre sa pièce. »
« Lorsqu'il y a plusieurs versions à double dépense de la même transaction, une seule deviendra valide. Le destinataire d'un paiement doit attendre environ une heure avant de croire qu'il est valide. Le réseau résoudra toutes les courses de double dépense possibles d'ici là. Le gars qui a reçu la double dépense qui est devenue invalide n'a jamais pensé qu'il l'avait en premier lieu. Son logiciel aurait montré que la transaction passe de "non confirmée" à "Invalide". Si nécessaire, l'interface utilisateur peut être faite pour cacher les transactions jusqu'à ce qu'elles soient suffisamment profondes dans la chaîne de blocs.
De plus, votre description des événements implique des restrictions sur le timing et la génération de pièces - que l'ensemble du réseau génère des pièces lentement par rapport au temps nécessaire pour nouvelles d'une nouvelle pièce pour inonder le réseau.
Désolé si je ne l'ai pas dit clairement. Le temps cible entre les blocs sera probablement de 10 minutes.
Chaque bloc comprend son temps de création. Si le temps est décalé de plus de 36 heures, les autres nœuds ne travailleront pas dessus. Si la durée des 62430 derniers blocs est inférieure à 15 jours, les blocs sont générés trop rapidement et la difficulté de la preuve de travail double. Tout le monde fait le même calcul avec les mêmes données de la chaîne, de sorte qu'ils obtiennent tous le même résultat au même maillon dans la chaîne.
Nous voulons que les dépensiers soient sûrs que leur la transaction est valide au moment où il faut une dépense pour inonder le réseau, pas au moment où il faut pour que la branche les courses soient résolues.
La non-répudiabilité instantanée n'est pas une fonctionnalité, mais elle est toujours beaucoup plus rapide que les systèmes existants. Les chèques papier peuvent rebondir jusqu'à une semaine ou deux plus tard. Les transactions par carte de crédit peuvent être contestées jusqu'à 60 à 180 jours plus tard. Les transactions Bitcoin peuvent être suffisamment irréversibles en une heure ou deux.
Si un nœud ignore toutes les dépenses dont il ne s'en soucie pas, il ne subit aucune conséquence négative.
Avec le système d'incitation basé sur les frais de transaction que j'ai récemment publié, les nœuds seraient incités à inclure toutes les transactions payantes qu'ils reçoivent. »
Satoshi Nakamoto
James A. Donald a écrit :
« Il ne suffit pas que tout le monde connaisse X. Nous aussi avons besoin que tout le monde sache que tout le monde connaît X, et que tout le monde sait que tout le monde sait que tout le monde sait X - qui, comme dans le problème des généraux byzantins, est le problème difficile classique du traitement des données distribuées. »
« La chaîne de preuve de travail est une solution au problème des généraux byzantins. Je vais essayer de le reformuler dans ce contexte. Un certain nombre de généraux byzantins ont chacun un ordinateur et veulent attaquer le Wi-Fi du roi en forçant brutalement le mot de passe, qu'ils ont appris est d'un certain nombre de caractères. Une fois qu'ils ont stimulé le réseau pour générer un paquet, ils doivent déchiffrer le mot de passe dans un délai limité pour entrer par effraction et effacer les journaux, sinon ils seront découverts et auront des ennuis. Ils n'ont que suffisamment de puissance CPU pour le craquer assez rapidement si la majorité d'entre eux attaque en même temps. Ils ne se soucient pas particulièrement du moment de l'attaque, juste qu'ils sont tous d'accord. Il a été décidé que toute personne qui en a l'impression d'annoncer une heure, et quelle que soit l'heure entendue en premier sera l'heure officielle de l'attaque. Le problème est que le réseau n'est pas instantané, et si deux généraux annoncent des heures d'attaque différentes à peu près au même moment, certains peuvent entendre l'un en premier et d'autres entendre l'autre en premier. Ils utilisent une chaîne de preuve de travail pour résoudre le problème. Une fois que chaque général reçoit le temps d'attaque qu'il entend en premier, il configure son ordinateur pour résoudre un problème de preuve de travail extrêmement difficile qui inclut le temps d'attaque dans son hachage. La preuve de travail est si difficile qu'il faut 10 minutes pour qu'ils travaillent tous en même temps avant que l'un d'eux ne trouve une solution. Une fois que l'un des généraux trouve une preuve de travail, il la diffuse sur le réseau, et tout le monde change son calcul actuel de preuve de travail pour inclure cette preuve de travail dans le hachage sur lequel ils travaillent. Si quelqu'un travaillait sur un temps d'attaque différent, il passe à celui-ci, car sa chaîne de preuve de travail est maintenant plus longue.
Après deux heures, un temps d'attaque devrait être haché par une chaîne de 12 preuves de travail. Chaque général, simplement en vérifiant la difficulté de la chaîne de preuve de travail, peut estimer la quantité de puissance CPU parallèle par heure qui a été dépensée dessus et voir qu'il a dû exiger que la majorité des ordinateurs produise autant de preuves de travail dans le temps imparti. Ils ont tous dû le voir parce que la preuve de travail est la preuve qu'ils y ont travaillé. Si la puissance du processeur affichée par la chaîne de preuve de travail est suffisante pour déchiffrer le mot de passe, ils peuvent attaquer en toute sécurité à l'heure convenue.
La chaîne de preuve de travail est la façon dont tous les problèmes de synchronisation, de base de données distribuée et de vue globale que vous avez posés sont résolus. »
Satoshi Nakamoto
Hal Finney a écrit : « Je pense qu'il est nécessaire que les nœuds gardent une liste de transactions en attente associée à chaque chaîne de candidats. ... On pourrait aussi demander... combien de chaînes de candidats doivent suivre un nœud donné en même temps, en moyenne ? »
« Heureusement, il est seulement nécessaire de conserver un pool de transactions en attente pour la meilleure branche actuelle. Lorsqu'un nouveau bloc arrive pour la meilleure succursale, ConnectBlock supprime les transactions du bloc du pool pending-tx. Si une branche différente devient plus longue, elle appelle DisconnectBlock sur la branche principale jusqu'à la fourche, renvoyant les transactions de bloc au pool tx en attente, et appelle ConnectBlock sur la nouvelle branche, en sauvegeant toutes les transactions qui se se taient dans les deux branches. On s'attend à ce que des réorganisations comme celle-ci soient rares et superficielles.
Avec cette optimisation, les branches candidates ne sont pas vraiment un fardeau. Ils sont juste assis sur le disque et n'ont pas besoin d'attention à moins qu'ils ne deviennent la chaîne principale.
Ou comme James l'a soulevé plus tôt, si la diffusion du réseau est fiable mais dépend d'un algorithme d'inondation potentiellement lent , comment cela a-t-il un impact sur les performances ?
Les émissions seront probablement presque entièrement fiables. Les transmissions TCP sont rarement abandonnées de nos jours, et le protocole de diffusion dispose d'un mécanisme de réessai pour obtenir les données d'autres nœuds après un certain temps. Si les émissions s'avèrent plus lentes dans la pratique que prévu, le temps cible entre les blocs devra peut-être être augmenté pour éviter de gaspiller des ressources. Nous voulons que les blocs se propagent généralement en beaucoup moins de temps qu'il n'en faut pour les générer, sinon les nœuds passeraient trop de temps à travailler sur des blocs obsolètes.
Je prévois d'exécuter un test automatisé avec des ordinateurs qui s'envoient au hasard des paiements et déposent des paquets au hasard.
Le système bitcoin s'avère socialement utile et précieux, donc que les opérateurs de nœuds estiment qu'ils apportent une contribution bénéfique au monde par leurs efforts (similaire aux différents calculs "@Home", projets où les gens font du bénévolat avec leurs ressources informatiques pour de bonnes causes).
Dans ce cas, il me semble que le simple altruisme peut suffire à garder le réseau fonctionnant correctement.
C'est très attrayant pour le point de vue libertaire si nous pouvons l'expliquer correctement. Cependant, je suis meilleur avec le code qu'avec les mots. »
Satoshi Nakamoto