Mining Bitcoin mit Bleistift und Papier


Ich wollte sehen, wie praktisch es wäre Bitcoin mit Bleistift und Papier zu mir. Es stellt sich heraus, dass der SHA-256-Algorithmus für den Bergbau ziemlich einfach ist und in der Tat von hand vorgenommen werden kann. Es überrascht nicht, der Prozess ist sehr langsam im Vergleich zu Hardware-Bergbau und ist völlig unpraktisch. Aber den Algorithmus manuell durchführen, ist eine gute Möglichkeit zu verstehen, wie das genau funktioniert.

Die Mining-Prozess

Bitcoin-Mining ist ein wesentlicher Bestandteil der Sicherheit von Bitcoin-System. Die Idee ist, dass Bitcoin-Miner-Gruppe eine Reihe von Bitcoin-Transaktionen in einen Block, dann wiederholt ausführen einen kryptografischen Vorgang genannt Hash zig Millionen Mal, bis jemand einen speziellen extrem selten Hash-Wert findet. An dieser Stelle der Block abgebaut worden und wird Teil der Bitcoin-Block-Kette. Der Hash selbst nicht Aufgabe nichts nützliches an sich, sondern weil Suche nach einer erfolgreichen Block so schwierig ist, es sorgt dafür, dass kein Mensch die Mittel, um das Bitcoin-System übernehmen. Für mehr Details über Bergbau siehe meine Bitcoin Mining Artikel.

Eine kryptographische Hash-Funktion nimmt einen Block von Eingabedaten und eine kleinere, unvorhersehbare Ausgabe erstellt. Die Hash-Funktion ist so konzipiert, es keine "Abkürzung gibt" auf die gewünschte Ausgabe zu erhalten – du musst nur Blöcke hashing zu halten, bis Sie einen per brute Force finden, die funktioniert. Für Bitcoin ist die Hash-Funktion eine Funktion namens SHA-256. Um zusätzliche Sicherheit zu gewährleisten, wendet Bitcoin die SHA-256-Funktion zweimal, ein Prozeß bekannt als Doppel-SHA-256.

In Bitcoin ist ein erfolgreiche Hash, die mit genug Nullen beginnt. [1] so, wie es selten, eine Telefonnummer oder Kfz-Kennzeichen in mehrere Nullen enden zu finden ist, ist es selten, einen Hash beginnend mit mehreren Nullen zu finden. Aber Bitcoin ist exponentiell schwieriger. Derzeit muss ein erfolgreicher Hash mit ca. 17 Nullen beginnen, so einzige aus 1.4x1020 Hashes erfolgreich sein wird. Das heißt, ist zu finden einen erfolgreiche Hash schwieriger als die Suche nach einem bestimmten Sandkorn aus alle Sandkörner auf der Erde.

Das folgende Diagramm zeigt einen Block in die Bitcoin-Blockchain zusammen mit dem Hash. Die gelben Bytes werden verschlüsselt, um die Blockhash generiert. In diesem Fall beginnt die resultierende Hash mit genug Nullen, so Bergbau erfolgreich war. Der Hash wird jedoch fast immer nicht erfolgreich sein. In diesem Fall der Bergmann ändert die Nonce Wert oder anderen Blockinhalt und versucht es erneut.

Struktur eines Bitcoin-Blocks

Der Hash-Algorithmus SHA-256 von Bitcoin verwendet

Der Hash-Algorithmus SHA-256 nimmt Eingabeblöcke 512 Bits (d. h. 64 Byte), kombiniert die Daten kryptographisch und generiert eine 256-Bit (32 Byte) Ausgabe. Der SHA-256-Algorithmus besteht aus einer relativ einfachen Runde 64 Mal wiederholt. Das folgende Diagramm zeigt eine Runde, die acht 4-Byte Eingänge nimmt — A bis H – dann führt ein paar Operationen, und generiert neue Werte von A bis H.

Einer Runde von SHA-256 Algorithmus zeigt 8 Eingang Blöcke A-H, die Verarbeitungsschritte und die neuen Blöcke. Diagramm erstellt von Kockmeyer, CC BY-SA 3.0.

