Wird das Signieren einer Nachricht (ohne eine $-Transaktion durchzuführen) den privaten Schlüssel an die Blockchain genauso/ähnlich weitergeben, wie der private Schlüssel an die Blockchain weitergegeben wird, wenn Sie eine $-Transaktion durchführen?
Der Punkt ist, dass das Durchführen einer Transaktion die Sicherheit der Adresse ein wenig schwächt, da der private Schlüssel der Blockchain offengelegt wird. Das ist einer der Gründe, warum bei jeder Transaktion eine Änderung/neue Adresse verwendet wird.
Aber was ist, wenn Sie einfach eine Nachricht signieren? Wird die Sicherheit der Adresse dadurch auch ein wenig geschwächt?
Die Verschlüsselung mit öffentlichem/privatem Schlüssel erfordert, dass der private Schlüssel niemals preisgegeben wird – der Besitzer muss ihn geheim halten.
Das Signieren von Nachrichten und Transaktionen erfolgt mit dem privaten Schlüssel und wird mit dem zugehörigen öffentlichen Schlüssel verifiziert. Der private Schlüssel wird also niemals an die Blockchain weitergegeben . Beachten Sie, dass sich der öffentliche Schlüssel hier auf den vollständigen öffentlichen ECC-Schlüssel bezieht und nicht auf eine Bitcoin-Adresse – die eine gehashte und transformierte Darstellung des öffentlichen Schlüssels ist. Der öffentliche Schlüssel kann nur dann von einer Bitcoin-Adresse abgeleitet werden, wenn die Hash-Algorithmen SHA256 und reifeMD-160 jemals gebrochen sind. Diese Frage untersucht die Herausforderung.
Um Ihre Frage zu beantworten: Ja, jede neue Signatur, die von einem privaten Schlüssel erzeugt wird, kann einen Angreifer, der den zugehörigen öffentlichen Schlüssel bereits kennt, der Entdeckung des privaten Schlüssels näher bringen.
Kommentare zu dieser Antwort haben eine aktualisierte Position mitgeteilt:
Obwohl es keine nachweisbare Sicherheit für ECDSA gibt, wird allgemein angenommen, dass ein Angreifer selbst bei Kenntnis mehrerer Signaturen, die von einem bestimmten Schlüssel erzeugt werden, keine besseren Chancen hat, den zugehörigen privaten Schlüssel abzuleiten oder seine Signatur zu fälschen.
Es ist eine fast unmögliche Aufgabe, einen privaten Bitcoin-Schlüssel aus seinem öffentlichen Schlüssel zu entdecken. Eine Antwort auf diese Frage verdeutlicht die Herausforderung mathematisch.
Einige Leute raten zu einer Haltung von "better safe than sorry" - dass öffentliche Schlüssel nach Möglichkeit nicht preisgegeben werden sollten. Vorsicht sollte jedoch den praktischen Nutzen nicht entmutigen – wie in den Kommentaren unten ausgeführt wird.
Best Practice ist, wie Sie sagen, häufig Schlüssel zu ändern und vorzugsweise für jede Empfangstransaktion eine neue Adresse zu verwenden. Wenn Sie möchten, dass jemand eine Signatur verifizieren kann, benötigt er natürlich Ihren öffentlichen Schlüssel.
Soweit mir bekannt ist, ist der einzige Bitcoin-Transaktionstyp, der öffentliche Schlüssel preisgibt, Pay-To-Public-Key-Hash (P2PKH), der den vollständigen öffentlichen Schlüssel in seinem Skript enthält.
Murch