Vad är proof of work?
Definition · Proof of work (PoW)
Ett system där rätten att lägga till ett block går till den som först hittar en hash av blockhuvudet som är lägre än ett målvärde. Det krävs enormt många gissningar för att hitta den, men bara en hash för att kontrollera den.
Satoshi Nakamoto beskrev det i Bitcoins vitbok år 2008, med Adam Backs Hashcash som grund, en äldre idé för att göra skräppost dyrt att skicka. Den giltiga hashen är beviset. Du kan inte få fram en utan att utföra arbetet, och alla kan se att du har gjort det.
På resten av sidan går vi igenom varje del. Rutan ovan låter dig testa själv: det är ett äkta Bitcoin-headerformat som hashas direkt i webbläsaren. Läs vår kompletta guide till Bitcoin-mining för en större överblick.
Vilket problem löser proof of work?
Bitcoin har inget företag, ingen bank och ingen server som bestämmer. Tusentals datorer har varsin kopia av liggaren och måste komma överens om vilket block som kommer härnäst och i vilken ordning betalningarna skedde. Annars skulle någon kunna spendera samma mynt två gånger.
En enkel omröstning fungerar inte på nätet, eftersom vem som helst kan starta tusen falska datorer och rösta tusen gånger. Det kallas en Sybil-attack. Proof of work rundar problemet: ditt inflytande mäts i hashningar, och hashningar kostar el och hårdvara.
Vem får påverka nästa block?
En röst per nod
En angripare startar 60 falska noder gratis och röstar därmed över de 12 ärliga.
En röst per hash
ärliga miners 88%angripare 12%
Samma 60 noder delar angriparens verkliga hårdvara, så tillsammans motsvarar de fortfarande 12 %. Kopior är gratis, men hashar är det inte.
Vad innehåller ett Bitcoin-blockhuvud?
Miners hashar inte hela blocket. De hashar dess 80 byte långa header, som innehåller en hänvisning till allt annat. Det här är de sex fält du ändrade i rutan högst upp:
| Fält | Byte | Vad det innehåller | Vem ändrar det |
|---|---|---|---|
| Version | 4 | Vilken regeluppsättning blocket följer | Ändras sällan |
| Hash för föregående block | 32 | Hashen för föregående block, som länkar samman kedjan | Ny för varje block |
| Merkle-roten | 32 | Ett enda fingeravtryck av alla blockets transaktioner | Miner, när transaktioner eller extra nonce ändras |
| Tid | 4 | När minern säger att blocket skapades (Unix-tid) | Miner, inom gränserna |
| Bitar | 4 | Målet, packat i 4 byte | Nätverket, var 2 016:e block |
| Nonce | 4 | Ett kostnadsfritt tal att prova igen med | Miner, vid varje gissning |
Eftersom blockhuvudet innehåller hashvärdet för föregående block ändras dess hash om man ändrar ett äldre block. Då stämmer inte nästa blockhuvud längre, och inte heller det efter det. När sidan skapades kontrollerade vi det riktiga genesisblocket från 2009 på vår server med samma kod som används i toppsektionen:
000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f
Hur fungerar SHA-256 i Bitcoin?
SHA-256 omvandlar valfri indata till ett 256-bitars tal, skrivet med 64 hextecken. Bitcoin kör det två gånger på blockhuvudet (det kallas SHA-256d). Egenskaperna som spelar roll för mining är enkla:
Samma in, samma ut
Deterministisk
Samma header ger alltid samma hash, oavsett dator. Därför fungerar kontrollen.
256 bitar
Fast storlek
Oavsett om det är en kort rad eller en hel bok är hashen alltid 64 hexadecimala tecken lång.
Envägs
Ingen genväg tillbaka
Du kan inte räkna ut en indata som ger den hash du vill ha. Du kan bara testa olika indata.
≈ 50%
Lavineffekt
Ändra ett tecken så ändras ungefär hälften av bitarna. Följ rutnätet i toppsektionen.
Den sista egenskapen är själva kärnan i proof of work. En hash som ligger nära målvärdet säger inget om nästa gissning, så det finns ingen smart genväg till ett giltigt block. Alla miners deltar i samma lotteri, och fler hashningar per sekund ger bara fler lotter.
Vad är målet, och varför alla inledande nollor?
Målet är ett 256-bitars tal. Ett block är giltigt när dess hash, läst som ett tal, är lika med eller lägre än målet. Små tal börjar med nollor, så ett lägre mål syns som fler inledande nollor. Varje extra hexnolla innebär i genomsnitt 16 gånger fler gissningar.
Genomsnittligt antal hashberäkningar som krävs för att hitta ett giltigt block
- Testblocket i huvudbilden · 4 inledande hexnollor65,536
- Bitcoins enklaste målvärde (2009) · 8 inledande hexnollor, bitar 1d00ffff4,294,967,296
- Ett Bitcoin-block i dag · ungefär 20 inledande hexadecimala nollor (aktuell uppskattning)4.3 × 1023
Nätverket ändrar målvärdet var 2 016 block, ungefär varannan vecka, så att block fortsätter att komma ungefär var tionde minut oavsett hur mycket hashrate som tillkommer eller försvinner. Just nu ligger nätverkets hashrate på ungefär 712 EH/s (live, uppdateras varje timme). Läs mer om hur justeringen fungerar i vår guide till Bitcoins mining-svårighetsgrad, och om enheterna i vår förklaring av hashrate.
Vad är en nonce och en extra nonce?
Nonce (”tal som används en gång”) är fältet på 4 byte som miners ändrar vid varje gissning. Det är det enda fältet som bara finns till för att ändras. Problemet är att 4 byte bara ger omkring 4,3 miljarder värden, och moderna maskiner går igenom dem nästan direkt.
Minerns loop
- 01
Prova varje nonce
0, 1, 2 och så vidare upp till 4 294 967 295. Det är alla värden som 4 byte kan rymma.
- 02
Ta snabbt slut
En enda maskin på 100 TH/s hinner igenom alla på ungefär 43 miljondels sekund.
- 03
Ändra extra nonce
Minern redigerar ett ledigt fält i sin egen belöningstransaktion (coinbase).
- 04
Ny Merkle-rot
Transaktionen ändrades, så merkle-roten ändras och varje nonce ger nya hashvärden igen.
Därför ändrar miners också en extra nonce, några lediga byte i coinbase-transaktionen, blockets första transaktion som betalar minern. En ny coinbase ger en ny merkle-rot, vilket innebär miljarder nya noncer att testa. I en miningpool ger poolen varje miner ett eget intervall för extra noncer, så att ingen upprepar någon annans arbete.
Varför är det dyrt att hitta ett block men billigt att kontrollera det?
För att hitta ett block
≈ 4.3 × 1023 hashar
Hela nätverket, alla dess maskiner, ungefär tio minuters gissande.
Aktuell uppskattning, uppdateras varje timme.
För att kontrollera
1 hash
Varje nod, till och med en billig laptop, beräknar hashen för blockhuvudet på 80 byte en gång och jämför resultatet med målvärdet på långt under en millisekund.
Minern måste testa hashvärden tills ett hamnar under målvärdet. Alla andra behöver bara hasha blockhuvudet en gång och jämföra. Den här obalansen i kostnad gör att tusentals vanliga datorer kan verifiera kedjan utan att lita på de miners som skapade den.
Testa sökdelen själv här nedanför. Den här demon använder ett enklare blockformat än huvudbilden, men det är samma dubbel-SHA-256-lotteri, och varje block som hittas länkar till det föregående.
Interaktivt · mina ett block i din webbläsare
Riktig SHA-256d proof of work, förenklat header
Blockhash (dubbel SHA-256)
Ändra transaktionerna: hashen ändras helt av bara en enda bokstav.
Försök: 0
Din hashrate: inte tillgängligt
Tid: 0,0 s
Vad är regeln om den längsta kedjan, och vad är en 51%-attack?
Ibland hittar två miners ett block nästan samtidigt, och nätverket får tillfälligt två versioner. Noderna följer kedjan med mest sammanlagt arbete bakom sig. Den kallas ofta den längsta kedjan, men egentligen är det den tyngsta: några block med hög svårighetsgrad kan väga tyngre än fler block med låg svårighetsgrad.
För att ångra en betalning måste en angripare bygga en tyngre kedja än alla andra, med start från före betalningen. Varje nytt block ovanpå (en bekräftelse) gör att angriparen hamnar längre efter. I vitboken räknades sannolikheten ut. Flytta reglaget för att se den:
Interaktivt · kan en angripare komma ikapp?
Formel från Bitcoin-whitepapern, avsnitt 11
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Antal block som angriparen ligger efter (bekräftelser). Staplarna använder logaritmisk skala, från en chans på miljonen till helt säkert.
Med 10% av hashkraften är chansen att skriva om en betalning efter 6 bekräftelser 0,024%, och efter 1 bekräftelse är den 20,5%.
Med 50% eller mer vinner angriparen förr eller senare. Det är en 51%-attack. Den är allvarlig, men har sina begränsningar:
Med större delen av hashkraften kan en angripare
- Ersätta de senaste blocken med sin egen kedja
- Dubbelspendera mynt som de skickat till sig själva
- Utelämna vissa transaktioner ur sina block
Även då kan de inte
- Spendera coins från andras plånböcker
- Skapa mynt utöver blockbelöningen
- Ändra Bitcoins regler för alla andra
Därför väntar börser på flera bekräftelser vid stora insättningar. Sex är en vanlig tumregel.
Varför använder proof of work så mycket energi?
För att det är energin som står för säkerheten. Ett giltigt block bevisar att verklig el har förbrukats. För att skriva om historien måste en angripare förbruka minst lika mycket energi till och fortsätta medan det ärliga nätverket går vidare.
Vart energin går och vad den ger
Blockbelöning och avgifter
Nya BTC plus avgifter för varje block, till den som hittar det.
Maskiner och el
Miners lägger som mest så mycket som belöningen är värd för dem.
Nätverkets hashrate
Allt det här spenderandet syns som hashningar per sekund.
Kostnad för att skriva om historiken
En angripare måste lägga mer arbete än alla andra tillsammans, block för block.
Hur mycket el det handlar om och var den kommer ifrån är en rimlig fråga att diskutera. Cambridge-indexet följer uppskattningar, och i vår guide till Bitcoins energiförbrukning vid mining går vi igenom siffrorna. Varje halvering minskar den del av belöningen som består av nya mynt. Med tiden måste avgifterna därför stå för en större del av säkerhetsbudgeten.
Proof of work jämfört med proof of stake: vad är skillnaden?
Proof of stake (PoS) väljer nästa blockproducent bland personer som låser sina mynt som insättning, i stället för bland personer som förbrukar el. Ethereum gick över från proof of work till proof of stake år 2022. Här är en rättvis jämförelse sida vid sida:
| Proof of work | Proof of stake | |
|---|---|---|
| Vem lägger till nästa block | Den första minern som hittar en hash under målvärdet | En validator som väljs i proportion till sin insats |
| Vad som skyddar det | El och hårdvara som går åt utanför kedjan | Mynt som låsts i kedjan och kan tas ifrån dig vid fusk |
| Energiförbrukning | Hög, med flit | Låg |
| För att delta | Maskiner och billig el | Mynt att staka |
| Avveckling | Blir säkrare för varje bekräftelse | Uttryckliga finalitetskontrollpunkter |
| Främsta kritiken | Energiförbrukning och koncentration av mining | Koncentration av insats och en mer komplex design |
| Historik | Bitcoin sedan 2009 | Ethereum, sedan 2022 |
Utvecklarna bakom Bitcoin har behållit proof of work eftersom kostnaden ligger utanför systemet. Därför kan ingen köpa sig kontroll med mynt som personen redan äger. Förespråkare för proof of stake lyfter fram den lägre energiförbrukningen och snabbare slutgiltigheten.
Can you get mining rewards without running proof of work yourself?
Yes. With CloudMineCrypto you mine bitcoin for free from your phone or browser, with no hardware, noise or power bill. Claim the free 8-hour plan, and add more free plans by watching ads, playing games, completing offers and checking in daily. Your estimated BTC ticks up while your plans run, and you withdraw to your own wallet, Lightning included.
Each plan has a hashrate, and your estimate is that hashrate’s share of the whole network, times 6 blocks an hour, times the block reward. That’s the formula the app uses to estimate your rewards (rules and limits apply). Want more speed? Paid plans are an optional boost for fun. They usually mine less than they cost, and the price is shown before you confirm.
Bra att veta: belöningarna är uppskattningar som varierar med nätverket och inte är garanterade, och en plan innebär inte att du äger någon maskin eller pool. Gränser eller verifiering kan gälla för uttag. Läs mer i belöningsreglerna och gratisguiden till Bitcoin-mining. Villkor gäller.
Vanliga frågor
Vad är proof of work, enkelt förklarat?
Det är ett sätt att göra det resurskrävande att lägga till ett block. Miners hashar blockets header om och om igen och ändrar ett tal som kallas nonce tills resultatet hamnar under ett målvärde. Det krävs enormt många gissningar för att hitta hashen, men vem som helst kan kontrollera den med en enda hashning.
Vad är en nonce i Bitcoin?
Ett 4 byte stort tal i blockhuvudet som miners ändrar vid varje gissning. Det har ungefär 4,3 miljarder möjliga värden. När alla har använts ändrar miners en extra nonce i coinbase-transaktionen. Det ger en ny Merkle-rot och en ny uppsättning hashningar.
Varför använder Bitcoin SHA-256 två gånger?
Bitcoin hashar blockhuvudet på 80 byte med SHA-256 och hashar sedan resultatet en gång till. Satoshi förklarade aldrig varför. Den vanliga tolkningen är att det skyddar mot length extension-attacker och ger en extra säkerhetsmarginal.
Vad kan någon göra med en attack på 51 %?
Den som har merparten av hashraten kan skapa en längre kedja i hemlighet och ersätta de senaste blocken. Då kan personen dubbelspendera sina egna coins eller blockera vissa transaktioner. Personen kan inte spendera andras coins, skapa fler coins än reglerna tillåter eller ändra reglerna för alla.
Är proof of stake bättre än proof of work?
Det använder mycket mindre energi, och säkerheten bygger på mynt som låses som insats. Proof of work knyter säkerheten till en extern kostnad: el och hårdvara. Det har säkrat Bitcoin sedan 2009. De två metoderna innebär olika avvägningar, så vilken som är bäst beror på vad du värdesätter.
Can I get bitcoin mining rewards without my own hardware?
Yes. In the CloudMineCrypto app you claim free mining plans (the free plan, ads, games, offers and a daily check-in) and your estimated BTC ticks up while they run, then you withdraw to your own wallet. Rewards are estimates based on your plan’s hashrate and live network data, they aren’t guaranteed, and a plan doesn’t give ownership of any hardware.
Källor och vidare läsning
- Bitcoin: A Peer-to-Peer Electronic Cash System (whitepaper) · Satoshi Nakamoto, bitcoin.org
- Guide till blockkedjan: blockheaders, proof of work, coinbase · Bitcoin utvecklardokumentation
- Miningguide: solo-mining, pooler, getblocktemplate · Bitcoin utvecklardokumentation
- Svårighetsgrad · Bitcoin Wiki
- Bekräftelse · Bitcoin Wiki
- Cambridge Bitcoin Electricity Consumption Index · Cambridge Centre for Alternative Finance
- Miningöversikt: hashrate, svårighetsgrad, senaste block · mempool.space
Aktuella siffror på den här sidan hämtas från CloudMineCrypto API eller från de publika blockkedjedatatjänster som anges bredvid dem. De uppdateras enligt ett schema och märks ut där de visas. Den här guiden är till för att lära dig mer och är inte finansiell rådgivning. CloudMineCrypto är ingen investeringsprodukt. Belöningarna i appen är uppskattningar och inte garanterade.
Nu har du läst hur det funkar. Nu kan du se det hända.
Hämta en gratis 8-timmars miningplan i CloudMineCrypto-appen och se din uppskattade BTC ticka uppåt utifrån live-data från nätverket. Ingen hårdvara, inget kort.