Pages:
Author

Topic: Scalabilità bitcoin e "troncatura della blockchain" domanda per esperti! - page 2. (Read 7068 times)

legendary
Activity: 2506
Merit: 1120
Ma non si diceva che uno degli aspetti più interessanti della blockchain era anche la possibilità di registrare "per sempre" delle informazioni?
 
Eh, in effetti, non ci avevo pensato ... la moglie ubriaca e la botte piena è chiedere troppo ...
legendary
Activity: 1932
Merit: 2077
...
 è possibile cancellare dalla blockchain le informazioni ormai obsolete?
...
A "naso" direi che si potrebbe generare un nuovo genesis block che contiene tutti i saldi degli indirizzi attivi e forzare i client ad accettare tale blocco come nuovo genesis e quindi ripartire con una chain nuova.
Non so però quanto potrebbe essere grosso questo blocco e non credo sia previsto dal protocollo quindi ci vorrebbe un bel fork.
Credo che ethereal abbia fatto una cosa simile allo start-up ... ma probabilmente erano molti meno gli indirizzi attivi.
Forse gbianchi e' in grado di stimare la dimensione di un tale blocco.

Al momento l'UTXO è sopra 1 GB  --> http://statoshi.info/dashboard/db/unspent-transaction-output-set

e a occhio dovrebbe contenere le informazioni minime necessarie per conoscere lo stato attuale della distribuzione dei saldi diversi da 0.
Ma non si diceva che uno degli aspetti più interessanti della blockchain era anche la possibilità di registrare "per sempre" delle informazioni?
Un conto è consentire il pruning, un altro è forzare tutti a tagliare.

 
legendary
Activity: 2506
Merit: 1120
...
 è possibile cancellare dalla blockchain le informazioni ormai obsolete?
...
A "naso" direi che si potrebbe generare un nuovo genesis block che contiene tutti i saldi degli indirizzi attivi e forzare i client ad accettare tale blocco come nuovo genesis e quindi ripartire con una chain nuova.
Non so però quanto potrebbe essere grosso questo blocco e non credo sia previsto dal protocollo quindi ci vorrebbe un bel fork.
Credo che ethereal abbia fatto una cosa simile allo start-up ... ma probabilmente erano molti meno gli indirizzi attivi.
Forse gbianchi e' in grado di stimare la dimensione di un tale blocco.
legendary
Activity: 1932
Merit: 2077
Buonasera a tutti,

scusate se mi intrometto in questa discussione molto tecnica e assai interessante.
Sono nuovo del forum...non credo che a nessuno interessi il mio nome proprio, quindi mi presento con il mio nick: Absolute Beginner. Dal nick avete già capito che sono ignorante come una bestia, quindi vi chiedo di perdonare eventuali strafalcioni.

Ho riflettuto molto sulla natura della blockchain e vorrei chiedere a voi esperti, tornando all'argomento principale del thread: è possibile cancellare dalla blockchain le informazioni ormai obsolete?

La blockchain serve a tenere traccia delle transazioni, giusto? Ma a cosa serve sapere che un determinato bitcoin è appartenuto al signor Mario Rossi se nel frattempo sono passati anni, il bitcoin in questione ha cambiato decine di proprietari e Mario Rossi possiede un saldo pari a zero su quello specifico indirizzo?

La mia logica mi spinge a credere che basterebbe un programmino, distribuito a tutti i nodi, che con una precisa cadenza (ad esempio annuale), analizzi tutti i blocchi più vecchi di una certa data eliminando tutti i "rami secchi", transazioni antiche che hanno lasciato indirizzi con saldo pari a zero, magari seppellite da decine di transazioni successive. Automaticamente tutte le blockchain del mondo verrebbero alleggerite restando comunque tutte perfettamente uguali, conservando solo le informazioni attualmente utili.

Dove sbaglio?

La possibilità di tagliare i blocchi molto vecchi della blockchain c'è già dalla versione 0.11.0 di Bitcoin Core (opzione pruning).

