Wie man mit maschinellem Lernen Erkenntnisse aus Kryptowährungen gewinnt

Free Bitcoins: FreeBitcoin | BonusBitcoin

Coins Kaufen: Bitcoin.deAnycoinDirektCoinbaseCoinMama (mit Kreditkarte)Paxfull

Handelsplätze / Börsen: Bitcoin.de | KuCoinBinanceBitMexBitpandaeToro

Lending / Zinsen erhalten: Celsius NetworkCoinlend (Bot)

Cloud Mining: HashflareGenesis MiningIQ Mining


Ein praktisches Tutorial, das zusammenfasst, was Sie tun können, um aus Kryptowährungs-Datasets nützliche Modelle zu laden, zu verarbeiten und zu erstellen.

Quelle: Pixabay

Der Cryptocurrency-Wahn hat eine Vielzahl von Anwendungsfällen und eine interessante Datenmenge hervorgebracht. Da viele der Blockchains, mit denen diese Kryptowährungen betrieben werden, standardmäßig offen und öffentlich sind, werden über verschiedene Blockchains hinweg enorme Datenmengen generiert. Da jeder Datenpunkt einen wirtschaftlichen Wert schafft, hat es eine Vielzahl von Projekten und Akteuren gegeben, die sich mit der Technologie befassen, von Steuerbehörden bis hin zu solchen, die künftige Kryptowährungspreise vorhersagen wollen.

Ich war einer der ersten, der über neue Kryptowährungen und die Verwendung von Bitcoin bei Überweisungszahlungen für TechCrunch und VentureBeat schrieb. Ich bin mit dem Thema vertraut, und ich bin auch ein Liebhaber der Datenwissenschaft, der Springboard dabei geholfen hat, an seinem Bootcamp für maschinelles Lernen mit Jobgarantie zu arbeiten. Deshalb bin ich immer auf der Suche nach Möglichkeiten, die riesigen Daten, die von Kryptowährungen und der Maschine generiert werden, zu kombinieren Lernprojekte, auf die Sie mit konkreten Auswirkungen aufbauen können.

Glücklicherweise macht es Google BigQuery einfach, Daten aus einigen der weltweit führenden Bitcoin-basierten Kryptowährungen, von Bitcoin bis Zcash, kostenlos zu verarbeiten.

Google konnte einen einfachen Klassifikator erstellen, der feststellte, ob eine Transaktion aus Mining-Pools stammte oder nicht. Sie können eine Bibliothek in iPython Notebook importieren und SQL zum Abfragen dieses umfangreichen Datasets verwenden. Lassen Sie uns ein bisschen Spaß mit Beispieldatenanfragen haben und sehen, was wir mit den Bitcoin-Daten, die Google zur Verfügung hat, aus diesen Daten machen können.

Im Schema sind hier zwei Haupttabellen zu untersuchen: eine Tabelle "blocks" und eine Tabelle "transaction", die verknüpft werden können.

Hier ist das Schema für die Blocktabelle:

Quelle: Screenshot des Autors

Hier müssen wir einige grundlegende Definitionen kennen. Eine Blockchain besteht aus einer Reihe von Blöcken, die Transaktionsdaten enthalten und nach einem bestimmten Zeitraum sequenziell bestätigt werden. Mit der Abfrage von block_id können wir tatsächlich auf einen bestimmten Block in einer Blockchain eingrenzen.

Spielen wir mit diesem Explorer mit den Grundkonzepten der Blockchain. Wenn wir uns den ersten Block ansehen, sehen wir, dass es 50 Bitcoin-Ausgaben für den ersten Block gab. Die Blockhöhe (1) gibt an, dass es sich um den ersten Block handelt, der in der Bitcoin-Mainnet-Blockchain abgebaut und validiert wurde. Hierbei handelt es sich um die in der Produktion befindliche Version von Bitcoin, mit der Benutzer (im Gegensatz zu Testnetzen, für die dies vorgesehen ist) finanzielle Werte untereinander abwickeln nur zu Inszenierungszwecken).

Sie können die vorherige block_id in der blockchain mit der Variablen previous_block abfragen. In diesem Fall gibt es bei einer Blockhöhe von 1 keine vorherige Blockreferenz. Wenn Sie sich jedoch die Blockhöhe 2 ansehen, bezieht sich previous_block auf den Genesis-Block / den Block mit der Blockhöhe 1.

Die Merkle-Wurzel ist ein Hash aller Hash-Transaktionen innerhalb eines Blocks, mit dem Sie die Integrität des gesamten Blocks mit viel geringeren Rechenaufwendungen überprüfen können.

Jeder Block hat auch einen Zeitstempel, der eine relativ genaue Metrik für den Zeitpunkt der Validierung aufweist und als zusätzliche Authentifizierungsebene für Blockchain-Angreifer dient. Das Schwierigkeitsziel in jedem Block ist ein Maß dafür, wie viel Rechenleistung erforderlich ist, um einen Block abzubauen: Der Schwierigkeitsgrad wird alle 2016 Blöcke angepasst, um eine kontinuierliche ausgeglichene Rate von etwa einem Block sicherzustellen, der alle 10 Minuten abgebaut wird. Da Bitcoin ein Proof-of-Work-System ist, ermöglicht das Mining von Blöcken dem System, einen Konsens über den aktuellen Status zu erzielen, unabhängig von der verteilten Anzahl der vorhandenen Knoten und Transaktionen.

Jeder Block hat eine Nonce, die den Anforderungen des Netzwerks entspricht und bedeutet, dass der Block abgebaut werden kann. Es gibt einen Versionsmarker, der die Version der Kernkonfiguration von Bitcoin-Code beschreibt und als Marker dafür verwendet werden kann, unter welchen Bedingungen und bestimmten Regeln ein Block abgebaut wurde.

Work_terahash ist dann als Ausdruck dafür gedacht, wie viel Rechenleistung erforderlich war, um einen Block beizutragen und abzubauen. Im Fall von Bitcoin werden nun ernsthafte Bergleute Terahashes (Billionen versuchte Bitcoin-Problemlösungen) ausführen – bis zu 13 pro Sekunde. Diese Metrik kann (zusammen mit dem Schwierigkeitsgrad) als Proxy dafür dienen, wie viele Rechenressourcen erforderlich sind, um einen Block abzubauen.

Sie können im BigQuery-Explorer mit verschiedenen Abfragen experimentieren, um sie zu testen. Insbesondere bei größeren Datenabfragen, die Gigabyte an Daten zurückgeben, sind Sie jedoch in der Geschwindigkeit beschränkt. Diese Grenze ist bei umfangreichen Blockchain-Daten recht einfach zu überschreiten.

Google BigQuery verfügt über eine bestimmte Funktion, bei der Sie Backdashes (`) für Tabellennamen verwenden müssen, damit es sich auch um eine gültige Abfrage handelt.

Als erste Abfrage können wir uns den ersten Block in Bitcoin ansehen, bei dem es sich um den Genesis-Block handelt. Wir sehen, dass die Merkle-Wurzel dafür „0e3e2357e806b6cdb1f70b54c3a3a17b6714ee1f0e68bebb44a74b1efd512098“ ist. Wenn Sie die block_id für diese Merkle-Wurzel auswählen, erhalten Sie die block_id des Genesis-Blocks 00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048. Wenn wir den Blockchain-Explorer nach dieser block_id durchsuchen, sehen wir, dass sie die Blockhöhe 1 enthält, was bestätigt, dass dies tatsächlich der erste in Bitcoin abgebaute Block ist.

Quelle: Screenshot des Autors

Nachdem alle Blockvariablen analysiert wurden, können wir uns den Variablen auf Transaktionsebene zuwenden – den Transaktionsbeträgen zwischen verschiedenen Bitcoin-Benutzern.

Über den Primärschlüssel der Transaktionstabelle, transaction_id, können wir Informationen zu einzelnen Transaktionen innerhalb eines Blocks entsperren: Von der Code-Ausgabe bis zur Menge der Satoshis (100 Millionen Satoshis entsprechen einem Bitcoin) in jeder Transaktion innerhalb eines Blocks. Blöcke enthalten eine Reihe von Transaktionen, die das Lebenselixier von Bitcoin sind, die Übertragung von Werten zwischen verschiedenen Konten.

Die Coinbase enthält auch Code und Ausgaben, die nichts mit den übertragenen Satoshis zu tun haben. Dies kann verwendet werden, um beispielsweise Mining-Pools zu identifizieren, die Rechenleistung aggregieren und dann die Erlöse aus dem Cryptocurrency-Mining auf die einzelnen Kontributoren verteilen, die diese explizit platzieren ihre Unterschrift als Ausgabe auf einem Münzblock, um sich zu identifizieren.

Nachdem wir mit verschiedenen SQL-Abfragen und den verschiedenen Konzepten der Google BigQuery-Benutzeroberfläche herumgespielt haben, können wir sie mit Kaggles BigQuery-Client-Tool und der Kernel-Benutzeroberfläche direkt in iPython-Notizbücher importieren und dann auch Aggregatfunktionen, Unterfunktionen und alles, was SQL zu bieten hat, ausführen Genaue Datenmengen für Blöcke und die darin enthaltenen Transaktionen bereitstellen.

Zählen wir jeden Block, der in den Bitcoin-Blockchain-Daten enthalten ist und mit der Oberfläche in iPython und dem Kaggle-Kernel herumspielen mit ein paar verschiedenen Abfragen, bei denen wir über ihre Integration in BigQuery leicht Daten erhalten können.

Quelle: Screenshot des Autors

Was können wir beim maschinellen Lernen mit dieser Fähigkeit tun, umfangreiche Daten in der Bitcoin-Blockchain und in verschiedenen Kryptowährungen zu sammeln?

Klassifizieren Sie, ob ein Bergmann Teil eines Mining-Pools ist

Google veröffentlichte ein Beispielprojekt, mit dem ermittelt werden konnte, ob eine bestimmte Transaktion von einem Mining-Pool generiert wurde oder nicht. Dabei wurde versucht, die Rechenleistung auf mehrere Entitäten und Einzelpersonen zu verteilen, um zu versuchen, Bitcoin und andere Kryptowährungen aufgrund ihrer Schwierigkeit erfolgreich abzubauen Niveau.

Die folgenden Abfragen führten zu den 26 Merkmalsvektoren aus der Ausgabe, die an eine bestimmte Adresse und Leerlaufzeiten gegeben wurden. Mithilfe eines einfachen zufälligen Gesamtstrukturklassifikators und einer Miner-Klassifizierung in der Coinbase konnte Google ein Modell trainieren und kennzeichnen, mit dessen Hilfe ermittelt werden konnte, ob Transaktionen wahrscheinlich als Teil eines Mining-Pools generiert werden.

Korrelieren und prognostizieren Sie das Interesse an Kryptowährungen und den Schwierigkeitsgrad des Preisniveaus

Sie können Faktoren wie den Schwierigkeitsgrad und die Menge der einer Blockchain zugeordneten Hash-Leistung sowie die Menge der Transaktionsaktivität in der Kette heranziehen und diese mit historischen Preisdaten korrelieren, um zu sehen, ob Sie zukünftige Preise basierend auf der Zeit vorhersagen können -Serienanalyse und On-Chain-Faktoren – heutzutage möglicherweise ein sehr lukratives Unterfangen.

Klassifizieren Sie verschiedene Blockchains anhand ihrer Attribute

Sie können verschiedene Attribute aus verschiedenen Blockchains beziehen, beispielsweise den Gini-Koeffizienten der Bergarbeiter-Belohnungen, wie dies bei dieser Analyse von Ethereum Classic auf Kaggle der Fall war, und verwenden Sie diese dann, um die Ähnlichkeit zwischen verschiedenen Blockchains zu analysieren, basierend auf verschiedenen Merkmalen, wie der Konzentration der Mining-Belohnungen oder den Änderungen des Schwierigkeitsgrades oder des Versionsverlaufs.

Free Bitcoins: FreeBitcoin | BonusBitcoin

Coins Kaufen: Bitcoin.deAnycoinDirektCoinbaseCoinMama (mit Kreditkarte)Paxfull

Handelsplätze / Börsen: Bitcoin.de | KuCoinBinanceBitMexBitpandaeToro

Lending / Zinsen erhalten: Celsius NetworkCoinlend (Bot)

Cloud Mining: HashflareGenesis MiningIQ Mining

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close