Hi ho liebe Leute der guten Unterhaltung, hallo lieber Roman
Ich sitze gerade im Park und habe mich gefragt wie lange die Berechnung eines Hashes dauert beziehungsweise wie sehr die Größe einer Datei eine Rolle dafür spielt.
Wird bei der Blockchain nur der letzte Block oder die gesamte Blochain gehasht?
Außerdem wäre es Theoretisch möglich mit zwei unterschiedlichen Dateien einen gleichen Hash zu errechnen. Auch wenn es megaaaaaaa unwahrscheinlich ist.
Wie will man zu 100% wissen das sha256 zu 100% sicher ist. Was würde passieren wenn eines Tages doch zwei gleiche hashes errechnet würde? Wäre es relevant? Würde das System crashen? Wie kann ich mir das als Laie vorstellen?
Kommt darauf an, wer berechnet und welcher Algorithmus (SHA-1, SHA-256,…) etc zugrunde liegt… also ob du das per Hand machst oder eben ein ASIC- Miner ^^
Ein aktueller ASIC Antminer T19 schafft beim Bitcoin minen ca. 84 Terahashes pro Sekunde… also 84 Billionen Hashes pro Sekunde. Wenn du das per Hand machst schaffst du ca 4 Hashes pro Stunde → Siehe Video:
Es wird der Block-Header des vorherigen Blocks gehasht und ein Hash über alle Transaktionen im aktuellen Block erstellt.
Kurz: Ja, theoretisch ist das möglich.
Kann man nicht, nichts ist zu 100% sicher.
Naja kommt drauf an, welcher Hash, zweimal errechnet wird.
Wird z.B. zweimal der gleiche Private Key erstellt, und es liegt schon was drauf, dann kann ihn halt der zweite unbemerkt leer räumen, aber crashen würde deswegen Bitcoin nicht. Nur dumm für den, dessen Adresse es vorher war.
Einen Hash kann jeder Kartoffel Computer heutzutage im Bruchteil einer Sekunde berechnen. :D
Das aufwendige beim Bitcoin ist ja erst, dass durch den Schwierigkeitsgrad Vorraussetzungen an die Hashes gestellt werden. Also dass er z.B. mit 5 Nullen anfangen muss. Dazu muss man halt zufälligen Inhalt mit in den Block schreiben und solange rumprobieren bis ein Hash mit den Vorgaben rauskommt.
Theoretisch gesehen: Sobald du im Fall von SHA256 mehr als 2^256 Eingaben hast, besteht die Chance, dass zwei mal der gleiche Hash entsteht.
Heißt aber nicht, dass das Verfahren unsicher ist, da es sich (eigentlich) nicht gewollt reproduzieren lässt. Ist halt eine krass kleine Wahrscheinlichkeit - so auch im Fall des Privatekey was Renna geschrieben hat.
Bei SHA-1 können aber inzwischen zwei unterschiedliche Dokumente mit den gleichen Hashes erzeugt werden.
Aber wenn SHA256 irgendwann mal in solche Regionen kommt und Quantencomputer bei jedem zu Hause stehen, dann kann man Bitcoin ja immer noch auf eine neue Technologie „upgraden“
Kann man nicht so pauschal sagen. Bei großen Dateien liegt das Problem eher an der Lesegeschwindigkeit von deinem Speicher.
Wenn deine SATA SSD mit 500 MB/s deine 100 TB Datei liest, dauert dieser Vorgang alleine 55,5 Stunden.
Wobei das Lesen der ISO Datei im ersten Fall aufgrund der tausend kleinen Dateien darin natürlich deutlich langsamer ist als die maximalen 3GB/s meiner SSD. Die angegebenen Zeiten sind also Lesezeit + Hashzeit.
Auf aktuellen Prozessoren dauert ein SHA256 Hash ca. 3*10^-8 s.
Bei sehr großen Dateien verwendet man aber Verfahren wie Hash-Tree, wo man die Datei z.B. in 1024 Byte große Datenblöcke aufsplittet und dann paralell rechnet. Und dann auch nicht mit den 4-8 Kernen einer CPU sondern mit den tausenden Shadereinheiten einer Grafikkarte.
Kurz: es ist linear abhängig. 10mal mehr Daten bedeuten 10mal längere Hashingzeit. Grob gesagt sind alle Hashes nichts anderes als klevere Summen, die immer in Stücken von x Bytes etwas ausrechnen. Hat man also 1 Million Bytes dauert das Zeit t1. Hat man 2 Millionen Bytes dauert es Zeit t1 mal 2, weil es doppelt so viele Stücke sind.