Ich lese seit einigen Wochen darüber, wie BitCoin funktioniert – und ich versuche, unter der Haube zu verstehen, wie die Kryptografie funktioniert.
Also werde ich erklären, was ich im Moment weiß - und wenn jemand es für mich klären könnte? Oder stellen Sie Links zu Artikeln bereit, die es etwas besser erklären (ich habe die ursprüngliche bitcoin.pdf gelesen, aber sie ist etwas vage).
Szenario:
Ich habe eine Adresse (pk, sk).
Ich habe eine frühere Transaktion, die 1 Bitcoin enthält.
Ich erstelle eine neue Adresse (pk', sk'), an die ich auch die Bitcoin senden möchte.
Ich hash den neuen öffentlichen Schlüssel pk' mit der vorherigen Transaktion tx, so dass hash(pk', tx) = h1.
Ich signiere die gehashte Transaktion h1 mit meinem geheimen Schlüssel und etwas 'Zufälligkeit' r. Zeichen"sk"(h1, r)
Dann – das wird ausgestrahlt und von einem Bitcoin-Miner in einen Block gesteckt?
Wenn ich zwei 0,5-Bitcoins an pk' senden würde, würde ich Folgendes tun ...
tx1 und tx2 sind mit 0,5 Bitcoins verbunden.
Ich hash dann tx1 und tx2 mit dem neuen öffentlichen Schlüssel pk', so dass hash(tx1, pk') = h1 und hash(tx2, pk') = h2.
Ich signiere dann diese beiden Hashes mit der folgenden Funktion ... Sign"sk"(h1, h2, r) oder wäre es Sign"sk"(h1,r), Sign"sk"(h2,r'). (unterschiedliche Zufälligkeit für jede Signatur)
Dies mag eine dumme Frage sein, aber ich fand es schwierig, Klarheit darüber zu bekommen, wie es funktioniert. Ich verstehe auch, dass einige Zeichen (wie i und 0) nicht im Hash enthalten sind - bezieht sich dies auf die Basis 58?
Sie würden es wahrscheinlich hilfreich finden, die technischen Artikel im Bitcoin-Wiki zu lesen. Hier sind einige Ansatzpunkte basierend auf Ihren Fragen.
https://en.bitcoin.it/wiki/Adresse
https://en.bitcoin.it/wiki/Transaktion
https://en.bitcoin.it/wiki/Script
https://en.bitcoin.it/wiki/Network
https://en.bitcoin.it/wiki/Block
Ein Konzept, das Sie nicht erwähnt haben, das aber entscheidend ist, um zu verstehen, wie es auf niedriger Ebene funktioniert, ist die Tatsache, dass Transaktionen durch Ausführen von Skripten verifiziert werden (siehe Link oben).
Mietfrei
Patrick
Patrick
David Schwarz
A
als Zahl verwendet wird, wird die Basis 58 nicht verwendeti
(weil sie zu leicht mit verwechselt werden kann1
).