Die blauen Felder mischen sich die Werte in nicht-lineare Weise, die schwer zu kryptografisch analysieren sind. Da der Algorithmus mehrere unterschiedliche Funktionen nutzt, ist es schwieriger, einen Angriff zu entdecken. (Wenn Sie eine mathematische Verknüpfung zu erfolgreichen Hashes generieren herausfinden könnte, könnte Sie Bitcoin-Mining übernehmen.)

Die Ma meisten Box sieht die Bits von A, B und C. Für jede Position wenn die Mehrheit der Bits 0, gibt es 0. Ansonsten gibt es 1. Das heißt, betrachten Sie für jede Position in A, B und C, die Anzahl der 1 Bits. Wenn es Null oder eins, Ausgang 0 ist. Wenn es zwei oder drei, Ausgang 1.

Feld Σ0 dreht sich die Bits von A drei gedrehte Versionen zu bilden, und dann fasst sie zusammen modulo 2. Das heißt, wenn die Anzahl der 1 Bits ungerade ist, ist die Summe 1; Andernfalls ist es 0. Die drei Werte in der Summe sind an 2 Bits, 13 Bits und 22 Bits eine gedreht.

Feld Ch "wählen Sie" wählt Ausgang Bit basierend auf dem Wert von Eingang E. Ein bisschen E ist 1 der Ausgangs-Bit das entsprechende Bit f. Ein bisschen E ist 0, die Ausgangs-Bit das entsprechende Bit des G. Auf diese Weise werden die Bits von F und G gemischt zusammen basierend auf dem Wert von E.

Das nächste Feld Σ1 dreht sich und fasst die Bits des E, ähnlich Σ0 , außer die Verschiebungen 6, 11 und 25 Bits sind.

Die roten Kästchen führen Sie 32-Bit-Zusatz, generieren neue Werte für A und E. Die Eingabe Wt basiert auf der input-Daten, leicht verarbeitet. (Dies ist, wo der Algorithmus den Eingangsblock zugeführt bekommt.) Die Eingabe Kt ist eine Konstante definiert für jede Runde. [2]

Wie aus dem obigen Diagramm ersichtlich ist, sind nur A und E in einer Runde geändert. Die anderen Werte durchlaufen unverändert, mit dem alten Wert immer der neuen B-Wert der alten B-Wert immer den neuen C-Wert und so weiter. Obwohl jeder Runde von SHA-256 nicht die Daten ändert wird viel, nach 64 die input-Daten runden vollständig verschlüsselt werden. [3]

Manuelle Bergbau

Das nachfolgende Video zeigt, wie die oben beschriebenen Hash SHA-256-Schritte mit Bleistift und Papier durchgeführt werden können. Die erste Runde um einen Block von mir Hashing durchführen Abschluss dieser Runde dauerte 16 Minuten, 45 Sekunden.

Zu erklären, was auf dem Papier ist: Ich habe jeder Block A bis H in Hex auf einer separaten Zeile geschrieben und legte den binären Wert unten. Maj-Betrieb erscheint unter C, und die Verschiebungen und Σ0 erscheinen über Zeile A. Desgleichen, Vorgang auswählen erscheint unter G, und die Schichten und Σ1 über E. In der unteren rechten Ecke eine Reihe von Bedingungen werden addiert, die ersten drei rote Summe Felder entsprechend. In der oberen rechten Ecke diese Summe wird verwendet, um den neuen Wert generieren und in der Mitte rechts, diese Summe wird verwendet, um den neuen E-Wert generieren. Alle diese Schritte entsprechen den Diagramm und Diskussion oben.

Ich führte auch manuell einen anderen Hash Runde die letzte Runde zu beenden, hashing die Bitcoin-Block. In der folgenden Abbildung ist die Hash-Ergebnis in gelb hervorgehoben. Die Nullen in diesem Hash zeigen, dass es eine erfolgreiche Hash. Beachten Sie, dass die Nullen am Ende des Hash. Der Grund ist, dass Bitcoin ungünstig alle Bytes, die von SHA-256 erzeugt kehrt. [4]

