Reflink

Bitcoin

 

Einleitung

Bitcoin ist eine digitale Währung,

die auf einer dezentralen Technologie namens Blockchain basiert.

Es wurde 2009 von einer Person oder Gruppe unter dem Pseudonym Satoshi Nakamoto eingeführt.

Im Gegensatz zu traditionellen Währungen wie dem US-Dollar oder dem Euro gibt es keine physischen Münzen oder Banknoten.

 

Stattdessen werden Bitcoins auf einer digitalen Plattform gespeichert und

können über das Internet an andere Benutzer gesendet werden.

Bitcoin-Transaktionen werden durch komplexe mathematische Algorithmen gesichert und

sind in der Regel pseudonym und unveränderlich.

Bitcoins können verwendet werden,

 

um Waren und Dienstleistungen zu kaufen oder als Investition gehalten werden.

Die Zahl der Bitcoins ist auf insgesamt 21 Millionen begrenzt,

davon sind jedoch derzeit mehr als 18 Millionen im Umlauf.

Bitcoin Glaskugel

Reflink

Was ist Bitcoin?

Der Bitcoin kann weder physisch gedruckt noch durch eine Zentralbank oder eine andere zentrale Institution gesteuert, reglementiert oder gar manipuliert oder werden. Dennoch kann die Währung wie jede andere für den Kauf von Gütern, Dienstleistungen oder auch als Wertspeicher (digitales Gold) verwendet werden.

 

 

Die Basis von Bitcoin bildet die sogenannte Blockchain. Der Name ergibt sich aus den kryptografisch verketteten Blöcken, welche die Transaktionsdaten beinhalten. Dieses dezentrale Register unterliegt keiner staatlichen Kontrolle und auch keiner Zentralbank, die die Geldmenge steuern oder die Rahmenbedingungen festlegen kann. Die Währung leitet sich somit selbst und ist daher vor inflationären Schwankungen oder staatlichen Einflüssen geschützt.

 

Pionier der Kryptowährungen

Bitcoin gilt als die älteste Kryptowährung der Welt und definiert noch heute die prägenden Aspekte des Themas Blockchain und Kryptowährungen. Das Bitcoin-Netzwerk hat mit großem Abstand meisten Netzwerkteilnehmer und gilt daher als sicherste, stabilste und zensurresistenteste Kryptowährung. In den Medien und in der öffentlichen Diskussion ist Bitcoin zudem noch immer die Währung, die stellvertretend für das Gesamtkonzept verwendet wird.

 

Das theoretische Konstrukt, auf dem der Bitcoin basiert, reicht jedoch bis in die Neunzigerjahre zurück. Die Theorie wurde allerdings erst mit der Veröffentlichung von Bitcoin im Jahr 2008 umgesetzt und 2009 als funktionierendes System implementiert. Dadurch ist der Bitcoin nicht nur der Pionier unter den digitalen Währungen, sondern definiert auch genau den Standard, auf dem die meisten späteren Kryptowährungen aufgebaut haben. Der Ursprung von Bitcoin ist zudem von einem Mysterium umgeben. Bis dato kann niemand mit Sicherheit sagen, welche Person wirklich hinter der Entwicklung von Bitcoin steckt.

 

 

Ins Leben gerufen wurde Bitcoin von Satoshi Nakamoto (Technisches Whitepaper). Ob sich hinter diesem Namen bzw. Pseudonym ein einzelner Softwareentwickler oder eine ganze Gruppe befindet, ist jedoch unklar. So kursieren im Internet unzählige Theorien darüber, wer denn der Vater der Kryptowährung sein könnte. Eine valide Antwort ist bis heute nicht vorhanden.

 

Als gesichert gilt jedoch, dass die ersten Bitcoin Anfang 2009 geschürft und seitdem Milliarden Transaktionen durchgeführt wurden. Die Blockchain wuchs in dieser Zeit auf beeindruckende 210 Gigabyte an, wobei der Bitcoin heutzutage den Markt der digitalen Währungen dominiert.

 

Aktuelle Zahlen und Daten zu Bitcoin

Erfinder Satoshi Nakamoto

Veröffentlichung 2009

Consensus Algorithmus Proof of Work

Maximale Anzahl 21.000.000

Bitcoin Preis $33.632,28

Marktkapitalisierung $625.905.559.273,50

Handelsvolumen $638.372.961,39

Transaktionen pro Tag 294.694

Durchschnittliche Blockgröße 1,39 MB

Blockchain Größe 323.649,49 MB

Die aktuellen Zahlen werden automatisch von Blockchain.com bezogen.

 

banner

Reflink

Wie viele Bitcoin gibt es?

Die Gesamtanzahl von Bitcoin ist auf knapp 21 Millionen Bitcoin begrenzt und ist somit eine (mathematisch) begrenzte Ressource. Prognosen gehen hierbei davon aus, dass der letzte Bitcoin vermutlich 2140 geschöpft wird. Kleinere Bitcoin-Beträge werden auch gerne in "Satoshi" angegeben. Ein Satoshi entspricht dabei ein hundertmillionstel Bitcoin und ist die kleinste Einheit, die in der Blockchain aufgezeichnet werden kann. Der Name der Einheit ist übrigens eine Hommage an den Gründer der digitalen Währung.

 

 

