Annonce

Réduire
Aucune annonce.

l'inconnu qui a boulversé le monde des finances

Réduire
X
 
  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

  • l'inconnu qui a boulversé le monde des finances

    Un certain 31 Octobre 2008, un inconnu avec un nom japonais (Satoshi Nakamoto) écrit dans un forum américain '' Cryptography mailing List'' qu'il a la solution pour créer un système de paiement type ''client à client'' sans le besoin de passer par les banques ou toute autre institution financière.

    Satoshi Nakamoto:

    Subject: Bitcoin P2P e-cash paper
    I've been working on a new electronic cash system that's fully peer-to-peer, with no trusted third party.

    The paper is available at:


    The main properties:
    • Double-spending is prevented with a peer-to-peer network.
    • No mint or other trusted parties.
    • Participants can be anonymous.
    • New coins are made from Hashcash-style proof-of-work.
    • The proof-of-work for new coin generation also powers the network to prevent double-spending.

    Bitcoin: A Peer-to-Peer Electronic Cash System
    Satoshi Nakamoto
    http://www.bitcoin.org/bitcoin.pdf



    . James A. Donald — October 31 2008 (First Reply)
    We very, very much need such a system, but the way I understand your proposal, it does not seem to scale to the required size.

    For transferable proof of work tokens to have value, they must have monetary value. To have monetary value, they must be transferred within a very large network — for example, a file trading network akin to bittorrent.

    To detect and reject double spending in a distributed database without a central authority, each participant must know about all transactions. If every user is broadcasting every transaction to every user, that’s O(n²) messages for every transaction.

    Worse, as the size of the network grows, that quickly becomes unmanageable. How does your system handle that?


    Satoshi Nakamoto — November 2 2008 (Reply to James A. Donald)
    Long before the network gets anywhere near that size, it would be safe for users to use Simplified Payment Verification (SPV), to verify payments without running a full network node. They only need to keep a copy of the block headers of the longest proof-of-work chain, which they can get by querying network nodes until they’re convinced they have the longest chain, and obtain the Merkle branch linking the transaction to the block it’s timestamped in.

    They can’t check the transaction for themselves, but by linking it to a place in the chain, they can see that a network node has accepted it, and blocks added after it further confirm that the network has accepted it.

    The only way to confirm the absence of a transaction would be to be aware of all transactions. For that reason, full network nodes are still needed for merchants and banks, but lightweight clients could exist for most users.

    James A. Donald — November 3 2008 (Second Reply)
    OK, suppose every user is broadcasting every transaction. Each is sent once, on average, to every user. That’s still O(n²) bandwidth. Even if each node only keeps track of the latest few thousand transactions, it’s still enormous bandwidth. How do you avoid that?





    Satoshi Nakamoto — November 3 2008 (Second Reply)
    The bandwidth might not be as prohibitive as you think. Each transaction is only about 100 bytes. Each block is about 10 minutes worth of transactions. At 7 transactions per second worldwide, that’s ~10 MB per hour, or ~4.2 GB per year.

    Every user doesn’t need to broadcast to every other user. Broadcasts can reach most nodes with fan-out flooding. If one node has an average of 8 connections, that’s enough to reach most of the network within a few hops.

    The network does not have to be perfect; it just needs to outpace any attacker who tries to generate an alternate chain faster than the honest network.

    ​​

  • #2
    La traduction de la conversation entre Satochi Nakamoto et James Donald:

    1. Satoshi Nakamoto — 31 octobre 2008


    Objet : Bitcoin P2P e-cash paper
    Je travaille depuis quelque temps sur un nouveau système de monnaie électronique entièrement pair-à-pair, sans tiers de confiance.

    Le document est disponible ici :


    Les principales caractéristiques :
    • La double dépense est empêchée grâce à un réseau pair-à-pair.
    • Pas de banque centrale ou d’autorité de confiance.
    • Les participants peuvent rester anonymes.
    • De nouvelles pièces sont créées grâce à un mécanisme de preuve de travail (type Hashcash).
    • La preuve de travail servant à créer de nouvelles pièces permet également d’alimenter le réseau pour éviter les doubles dépenses.

    Bitcoin : Un système de monnaie électronique pair-à-pair
    Satoshi Nakamoto
    http://www.bitcoin.org/bitcoin.pdf

    2. James A. Donald — 31 octobre 2008 (première réponse)
    Nous avons vraiment, vraiment besoin d’un tel système, mais d’après ma compréhension de votre proposition, il ne semble pas pouvoir passer à l’échelle nécessaire.

    Pour que des jetons basés sur la preuve de travail soient échangeables et aient une valeur, ils doivent circuler dans un réseau très vaste — par exemple, un réseau d’échange de fichiers similaire à BitTorrent.

    Pour détecter et rejeter une double dépense dans une base de données distribuée sans autorité centrale, chaque participant doit connaître toutes les transactions.

    Si chaque utilisateur diffuse chaque transaction à tous les autres utilisateurs, cela fait O(n²) messages pour chaque transaction.

    Pire encore, à mesure que le réseau grandit, cela devient rapidement ingérable.

    Comment votre système gère-t-il cela ?

    3. Satoshi Nakamoto — 2 novembre 2008 (réponse à James A. Donald)
    Bien avant que le réseau n’atteigne une taille aussi grande, il sera sûr pour les utilisateurs d’utiliser une vérification simplifiée des paiements (SPV), pour vérifier les paiements sans faire tourner un nœud complet du réseau.

    Ils n’ont besoin de conserver qu’une copie des en-têtes de blocs de la plus longue chaîne de preuve de travail, qu’ils peuvent obtenir en interrogeant les nœuds du réseau jusqu’à être convaincus d’avoir la chaîne la plus longue, et en obtenant la branche de Merkle reliant la transaction au bloc dans lequel elle est horodatée.

    Ils ne peuvent pas vérifier eux-mêmes la transaction, mais en la reliant à un endroit dans la chaîne, ils peuvent voir qu’un nœud du réseau l’a acceptée, et que les blocs ajoutés après celui-ci renforcent cette confirmation.

    La seule façon de confirmer l’absence d’une transaction est d’être au courant de toutes les transactions.
    Pour cette raison, les nœuds complets resteront nécessaires pour les commerçants et les banques, mais des clients légers pourront exister pour la majorité des utilisateurs.

    4. James A. Donald — 3 novembre 2008 (deuxième réponse)
    D’accord, supposons que chaque utilisateur diffuse chaque transaction.
    Chacune est envoyée une fois, en moyenne, à chaque utilisateur.
    C’est toujours un trafic O(n²).
    Même si chaque nœud ne garde en mémoire que les quelques milliers de transactions les plus récentes, cela représente encore une bande passante énorme.

    Comment évitez-vous cela ?

    5. Satoshi Nakamoto — 3 novembre 2008 (seconde réponse)
    La bande passante n’est peut-être pas aussi prohibitive que vous le pensez.
    Chaque transaction ne fait qu’environ 100 octets.
    Chaque bloc regroupe environ 10 minutes de transactions.
    À raison de 7 transactions par seconde dans le monde entier, cela représente environ 10 Mo par heure, soit environ 4,2 Go par an.

    Chaque utilisateur n’a pas besoin de diffuser à tous les autres.
    Les diffusions peuvent atteindre la majorité des nœuds par propagation en éventail (fan-out flooding).
    Si un nœud a en moyenne 8 connexions, cela suffit à atteindre la plupart du réseau en quelques sauts.

    Le réseau n’a pas besoin d’être parfait ; il lui suffit d’être plus rapide que tout attaquant essayant de générer une chaîne alternative plus vite que le réseau honnête.

    Commentaire

    Chargement...
    X