Bleistift und Papier-Finale von SHA-256, zeigt einen Bitcoin-Block erfolgreich abgebaut.

Was bedeutet dies für Bergbau-hardware

Jeder Schritt von SHA-256 ist sehr einfach in digitale Logik implementieren – einfache boolesche Operationen und 32-Bit-Zusatz. (Wenn Sie Elektronik studiert haben, können Sie wahrscheinlich die Schaltungen bereits visualisieren.) Für diese Reaon können benutzerdefinierte ASIC-Chips den SHA-256-Algorithmus sehr effizient in Hardware, indem Hunderte von Runden auf einem Chip parallel implementieren. Die folgende Abbildung zeigt einen Bergbau-Chip, der auf 2 Milliarden Hashes pro Sekunde ausgeführt; Zeptobars hat mehr Fotos.

Der Siliziumchip innerhalb einer Bitfury ASIC-Chip. Dieser Chip Minen Bitcoin an 2-3 Ghash/Sekunde. Bild von Zeptobars. (CC BY 3.0)

Im Gegensatz dazu verwenden Litecoin, Dogecoin und ähnliche Altcoins Scrypt-Hash-Algorithmus, die absichtlich entworfen, um in Hardware schwer umzusetzen sein. Es speichert 1024 verschiedene Hash-Werte in den Speicher und vereint diese in unvorhersehbarer Weise um das Endergebnis zu erhalten. Infolgedessen ist viel mehr Schaltungen und Speicher für Scrypt als für SHA-256-Hashes erforderlich. Sie können die Auswirkungen sehen, indem man Bergbau Hardware, die Tausende Male für Scrypt (Litecoin usw.) als für SHA-256 (Bitcoin) langsamer ist.

Fazit

Der SHA-256-Algorithmus ist überraschend einfach, leicht genug, um von hand machen. (Die elliptische Kurve Algorithmus zum Signieren von Bitcoin-Transaktionen wäre sehr schmerzhaft, von hand zu tun, da es viele der Multiplikation von 32-Byte-Ganzzahlen hat.) Einer Runde von SHA-256 von hand zu tun hat mich 16: 45 Minuten. Bei diesem Tempo würde hashing eine volle Bitcoin Block (128 Runden) [3] 1,49 dauert Tage, für eine Hash-Rate von 0,67 Hashes pro Tag (obwohl ich wahrscheinlich schneller mit etwas Übung bekommen würde). Im Vergleich dazu hat aktueller Bitcoin Mining Hardware mehrere Terahashes pro Sekunde über eine Trillionen mal schneller als meine manuelle hashing. Unnötig zu sagen, ist die manuelle Bitcoin-Mining überhaupt nicht praktisch. [5]

Ein Reddit Leser fragte nach meinen Energieverbrauch. Es gibt nicht viel körperlicher Anstrengung, also vorausgesetzt, einen Grundumsatz von 1500kcal/Tag, manuelle Hash klappt mit fast 10 Megajoule/Hash. Ein typische Energieverbrauch für Bergbau-Hardware ist 1000 Megahashes/Joule. So bin ich weniger energieeffizient durch einen Faktor von 10 ^ 16 oder 10 Billiarden. Die nächste Frage ist die Energiekosten. Eine billige Quelle der Energie aus der Nahrung ist Donuts bei $0,23 für 200 Kilokalorien. Strom hier ist $0,15 Cent pro Kilowattstunde, was billiger um den Faktor 6,7 - näher als ich erwartet hatte. So ist meine Energiekosten pro Hash etwa 67 Billiarden Mal Bergbau Hardware. Es ist klar, ich werde nicht mein Vermögen aus manuellen Bergbau zu machen, und ich habe nicht sogar enthalten die Kosten für das Papier und die Bleistifte brauche ich.

Fußnoten

[1] Es ist nicht genau die Anzahl der Nullen am Anfang des Hash, der was zählt. Um genau zu sein, muss der Hash unter einen bestimmten Wert liegen, der den aktuellen Bitcoin-Schwierigkeitsgrad abhängt.