Il problema di base però è:  quando un nuovo peer si collega alla rete, come fa a conoscere la distribuzione attuale dei bitcoin? (ovvero: quali sono gli indirizzi a saldo diverso da zero? dove sono allocati i bitcoin prodotti finora? esplicitamente questo non c'è scritto da nessuna parte!)

Il concetto che sta alla base di questo sistema è che ciascuno deve essere messo nella condizione di poter verificare di persona la validità dei pagamenti che riceve, e se io voglio verificare la validità di un pagamento che ricevo adesso devo sapere se l'indirizzo che mi ha inviato i btc possedeva effettivamente quei btc al momento dell'invio.  

Per fare questa verifica in modo sicuro ho un solo modo: almeno una volta nella vita devo scaricare tutta la blockchain, ricostruendo sin dal primo blocco la storia dei passaggi di proprietà di tutti i btc. In tal modo potrò ricostruire la distribuzione attuale dei saldi degli indirizzi (ho un po' semplificato); se invece non faccio la ricostruzione personalmente dovrò fidarmi della ricostruzione fatta da qualcun altro (e questo è un male, soprattutto se lo fanno tantissime persone).

Con l'opzione pruning, man mano che arrivano nuovi blocchi posso eliminare dal mio hard disk i blocchi più vecchi per risparmiare spazio; questo è possibile dal momento che mi tengo (oltre ai blocchi delle transazioni) sempre un database, che mi sono costruito e aggiorno dinamicamente, in cui registro la distribuzione dei saldi diversi da 0 degli indirizzi (tecnicamente si chiama UTXO, insieme degli output non spesi delle transazioni).

Quindi per rispondere alla tua domanda, è possibile eliminare i blocchi molto vecchi ma:

1) solo dopo aver almeno una volta scaricato tutti i blocchi, a partire dal numero 1, in modo da poter conoscere con sicurezza dove stanno tutti i saldi diversi da 0

2) se tutti attivassero l'opzione pruning, quando un nuovo nodo entra nella rete (oppure a un vecchio nodo si rompe l'hard disk) come fa questo a controllare tutta la blockchain? Da chi scarica i blocchi più vecchi se tutti li hanno eliminati dal loro pc? Ricorda che tutti devono essere messi nella condizione di poter verificare in maniera autonoma la validità dei pagamenti ricostruendo la distribuzione dei saldi (per conoscere la quale bisogna studiare tutta la storia passata delle transazioni).

Il sistema Bitcoin è un sistema "trustless", ovvero non c'è bisogno di fiducia (è affidabile proprio perchè ciascuno può non fidarsi degli altri e fare da sè il lavoro di controllo e verifica delle transazioni e dei blocchi). Quindi non è possibile tagliare i blocchi più vecchi in modo definitivo, sarebbe come dire che tutti quelli che non hanno avuto l'opportunità di controllare la blockchain in passato non ce l'avranno mai più e dovranno fidarsi almeno un po' di chi invece ha potuto effettuare questo controllo in prima persona.
legendary
Activity: 1260
Merit: 1003
Buonasera a tutti,

scusate se mi intrometto in questa discussione molto tecnica e assai interessante.
Sono nuovo del forum...non credo che a nessuno interessi il mio nome proprio, quindi mi presento con il mio nick: Absolute Beginner. Dal nick avete già capito che sono ignorante come una bestia, quindi vi chiedo di perdonare eventuali strafalcioni.

Ho riflettuto molto sulla natura della blockchain e vorrei chiedere a voi esperti, tornando all'argomento principale del thread: è possibile cancellare dalla blockchain le informazioni ormai obsolete?

La blockchain serve a tenere traccia delle transazioni, giusto? Ma a cosa serve sapere che un determinato bitcoin è appartenuto al signor Mario Rossi se nel frattempo sono passati anni, il bitcoin in questione ha cambiato decine di proprietari e Mario Rossi possiede un saldo pari a zero su quello specifico indirizzo?

La mia logica mi spinge a credere che basterebbe un programmino, distribuito a tutti i nodi, che con una precisa cadenza (ad esempio annuale), analizzi tutti i blocchi più vecchi di una certa data eliminando tutti i "rami secchi", transazioni antiche che hanno lasciato indirizzi con saldo pari a zero, magari seppellite da decine di transazioni successive. Automaticamente tutte le blockchain del mondo verrebbero alleggerite restando comunque tutte perfettamente uguali, conservando solo le informazioni attualmente utili.

Dove sbaglio?

A.B.

PS: Lo so che Bitcoin ha ben altri problemi che le dimensioni della blockchain, ma anche una blockchain che "ingrassa" all'infinito non credo sia totalmente irrilevante.

Quotando me stesso:

Se tronco la Blockchain di Bitcoin posso spendere i bitcoin che non sono più visibili.

Questa operazione si chiama "double-spend".
https://bitcoin.org/en/glossary/double-spend

...omissis...

Per essere una moneta bitcoin ha bisogno di non essere passibile di double spend.


