Das ultra-widerstandsfähige Bitcoin-Netzwerk ist das weltweit größte Distributing-Computing-Projekt in Bezug auf rohe Rechenleistung. Es hat schon 1 exaFLOPS (1,000 petaFLOPS) übertroffen - mehr als das Achtfache der kombinierten Geschwindigkeit Top 500 Supercomputer.

Obwohl das Projekt auf erstaunliche 3. 2 zettaFLOPS (3, 200 exaFLOPS) angewachsen ist, wurde es in aller Stille aus der Wikipedia-Liste verteilter Computerprojekte entfernt. Dies ist wahrscheinlich auf die Tatsache zurückzuführen, dass die exaFLOPS-Schätzung mit den spezialisierten ASICs von Bitcoin zusammenbricht, da sie keine Fließkommaoperationen ausführen können.

Stattdessen kann die Schätzung verwendet werden, um abzuschätzen, wie gut andere Supercomputer und verteilte Netzwerkprojekte Bitcoin abbauen können, da Supercomputer die Fähigkeit haben, die Integer-Operationen durchzuführen, die beim Hashing verwendet werden.

Der schnellste Supercomputer von heute, Chinas Tianhe-2 mit einer Leistung von 33. 86 Pflop / s, würde bei etwa 0.001% des Bitcoin-Netzwerks liegen.

Überwachen des Netzwerkzustands

Da Bitcoin reift und mit den bestehenden Massenzahlungsnetzwerken wie Visa und MasterCard sowie den Großhandelsnetzen wie Swift zu konkurrieren beginnt, wird der Zustand des dezentralen Netzwerks für seine Leistungsfähigkeit entscheidend.

Gemeinschaftsseite Bitcoin. org leistet eine hervorragende Arbeit bei der Pflege des historischen Archivs von Warnungen und Schwachstellen im Netzwerkstatus.

Der folgende zusammengestellte Bericht listet die kritischen Statistiken zur Überwachung des laufenden Zustands des verteilten Bitcoin-Netzwerks auf und deckt die für Erreichbarkeit, Skalierbarkeit, Sicherheit und Transaktionsverarbeitungsgeschwindigkeit wichtigen Messungen ab.

1. Das Bitnodes-Projekt

Bitknoten schätzt die Größe des Bitcoin-Netzwerks, indem es alle erreichbaren Knoten im Netzwerk findet. Die aktuelle Methodik beinhaltet das rekursive Senden von getaddr -Nachrichten, um alle erreichbaren Knoten im Netzwerk zu finden, beginnend mit einer Menge von Startknoten. Es führt diese Abfrage alle 24 Stunden durch und zeigt die Ergebnisse auf einer Weltkarte der Länder an, einschließlich Ranglisten und Version des Bitcoin-Referenzclients.

Quelle: Bitnodes

Das Bitnodes-Projekt wurde im April 2013 mit der Unterstützung der Bitcoin Foundation als Community-Ressource gestartet. Der neueste Bericht des Projekts ist hier zu sehen.

2. Datenausbreitung

Quelle: BitcoinStats

Der Informationsaustausch im Bitcoin-Netzwerk ist nahezu augenblicklich. Wie schnell werden Informationen im Netzwerk verbreitet? Von BitcoinStats verwaltet, zeigt das Ausbreitungs-Evolutionsdiagramm das 50. Perzentil der Inv-Nachrichten , die von Peers empfangen wurden (dh das Diagramm zeigt die Zeit seit dem Eintreffen einer Transaktion oder eines Blockes im Netzwerk, bis eine Mehrheit der Knoten empfangen und empfangen hat verarbeitet es).

3. DNS-Bootstrap-Server

DNS-Startwerte werden von fast allen Bitcoin-Clients verwendet, um eine Gruppe von Knoten zu identifizieren, mit denen beim Start eine Verbindung hergestellt werden kann. Die Samen werden von Freiwilligen unter Verwendung einer Vielzahl von Mechanismen ausgeführt, um sicherzustellen, dass die zurückgegebenen Samen eine gute Stichprobe von Knoten darstellen, die derzeit online sind.

Quelle: BitcoinStats

