Sono un po OT, ma volevo sapere: partendo da un indirizzo, posso sapere se è stato generato a partire da una pubkey compressa o meno? Grazie
No, non si può sapere. Nel momento in cui passi la stringa '04' + 'X' + 'Y' alla funzione ripemd160(sha256()) il risultato è solo una stringa di 160 bit, lo stesso otterresti se mettessi in input '02' + 'X'.
Di più, la stringa di 160 bit (
l'address è sostanzialmente un numero di 160 bit presentato all'essere umano in base 58) potrebbe essere l'impronta di qualsiasi cosa. Ad esempio, se consideri la frase 'Ciao come stai' e la dai in pasto così: ripemd160(sha256('Ciao come stai')) ottieni un numero di 160 bit, se ora passi la sua codifica in base 58 a qualcuno perchè lui ti paghi su quell'indirizzo, la transazione avverrà con destinazione quell'indirizzo, poichè non è possibile dall'indirizzo stesso ricavare nulla su come sia stato effettivamente generato (se non che la sua codifica in base 58 è stata ottenuta aggiungendo il byte 00 all'inizio della stringa di 160 bit).
Quindi in tal caso nessuno potrebbe smuovere più quei fondi.