Basierend auf meinem Bericht auf der Digital Transformation Conference am 16. April 2018 in Moskau
Ich frage mich, wie die Blockchain funktioniert. Nicht nur welche Algorithmen, Kryptografien, Plattformen und Kryptowährungen es gibt. Blockchain ist für mich nicht nur Technologie, sondern auch eine neue Art von Leben, ein neues Universum. Wenn Sie Zweifel haben, schauen Sie sich diese Aragon Token Sale Count an:

Alle diese Adressen, intelligenten Verträge und Token interagieren ständig miteinander, und dahinter stehen die Aktionen von Menschen, Organisationen und Robotern. Ohne diese Interaktion hätten Blockchain- und Kryptowährungen keine Bedeutung und keinen Wert.
Wie funktionieren Unternehmen in der Blockchain, was machen Menschen und Roboter dort - diese Fragen haben mich dazu gebracht, Blockchain zu studieren.
Problem und Lösungen
Das Blockchain-Netzwerk, und wir sprechen speziell über öffentliche Blockchain-Netzwerke, ist tatsächlich völlig offen. Sie können absolut alle Informationen über Blöcke, Adressen und Transaktionen lesen. Für Programmierer gibt es APIs dafür (zum Beispiel Web3 [1]) und für bloße Sterbliche - Blockchain-Forscher, zum Beispiel Etherscan [2]. Darüber hinaus lädt jeder vollständige Blockchain-Knoten alle Blöcke von Anfang an mit vollständigen Informationen auf eine lokale Festplatte herunter, da dies erforderlich ist, um die Richtigkeit der Transaktionen zu überprüfen, und Gott bewahre das Mining. Das heißt, jeder Blockchain-Knoten ist seine vollständige Kopie, und zwar mit Zugriffsschnittstellen und detaillierter Dokumentation.
Es scheint, dass es alles für die Analyse gibt, aber da war es. Blockchain vs. Erinnern Sie sich daran, was dieses Wort Blockchain auf Russisch bedeutet: eine Kette von Blöcken. Die Blöcke speichern Transaktionsdatensätze und Metainformationen, um Integrität und Konnektivität sicherzustellen. Um etwas in der Blockchain zu finden, müssen Sie die Blocknummer oder den Hash der Transaktion oder im schlimmsten Fall eine Adresse kennen. Es gibt keine anderen Indizes als die auf dem Knoten aufgelisteten.
Etherscan ist auch etwas besser. Es zeigt dasselbe, was über die API verfügbar ist, nur in Form von Webseiten. Um etwas zu finden, müssen Sie im Voraus entweder die Adresse, den Hash der Transaktion oder die Blocknummer kennen. Sie sehen die Blockchain durch ein schmales Fenster, das auf diese Entitäten beschränkt ist. Auf diese Weise kann das Universum mit einem Mikroskop untersucht werden. Vorhandene Werkzeuge sind für die Analyse „in großen Mengen“ völlig ungeeignet.
Um zu philosophieren, habe ich sogar ein Diagramm gezeichnet, in dem die Essenz des Problems sichtbar ist:

