so sind Sie halt Vermischung der block-Header? es würde helfen, zu wissen, welche Teile Sie suchen, können Sie das konkretisieren? @TomBrossman Getan. Ich glaube nicht, dass der link ist relevant, da mein netbook keine multimedia-Tasten Glauben Sie wirklich, egal, wie groß die Brieftasche.dat Größe bekommt? Es braucht nicht viel Platz überhaupt. Danke dafür, aber leider bin ich ratlos, wie die Schritte zu tun, da werden Sie terminal-basiert. Gibt es irgendwo kann ich eine Schritt für Schritt diese? Auch sind die Schritte, die angeboten werden, auch für 12.04? simple-scan verwendet sane als backend, so funktioniert es noch nicht in xsane funktioniert es nicht, in simple-scan.
  1. Warum tun wir nicht akzeptieren, ein hash, das endet mit all den Nullen? Ist es, weil es einfacher ist ein Programm zu berechnen , wenn die hash < expected_hash?

Zählen der Anzahl von führende oder nachgestellte Nullen nicht viel geben, der Granularität. Wenn eine Darstellung als hexadezimale Zahl, dann gibt es nur 64 mögliche Ziel-Werte, wenn Sie zählen nur die Anzahl der Nullen. Wenn Binär, 256 mögliche Werte. Darüber hinaus zählen die Anzahl der Nullen bedeutet, dass können Sie nur ändern, die Schwierigkeit von einigen macht der 2 (in Binär, der Schwierigkeiten hat, werden verdoppelt oder halbiert). Es gibt also nicht viele Werte für das Ziel-und dieser Verlust an Auflösung ist schlecht.

Umgekehrt, vergleichen des Werts bedeutet, dass es (in der Theorie) 2^256 mögliche Werte für die Schwierigkeit. Dies ist sehr viel präziser, und diese Werte sind Ganzzahlen. Anstatt zu ändern, die Schwierigkeit durch die Multiplikation, die Schwierigkeit kann verändert werden mit addition und Subtraktion. Durch mehr Werte, die Schwierigkeit wird sein, weniger wahrscheinlich zu schwer oder zu leicht.

  1. Aber in diesem Fall, ich verstehe nicht, warum machen wir nicht einfach akzeptieren, eine hash sha256(sha256(header).digest()).digest().encode('hex') , die niedriger ist als die erwarteten hash? Die Wahrscheinlichkeit zu bekommen, dass sollte so hoch sein, wie die verkehrten ein.

Es ist eigentlich gerade wie Sie sagte. Die Umkehrung der hash ist nur, wie die bytes, die tatsächlich vertreten werden. Sie sind gespeichert als bytes interpretiert und als little-endian-256-bit-integer. Der Vergleich ist immer noch ein integer-Vergleich und die Darstellung der Daten ist irrelevant (Sie könnten genauso leicht gespeichert und dargestellt als big-endian-Integer). Aber wenn Sie angezeigt werden, Sie werden angezeigt als big-endian-Werte im hexadezimal -, weil die Menschen daran gewöhnt, big-endian. Der Grund für little endian ist wahrscheinlich, weil die x86-Architektur verwendet little endian für die Speicherung von Ganzzahlen.