Un bitcoin è una chiave privata che identifica una transazione: se non ho memoria che quella transazione sia mai avvenuta posso ricreare quella transazione, perchè nessun nodo si ricorda della sua esistenza, di fatto spendendo gli stessi bitcoin 2 volte (da qui la definizione di "double-spend").

Per questo motivo non è possibile troncare la Blockchain.

Per qualsiasi dubbio o informazione non si faccia problemi a chiedere.


Cordiali saluti.
newbie
Activity: 13
Merit: 0
Buonasera a tutti,

scusate se mi intrometto in questa discussione molto tecnica e assai interessante.
Sono nuovo del forum...non credo che a nessuno interessi il mio nome proprio, quindi mi presento con il mio nick: Absolute Beginner. Dal nick avete già capito che sono ignorante come una bestia, quindi vi chiedo di perdonare eventuali strafalcioni.

Ho riflettuto molto sulla natura della blockchain e vorrei chiedere a voi esperti, tornando all'argomento principale del thread: è possibile cancellare dalla blockchain le informazioni ormai obsolete?

La blockchain serve a tenere traccia delle transazioni, giusto? Ma a cosa serve sapere che un determinato bitcoin è appartenuto al signor Mario Rossi se nel frattempo sono passati anni, il bitcoin in questione ha cambiato decine di proprietari e Mario Rossi possiede un saldo pari a zero su quello specifico indirizzo?

La mia logica mi spinge a credere che basterebbe un programmino, distribuito a tutti i nodi, che con una precisa cadenza (ad esempio annuale), analizzi tutti i blocchi più vecchi di una certa data eliminando tutti i "rami secchi", transazioni antiche che hanno lasciato indirizzi con saldo pari a zero, magari seppellite da decine di transazioni successive. Automaticamente tutte le blockchain del mondo verrebbero alleggerite restando comunque tutte perfettamente uguali, conservando solo le informazioni attualmente utili.

Dove sbaglio?

A.B.

PS: Lo so che Bitcoin ha ben altri problemi che le dimensioni della blockchain, ma anche una blockchain che "ingrassa" all'infinito non credo sia totalmente irrilevante.
legendary
Activity: 1932
Merit: 2077
Lasciare invece così com'è e far decidere ai singoli se tenere un full node oppure utilizzare la funzione "pruned" (che già si può fare)?

Sicuramente meglio "pruned" che niente!

Alla funzione di propagazione delle transazioni non avevo pensato ma non mi pare aumenti la sicurezza, piuttosto l'usabilità e le funzionalità migliorano ma la sicurezza dipende ancora solo dal miner (almeno per come lo interpreto, spero di ricredermi), in ogni caso con miner intendo un full node che plasma le transazioni non un miner "stupido" che fa solo sha. Quindi preferirei una rete con 1000 miner e 20 full node che 20 miner e basta ... 20 miner sarebbe tutto in mano a questi 20 figuri. Da paura!
Altro ruolo indispensabile dei full node e' sicuramente la diffusione dei blocchi p2p che è importante sia per chi entra o e' rimasto indietro che per chi deve dare dei servizi ma di nuovo non riesco a vedere l'aumento della sicurezza e la determinazione della storia ... come nella realtà la storia la fa chi vince gli altri son fork sterili.

La sicurezza del sistema si basa sul fatto che le transazioni che arrivano ai miner e i blocchi successivamente formati a partire da essi e reimmessi nella rete siano controllati, verificati e accettati dal maggior numero di full node possibili.