Ist Bitcoin anonym?

Der Bitcoin gilt als Pseudoanonym. Auch wenn der Aufstieg von Bitcoin ursprünglich im Darknet begann, wird die beliebte Währung heutzutage eher weniger als anonymes Zahlungsmittel für illegale Transaktionen verwendet.

 

Der Grund dafür ist die Beschaffenheit der Bitcoin-Blockchain. In dieser wird jede Transaktion transparent gespeichert. Eine Transaktion beinhaltet hierbei sowohl die Menge der transferierten Bitcoin als auch die Daten des Absenders und des Empfängers. Dabei werden in der Blockchain zwar keine Namen in Klartext angezeigt, es ist allerdings technisch möglich, die Bitcoin-Adressen echten Personen zuzuordnen.

 

Daher ist der Bitcoin für illegale Aktivitäten, wie beispielsweise Geldwäsche oder Drogenhandel, nur bedingt attraktiv. Zudem gibt es mittlerweile andere Währungen, wie Monero, Zcash oder Dash, die einen weitaus höheren Grad an Anonymität bieten. Mittlerweile gibt es aber auch Möglichkeiten, mit speziellen Methoden Bitcoin-Transaktionen zu verschleiern (zB. Bitcoin-Mixing).

Wie funktioniert Bitcoin?

Der dezentrale Aufbau von Bitcoin bedingt, dass alle Transaktionen transparent innerhalb des Bitcoin-Netzwerkes stattfinden. Um Teil des Netzwerks zu werden, benötigt man eine Art "Bitcoin-Konto", welches Wallet genannt wird.

 

Das Wallet verfügt über eine eindeutige Kennung und ein kryptografisches Schlüsselpaar (sog. "private key" und "public address") und kann sowohl am Computer als auch am Smartphone installiert werden. Dabei fungiert der private key als digitale Signatur, eine Art Passwort, um über deine Bitcoin in der Blockchain verfügen zu können. Der public key dient als öffentliche Adresse (vergleichbar mit einer E-Mail Adresse),

an die Bitcoins gesendet werden können.

 

Die Vorteile von Bitcoin

Die dezentrale und manipulationssichere Architektur von Bitcoin macht Zwischenhändler/Mittelsmänner, wie beispielsweise Banken oder Kreditinstitute teilweise überflüssig. Dadurch entfallen die teuren Transaktionskosten, die Banken ihren Kunden für Auslandstransaktionen oftmals in Rechnung stellen.

Die Tatsache, dass sämtliche Transaktionen signiert werden müssen, gibt den Teilnehmern die Sicherheit, dass die getätigte Transaktion auch tatsächlich beim gewünschten Empfänger ankommt. Zudem werden Transaktionen innerhalb des Netzwerks in wenigen Minuten, ohne Umwege, abgewickelt und bestätigt.

 

Vorteile von Bitcoin im Überblick

Zensurresistent und Manipulationssicher

Dezentral: Bitcoin wird nicht von einer Instanz oder Unternehmen gesteuert, das Netzwerk gehört "allen und niemandem"

"Permissionless" - Jeder kann am Finanzsystem teilnehmen, auch ohne Bankkonto

Globales Netzwerk zum Werttransfer und -speicher

Befreit von starker Inflation durch Limitierung der Gesamtmenge im Protokoll-Code

Wo kann ich Bitcoin kaufen?

Bitcoin kann auf diversen Börsen und Handelsplattformen gekauft werden.

 

Reflink

Die Schwächen von Bitcoin

Bitcoin ist einigen Einschränkungen unterworfen, die bewusst im Protokoll festgelegt worden sind. Mit den ständig steigenden Nutzerzahlen erhöht sich das Transaktionsaufkommen. Die hohe Frequenz führt dazu, dass Transaktionen heutzutage vielfach nicht mehr schnell genug verarbeitet werden können.

 

Der Ursprung des Problems liegt in der vom Protokoll festgelegten Blockgröße, deren Limit für die derzeitige Transaktionsdichte schlichtweg unzureichend ist. Die aktuelle Blockgröße wurde im Jahr 2010 auf 1 MB festgelegt. Das heißt, dass alle Blöcke, die diese Größe überschreiten, abgewiesen werden. Die Maßnahme sollte ursprünglich verhindern, dass Hacker das System durch Attacken lahmlegen.

Diese Entscheidung ist heutzutage jedoch eine Limitierung für das Netzwerk und sorgt bei Nutzern zunehmend für Frustration. So ist es nicht unüblich, dass Nutzer in Zeiten starker Auslastung für eine Transaktion Wartezeiten von mehreren Stunden hinnehmen müssen. Derzeit arbeiten viele Bitcoin-Entwickler und Gruppierungen an Lösungen für die Skalierungsprobleme von Bitcoin.

Eines der ambitioniertesten und fortgeschrittensten Projekte ist das sog. Lightning Network

 

Kann das Lightning Network das Skalierungsproblem lösen?