Außer Bitseed. xf2. org, zielen die Seeds darauf ab, Knoten zurückzugeben, die gerade online und erreichbar sind. Auch von BitcoinStats bereitgestellt, zeigt das Diagramm Ergebnisse von regulären Bootstrap-Versuchen unter Verwendung der Seeds, wobei das Diagramm die durchschnittliche stündliche Verbindungserfolgsrate für jeden der Seeds darstellt. Je näher an 100%, desto besser ist der Samen.

Außerdem wird ein Hilfendiagramm mit Antwortzeit von DNS-Seeds für Abfragen bereitgestellt, das die Antwortzeiten in Millisekunden (ms) angibt, die zwischen dem Senden der Abfrage und dem Empfangen einer Antwort verstrichen sind.

4. Netzwerk-Hash-Rate

Diese Reihe von Graphen wird vom Entwickler Pieter Wuille bereitgestellt und zeigt Hash-Schwierigkeit und die geschätzte Anzahl von Terahashs pro Sekunde (Berechnungsgeschwindigkeit) an, die das Netzwerk für verschiedene Zeitfenster ausführt (1 Terahash entspricht 1.000 Gigaheräten).

Berechnet durch Division Maximales Ziel durch aktuelles Ziel wobei Ziel eine 256-Bit-Zahl ist. Der Schwierigkeitsgrad misst, wie schwierig es ist, einen neuen Block im Vergleich zu dem einfachsten zu finden Sein. Die Schwierigkeit passt sich alle 2, 016 Blöcke (oder zwei Wochen) an und um einen Block zu finden, muss der SHA-256-Hash eines Block-Headers kleiner oder gleich dem aktuellen Ziel sein, damit der Block vom Netzwerk akzeptiert wird.

5. Hash-Rate-Verteilung

Dieses Kreisdiagramm von Organ Ofcorti ist eine Schätzung der Verteilung der Hash-Rate unter den größten Mining-Pools in einem wöchentlichen Intervall. Es ist wichtig zu überwachen, da die Integrität des Netzwerks von einem einzelnen Akteur abhängt, der 50% der gesamten Hashing-Leistung nicht überschreitet.

Quelle: Organ OfCorti

Eine Tabelle der aufgelösten Blockstatistiken listet alle Statistiken auf, die aus der Anzahl der Blöcke abgeleitet werden können, die ein Hashrat-Beiträger für die letzte Woche gelöst hat. Blockattributionen stammen entweder aus Primärquellen, wie sie von einer bestimmten Pool-Website beansprucht werden, oder aus Sekundärquellen wie Coinbase-Signaturen oder bekannten Generierungsadressen.

Wenn Daten nur von sekundären Quellen abhängig sind, können sie ungenau sein und einige Blöcke nicht enthalten, wenn ein bestimmter Blocklöser Schwierigkeiten hat, gelöste Blöcke zu verstecken, was zu einer Unterschätzung der Block-Solver-Hash-Rate führt.

Ein alternatives Diagramm für 24-Stunden-, 48-Stunden- und 4-Tage-Zeithorizonte bietet Blockchain.

6. Selfish Mining Indicator

Diese Metrik wurde von Coinometrics produziert und versucht, die Wahrscheinlichkeit und Prävalenz von Bitcoin-Minern zu messen, die an einem Teilmengenverhalten der "Selfish Mining" -Strategie arbeiten, wie Ittay Eyal und Emin Gün Sirer in ihrem Artikel <999 beschrieben haben > Die Mehrheit ist nicht genug: Bitcoin Mining ist anfällig . Quelle: Coinometrics

Da das Bitcoin-Protokoll davon abhängig ist, dass die Bergleute den Regeln der Software folgen, müssen die Minenarbeiter, sobald sie einen Block gefunden haben, diesen dem Netzwerk mitteilen.

Selbstsüchtiger Mining widersetzt sich dieser Regel, da bestimmte Minenarbeiter, sobald sie einen Block gefunden haben, diesen aus dem Netzwerk zurückhalten und an ihrem nächsten Block arbeiten können. Sobald sie eine Nummer in ihrer versteckten Kette haben, können sie sie freigeben, um die Blöcke ungültig zu machen, von denen das Netzwerk dachte, dass sie Teil der Hauptkette waren.

Je geringer die Wahrscheinlichkeit ist, dass mindestens

k (tatsächliche Verteilung) Blöcke in der vom ersten Bucket dargestellten Zeit gefunden werden, desto wahrscheinlicher ist es, dass die Minenarbeiter im Rahmen der Selfish Mining-Strategie schnell aufeinander folgen . Coinometrics erklärt:

"Eine Möglichkeit, die Wahrscheinlichkeit einer solchen Strategie abzuschätzen, besteht darin, die Verteilung der Zeit zwischen Blöcken auf die erwartete Verteilung zu messen. Die Rate der Bitcoin-Blöcke wird dadurch bestimmt, wie schnell Der erste Miner löst einen Hash, der die Schwierigkeitsanforderungen des Protokolls erfüllt.Jeder Versuch, diese Schwierigkeit zu erreichen, hat eine festgelegte Wahrscheinlichkeit, dass er korrekt ist.Von der Definition ist die Wahrscheinlichkeit zwischen Hashwerten unabhängig.Als Ergebnis sollte die Rate, mit der Blöcke erzeugt werden, folgen eine exponentielle Verteilung. "

7. Verwaiste Blöcke

Quelle: Blockchain

Verwaiste Blöcke sind gültige Blöcke, die nicht zur Haupt-Bitcoin-Blockkette gehören. Sie können natürlich auftreten, wenn zwei Minenarbeiter zu ähnlichen Zeiten Blöcke produzieren oder sie von einem Angreifer verursacht werden, der genug Hashing-Power hat, um Transaktionen umzukehren.

Anfänglich von der Mehrheit des Netzwerks akzeptiert, sind verwaiste Blöcke diejenigen, die nach dem Nachweis einer längeren Blockkette, die diesen bestimmten Block nicht enthält, zurückgewiesen werden. Mit anderen Worten, ein Benutzer könnte eine Transaktion mit einer Bestätigung sehen und dann zu Null-Bestätigungen zurückkehren, wenn eine längere Blockchain empfangen wurde, die die Transaktion nicht enthält.

8. Doppelausgaben-Monitor

Blockchain verwaltet einen Echtzeitmonitor für doppelte Ausgaben, die in den letzten 500.000 Transaktionen mit einem 10-Minuten-Cache erkannt wurden. Dies könnte verwendet werden, um Benutzer auf potentiell bösartige Transaktionen im Netzwerk aufmerksam zu machen.

9. Unbestätigte Transaktionen

Quelle: Blockchain

Blockchain unterhält auch diese Live-Update-Liste neuer Bitcoin-Transaktionen, die darauf warten, in einen Block aufgenommen zu werden. Der Monitor zeigt die Gesamtzahl der nicht bestätigten Transaktionen an, einschließlich der Gesamtgebühren und der Gesamtgröße in Kilobyte.

10. Durchschnittliche Transaktionsbestätigungszeit

Quelle: Blockchain

Dies ist die durchschnittliche (durchschnittliche) Zeitspanne in Minuten, die für die Annahme einer Transaktion in einem Block benötigt wird. Angemessene Schätzungen unterscheiden sich in Bezug auf den Zeitaufwand und die Bestätigungen, dass eine Transaktion als "gut" und "geklärt" gilt, aber dass ein angemessenes Risikoniveau mit dem Wert der Transaktion verbunden wäre.

11. Gesamtgröße der Blockkette

Quelle: Blockchain

Die Gesamtgröße der Blockkette ist wichtig, da der Speicherbereich bei der Vergrößerung und die Zeit für die erste Synchronisierung nach der ersten Installation des Referenzclients berücksichtigt werden.Diese Messung zeigt die Gesamtgröße aller Blockheader und Transaktionen ohne Datenbankindizes an.

12. Durchschnittliche Blockgröße

Quelle: Blockchain

Gemessen hier in Bruchteilen eines Megabyte wird die Blockgröße eine hitzige Debatte, sobald das Bitcoin-Netzwerk sich seinem aktuellen Durchsatzlimit von ungefähr sieben Transaktionen pro Sekunde nähert.

Letztendlich wichtig für die Skalierbarkeit, muss die angegebene Blockgrößenbeschränkung erhöht werden, mit einer anderen Variablen verknüpft werden oder bei mehr Bestätigungen, die von der Kette geschoben werden, gleich bleiben, wobei jeder Pfad entsprechende Auswirkungen auf die Dezentralisierung des Systems hat.

Bitte lassen Sie uns im folgenden Kommentarbereich wissen, wenn wir Messungen, die für den Netzwerkbetrieb von Bedeutung sind, ausgelassen haben oder Referenzen veraltet sind.

Folge Jon Matonis auf Twitter.