Bitcoin open source implementazione di una valuta P2P

Pubblicato da sanjjko ‐ 10 min di lettura

2009-02-11 22:27:00 UTC - Email originale


Ho sviluppato un nuovo sistema open source P2P e-cash chiamato Bitcoin. È completamente decentralizzato, senza nessun server centrale o parti fidate, perché tutto si basa su una prova crittografica invece che sulla fiducia. Provatelo, o date un’occhiata agli screenshots e al documento di progettazione:

Scarica Bitcoin v0.1 su http://www.bitcoin.org

Il problema alla base della moneta convenzionale è tutta la fiducia necessaria per farla funzionare. Dobbiamo fidarci della banca centrale e del fatto che non svaluti la moneta stessa, infrazione avvenuta spesso nella storia della valuta fiat. Per tenere i nostri soldi e trasferirli elettronicamente dobbiamo fidarci delle banche, ma quest’ultime li prestano ad ondate di bolle creditizie con a malapena una frazione a riserva. Dobbiamo affidare la nostra privacy alle banche, fidarsi che non permettano a ladri di identità di svuotare i nostri conti correnti. Gli enormi costi di overhead rendono i micropagamenti impossibili.

Una generazione fa, i sistemi informatici multi-utente di condivisione del tempo avevano un problema simile. Prima di una forte crittografia, gli utenti dovevano affidarsi alla protezione con password per proteggere i propri file, riponendo fiducia nell’amministratore del sistema per mantenere private le loro informazioni. La riservatezza poteva sempre essere annullata dall’amministratore in base al suo giudizio di ponderare il principio di privacy contro altre preoccupazioni, o per ordine dei suoi superiori. Poi la forte crittografia è diventata disponibile per il pubblico, e non è stato più necessario fidarsi. I dati avrebbero potuto essere protetti in modo che fosse fisicamente impossibile accedervi, per qualsiasi motivo, per quanto fosse buona la scusa, non importa.

È il momento di fare la stessa cosa per il denaro. Con le monete elettroniche, basate su un sistema di prova crittografica, senza la necessità di porre fiducia in un terzo intermediario, il denaro può essere al sicuro e le transazioni possono avvenire senza alcuno sforzo.

Uno degli aspetti fondamentali per un sistema di questo tipo è la firma digitale. Una moneta digitale contiene la chiave pubblica del suo proprietario. Per poterla trasferire, il proprietario deve firmare la moneta insieme alla chiave pubblica del proprietario successivo. Chiunque può controllare le firme per verificare la sequenza di proprietà. Funziona bene per garantire la proprietà, ma lascia irrisolto un grosso problema: la doppia spesa. Qualsiasi proprietario potrebbe cercare di spendere nuovamente una moneta già spesa firmandola di nuovo per un altro possessore. La soluzione abituale è che un’azienda fidata con un database centrale verifichi la presenza di doppie spese, ma con questo si ritorna al modello di fiducia. Nella sua posizione centrale, l’azienda può scavalcare gli utenti, e le commissioni necessarie per sostenere l’azienda renderebbero i micropagamenti impraticabili.

La soluzione di Bitcoin consiste nell’utilizzo di una rete peer-to-peer per controllare la doppia spesa. In breve, la rete funziona come un server distribuito di timestamp, registrando la prima transazione che spende una moneta. Il sistema sfrutta la natura delle informazioni, facili da diffondere ma difficili da bloccare. Per i dettagli sul funzionamento, si veda il documento di progettazione all’indirizzo http://www.bitcoin.org/bitcoin.pdf

Il risultato è un sistema distribuito senza un singolo punto di fallimento. Gli utenti detengono le chiavi crittografiche del proprio denaro ed effettuano transazioni direttamente tra di loro, con l’aiuto di una rete P2P per controllare l’assenza della doppia spesa.

Satoshi Nakamoto
http://www.bitcoin.org




Risposta da Sepp Hasslberger:

Bella roba.

Questa è la prima vera innovazione in ambito monetario da quando la banca d’Inghilterra ha iniziato ad emettere le sue cambiali per l’oro nei caveau, che poi sono diventate note come banconote.

Credo che una moneta open source abbia un grande potenziale. Un po’ come Google che è diventato il principale motore di ricerca per molti di noi.


Risposta da Satoshi Nakamoto

