Kryptowährung für Dummies: Bitcoin und mehr

Veröffentlicht: 2022-03-11

Bitcoin hat im Internet viel Aufsehen erregt. Es wurde verspottet, es wurde angegriffen, und schließlich wurde es akzeptiert und wurde ein Teil unseres Lebens. Bitcoin ist jedoch nicht allein. Derzeit gibt es über 700 AltCoin-Implementierungen, die ähnliche Prinzipien und verschiedene Kryptowährungsalgorithmen verwenden.

Kryptowährung für Dummies decken Illustration ab

Was brauchen Sie also, um so etwas wie Bitcoin zu erstellen?

Ohne zu versuchen, Ihre persönliche Motivation für die Schaffung eines dezentralen, anonymen Systems zum Austausch von Geld/Informationen zu verstehen (aber immer noch zu hoffen, dass dies im Rahmen moralischer und rechtlicher Aktivitäten liegt), lassen Sie uns zunächst die grundlegenden Anforderungen für unser neues Zahlungssystem aufschlüsseln:

  1. Alle Transaktionen sollten über das Internet erfolgen
  2. Wir wollen keine zentrale Behörde haben, die Transaktionen abwickelt
  3. Benutzer sollten anonym sein und nur durch ihre virtuelle Identität identifiziert werden
  4. Ein einzelner Benutzer kann beliebig viele virtuelle Identitäten haben
  5. Die Wertschöpfung (neue virtuelle Rechnungen) muss kontrolliert hinzugefügt werden

Dezentraler Informationsaustausch über das Internet

Die Erfüllung der ersten beiden Anforderungen aus unserer Liste, die Entfernung einer zentralen Instanz für den Informationsaustausch über das Internet, ist bereits möglich. Was Sie brauchen, ist ein Peer-to-Peer-Netzwerk (P2P) .

Der Informationsaustausch in P2P-Netzwerken ähnelt dem Informationsaustausch zwischen Freunden und Familie. Wenn Sie Informationen mit mindestens einem Mitglied des Netzwerks teilen, erreichen diese Informationen schließlich jedes andere Mitglied des Netzwerks. Der einzige Unterschied besteht darin, dass diese Informationen in digitalen Netzwerken in keiner Weise verändert werden.

Kryptowährungsalgorithmen und Toptal

Sie haben wahrscheinlich schon von BitTorrent gehört, einem der beliebtesten P2P-Filesharing-Systeme (Content Delivery). Eine weitere beliebte Anwendung für P2P-Sharing ist Skype sowie andere Chat-Systeme.

Unterm Strich können Sie eines der bestehenden Open-Source-P2P-Protokolle implementieren oder verwenden, um Ihre neue Kryptowährung, die wir Topcoin nennen, zu unterstützen.

Hashing-Algorithmus

Um digitale Identitäten zu verstehen, müssen wir verstehen, wie kryptografisches Hashing funktioniert . Hashing ist der Prozess der Abbildung digitaler Daten beliebiger Größe auf Daten fester Größe. Einfacher gesagt ist Hashing ein Prozess, bei dem einige Informationen, die lesbar sind, genommen und etwas erzeugt werden, das überhaupt keinen Sinn ergibt.

Sie können Hashing damit vergleichen, Antworten von Politikern zu erhalten. Die Informationen, die Sie ihnen zur Verfügung stellen, sind klar und verständlich, während die von ihnen bereitgestellte Ausgabe wie ein zufälliger Strom von Wörtern aussieht.

P2P-Protokolle

Es gibt ein paar Anforderungen, die ein guter Hashing-Algorithmus braucht:

  1. Die Ausgabelänge des Hashalgorithmus muss fest sein (ein guter Wert ist 256 Bytes)
  2. Selbst die kleinste Änderung der Eingabedaten muss einen signifikanten Unterschied in der Ausgabe erzeugen
  3. Dieselbe Eingabe erzeugt immer dieselbe Ausgabe
  4. Es darf keine Möglichkeit geben, den Ausgabewert umzukehren, um die Eingabe zu berechnen
  5. Die Berechnung des HASH-Werts sollte nicht rechenintensiv und schnell sein

