Bitcoin Forum
May 12, 2024, 07:38:38 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 [2]  All
  Print  
Author Topic: [cose serie] I Full node della rete BiTCoin  (Read 2144 times)
arulbero
Legendary
*
Offline Offline

Activity: 1915
Merit: 2074


View Profile
December 26, 2015, 10:21:12 AM
 #21

Per contribuire seriamente alla rete vorrei fornire almeno un Full node.

Il problema è minimizzare i costi.

le mie ipotesi sono 2:
ipotesi 1 - comprare un tablet windows 8 oppure un netbook da tenere sempre online (tanto fastweb è già pagata!). mentre l'investimento iniziale è sopportabile e ammortizzabile (quando serve qualcuno a casa può comunque usarlo per navigare); il problema è la corrente elettrica: è ragionevole stimare un consumo massimo di 40-50w/ora? quindi un kw/h al giorno? a questo punto staremmo parlando di circa 1,2 euro a settimana (ergo circa 55 euro l'anno). sono giusti i miei conti?
ipotesi 2 - l'alternativa sarebbe noleggiare una Virtual Machine in qualche hosting. in questo però i prezzi mi sembrano più alti. Considerando che c'è bisogno di almeno 50 Gb di Hard disk (o è troppo poco?) andiamo a ritrovarci a pagare almeno 20-30 $ al mese di noleggio. troppo. per quanto mi riguarda è troppo anche quello che chiede il servizio offerto da l'articolo che vi ho linkato sopra (10$ al mese).

A questo punto le mie domande per cui vi chiedo aiuto sono:
- è realistica la stima in fatto di consumi dell'ipotesi 1?
- quanto spazio disco bisogna calcolare per la blockchain, tenendo presente almeno i prossimi 2 anni di crescita?
- considerando che io già ho una VM con windows 2003 a 10$ al mese ma che uso per altri motivi, ma che lo spazio disco disponibile è di un paio di Gb, conoscete qualche programmino che consenta di creare un disco virtuale collegato ad uno spazio disco in cloud? ma sopratutto, bitcoin-qt potrebbe funzionare con una soluzione simile?

Riuppo questo thread poichè stavo valutando anch'io ultimamente di mettere su un full node operativo h24.

Ovviamente bisogna scegliere tra:

- un nodo casalingo (ma le risorse saranno sufficienti? Inoltre c'è il problema della connessione internet, soprattutto riguardo l'upload)
- utilizzare una vps (ce ne sono di adatte allo scopo a costi ragionevoli?)

ma soprattutto mi faccio la seguente domanda: quali requisiti hardware deve avere la macchina su cui gira (e di conseguenza con quali limitazioni nelle impostazioni di Bitcoin Core) ?

Certo che in rete si legge di tutto, si va dalle soluzioni minimali:

