Administrator

Veröffentlichungsdatum
31. Oktober 2008

Inhalt

Übersicht . Eine vollständige Peer-to-Peer-Version von elektronischem Geld ermöglicht es Online-Zahlungen, direkt von einer Partei an eine andere zu senden, ohne dass die Zahlung an einem Finanzinstitut übergeht. Digitale Signaturen gewährleisten einen Teil der Lösung, aber die größten Vorteile gehen verloren, wenn ein vertrauenswürdiger Dritter weiterhin erforderlich ist, um Doppelausgaben zu verhindern. Wir schlagen eine Lösung für das Problem der Doppelkosten durch die Verwendung eines Peer-to-Peer-Netzwerks vor. Dieses Netzwerk legt Zeitstempel für Transaktionen auf, indem sie sie in einer ständig wachsenden Kette von Hashes -basierten Arbeiten "haben". Die längste Kette dient nicht nur als Beweis für die Reihenfolge der beobachteten Ereignisse, sondern beweist, dass sie von der größten Sammlung von CPU -Truppen geliefert wurde. Solange der Großteil dieser CPU -Kraft von Knoten (Knoten) im Netzwerk überprüft wird, die nicht zusammenarbeiten, um das Netzwerk anzugreifen, werden sie die längste Kette herstellen und die Angreifer sind zu schnell. Das Netzwerk selbst erfordert eine minimale Struktur. Nachrichten werden auf Best-Effort-Basis gesendet, und Knoten können sich jederzeit dem Netzwerk anschließen und jederzeit verlassen. Solange sie die längste Proof-of-Work-Kette als Beweis dafür akzeptieren, was während ihrer Abwesenheit passiert ist.

Klicken Sie hier, um den Link zum ursprünglichen Bitcoin Whitepaper (in englischer Sprache) einschließlich begleitender Bilder zu erhalten.

1. Einführung

Der Online -Handel stützt sich fast ausschließlich auf Finanzinstitute, die als vertrauenswürdige Dritte für die Bearbeitung elektronischer Zahlungen dienen. Während dieses System für die meisten Transaktionen gut genug funktioniert, leidet es immer noch unter den inhärenten Schwachstellen des Vertrauensmodells. Völlig irreversible Transaktionen sind nicht wirklich möglich, da Finanzinstitute nicht vermeiden können, dass sich Streitigkeiten vermitteln. Der Kostenpreis dieser Interventionen erhöht die Transaktionskosten, und dies begrenzt die minimale praktische Transaktionsgröße und die Möglichkeit, kleine individuelle Transaktionen zu begehen.

Darüber hinaus sind mehr Kosten bei der Erbringung irreversibler Zahlungen und irreversibler Dienstleistungen. Die Möglichkeit der Rücksendung der Rückkehr erhöht jedoch die Notwendigkeit des Vertrauensfaktors. Verkäufer müssen sich gegenüber ihren Kunden vorsichtig sein und sie für mehr Informationen belästigen, als sie sonst brauchen. Ein bestimmter Prozentsatz des Betrugs wird als unvermeidlich angenommen. Diese Kosten und Unsicherheiten bei Zahlungen können vermieden werden, wenn jemand eine physische Währung persönlich verwendet. Es gibt jedoch keinen Mechanismus, um Zahlungen über einen Kommunikationskanal ohne vertrauenswürdige Partei zu leisten.

Es besteht ein Bedarf an einem elektronischen Zahlungssystem, das auf kryptografischen Beweisen anstelle von Vertrauen basiert, dass zwei dafür vorbereitete Parteien bedeuten, dass es direkt miteinander handelt, ohne dass ein vertrauenswürdiger Dritter erforderlich ist. Transaktionen, die für die Buchung kalkulativ unpraktisch sind, würden Verkäufer vor Betrug schützen, und routinemäßige Treuhandkontos oder dritte Konten können leicht implementiert werden, um die Käufer zu schützen. In diesem Artikel bieten wir eine Lösung für das Problem der Double Edition über einen von Peer-to-Peer geteilten Zeitstempelserver an, um arithmetische Beweise für die chronologische Reihenfolge der Transaktionen zu liefern. Dieses System ist sicher, solange faire Übergänge gemeinsam mehr CPU -Kraft liefern als die einer kooperierenden Gruppe von angreifenden Knoten.

2. Transaktionen

Wir definieren eine elektronische Währung als eine Kette digitaler Signaturen. Jeder Eigentümer sendet die Währung, indem er eine digitale Signatur auf einen Hash der vorherigen Transaktion platziert und den öffentlichen Schlüssel zum nächsten Eigentümer am Ende der Münze hinzufügt. Eine zu zahlende Person kann diese Unterschriften überprüfen, um die Eigentumskette zu überprüfen.

Das Problem ist natürlich, dass die bezahlte Person nicht überprüfen kann, ob einer der Eigentümer die Münze nicht zweimal ausgegeben hat. Eine gemeinsame Lösung ist die Einführung einer vertrauenswürdigen zentralen Behörde oder einer Münzstätte , die jede Transaktion auf Doppelausgaben überprüft. Nach jeder Transaktion muss die Münze zum Verlag zurückkehren, um eine neue Münze zu veröffentlichen, und nur Münzen, die sich direkt im Umlauf befanden, können vertraut werden, um nicht zweimal ausgegeben zu werden. Das Problem bei dieser Lösung ist, dass das Schicksal des gesamten Geldsystems von der Firma hinter dieser Währung abhängt, da jede Transaktion sie wie bei einer Bank vorbeigehen muss.

Wir brauchen einen Weg, damit die bezahlte Person weiß, dass die Vorbesitzer frühere Transaktionen nicht unterschrieben haben. Für unseren Zweck; Die früheste Transaktion ist diejenige, die zählt, sodass wir uns nicht mehr um spätere Versuche einer Doppelausgabe kümmern müssen. Die einzige Möglichkeit, das Fehlen von Transaktionen zu bestätigen, ist alle Transaktionen bekannt. Im Modell auf Modellbasis war der Verlag jeder Transaktionen bewusst, um zu entscheiden, welche die ersten ankam. Um dies ohne die Verwendung einer vertrauenswürdigen Partei zu erreichen, müssen Transaktionen in der Reihenfolge des Erhalts erfolgen. Der Empfänger braucht Beweise dafür, dass die Mehrheit der Knoten zum Zeitpunkt jeder Transaktion zustimmte, dass es sich um die erste erhaltene Transaktion handelte.

3. Timetalserver

Die Lösung, die wir vorschlagen, beginnt mit einem Zeitstempelserver. Ein Zeitstempelserver arbeitet, indem er einen Hash aus einem Block von Elementen entnimmt, die einen Zeitstempel und eine Veröffentlichung benötigen, die Hash wie in einer Zeitung oder einer Usenet-Nachricht [2-5]. Der Zeitstempel beweist, dass die Daten zu diesem Zeitpunkt natürlich vorhanden sein müssen, um in den Hash einzusteigen. Jeder Zeitstempel enthält den vorherigen Zeitstempel in seinem Hash und bildet eine Kette, bei der jeder frühere Zeitstempel den Stempel dafür stärkt.

4. Arbeitsproof

Um einen verteilten Zeitstempelserver auf einer Peer-to-Peer-Basis zu implementieren, müssen wir anstelle von Zeitungsartikeln oder Usenet-Nachrichten ein Proof-of-Work-System ähnlich wie Adam Blacks Hashcash verwenden. Dieser Arbeitsproode beinhaltet das Scannen zu einem Wert, der, wann bei SHA-256, der Hash mit einer Anzahl von Nullbits beginnt. Die dafür erforderliche durchschnittliche Arbeit ist exponentiell in der Anzahl von Nullbits erforderlich und kann durch Durchführung eines einzelnen Hashs überprüft werden.

Für unser Zeitstempel-Netzwerk implementieren wir das Proof-of-Work-System, indem wir einen Nonce (gelegentlichen Daten) im Block erhöhen, bis ein Wert gefunden wird, der den Hash im Block die erforderlichen Nullbits ergibt. Sobald die CPU-Bemühungen für die Erfüllung des Proof-of-Work-Systems aufgewendet wurden, kann der Block nicht mehr geändert werden, ohne die gesamte Arbeit erneut zu erledigen. Wenn später Blöcke angekettet werden, umfasst die Arbeit, die zum Ändern des aktuellen Blocks erforderlich ist, die Arbeit aller danach gelieferten Blöcke.