Bei Kryptowährungen wird es immer weniger klar, für ihre Analyse werden seit langem bekannte Methoden und Werkzeuge des Börsenhandels verwendet. Auf vielen Websites im Internet erhalten Sie zuverlässige und objektive Informationen zu allen Parametern der Kryptowährung.
Dies kann nicht über die Blockchain gesagt werden. Informationen im Haupt- oder rein technischen Plan für diejenigen, die verstehen (wie „Etherscan“), oder Fiktion über ICO-Projekte [3], DAO [4], die eine explizite subjektive Tendenz aufweisen und nicht durch mathematische Methoden verifiziert werden.
Die Blockchain ist im Allgemeinen undurchsichtig, obwohl alle Informationen allgemein verfügbar sind, also werden wir daran arbeiten!
Blockchain-Analysehardware
Zuerst werden wir das Ausmaß des Problems verstehen. Es gibt viele Blockchain-Netzwerke und auch viele verschiedene Plattformen, auf denen sie aufgebaut sind. Sie müssen irgendwo anfangen und ich habe mich aus mehreren Gründen für das Netzwerk der Ethereum Foundation entschieden:
- Viele Teilnehmer
- Die Kapitalisierung aller Netzwerkwährungen, einschließlich Token, ist möglicherweise die größte von allen
- Intelligente Verträge [5] und DAO [4] erweitern die mögliche Analyse und machen sie viel aussagekräftiger und nützlicher
Selbst wenn wir uns für ein Netzwerk entscheiden, erhalten wir eine Menge Daten (Stand: 15. Juni 2018):
Anzahl der Kryptowährungstransfers insgesamt | 267 Millionen |
Kryptowährungstransfers pro Tag im Durchschnitt | 750 Tausend |
Anzahl gültiger Adressen | 44 Millionen |
Anzahl der intelligenten Verträge | 6,8 Millionen |
Anzahl der ausgegebenen Token | 48 Tausend |
Intelligente Vertragsanrufe pro Tag, durchschnittlich | 690 Tausend |
Ungefähre Menge komprimierter Daten für einen vollständigen Knoten | 117 GByte |
Ursprünglich bestand der Wunsch, dass die Analyse so nah wie möglich am tatsächlichen Zustand des Netzwerks, dh in Echtzeit, erfolgt. Dies hat zwei technische Aspekte:
- Informationen aus der Blockchain sollten so schnell wie möglich in die Datenbank gelangen, sobald ein neuer Block erstellt wird. Wir möchten aktuelle Informationen sehen, kein Archiv.
- Wir möchten Berichte schnell, innerhalb einer Sekunde oder schneller erhalten, um nicht das Interesse daran zu verlieren, viele Fragen zu stellen.
Die Wahl fiel auf die Clickhouse-Datenbank [6], ein Open-Source-Projekt von Yandex. Zuvor hatte ich dieses System nicht verwendet, und die Jungs von Altinity [7] halfen mir zu verstehen, wofür ich ihnen separat danke.
Die allgemeine Struktur des Systems ist wie folgt:

Die Quelldaten werden vom gesamten Ethereum-Netzwerkknoten durch den ETL-Prozess (Extract - Transform - Load) gelesen, der die Daten innerhalb des Blocks analysiert und in mehrere Tabellen in der Clickhouse-Datenbank schreibt. Der Prozess startet, sobald ein neuer Block am Netzwerkknoten ankommt und kontinuierlich ausgeführt wird.
Auf der rechten Seite des Diagramms befinden sich derzeit Datenbenutzer:
- SuperSet-Analysetool [8]. Mit ihm können Sie coole Diagramme erstellen und Abfragen schnell kombinieren, um Antworten auf Analysefragen zu erhalten.
- Python Jupiter [9] für eine umfassendere Analyse von Werkzeugen für maschinelles Lernen und die Anwendung statistischer Algorithmen;
- Bloxy-Website und API [10] zur öffentlichen Nutzung von Informationen.
Die Indizierung der Ethereum-Datenbank hat einige Zeit in Anspruch genommen, schließlich gibt es bereits fast 6 Millionen Blöcke, von denen jeder vom Knoten gelesen und verarbeitet werden muss. Diese Arbeit liegt jedoch hinter uns, und wir können endlich die volle Leistung der analytischen Datenbank nutzen, zumal die Daten nur m sind ähm, was für ein leckeres!
Token
Beginnen wir mit Token, da dies die beliebteste Anwendung intelligenter Verträge im Ethereum-Netzwerk ist, können wir den Zweck und die Bedeutung ihrer Erstellung angeben. Token sind Kryptowährungen, die jeder mit einem bestimmten intelligenten Vertrag ausgeben kann. Der Hauptstandard des Tokens ist ERC20 [11], aber wie wir jetzt sehen werden, ist nicht alles darauf beschränkt.
Mit einer Basis für Analytics und SuperSet können wir nun sehen, welche Token ausgegeben werden, wie sie verwendet werden und was jetzt beliebt ist:

Die Daten beziehen sich auf die gesamte Lebensdauer von Ethereum. Das Kreisdiagramm zeigt, dass ERC20-Token im Vergleich zu anderen Typen überwältigend sind. Die Grafik der Anzahl der aktiv verwendeten Token bei Transfers ist bisher stetig gewachsen, und dies bedeutet, dass die Begeisterung des ICO nicht nachlässt, sondern sogar umgekehrt. Tatsächlich werden an einem Tag manchmal mehrere hundert neue Token erstellt, die Kryptowährungen lesen, aber nicht alle fallen in diese Tabelle, sondern nur diejenigen, die aktiv verwendet werden.
Die folgende Grafik zeigt kein so schnelles Wachstum im Laufe der Zeit. Dies ist die Anzahl der Token-Übertragungstransaktionen pro Tag. Irgendwann im Frühjahr 2018 stoppte er ungefähr bei 400.000 Transaktionen pro Tag und wächst nicht. Im Wesentlichen bedeutet dies, dass neue Token deutlich weniger Übertragungen ausmachen als zuvor.
In dieser Grafik gibt es zwei Anomalien: den Höhepunkt der ERC20-Token-Übertragungen im November 2017 und den weniger ausgeprägten „Buckel“ des Wachstums der ERC721-Token-Übertragungen im Dezember.
Der November-Peak ist mit dem InsPromo-Token verbunden, der von fast einer Million Adressen „einfach so“ verstreut wurde. Es war eine Art Airdrop-Promotion [12]. Diese Methode zur Gewinnung von ICO-Kunden wurde schon oft angewendet, aber das Ausmaß der Verbreitung von kostenlosen „Münzen“ an einem Tag ist rekordhoch!
Das Interesse im Dezember am ERC721-Token hängt voll und ganz mit dem CryptoKitties-Spiel zusammen. Die Leute sind sehr begeistert vom Kauf und Anbau digitaler Katzen. Die Grafik zeigt einen raschen Anstieg des Umsatzes von Crypto Kitties und einen Rückgang der Transaktionen anderer Token. Anscheinend haben die Leute vergessen, dass es einige andere Token gibt.
Crypto Beasts und mehr
ERC721-Token [14] ergaben sich tatsächlich aus dem Auftreten von Kryptokatzen [13], obwohl ihre potenzielle Verwendung viel breiter ist. Wenn der ERC20-Standard es ermöglichte, Kryptowährung, die in einer bestimmten Menge gemessen wurde, an alle auszugeben, gab ERC721 jedem die Möglichkeit, die Eigentumsrechte an jedem Objekt, jeder virtuellen, realen oder sogar intellektuellen Welt zu kennzeichnen.
Technisch gesehen speichert jedes ERC721-Token eine Kennung, die innerhalb eines Smart-Vertrags eindeutig ist. Diese Kennung kann eine kritische Katze, ein goldenes Schwert, ein Stück Land oder ein Patent für eine Erfindung bedeuten. Das Eigentum an der Kennung ist in der Blockchain festgelegt. Da es einen Standard für den Austausch von Token ERC721 gibt, können diese in der Brieftasche angezeigt werden, an der Börse gehandelt werden und andere allgemeine Operationen ausführen.

Das obere Diagramm zeigt die Anzahl der Transaktionen aller ERC721-Token. Im Dezember 2017 gab es einen großen Anstieg, 100% vom Spiel Crypto Kitties. Das Interesse an dem Spiel hielt den ganzen Dezember an und schlief dann allmählich ein.
Die untere Tabelle zeigt die Anzahl der verschiedenen im Umlauf befindlichen Token des ERC721-Standards. Lesen Sie Projekte, die diese Technologie verwenden. Im Dezember gab es nur Crypto Kitties, und im Februar gab es bereits mehrere Dutzend davon. Die Token-Namen werden auf der linken Seite angezeigt. Je größer die Anzahl der Transaktionen, desto größer die Schriftart. Kätzchen mit dem CK-Symbol an erster Stelle.
Warum brauchen wir einen Mixer?
Die Blockchain-Analyse als Ganzes ermöglicht es, Muster und Anomalien zu finden, die auf der Mikroebene von Transaktionen, Adressen und Blöcken nicht sichtbar sind. Eines der auffälligsten Beispiele ist der „Mixer“ von Tausenden von Bots, die im Ethereum-Netzwerk ausgeführt werden.
Beginnen wir mit der Suche nach Anomalien bei der Verteilung von Adressen nach Anzahl der Empfänger und Absender von Kryptowährung:

Auf der horizontalen Achse - die Anzahl der Adressen, von denen Geld an die Adresse überwiesen wurde, vertikal - die Anzahl der Adressen, an denen Geld von der Adresse überwiesen wurde. Kreisgröße - die Anzahl solcher Adressen.
Das linke Diagramm wurde im Dezember 2016 aufgenommen, und der maximale Kreis fällt auf Adressen mit einem Empfänger und einem Absender, etwas weniger als Adressen ohne Empfänger und auch einen Absender. Dies ist durchaus verständlich. Die meisten Adressen erhalten Währung aus einer Hand und geben sie an einem Ort aus oder geben sie überhaupt nicht aus, sondern speichern sie.
Im Dezember 2017 nahm ein Kreis mit zwei Absendern und drei Empfängern jedoch ungewöhnlich zu. Und es gibt mehrere Millionen solcher Adressen! Um die Situation zu verstehen, wählen Sie eine dieser Adressen aus dem engen Kreis aus und erstellen Sie ein Übersetzungsdiagramm:

Es ist zu sehen, dass all diese Adressen zu einem riesigen Mixer verbunden sind, der Geld in sich selbst sendet. Da im Durchschnitt jede Adresse mehr Empfänger als Absender hat, wird in wenigen Schritten eine große Anzahl von Empfängern vom ursprünglichen Absender abgerufen. Dies geschieht natürlich nicht von Menschen, sondern von Robotern, da es mehr als 4 Millionen solcher Adressen gibt und sie reibungslos und sehr schnell arbeiten und innerhalb von Minuten Geld weiter senden.
Wir haben das Arbeitsvolumen dieses riesigen Roboters geschätzt, indem wir die Transaktionen dieser Adressen von anderen Transaktionen im Netzwerk getrennt haben:

In Bezug auf das Übertragungsvolumen übertrifft der Mischer (orangefarbene Spalten) in mehreren Monaten alle anderen Übertragungen im Netzwerk um ein Vielfaches (grüne Spalten). Natürlich muss man berücksichtigen, dass er die Währung in sich selbst transferiert und sein externer Umsatz nicht so bedeutend ist, nicht mehr als 17 Millionen Äther (heute 10 Milliarden US-Dollar).
Mixer-Transaktionen belegen seit vielen Monaten einen erheblichen Teil der Bandbreite des Etehereum-Netzwerks. Das Maximum seiner Aktivität trat zu Beginn des Jahres 2018 auf, als jede vierte Ethereum-Übertragungstransaktion von diesem Roboter initiiert wurde, wie aus dem blauen Diagramm des Anteils der Mischertransaktionen insgesamt ersichtlich ist:

Doch Ende Februar 2018 hörte er plötzlich auf zu arbeiten. Da wir die Gründe für seine Verwendung nicht kennen, können wir nur die Ursachen seines Lebens und seines plötzlichen Todes erraten. Oder ist er nicht gestorben, sondern hat den Algorithmus geändert und einfach unser Radar verlassen?
Ich glaube an Blockchain
Ich glaube an Blockchain. Unternehmen, Menschen und Gemeinschaften profitieren von seiner Nutzung. Um es zu verwenden, müssen Sie verstehen, wie es als Phänomen funktioniert. Entsprechend den entwickelten Gesetzen, den internen Anomalien, Trends, Abschwüngen und Aufwärtsbewegungen.
Eine transparentere Blockchain ermöglicht es Unternehmen, effektive Aktivitäten mit offenen Augen durchzuführen. Normale Benutzer werden besser verstehen, was genau sie tun, woran sie teilnehmen, um sicherer und zufriedener zu sein.
Blockchain besteht schließlich weniger aus Netzwerken, Plattformen, Blöcken und Transaktionen als vielmehr aus Personen und Gemeinschaften. Der Erfolg der Entwicklung dieser Technologie hängt ganz von der Wahrnehmung durch die Gesellschaft ab, und Transparenz ist in diesem Prozess wichtig.
Literatur
[1] Web 3: Eine Plattform für dezentrale Apps
[2] Etherscan
[3] ICO
[4] DAO
[5] Ethereum Smart Contracts
[6] Yandex Clickhouse
[7] Höhe
[8] SuperSet
[9] Python Jupyter
[10] Bloxy
[11] ERC20
[12] WTF ist ein Airdrop? Eine detaillierte Anleitung zur kostenlosen Kryptowährung
[13] CryptoKitties
[14] ERC721-Standard