-versione fai da te (http://n-o-d-e.net/post/115030545546/how-to-build-a-bitcoin-node-on-the-raspberry-pi-2)

-versione soluzioni chiavi in mano (https://getaddr.bitnodes.io/hardware/)

alle soluzioni decisamente più "strong":

...io ho un full node. Ora uso una macchina con 32 giga di ram, un quad core abbastanza tosto, dischi sas molto performanti,
e la trovo spesso con bitcoin-qt che utilizza piu' di 7 giga di ram, uso dei processori (per validazioni e cazzi vari) al 90% per non parlare della banda internet.
Io fortunatamente ho a disposizione le risorse aziendali, e quindi per ora posso ancora permettermelo, ma presto (max un anno) con questo ritmo di crescita
dovro' dismetterlo
...
col maxconnection 5000
al massimo ho visto sette/ottocento nodi collegati...
in questo istante ad esempio ne ho 675


In aggiunta a tutto ciò e alle incertezze sulle risorse sempre maggiori che vengono richieste, si trovano anche indicazioni poco incoraggianti da membri autorevoli

Most ordinary folks should NOT be running a full node. We need full nodes that are always on, have more than 8 connections (if you have only 8 then you are part of the problem, not part of the solution), and have a high-bandwidth connection to the Internet.
So: if you've got an extra virtual machine with enough memory in a data center, then yes, please, run a full node.

Gavin Andresen (https://www.reddit.com/r/Bitcoin/comments/1scd4z/im_running_a_full_node_and_so_should_you/cdw3lrh?context=3)

o poco chiare (almeno per me)

So I hope you now see the importance of full nodes in this model. If you run a full node somewhere on the network, and nobody looks at the transactions it validates, it is indeed contributing to the network, but it is not helping with the reduction of trust.
Look at it another way: if only a few large players in the Bitcoin ecosystem were running full nodes, it only requires a malicious intent, or an attack/threat against them, to change the system's rules, as nobody else is validating.
Doing transactions in the Bitcoin ecosystem helps the Bitcoin currency. Running a full node helps the network. Using a full node helps you and the ecosystem reduce the need for trust.

Pieter Wuille (https://www.reddit.com/r/BitcoinBeginners/comments/3eq3y7/full_node_question/ctk4lnd)
1715499518
Hero Member
*
Offline Offline

Posts: 1715499518

View Profile Personal Message (Offline)

Ignore
1715499518
Reply with quote  #2

1715499518
Report to moderator
The grue lurks in the darkest places of the earth. Its favorite diet is adventurers, but its insatiable appetite is tempered by its fear of light. No grue has ever been seen by the light of day, and few have survived its fearsome jaws to tell the tale.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
gbianchi
Legendary
*
Offline Offline

Activity: 3094
Merit: 2657



View Profile
December 26, 2015, 10:38:21 AM
Last edit: December 26, 2015, 10:58:14 AM by gbianchi
 #22

guarda, i dati di questo istante:

 2714 root      20   0 7232496 5,482g  11780 S  18,3 17,4   2125:50 bitcoin-qt

in questo monento utilizza 5,48 GB di ram, poca cpu (18%) ed ho 155 altri nodi collegati.

ma capita spesso che abbia picchi da 7/8 GB di ram e come scrivevo cpu che arrivi anche al 90%

il problema e' che il memory pool (ossia tutte le transazioni in attesa di conferama) sono sempre di piu',
e lui ovviamente deve tenersele in RAM finche non vengono incluse nel blocco.

Ma il blocco e' un po' piccolo, quindi le transazioni in attesa sono mediamente molte...
e quindi un full node vero deve fare da "cache" per tutte quesste transazioni pendenti.

Inoltre di tutto questo traffico deve fare le validazioni, e questo spiega l'alto utilizzo di CPU.
poi c'e' l'utilizzo del disco che cresce sempre... e non parliamo della banda, che ha degli spike impressionanti...

Io non ci credo neanche se lo vedo che in queste condizioni uno fa girare un full node
con un raspberry, semplicemente  perche' non e' in grado di tenere il memory pool
che mediamente serve di questi tempi.

Insomma un full node e' diventato una risorsa costosa, e come ho scritto, credo sia un errore
non piccolo non aver previsto ne protocollo  una ricompensa per chi tiene un full node attivo.

Il destino sara' che lo terra' attivo SOLO chi ci guadagnera' nella cosa, quindi pool, exchange
e pochi altri, e quindi si, alla lunga ci sara' un'accentramento mostruoso di full node
estremamente poco igienico.


edit: questo era interessante https://bitcointalk.org/index.php?topic=1076064.0







GUIDA PER NUOVI UTENTI https://bitcointalk.org/index.php?topic=1241459.0
DO NOT HOLD YOUR BTC ON THIRD PARTY EXCHANGES – BE YOUR OWN BANK https://bitcointalk.org/index.php?topic=945881.0
BITCOIN... WHAT IS IT ? https://bitcointalk.org/index.php?topic=2107660.0
arulbero
Legendary
*
Offline Offline

Activity: 1915
Merit: 2074


View Profile
December 26, 2015, 11:26:33 AM
Last edit: December 26, 2015, 12:56:42 PM by arulbero
 #23

guarda, i dati di questo istante:

 2714 root      20   0 7232496 5,482g  11780 S  18,3 17,4   2125:50 bitcoin-qt

in questo monento utilizza 5,48 GB di ram, poca cpu (18%) ed ho 155 altri nodi collegati.

ma capita spesso che abbia picchi da 7/8 GB di ram e come scrivevo cpu che arrivi anche al 90%

il problema e' che il memory pool (ossia tutte le transazioni in attesa di conferama) sono sempre di piu',
e lui ovviamente deve tenersele in RAM finche non vengono incluse nel blocco.

Ma il blocco e' un po' piccolo, quindi le transazioni in attesa sono mediamente molte...
e quindi un full node vero deve fare da "cache" per tutte quesste transazioni pendenti.

Inoltre di tutto questo traffico deve fare le validazioni, e questo spiega l'alto utilizzo di CPU.
poi c'e' l'utilizzo del disco che cresce sempre... e non parliamo della banda, che ha degli spike impressionanti...

Io non ci credo neanche se lo vedo che in queste condizioni uno fa girare un full node
con un raspberry, semplicemente  perche' non e' in grado di tenere il memory pool
che mediamente serve di questi tempi.

Il destino sara' che lo terra' attivo SOLO chi ci guadagnera' nella cosa, quindi pool, exchange
e pochi altri, e quindi si, alla lunga ci sara' un'accentramento mostruoso di full node
estremamente poco igienico.

Non è possibile far girare un full node con alcuni parametri che ne limitano l'uso delle risorse hardware? Io pensavo ad esempio di limitare:
1) il numero di connessioni (magari più di 8 ma non certo 600)
2) il numero di transazioni da validare e propagare per la rete (se si limita la mempool di conseguenza si limita moltissimo l'uso della cpu e della RAM, giusto?)

In pratica è possibile ottenere dei "mininodi", che sono ancora "full" nel senso che controllano la validità di ogni blocco e di ogni transazione che sono in grado di gestire su tutta la blockchain ma che sono "mini" poichè limitano il numero di transazioni da controllare?
Sostanzialmente penso a dei nodi che si "esprimono" su meno situazioni rispetto ai fratelli maggiori, ma con lo stesso grado di conoscenza (e quindi di fiducia).

Se invece questo non fosse possibile allora veramente tra un paio di anni i full node casalinghi saranno scomparsi. E se si pensa che far girare un full node è sempre stato proposto come il modo migliore per partecipare attivamente alla rete e sostenere/votare le regole del bitcoin, allora siamo messi veramente male.

Insomma un full node e' diventato una risorsa costosa, e come ho scritto, credo sia un errore
non piccolo non aver previsto ne protocollo  una ricompensa per chi tiene un full node attivo.
A questo proposito il problema mi pare consista nel fatto che non è possibile dimostrare di essere un nodo oltre ogni ragionevole dubbio (anche le statistiche sui full node attualmente in attività non sono per nulla attendibili), questo poichè in ultima istanza il lavoro di un full node non è dimostrabile (o distinguibile) da quello di un semplice software che riceve una transazione e la ritrasmette così com'è alla rete senza aver fatto nessun controllo, o che chiede ad altri informazioni che non possiede e le rivende poi come sue.
EDIT: tu hai per caso ricevuto questo regalo natalizio? http://www.virtual-strategy.com/2015/12/25/btcc-deploys-100-full-bitcoin-nodes-across-five-continents#axzz3vLfWL3X7

Sarei curioso inoltre di fare un piccolo sondaggio informale tra gli utenti del forum: avete un full node? Lo fate girare h24? A casa vostra o su un server? Con tutte le opzioni e parametri vari impostati al "massimo"?
gbianchi
Legendary
*
Offline Offline

Activity: 3094
Merit: 2657



View Profile
December 26, 2015, 02:06:10 PM
Last edit: December 26, 2015, 02:45:34 PM by gbianchi
 #24


Non è possibile far girare un full node con alcuni parametri che ne limitano l'uso delle risorse hardware? Io pensavo ad esempio di limitare:
1) il numero di connessioni (magari più di 8 ma non certo 600)
2) il numero di transazioni da validare e propagare per la rete (se si limita la mempool di conseguenza si limita moltissimo l'uso della cpu e della RAM, giusto?)

In pratica è possibile ottenere dei "mininodi", che sono ancora "full" nel senso che controllano la validità di ogni blocco e di ogni transazione che sono in grado di gestire su tutta la blockchain ma che sono "mini" poichè limitano il numero di transazioni da controllare?
Sostanzialmente penso a dei nodi che si "esprimono" su meno situazioni rispetto ai fratelli maggiori, ma con lo stesso grado di conoscenza (e quindi di fiducia).



ah e' possibile fare di tutto, esiste anche la possibilita' come dici tu  di fare lo "pseudonode", ossia un sw
che appare come un full node, ma in realta' non fa un tubo, non verifica le transazioni, non ha
una blockchain e si limita semplicemente a forwardare tutto quello che gli arriva. Ne erano stati
messi su diversi nel periodo XT per far finta che i nodi XT fossero molti di piu' di quelli reali,
(cosa che mi ha fatto decidere di NON supportare XT)

e comunque il fare dei nodi "Limitati" per me e' sempre pericoloso, in quanto inserire un criterio di limitazione
(per qualsiasi tu scegli) fa si che sezioni la rete in piu' parti, i full node davvero full, e quasi-full-node,
che essendo limitati si scambiano meno info... insomma e' una materia delicatissima, direi quasi piu' importante
(o almeno della stessa importanza) della famosa discussione sulla dimensione del blocco, ma essendo
estremamente piu' spinosa, e' anche molto meno dibatutta...

qui non esiste soluzione, in quanto non e' previsto nessun supporto per i full node per progetto,
e quindi il destino e' segnato.


EDIT: Io non ho mai ricevuto nulla da bitnodes, e secondo me e' un mezzo scam, per diversi motivi:

1) una volta mi metteva (secondo me erroneamente) al primo posto fra i full node DEL MONDO. per quanto
ci dedicassi risorse, era evidente che non potevo essere il migliore del mondo (come ho scritto diverse volte)

2) poi all'improvviso, sono crollato molto piu' in giu', ma anche questo in modo assolutamente poco
credibile, in quanto non ho fatto nulla ne' in bene ne' in male per cambiare le mie performance.