Für die Lösung des Skalierungsproblems gibt es unterschiedliche Ansätze, die innerhalb der Community für zahlreiche Diskussionen sorgen. Einer der bekanntesten Lösungsvorschläge ist das sogenannte Lightning Network, welches Transaktionen nicht nur schneller, sondern auch günstiger abwickeln könnte.

 

 

Beim Lightning Network handelt es sich im Grunde um ein Verrechnungssystem, welches als "zweite Protokollebene" auf die Bitcoin-Blockchain aufgesetzt werden kann. Hierbei werden im ersten Schritt mehrere Transaktionen auf einen eigenen Zahlungskanal gelegt und durch Smart Contracts ausgeführt.

Das Ausführen von Transaktionen benötigt dadurch lediglich wenige Sekunden und generiert deutlich niedrigere Gebühren. Dies wird erreicht, indem die Menge der Transaktionen gesenkt wird, die für immer auf der Blockchain gespeichert werden müssen. Stattdessen fließen die Transaktionen in sog. "Payment Channels" und werden außerhalb der Blockchain zwischen den Zahlenden ausgetauscht.

Der finale Zustand des Payment Channels kann jederzeit an das Bitcoin Netzwerk entsandt werden, was die Gelder sicher auf der Blockchain verrechnet. Die Kapazität des Netzwerks beläuft sich derzeit auf ungefähr 1.000 Bitcoin.

 

Die Zukunft von Bitcoin

Beim Bitcoin handelt es sich um Open-Source-Software, wodurch die Community ständig an neuen technologischen Weiterentwicklungen, Neuerungen und Features arbeitet. Zwei der derzeit interessantesten und vielversprechendsten Entwicklungen sind die sog. "Schnorr-Signaturen" und "MimbleWimble".

 

Schnorr-Signaturen

Jede Bitcoin-Transaktion, die innerhalb des Netzwerks ausgeführt wird, muss signiert werden. Diese Signatur vergrößert die Transaktionsdaten und wirkt sich somit negativ auf die Geschwindigkeit aus und bläht die Größe der Blockchain auf. Mithilfe der Schnorr Signitur werden mehrere Transaktionen gemeinsam signiert. Dies verringert die Transaktionsgröße spürbar und kann dazu beitragen, Speicher- und Skalierungsprobleme zu lösen.

 

MimbleWimble

Bei "MibleWimble" handelt es sich um ein Protokoll, welches sich insbesondere auf Skalierbarkeit und Anonymität fokussiert. Die Grundlage des Protokolls ist wiederum die Blockchain. Dabei werden alle Transaktionen kryptografisch verschleiert, sodass sie nicht mehr eindeutig zugeordnet werden können. Dank mathematischer Algorithmen ist jedoch weiterhin sichergestellt, dass keine falschen Coins erzeugt werden können.

Zudem ist es nicht möglich, mehr Geld zu versenden als tatsächlich am Konto vorhanden ist ("Double-Spending"). Die schlanke Architektur des Systems reduziert hierbei die Größe der Transaktionsdaten, wodurch das Skalierungsproblem stark vermindert wird. Der Ansatz befindet sich aktuell erst in den Kinderschuhen, wodurch MimbleWimble derzeit nur bei einigen wenigen Projekten eingesetzt und getestet wird.

Reflink

Bitcoin Whitepaper

Bitcoin: Ein elektronisches Peer­to­Peer­Bezahlsystem

Satoshi Nakamoto

satoshin@gmx.com

www.bitcoin.org

übersetzt durch Bitcoin.de

Überblick.

Eine reine Peer-to-Peer-Version eines elektronischen

Zahlungsverfahrens würde es ermöglichen, dass Online-Zahlungen von einer Partei

direkt an eine andere gesendet werden, ohne über ein Finanzinstitut zu gehen.

Digitale Signaturen bilden einen Teil der Lösung, aber die Hauptvorteile gehen

verloren, wenn weiterhin eine vertrauenswürdige dritte Partei notwendig ist, um

Double Spending (Mehrfachausgaben) zu verhindern. Wir schlagen eine Lösung

für das Double-Spending-Problem vor, indem wir ein Peer-to-Peer-Netzwerk benutzen.

 

Das Netzwerk gibt Transaktionen einen Zeitstempel, indem es sie in eine

fortlaufende Kette von Hash-basierten Arbeitsbeweisen (Proof-of-Work) hasht und

so eine Aufzeichnung erzeugt, die nicht geändert werden kann, ohne den Proof-of

Work neu zu erzeugen. Die längste Kette dient nicht nur als Nachweis für die

Sequenz bezeugter Ereignisse, sondern auch als Beweis, dass sie vom größten Pool

an CPU-Leistung stammt. Solange der Großteil der CPU-Leistung von Nodes

kontrolliert wird, die nicht kooperieren, um das Netzwerk anzugreifen, werden

diese die längste Kette generieren und schneller sein als die Angreifer.

 

Das Netzwerk selbst erfordert nur eine Minimalstruktur.

Nachrichten werden auf

Best-Effort-Basis übertragen und die Nodes können das Netzwerk beliebig

verlassen und wieder betreten, da sie die längste Proof-of-Work-Kette als Beweis

darüber akzeptieren, was geschah, während sie weg waren.

 

Einführung

Es hat sich ergeben, dass der Handel im Internet inzwischen

fast vollständig darauf beruht, dass Finanzinstitute

als zu vertrauende dritte Parteien dienen, um elektronische Zahlungen zu verarbeiten.

Während dieses System für

die meisten Transaktionen ausreichend gut funktioniert, leidet es nach wie vor unter den Schwächen eines

Modells, das auf Vertrauen beruht. Vollständig unumkehrbare Transaktionen sind nicht wirklich möglich, da

Finanzinstitute es nicht vermeiden können, in Streitfällen zu vermitteln.

 

Die Kosten der Vermittlung erhöhen die

Kosten der Transaktion, was die Mindestgröße für machbare Transaktionen erhöht und die Möglichkeit kleiner Gelegenheitstransaktionen eliminiert. Ein größerer Schaden entsteht darüber hinaus durch den Wegfall der Möglichkeit, irreversible Zahlungen für irreversible Dienstleistungen zu tätigen. Durch die Option,

Transaktionen rückgängig zu machen, erhöht sich das notwendige Vertrauen. Händler müssen ihren Kunden

gegenüber misstrauisch sein und von ihnen mehr Informationen verlangen, als ansonsten notwendig wären.

Ein bestimmtes Maß an Betrug wird als unvermeidbar akzeptiert.

 

Diese Kosten und Zahlungsunsicherheiten können

durch persönlichen Kontakt und die Verwendung einer physischen Währung vermieden werden,

doch es existiert kein Mechanismus für die Leistung von Zahlungen über einen

Kommunikationskanal ohne eine vertrauenswürdige Partei.

Notwendig ist ein elektronisches Zahlsystem, das auf kryptographischem Nachweis an Stelle von Vertrauen

basiert und es zwei bereitwilligen Parteien ermöglicht,

Transaktionen direkt untereinander durchzuführen,

ohne dass eine vertrauenswürdige dritte Partei benötigt wird.

 

Transaktionen, bei denen es rechnerisch unmöglich ist, sie

zu widerrufen, würden die Verkäufer vor Betrug schützen,

und standardisierte Treuhandmechanismen könnten auf

einfache Weise implementiert werden, um die Käufer zu schützen.

In diesem Paper schlagen wir eine Lösung für

das Double-Spending-Problem vor,

die unter Verwendung eines verteilten Peer-to-Peer-Zeitstempel-Servers einen

rechnerischen Nachweis der chronologischen Reihenfolge der Transaktionen erzeugt.

 

Das System ist sicher,

solange die ehrlichen Nodes mehr CPU-Leistung kontrollieren als jede kooperierende Gruppe von angreifenden Nodes.

Transaktionen

Wir definieren eine elektronische Münze (Coin) als eine Kette digitaler Signaturen.

Jeder Eigentümer überträgt

den Coin auf den nächsten, indem er einen Hash der vorherigen Transaktion

sowie den öffentlichen Schlüssel des

nächsten Eigentümers digital signiert und dies an das Ende des Coins anhängt.

Der Empfänger der Zahlung kann

die Signaturen verifizieren, um die Kette der Eigentümer zu verifizieren.

 

Das Problem ist natürlich, dass der Zahlungsempfänger nicht verifizieren kann,

dass einer der Eigentümer den

Coin nicht doppelt ausgegeben hat. Eine gebräuchliche Lösung ist,

eine zentrale, vertrauenswürdige Instanz, oder

Münzanstalt, einzuführen, die jede Transaktion auf Double Spending (Mehrfachausgabe) prüft. Nach jeder

Transaktion muss der Coin an die Münzanstalt zurückgegeben werden,

damit diese einen neuen Coin herausgibt,

und nur bei Coins, die direkt von der Münzanstalt ausgegeben wurden,

kann darauf vertraut werden, dass sie nicht

doppelt ausgegeben worden sind. Das Problem mit dieser Lösung ist, dass das Schicksal des gesamten

Geldsystems von dem Unternehmen abhängt, das die Münzanstalt betreibt,

und dass jede Transaktion über dieses

laufen muss, wie bei einer Bank.

 

Wir brauchen eine Methode, um Gewissheit für den Zahlungsempfänger zu schaffen, dass die vorherigen

Eigentümer keine früheren Transaktionen signiert haben.

Für unsere Zwecke ist die erste Transaktion diejenige,

die zählt, so dass wir uns keine Sorgen über spätere Versuche zur Mehrfachausgabe machen müssen.

Die einzige Möglichkeit, die Abwesenheit einer Transaktion zu bestätigen, ist es,

alle Transaktionen zu kennen. In dem auf

einer Münzanstalt basierenden Modell kannte die Münzanstalt alle Transaktionen und

konnte entscheiden, welche

zuerst eingetroffen ist. Um dies ohne vertrauenswürdige Partei zu erreichen,

müssen Transaktionen öffentlich

gemacht werden [1], und wir benötigen ein System,

mit dem sich die Teilnehmer auf einen einzigen Verlauf der

Reihenfolge, in der sie eingetroffen sind, einigen.

Der Zahlungsempfänger benötigt einen Nachweis, dass sich

zum Zeitpunkt jeder Transaktion die Mehrheit der Knoten des Netzwerks einig sind,

dass sie diese zuerst empfangen haben.

 

Zeitstempel­ Server

Die von uns vorgeschlagene Lösung beginnt mit einem Zeitstempel-Server.

Ein Zeitstempel-Server funktioniert,

indem er den Hash eines Blocks von mit Zeitstempel zu versehenden Datensätzen nimmt und den Hash

weitläufig, etwa in einer Zeitung oder in einem Usenet-Post, veröffentlicht [2-5].

Der Zeitstempel beweist,

dass die Daten zu diesem Zeitpunkt existiert haben,

offensichtlich, denn sonst gäbe es keinen Hash von ihnen.

Jeder Zeitstempel beinhaltet in seinem Hash den vorhergegangenen Zeitstempel und bildet eine Kette,

bei der jeder zusätzliche Zeitstempel die vorherigen verstärkt.

 

Proof­ of­ Work

Um einen verteilten Zeitstempel-Server auf Peer-to-Peer-Basis zu implementieren, müssen wir ein Proof-of

Work-System, ähnlich des Hashcash-Systems von Adam Back [6],

anstatt der Zeitungen oder Usenet-Posts verwenden.

Der Proof-of-Work beinhaltet die Suche nach einem Wert, bei dem, wenn er gehasht wird, etwa durch

SHA-256, der Hash mit einer Anzahl von Nullbits beginnt. Die durchschnittlich erforderliche Arbeit ist

exponentiell zu der Anzahl der erforderlichen Nullbits und kann durch die Ausführung eines einzelnen Hashs

verifiziert werden.

 

Für unser Zeitstempel-Netzwerk implementieren wir den Proof-of-Work, indem eine Nonce im Block solange

ansteigt, bis ein Wert gefunden wird, der dem Hash des Blocks die erforderlichen Nullbits gibt. Nachdem die

CPU genügend Arbeit aufgewendet hat, um den Proof-of-Work zu erfüllen,

kann der Block nicht mehr geändert

werden, ohne dass die Arbeit erneut ausgeführt wird.

Da spätere Blocks damit verkettet werden, würde die Arbeit

zur Änderung des Blocks die Neuerstellung aller nachfolgenden Blocks beinhalten.

Der Proof-of-Work löst außerdem das Problem, bei Mehrheitsentscheidungen die Repräsentanten zu

bestimmen. Wenn die Mehrheit auf einer Stimme je IP-Adresse basieren würde, könnte diese durch jeden

unterwandert werden, der in der Lage ist, viele IPs zu reservieren.

Proof-of-Work ist im Grunde eine Stimme pro

CPU. Die Mehrheitsentscheidung wird durch die längste Kette repräsentiert, in die der größte Proof-of-Work

Aufwand investiert wurde.

 

Wenn eine Mehrheit der CPU-Leistung von ehrlichen Knoten kontrolliert wird,

wird die ehrliche Kette am schnellsten wachsen und alle konkurrierenden Ketten abhängen.

Um einen vergangenen Block zu ändern,

müsste ein Angreifer den Proof-of-Work des Blocks sowie den aller nachfolgenden Blocks neu

erzeugen, und dann die ehrlichen Nodes einholen und überholen. Wir werden später demonstrieren, dass die

Möglichkeit, dass ein langsamerer Angreifer aufholt, sich exponentiell verringert,

je mehr nachfolgende Blöcke hinzugefügt werden.

Um steigende Hardwareleistung und zeitlich schwankendes Interesse, einen arbeitenden Node zu betreiben,

auszugleichen, wird die Proof-of-Work-Schwierigkeit durch einen gleitenden Mittelwert bestimmt, der eine

durchschnittliche Anzahl von Blocks pro Stunde anpeilt.

Wenn sie zu schnell generiert werden, steigt die Schwierigkeit.

 

Netzwerk

Die Schritte zum Betrieb des Netzwerks sind die Folgenden:

Neue Transaktionen werden an alle Knoten ausgestrahlt.

Jeder Knoten sammelt die neuen Transaktionen in einem Block.

Jeder Knoten arbeitet daran, einen schwierigen Proof-of-Work für seinen Block zu finden.

Wenn ein Knoten einen Proof-of-Work findet, strahlt er den Block an alle Knoten aus.

Die Knoten akzeptieren den Block nur,

wenn alle Transaktionen darin gültig und nicht bereits ausgegeben sind.

Die Knoten drücken ihre Akzeptanz des Blocks aus, indem sie daran arbeiten, den nächsten Block in der

Kette zu erzeugen, wofür sie die Hash des akzeptierten Blocks als vorhergegangene Hash verwenden.

Knoten gehen immer davon aus, dass die längste Kette die korrekte ist und arbeiten daran, diese zu

verlängern. Wenn zwei Knoten gleichzeitig verschiedene Versionen des nächsten Blocks übertragen,

könnten einige Nodes die eine oder die andere Version zuerst empfangen.

 

In diesem Fall arbeiten sie an der ersten, die sie

empfangen haben, speichern aber den anderen Zweig für den Fall,

dass dieser länger wird. Der Gleichstand wird

gebrochen, wenn der nächste Proof-of-Work gefunden wird und ein Zweig länger wird; die Nodes, die am

anderen Zweig gearbeitet haben, werden dann auf den längeren umschalten.

Die Ausstrahlung neuer Transaktionen muss nicht zwingend jeden Knoten erreichen. So lange sie viele

Knoten erreichen, werden sie früher oder später in einem Block aufgenommen.

Blockausstrahlungen sind auch

tolerant gegenüber verlorenen Nachrichten. Wenn ein Knoten einen Block nicht empfängt, wird er diesen

anfordern, sobald er den nächsten Block empfängt und erkennt, dass ihm einer fehlt.

 

Anreize

Durch Konvention ist die erste Transaktion in einem Block eine spezielle Transaktion, die einen neuen Coin

schöpft, der dem Erzeuger des Blocks gehört. Dies gibt neuen Knoten einen Anreiz, das Netzwerk zu

unterstützen, und bietet einen Weg, Münzen erstmals in Umlauf zu bringen,

da es keine zentrale Instanz gibt, die

sie herausgibt. Das ständige Hinzufügen einer konstanten Anzahl neuer Coins ist analog zu Goldgräbern, die

Ressourcen aufwenden, um mehr Gold in Umlauf zu bringen.

In unserem Falle sind es CPU-Zeit und Elektrizität, die aufgewendet werden.

Die Anreize können auch durch Transaktionsgebühren gefördert werden. Wenn der Ausgangswert der

Transaktion geringer ist als ihr Eingangswert,

entspricht der Unterschied einer Transaktionsgebühr, die dem Wert

des Anreizes des Blocks hinzugefügt wird, der die Transaktion enthält. Wenn einmal eine vorherbestimmte

Anzahl von Coins in Umlauf gebracht wurde, können die Anreize vollständig auf Transaktionsgebühren

übergehen und so vollständig inflationsfrei sein.

 

Die Anreize können helfen, Knoten zu motivieren, ehrlich zu bleiben. Wenn ein gieriger Angreifer in der Lage

ist, mehr CPU-Leistung aufzubringen als alle ehrlichen Nodes,

müsste er wählen, ob er diese Leistung verwendet,

um Menschen zu betrügen, indem er seine Zahlungen zurück stiehlt, oder ob er sie nutzt, um neue Coins zu

erzeugen. Er sollte es profitabler finden, sich an die Regeln zu halten – Regeln, die ihn mit mehr neuen Coins

versorgen können als alle anderen zusammen,

als dass er das System und damit die Gültigkeit seines eigenen Wohlstands untergräbt.

Speicherplatz zurr ck gewinnen

Sobald die letzte Transaktion eines Coins unter ausreichend Blöcken begraben ist, können die verbrauchten

Transaktionen davor gelöscht werden, um Speicherplatz zu sparen.

Um dies zu ermöglichen, ohne den Hash des

Blocks zu brechen, werden die Transaktionen in einem Merkle-Tree [7][2][5] gehasht, und lediglich die Root

in die Hash des Blocks aufgenommen. Alte Blöcke können dann komprimiert werden,

indem Zweige des Baumes gekappt werden. Die internen Hashes müssen nicht gespeichert werden.

 

Ein Blockheader ohne Transaktionen benötigt etwa 80 Byte. Wenn wir davon ausgehen,

dass Blöcke alle 10 Minuten generiert werden, entsprechen 80 Byte * 6 * 24 * 365 = 4,2 MB pro Jahr.

Mit Computersystemen, die im Jahr (Stand 2008) typischerweise mit 2 GB RAM verkauft werden, und Moores Law, das aktuell ein Wachstum

von 1,2 GB prognostiziert, sollte Speicherplatz kein Problem darstellen,

selbst wenn die Blockheader im Speicher

gehalten werden müssen.

 

Vereinfachte Zahlungsverifizierung

Es ist möglich Zahlungen zu verifizieren, ohne einen kompletten Netzwerk-Node zu betreiben.

Ein Nutzer muss lediglich eine Kopie der Blockheader der längsten Proof-of-Work-Kette aufbewahren,

die er erhalten kann, indem er andere Netzwerk-Knoten solange abfragt,

bis er überzeugt ist, dass er die längste Kette hat, und den Merkle

Zweig beziehen, der die Transaktion mit dem Block verknüpft,

durch den sie einen Zeitstempel erhalten hat.

Er kann die Transaktion nicht selbst prüfen, aber indem er sie mit einer Stelle in der Kette verknüpft,

kann er sehen, dass sie von einem Netzwerk-Node akzeptiert wurde,

und Blöcke, die danach angefügt wurden, bestätigen weiter,

dass sie vom Netzwerk akzeptiert wurde.

 

Als solche ist die Verifizierung zuverlässig, solange das Netzwerk von ehrlichen Nodes kontrolliert wird. Sie