Das Proof-of-Work-System löst auch das Problem der Bestimmung der Repräsentation bei der Entscheidungsfindung. Wenn die Mehrheit auf einer IP -Adresse pro Stimme basierte, könnte dieses System von denen umgangen werden, die mehrere IPs zuweisen können. Der Nachweis der Arbeit ist im Wesentlichen eine CPU = eine Stimme. Die Mehrheitsentscheidung wird durch die längste Kette vertreten, die den größten Nachweis der Arbeit investiert hat.

Wenn ein Großteil der CPU -Kraft unter Kontrolle über faire Knoten ( Knoten ) steht, wird die ehrliche Kette am schnellsten wachsen und alle konkurrierenden Ketten vergehen. Um einen vorherigen Block anzupassen, sollte ein Angreifer die gesamte Arbeit des Nachweises des Blocks und aller Blöcke danach ausführen und dann die Arbeit der Messeknoten überholen und übertreffen. Wir werden später zeigen, dass die Wahrscheinlichkeit, dass ein langsamerer Angreifer exponentiell die mehr Blöcke reduziert, hinzugefügt werden. Um eine Erhöhung der Hardwaregeschwindigkeit und das unterschiedliche Interesse an den laufenden Knoten zu kompensieren, wird der Schwierigkeitsgrad des Proof-of-Work-Systems durch einen progressiven Durchschnitt auf der Grundlage der Anzahl der Blöcke pro Stunde bestimmt. Wenn die Blöcke zu schnell erzeugt werden, wird der Schwierigkeitsgrad erhöht ( Schwierigkeitsanpassung ).

5. Netzwerk

Die Schritte zur Aufrechterhaltung des Netzwerks sind wie folgt:

  1. Neue Transaktionen werden an alle Knoten ( Knoten ) übertragen.
  2. Jeder Knoten sammelt neue Transaktionen in einem Block.
  3. Jeder Knoten arbeitet an der Suche nach einem schwierigen Arbeitsplatz für seinen Block.
  4. Wenn eine Kreuzung einen Arbeitsprofus findet, wird sie an alle Knoten gesendet
  5. Knooppoints akzeptieren nur einen Block, wenn alle Transaktionen darin gültig sind und nicht bereits veröffentlicht werden.
  6. Junctions drücken ihre Akzeptanz eines Blocks aus, indem sie an der Erstellung des nächsten Blocks in der Kette arbeiten, indem der Hash des vorherigen akzeptierten Blocks verwendet wird.

Die längste Kette sieht Knoten immer als die richtige und arbeitet weiter an ihrer Erweiterung. Wenn zwei Kreuzungen gleichzeitig verschiedene Versionen des nächsten Blocks übertragen, erhalten einige Knoten zuerst die eine oder andere. In diesem Fall arbeiten sie weiter mit dem ersten, den sie erhalten haben, aber sie halten den anderen Zweig, falls es länger dauern würde. Dieser Reifen ist gebrochen, wenn der nächste Arbeitsproof gefunden wird und ein Zweig länger wird. Die Knoten, die an der anderen Filiale arbeiteten, wechseln dann in den längeren Zweig.

Neue Transaktionen müssen nicht unbedingt alle Knoten erreichen. Solange sie viele Knoten erreichen, dauert es nicht lange, bis sie in einem Block enthalten sind. BLOK -Transaktionen sind auch gegenüber verlorenen Nachrichten tolerant. Wenn ein Kaufpunkt keinen Block erhält, fordert er diese Anfragen nach Erhalt des nächsten Blocks an und stellt fest, dass er einen verpasst hat.

6. Anreize

