Ende September haben
wir einen neuen ASIC-Chip eingeführt, der speziell für den SHA256-Abbau im Bitcoin-Netzwerk entwickelt wurde. Heute werden wir Ihnen sagen, was drin ist.
Bild: Bitfury GroupEin paar Worte zum Bitcoin-Mining
Der Zweck des Mining besteht darin, das Blockchain-Netzwerk zu schützen. Bergleute verwenden ihre Hardware, um komplexe Computerprobleme zu lösen, die die Integrität von Transaktionen im Netzwerk gewährleisten und
Angriffe mit doppelten Ausgaben verhindern . Parallel dazu fungiert Mining als Mechanismus zur Generierung von Kryptowährung, die Miner als Belohnung erhalten (jetzt -
12,5 Bitcoins pro Block).
Die fraglichen Rechenaufgaben beziehen sich auf die Auswahl eines Hashs, der den Transaktionen im Block entspricht. Der gewünschte Wert wird basierend auf dem Hash des vorherigen Blocks, einer Zufallszahl (Nonce genannt) und der Summe der Transaktions-Hashes der letzten zehn Minuten gebildet. In diesem Fall müssen zwei Bedingungen erfüllt sein: Der Hash muss der deklarierten Mining-Komplexität entsprechen und zu Beginn eine genau definierte Anzahl von Null-Bits aufweisen. Zur Bewertung der Komplexität
wird die Erweiterung in einer modifizierten Taylor-Reihe verwendet.
Hashes in der Bitcoin-Blockchain werden mit dem SHA256-Algorithmus berechnet. Es enthält 64 Iterationen, bei denen die Transaktionsbits im Block unter Verwendung von Verschiebungsoperationen und "Modulo 2-Addition" "gemischt" werden. Das Ergebnis der Anwendung der SHA256-Funktion wird als irreversibel angesehen. Aus diesem Grund wird der Ziel-Hash durch rohe Gewalt gefunden.
Wir haben ausführlicher über Mining und Mining-Pools geschrieben, in denen sich Teilnehmer von Blockchain-Netzwerken zusammenschließen, um die Entscheidung für Blöcke zu beschleunigen.
Früher wurden CPUs und GPUs zum Sortieren von Nonce und Hash verwendet. Im Laufe der Zeit wurden jedoch spezielle
ASICs entwickelt, da das Mining immer komplexer wird (es ändert sich abhängig von der gesamten Rechenleistung aller Teilnehmer am Bitcoin-Netzwerk).
Wir bei Bitfury entwickeln auch solche Lösungen. Insgesamt haben wir fünf Generationen von Mining-Chips erstellt und im September die sechste vorgestellt - wir sprechen über ASIC Clarke, der speziell auf das Lösen von SHA256-Hashes zugeschnitten ist.
Wie geht es Clarke?
Clarke wird mit einer 14-nm-Prozesstechnologie hergestellt und ist im
6 x 6 mm
FC- LGA
35L- Formfaktor implementiert. Der zweite Fall hat eine effizientere Verdrahtung der Stromkreise auf der Platine. Der Chip löst 120 Gigabyte pro Sekunde,
ermöglicht es jedoch, die Leistung abhängig von den Anforderungen des Miners anzupassen - einer höheren Hashrate oder einem geringen Stromverbrauch. Insbesondere ist es möglich, einen Energieeffizienzfaktor von 55 mJ / Gigahesh zu erreichen, da 0,3 Volt ausreichen, um den Chip mit Strom zu versorgen. Die Clarke-Struktur sieht folgendermaßen aus:
Uhrengenerator Es stellt die Uhr für den Chip ein.
Spannungspegel : VSS = 0, VDD = 1.
Serielle Steuerungsschnittstelle, die über einen seriellen Bus mit der externen Steuerung verbunden ist. Es sieht aus wie ein
SPI-Bus mit MOSI- und MISO-Datenübertragungskontakten (zum Übertragen von Daten vom Master zum Slave und umgekehrt), die über die SDATA-Leitung verbunden sind.
Die Schnittstelle ist für die Übertragung von Befehlen verantwortlich. Hier sind einige davon: Task schreiben, um eine neue Task zu schreiben, Taskwechsel erzwingen, um Pufferwechsel zu erzwingen, Nonces lesen, um Nonce-Werte zu lesen usw. Alle Befehle haben eine Vorlage und enthalten Code, Länge, Datenfeld, Chipstatusbyte, Daten aus dem Puffer Nonce und Prüfsummen.
Prüfsummen sind die arithmetische Summe der Bytes, beginnend mit Null.
Beispielsweise entspricht die Prüfsumme des Befehls 04 03 03 8c 18 00 AE.Nonce-Kontrollsystem. Steuert den Hash-Berechnungsprozess basierend auf der Maske. Die Maske „liegt“ im Aufgabenpuffer und dient zum Einstellen des Berechnungsbereichs. Es definiert Bits in Nonce, die bei der Suche nach einem neuen Wert unverändert bleiben.
Aufgabenpuffer. Wird benötigt, um Hashes zu berechnen (ihre Länge beträgt 20 Doppelwörter). Insgesamt gibt es zwei Puffer, mit denen Sie schnell zwischen Aufgaben wechseln können. Während der erste Puffer mit einer Hash-Lösung beschäftigt ist, schreibt der zweite Daten für die folgenden Berechnungen.
8154 Ring-Hash-Kernel. Sie verwenden den SHA256-Dual-Algorithmus.
Nonce-Puffer. Dies ist ein Ringpuffer mit 12 Doppelwörtern, in den Hash-Entscheidungen geschrieben werden. Als
Beispiel haben wir den Prozess des Datenaustauschs in einem Chip angegeben, der während der Berechnung von Hashes auftritt (im Spoiler unten):
Chip-Datenaustausch (auf Englisch)// Taktgenerator auf Wert 0x20 und Prescaler = 1 programmieren (deaktiviert) Send: 0803038c1800
Recv: f0b200b2
// Nonce-Maske auf 0x00000000 setzen
Senden: 200300000000 Recv: f0230023
// Taskwechsel erzwingen Senden: 020000
Recv: f0020002
// Aufgabe senden
Wi 0 = CD3F992C 1 = 037F8197 2 = A58E091A
MS0 A = 0CAD7CD1 B = CBE38FD9 C = D14DC164 D = F90EB10B E = 819621CF F = 358D45CD G = 8C14CAE3 H = 538EF887 MS3 A = 5FF18CDD B = 8CDA24A4 C = 180266F9 D = 0CAD7 = NONCE = D5D0E8B9
Senden: _014fa607d67b614925737be76bce53a41ba12b3c8b659f27ef6726be6049f924522d2b3c8b659c78616c779 a13c81a609
35067953386a9d52b3d0f24a3b0a607d67bb2a8cc5326708e0ef55b267700000000 Recv: 0fb200b2
// Taskwechsel erzwingen
Senden: 020000
Recv: 0f020002
// Nonce-Puffer lesen
Senden: 040000 Recv: _0f04000000000000000000000000000000000000000000000000000000003ffffffc7f7a42132ffffffc 1ffffffc0001ffbf8c
FIFO [0] = aaaaaaaa
FIFO [1] = aaaaaaaa
FIFO [2] = aaaaaaaa
FIFO [3] = aaaaaaaa
FIFO [4] = aaaaaaaa
FIFO [5] = aaaaaaaa
FIFO [6] = aaaaaaaa
FIFO [7] = 3ffffffc
FIFO [8] = d5d0e8b9 <- Nonce-Wert
FIFO [9] = 2ffffffc <- Taskwechselmarkierung
FIFO [A] = 1ffffffc <- Taskwechselmarkierung
FIFO [B] = aaab5515
Wo wird der Chip eingesetzt?
Jetzt installieren wir neue Geräte in unseren eigenen Mining-Servern und mobilen Rechenzentren von
BlockBox . Wir ändern auch Bitcoin-Farmen in Kanada, Island, Georgien und Norwegen (
Anfang des Jahres gestartet ).
Clarke-Chips werden als kommerzielles Produkt erhältlich sein. Sie werden insbesondere mit
Bitfury Tardis-Bergleuten geliefert, die für große Organisationen entwickelt wurden. In Tardis passen 5–8 Boards, mit denen bis zu 80 Teraheshes pro Sekunde berechnet werden können. Dieser Miner kann aufgerüstet werden - in Zukunft wird der darin installierte ASIC Clarke durch neue Chips ersetzt.
Dies ist unser kurzes Video, in dem das Konzept des neuen Chips vorgestellt wird: