Bitcoin Forum
November 09, 2024, 04:04:02 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Info su funzionamento wallet  (Read 104 times)
pf55351 (OP)
Jr. Member
*
Offline Offline

Activity: 51
Merit: 1


View Profile
February 12, 2021, 03:44:37 PM
 #1

Buonasera amici,
stavo ristudiando/rivedendo dei concetti in merito al funzionamento della blockchain ma ho i seguenti dubbi:
1. i nodi oltre a tenere una copia della blockchain intera c'è anche una copia delle sole utxo, altrimenti come si calcola il balance di un wallet
2. quando un nodo conferma un blocco veerifica anche se nelle trx ci sono indirizzi relativi ad un wallet ad esso collegato o anche in questo caso guarda la lista delle utxo e se trova un address associato aggiorna iil balance?
3. supponiamo che importo un wallet, mi chiede le parole di recovery... a quel punto che succede riesce a recuperare chiave private pubblica e address? ma come sa a quale address generato si deve fermare per poi controllare? cioè continua a scansionare elenco delle utxo finche trova address associati?
4. come fa un wallet ad aggiornare il suo bilancio senza aspettare effettiva conferma? Cosa va ad interrogare / leggere?
fillippone
Legendary
*
Online Online

Activity: 2338
Merit: 16659


Fully fledged Merit Cycler - Golden Feather 22-23


View Profile WWW
February 12, 2021, 10:18:32 PM
Merited by babo (2)
 #2

Buonasera amici,
stavo ristudiando/rivedendo dei concetti in merito al funzionamento della blockchain ma ho i seguenti dubbi:
1. i nodi oltre a tenere una copia della blockchain intera c'è anche una copia delle sole utxo, altrimenti come si calcola il balance di un wallet
2. quando un nodo conferma un blocco veerifica anche se nelle trx ci sono indirizzi relativi ad un wallet ad esso collegato o anche in questo caso guarda la lista delle utxo e se trova un address associato aggiorna iil balance?
3. supponiamo che importo un wallet, mi chiede le parole di recovery... a quel punto che succede riesce a recuperare chiave private pubblica e address? ma come sa a quale address generato si deve fermare per poi controllare? cioè continua a scansionare elenco delle utxo finche trova address associati?
4. come fa un wallet ad aggiornare il suo bilancio senza aspettare effettiva conferma? Cosa va ad interrogare / leggere?

Domande interessanti.
Secondo me tutte cose che puoi trovare su mastering bitcoin, che puoi trovare in edizione free qui in un link nel post qui sotto:

5 Risorse per iniziare l'uomo della strada al Bitcoin.

Sono al momento impossibilitato a rispondere con calma a tutte queste domande, ma azzardo una risposta a quella più facile:

4. Ogni wallet è collegato ad un nodo. Se hai un wallet su bitcoin core, allora il wallet interroga direttamente il nodo (ci possono essere altri casi, rimaniamo sul semplice). Se invece hai un qualsiasi altro wallet (Electrum, Green o qualsiasi altro) hai un wallet SPV che si collega ad un altro nodo, situato chissà dove.

Il succo è che ogni “full node” ha una “mempool” ovvero l’insieme delle transazioni valide, ma non confermate.
Ebbene, se all’interno della mempool vede un indirizzo conosciuto, allora può updatare il saldo relativo, anche in attesa della conferma.

Ricordiamoci che nella mempool ci sono solo transazioni valide. Ogni nodo difatti può broadcastare solo transazioni che seguono il protocollo. Se provassi a broadcaatare una transazione non valida questa sarebbe rifiutata da tutti gli altri nodi della rete, e quindi non giungerebbe mai ai miner.

Ricordiamoci difatti che NON sono i miner a stabilire quali siano le transazioni valide, ma i nodi della rete.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
MarcoB.
Newbie
*
Offline Offline

Activity: 19
Merit: 2


View Profile
February 20, 2021, 11:11:18 PM
Merited by babo (1), fillippone (1)
 #3

Azzardo una risposta alla 1)
Nel db del nodo non ci sono tutte le transazioni, ma solo quelle del wallet associato. Per capirci non lo puoi interrogare per farci un block explorer. Questo out of the box. Se poi nel file di configurazione bitcoin.conf setti txindex=1, allora vengono messe in db tutte le transazioni della blockchain
pf55351 (OP)
Jr. Member
*
Offline Offline

Activity: 51
Merit: 1


View Profile
February 23, 2021, 08:44:48 AM
 #4

Azzardo una risposta alla 1)
Nel db del nodo non ci sono tutte le transazioni, ma solo quelle del wallet associato. Per capirci non lo puoi interrogare per farci un block explorer. Questo out of the box. Se poi nel file di configurazione bitcoin.conf setti txindex=1, allora vengono messe in db tutte le transazioni della blockchain