Wenn Sie sich die einfachen Statistiken ansehen, haben wir eine begrenzte (aber riesige) Anzahl möglicher HASH-Werte, einfach weil unsere HASH-Länge begrenzt ist. Unser Hash-Algorithmus (nennen wir ihn Politiker256) sollte jedoch zuverlässig genug sein, dass er nur etwa so häufig doppelte Hash-Werte für verschiedene Eingaben erzeugt, wie es ein Affe in einem Zoo schafft, Hamlet korrekt auf einer Schreibmaschine zu tippen!

Wenn Sie denken, dass Hamlet nur ein Name oder ein Wort ist, hören Sie bitte jetzt auf zu lesen oder lesen Sie etwas über das Infinite Monkey Theorem.

Digitale Unterschrift

Wenn Sie ein Papier unterzeichnen, müssen Sie lediglich Ihre Unterschrift an den Text eines Dokuments anhängen. Eine digitale Signatur ist ähnlich: Sie müssen nur Ihre persönlichen Daten an das Dokument anhängen, das Sie signieren.

Wenn Sie verstehen, dass der Hash-Algorithmus sich an die Regel hält, dass selbst die kleinste Änderung der Eingabedaten einen signifikanten Unterschied in der Ausgabe erzeugen muss , dann ist es offensichtlich, dass der für das Originaldokument erstellte HASH-Wert sich von dem für das Dokument erstellten HASH-Wert unterscheidet mit angehängter Unterschrift.

Eine Kombination aus dem Originaldokument und dem für das Dokument erzeugten HASH-Wert mit angehängten persönlichen Daten ist ein digital signiertes Dokument .

Und so gelangen wir zu Ihrer virtuellen Identität , die als die Daten definiert ist, die Sie an das Dokument angehängt haben, bevor Sie diesen HASH-Wert erstellt haben.

Als nächstes müssen Sie sicherstellen, dass Ihre Unterschrift nicht kopiert werden kann und niemand eine Transaktion in Ihrem Namen ausführen kann. Der beste Weg, um sicherzustellen, dass Ihre Signatur sicher ist, besteht darin, sie selbst aufzubewahren und jemand anderem eine andere Methode zur Validierung des signierten Dokuments bereitzustellen. Auch hier können wir auf bereits verfügbare Technologien und Algorithmen zurückgreifen. Was wir verwenden müssen, ist Public-Key-Kryptographie , auch bekannt als asymmetrische Kryptographie .

Damit dies funktioniert, müssen Sie einen privaten Schlüssel und einen öffentlichen Schlüssel erstellen. Diese beiden Schlüssel stehen in einer Art mathematischer Korrelation und hängen voneinander ab. Der Algorithmus, den Sie verwenden, um diese Schlüssel zu erstellen, stellt sicher, dass jeder private Schlüssel einen anderen öffentlichen Schlüssel hat. Wie der Name schon sagt, handelt es sich bei einem privaten Schlüssel um Informationen, die Sie nur für sich behalten, während es sich bei einem öffentlichen Schlüssel um Informationen handelt, die Sie teilen.

Wenn Sie Ihren privaten Schlüssel (Ihre Identität) und Ihr Originaldokument als Eingabewerte für den Signaturalgorithmus verwenden , um einen HASH-Wert zu erstellen, können Sie sicher sein, dass niemand anders denselben HASH-Wert für dieses Dokument erzeugen kann, vorausgesetzt, Sie haben Ihren Schlüssel geheim gehalten .

Wie Bitcoin und Kryptowährung funktionieren

Wenn jemand Ihre Signatur validieren muss, verwendet er oder sie das Originaldokument, den von Ihnen erzeugten HASH-Wert und Ihren öffentlichen Schlüssel als Eingaben für den Signaturverifizierungsalgorithmus , um zu überprüfen, ob diese Werte übereinstimmen.

Signaturüberprüfungsalgorithmus

So senden Sie Bitcoin/Geld

