Pseudocode zum Verifizieren einer signierten Nachricht

Kann jemand einige Dokumente mit Pseudocode erklären oder auf sie verweisen, die mir zeigen würden, wie ich die Bitcoin-Adresse anhand einer Signatur und einer Nachricht verifizieren kann. Ich weiß, wie man das in Clients macht, ich möchte wissen, wie man es programmgesteuert macht.

Antworten (3)

Noch besser als Pseudocode: Hier ist etwas Python-Code zum Signieren und Verifizieren von Nachrichten, der größtenteils vom Electrum-Client gestohlen wurde:

https://github.com/nanotube/supybot-bitcoin-marketmonitor/blob/master/GPG/local/bitcoinsig.py

Gibt es dafür eine vorgefertigte PHP-Klasse / Code?
Dies scheint bei Signaturen, die von -regtest stammen, fehlzuschlagen. Hat es jemand aktualisiert?

Laut diesem Bitcointalk-Thread kann dies über die JSON-RPC- API erfolgen: Code:

verifymessage [address] [signature] [message]

Hier finden Sie nicht-programmgesteuerte Methoden zum Überprüfen einer Nachricht.

Vielen Dank für die Antwort, aber ich suche nach einer technischen oder Pseudo-Code-Erklärung für die Überprüfung einer signierten Nachricht. Ich möchte es in einem Programm verwenden.
@ user1562, ich frage mich, ob Sie vielleicht am besten mit dem Quellcode für den bitcoin.org-Client beginnen? Wenn Sie die Quelle nach "verifymessage" durchsuchen, finden Sie möglicherweise Code, den Sie wiederverwenden können.

Im Satoshi-Client wird der verifymessageBefehl durch diesen Code implementiert, der aufruft CKey::SetCompactSignature(), um seine Arbeit zu erledigen.

Ich habe das gesehen, und danke, aber ich habe mehr nach Pseudocode oder Dokumentation gesucht.