Nach Vereinbarung ist die erste Transaktion in einem Block eine spezielle Transaktion, die eine Münze erzeugt, die Eigentum des Herstellers des Blocks (Bergmann ) . Dies bietet einen Anreiz für Kreuzungen, um das Netzwerk zu unterstützen, und bietet ihnen eine Möglichkeit, zuerst Münzen in den Umlauf zu bringen, da es keine zentrale Autorität gibt, die sie ausgibt. Diese stetige Versorgung einer konstanten Anzahl neuer Münzen ist analog zu Goldgräber, die Rohstoffe verwenden, um Gold in den Kreislauf zu bringen.

In unserem Fall wird CPU Zeit und Strom verbraucht. Dieser Anreiz kann auch durch Transaktionskosten weiter gefüttert werden. Wenn der Ausgangswert geringer ist als der Eingangswert, sind Transaktionskosten die Differenz, die dem Anreizwert des Blocks hinzugefügt wird, der die Transaktion enthält (Blockbelohnung) . Sobald eine vorbestimmte Anzahl von Münzen in Kreislauf gebracht wurde, können die Reize vollständig auf die Transaktionskosten und die vollständige Inflation sein.

Dieser Anreiz kann helfen, Knoten ehrlich zu halten. Wenn ein gieriger Angreifer die Möglichkeit hat, mehr CPU -Macht als alle fairen Knoten zusammen zu sammeln, muss er zwischen Betrugsmenschen wählen, indem er ihre Zahlungen stiehlt, oder um neue Münzen zu erstellen. Er sollte es profitabler finden, nach den Regeln zu spielen, wenn diese Regeln ihm mehr Münzen als alle kombiniert werden, als das System zusammen mit der Gültigkeit seines eigenen Reichtums zu untergraben.

7. Speicherplatz Terugeisen

Sobald die letzte Transaktion in einer Münze unter genügend Blöcken vergraben ist, können die ausgegebenen Transaktionen entfernt werden, um Speicherplatz zu sparen. Um dies zu erleichtern, ohne den Hasch eines Blocks zu brechen, werden Transaktionen in einen Merkle -Baum [7] [2] [5], wobei nur die Wurzel (Wurzel) im Hash des Blocks enthalten ist. Alte Blöcke können dann kompakter gemacht werden, indem die Äste des Baumes abschneiden. Die inneren Hashes müssen nicht gespeichert werden. Ein Blockkopf ohne Transaktionen wäre ungefähr 80 Bytes. Wenn wir davon ausgehen, dass Blöcke alle zehn Minuten erzeugt werden, dann sind 80 Bytes * 6 * 24 * 365 = 4,2 MB pro Jahr. Bei Computersystemen, die normalerweise 2 GB RAM seit 2008 haben, und das Gesetz von Moore, das ein aktuelles Wachstum von 1,2 GB pro Jahr vorhersagt, sollte der Speicher kein Problem sein, selbst wenn der Kopfblock im Speicher gehalten werden sollte.

8. Vereinfachte Zahlungsüberprüfung

Es ist möglich, Zahlungen zu überprüfen, ohne einen vollständigen Netzwerkknoten auszuführen. Ein Benutzer sollte nur eine Kopie der Blockheader der längsten Proof-of-Work-Kette aufbewahren, die er erhalten kann, indem er sie an Netzwerkknoten anfordert Die Transaktion zu dem Block, in dem es eine Zeitstempel hat. Er kann die Transaktion nicht selbst kontrollieren, aber indem er sie mit einem Ort in der Kette (der Blockchain) verknüpft, kann er sehen, dass der Knoten sie akzeptiert hat, und bestätigt dann die Blöcke, dass das Netzwerk die Transaktion akzeptiert hat.

Auf diese Weise ist die Überprüfung zuverlässig, solange die fairen Knoten die Kontrolle über das Netzwerk haben, aber anfälliger ist, wenn das Netzwerk von einem Angreifer überwältigt wird. Während Netzwerkknoten Transaktionen an sich bestätigen können, kann die vereinfachte Methode von einem Angreifer und seinen gefälschten Transaktionen zum Garten geführt werden, solange der Angreifer das Netzwerk weiterhin im gesamten Netzwerk überwältigt. Eine Strategie zum Schutz des Netzwerks könnte darin bestehen, Alarmsignale von Knoten zu akzeptieren, wenn sie einen ungültigen Block erkennen, und der Benutzer ermutigt seine Software, den gesamten Block und die signalisierten Transaktionen herunterzuladen, um die Inkonsistenz zu bestätigen. Unternehmen, die regelmäßig Zahlungen erhalten, möchten ihre eigenen Knoten für unabhängigere Sicherheit und schnellere Überprüfung führen.