Se ci fossero anche solo 20 miner (e ti dirò che se hai letto l'articolo di Mike Hearn probabilmente siamo già in una situazione del genere) ma oltre ad essi ci fossero diverse migliaia di full node, nessun miner potrebbe imbrogliare, poichè la stragrande maggioranza della rete, avendo tutta la blockchain a disposizione, bloccherebbe sul nascere qualsiasi tentativo di double spending o qualunque altra violazione del protocollo bitcoin.

In una rete a forte prevalenza di full node il "potere" è concentrato nei nodi a scapito dei minatori, a riguardo ecco un articolo di HostFat  http://www.rischiocalcolato.it/2015/07/bitcoin-oirgini-crisi-transazioni.html :

Quote
Le regole del network sono imposte dai nodi, che hanno costi inferiori a quelli dei minatori. Il costo di installazione e gestione dei nodi è proporzionale all’uso che ha il mercato, se il mercato è piccolo, il costo di gestione di questi singoli nodi sarà ancora più basso, viceversa se il mercato si amplia indefinitivamente, può andare ad alzarsi.

Il minatore, che deve sottostare alle regole dei nodi, è un “umile” (ormai si fa per dire) servitore, che rispetta queste regole e in base ad esse emette il blocco, puntando sul fatto che tale venga accettato dalla totalità del network, o comunque da quella maggioranza del network che “da valore ai bitcoin che è andato a creare”.

E’ l’ultima ruota del carro, il suo potere decisionale è molto limitato, ed è del tutto focalizzato nel accontentare il volere del mercato, del cliente … visto che tale è ciò che va a dare valore al premio che riceve.
legendary
Activity: 1255
Merit: 1004
pool.sexy
Lasciare invece così com'è e far decidere ai singoli se tenere un full node oppure utilizzare la funzione "pruned" (che già si può fare)?
legendary
Activity: 2506
Merit: 1120
... mi pare strano che ci sia ancora qualche miner casalingo che fa un lavoro significativo.

Un full node che osserva il traffico mi pare inutile ai fini della sicurezza ... servono se ci fai dei servizi sopra e hai bisogno di conoscere le transazioni.

Non sono d'accordo. Sono i full node che filtrano le transazioni, le propagano fino ai miner e che in seguito controllano i blocchi e li propagano determinando quindi la blockchain. Chiaro che il lavoro dei miner è indispensabile, ma meno sono i full node, meno sicura è la rete.
Un sistema con 10 grossi miner e 5000 full node sarebbe sempre più sicuro di un sistema con 1000 miner e 20 full node.
Alla funzione di propagazione delle transazioni non avevo pensato ma non mi pare aumenti la sicurezza, piuttosto l'usabilità e le funzionalità migliorano ma la sicurezza dipende ancora solo dal miner (almeno per come lo interpreto, spero di ricredermi), in ogni caso con miner intendo un full node che plasma le transazioni non un miner "stupido" che fa solo sha. Quindi preferirei una rete con 1000 miner e 20 full node che 20 miner e basta ... 20 miner sarebbe tutto in mano a questi 20 figuri. Da paura!
Altro ruolo indispensabile dei full node e' sicuramente la diffusione dei blocchi p2p che è importante sia per chi entra o e' rimasto indietro che per chi deve dare dei servizi ma di nuovo non riesco a vedere l'aumento della sicurezza e la determinazione della storia ... come nella realtà la storia la fa chi vince gli altri son fork sterili.
legendary
Activity: 1932
Merit: 2077
... mi pare strano che ci sia ancora qualche miner casalingo che fa un lavoro significativo.

Un full node che osserva il traffico mi pare inutile ai fini della sicurezza ... servono se ci fai dei servizi sopra e hai bisogno di conoscere le transazioni.

Non sono d'accordo. Sono i full node che filtrano le transazioni, le propagano fino ai miner e che in seguito controllano i blocchi e li propagano determinando quindi la blockchain. Chiaro che il lavoro dei miner è indispensabile, ma meno sono i full node, meno sicura è la rete.
Un sistema con 10 grossi miner e 5000 full node sarebbe sempre più sicuro di un sistema con 1000 miner e 20 full node.
legendary
Activity: 2506
Merit: 1120
...

Inoltre chi comanda sono i miner e non hanno interesse a venire estromessi.
Pensavo che a comandare fossero i full node, non i miner. Sono loro alla fine che "animano" la rete, facendovi circolare le transazioni corrette e riconoscendo o meno la validità dei vari blocchi (e stabilendo qual è la blockchain corretta).


Diciamo che sono le mining pool, non seguo l'andamento ma a pensarci mi pare strano che ci sia ancora qualche miner casalingo che fa un lavoro significativo. Mi immagino qualche "edificio" con svariati miner ...

Se vengono spenti ci lasciano a difficoltà abissali che per tornare a minare 10 minuti ci vorranno anni ... e poi saremmo a rischio di attacco double spending.
Consola il fatto che nessuno puo' impedire a qualcuno di iniziare a minare. ...
Un full node che osserva il traffico mi pare inutile ai fini della sicurezza ... servono se ci fai dei servizi sopra e hai bisogno di conoscere le transazioni.
legendary
Activity: 1932
Merit: 2077
Da qualche parte ho letto che bitcoin ha la pow e se si cambia non si chiamano piu' bitcoin... ossia bitcoin2 o altro. Se non si riesce a modificare per accettare blocchi piu' grossi dubito si riesca a fare una modifica cosi' sostanziale.
...
Nel bene e nel male mi sa che è una strada difficilmente percorribile a meno di un fork della chain.

Sì, ovviamente si tratterebbe di un hard fork (retrocompatibile con il passato, basta porre pesoA = 1 e pesoB = 0 per i blocchi vecchi)


Inoltre chi comanda sono i miner e non hanno interesse a venire estromessi.
Pensavo che a comandare fossero i full node, non i miner. Sono loro alla fine che "animano" la rete, facendovi circolare le transazioni corrette e riconoscendo o meno la validità dei vari blocchi (e stabilendo qual è la blockchain corretta).

legendary
Activity: 2506
Merit: 1120
Mi è tornata in mente questa discussione
https://bitcointalksearch.org/topic/m.10783703
con picchio su come modificare il mining per rendere il sistema più decentralizzato.

L'idea di base è quella di affiancare alla soglia A classica sotto la quale deve stare l'hash del blocco da minare un'altra soglia B legata ai singoli indirizzi.

...
Da notare infine che mentre la soglia complessiva rimane un dato puramente tecnico (che si autoaggiusta per ottenere i 10 minuti di media), i pesi A e B sono invece un dato più "politico" (quanto peso dare alla proof of work rispetto alla proof of stake e viceversa)

Che ne pensate?
Da qualche parte ho letto che bitcoin ha la pow e se si cambia non si chiamano piu' bitcoin... ossia bitcoin2 o altro. Se non si riesce a modificare per accettare blocchi piu' grossi dubito si riesca a fare una modifica cosi' sostanziale. Inoltre chi comanda sono i miner e non hanno interesse a venire estromessi.
Nel bene e nel male mi sa che è una strada difficilmente percorribile a meno di un fork della chain.
legendary
Activity: 1932
Merit: 2077
Mi è tornata in mente questa discussione
https://bitcointalksearch.org/topic/m.10783703
con picchio su come modificare il mining per rendere il sistema più decentralizzato.

L'idea di base è quella di affiancare alla soglia A classica sotto la quale deve stare l'hash del blocco da minare un'altra soglia B legata ai singoli indirizzi.

Modificare un blocco in modo che il suo hash sia sotto una certa soglia A è il task attuale che favorisce solo la potenza computazionale dei miner più attrezzati e quindi favorisce decisamente l'accentramento.

Per bilanciare questa propensione all'accentramento è necessario aggiungere una misura legata ai singoli indirizzi che distribuisca la probabilità tra i nodi della rete, diminuendo il vantaggio competitivo dei miner più grossi senza per questo rendere facile per un singolo nodo minare più blocchi consecutivi (senza intaccare insomma la sicurezza del sistema, sicurezza che si basa sul fatto che il singolo nodo è sempre più debole del resto della rete e quindi non la può ingannare, se non per un lasso di tempo brevissimo).

Quindi aggiungerei una misura di questo tipo:

la differenza tra l'indirizzo (al quale andrebbe la ricompensa nel caso il blocco fosse minato) e l'indirizzo generato dalla chiave privata costituita dall'hash del blocco precedente deve essere sotto un'altra soglia B.

Riassumendo:

soglia finale = soglia A + soglia B

Ovviamente la formula va ulteriormente perfezionata, introducendo dei pesi opportuni

soglia finale = pesoA * sogliaA + pesoB * sogliaB

Alcune osservazioni:

- aumentando il pesoB, la probabilità che un singolo nodo anche poco dotato computazionalmente possa vincere nella gara per minare il blocco aumenta (potendosi permettere una sogliaA computazionale più alta e quindi più facile da raggiungere, a patto naturalmente di avere un buon indirizzo con cui competere, una buona carta insomma con cui giocarsi la mano)

- l'indirizzo da inserire nella coinbase deve avere un output non speso da almeno x blocchi  (in sostanza ricevere una transazione bitcoin vorrebbe dire ottenere un invito a partecipare al processo di mining, spendere quel UTXO significherebbe cedere quell'invito a qualcun altro); per ovviare al fatto che un grosso miner produca una infinità di indirizzi su cui distribuire i propri bitcoin solo per aumentare le sue chance di vittoria, si potrebbe tenere conto dei bitcoin-day relativi all'UTXO, cioè anche di quanti bitcoin sono posseduti da quell'indirizzo, non solo dall'età