Risposta da Sepp Hasslberger:
Dante, in una mail, ha menzionato un progetto britannico chiamato Open Coin. Sembra andare in una direzione simile.

Potrebbero esserci sinergie con bitcoin?

http://opencoin.org/
Potrebbe essere. Stanno parlando della vecchia zecca centrale di Chaum, ma forse solo perché era l’unica cosa disponibile. Forse sarebbero interessati ad andare verso una nuova direzione.

Molte persone considerano automaticamente le monete elettroniche come una causa persa perché tutte le aziende hanno fallito a partire dagli anni ’90. Spero sia evidente che sia stata solo la natura centralizzata di quei sistemi a condannarli. Credo che questa sia la prima volta in cui proviamo un sistema decentralizzato, non basato sulla fiducia.


Risposta da Joerg Baach:
Ciao Satoshi,

in realtà stiamo parlando davvero del vecchio sistema centrale di Chaum. Questo perché a) c’era b) era libero da brevetti (dobbiamo pensare un po’ agli Stati Uniti). Ho letto il tuo articolo nel fine settimana – grazie mille per questo lavoro. Una lettura interessante.

Quello che non ho capito del tuo sistema – come lo useresti per una valuta di qualsiasi tipo? Per quanto ho capito ognuno può creare una moneta a suo piacimento, quindi non c’è un’offerta affidabile di token/monete.
O al contrario: se non ci si fida del database della doppia spesa, perché è un’stanza centrale, sicuramente non ci si può fidare di un emittente centrare che emette e riscatta. Come funzionerebbe altrimenti una moneta? La useresti per un sistema di credito reciproco in cui le transazioni vengono mostrare online?

Saluti,

Joerg


Risposta da Satoshi Nakamoto:

Risposta da Sepp Hasslberger:
Ho due domande, Satoshi.

La prima si collega ai dubbi di Joerg sull’offerta affidabile di token/monete.

Per quanto ho capito, ci sarà un limite alla quantità totale di token che possono essere creati, e un gradiente variabile di difficoltà nella creazione dei token, dove l’elaborazione diventa sempre più difficile con il tempo. È corretto?

È importante che ci sia un limite alla quantità di token/monete. Ma è anche importante che questo limite sia regolabile per tenere conto di quante persone adottano il sistema. Se il numero di utenti cambia nel tempo, sarà necessario modificare anche la quantità totale di monete.

Esiste una formula per decidere quale debba essere la quantità totale di token e, se sì, qual è la formula?

Se non esiste una formula, a chi spetta la decisione e in base a quali criteri verrà presa?

La seconda domanda la terrò per dopo. Una cosa alla volta...
Si tratta di un database distribuito a livello globale, con aggiunte al database per consenso della maggioranza, basate su una serie di regole che seguono:

 - Ogni volta che qualcuno trova la proof-of-work per generare un blocco, riceve nuove monete
 - La difficoltà della proof-of-work viene regolata ogni due settimane per raggiungere una media di 6 blocchi all’ora (per l’intera rete)
 - Le monete assegnate per blocco vengono dimezzate ogni 4 anni

Si potrebbe dire che le monete vengono rilasciate dalla maggioranza. Vengono emesse in una quantità limitata e predeterminata.

Ad esempio, se ci sono 1000 nodi, e ricevono 6 monete ciascuno ogni ora, potrebbe essere necessaria una settimana prima che tu riesca ad ottenere qualcosa.

Per rispondere alla domanda di Sepp, in effetti non c’è nessuno che agisce come banca centrale o riserva federale che regoli l’offerta della moneta al crescere della popolazione di utenti. Questo avrebbe richiesto una parte fidata per determinare il valore, perché non conoscono un modo per far sì che un software possa conoscere il valore reale delle cose. Se ci fosse stato un modo intelligente, o se avessimo voluto affidare a qualcuno la gestione attiva dell’offerta di moneta per ancorarla a qualcosa, le regole avrebbero potuto essere programmate per quello.

In questo senso, è più caratteristico di un metallo prezioso. Invece di cambiare l’offerta per mantenere il valore invariato, l’offerta è predeterminata e il valore cambia. Con l’aumento del numero di utenti, il valore della moneta aumenta. Questo ha il potenziale per un ciclo di feedback positivo; con l’aumento degli utenti, il valore sale, il che potrebbe attirare più utenti per trarre vantaggio dall’aumento di valore.


