Citat:
Ursprungligen postat av
Microserf
En sak som jag inte hittat angående hur Bitcoin fungerar är hur min plånbok vet vilka transaktioner är mina och hur den med hjälp av det räknar ut saldot. Någon som vet?
Såvitt jag förstått så innehåller min plånbok bara min privata nyckel för att signera transaktioner med och även min publika nyckel som den använder för att generera nya adresser som jag kan ta emot på men hur gör den för att hitta vilka transaktioner som är mina när det är en ny adress för varje transaktion?
Sedan några år tillbaka så finns HD-wallets som står för Hierarchical Deterministic. Det fungerar ungefär så att du har då en privat huvudnyckel, (master extended key) som du kan skriva ner på pappersbackup i form av 12-24 engelska ord.
Varje gång du trycker på generera ny adress så tar den huvudnyckeln och lägger till en index-siffra för att generera unika adresser.. och det går i numerisk ordning.
master public key + 0 = adress1
master public key + 1 = adress1
master public key + 2 = adress3
Så när du importerar din privatnyckel i en tom wallet så behöver walleten bara testa generera fram nya addresser i samma mönster, genom att lägga till siffror.. och den fortsätter så längen den hittar balans och slutar när den kommer fram till addresser utan balans.
På detta sättet så kan till synes unika slumpmässiga adresser skapas och eftersom privatnyckeln är hemlig så finns det absolut ingen koppling mellan adresserna och att de skulle vara genererade av samma nyckel.
(OBS: Detta var kanske inte 100% korrekt utan mer enkelt förklarat.)