- nel momento in cui parte la gara per minare un nuovo blocco, anche i miner più grossi saranno limitati dal fatto di avere o meno un indirizzo che garantisca un basso valore della sogliaB (indirizzo che non può essere individuato in anticipo); qualora non avesse un "buon" indirizzo di partenza, sarebbe poi difficile per lui vincere la gara chiedendo aiuto all'esterno (la potenza computazionale la puoi anche chiedere all'esterno come si fa con le pool, ma l'indirizzo su cui riversare la ricompensa intera del blocco no; sarebbe anche rischiosa la pratica di comprare un "buon" indirizzo all'esterno, sia per questioni di tempistica, sia perchè se compri un indirizzo non puoi mai avere la sicurezza che il venditore abbia distrutto la chiave privata relativa)
 
- per quanto riguarda il valore complessivo della soglia, il sistema continuerebbe ad aggiornare quel valore dinamico ogni tot blocchi come avviene adesso in modo da perseguire l'obiettivo del tempo medio di 10 minuti; sicuramente però diventerebbe più imprevedibile di oggi il tempo di conferma di 1 blocco (inoltre va studiato con attenzione come evitare la possibilità concreta che nessuno riesca a minare il blocco)

Da notare infine che mentre la soglia complessiva rimane un dato puramente tecnico (che si autoaggiusta per ottenere i 10 minuti di media), i pesi A e B sono invece un dato più "politico" (quanto peso dare alla proof of work rispetto alla proof of stake e viceversa)