wird aber angreifbarer, wenn das Netzwerk von einem Angreifer überwältigt wird.

Während Netzwerk-Knoten Transaktionen selbst verifizieren können, kann die vereinfachte Methode so lange durch einen Angreifer mit

fingierten Transaktionen getäuscht werden, wie der Angreifer das Netzwerk dominieren kann.

Eine Strategie, sich dagegen zu schützen, wäre es,

Alarmsignale von Netzwerk-Nodes zu akzeptieren, wenn diese einen ungültigen

Block erkennen, was die Software des Users veranlassen würde, den vollen Block und die vom Alarm

betroffenen Transaktionen herunterzuladen, um die Inkonsistenz zu bestätigen.

Unternehmen, die regelmäßige Zahlungen erhalten,

werden dennoch ihre eigenen Nodes betreiben wollen,

für eine unabhängigere Sicherheit und schnellere Verifizierung.

 

Zusammenführung und Aufteilung von Werten

Obgleich es möglich wäre, die Coins einzeln zu handhaben, wäre es unpraktisch,

für jeden Cent in einem Transfer

eine separate Transaktion durchzuführen.

Damit Werte aufgeteilt und zusammengeführt werden können, enthalten

Transaktionen mehrere Inputs und Outputs.

Normalerweise gibt es entweder einen einzelnen Inputs von einer

größeren vorausgegangenen Transaktion oder mehrere Inputs, die kleinere Beträge zusammenfassen, und

höchstens zwei Ausgänge: einer für die Zahlung und einer für die Rückgabe von Wechselgeld,

falls notwendig, zurück an den Absender.

Es sollte erwähnt werden, dass eine Auffächerung, bei der eine Transaktion von mehreren Transaktionen

abhängig ist, und diese Transaktionen wiederum von vielen anderen abhängen, in diesem Fall kein Problem

darstellt. Es besteht niemals die Notwendigkeit,

eine vollständige Kopie eines Transaktionsverlaufs abzurufen.

 

Datenschutz

Das traditionelle Bankenmodell erreicht ein bestimmtes Datenschutzniveau, indem der Zugriff auf die

Informationen auf die beteiligten Parteien und die vertrauenswürdige dritte Partei begrenzt wird. Die

Notwendigkeit, alle Transaktionen zu veröffentlichen, schließt diese Methode aus,

aber der Datenschutz kann

dennoch aufrecht erhalten werden,

indem der Informationsfluss an einer anderen Stelle unterbrochen wird:

indem die öffentlichen Schlüssel anonym bleiben.

Die Öffentlichkeit kann sehen, dass jemand einen Betrag an jemand

anderen sendet, aber ohne Informationen,

die die Transaktionen mit irgendjemandem verknüpfen.

Das ist dem Level an Informationen ähnlich, das von Aktienbörsen veröffentlicht wird,

bei dem die Zeit und die Größe der

individuellen Handelsvorgänge, das "Tape", veröffentlicht wird,

ohne dass dabei gesagt wird, wer die Parteien sind.

Als zusätzliche Firewall sollte für jede Transaktion ein neues Schlüsselpaar verwendet werden, um zu

vermeiden, dass die Schlüssel einem gemeinsamen Eigentümer zugeordnet werden können. Manche

Verknüpfungen sind bei Transaktionen mit mehreren Eingängen noch immer unvermeidbar, weil diese

notwendigerweise preisgeben, dass ihre Eingänge zum gleichen Eigentümer gehören.

Das Risiko besteht darin, dass, wenn der Eigentümer eines Schlüssels bekanntgegeben wird,

die Verknüpfung weitere Transaktionen

offenlegen könnte, die zum gleichen Eigentümer gehört haben.

 

Berechnungen

Wir ziehen ein Szenario in Betracht, bei dem ein Angreifer versucht,

eine alternative Kette schneller zu erzeugen

als die ehrliche Kette. Selbst wenn dies gelingt,

setzt es das System nicht willkürlichen Änderungen aus, wie zum

Beispiel die Erzeugung von Wert aus dem Nichts oder das Nehmen von Geld, das dem Angreifer nicht gehört.

Die Nodes werden keine ungültige Transaktion als Zahlung akzeptieren,

und die ehrlichen Nodes werden niemals

einen Block akzeptieren, der eine solche enthält.

Ein Angreifer kann lediglich versuchen, eine seiner eigenen

Transaktionen zu verändern, um Geld zurück zu bekommen, das er vor kurzem ausgegeben hat.

Das Rennen zwischen einer ehrlichen Kette und der Kette eines Angreifers kann als Binomischer Random

Walk charakterisiert werden. Das Erfolgsereignis ist,

dass die ehrliche Kette um einen Block erweitert wird, was

deren Vorsprung um +1 erhöht, und das Scheitern ist, dass die Kette des Angreifers um einen Block erweitert

wird, was den Abstand um -1 reduziert.

 

Die Wahrscheinlichkeit, dass ein Angreifer aus einem gegebenen Rückstand aufholt, ist analog zum Problem

des "Ruin des Spielers". Angenommen,

ein Spieler mit unbegrenztem Kredit beginnt mit einem Rückstand und

spielt potentiell eine unbegrenzte Anzahl von Partien, mit dem Ziel, die Gewinnschwelle zu erreichen.

Wir können die Wahrscheinlichkeit, dass er jemals die Gewinnschwelle erreicht,

oder dass ein Angreifer jemals eine

ehrliche Kette einholt, wie folgt berechnen [8]:

p = Wahrscheinlichkeit, dass ein ehrlicher Node den nächsten Block findet

q = Wahrscheinlichkeit, dass der Angreifer den nächsten Block findet

qz = Wahrscheinlichkeit, dass der Angreifer jemals den Rückstand von z Blöcken aufholt

Unter unserer Annahme, dass p > q, fällt die Wahrscheinlichkeit exponentiell, wenn die Anzahl der Blocks, die

der Angreifer aufholen muss, steigt. Wenn die Wahrscheinlichkeit gegen ihn ist und er nicht frühzeitig einen

glücklichen Sprung vorwärts macht, werden seine Chancen verschwindend gering,

wenn er weiter zurück fällt.

 

Wir erörtern nun, wie lange der Empfänger einer neuen Transaktion warten muss,

bis er ausreichend sicher ist,

dass der Absender die Transaktion nicht mehr ändern kann.

Wir nehmen an, dass der Absender ein Angreifer ist,

der den Empfänger für eine Weile glauben lassen möchte,

dass er bezahlt wurde, und dann die Transaktion nach

6einiger Zeit verändert, so dass sie an ihn selbst zurückgezahlt wird.

Der Empfänger wird alarmiert, wenn dies

geschieht, aber der Absender hofft, dass es dann zu spät ist.

Der Empfänger generiert ein neues Schlüsselpaar und gibt den Public Key kurz vor dem Signieren an den

Sender. Dies verhindern, dass der Sender bereits im Voraus eine Kette von Blocks vorbereitet,

indem er so lange daran arbeitet, bis er ausreichend Glück gehabt hat,

um einen ausreichend großen Vorsprung zu haben, und dann

die Transaktion in diesem Moment ausführt. Wenn die Transaktion einmal abgeschickt wurde, beginnt der

unehrliche Sender insgeheim mit der Arbeit an einer parallelen Kette,

die eine geänderte Version seiner Transaktion enthält.

Der Empfänger wartet, bis die Transaktion zu einem Block hinzugefügt

wurde und z Blocks dahinter angefügt wurden.

 

Er weiß nicht genau, welchen Fortschritt der Angreifer bereits gemacht hat,

aber davon ausgehend, dass die ehrlichen Blocks die durchschnittliche Zeit pro Block benötigt haben,

entspricht der potentielle Fortschritt des

Angreifers einer Poisson-Verteilung mit dem erwarteten Wert:

Um die Wahrscheinlichkeit zu berechnen,

dass der Angreifer jetzt noch aufholen könnte,

multiplizieren wir die Poisson-Dichte für jede Summe des Fortschritts,

den er gemacht haben könnte, mit der Wahrscheinlichkeit, dass

er von diesem Punkt an aufholen könnte:

Wir stellen die Formel um, um zu vermeiden,

dass die unendlichen Nachkommastellen der Verteilung addiert werden...

 

 

Fazit

Wir haben ein System für elektronische Transaktionen vorgeschlagen,

ohne uns auf Vertrauen zu stützen. Wir sind

vom üblichen System von aus digitalen Signaturen erstellten Coins ausgegangen,

das eine starke Kontrolle über

die Eigentümerschaft bietet, aber unvollständig ist ohne eine Methode,

um Mehrfachausgaben zu verhindern.

Um dieses Problem zu lösen, haben wir ein Peer-to-Peer-Netzwerk vorgeschlagen,

das Arbeitsbeweise benutzt, um eine öffentliche Historie von Transaktionen aufzuzeichnen,

die für einen Angreifer rasch unmöglich veränderbar

sind, solange ehrliche Nodes die Mehrheit der CPU-Leistung kontrollieren.

Das Netzwerk ist in seiner unstrukturierten Einfachheit robust.

 

Die Nodes arbeiten alle zur gleichen Zeit mit nur wenig Koordination. Sie

müssen nicht identifiziert werden,

da die Nachrichten nicht zu einer bestimmten Stelle geleitet werden und nur

auf Basis der besten Bemühungen ausgeliefert werden müssen.

Knoten können das Netzwerk nach Belieben

verlassen bzw. diesem beitreten und den Proof-of-Work als Nachweis dafür akzeptieren,

was während ihrer Abwesenheit geschehen ist. Sie stimmen mit ihrer CPU-Leistung ab,

drücken ihre Akzeptanz von zulässigen Blocks dadurch aus,

dass sie an deren Erweiterung arbeiten und weisen ungültige Blocks dadurch ab, dass sie sich

weigern, an diesen zu arbeiten. Alle erforderlichen Regeln und Anreize können mit Hilfe dieses

Konsensmechanismus durchgesetzt werden.

 

banner

Reflink