9. Kombination und Spaltwert

Obwohl es möglich wäre, die Münzen einzeln zu behandeln, wäre es unüberschaubar, für jeden Cent in einer Übertragung eine separate Transaktion durchzuführen. Um den Wert zu trennen und kombiniert zu lassen, enthalten Transaktionen mehrere Eingänge und Ausgänge. Normalerweise gibt es entweder eine einzelne Eingabe aus einer größeren vorherigen Transaktion oder mehrere Eingaben, die kleinere Beträge kombinieren, und höchstens zwei Ausgänge: eine für die Zahlung und eine, um den Absender zurückzugeben.

Es muss erwähnt werden, dass bei einem Fan-Out, bei dem eine Transaktion von mehreren Transaktionen abhängt und diese Transaktionen von vielen anderen abhängen, hier kein Problem gibt. Es besteht nie die Notwendigkeit, eine vollständig allein kopierte Kopie eines Transaktionsverlaufs anzufordern.

10. Privatsphäre

Das traditionelle Bankmodell erreicht einen bestimmten Standard der Privatsphäre, indem er den Zugriff auf die Informationen der beteiligten Parteien und den vertrauenswürdigen Dritten einschränkt. Die Notwendigkeit, alle Transaktionen öffentlich bekannt zu geben, ist diese Methode ausgeschlossen, aber die Privatsphäre kann weiterhin beibehalten werden, indem der Informationsfluss an einem anderen Ort verstoßen wird, nämlich durch die Anonyme öffentliche Schlüssel. Die Öffentlichkeit kann sehen, wann jemand eine Menge an eine andere Person sendet, ohne dass diese Informationen mit einer Person verknüpft sind. Dies entspricht dem Informationen über den Börsenbörsen, bei dem die Zeit und Größe des einzelnen Geschäfte, das "Band", veröffentlicht wird, ohne jedoch jemandem zu sagen, wer die Schauspielparteien sind.

Als zusätzliche Sicherheitsüberlegung sollte für jede Transaktion ein neues Schlüsselpaar verwendet werden, das nicht mit einem gemeinsamen Besitzer verbunden werden möchte. Ein Teil dieser Verknüpfung ist bei Transaktionen mit mehreren Eingaben immer noch unvermeidlich, da es notwendig ist zu zeigen, dass die Eingaben die Eigenschaft desselben Eigentümers waren. Es besteht das Risiko, dass, wenn der Eigentümer eines Schlüssels enthüllt wird, Links über Links aufgedeckt werden können, welche anderen Transaktionen demselben Eigentümer gehören.

11. Berechnungen

Wir berücksichtigen ein Szenario, in dem ein Angreifer versucht, eine alternative Kette schneller als eine ehrliche Kette zu erzeugen. Auch wenn dies erfolgreich ist, setzt dies das System nicht zufälligen Änderungen aus, z. Knoten akzeptieren keine ungültigen Transaktionen wie Zahlungen und faire Knoten werden niemals einen Block akzeptieren, der diese ungültige Transaktion enthält. Ein Angreifer kann nur versuchen, eine seiner eigenen Transaktionen zu ändern oder Geld zurückzunehmen, das er bereits ausgegeben hat.

Das Rennen zwischen einer ehrlichen Kette und der Kette (Blockchain) eines Angreifers ist durch einen Binomial -Zufallsspaziergang (Random Walk) gekennzeichnet. Im Erfolg des Erfolgs wird die Kette durch einen Block erweitert, der ihre Führung um +1 erhöht, und im Falle eines Versagens wird die Kette des Angreifers mit einem Block erweitert, wodurch die Lücke um -1 verringert wird. Die Wahrscheinlichkeit, dass ein Angreifer einen bestimmten Mangel nachholen kann, entspricht dem "Spielerproblem des Spielers" (Sturz des Spielers). Angenommen, ein Spieler mit unendlichem Kredit beginnt mit einem Rückstand und kann unendlich viele Kurven spielen, um den Unterbrechung zu drehen. Unter unserer Annahme, dass P> Q die Wahrscheinlichkeit reduziert, wird die Anzahl der Blöcke, die der Angreifer aufholen muss, exponentiell verringert. Wenn der Angreifer früh im Prozess nicht vorwärts springt, werden seine Chancen astronomisch klein, wenn er zurückkommt.

