Introduktion
Bevis pĂ„ arbete var den första konsensusalgoritmen som togs fram och hittills Ă€r det den som fortfarande dominerar. 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Ä en bevis pÄ arbete-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.
I digitala kontantsystem finns möjligheten att du kan göra detta. Du har sĂ€kert kopierat en datorfil förut â du bara kopierar och klistrar in den. Du kan e-posta samma fil till tio, tjugo eller femtio personer.Â
Eftersom digitala pengar bara Ă€r data, mĂ„ste du förhindra att mĂ€nniskor kopierar och spenderar samma enheter pĂ„ olika platser. Annars kommer din valuta att kollapsa pĂ„ nolltid.Â
Varför krÀvs bevis pÄ arbete?
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 denna transaktion lÀggs till i anteckningsblocket.
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Ä arbete 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 PoW-algoritmen det möjligt för vem som helst att uppdatera blockkedjan enligt systemets regler.
Hur fungerar PoW?
VĂ„rt anteckningsblock ovan Ă€r blockkedja. 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.
Det Àr praktiskt taget omöjligt att vÀnda en blockhash för att fÄ indata. NÀr du kÀnner till indata Àr det dock enkelt för dig att bekrÀfta att hashen Àr korrekt. Du behöver bara skicka in indata via funktionen 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.
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:
- Det Àr dyrt för dig att utvinna.
- Du belönas om du skapar ett giltigt block.
- Genom att kĂ€nna till indata kan en anvĂ€ndare enkelt kontrollera dess hash â anvĂ€ndare som inte arbetar med utvinning kan verifiera att ett block Ă€r giltigt utan att förbruka mycket berĂ€kningskraft.
Ă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?
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.
Vill du komma igÄng med kryptovaluta? Köp bitcoin pÄ Binance!
Bevis pÄ arbete kontra bevis pÄ insats
Med detta sagt har det inte alls samma meritlista som PoW. Ăven om det kan uppfattas som slösaktigt, Ă€r utvinningen den enda konsensusalgoritmen som har visat sig fungera i stor skala. PĂ„ drygt ett decennium har det sĂ€krat transaktioner till ett vĂ€rde av biljontals dollar. För att med sĂ€kerhet sĂ€ga om PoS 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.