Ich versuche, mich hier mit ihrem königlichen Bitcoin vertraut zu machen ...
Ich verstehe, dass Transaktionsblöcke an das Netzwerk gesendet werden und dass Miner überprüfen, ob der BC „ausgeben“ ist, indem sie die Blockchain durchforsten und den Transaktionsverlauf der Wallet-Adresse verfolgen (oder zumindest gehe ich davon aus, dass es so funktioniert).
Aber wie überprüft man eigentlich, ob die BC-Transaktion von ihrem Besitzer signiert wurde, wenn die Miner keinen Zugriff auf den privaten Schlüssel haben? Einfacher ausgedrückt: Wie kann eine Verifizierung stattfinden, ohne dass sowohl der öffentliche als auch der private Schlüssel verarbeitet werden?
Ich verstehe die PKI-Verschlüsselung wahrscheinlich falsch, aber (sagen wir) mit SSH würde sich der private Schlüssel auf einem vertrauenswürdigen Server befinden und die Überprüfung würde auf diesem Server stattfinden. Wie kann das in einem verteilten Netzwerk funktionieren?
Bitcoin-Transaktionen sind nicht verschlüsselt, sie sind kryptografisch signiert.
Sie können ein öffentliches/privates Schlüsselpaar auf zwei Arten verwenden: (massive Vereinfachungswarnung)
Die zweite Methode wird von Bitcoin verwendet. Im Distributed Ledger wird eine Nachricht abgelegt, dass Bitcoins von X an Y (und typischerweise Z) gesendet und mit dem privaten Schlüssel von X signiert wurden. X ist die Quell-Bitcoin-Adresse, Y ist das Ziel und Z ist die Änderungsadresse .
Bitcoin scriptSigs tragen alles, was sie brauchen, um den scriptPubKey zu erfüllen, der eine Ausgabe belastet. Als solche gelten sie als staatenlos, dh in sich abgeschlossen.
Immer wenn eine Signatur verifiziert werden muss, wird der öffentliche Schlüssel im Skript offengelegt und gibt anderen Knoten das, was sie zum Validieren der Transaktion benötigen.
Nick Odell
shennan