Ciao grazie per la risposta...
Non capisco che senso ha avere un full node per poi  avere solo le trx riguardanti al wallet associato a quel nodo... detto questo nel caso avessi tutte le transazioni e volessi fare io una nuova trx per calcolare le utxo da spendere non credo che ogni volta si vada a leggere tutta la chain alla ricerca di quelle relative al sui indirizzi...
pf55351 (OP)
Jr. Member
*
Offline Offline

Activity: 51
Merit: 1


View Profile
February 23, 2021, 08:48:43 AM
 #5

Buonasera amici,
stavo ristudiando/rivedendo dei concetti in merito al funzionamento della blockchain ma ho i seguenti dubbi:
1. i nodi oltre a tenere una copia della blockchain intera c'è anche una copia delle sole utxo, altrimenti come si calcola il balance di un wallet
2. quando un nodo conferma un blocco veerifica anche se nelle trx ci sono indirizzi relativi ad un wallet ad esso collegato o anche in questo caso guarda la lista delle utxo e se trova un address associato aggiorna iil balance?
3. supponiamo che importo un wallet, mi chiede le parole di recovery... a quel punto che succede riesce a recuperare chiave private pubblica e address? ma come sa a quale address generato si deve fermare per poi controllare? cioè continua a scansionare elenco delle utxo finche trova address associati?
4. come fa un wallet ad aggiornare il suo bilancio senza aspettare effettiva conferma? Cosa va ad interrogare / leggere?

Domande interessanti.
Secondo me tutte cose che puoi trovare su mastering bitcoin, che puoi trovare in edizione free qui in un link nel post qui sotto:

5 Risorse per iniziare l'uomo della strada al Bitcoin.

Sono al momento impossibilitato a rispondere con calma a tutte queste domande, ma azzardo una risposta a quella più facile:

4. Ogni wallet è collegato ad un nodo. Se hai un wallet su bitcoin core, allora il wallet interroga direttamente il nodo (ci possono essere altri casi, rimaniamo sul semplice). Se invece hai un qualsiasi altro wallet (Electrum, Green o qualsiasi altro) hai un wallet SPV che si collega ad un altro nodo, situato chissà dove.

Il succo è che ogni “full node” ha una “mempool” ovvero l’insieme delle transazioni valide, ma non confermate.
Ebbene, se all’interno della mempool vede un indirizzo conosciuto, allora può updatare il saldo relativo, anche in attesa della conferma.

Ricordiamoci che nella mempool ci sono solo transazioni valide. Ogni nodo difatti può broadcastare solo transazioni che seguono il protocollo. Se provassi a broadcaatare una transazione non valida questa sarebbe rifiutata da tutti gli altri nodi della rete, e quindi non giungerebbe mai ai miner.

Ricordiamoci difatti che NON sono i miner a stabilire quali siano le transazioni valide, ma i nodi della rete.


Quindi la mia applicazione sul telefono la posso definire un nodo spv e quindi sul mio telefono ci sono tutte le intestazioni dei blocchi?? oppure c'è un altra categoria di wallet che a loro volta si collegano ad un nodo spv che a sua volta si collega ad un full node?

Quindi un full node che fa da "server" ad un nodo spv deve stare in ascolto sulla sua mempool e vedere tutte le trx se ce ne sono relative agli indirizzi dei nodi spv ad esso collegato?
fillippone
Legendary
*
Online Online

Activity: 2338
Merit: 16659


Fully fledged Merit Cycler - Golden Feather 22-23


View Profile WWW
February 23, 2021, 09:10:14 AM
 #6



Quindi la mia applicazione sul telefono la posso definire un nodo spv e quindi sul mio telefono ci sono tutte le intestazioni dei blocchi?? oppure c'è un altra categoria di wallet che a loro volta si collegano ad un nodo spv che a sua volta si collega ad un full node?

No, il tuo telefono per conoscere le transazioni, o gli UTXO relativi ai tuoi indirizzi interroga un nodo “server” e tiene in locale solo le informazioni che gli interessano. Per questo la soluzione SPV è ottimale per dispositivi “leggeri”, ma è subottimale per quanto riguarda la privacy.


Quindi un full node che fa da "server" ad un nodo spv deve stare in ascolto sulla sua mempool e vedere tutte le trx se ce ne sono relative agli indirizzi dei nodi spv ad esso collegato?
No, un nodo server ha la copia intera della blockchain ed ascolta tutte le transazioni nella mempool. E può essere interrogato quindi da qualsiasi wallet SPV, proprio perché contiene “tutte” le informazioni. Voglio dire, è il wallet SPV che “chiede” al nodo server le proprie transazioni, non ilserver che le seleziona per il nodo SPV...

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
pf55351 (OP)
Jr. Member
*
Offline Offline

Activity: 51
Merit: 1