Wir berücksichtigen nun, wie lange der Empfänger auf eine neue Transaktion warten muss, bevor er ausreichend sicher sein kann, dass der Absender die Transaktion nicht mehr ändern kann. Wir gehen davon aus, dass der Absender ein Angreifer ist, der möchte, dass der Empfänger glaubt, dass er ihn bezahlt hat, und sich dann nach einer Weile zurückzahlen. Der Empfänger wird informiert, wenn dies passiert, aber der Absender hofft, dass dies zu spät sein wird. Der Empfänger generiert ein neues Schlüsselpaar und gibt dem Absender kurz vor dem Zeichnen den öffentlichen Schlüssel. Dies verhindert, dass der Absender eine Blockkette anpasst, die sich darauf einstellen kann, indem er ständig daran arbeitet, bis er genug Glück hat, um zuerst weit genug zu kommen, und dann die Transaktion zu diesem Zeitpunkt durchzuführen. Sobald die Transaktion gesendet wurde, arbeitet der unfaire Absender heimlich an einer parallelen Kette, die eine alternative Version seiner Transaktion enthält. Der Empfänger wartet darauf, dass die Transaktion zu einem Block hinzugefügt wird, und Z -Blöcke sind damit verbunden. Er kann die genaue Führung eines Angreifers nicht kennen. Aber unter der Annahme, dass die fairen Blöcke die durchschnittliche Anzahl von Zeit pro Block benötigt haben.

12. Schlussfolgerung

Wir haben ein System für elektronische Transaktionen vorgeschlagen, ohne das Vertrauen einlegen zu müssen. Wir begannen mit dem üblichen Rahmen aus Münzen aus digitalen Signaturen, was eine starke Kontrolle über das Eigentum gibt, aber ohne Möglichkeit, Doppelausgaben zu verhindern, unvollständig ist.

Um dies zu lösen, schlagen wir ein Peer-to-Peer-Netzwerk vor, in dem Proof-of-Work verwendet wird, um eine öffentliche Geschichte von Transaktionen zu protokollieren. Es wird schnell arithmetisch unpraktisch, wenn ein Angreifer dies für lange Zeit ändert, überprüft die Mehrheit der CPU -Kraft. Das Netzwerk ist in seiner unstrukturierten Einfachheit robust. Kreuzungen funktionieren alle gleichzeitig mit wenig Koordination. Sie dürfen nicht identifiziert werden, da Nachrichten nicht an einem bestimmten Ort gesendet werden und nur auf einer Basis der besten Wirkung empfangen werden müssen.

Knooppoints können das Netzwerk verlassen und sich anschließen, wenn sie wollen, wenn sie die Proof-of-Work-Kette als Beweis dafür akzeptieren, was während ihrer Abwesenheit passiert ist. Sie stimmen über ihre CPU -Truppe ab, machen ihre Akzeptanz gültiger Blöcke aus, indem sie an ihrer Zuschuss arbeiten und ungültige Blöcke ablehnen, indem sie sich weigerten, zu arbeiten. Einige erforderliche Regeln und Anreize können über diesen Mechanismus aufrechterhalten werden.

Möchten Sie mehr über Investitionen in digitale Vermögenswerte und weitere Informationen von unseren Spezialisten dafür erfahren? Dann kontaktieren Sie uns. Wir informieren Sie gerne über die Möglichkeiten und Chancen.

Villa de Haer
Haerstraat 125
7573 Pa Oldenzaal

Kontaktieren Sie uns

Interessieren Sie sich und möchten mehr über Investitionen in digitale Vermögenswerte erfahren? Füllen Sie das folgende Kontaktformular aus und wir werden Sie innerhalb von 48 Stunden kontaktieren.