[2] die Quelle der Konstanten verwendet in SHA-256 ist interessant. Die NSA entwickelt des SHA-256-Algorithmus und nahm die Werte für diese Konstanten, also woher wissen Sie, dass sie nicht holen, spezielle Werte, die den Hash zu brechen lassen? Um Verdacht zu vermeiden, die ersten Hash-Werte stammen die Quadratwurzeln der ersten 8 Primzahlen, und die K-t -Werte stammen aus der Quadratwurzeln der ersten 64 Primzahlen. Da diese Konstanten aus einer einfachen Formel kommen, können Sie Vertrauen, dass die NSA nicht etwas schattigen (zumindest mit der konstanten).

[3] Leider funktioniert der SHA-256 Hash auf einen Block von 512 Bit, aber der Bitcoin-Block-Header ist mehr als 512 Bit. So ist ein zweiter Satz von 64 SHA-256 Hash Runden auf der zweiten Hälfte des Bitcoin-Block erforderlich. Als nächstes Bitcoin verwendet Doppel-SHA-256, also eine zweite Anwendung von SHA-256 (64 Runden) getan wird, um das Ergebnis. Das addieren, dauert hashing eines beliebigen Bitcoin-Blocks 192 runden insgesamt. Allerdings gibt es eine Abkürzung. Bergbau ist hashing die gleichen Block über und über, so ändern die Nonce erscheint in der zweiten Hälfte des Blocks. So Bergbau kann das Ergebnis der ersten 512 Bit Hashing wiederverwenden und hashing einen Bitcoin Block erfordert in der Regel nur 128 Runden.

[4] offensichtlich habe ich nicht nur unglaubliche Glück, am Ende mit einem erfolgreichen Hash. Der Hash begonnen mit einem Block, der bereits erfolgreich abgebaut worden war. Insbesondere habe ich derjenige, der zuvor in diesem Artikel angezeigt,

[5] ein weiteres Problem mit dem manuellen Bergbau ist neue Blöcke sind etwa alle 10 Minuten abgebaut, so, auch wenn es mir gelingt, im Bergbau eines Blocks wäre es völlig überholt durch die Zeit, die ich fertig (Waisen).

Dieser Beitrag erschien auf Ken Shirriffs Blog und ist hier mit freundlicher Genehmigung veröffentlicht.

Ken Shirriff ist eine Software-Ingenieur, die Blogs über Ladegeräte, alte integrierte Schaltungen und Bitcoin in seiner Freizeit.

Verwandte Artikel

Wacoms neues Digitalisierung Notebook konnte mich zurück zu Stift und Papier bringen.

Ich liebe Sachen aufschreiben. Nun, liebe ich die Idee von Sachen aufschreiben. Oft ich verlassen die eigentliche Aufgabe, da die Verfolgung und Archivierung schriftliche Notizen ist ein riesiger Schmerz im Esel. Wacom hat ein neues Spielzeug namens Bambo...

Wir wird bald in der Lage, Design Custom Sounds mit Stimme und Bewegung

Das erste, was ein Architekt oder Grafik-Designer werden zu Beginn eines Projekts tun soll einige Skizzen zu produzieren – nur um grobe, ihre Ideen auf Papier, vielleicht ergänzt mit CAD-Software. Aber sound-Designer haben keine ähnlichen Tools. Ein Konso...

Mit Kugelschreiber und Marker schafft dieses Künstlers etwas wahrhaft epische

Wenn die meisten Leute Kunstwerk mit Kugelschreiber und Marker erstellen, tun sie dies auf Papier, aber begrenzen diese Tools auf Leinwänden und Zeichenblöcken nur ihre kreativen Potentiale erstickt. Andere Menschen erkennen jedoch dieses Potential in vol...

IRS erklärt Bitcoin ist Eigentum und als solches versteuert werden muss

Mit 15 April droht, viele der Bitcoin-Barone haben schon gefragt, wie Sie ihre neu gewonnene Krypto-Vermögen zu behandeln. Zählt es als Kapitalertrag? Ist es wie eine Währung besteuert? Ist es überhaupt besteuert? Nun, am Dienstag, dem Internal Revenue Se...