Che ne pensate?
legendary
Activity: 1260
Merit: 1003

La rete Bitcoin non ha come scopo nè aumentare il numero di file nè aumentarne la velocità di scambio; funziona esattamente al contrario di una rete di file sharing, poichè il "file" condiviso (la block chain) è uno solo e esso viene assemblato controllandolo pezzo per pezzo e replicandolo in N copie per N nodi, quindi al contrario del file sharing, qui invece di dividere per N il lavoro si moltiplica per N.

....


Pero' non reisco a spiegarmi. Non voglio battaglie filosofiche sulle definizioni... alla fine non serve a un tubo.

Io chiedo solo di pensare se non sia possibile migliorare il funzionamento di bitcoin, rendendolo piu' aderente al modello p2p
poi se si scopre che come e' e' gia' il massimo, oppure non si puo' fare niente, vabbe'.

Provo a spiegarmi con una proposta:

di solito in informatica quando un problema diventa molto, troppo complesso, lo si divide in "strati specializzati"
dove ognuno fa un lavoro ben specifico.

(ISO OSI, il padre , o forse nonno dell'attuale funzionamento di internet, con i suoi famosi 7 livelli, e' forse uno dei migliori esempi)

Non si potrebbe ad esempio pensare di dividere il problema bitcoin in diversi layer, cosa che a tutti gli effetti sta piu' o meno avvenendo
in pratica con la specializzazione dei nodi, e trasformare ogni layer in una rete p2p specifica ?

ossia:

1) layer blockchain, che con una rete p2p gestisce una sorta di filesysytem p2p per condividere la blockchain in modo poco pesante per tutti.

2) layer certificatori, la rete p2p dei certificatori (quel che adesso sono i miner/pool)

3) layer transazioni (quello degli utenti comuni) dove una rete p2p di utenti immette le transazioni in una p2p specializzata a smaltire le transazioni...

e cosi' via, in modo da suddividere il tutto in sottosistemi piu' specializzati, ove ognuno si possa rendere davvero p2p (perche fa una
sola funzione e quindi la puo' suddividere in modo bilanciato tra i vari partecipanti a quel layer)

e' solo una proposta, ma e' il genere di idee che mi piacerebbe si discutesse....


Ethereum fa proprio questo: suddivide il cosa si trasporta (valore, materia, informazioni, altro...) dalla tecnologia di trasporto (Blockchain, altro...)

Sono 3 paper da leggere:
White Paper: https://github.com/ethereum/wiki/wiki/White-Paper
Design Rationale: https://github.com/ethereum/wiki/wiki/Design-Rationale
Yellow Paper: http://gavwood.com/Paper.pdf

Se hai/ha voglia di parlare di questi concetti cominci traducendo questi 3 paper in italiano è il modo migliore per parlare di questi argomenti.

"Chi ha voglia può approfondire."


Cordilai saluti.
legendary
Activity: 2506
Merit: 1120
...

1) layer blockchain, che con una rete p2p gestisce una sorta di filesysytem p2p per condividere la blockchain in modo poco pesante per tutti.

2) layer certificatori, la rete p2p dei certificatori (quel che adesso sono i miner/pool)

3) layer transazioni (quello degli utenti comuni) dove una rete p2p di utenti immette le transazioni in una p2p specializzata a smaltire le transazioni...

