Author

Topic: import export delle chiavi private tra bitcoincore ed electrum, non capisco (Read 201 times)

legendary
Activity: 2562
Merit: 2640
Io non utilizzo Electrum, ma il discorso è sempre lo stesso: piuttosto che importare delle chiavi private in un nuovo wallet è consigliabile fare lo sweep (cioè svuotare il portafoglio vecchio e riempire il nuovo mediante transazione su blockchain).  Questo perchè le chiavi private importate non sono recuperabili mediante il seed poichè esse non fanno parte della logica di creazione e backup degli indirizzi del nuovo wallet nè della sua logica di gestione degli indirizzi dei resti. Se importi le chiavi private devi in definitiva salvare da qualche parte sia tutte le chiavi private importate sia il seed del nuovo wallet (per i nuovi indirizzi e quelli dei resti). Risulta una procedura un po' macchinosa.


Questo è un ottimo consiglio: lo dico perché anch'io tendo a dimenticarlo....
Rispondo qui nonostante la "nullità" del mio intervento in modo da rendere visibile la tua risposta ancora per qualche giorno.

legendary
Activity: 1914
Merit: 2071
1 Se in 2 client diversi ho le stesse chiavi private, i bitcoin sono spediti a un indirizzo di una data tipologia, nell'altro client dove viene gestito con una tipologia diversa, vedo l'importo?

No, perchè tipologie diverse di indirizzi sono indirizzi diversi. E' lo stesso discorso degli indirizzi P2PKH con chiave pubblica compressa / non compressa: dalla stessa chiave privata si generano 2  diversi indirizzi. L'importo si vede solo su un indirizzo, non su tutte e due. Bisogna usare la stessa chiave e ricavare lo stesso tipo di indirizzo su tutte e due i wallet affinchè si possa vedere lo stesso importo.

3 Visto che creo un wallet su electrum, utilizzando qualche indirizzo di bitcoincore, non avrò il seed è la modalita associata per generare gli indirizzi. Poi quando faccio una transazione, il resto lo mette su un indirizzo che crea lui in automatico come bitcoincore, sempre che il discorso del resto  sia ancora valido.

Io non utilizzo Electrum, ma il discorso è sempre lo stesso: piuttosto che importare delle chiavi private in un nuovo wallet è consigliabile fare lo sweep (cioè svuotare il portafoglio vecchio e riempire il nuovo mediante transazione su blockchain).  Questo perchè le chiavi private importate non sono recuperabili mediante il seed poichè esse non fanno parte della logica di creazione e backup degli indirizzi del nuovo wallet nè della sua logica di gestione degli indirizzi dei resti. Se importi le chiavi private devi in definitiva salvare da qualche parte sia tutte le chiavi private importate sia il seed del nuovo wallet (per i nuovi indirizzi e quelli dei resti). Risulta una procedura un po' macchinosa.
sr. member
Activity: 1270
Merit: 254
Oikos.cash | Decentralized Finance on Tron
Ci ho pensato un po, dopo aver letto il post n2 mi sono sorte alcune domande

1 Se in 2 client diversi ho le stesse chiavi private, i bitcoin sono spediti a un indirizzo di una data tipologia, nell'altro client dove viene gestito con una tipologia diversa, vedo l'importo?
2 Riguardo i punti 2 e 3, deduco che su electrum offline importo la chiave privata e mi visualizzerà sempre gli indirizzi in P2PKH, l'electrum che installo sul pc Online utilizzo l'import degli indirizzi P2WPKH-P2SH con il prefisso.
  Ora vedrò nell'electrum online gli indirizzi nuovi con i vari importi. A questo punto c'è sempre la possibilità dall'electrum offline di firmare la transazione e quindi posso seguire la guida Cold storage sicuro con Electrum.

3 Visto che creo un wallet su electrum, utilizzando qualche indirizzo di bitcoincore, non avrò il seed è la modalita associata per generare gli indirizzi. Poi quando faccio una transazione, il resto lo mette su un indirizzo che crea lui in automatico come bitcoincore, sempre che il discorso del resto  sia ancora valido.

