Tegenwoordig is Ethereum-mining op videokaarten de norm, en tot nu toe hebben de miners geen grote sprong gemaakt om het Ethash-miningalgoritme te lanceren op gespecialiseerde hardware-oplossingen (bijvoorbeeld FPGA en ASIC). Er zijn Asiks op het netwerk, maar die geven niet zo'n groot voordeel als op Bitcoin.
Veel artikelen en forums leggen dit uit door te zeggen dat de ontwikkeling van ASIC's voor Ethash een geheugenprobleem is).
Hier praten we over waar de strakke geheugenbinding van Ethereum vandaan komt en hoe de volgende generatie aangepaste mijnbouwapparaten voor ETH-mijnbouw eruit zou kunnen zien.
Hier praten we over waar de strakke geheugenbinding van Ethereum vandaan komt en hoe de volgende generatie aangepaste mijnbouwapparaten voor ETH-mijnbouw eruit zou kunnen zien.
Raadpleeg de Ethash-pagina in de Ethereum GitHub-repository voor een meer technische, programmeurgerichte uitleg van het Ethereum-mijnalgoritme genaamd Ethash.
Bij het minen met Proof-of-Work zoeken miners naar een oplossing (een eenmalig getal genoemd - "nonce"), die wanneer gehasht een uitvoerwaarde geeft die lager is dan een vooraf gedefinieerde doeldrempel.
Vanwege de cryptografische aard van de hash-functie van elke valuta, is er geen manier om een eenmalig getal ("nonce") te reverse-engineeren of omgekeerd te berekenen dat voldoet aan de doeldrempellimiet.
In plaats daarvan moeten miners hashes zo snel mogelijk "raden en verifiëren" en hopen dat zij de eerste miners in het hele cryptocurrency-netwerk zijn die een geldig eenmalig nummer vinden. Zo zullen ze een nieuw blok vinden.
Het Ethash-algoritme vertrouwt op een
Dit wordt een DAG-bestand genoemd en wordt elke 30.000 blokken (of elke ~ 5 dagen) hersteld. Vanaf september 2019 is de DAG ~ 3,22 GB en de DAG zal in omvang blijven groeien naarmate de blockchain groeit.
De functies van het maken van DAG's zijn niet zo relevant voor dit artikel, maar u kunt
De voortgang van het Ethash hash-algoritme kan als volgt worden samengevat:
Werkingsprincipe van Ethereum hash-algoritme
Elke mengbewerking vereist een uitlezing van 128 bytes van de DAG (zie afbeelding 1, stap 2).
Voor het hashen van één eenmalig nummer zijn 64 mixen nodig, wat resulteert in (128 bytes x 64) =8 KB geheugenuitlezing. Random access lezen (elke 128-byte pagina wordt pseudo-willekeurig geselecteerd op basis van de mengfunctie), dus het plaatsen van een klein DAG-fragment in de L1- of L2-cache zal niet veel helpen, aangezien de volgende DAG-fetch zeer waarschijnlijk zal leiden tot een gebrek aan cache.
Aangezien het ophalen van DAG-pagina's uit het geheugen veel langzamer is dan het mengen van computers, zullen we nauwelijks prestatieverbetering zien door het versnellen van de mixcomputing.
De beste manier om het hash-algoritme van Ethash te versnellen, is door het ophalen van een 128-byte DAG-pagina uit het geheugen te versnellen.
We beschouwen het Ethash-algoritme dus als nauw verbonden met het geheugen of
Als voorbeeld van hoe geheugenbandbreedtebeperkingen van invloed zijn op echte hardware, laten we eens kijken naar de mining-prestaties van een veelgebruikte videokaart:RX 590.
Als Ethash-hashing echt veel geheugen vereist, verwachten we dat de werkelijke mining-snelheid voor deze apparatuur zeer dicht bij de maximale theoretische hash-snelheid zal liggen, op voorwaarde dat het samplen van de DAG-pagina's de enige stap is die wordt uitgevoerd.
We kunnen deze maximale theoretische hashrate als volgt berekenen:
(Geheugenbandbreedte) / (DAG-geheugen geëxtraheerd voor hashing) =maximale theoretische hashrate
(256 gigabyte / sec) / (8 kilobyte / hash) =32 megabyte / sec.
De empirische hash van de RX 490 tijdens daadwerkelijk gebruik is ~ 31 mega / s.
Deze kleine vertraging kan gemakkelijk worden verklaard door geheugenlatentie of andere snelle bewerkingen op het systeem. De prestaties van deze videokaart zijn dus hetzelfde als verwacht, op voorwaarde dat het hashen van gegevens moeilijk is voor het geheugen en de keuze van DAG-pagina's een snelheidsbeperkende stap is.
De enige manier waarop Ethereum-miningapparatuur voor gebruikers van pas kan komen, is als deze zuiniger of energiezuiniger is met geheugenbandbreedte (minder dan $ / (GB / s) of minder W / (GB / s)).
Als we naar de RX 590 kijken, kunnen we een beetje berekenen ($ 245 per kaart / (256 GB / s)) om te zien dat de hash-snelheid $ 0,95 / GB / s is.
Vergeleken met een enkele GDDR5-chip (bijv.
Dus als we onze eigen chip (ASIC of FPGA) kunnen maken dan de interface met 9 GDDR5-chips, hebben we 216 GB / s geheugenbandbreedte tegen een prijs van $ 61,47.
Dit zal echter geen compleet apparaat zijn, aangezien we een FPGA- of ASIC-geheugencontroller, een printplaat en hulpelektronica nodig hebben.
Als de verzonden eindmontage (toevoegen van extra onderdelen, processen, tests en logistiek) minder kost dan de RX 590 (slechts $ 245), dan zal het gebruikersbord de videokaart overtreffen.
Tenminste, totdat er een snellere, efficiëntere en goedkopere videokaart op de markt verschijnt.
Bijvoorbeeld
In deze situatie moet u echter waarschijnlijk uw eigen bedrijfsmodel maken en in plaats daarvan videokaarten maken, aangezien dit al een enorme markt is.
Naarmate het gebruik van smartphones en mobiele 3D-graphics toeneemt, zullen we mobielvriendelijker en grotere geheugenbandbreedte zien.
Het kunnen oplossingen zijn voor mobiele systemen op een chip met een geïntegreerde grafische processor (bijvoorbeeld
Deze soorten apparaten zullen blijven evolueren, en als de kosten, het vermogen en de geheugenbandbreedte op de juiste plaats komen, kunnen we Ethereum-aangepaste mijnwerkers met 10-20 mobiele grafische processors of VPU's op hetzelfde bord zien.
Sequentiële DAG-paginavoorbeelden in het Ethash-hash-algoritme bereiken de geheugenbandbreedtelimieten van moderne hardware.
Hun theoretische maximale hashrate is momenteel beperkt.
Hoe zullen we toekomstige Ethereum-mijnwerkers zien? Ze zullen waarschijnlijk niet gebaseerd zijn op ASIC of FPGA. Hoogstwaarschijnlijk zullen ze gebaseerd zijn op kant-en-klare chips (mobiele GPU's of VPU's), en niet op de vormfactor van een traditionele videokaart, die we zo gewend zijn te zien in moderne computers omdat mobiele GPU's of VPU's meer zijn afgestemd op geheugenbandbreedte.
Dit artikel gaat over het Ethash-protocol, gebaseerd op Proof-of-Work, dat wordt gebruikt om Ethereum te minen. In systemen op basis van Proof-of-Work, zoals deze, voeren miners aanzienlijke hoeveelheden berekeningen uit om nieuwe blokken te vinden en geldbeloningen te ontvangen.
Zodra het Ethereum-netwerk overschakelt naar de
Wanneer deze transitie plaatsvindt, is het nog niet duidelijk dat de verwachting is dat de eerste fase op 3 januari 2020 van start gaat.