Idag är Ethereum-brytning på grafikkort normen, och hittills har gruvarbetarna inte tagit ett starkt steg för att lansera Ethash-gruvalgoritmen på specialiserade hårdvarulösningar (till exempel FPGA och ASIC). Det finns Asiks på nätverket, men de ger inte så stora fördelar som på Bitcoin.
Många artiklar och forum förklarar detta med att utvecklingen av ASIC för Ethash är ett minnesproblem).
Här pratar vi om var Ethereums snäva minnesbindning kommer ifrån och hur nästa generation av anpassade gruvenheter för ETH-brytning kan se ut.
Här pratar vi om var Ethereums snäva minnesbindning kommer ifrån och hur nästa generation av anpassade gruvenheter för ETH-brytning kan se ut.
För en mer teknisk, programmerarorienterad förklaring av Ethereums gruvalgoritm som heter Ethash, se Ethash-sidan i Ethereum GitHub-förvaret...
Vid gruvdrift med Proof-of-Work letar gruvarbetare efter en lösning (kallas ett engångsnummer – "nonce") som när hashat ger ett utdatavärde som är mindre än en fördefinierad måltröskel.
På grund av den kryptografiska karaktären hos hashfunktionen för varje valuta, finns det inget sätt att reverse engineering eller reverse-beräkna ett engångstal ("nonce") som uppfyller måltröskelgränsen.
Istället bör gruvarbetare "gissa och verifiera" hash så snabbt som möjligt och hoppas att de är de första gruvarbetarna i hela kryptovalutanätverket som hittar ett giltigt engångsnummer. Således kommer de att hitta ett nytt block.
Ethash-algoritmen förlitar sig på en
Detta kallas en DAG-fil och återställs vart 30 000:e block (eller var 5:e dag). Från och med september 2019 är DAG ~ 3,22 GB, och DAG kommer att fortsätta att växa i storlek när blockkedjan växer.
Funktionerna för att skapa DAG:er är inte så relevanta för den här artikeln, men du kan läsa mer om DAG-generering
Framstegen för Ethash-hashalgoritmen kan sammanfattas enligt följande:
Ethereums hashalgoritms arbetsprincip
Varje blandningsoperation kräver en 128-byte avläsning från DAG (se figur 1, steg 2).
Att hasha ett engångsnummer kräver 64 mixningar, vilket resulterar i (128 byte x 64) =8 KB minnesläsning. Random access-läsning (varje 128-byte sida väljs pseudo-slumpmässigt baserat på mixningsfunktionen), så att lägga ett litet DAG-fragment i L1- eller L2-cachen kommer inte att hjälpa mycket, eftersom nästa DAG-hämtning med stor sannolikhet leder till en brist på cache.
Eftersom att hämta DAG-sidor från minnet är mycket långsammare än datorblandning, kommer vi knappast att se någon prestandaförbättring genom att påskynda mixberäkningen.
Det bästa sättet att snabba upp Ethashs hashalgoritm är att snabba upp hämtningen av en 128-byte DAG-sida från minnet.
Därför anser vi att Ethash-algoritmen är tätt knuten till minnet eller
Som ett exempel på hur begränsningar av minnesbandbredd påverkar verklig hårdvara, låt oss ta en närmare titt på gruvprestanda för ett vanligt använda grafikkort:RX 590.
Om Ethash-hashing verkligen kräver mycket minne, förväntar vi oss att den faktiska gruvhastigheten för denna utrustning kommer att vara mycket nära den maximala teoretiska hashhastigheten, förutsatt att sampling av DAG-sidorna är det enda steget som utförs.
Vi kan beräkna denna maximala teoretiska hashrate enligt följande:
(Minnesbandbredd) / (DAG-minne extraherat för hashning) =maximal teoretisk hashrate
(256 gigabyte/sek) / (8 kilobyte/hash) =32 megabyte/sek.
Den empiriska hashen för RX 490 under faktisk drift är ~ 31 mega/s.
Denna lilla fördröjning kan enkelt förklaras av minneslatens eller andra snabba operationer på systemet. Prestandan för detta grafikkort är alltså densamma som förväntat, förutsatt att datahashing är svårt för minnet och valet av DAG-sidor är ett hastighetsbegränsande steg.
Det enda sättet som Ethereum-användares gruvutrustning kan komma väl till pass är om den är mer ekonomisk eller energieffektiv med minnesbandbredd (mindre än $ / (GB / s) eller mindre W / (GB / s)).
Om vi tittar på RX 590 kan vi beräkna lite ($245 per kort/(256 GB/s)) för att se hashhastigheten är $0,95/GB/s.
Jämfört med ett enda GDDR5-chip (t.ex.
Således, om vi kan skapa vårt eget chip (antingen ASIC eller FPGA) än gränssnittet med 9 GDDR5-chips, kommer vi att ha 216 GB/s minnesbandbredd till ett pris av $ 61,47.
Detta kommer dock inte att vara en komplett enhet, eftersom vi behöver en FPGA- eller ASIC-minneskontroller, ett kretskort och extra elektronik.
Om den levererade slutmonteringen (att lägga till ytterligare delar, processer, tester och logistik) kostar mindre än RX 590 (endast $ 245), kommer användarkortet att överträffa grafikkortet.
Det vill säga tills ett snabbare, effektivare och billigare grafikkort dyker upp på marknaden.
Till exempel
Men i den här situationen bör du förmodligen ändra skapa din egen affärsmodell och istället skapa grafikkort, eftersom detta redan är en enorm marknad.
När användningen av smartphones och mobil 3D-grafik växer kommer vi att se mer mobilvänligt och hög minnesbandbredd.
Det kan vara lösningar för mobila system på ett chip med en integrerad grafikprocessor (till exempel
Dessa klasser av enheter kommer att fortsätta att utvecklas, och om kostnaden, kraften och minnesbandbredden hamnar på rätt plats, kan vi mycket väl se Ethereum anpassade gruvarbetare med 10-20 mobila grafikprocessorer eller VPU:er på samma kort.
Sekventiella DAG-sidprov i Ethash-hashalgoritmen når minnesbandbreddsgränserna för modern hårdvara.
Deras teoretiska maximala hashrate är för närvarande begränsad.
Hur kommer vi att se framtida Ethereum-gruvarbetare? De kommer förmodligen inte att baseras på ASIC eller FPGA. Troligtvis kommer de att baseras på färdiga chips (mobila GPU eller VPU), och inte på formfaktorn av ett traditionellt grafikkort, vilket vi är så vana vid att se i moderna datorer eftersom mobila GPU:er eller VPU:er är mer inställda på minnesbandbredd.
Den här artikeln handlar om Ethash-protokollet, baserat på Proof-of-Work, som används för att bryta Ethereum. I system baserade på Proof-of-Work, som det här, utför gruvarbetare betydande mängder beräkningar för att hitta nya block och få kontanta belöningar.
Så snart Ethereum-nätverket byter till
När denna övergång sker är det ännu inte klart att det förväntas att den första fasen kommer att lanseras den 3 januari 2020.