Angenommen, Sie haben die P2P-Kommunikation und Mechanismen zum Erstellen digitaler Identitäten (private und öffentliche Schlüssel) implementiert und Benutzern Möglichkeiten zum Signieren von Dokumenten mit ihren privaten Schlüsseln bereitgestellt, können Sie damit beginnen, Informationen an Ihre Kollegen zu senden.

Da wir keine zentrale Behörde haben, die überprüft, wie viel Geld Sie haben, muss das System Sie jedes Mal danach fragen und dann prüfen, ob Sie gelogen haben oder nicht. Ihr Transaktionsdatensatz könnte also die folgenden Informationen enthalten:

  1. Ich habe 100 Topcoins
  2. Ich möchte meinem Apotheker 10 Münzen für das Medikament schicken ( Sie würden hier den öffentlichen Schlüssel Ihres Apothekers angeben )
  3. Ich möchte dem System eine Münze als Transaktionsgebühr geben ( wir kommen später darauf zurück )
  4. Ich möchte die restlichen 89 Coins behalten

Das Einzige, was Sie noch tun müssen, ist, den Transaktionsdatensatz mit Ihrem privaten Schlüssel digital zu signieren und den Transaktionsdatensatz an Ihre Kollegen im Netzwerk zu übertragen. An diesem Punkt erhält jeder die Information, dass jemand (Ihre virtuelle Identität) Geld an jemand anderen (Ihre virtuelle Identität Ihres Apothekers) sendet.

Ihre Arbeit ist erledigt. Ihre Medikamente werden jedoch erst bezahlt, wenn das gesamte Netzwerk zustimmt, dass Sie wirklich 100 Münzen hatten und daher diese Transaktion ausführen konnten. Erst nachdem Ihre Transaktion validiert wurde, erhält Ihr Apotheker das Geld und sendet Ihnen das Medikament zu.

Cryptocurrency Miners: Eine neue Generation von Agenten

Bergleute sind als sehr hart arbeitende Menschen bekannt, die meiner Meinung nach stark unterbezahlt sind. In der digitalen Welt der Kryptowährung spielen Miner eine sehr ähnliche Rolle, außer dass sie in diesem Fall die rechenintensive Arbeit erledigen, anstatt Haufen Dreck zu graben. Im Gegensatz zu echten Bergleuten haben einige Kryptowährungsbergleute in den letzten fünf Jahren ein kleines Vermögen verdient, aber viele andere haben bei diesem riskanten Unterfangen ein Vermögen verloren.

Miner sind die Kernkomponente des Systems und ihr Hauptzweck besteht darin, die Gültigkeit jeder einzelnen von den Benutzern angeforderten Transaktion zu bestätigen.

Um die Gültigkeit Ihrer Transaktion (oder einer Kombination mehrerer Transaktionen, die von einigen anderen Benutzern angefordert wurden) zu bestätigen, werden Miner zwei Dinge tun.

Erstens verlassen sie sich auf die Tatsache, dass „jeder alles weiß“, was bedeutet, dass jede im System ausgeführte Transaktion kopiert wird und jedem Peer im Netzwerk zur Verfügung steht. Sie werden in den Verlauf Ihrer Transaktionen schauen, um zu überprüfen, ob Sie tatsächlich 100 Coins hatten. Sobald Ihr Kontostand bestätigt ist, wird ein bestimmter HASH-Wert generiert. Dieser Hashwert muss ein bestimmtes Format haben; es muss mit einer bestimmten Anzahl von Nullen beginnen .

Es gibt zwei Eingaben für die Berechnung dieses HASH-Werts:

  1. Transaktionsaufzeichnungsdaten
  2. Miner's Proof-of-Work

Wenn man bedenkt, dass selbst die kleinste Änderung der Eingabedaten einen signifikanten Unterschied im Ausgabe-HASH-Wert erzeugen muss , haben Miner eine sehr schwierige Aufgabe. Sie müssen einen bestimmten Wert für eine Proof-of-Work- Variable finden, der einen mit Nullen beginnenden HASH erzeugt. Wenn Ihr System mindestens 40 Nullen in jeder validierten Transaktion erfordert, muss der Miner ungefähr 2^40 verschiedene HASH-Werte berechnen, um den richtigen Proof-of-Work zu finden.

Sobald ein Bergmann den richtigen Wert für den Arbeitsnachweis gefunden hat, hat er oder sie Anspruch auf eine Transaktionsgebühr (die einzelne Münze, die Sie zu zahlen bereit waren), die als Teil der validierten Transaktion hinzugefügt werden kann. Jede validierte Transaktion wird an Peers im Netzwerk übertragen und in einem bestimmten Datenbankformat gespeichert, das als Blockchain bekannt ist.

Aber was passiert, wenn die Zahl der Miner steigt und ihre Hardware viel effizienter wird? Bitcoin wurde früher auf CPUs, dann GPUs und FPGAs abgebaut, aber letztendlich begannen Miner, ihre eigenen ASIC-Chips zu entwickeln, die weitaus leistungsfähiger waren als diese frühen Lösungen. Wenn die Hash-Rate steigt, steigt auch die Mining-Schwierigkeit, wodurch ein Gleichgewicht sichergestellt wird. Wenn mehr Hashing-Power in das Netzwerk eingeführt wird, steigt die Schwierigkeit und umgekehrt; Wenn sich viele Miner entscheiden, den Stecker zu ziehen, weil ihr Betrieb nicht mehr rentabel ist, wird die Schwierigkeit neu angepasst, um sie an die neue Hash-Rate anzupassen.

Blockchain für Dummies: Das globale Hauptbuch für Kryptowährungen

Die Blockchain enthält die Historie aller im System durchgeführten Transaktionen. Jede validierte Transaktion oder jede Gruppe von Transaktionen wird zu einem weiteren Ring in der Kette. Jedes einzelne Blockchain-Entwicklungsunternehmen verlässt sich auf dieses öffentliche Hauptbuch.

Die Bitcoin-Blockchain ist also im Wesentlichen ein öffentliches Hauptbuch, in dem Transaktionen in chronologischer Reihenfolge aufgeführt sind.

Der erste Ring in der Bitcoin-Blockchain heißt Genesis Block

Um mehr darüber zu erfahren, wie die Blockchain funktioniert, schlage ich vor, Blockchain Technology Explained: Powering Bitcoin von Nermin Hajdarbegovic zu lesen.

Es gibt keine Begrenzung, wie viele Miner in Ihrem System aktiv sein können. Dies bedeutet, dass es zwei oder mehr Minern möglich ist, dieselbe Transaktion zu validieren. In diesem Fall überprüft das System den Gesamtaufwand, den jeder Miner in die Validierung der Transaktion investiert hat, indem es einfach Nullen zählt. Der Miner, der mehr Mühe investiert hat (mehr führende Nullen gefunden hat), wird sich durchsetzen und sein oder ihr Block wird akzeptiert.

Kontrolle der Geldmenge

Die erste Regel des Bitcoin-Systems lautet, dass maximal 21.000.000 Bitcoins generiert werden können. Diese Zahl wurde immer noch nicht erreicht, und nach aktuellen Trends wird davon ausgegangen, dass diese Zahl bis zum Jahr 2140 erreicht wird.

Dies mag dazu führen, dass Sie den Nutzen eines solchen Systems in Frage stellen, denn 21 Millionen Einheiten klingen nicht nach viel. Das Bitcoin-System unterstützt jedoch Bruchwerte bis zur acht Dezimalstelle (0,00000001). Diese kleinste Einheit eines Bitcoins wird Satoshi genannt, zu Ehren von Satoshi Nakamoto, dem anonymen Entwickler hinter dem Bitcoin-Protokoll.

Neue Coins werden als Belohnung für Miner für die Validierung von Transaktionen erstellt. Diese Belohnung ist nicht die Transaktionsgebühr , die Sie beim Erstellen eines Transaktionsdatensatzes angegeben haben, sondern wird vom System definiert. Der Belohnungsbetrag nimmt mit der Zeit ab und wird schließlich auf Null gesetzt, sobald die Gesamtzahl der ausgegebenen Münzen (21 Millionen) erreicht ist. In diesem Fall werden Transaktionsgebühren eine viel wichtigere Rolle spielen, da Miner möglicherweise wertvollere Transaktionen für die Validierung priorisieren.

Abgesehen von der Festlegung der Obergrenze für die maximale Anzahl an Coins verwendet das Bitcoin-System auch eine interessante Methode, um die tägliche Produktion neuer Coins zu begrenzen. Durch die Kalibrierung der Mindestanzahl führender Nullen, die für eine Proof-of-Work-Berechnung erforderlich ist, wird die Zeit, die erforderlich ist, um die Transaktion zu validieren und eine Belohnung für neue Coins zu erhalten, immer auf etwa 10 Minuten eingestellt. Wenn die Zeit zwischen dem Hinzufügen neuer Blöcke zur Blockchain abnimmt, verlangt das System möglicherweise, dass der Proof-of-Work 45 oder 50 führende Nullen generiert.

Indem es begrenzt, wie schnell und wie viele neue Münzen generiert werden können, kontrolliert das Bitcoin-System effektiv die Geldmenge.

Beginnen Sie mit dem „Drucken“ Ihrer eigenen Währung

Wie Sie sehen können, ist es nicht so schwierig, Ihre eigene Version von Bitcoin zu erstellen. Durch die Nutzung vorhandener Technologien, die auf innovative Weise implementiert werden, haben Sie alles, was Sie für eine Kryptowährung benötigen.

  1. Alle Transaktionen werden über das Internet unter Verwendung von P2P-Kommunikation durchgeführt, wodurch die Notwendigkeit einer zentralen Behörde entfällt
  2. Benutzer können anonyme Transaktionen durchführen, indem sie asynchrone Kryptografie verwenden, und sie werden nur durch ihre Kombination aus privatem Schlüssel und öffentlichem Schlüssel identifiziert
  3. Sie haben ein validiertes globales Hauptbuch aller Transaktionen implementiert, das sicher auf jeden Peer im Netzwerk kopiert wurde
  4. Sie haben eine gesicherte, automatisierte und kontrollierte Geldversorgung, die die Stabilität Ihrer Währung ohne die Notwendigkeit einer zentralen Behörde gewährleistet

Eine letzte erwähnenswerte Sache ist, dass Kryptowährung im Wesentlichen eine Möglichkeit ist, anonyme Werte/Informationen von einem Benutzer zu einem anderen in einem verteilten Peer-to-Peer-Netzwerk zu übertragen .

Erwägen Sie, Münzen in Ihrem Transaktionsdatensatz durch zufällige Daten zu ersetzen, die möglicherweise sogar mit asynchroner Kryptografie verschlüsselt sind, sodass nur der Sender und der Empfänger sie entschlüsseln können. Denken Sie jetzt darüber nach, das auf so etwas wie das Internet der Dinge anzuwenden!

Ein Kryptowährungssystem könnte eine interessante Möglichkeit sein, die Kommunikation zwischen unserem Herd und Toaster zu ermöglichen.
Twittern

Eine Reihe von Technologie-Schwergewichten erforscht bereits den Einsatz der Blockchain-Technologie in IoT-Plattformen, aber das ist nicht die einzige potenzielle Anwendung dieser relativ neuen Technologie.

Wenn Sie keinen Grund sehen, eine eigene alternative Währung zu schaffen (abgesehen von einem Schabernack), könnten Sie versuchen, den gleichen oder einen ähnlichen Ansatz für etwas anderes zu verwenden, z. B. verteilte Authentifizierung, Erstellung virtueller Währungen, die in Spielen verwendet werden, soziale Netzwerke , und andere Anwendungen, oder Sie könnten ein neues Treueprogramm für Ihr E-Commerce-Geschäft erstellen, das Stammkunden mit virtuellen Token belohnt, die später eingelöst werden können.