Edit
Ho letto meglio, il prefisso va anteriormente alla chiave privata, avevo letto male.
legendary
Activity: 1914
Merit: 2071
Grazie, chiarissimo.

Visto che posso scegliere, c'è qualche motivo per preferire un tipo di indirizzi rispetto ad altri?

In teoria gli indirizzi nel formato bech32 saranno lo standard (almeno nel prossimo futuro) e permetteranno transazioni con fee più basse.
sr. member
Activity: 1270
Merit: 254
Oikos.cash | Decentralized Finance on Tron
Grazie, chiarissimo.

Visto che posso scegliere, c'è qualche motivo per preferire un tipo di indirizzi rispetto ad altri?
legendary
Activity: 1914
Merit: 2071
Le chiavi private sono in un certo senso le stesse, ma non gli indirizzi, poichè Core utilizza indirizzi P2SH (più precisamente: indirizzi P2WPKH-P2SH, cioè indirizzi segwit inseriti in uno script).

Giusto per fare un riassunto su alcuni tipi di indirizzi:
https://en.bitcoin.it/wiki/Address


Hai almeno 3 possibilità:

1) forza Bitcoin Core a generare solo vecchi indirizzi P2PKH e quindi li importi normalmente su electrum

esempio con la riga di commando usando l'opzione legacy (nomeaccount metti quello che vuoi):

Code:
bitcoin-cli getnewaddress nomeaccount legacy
18CcP27VTRhjkaPEPsa6ZLZukQgXUYqh4Q

bitcoin-cli dumpprivkey 18CcP27VTRhjkaPEPsa6ZLZukQgXUYqh4Q
L56Ah4xzh9S4TxptZWrAyqS3By5XCbzJdAcHQAMB3aTBtVkfem1d

Se non vuoi usare la riga di comando inserisci nel tuo file bitcoin.conf questa riga:

Code:
addresstype=legacy

2) lascia che Core generi i suoi indirizzi  P2WPKH-P2SH (quelli che iniziano con il numero 3), e poi importi quelle chiavi private in electrum seguendo questa procedura:

https://bitcoinelectrum.com/importing-your-private-keys-into-electrum/

in pratica devi solo stare attento al punto 3:
Quote
Note: if the addresses in the source wallet begin with 3 you have to prepend “p2wpkh-p2sh:” to each private key before importing it.

3) forza Core a generare i nuovi indirizzi P2PWPKH (witness nativi in base 32) con l'opzione bech32 da riga di comando (o con addresstype=bech32 nel tuo bitcoin.conf), e quindi quando importi su electrum:

Quote
If the addresses begin with bc1 then you prepend “p2wpkh:”
sr. member
Activity: 1270
Merit: 254
Oikos.cash | Decentralized Finance on Tron
Prima di portare qualche spicciolo su electrum seguendo la guida Cold storage sicuro con Electrum, mi sono messo a fare speriementi per importare esportare chiavi private e indirizzi.
Pero tutti le prove mi hanno portato a risultati che non comprendo.

1 esperimento




ho creato un nuovo wallet su bitcoincore
ho esportato tutte le chiavi private con il programmino Java apposito, per ogni chiave privata avevo un indirizzo che inizia con 1
ho importato le chiavi private su electrum

risultato
electrum mi ha inserito le chiavi private e riceve su indirizzo che inizia per 1
bitcoincore se chiedo di ricevere soldi mi genera sempre un indirizzo che inizia per 3

2 esperimento

creato una tabella chiave privata indirizzo usando la funzione dumpkey di bitcoincore
a ogni chiave privata viene associato un indirizzo che dai tentativi fatti inizia sempre per 3
aperto electrum e creato un wallet usando le chiavi private di bitcoincore
esportato il tutto in file di testo vedo
le chiavi private sono state inserite, l'indirizzo associato inizia con 1 ed è diverso da quello di bitcoincore, la chiave privata in entrambi i programmi è uguale

su Electrum ho indirizzi che iniziano con 1 su bitcoincore con3.

Questo mi fa pensare che non ho capito un tubo sul discorso chiave privata - indirizzo ricezione, qualcuno mi può spiegare dove sbaglio?

 Ciao e grazie
Jump to: