Vad Àr arbetsbevis?
Hem
Artiklar
Vad Àr arbetsbevis?

Vad Àr arbetsbevis?

Avancerad
Publicerad Dec 6, 2018Uppdaterad Apr 18, 2024
10m

Huvudsakliga punkter

  • Bevis pĂ„ arbetsinsats Ă€r en konsensusmekanism som skapats för att förhindra dubbla utgifter i digitala betalningssystem.

  • Bevis pĂ„ arbetsinsats Ă€r en viktig del av utvinningsprocessen, som innebĂ€r att man lĂ€gger till nya transaktionsblock i blockkedjan och skapar nya enheter av kryptovaluta.

  • Bitcoin och mĂ„nga andra kryptovalutor anvĂ€nder bevis pĂ„ arbetsinsats som en metod för att sĂ€kra sitt blockkedjenĂ€tverk och sina data.

Introduktion

Kort sagt Àr bevis pÄ arbetsinsats en mekanism som skapats för att förhindra dubbla utgifter i digitala betalningssystem. Bitcoin och mÄnga andra kryptovalutor anvÀnder bevis pÄ arbetsinsats som en metod för att sÀkra sina blockkedjenÀtverk och data. SÄdana mekanismer kallas ofta för konsensusalgoritmer eller konsensusmekanismer, eftersom de innebÀr att flera parter uppnÄr konsensus utan att behöva lita pÄ varandra.

Bevis pÄ arbetsinsats var den första konsensusalgoritmen som dök upp, och den Àr fortfarande en av de viktigaste tillsammans med bevis pÄ insats. Den introducerades av Satoshi Nakamoto i Bitcoin White Paper 2008, men sjÀlva tekniken var uttÀnkt lÄngt innan dess.

Adam Backs HashCash Àr ett tidigt exempel pÄ ett bevis pÄ arbetsinsats-algoritm under dagarna före kryptovaluta. Genom att krÀva att avsÀndaren utför en liten mÀngd berÀkningar innan hen skickar ett e-postmeddelande kan mottagaren fÄ mindre spam. Den hÀr berÀkningen skulle praktiskt taget inte kosta nÄgot för en legitim avsÀndare, men det skulle snabbt bli stora summor för nÄgon som skickar massor av e-post.

Vad Àr en dubbelutgift?

En dubbelutgift uppstĂ„r nĂ€r samma tillgĂ„ngar spenderas mer Ă€n en gĂ„ng. Termen anvĂ€nds nĂ€stan uteslutande i samband med digitala pengar – trots allt skulle det vara svĂ„rt att spendera samma fysiska pengar tvĂ„ gĂ„nger. 

NÀr du betalar för en kaffe idag lÀmnar du över kontanter till en kassörska som förmodligen lÄser in dem i kassan. Du kan inte gÄ till kaféet tvÀrs över gatan och betala för en till kaffe med samma rÀkning. Men i digitala kontantsystem finns möjligheten att du kan göra detta. 

Du har sÀkert kopierat en datorfil innan du anvÀnder kopiera-och-klistra-kommandona. Det Àr ocksÄ enkelt för dig att e-posta samma fil till dussintals personer. Eftersom digitala pengar bara Àr data, mÄste du förhindra att personer kopierar och spenderar samma enheter pÄ olika platser. Ett digitalt betalningssystem som misslyckas med att förebygga dubbelt spenderande kollapsar pÄ nolltid.

För en mer djupgÄende inblick i dubbel spendering kan du kolla in Vi förklarar dubbel spendering.

Varför krÀvs bevis pÄ arbetsinsats?

Om du har lÀst vÄr artikel om blockkedjeteknikvet du att kryptovalutaanvÀndare stÀndigt skickar transaktioner till nÀtverket. Dessa transaktioner anses dock inte vara giltiga direkt. Det sker bara nÀr de bekrÀftas och lÀggs till i blockkedjan.

Bitcoin-blockkedjan fungerar till exempel som en offentlig transaktionsdatabas (ledger) som alla anvÀndare kan se. FörestÀll dig det sÄ hÀr: du och tre vÀnner har ett anteckningsblock för att spÄra era bitcoin-transaktioner. Varje gÄng nÄgon av er vill göra en vÀrdeöverföring skriver ni ner det:

Alice betalar Bob 5 BTC; Bob betalar Carol 2 BTC, och sÄ vidare.

Men varje gÄng du gör en transaktion hÀnvisar du till transaktionen varifrÄn pengarna kom. SÄ om Bob betalade Carol med 2 BTC skulle posten faktiskt se ut sÄ hÀr: 

Bob betalar Carol 2 BTC som kom frÄn denna tidigare transaktion med Alice.

Nu har vi ett sÀtt att spÄra enheterna. Om Bob försöker göra en annan transaktion med samma enheter som han just skickade till Carol kommer alla att veta om det direkt. Gruppen tillÄter inte att transaktionen lÀggs till i anteckningsblocket, eftersom dessa 2 BTC redan har anvÀnts.

Det hÀr fungerar bra i en liten grupp. Alla kÀnner varandra, sÄ de kommer förmodligen överens om vem av vÀnnerna som ska lÀgga till transaktionerna i anteckningsblocket. Vad hÀnder om vi vill ha en grupp pÄ 10 000 personer? Anteckningsblocksidén kan inte skalas sÄ bra, eftersom ingen vill lita pÄ att en frÀmling hanterar den.

Det Àr hÀr bevis pÄ arbetsinsats kommer in i bilden. Det sÀkerstÀller att anvÀndarna inte spenderar pengar som de inte har rÀtt att spendera. Genom att anvÀnda en kombination av spelteori och kryptografi gör algoritmen för bevis pÄ arbetsinsats det möjligt för vem som helst att uppdatera blockkedjan enligt systemets regler.

Hur fungerar bevis pÄ arbetsinsats?

FörestĂ€ll dig att vĂ„rt anteckningsblock frĂ„n exemplet ovan Ă€r blockkedjan. Men vi lĂ€gger inte till transaktioner en efter en – istĂ€llet klumpar vi ihop dem i block. Vi tillkĂ€nnager transaktionerna till nĂ€tverket, sedan kommer anvĂ€ndaren som skapar ett block att inkludera det i ett kandidatblock. Transaktionerna kommer bara att anses giltiga nĂ€r dess kandidatblock blir ett bekrĂ€ftat block, vilket betyder att det har lagts till i blockkedjan.

Processen att validera transaktioner och lÀgga till nya block kallas utvinning. Det Àr dyrt och svÄrt, men det kan ocksÄ vara givande. Blockbelöningen bestÄr av transaktionsavgifter frÄn anvÀndare och helt nya bitcoin som skapats av protokollet. 

Bevis pÄ arbetsinsats-mekanismen krÀver att en miner (anvÀndaren som skapar blocket) investerar resurser som elektricitet och datorkraft för att hasha sitt kandidatblocks data tills en lösning pÄ ett pussel hittas.

Hashning av blockets data innebĂ€r att du skickar den genom en hashfunktion för att generera en blockhash. Blockhashen fungerar som ett "fingeravtryck" – det Ă€r en identitet för din indata och Ă€r unik för varje block.

Med andra ord mÄste en miner verifiera och samla in vÀntande transaktioner, organisera dem i ett kandidatblock och skicka blockets data genom en hashfunktion för att skapa en giltig hash. Om de lyckas hitta en giltig hash till sitt kandidatblock sÀnder de det till nÀtverket, lÀgger till blocket i blockkedjan och samlar in utvinningsbelöningarna.

NÀr en miner sÀnder sitt kandidatblock och sin hash till nÀtverket kommer andra nÀtverksdeltagare att upprepa hashprocessen för att verifiera att utdata verkligen Àr giltiga. 

Även om det tar otaliga hashförsök att hitta en giltig hash Ă€r det enkelt för vem som helst att bekrĂ€fta att den genererade hashen Ă€r korrekt. De behöver bara skicka samma indata (blockdata) via hashfunktionen och kontrollera om utgĂ„ngen Ă€r densamma.

I bevis pÄ arbete mÄste du tillhandahÄlla data vars hash matchar vissa villkor. Men du vet inte hur du ska ta dig dit. Ditt enda alternativ Àr att skicka dina data genom en hashfunktion och kontrollera om de matchar villkoren. Om de inte gör detta mÄste du Àndra dina data nÄgot för att fÄ en annan hash. Att Àndra bara ett tecken i dina data kommer att resultera i ett helt annat resultat, sÄ det finns inget sÀtt att förutsÀga vad utdata kan vara.

Om du vill skapa ett block spelar du dÀrför ett gissningsspel. Du tar vanligtvis information om alla transaktioner som du vill lÀgga till och en del annan viktiga data och hashar sedan ihop allt. Men eftersom din datauppsÀttning inte Àndras, mÄste du lÀgga till en information som Àr variabel. Annars skulle du alltid fÄ samma hash som utdata. Denna variabla data Àr vad vi kallar en nonce. Det Àr ett nummer som du Àndrar för varje försök, sÄ du fÄr en annan hash varje gÄng.

Sammanfattningsvis Àr utvinningsprocessen att samla blockkedjedata och hasha dessa tillsammans med en nonce tills du hittar en viss hash. Om du hittar en hash som uppfyller villkoren i protokollet fÄr du rÀtt att sÀnda det nya blocket till nÀtverket. Vid denna tidpunkt uppdaterar de andra deltagarna i nÀtverket sina blockkedjor för att inkludera det nya blocket.

För stora kryptovalutor idag Àr villkoren otroligt utmanande att uppfylla. Ju högre hashfrekvens pÄ nÀtverket desto svÄrare Àr det att hitta en giltig hash. Detta görs för att sÀkerstÀlla att block inte hittas för snabbt.

Som du kanske kan tÀnka dig kan det bli dyrt att försöka gissa enorma mÀngder hash pÄ din dator. Du slösar bort berÀkningscykler och elektricitet. Protokollet kommer dock att belöna dig med kryptovaluta om du hittar en giltig hash.

LÄt oss sammanfatta vad vi lÀrt oss hittills:

  • Utvinning Ă€r svĂ„rt och dyrt, men ger sĂ€kerhet till nĂ€tverket.

  • Miners som lyckas producera ett giltigt block belönas med nyutgivna kryptovalutor och transaktionsavgifter.

  • Att generera en giltig hash tar tid, men andra anvĂ€ndare kan enkelt kontrollera dess giltighet genom att upprepa hashprocessen.

Än sĂ„ lĂ€nge lĂ„ter allt bra. Men vad hĂ€nder om du försöker fuska? Vad hindrar dig frĂ„n att lĂ€gga till ett gĂ€ng falska transaktioner i blocket och producera en giltig hash?

Det Àr dÀr kryptografi med en offentlig nyckel kommer in. Vi gÄr inte in pÄ djupet om detta i den hÀr artikeln, men kolla in Vad Àr kryptografi med offentlig nyckel? för en omfattande överblick. Kort sagt anvÀnder vi nÄgra snygga kryptografiska knep som gör att alla anvÀndare kan verifiera om nÄgon har rÀtt att flytta tillgÄngarna de försöker spendera.

NÀr du skapar en transaktion signerar du den. Vem som helst i nÀtverket kan jÀmföra din signatur med din offentliga nyckel och kontrollera om de matchar. De kommer ocksÄ att kontrollera om du faktiskt kan spendera dina tillgÄngar och att summan av dina insatser Àr högre Àn summan av dina utgÄngar (det vill sÀga att du inte spenderar mer Àn du har).

Varje block som inkluderar en ogiltig transaktion avvisas automatiskt av nÀtverket. Det blir dyrt för dig att ens försöka fuska. Du kommer att slösa bort dina egna resurser utan nÄgon belöning.

DÀri ligger styrkan med bevis pÄ arbetsinsats: det gör det dyrt att fuska, men lönsamt att agera Àrligt. Varje rationell miner kommer att söka avkastning pÄ sin investering, sÄ de kan förvÀntas bete sig pÄ ett sÀtt som mer sannolikt ger intÀkter.

Arbetsbevis (Proof of Work/PoW) kontra insatsbevis (Proof of Stake/PoS)

Det finns mÄnga konsensusalgoritmer förutom bevis pÄ arbetsinsats, men en av de mest populÀra Àr bevis pÄ insats. Konceptet gÄr tillbaka till 2011 och har implementerats i Ethereum och flera andra protokoll.

I bevis pĂ„ arbete-system ersĂ€tts miners med validerare. Det finns ingen utvinning inblandad och ingen kapplöpning för att gissa en hash. IstĂ€llet vĂ€ljs anvĂ€ndare slumpmĂ€ssigt – om de vĂ€ljs ut mĂ„ste de föreslĂ„ (eller "smida") ett block. Om blocket Ă€r giltigt fĂ„r de en belöning som bestĂ„r av avgifterna frĂ„n blockets transaktioner.

Men inte vilken anvĂ€ndare som helst kan vĂ€ljas – protokollet vĂ€ljer dem baserat pĂ„ ett antal faktorer. För att vara berĂ€ttigade mĂ„ste deltagarna lĂ„sa en insats, vilket Ă€r ett förutbestĂ€mt belopp av blockkedjans egen valuta. Insatsen fungerar som borgen: precis som att Ă„talade lĂ€gger upp en stor summa pengar för att hindra dem frĂ„n att hoppa över rĂ€ttegĂ„ngen, lĂ„ser validerare en insats för att motverka fusk. Om de agerar oĂ€rligt kommer deras insats (eller en del av den) att tas ifrĂ„n dem.

Bevis pĂ„ insats har vissa fördelar jĂ€mfört med bevis pĂ„ arbete. Det mest anmĂ€rkningsvĂ€rda Ă€r det mindre koldioxidavtrycket – eftersom det inte finns nĂ„got behov av kraftfulla utvinningsfarmar i PoS Ă€r den el som förbrukas bara en brĂ„kdel av den som förbrukas i PoW. 

Bevis pĂ„ insats har dock inte samma meritlista som bevis pĂ„ arbetsinsats. Även om det kan uppfattas som slösaktigt, Ă€r utvinningen den enda konsensusalgoritmen som har stridstestats i över ett decennium. Sedan lanseringen har bitcoins bevis pĂ„ arbetsinsats sĂ€krat transaktioner till ett vĂ€rde av biljontals dollar. För att med sĂ€kerhet sĂ€ga om bevis pĂ„ insats kan konkurrera med dess sĂ€kerhet mĂ„ste insatsen testas ordentligt i praktiken.

Sammanfattningsvis

Bevis pÄ arbete var den ursprungliga lösningen pÄ problemet med dubbla utgifter och har visat sig vara pÄlitligt och sÀkert. Bitcoin visade att vi inte behöver centraliserade enheter för att förhindra att samma tillgÄngar spenderas tvÄ gÄnger. Med smart anvÀndning av kryptografi, hashfunktioner och spelteori kan deltagarna i en decentraliserad miljö komma överens om tillstÄndet för en finansiell databas.

Mer information

Ansvarsfriskrivning: Detta innehĂ„ll presenteras för dig ”i befintligt skick" och avser allmĂ€n information och information för utbildningsĂ€ndamĂ„l, utan representation eller garantier av nĂ„got slag. Det ska inte tolkas som ekonomisk, juridisk eller annan professionell rĂ„dgivning, och Ă€r inte heller avsett att rekommendera köp av nĂ„gon specifik produkt eller tjĂ€nst. Du bör söka egna rĂ„d frĂ„n lĂ€mpliga professionella rĂ„dgivare. Om det till artikeln har bidragits av en tredje parts bidragsgivare, ska det observeras att de Ă„sikter som uttrycks tillhör tredjepartsbidragsgivaren och inte nödvĂ€ndigtvis Ă„terspeglar Binance Academys Ă„sikter. LĂ€s vĂ„r fullstĂ€ndiga ansvarsfriskrivning hĂ€r för mer information. Priserna pĂ„ digitala tillgĂ„ngar kan vara volatila. VĂ€rdet pĂ„ din investering kan gĂ„ ner eller upp och du kanske inte fĂ„r tillbaka det investerade beloppet. Du Ă€r ensam ansvarig för dina investeringsbeslut och Binance Academy ansvarar inte för eventuella förluster du kan drabbas av. Detta material ska inte tolkas som ekonomisk, juridisk eller annan professionell rĂ„dgivning. För mer information, se vĂ„ra anvĂ€ndarvillkor och vĂ„r riskvarning.