Hva er en Bitcoin?
November 20, 2015Mange funderer på hva en bitcoin egentlig er...
Hvordan ser en bitcoin ut? Er den en slags datafil? Eller en post i en database? Eller kanskje noe annet? Hvor ligger dette noe i så fall?
Bitcoins blir under handel tilsynelatende sendt direkte fra èn "wallet" til en annen "wallet". En kan anta at dette skjer gjennom en form for peer-to-peer; noe som ligner på bittorrent kanskje?
Det er lett å danne seg et fantasibilde av at alle dine bitcoins fysisk ligger i en "wallet", og at du overfører bitcoins til noen andre sin "wallet" i det du bruker dem.
Det er helt greit å se det for seg slik, men dette er i beste fall et forenklet bilde.
Jeg skal fortelle deg en liten hemmelighet. Bitcoins ligger ikke i en "wallet". Din "wallet" inneholder i bunn og grunn bare et nøkkelpar; en offentlig og en privat nøkkel.
Den offentlige nøkkelen kan kalles "kontonummeret" ditt, og den private nøkkelen blir da tilhørende "PIN-kode". Dette nøkkelparet gir deg full tilgang til din Bitcoin -"konto". Du kan med nøkkelparet betale og signere transaksjoner.
En kan trygt dele "kontonummeret" sitt med verden, men "PIN-koden" må en holde strengt hemmelig.
Ved å besitte kun den offentlige nøkkelen ("kontonummeret") kan en se balansen til "kontoen", og betale inn til den. Ingen kan i utgangspunktet vite hvem eieren er, for "kontonummeret" er ikke koblet til person. Den offentlige nøkkelen fungerer som et pseudonym.
Denne "kontoen" er registrert på internett i Blockchain (i skyen så og si). Det blir som å ha en "konto" i en "fri bank", som du og alle andre eier og driver.
Faktisk kan, helt enkelt, en liten papirlapp fungere som "wallet". På papirlappen skrives da kun disse to nøklene. Hvis hukommelsen din er eksepsjonell kan du memorere nøklene, og kalle hjernen din for "wallet".
I prinsippet er de to nøklene alt en "wallet" er!
All kompleksitet utover dette er typisk for å holde privatnøkkelen sikker, og for å gjøre handel med Bitcoin mer brukervennlig.
Så ligger dine Bitcoins da i Blockchain? ...Ja, på en måte, og nei, ikke helt...
Blockchain er en kronologisk oversikt av alle transaksjoner som er registrert, helt siden starten. Den holder sirlig rede på alle transaksjoner som har skjedd, inn og ut, fra alle sine konti.
Det går en rød tråd gjennom Blockchain, som viser hvor strømmen av bitcoins hele tiden beveger seg.
Balansen til en "konto" er summen av alt det andre har sendt til den, betalt deg, pluss vekslebeløp fra betalinger en selv har gjort. Selvfølgelig, ekslusiv det som allerede er forbrukt, betalt videre! Hver innbetaling fra andre til deg, og hvert returnert vekslebeløp til deg selv omtales som restverdier.
Restverdiene kalles, på stammespråket, ubrukte utgangsverdier eller på engelsk "Unspent Transaction Outputs" (UTXO). Totalverdien til ens balanse må til enhver tid utregnes. Den er summen av UTXO for alle transaksjoner, som den "kontoen" noen gang har fått signert med sin offentlige nøkkel. Disse kan bare låses opp med eierens privatnøkkel.
Nettverket oppdaterer heldigvis kontinuerlig en slags UTXO-database, som gjør at denne beregningen ikke må gjøres av brukerene hver gang.
Det hjelper å tenke på Blockchain som en komplett transaksjonshistorikk for Bitcoin-økonomien helt fra starten til nå, og derav en utledet balanseoversikt.
Hver transaksjon går alltid i null. Alt som går inn i en transaksjon må gå ut igjen. Av det som er til overs, etter at mottageren(e) har fått sitt, går noe til evt transaksjonsavgift, og resten går tilbake til eieren i form av ubrukt utgangsverdi (UTXO). Vekslepenger.
Hvordan oppstår da flere UTXO pr "konto"? Jo, det skjer hver gang noen betaler inn beløp til kontoen din. Alle innbetalinger ligger som egne UTXO'er rundt omkring, inntil du utfører handler som smelter dem sammen.
Se for deg balansen din som en "pengesekk" med alle dine tidligere UTXO'er. Når èn eller flere av dine UTXO'er blir brukt i en transaksjon, så kvitter du deg med dem i sin helhet. Tilbake står du med en ny UTXO med restbeløpet fra den transaksjonen. Hver gang du betaler til noen andre, så rydder du i alle småpengene dine.
Dette er nesten som når du betaler med kontanter. Du har to 50-lapper, og skal betale 90 kr til noen. Da får du 10 kr tilbake, og begge 50-lappene du hadde har du gitt bort.
Så dermed, for å illustrere:
- Èn UTXO er altså som èn "pengeseddel", og du eier en "pengesekk" med sedler.
- Denne "pengesekken" ligger i Blockchain, distribuert på internett.
- Nøklene til "pengesekken" ligger i din "wallet".