3) cosa peggiore, tutto questo ci puo' stare, se un mi spiega la razio e cosa succede. Ma a diverse mie richieste
al tipo che gestisce bitnode di cosa stesse succedendo, non ho mai avuto nessuna risposta.

questi 3 punti mi fanno mettere bitnodes a livello veramente basso di credibilita'.




GUIDA PER NUOVI UTENTI https://bitcointalk.org/index.php?topic=1241459.0
DO NOT HOLD YOUR BTC ON THIRD PARTY EXCHANGES – BE YOUR OWN BANK https://bitcointalk.org/index.php?topic=945881.0
BITCOIN... WHAT IS IT ? https://bitcointalk.org/index.php?topic=2107660.0
gbianchi
Legendary
*
Offline Offline

Activity: 3094
Merit: 2657



View Profile
December 26, 2015, 02:43:27 PM
 #25

mi sono dimenticato anche un'altra info-chicca  importante: Noi siamo autonumus system,
ossia gestiamo il routing BGP dei nostri IP.

questo fa si che ho anche un'ulteriore informazione, magari poco nota  ai piu':
riceviamo spesso segnalazioni da altri autorevoli fonti internet (ad esempio il CERTSI)

tipo questa:

Quote
CERTSI has detected some domain names that seem to be using Fast-Flux techniques[1] pointing to machines under your constituency, which may be members of a botnet.
....

