Eine Frage, die ich nicht richtig beantworten kann, wenn sie gestellt wird, ist
Wie genau kann die Blockchain die Identität des Benutzers ohne eine zentralisierte vertrauenswürdige Partei wie VeriSign überprüfen?
Ich weiß, dass dies auf dezentralisierte Weise geschieht und der ECDSA-Algorithmus den Zweck erfüllen sollte, aber andere Anwendungen benötigen immer noch eine zentralisierte vertrauenswürdige Partei, um zu überprüfen, ob der Benutzer wirklich der ist, für den er sich ausgibt, selbst wenn sie ECDSA verwenden .
Aber wie genau kann ich garantieren, dass sich niemand für jemand anderen ausgeben und stattdessen seine Bitcoins ausgeben kann?
Ja, ich kenne die Grundlagen, wie Public-Key-Kryptographie funktioniert, aber Informationssicherheit ist bei mir nicht stark.
Angenommen, ich besitze ein Kaffeehaus mit einem intensiven Kundenstrom. Wie kann ich sicher sein, dass Kunden bereits bezahlt haben und andere nicht bezahlt haben?
Nehmen wir an, Bob und Anna sind meine Kunden. Bob bestellt einen Macchiato, Anna bestellt einen Capuccino. Beide Kaffees haben den gleichen Preis. Wie kann ich wissen, welche Zahlung von jedem von ihnen kam?
Ist es Ihnen wirklich wichtig, welcher Kunde bezahlt hat, oder ist es Ihnen wichtig, welche Rechnung bezahlt wurde?
Angenommen, Sie haben die Kunden Anna und Bob, die beide etwas bestellen. Bob bemerkt, dass er kein Geld mehr hat, also sagt Anna, dass sie für beides bezahlen wird. Wenn Sie wirklich möchten, dass der Absender seine Identität preisgibt, würde Ihr System bereits versagen, da Bob niemals etwas bezahlt.
In fast allen Fällen interessiert Sie nur, welche Rechnung bezahlt wird, und Sie brauchen die Identität des Zahlers nicht (was in einigen Fällen eine Verletzung der Privatsphäre darstellen könnte).
Der übliche Weg, dies in der Praxis zu tun, besteht darin, für jede Zahlung, die Sie erhalten möchten, eine neue Zahlungsadresse anzulegen. Sie verfolgen, welche Rechnung bezahlt wurde, indem Sie nachverfolgen, an welchen Adressen Sie Geld erhalten haben. Das Erstellen neuer Adressen ist sehr billig, und sie sind so lang, dass es äußerst unwahrscheinlich ist, dass dieselbe jemals zweimal erstellt wird.
Bei Bitcoin-Zahlungen spielt die Identität des Zahlers oft keine Rolle. Die wichtige Prüfung ist, dass die Zahlung vom Eigentümer autorisiert wurde. Bei Bitcoin besitzt derjenige, der den privaten Schlüssel kontrolliert, die Gelder, und daher reicht es aus, dass die Transaktion mit dem richtigen privaten Schlüssel signiert wurde (was für eine gültige Transaktion selbstverständlich ist).
Was für den Ladenbesitzer wichtig ist, ist zu wissen, dass er bezahlt wurde. Da Bitcoin-Zahlungen irreversibel sind, ist es nicht wichtig, ob Bob seinen Namen nennt, genauso wie es dem Barista egal wäre, Bobs Namen zu erfahren, wenn Bob ins Café kommt und einen Macchiato mit Bargeld bezahlt.
Zur Unterscheidung von Zahlungen geben Sie für jede Rechnung eine neue Empfangsadresse an . Auf diese Weise wissen Sie, wenn eine Adresse Geld erhält, welche Rechnung beglichen wurde. Glücklicherweise ist der Bitcoin-Adressraum groß genug, dass jeder so viele Adressen erstellen kann, wie er benötigt .
Unterschiedliche Bestellungen haben unterschiedliche Bitcoin-Zahlungsadressen.
Die Bestellung wird bezahlt, wenn die betreffende Adresse die angeforderte Menge an Bitcoins erhält.
Die einzige praktische Möglichkeit, die Identität eines Benutzers zu überprüfen, besteht darin, den Benutzer dazu zu bringen, etwas mit seinem privaten Schlüssel zu signieren. Die einzige Identitätsinformation, die Sie zu diesem Zeitpunkt erhalten, ist, dass der Benutzer Zugriff auf den privaten Schlüssel hat. In der Bitcoin-Blockchain ist der Besitzer des privaten Schlüssels der einzige, der die an diesen Schlüssel gebundenen Bitcoins verschieben kann, da dazu eine Signatur erforderlich ist. Wenn Sie versuchen, sich als jemand anderes auszugeben, werden Sie im Wesentlichen keinen Erfolg haben, da Sie keine Unterschrift leisten können.
einfache Antwort: Geben Sie jedem Kunden Ihre andere Adresse
Adressen niemals wiederverwenden
Wilhelm Grau
Murch
corsiKa
Michael Hamton
Nate Eldredge
Lüge Ryan