e cosi' via, in modo da suddividere il tutto in sottosistemi piu' specializzati, ove ognuno si possa rendere davvero p2p (perche fa una
sola funzione e quindi la puo' suddividere in modo bilanciato tra i vari partecipanti a quel layer)

e' solo una proposta, ma e' il genere di idee che mi piacerebbe si discutesse....
A me pare sia gia' cosi'.
1) il client core scarica i blocchi da altri peer senza problema e forse esiste anche una versione della blockchain su torrent.
2) i miner possono essere anche "stupidi" nel senso che ricevono un pacchetto piccolo e calcolano l'sha e fanno solo quello
3) un qualunque client invia le transazioni che poi verranno forse assorbite dal sistema.

Quindi faccio fatica a capire cosa intendi ...
Mi è venuto in mente anche p2pool che ha presentato grosse novità qualche anno fa, ora ho perso di vista la cosa ma lui metteva una chain parallela al solo fine di dividere il premio del mining, magari si possono mettere anche delle transazioni ...
legendary
Activity: 1260
Merit: 1003
Fin qui Wikipedia ha funzionato bene come identificatore di definizioni:
"Peer-to-peer (P2P) o rete paritaria o paritetica, in informatica, è un'espressione che indica un'architettura logica di rete informatica in cui i nodi non sono gerarchizzati unicamente sotto forma di client o server fissi (clienti e serventi), ma sotto forma di nodi equivalenti o paritari (in inglese peer) che possono cioè fungere sia da cliente che da servente verso gli altri nodi terminali (host) della rete. Essa dunque è un caso particolare dell'architettura logica di rete client-server."

La cosa bella di questa definizione è che non c'è la parola sistema in essa: i nodi della rete non devono appartenere tutti allo stesso sistema.

Per il sistema Monetario Mondiale la BCE è un nodo P2P del sistema bancario europeo (al pari delle altre banche centrali europee) così come la Fed è un nodo P2P del sistema bancario statunitense (al pari delle altre banche nazionali statunitensi).

Se ora uniamo il Sistema Monetario Mondiale ($, €, Y, etc...) al Sistema Monetario Mondiale delle Valute Virtuali (BTC, LTC, DOGE, etc...) otteniamo l'unione di 2 sistemi P2P (basta un'interfaccia per unirli).

Questo sistema lo chiameremo Sistema Monetario Mondiale
(FIAT e Virtuale): in cui la BCE è un nodo paritario al pari di AntPool (paritario in 2 sistemi diversi ma il sistema padre è il sistema monetario nel suo insieme).

Sounds good?!?

Quello che intendo è: focalizzatevi sull'Industria FinTech non su di una sua specifica implementazione (Bitcoin) che al momento non gode nemmeno di ottima salute.

Questo mio ultimo consiglio è supportato anche dalla comunità Bitcoin, infatti se aprite gli occhi vedrete che in giro non si parla più di Bitcoin (che è una valuta virtuale) ma di Blockchan che è la tecnologia alla base dell'Industria FinTech di cui stiamo parlando.

Questo un interessante articolo sull'argomento (che cos'è la Blockchain?): http://www.coindesk.com/danger-blockchain-monoculture/

Per quanto riguarda Bitcoin farà la fine che farà...


Cordiali saluti.
legendary
Activity: 1932
Merit: 2077
Provo a spiegarmi con una proposta:

di solito in informatica quando un problema diventa molto, troppo complesso, lo si divide in "strati specializzati"
dove ognuno fa un lavoro ben specifico.

(ISO OSI, il padre , o forse nonno dell'attuale funzionamento di internet, con i suoi famosi 7 livelli, e' forse uno dei migliori esempi)

Non si potrebbe ad esempio pensare di dividere il problema bitcoin in diversi layer, cosa che a tutti gli effetti sta piu' o meno avvenendo
in pratica con la specializzazione dei nodi, e trasformare ogni layer in una rete p2p specifica ?

ossia:

1) layer blockchain, che con una rete p2p gestisce una sorta di filesysytem p2p per condividere la blockchain in modo poco pesante per tutti.

2) layer certificatori, la rete p2p dei certificatori (quel che adesso sono i miner/pool)

3) layer transazioni (quello degli utenti comuni) dove una rete p2p di utenti immette le transazioni in una p2p specializzata a smaltire le transazioni...

e cosi' via, in modo da suddividere il tutto in sottosistemi piu' specializzati, ove ognuno si possa rendere davvero p2p (perche fa una
sola funzione e quindi la puo' suddividere in modo bilanciato tra i vari partecipanti a quel layer)

e' solo una proposta, ma e' il genere di idee che mi piacerebbe si discutesse....

Questa idea mi sembra davvero interessante!

Penso che siamo d'accordo che il sistema, così com'è, ad oggi è riuscito a realizzare abbastanza bene il compito del layer 2), poichè tutti ci fidiamo delle certificazioni che produce.