questo vuol dire che se hai il nodo un normale provider VPS probabilmente il nodo te lo spengono forzatamente.
Noi ce ne sbattiamo e lo teniamo acceso ugualmente, ma e' veramente sempre piu' difficle Smiley


GUIDA PER NUOVI UTENTI https://bitcointalk.org/index.php?topic=1241459.0
DO NOT HOLD YOUR BTC ON THIRD PARTY EXCHANGES – BE YOUR OWN BANK https://bitcointalk.org/index.php?topic=945881.0
BITCOIN... WHAT IS IT ? https://bitcointalk.org/index.php?topic=2107660.0
arulbero
Legendary
*
Offline Offline

Activity: 1915
Merit: 2074


View Profile
December 26, 2015, 02:59:08 PM
 #26

...
qui non esiste soluzione, in quanto non e' previsto nessun supporto per i full node per progetto,
e quindi il destino e' segnato.

Quindi dopo aver rinunciato a contribuire a costruire la blockchain e a generare moneta (il mining è costosissimo) adesso dovremo rinunciare anche a verificare direttamente le transazioni e a propagarle per la rete.
Di fatto un cambio di prospettiva forte rispetto al progetto ideale iniziale di decentralizzazione.

O forse era in fondo prevedibile, puntare tutto da una parte sull'efficienza e la competitività dei miner, e dall'altra parte sulla capacità dei full node di verificare percorsi di coerenza in una storia di transazioni che può solo aumentare con il tempo, non poteva non produrre come risultato naturale che solo i più bravi e i più attrezzati sarebbero rimasti in pista, declassando gli altri attori a semplici "utenti".