Wie Kinder mit Fantasie und Realität auseinander zu setzen

Vor kurzem, wachte mein drei-jährigen Sohn wütend auf mich. "Sie nicht nimm mich in den Wasserpark. Ich wollte gehen, aber Sie gingen ohne mich!"beschwerte er sich. Er war wirklich sauer. Ich wurde von einer spezifischen und Out of Blue Geschich...

Setzen Sie die Segel mit Jake und die nie landen Piraten für eine wahre Fundgrube für Party Ideen

Ahoi, me Hearties ist Ihre Lieblings-Piraten Geburtstag haben? Gut Shiver Me Timbers! Werfen, die wenig der größte Geburtstagsfeier der Pirate buccaneer diesseits der Pirateninsel. Lade alle seiner/ihrer besten Freunde, ein Swashbucklin zu genießen ' gute...

Zwei Pudding Rezepte mit Äpfeln und Birnen

Ein Jahr gutes Wetter bedeutet, dass Herbst wurde großzügig zu Herefordshire Top Obstbäume. In der Küche Jane und Harry legte ihre Äpfel und Birnen mit einem klassischen Arbeiten Quark Torte und rustikal auf den Kopf – Kuchen Im Laufe der Jahre sind wir g...

Nigel Slater Couscous-Salat mit Orange und Dicke Bohnen Rezept

Einen köstlichen Salat mit Bohnen und süß überrascht mit Orangenscheiben Das Rezept Setzen Sie den Wasserkocher zu kochen. Kippen Sie 80g instant-Couscous in eine hitzebeständige Schüssel, dann gießen Sie genug von dem Kochwasser den Couscous decken von 2...

Hände: Was wir tun mit Ihnen – und warum von Darian Führer – überprüfen

Führendes Unternehmen argumentiert, dass der Menschheit Fortschritte über unsere sehr geschickten Glied in diesem faszinierend, erklärbar sind wenn frustrierend Buch Kaum ein Tag vergeht ohne dass jemand Reibverschleiß über Automatisierung wann unsere Arb...

Millennials sind wahrscheinlicher, mit Mama und Papa als mit einem Partner zu leben

Mein Sohn wurde acht letzte Woche, und ich verbrachte die letzten sieben Tage irgendwie verklärter darüber, wie er nur zehn weitere Jahre mit mir in meinem Haus leben. Zehn Jahre, und dann er ist aus Hochschule, Erwachsenenalter, vielleicht Ehe, ein Haus...

Ford Teams mit Amazon und DJI zu selbstfahrenden Autos, die zu Ihrem Haus, Drohne sprechen

Ford ging das Gerücht um eine Partnerschaft mit Google heute auf der CES in Las Vegas bekannt zu geben, aber die 115 Jahre alte Auto-Hersteller hat andere Tricks auf Lager. Nämlich, neugierig neue Partnerschaften mit Amazon und chinesischen Drohne-Maker D...

Madeiras Puls beschleunigt mit Extremsport und glamping

Die portugiesische Insel ist sein Ruf für einen ruhigeren Urlaub abschütteln und Besucher entdecken jetzt, ihre wilde Seite Ich nahm einen tiefen Atemzug, mein Gurtzeug zum zehnten Mal überprüft, dann rannte auf den Rand der Klippe. Kurz bevor ich Sie in...

5 klassische Filme mit Art und Weise besser verrückte ausländische Gaunereien

Wenn Sie dazu neigen, ausländische Kino zu vermeiden, weil Sie das Gefühl, Teil der Punch geht verloren, wenn du musst den Dialog am unteren Rand des Bildschirms zu lesen, junge bist du verpasst. Ach ja, reden wir nicht über die subtilen, herzzerreißende...

Was dieser Künstler mit Zucker und Kandis erstellt sollte In einem Museum

Wenn Sie jemals einen Nachmittag beobachtete diese Backen Wettkämpfe im Fernsehen verbracht haben, haben Sie wahrscheinlich das irrsinnige, was erlebt, das was passiert, wenn Rohrleitungen Taschen und Platten aus Fondant extrem talentierte Leute abholen....