La tua proposta va nella direzione di trasformare un sistema di certificazione che svolge male però altri compiti (come quello di gestione delle transazioni del layer 3) in un sistema multi strato affinchè il sistema Bitcoin diventi quello che finora non è mai stato, e cioè un mezzo di pagamento veramente alternativo a quelli attuali.

Basta capirsi  Wink

Secondo te la LN di cui parlava picchio va nella giusta direzione o tu pensi sia necessario cambiare in modo più radicale il protocollo Bitcoin?
legendary
Activity: 3276
Merit: 2898

La rete Bitcoin non ha come scopo nè aumentare il numero di file nè aumentarne la velocità di scambio; funziona esattamente al contrario di una rete di file sharing, poichè il "file" condiviso (la block chain) è uno solo e esso viene assemblato controllandolo pezzo per pezzo e replicandolo in N copie per N nodi, quindi al contrario del file sharing, qui invece di dividere per N il lavoro si moltiplica per N.

....


Pero' non reisco a spiegarmi. Non voglio battaglie filosofiche sulle definizioni... alla fine non serve a un tubo.

Io chiedo solo di pensare se non sia possibile migliorare il funzionamento di bitcoin, rendendolo piu' aderente al modello p2p
poi se si scopre che come e' e' gia' il massimo, oppure non si puo' fare niente, vabbe'.

Provo a spiegarmi con una proposta:

di solito in informatica quando un problema diventa molto, troppo complesso, lo si divide in "strati specializzati"
dove ognuno fa un lavoro ben specifico.

(ISO OSI, il padre , o forse nonno dell'attuale funzionamento di internet, con i suoi famosi 7 livelli, e' forse uno dei migliori esempi)

Non si potrebbe ad esempio pensare di dividere il problema bitcoin in diversi layer, cosa che a tutti gli effetti sta piu' o meno avvenendo
in pratica con la specializzazione dei nodi, e trasformare ogni layer in una rete p2p specifica ?

ossia:

1) layer blockchain, che con una rete p2p gestisce una sorta di filesysytem p2p per condividere la blockchain in modo poco pesante per tutti.

2) layer certificatori, la rete p2p dei certificatori (quel che adesso sono i miner/pool)

3) layer transazioni (quello degli utenti comuni) dove una rete p2p di utenti immette le transazioni in una p2p specializzata a smaltire le transazioni...

e cosi' via, in modo da suddividere il tutto in sottosistemi piu' specializzati, ove ognuno si possa rendere davvero p2p (perche fa una
sola funzione e quindi la puo' suddividere in modo bilanciato tra i vari partecipanti a quel layer)

e' solo una proposta, ma e' il genere di idee che mi piacerebbe si discutesse....








legendary
Activity: 1932
Merit: 2077

Magari BTC puo' continuare su questa falsa riga e i servizi aggiuntivi verranno sfruttati meglio. I costi delle transazioni aumenteranno ma le stesse conterranno cifre elevate o informazioni che valgono tantissimo.


Se così fosse però risulterà allora chiaro che era irrealizzabile pensare che ogni minima transazione (esempio l'acquisto di un caffè) avesse lo stesso grado di attendibilità di un certificato di vendita di un immobile.

A dirlo così sembra ovvio, ma la maggior parte degli utilizzatori bitcoin pensa/spera ancora che fra x anni pagherà il caffè in bitcoin e che il piccolo negoziante controllerà l'attendibilità di quella transazione mediante un costosissimo full node risparmiando sulle "vessatorie" commissioni dei sistemi di pagamento attuali...

Non solo, per come funziona adesso il sistema bitcoin, una piccola transazione va solo ad aumentare il lavoro di controllo da fare anche sulle altre transazioni (se devo verificarte una grossa transazione e quest'ultima dovesse avere nella sua "storia" precedente proprio questa piccola transazione il lavoro aumenterà)

Mi sono imbattuto in https://chrispacia.wordpress.com/2015/12/23/lightning-network-skepticism/ e non ho ancora capito bene cosa faccia esattamente ma potrebbe aiutare a risolvere qualcosa: la blockchain diventa "il notaio" e quindi posso anche permettermi di pagare una transazione una cifra elevata purche' poi sia in grado di spalmarla su più lavori ...

Anche le colored coin usano la chain ma anche altri protocolli p2p per diffondere le info.
Grazie per il link, ne ho sentito parlare ma conosco pochissimo a riguardo.
Pages:
Jump to: