Jump to content

Private Key, public key, public address


Recommended Posts

Es gibt immer wieder Verwirrung, wie lange die Schlüssel hinter Bitcoin Adressen sind und damit ist die Diskussion verbunden,
wie sicher das Netzwerk ist. Anbei die Basisschritte für Schlüssel und Adress-Erzeugung.


1. Erzeugung des zufälligen 256-bit private keys.
Heute meistens via Zufallserzeugung von  mnemonischen Wortlisten (12 oder 24 Wörter)
Auf der tiefsten Ebene ist das 256 mal die Wahl zwischen einer 0 oder einer 1 (1 Bit).

2. Ein elliptischer Kurven DSA algorithmus generiert aus dem privaten key den 512-bit public key!
Mit dem Pub Key wird die Signatur einer Transaktion geprüft.
Der Pub Key ist unbekannt, bis eine ausgehende TX signiert wurde.
Daher stammt der Fakt, dass einmal verwendete Adressen die sichersten sind.

3. Der 512 bit pub Key ist sehr groß, daher wird daraus wiederrum ein
160bit pub key hash erzeugt. Das ist dann die bekannte BTC Adresse in dem Ledger. Die kann man überall verteilen.
(Feinheit, sie ist Base 58 codiert)

 

Quelle: Die mir bekannte beste Quelle der Erklärung (Neben Videos von Andreas Antonopoulos (Danke der Korrektur wwurst)
http://www.righto.com/2014/02/bitcoins-hard-way-using-raw-bitcoin.html

 

https://imgur.com/kvKvPwC

Edited by coin_trace
  • Love it 1
  • Thanks 2
  • Like 2
Link to comment
Share on other sites

Kleine Anmerkung:

vor einer Stunde schrieb coin_trace:

wie sicher das Netzwerk ist.

Da spielen zwei Dinge mit.

Einmal die Länge der Keys, die du erklärt hast - die sichert ab, daß man aus der Adresse  nicht mit vernünfitigem Aufwand den private key rückwärts errechnen kann.

Zweitens aber auch die Blockchain, mit der ständig wachsenden Schwierigkeit, einen neuen Block zu finden. Die sichert ab, daß einmal bestätigte Transaktionen nachträglich nicht mehr geändert oder gelöscht werden können.

Nur beides zusammen ergibt Bitcoin...

Antonopoulos heißt der Mann: https://www.youtube.com/user/aantonop

Der beste Erklärbär für alle, die gut Englisch verstehen!

Edited by wwurst
A.A.
  • Thanks 1
  • Like 2
Link to comment
Share on other sites

Stimmt, die Sicherheit des Ledgers ist verbunden mit dem notwendigen Proof of Work, also dem Aufwand zur Findung des nächsten gültigen Hashes.
Unsicher heisst, dass jmd heimlich Blöcke findet und nicht publiziert dann später, durch eine rückwirkende Reorg der Blöcke, alle heimlich gefundenen publiziert und Doublespendings ermöglicht. Denn eine Regel "Folge der längsten Chain" ist in allen Nodes hinterlegt. Daher diese Diskussionen um 51% Hashpower, die man bräuchte. Damit könnte man auf Dauer mehr Blöcke finden, als der Rest der Miner.

Was ich im übrigen nicht verstehe, ist dass das Netzwerk nicht einfach alle paar Blöcke einen Punkt setzt, der eben nicht mehr Reorgs unterliegen darf. Naja, bestimmt alles zigfach unter den Dev`s diskutiert. Pro/Cons.

Link to comment
Share on other sites

vor 48 Minuten schrieb coin_trace:

Was ich im übrigen nicht verstehe, ist dass das Netzwerk nicht einfach alle paar Blöcke einen Punkt setzt, der eben nicht mehr Reorgs unterliegen darf. Naja, bestimmt alles zigfach unter den Dev`s diskutiert. Pro/Cons.

Damit könntest du einen Chain Split hervorrufen. Du musst lediglich einen Teil des Netzwerks lange genug mit falschen Blöcken füttern. Sobald sie den Punkt gesetzt haben, gibt es für sie keinen Weg zurück auf die eigentliche Main Chain. 

  • Thanks 2
Link to comment
Share on other sites

vor 58 Minuten schrieb coin_trace:

Was ich im übrigen nicht verstehe, ist dass das Netzwerk nicht einfach alle paar Blöcke einen Punkt setzt, der eben nicht mehr Reorgs unterliegen darf. Naja, bestimmt alles zigfach unter den Dev`s diskutiert. Pro/Cons.

Was @skunk sagt.

Außerdem: wer sollte entscheiden, welcher Block wann ein Checkpoint wird? Die Absicherung der "begrabenen" Blöcke erfolgt ja nur dadurch, daß ein Reorg mit der Tiefe immer schwieriger wird. Schwieriger, aber nicht unmöglich! In den Anfangszeiten von Bitcoin mußten zweimal größere Reorgs wegen bugs im Code erfolgen:

https://bitcoin.stackexchange.com/questions/92974/what-is-the-length-of-largest-known-reorganization-in-bitcoin

  • Like 1
Link to comment
Share on other sites

vor einer Stunde schrieb skunk:

Du musst lediglich einen Teil des Netzwerks lange genug mit falschen Blöcken füttern

Ich verstehe den Punkt, aber der gilt auch jetzt, oder? Wie schaffst Du es 'regelkonforme Blöcke lange genug zu faken' und nur einem Teil der untereinander vernetzten Nodes zu geben? Alle Nodes sind miteinander verbunden und tauschen Tx/Blöcke aus. Faken auf Dauer nur möglich mit 51% und Blöcken, die den Regeln folgen. Übersehe ich etwas?

 

>>wer sollte entscheiden, welcher Block wann ein Checkpoint wird

Schwieriger Punkt, aber ich denke die ein oder andere Blockchain hat dafür Lösungen gefunden. Ich suche mal, habe da etwas gelesen.

Edit: Etwas gefunden, das mit checkpointing and timestamping arbeitet: https://eprint.iacr.org/2020/173.pdf

Edited by coin_trace
Link to comment
Share on other sites

vor 25 Minuten schrieb coin_trace:

Wie schaffst Du es 'regelkonforme Blöcke lange genug zu faken' und nur einem Teil der untereinander vernetzten Nodes zu geben?

Das muß nicht mal ein absichtlicher Angriff sein. Laß das Seekabel nach Neuseeland verrecken, dann reden die Nodes und Miner dort nur noch unter sich. Wenn die Reparatur länger dauert als bis zum nächsten Checkpoint, dann gibt's keinen regelkonformen Weg mehr, den Chainsplit wieder zu beheben.

Und, ja, es gibt "Lösungen" wer wann den Checkpoint setzt, aber die will man bei Bitcoin nicht haben. Es läuft nämlich immer irgendwie auf eine zentrale Autorität hinaus.

Alles noch wesentlich verschlimmert dadurch, daß die Checkpoints für Bitcoin keine wirklichen Vorteile haben würden.

Link to comment
Share on other sites

vor einer Stunde schrieb coin_trace:

Ich verstehe den Punkt, aber der gilt auch jetzt, oder?

Die längste Chain gewinnt. Wenn ich aufhöre mein Angriffsziel mit falschen Blöcken zu füttern kommt es unweigerlich mit dem Rest des Netzwerks in Kontakt. Es folgt eine größere Reorg und der kurzzeitige Ausflug auf der anderen Chain ist beendet. Der Checkpoint macht genau diese Reorg unmöglich.

vor einer Stunde schrieb coin_trace:

Faken auf Dauer nur möglich mit 51% und Blöcken, die den Regeln folgen. Übersehe ich etwas?

Sobald ein Teil des Netzwerkes einen anderen Checkpoint gesetzt hat, wurde das Netzwerk in Zweit Teile gespalten. Ich muss dich nur dazu bringen einen falschen Checkpoint zu setzen dann kann ich dauerhaft einen 51% Angriff mit dir machen weil du die Blöcke der Main Chain nicht mehr akzeptierst. Der Checkpoint ändert die Regel bezüglich eines 51% Angriffs.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.