Hva koster det å foreta en Bitcoin-transaksjon, hvor mye må du betale i transaksjonsavgifter? Svaret er slett ikke så enkelt som du kanskje tror, men avhenger av faktorer du ofte ikke kjenner til i det hele tatt.
Overføringer av penger er nesten alltid forbundet med en eller annen form for avgift, og dette gjelder også Bitcoin, men detaljene er veldig forskjellige fra tradisjonelle systemer. Enten det er kortbetalinger, internasjonale bankoverføringer eller valutaveksling, er det vanlig at du betaler en prosentandel av beløpet i gebyrer til den personen som utfører tjenesten for deg. Vi er vant til at selskaper belaster gebyrer på denne måten og tar det for gitt, selv om gebyret sjelden har noen direkte tilknytning til kostnadene selskapet har for å gjennomføre transaksjonen. Vi forstår at det ikke er vanskeligere for VISA å behandle en betaling på 1000 NOK enn en på NOK 500, men likevel må forhandleren ofte betale et gebyr som er en fastsatt prosent av beløpet.
HVORDAN BITCOIN TRANSAKSJONER FUNGERER
Bitcoin er annerledes. For det første er det faktisk helt valgfritt å betale et transaksjonsgebyr, og i løpet av de første årene var det fullt mulig å få sendt transaksjonen din i blokkjeden uten å betale noe gebyr i det hele tatt. Så hvorfor er det nødvendig å betale transaksjonsavgifter for å sende Bitcoin? For å forstå det, må vi se på hva minerene gjør.
En miner utfører mange beregninger så raskt som mulig for å bli den som gjennom et slags lotteri får privilegiet for å lage en ny blokk i blokkjeden. En blokk inneholder en liste med transaksjoner og nøyaktig hvilke som faktisk inkluderes er opp til minerene å bestemme. Andre deltakere i nettverket vil kun kontrollere at transaksjonene er gyldige, at de oppfyller reglene for hvordan en transaksjon skal se ut.
Minere har så mye frihet til å velge transaksjoner fordi det i et desentralisert system er veldig vanskelig å kontrollere at en gruvearbeider inkluderer visse spesifikke transaksjoner, f.eks:
«Alle transaksjoner med et gebyr større enn X».
Dette er fordi når transaksjoner sendes ut på nettverket, er det forskjellige hvor lang tid det tar for dem å nå forskjellige mottakere, og vi kan ikke engang være sikre på at en bestemt miner i det hele tatt har sett en bestemt transaksjon (kanskje det var et midlertidig nettverksproblem). Så det må være opp til mineren å bestemme nøyaktig hvilke transaksjoner som er inkludert, men siden det er mange forskjellige minere, betyr det fortsatt at det aldri kan være snakk om sensur av en bestemt type transaksjoner osv.
Det er normalt sett ikke mulig for en miner å inkludere alle transaksjoner som sendes fordi det er en øvre grense for hvor stor en blokk kan være (hvor mye data den kan inneholde, ikke hvor store beløpene kan være). Denne blokkstørrelsesbegrensningen eksisterte ikke fra begynnelsen, men ble lagt til av Satoshi tidlig i Bitcoins historie pga bekymring for visse typer angrep (f.eks. kunne man forestille seg at noen lager så store blokker at resten av nettverket fikk problemer med å håndtere dem). Begrensningen betyr at en miner må velge hvilke transaksjoner som skal inkluderes, og det er her gebyrene kommer inn i bildet.
En valgfri avgift kan knyttes til hver transaksjon, og disse avgiftene går til mineren, så det er i minerens interesse å prøve å fange opp så mye avgifter som mulig.
Ulike transaksjoner har forskjellige størrelser, noe som skyldes tekniske detaljer som vi ikke går inn på her, men f.eks. kan en transaksjon være større hvis du mottok mange små beløp og deretter prøvde å sende hele beløpet. Mineren vil dermed ikke nødvendigvis velge de transaksjonene som har høyest gebyr, men generelt de som har høy avgift i forhold til størrelsen.
Det er ikke sikkert at dette vil være nøyaktig det valget (se eksemplet nedenfor), men i prinsippet vil transaksjoner med høyere avgifter, målt i satoshi/bytes, bli inkludert før de med lavere. Hvis vi later som om en blokk kan være 1000 byte, hvilken av følgende transaksjoner vil en miner inkludere?
AVGIFTSMARKED
Det faktum at ikke alle transaksjoner kan inngå i en blokk, kan faktisk sees på som en funksjon fordi en situasjon der alle transaksjoner kan finne sted, vil presse gebyrene ned til null, eller i det minste svært nær null. Så hvorfor er det en dårlig ting? Ja akkurat nå betyr det kanskje ikke så mye fordi minere også får en blokkbelønning i form av nyopprettede bitcoin (for øyeblikket 6,25 bitcoin per blokk), men i det lange løp vil denne blokkbelønningen nærme seg null, og da er det det eneste incentivet som minere har for å bruke datakraften sin den andre belønningen de får i form av transaksjonsgebyrer.
For at Bitcoin skal være sikker mot såkalte 51% angrep, er faktisk viktig at det brukes mye ressurser på mining, og det er derfor også viktig at det er transaksjonsgebyrer å samle inn. Situasjonen der det er konkurranse om plass i blokkene og hvor det er den vedlagte avgiften du konkurrerer med, kalles vanligvis et avgiftsmarked, noe som kanskje er litt misvisende uttrykk fordi det som tilbys på markedet er blokkplass. I alle fall er det et relevant konsept for at Bitcoin-nettverkets sikkerhet skal bestå.
MEMORY POOL
Transaksjonene som en miner må velge mellom på et gitt tidspunkt kalles vanligvis minerens mempool («memory pool» dvs. transaksjonene som Bitcoin-minerene har i datamaskinens minne). For å vite hvor mye avgift du skal legge til for å ha en sjanse til å få transaksjonen din i neste blokk, er det derfor godt å vite hvilke transaksjoner som for øyeblikket er i mempoolen, slik at du vet hva du har å konkurrere mot. Hvis alle andre transaksjoner har et lavt gebyr knyttet til transaksjonene, trenger du heller ikke legge et spesielt høyt gebyr. Imidlertid er det store vanskeligheter med å gi et estimat for dette fordi man ikke vet når neste blokk kommer.
La oss si at du sender ut en transaksjon umiddelbart etter at en ny blokk er opprettet. Du vet at det i gjennomsnitt kommer nye blokker hvert tiende minutt, og du vet omtrent hvor mange transaksjoner som vanligvis vises i løpet av en timinutters periode, slik at du kan gjette hvor mye du trenger å betale i gebyr. Beregningen kan imidlertid være veldig feil fordi selv om 10 minutter er gjennomsnittstiden mellom to blokker, kan den være både kortere og lengre, og hvis du er uheldig kan det ta en time, eller kanskje til og med lengre. Når en time har gått etter at du sendte ut transaksjonen, vil det være mange transaksjoner i mempoolen, og konkurransen om å bli med i neste blokk er tøffere.
Dette vil presse gebyrene oppover, og de som sender ut transaksjonen har nå en mye bedre ide om hvilket gebyr som kreves enn hva du hadde for en time siden. I perioder som dette, når blokker blir mer sparsomme, vil det bygge seg opp en større mengde transaksjoner, og det kan noen ganger ta ganske lang tid før den synker til et normalt nivå igjen. Transaksjonen du opprettet for en time siden som så ut til å ha stor sjanse for å bli med i blokkjeden i løpet av 10 minutter, kan i stedet måtte vente i 6 timer.
Mempool.space er en side med god visualisering av hvordan memepoolen øker og avtar, og hvor mye gebyr som kan være nødvendig i nåværende tidspunkt.
LØSNING FOR USENDT TRANSAKSJON: ERSTATT TRANSAKSJONEN
En løsning på problemet ovenfor med å estimere gebyrets størrelse er å erstatte transaksjonen med en ny med et høyere gebyr. Hvis du angir dette valget når du oppretter transaksjonen (som noen lommebøker støtter), vil minere akseptere at du senere vil sende ut en ny transaksjon som er ment å erstatte den første (dvs. hvis du gjør dette før den er inkludert i en blokk). Det er egentlig bare et ønske, for som du husker, kan minere velge å inkludere nøyaktig hvilken transaksjon de vil ha, men siden gruvearbeidere generelt vil tjene så mye penger som mulig, er det sannsynlig at de vil inkludere din nye transaksjon hvis den har en høyere avgift enn originalen.
I beste fall kan det være at din kryptovaluta-lommebok har en funksjon som (hvis du sier at transaksjonen din er viktig) automatisk overvåker mempoolen og sender ut erstattede transaksjoner for å hele tiden å sikre at du blir inkludert i neste blokk i blokkjeden. Men husk, selv med en slik funksjon, vet du ikke om det vil ta 10 minutter eller en time.
SLUTTORD
De fleste lommebøker er relativt enkle og gir deg vanligvis valg som «rask transaksjon (kommer med 1-2 blokker)» og «treg transaksjon» eller noe lignende. Det er bra å forenkle for brukeren, men det kan også være bra at brukerne forstår at disse tallene er langt fra sikre.
Konklusjonen er at du ikke skal sette deg i en situasjon der det er viktig at transaksjonen din sendes innen f.eks. halvtime. Bitcoin-transaksjoner kan ta litt tid, så det er ganske enkelt, men når en Bitcoin-transaksjon har gått gjennom, og du har ventet noen flere blokker, har du en transaksjon som er skrevet i stein på en helt annen måte enn de elektroniske transaksjonene du er vant til. Andre typer transaksjoner. som kortbetalinger, bankoverføringer og Paypal, kan trekkes tilbake i lang tid etter at du tror transaksjonen faktisk er «fullført». Med Bitcoin er en transaksjon virkelig fullført, og det er ingen som kan angre eller gjenopprette en slik transaksjon, som er en av Bitcoins virkelig unike funksjoner.