Ich arbeite gerade an meinem ersten Ethereum-Projekt.
Wenn ein Benutzer die MySecretApp öffnet, erstellt er eine Transaktion auf der Ethereum-Blockchain.
Meine Fragen sind:
1) Teile ich die Ethereum-Blockchain (und die Milliarde bestehender Transaktionen) mit anderen Unternehmen? Oder kann ich eine neue Kette erstellen, die nur Transaktionen enthält, die von MySecretApp kommen?
1) Wie verifiziere ich, dass ein Hacker mit einer App namens HackersFakeApp keine Transaktion in meiner Kette veröffentlicht? Ich möchte nur Transaktionen speichern, die von meiner App stammen.
Ein mögliches Setup:
Speichern Sie einen privaten Schlüssel in den physischen Geräten. Es sollte für alle Geräte gleich sein und nur Ihnen bekannt sein. Sie sollten sicherstellen, dass die Leute nicht mit dem von Ihrer Hardware bereitgestellten Mechanismus darauf zugreifen können.
Schreiben Sie den öffentlichen Schlüssel dieses privaten Schlüssels als Konstante in Ihren Smart Contract
Beim Erstellen einer Transaktion verwendet das Gerät den privaten Schlüssel, um eine Nachricht zu signieren, die die Details der Transaktion enthält (z. B. Methoden-ID, Argumente, Absender und eine Sequenznummer).
Das Gerät sendet die Transaktion mit der Signatur als Argument
Der Smart Contract rekonstruiert die Nachricht und verifiziert die Signatur der Nachricht
An diesem Punkt können Sie sicher sein, dass nur Transaktionen erfolgreich ausgeführt werden, die von einem Ihrer Geräte gesendet wurden.
Wenn Sie weitere Fragen haben, kommentieren Sie einfach, ich werde diese Antwort aktualisieren.
Jesus
große Kartoffel