Risposta da Jess Hasslberger:
Quindi, in altre parole, "chi primo arriva meglio alloggia" in questo sistema.

Questo significherebbe che - prima qualcuno entra nel sistema bitcoin creando un nodo, più possibilità ha di essere fortunato e di essere in grado di generare monete. Nulla in contrario a questo, anzi, potrebbe servire a promuovere l'adozione del sistema.

Tuttavia, dovrebbe esserci anche un metodo per regolare il numero totale di monete esistenti. Proporrei di collegare il numero totale di monete al numero di nodi attivi.

In questo modo, si hanno due parametri che mantengono l’equilibrio. Uno è l’halving del numero di monete generate per blocco, l'altro è una regolazione continua (o periodica?) del totale di monete al numero di utenti attivi. Questo dovrebbe autobilanciare il sistema.

Il motivo per cui l'equilibrio del sistema è importante è che, se deve essere usato per i pagamenti, non si vogliono avere grandi cambiamenti nel valore delle monete. Questo porterebbe a distorsioni, credo, aumentando continuamente il "potere d'acquisto" di una singola moneta.

La stabilità del valore delle monete è auspicabile per un utilizzo a lungo termine.


Risposta da Russ Nelson:
Ai tempi di Isaac Newton la zecca di Londra non era in grado di produrre abbastanza monete di piccolo taglio. I minatori privati sono intervenuti. Se bitcoin non è in grado di produrre abbastanza monete e abbastanza piccole in modo che le persone possano commerciare al valore che vogliono, allora sarà sostituito da qualcosa che può farlo.


Risposta da Jost Reinert:
Un progetto piuttosto interessante. Sono il curatore di una micro-valuta in Germania chiamata Rheingold.

Si basa sul denaro contante. Pertanto il problema della "fiducia" non è risolto. Tuttavia, non abbiamo una banca centrale che fornisce denaro come credito, ma qui, ogni singolo emittente del proprio denaro lo stampa da sé. Quindi Rheingold è un gruppo di molte banche decentralizzate. Pertanto, il signoraggio viene guadagnato da tutti.

E il nostro denaro è privo di debiti.


Mi piacerebbe promuovere il tuo progetto sul nostro blog http://rheingoldblog.wordpress.com. Forse potresti anche diventare tu stesso un Rheingolder con il tuo conto. Poiché fingiamo di essere un progetto artistico, in futuro l'intero progetto sarà esposto in un museo. Abbiamo già più di 1.000 membri, soprattutto in Germania. Il nostro sito web http://www.rheingoldregio.de

Qualche idea per una collaborazione?


Risposta da Russ Nelson:

Risposta da Robert Searle:
Per quanto posso capire si tratta di un'altra forma glorificata di LETS, o CC in forma elettronica, naturalmente. La domanda è questa. In che modo questo aiuterà a cambiare i grandi problemi del nostro mondo, come il riscaldamento globale, la sicurezza alimentare, la popolazione e così via? Alla fine, questo è ciò che conta davvero. Inoltre, che ci piaccia o no, prima o poi dovremo avere a che fare con i "grandi" (cioè governi, aziende, banche, ecc.).

Naturalmente, se la maggior parte delle persone accettasse una nuova moneta decentralizzata "inventata" (senza banche e banchieri), allora avremmo qualcosa di serio di cui discutere!!! Per quanto mi riguarda, le energie sarebbero meglio spese per migliorare il mio progetto noto come Transfinancial Economics.
No, niente di simile ai LETS. Il LETS è un sistema di scritture contabili e l'importo totale della valuta è sempre zero. Quando emetti un credito a qualcuno che ha fatto qualcosa per te, ricevi un addebito. Il problema di un LETS è che si può uscire da un conto in negativo. Questo funziona per inflazionare la moneta: ci sono più persone che hanno crediti e vogliono qualcosa, di quante ce ne siano che fanno o vendono qualcosa in cambio di crediti.

Il LETS è stato inventato da qualcuno che non capisce il denaro e promulgato da altre persone che non lo capiscono.


Risposta da Michel Bauwens:

Caro Satoshi,

Potresti proporre un testo per il nostro blog p2p, con eventuali risposte alle domande principali qui riportate? Il nostro blog standard ha molti più lettori (circa 10 volte) rispetto al blog della community Ning,

Michel


Risposta da Satoshi Nakamoto:

Io non sono Dorian Nakamoto.