Citat:
Ursprungligen postat av
Coloss
Teknisk fråga
-----------------------------
Bitcoin Armory på offline dator: Create Wallet. Resulterar i en bitcoin adress med privat nyckel.
Online dator: Söker på bitcoin adressen, den finns, inga bitcoins där ännu, privata nyckeln fungerar till adressen.
Slutsats: Bitcoin adressen fanns på blockkedjan från början.
Kan någon hjälpa mig förstå, hur hittades den privata nyckeln?
Skulle jag kunna välja vilken Bitcoin adress Armory(plånboksklienten) ska skapa åt mig, förstår ni problemet då?
Kort svar:
Du kan inte välja vilken Bitcoin adress Armory skall skapa för dig.
Efterfrågar du att ha specifika tecken som bildar ord i din bitcoin adress, är det enda sättet att uppnå detta att helt enkelt testa att generera mängder med privata nycklar, för att tillslut lyckas generera en privat nyckel vars motsvarande adress har de tecken du efterfrågar.
Ett exempel på en sådan adress som har tecken som bildar ord i sig, är donations adressen till Dorian Nakamoto: 1Dorian4RoXcnBv9hnQ4Y2C1an6NJ4UrjX
Ju fler specifika tecken i adressen du efterfrågar, desto fler privata nycklar behöver testas. Detta gör att adresser med väldigt många specifika tecken i praktiken blir omöjliga att generera (exmpelvis 25 specifika tecken), eftersom chansen att hitta en privat nyckel vars motsvarande adress innehåller så många specifika tecken är extremt låg.
Förklarande svar:
En bitcoin adress är en hash av en publik nyckel. En publik nyckel är egentligen bara ett
nummer inom en bestämd nummerserie (tänk t.ex. att om nummerserien är 3-17, så är 5 en giltig publik nyckel).
Eftersom alla bitcoin klienter (som exempelvis Bitcoin Armory), vet vilka regler som gäller för blockkedjan (exempelvis vilken nummerserien är för de publika nycklarna), kan därför alla bitcoin klienter se om den hash du söker på är en giltig bitcoin adress eller inte. Om hashen är en giltig adress, kommer klienten visa vilka transaktioner som skickats till adressen. Därmed visas även de bitcoins som skickats till adressen. Detta innebär även att en adress inte behöver ha några transaktioner skickade till sig för att klienten skall anse att den är giltig och visa upp den. Adressen behöver endast vara giltig enligt de regler som gäller för blockkedjan.
Notera nu att bara för att du kan ange en adress är giltig enligt bitcoin blockkedjans regler, innebär inte detta att någon någonsin har genererat en privat nyckeln som kan spendera de bitcoins som är skickade till adressen.
En privat nyckeln är också bara ett nummer. För bitcoin är privata nycklar ett nummer någonstans i nummerserien mellan 1 och strax under 2^256.
En privat nyckel har en motsvarande publik nyckel som i sin tur har en motsvarande bitcoin adress. Den publika nyckeln nås genom att köra en bestämd matematisk formel på den privata nyckeln. Därmed kan du bevisa att du äger de bitcoins som är skickade till en adress genom att visa en privat nyckel, som när den körs genom den bestämda matematiska formeln genererar en giltig publik nyckel vars hash är bitcoin adressen du försöker bevisa att du äger bitcoinsen för.
Slutligen:
Det är inte möjligt att gå från den publika nyckeln tillbaka till den privata nyckeln. De matematiska reglerna gör det endast möjligt att gå en väg: Från den privata nyckeln till den publika, och sedan räkna ut adressen genom att hasha den publika nyckeln. Av den här anledningen är det omöjligt att välja en bitcoin adress, och därefter räkna ut vilken den privata nyckeln är som kan spendera de bitcoins som skickas till den. Du kan som sagt bara gå åt andra hållet, genom att starta från den privata nyckeln.
Det är däremot möjligt att räkna ut och välja en adress som är giltig, utan att du för den delen har den privata nyckeln till adressen. Ett exempel på detta är följande adress:
1BitcoinEaterAddressDontSendf59kuE
Den adressen är giltig eftersom den uppfyller alla regler som ställs av bitcoin blockkedjan, men vi vet samtidigt att ingen någonsin har genererat den privata nyckeln som kan spendera de bitcoins som skickats till den. Anledningen till detta är att chansen att generera en privat nyckel vars motsvarande adress innehåller så många specifika tecken är så extremt liten, att det är i praktiken omöjligt. Detta innebär att alla bitcoins som skickas till den adressen, aldrig mer kommer att kunna spenderas.