Dal mio punto di vista comunque il problema vero non è tanto la dimensione crescente della rete di utenti (rete che se adesso fosse costituita diciamo da 1 milione di utenti, al massimo potrebbe aumentare di un fattore 10000 in futuro, non certo di più), quanto il fatto che la lunghezza della blockchain possa solo crescere con il tempo senza alcun limite, il che è dal mio punto di vista assurdo. Il progresso tecnologico potrebbe forse sostenere un aumento della rete anche di un fattore 10000 (certo non entro domani) e rendere magari alla portata di tutte le tasche un full node, ma non mi sembra plausibile poter scommettere sul fatto che il miglioramento tecnologico possa continuare a verificarsi all'infinito con la stessa velocità con cui aumenta inesorabile la lunghezza della blockchain.


mi sono dimenticato anche un'altra info-chicca  importante: Noi siamo autonumus system,
ossia gestiamo il routing BGP dei nostri IP.

questo fa si che ho anche un'ulteriore informazione, magari poco nota  ai piu':
riceviamo spesso segnalazioni da altri autorevoli fonti internet (ad esempio il CERTSI)

tipo questa:

Quote
CERTSI has detected some domain names that seem to be using Fast-Flux techniques[1] pointing to machines under your constituency, which may be members of a botnet.
....

questo vuol dire che se hai il nodo un normale provider VPS probabilmente il nodo te lo spengono forzatamente.
Noi ce ne sbattiamo e lo teniamo acceso ugualmente, ma e' veramente sempre piu' difficle Smiley

Quindi: un VPS o un server dedicato possono spegnermelo; non ho capito se la stessa cosa può farla la Telecom bloccando la mia connessione casalinga.
gbianchi
Legendary
*
Offline Offline

Activity: 3094
Merit: 2657



View Profile
December 26, 2015, 03:14:37 PM
 #27


Quindi: un VPS o un server dedicato possono spegnermelo; non ho capito se la stessa cosa può farla la Telecom bloccando la mia connessione casalinga.

beh normalmente gli ip casalinghi cambiano (a meno che tu non abbia un'utenza a ip statico)
quindi almeno da questo punto di vista, un'utenza caslinga e' meno "filtrabile".

ma anche qui occhio... non e' raro che il nodo mi porti via 5/6 Mbit costanti
 e a volte l'ho visto anche a picchi di 20 Mbit, insomma non e' cero leggero come consumi di banda.

in sintesi, mettere su un full puo' essere un'ottima esperienza di studio, per renderti conto
in prima persona di tutto quello che ti sto dicendo (potrei anche dirti cose inesatte)
ma vedrai che se l'intenzione e' metterlo su in modo stabile, non sara' un'impresa a basso costo.


ps: anche qui c'e' un thread (piu' tecnico) di gente con full node: https://bitcointalk.org/index.php?topic=1204952.0
e non mi sembra che siamo tantissimi Smiley prova a chiedere anche a loro.










GUIDA PER NUOVI UTENTI https://bitcointalk.org/index.php?topic=1241459.0
DO NOT HOLD YOUR BTC ON THIRD PARTY EXCHANGES – BE YOUR OWN BANK https://bitcointalk.org/index.php?topic=945881.0
BITCOIN... WHAT IS IT ? https://bitcointalk.org/index.php?topic=2107660.0
Pages: « 1 [2]  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!