View Profile
February 24, 2021, 10:23:20 AM
 #7



Quindi la mia applicazione sul telefono la posso definire un nodo spv e quindi sul mio telefono ci sono tutte le intestazioni dei blocchi?? oppure c'è un altra categoria di wallet che a loro volta si collegano ad un nodo spv che a sua volta si collega ad un full node?

No, il tuo telefono per conoscere le transazioni, o gli UTXO relativi ai tuoi indirizzi interroga un nodo “server” e tiene in locale solo le informazioni che gli interessano. Per questo la soluzione SPV è ottimale per dispositivi “leggeri”, ma è subottimale per quanto riguarda la privacy.


Quindi un full node che fa da "server" ad un nodo spv deve stare in ascolto sulla sua mempool e vedere tutte le trx se ce ne sono relative agli indirizzi dei nodi spv ad esso collegato?
No, un nodo server ha la copia intera della blockchain ed ascolta tutte le transazioni nella mempool. E può essere interrogato quindi da qualsiasi wallet SPV, proprio perché contiene “tutte” le informazioni. Voglio dire, è il wallet SPV che “chiede” al nodo server le proprie transazioni, non ilserver che le seleziona per il nodo SPV...

Non ho capito quando parli di :
Quote
No, il tuo telefono per conoscere le transazioni, o gli UTXO relativi ai tuoi indirizzi interroga un nodo “server” e tiene in locale solo le informazioni che gli interessano. Per questo la soluzione SPV è ottimale per dispositivi “leggeri”, ma è subottimale per quanto riguarda la privacy.
quindi il mio telefono è un client spv? ma il client spv per definizione non tiene solo gli headers di tutti i blocchi?

fillippone
Legendary
*
Online Online

Activity: 2338
Merit: 16659


Fully fledged Merit Cycler - Golden Feather 22-23


View Profile WWW
February 24, 2021, 10:49:10 AM
 #8



Quindi la mia applicazione sul telefono la posso definire un nodo spv e quindi sul mio telefono ci sono tutte le intestazioni dei blocchi?? oppure c'è un altra categoria di wallet che a loro volta si collegano ad un nodo spv che a sua volta si collega ad un full node?

No, il tuo telefono per conoscere le transazioni, o gli UTXO relativi ai tuoi indirizzi interroga un nodo “server” e tiene in locale solo le informazioni che gli interessano. Per questo la soluzione SPV è ottimale per dispositivi “leggeri”, ma è subottimale per quanto riguarda la privacy.


Quindi un full node che fa da "server" ad un nodo spv deve stare in ascolto sulla sua mempool e vedere tutte le trx se ce ne sono relative agli indirizzi dei nodi spv ad esso collegato?
No, un nodo server ha la copia intera della blockchain ed ascolta tutte le transazioni nella mempool. E può essere interrogato quindi da qualsiasi wallet SPV, proprio perché contiene “tutte” le informazioni. Voglio dire, è il wallet SPV che “chiede” al nodo server le proprie transazioni, non ilserver che le seleziona per il nodo SPV...

Non ho capito quando parli di :
Quote
No, il tuo telefono per conoscere le transazioni, o gli UTXO relativi ai tuoi indirizzi interroga un nodo “server” e tiene in locale solo le informazioni che gli interessano. Per questo la soluzione SPV è ottimale per dispositivi “leggeri”, ma è subottimale per quanto riguarda la privacy.
quindi il mio telefono è un client spv? ma il client spv per definizione non tiene solo gli headers di tutti i blocchi?



Il client SPV tiene in locale tutti gli  header dei blocchi, quindi vuol dire che “sa se una transazione che spende i tuoi UTXO è avvenuta, ma non può verificarla. Solo si “fida” del nodo master al quale è collegato, che mostra che la blockchain è andata avanti x blocchi, quindi presumendo che la transazione sia valida.

Un full node invece verifica sempre la validità di una transazione, anche prima dell’inclusione in un blocco.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
pf55351 (OP)
Jr. Member
*
Offline Offline

Activity: 51
Merit: 1


View Profile
February 24, 2021, 11:31:28 AM
 #9

Si ma io vorrei capire se il wallet sul telefono è un client SPV quindi sul mio telefono ho tutti gli header della blockchain?
fillippone
Legendary
*
Online Online

Activity: 2338
Merit: 16659


Fully fledged Merit Cycler - Golden Feather 22-23


View Profile WWW
February 24, 2021, 03:44:07 PM
 #10

Si ma io vorrei capire se il wallet sul telefono è un client SPV quindi sul mio telefono ho tutti gli header della blockchain?

Direi proprio di si.
Non  esistono app per fare girare un full node su un cellulare (a meno di cose fantasmagoriche al di fuori della portata di utenti “casual”).

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
Pages: [1]
  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!