Das problem ist, dass Sie brauchen eine bestimmte über des Zeug in den Mixer, damit es funktioniert, und ich kann nicht einfach in ein paar Nelken.... Es scheint klar genug, aber in anderen Worten bedeutet Es, dass: 1) die Schriften und seine Derivate freigegeben werden, müssen Sie unter Ubuntu-Font-Lizenz, und 2) ich bin nicht verpflichtet, zu veröffentlichen, meinen essay geschrieben, mit den Schriftarten unter Ubuntu-Font-Lizenz", solange der Hauptzweck des Dokuments ist nicht ein Vehikel für die Verbreitung der Schriften". Bitte sehen Sie die Kommentare auf die Antworten, und aktualisieren Sie die Frage mit neuen Informationen. Hmm.. was ich meine ist, dass es nicht wirklich eine "battery low" - event, Sie haben zu Umfrage einige system-dependent resource in `/proc` oder `/sys`, um herauszufinden, warum ein Akku-Ereignis generiert wurde. Zumindest sieht es so aus:::::: ich sank auf 0% Akku-Kapazität (nach `wmbattery`). Ich habe ein event-handler `/etc/acpi/events/log-all-events`, die eine Antwort auf `Ereignis=.*` mit einem Aufruf von `/usr/bin/logger '%e". Die einzige Veranstaltung, die registriert wurde, als ich gegen 0% Kapazität war `battery BAT0 00000080 00000001`. Genau die gleiche Nachricht wird generiert, wenn ich eine Verbindung herstellen oder trennen Sie den AC.

Versuchen, um zu sehen, wie das tx war erfolgreich bestätigt (in 2013) in der blockchain zeigen sollte, das Geheimnis dieses Skript. Die bisherigen Ausführungen geben bereits eine Idee, was das Skript macht, aber nicht alles erklären. Also versuche ich, zu zerlegen weiter. Annahme ist, dass sigscript der Ausgaben tx geht auf den stack, dann folgte auf der Oberseite durch die pubkey-Skript. Um die Signatur zu überprüfen, wird die Vorherige Finanzierung tx werden müssen, umgewandelt in einen unsigned tx, so Entferne ich die sig von orig tx, ersetzen Sie es mit pubkey-Skript, und ändern input script Länge:

 01000000 01 A214A2DAF91691AFDD491FD00D894EB3301E35BC18B5554B14E12843037E954C (<-- reverse hex !)
00000000
 23 (<-- Länge dezimal 35 Bytes, Umgekehrt, hex 0x23)
 2102085C6600657566ACC2D6382A47BC3F324008D2AA10940DD7705A48AA2A5A5E33AC7C2103F5D0FB955F95DD6BE6115CE85661DB412EC6A08ABCBFCE7DA0BA8297C6CC0EC4AC7C5379A820D68DF9E32A147CFFA36193C6F7C43A1C8C69CDA530E1C6DB354BFABDCFEFAF3C875379A820F531F3041D3136701EA09067C53E7159C8F9B2746A56C3D82966C54BBC553226879A5479827701200122A59A5379827701200122A59A6353798277537982778779679A68 (<-- platziert pkscript hier in sigscript Abschnitt)
 00000000 (<-- interessant, die Reihenfolge ist nicht FFFFFFFF)
 01 C06C3C0000000000 23 21039DC85F5FE062D4EEF0470FA96D4BBCFFF0096C62042333CD05AD491536560443AC DA538652

was wird serialisiert und Doppel-sha256-Hash:

01000000014c957e034328e1144b55b518bc351e30b34e890dd01f49ddaf9116f9daa214a200000000b52102085c6600657566acc2d6382a47bc3f324008d2aa10940dd7705a48aa2a5a5e33ac7c2103f5d0fb955f95dd6be6115ce85661db412ec6a08abcbfce7da0ba8297c6cc0ec4ac7c5379a820d68df9e32a147cffa36193c6f7c43a1c8c69cda530e1c6db354bfabdcfefaf3c875379a820f531f3041d3136701ea09067c53e7159c8f9b2746a56c3d82966c54bbc553226879a5479827701200122a59a5379827701200122a59a6353798277537982778779679a680000000001c06c3c00000000002321039dc85f5fe062d4eef0470fa96d4bbcfff0096c62042333cd05ad491536560443acda53865201000000

4eb4dccd727e81315a9ff801c205efc62635471cf8668e42c1c8aebfb51500a3

Diese Doppel-sha256-hash-Werte, die pubkeys und sig (von der Ausgaben-tx) entspricht mit diesen pubkeys:

ssig1:
30450221009a29101094b283ae62a6fed68603c554ca3a624b9a78d83e8065edcf97ae231b02202cbed6e796ee6f4caf30edef8f5597a08a6be265d6601ad92283990b55c038fa pubkey in HEX: 03F5D0FB955F95DD6BE6115CE85661DB412EC6A08ABCBFCE7DA0BA8297C6CC0EC4 in PEM-pubkey: MDYwEAYHKoZIzj0CAQYFK4EEAAoDIgAD9dd7lv+V3WvmEVzoVmHbQS7GoIq8v859oLqCl8bmdsq= doppelte sha256: 4eb4dccd727e81315a9ff801c205efc62635471cf8668e42c1c8aebfb51500a3

ssig2:
3044022045d08719828fbd93e49c9223e63f4d2dab2de6c568e1faa2cccb33adf2575d2c02200c00126cb0105275040a963d91e45460147e40451b590485cf438606d3c784cf pubkey in HEX: 02085C6600657566ACC2D6382A47BC3F324008D2AA10940DD7705A48AA2A5A5E33 in PEM-pubkey: MDYwEAYHKoZIzj0CAQYFK4EEAAoDIgACcfxmagv1zqzc1jgqr7w/MkAI0qoQlA3XcFpIqipaXjM= doppelte sha256: 4eb4dccd727e81315a9ff801c205efc62635471cf8668e42c1c8aebfb51500a3

Schnelle überprüfung mit openssl (daher der pubkey im PEM-format):

sig=30450221009a29101094b283ae62a6fed68603c554ca3a624b9a78d83e8065edcf97ae231b02202cbed6e796ee6f4caf30edef8f5597a08a6be265d6601ad92283990b55c038fa
pk=03F5D0FB955F95DD6BE6115CE85661DB412EC6A08ABCBFCE7DA0BA8297C6CC0EC4
hash=4eb4dccd727e81315a9ff801c205efc62635471cf8668e42c1c8aebfb51500a3
printf $( echo $hash | sed 's/[[:xdigit:]]\{2\}/\\x&/g' ) > tmp_utx_dsha256.hex
echo "MDYwEAYHKoZIzj0CAQYFK4EEAAoDIgAD9dd7lv+V3WvmEVzoVmHbQS7GoIq8v859oLqCl8bmdsq=" > cat-pubkey.pem
printf $( echo $sig | sed 's/[[:xdigit:]]\{2\}/\\x&/g' ) > tmp_sig.hex
openssl pkeyutl <tmp_utx_dsha256.hex -prüfen-pubin -inkey pubkey.pem -signierdatei tmp_sig.hex

OK, der Teil für die Unterschrift ist klar. So suchen Sie weiter bei der pkscript, werde ich versuchen, zu entschlüsseln:

pubkey1 21 02085C6600657566ACC2D6382A47BC3F324008D2AA10940DD7705A48AA2A5A5E33 AC 7C
pubkey2 21 03F5D0FB955F95DD6BE6115CE85661DB412EC6A08ABCBFCE7DA0BA8297C6CC0EC4 AC 7C
 53 79 A8 
hash1 20 D68DF9E32A147CFFA36193C6F7C43A1C8C69CDA530E1C6DB354BFABDCFEFAF3C
 87 53 79 A8 
hash2 20 F531F3041D3136701EA09067C53E7159C8F9B2746A56C3D82966C54BBC553226
 87 9A 54 79 82 77 
 01 20
 01 22
 A5 9A 53 79 82 77 
 01 20
 01 22
 A5 9A 63 53 79 82 77 53 79 82 77 87 79 67 9A 68

Das problem, das ich sehe, ist, dass deine Aussage irgendwie scheint es nicht zu passen:

wenn (sha256(dat1) == hash1 &&
 sha256(dat2) == hash2 &&
 Größe(dat1) == 32 oder 33 &&
 Größe(dat2) == 32 oder 33) {
 if (size(dat1) == size(dat2)) {
 zurück checksig(sig2, pk2);
 } else {
 zurück checksig(sig1, pk1);
}

Der Stapel würde sich nach sigscript:

[ssig2]
[ssig1]
[0x00]
[0x00]

Und auf der Oberseite der pkscript Folgen würde:

21: OP_DATA_0x21: Länge komprimiert Öffentlichen Schlüssel (X9.63 form, 33 Bytes)
02085C6600657566:ACC2D6382A47BC3F:324008D2AA10940D:D7705A48AA2A5A5E:33
 entsprechende bitcoin-Adresse ist: 152q849uVmoB5oRcZ4d4tJHyRuB6FPB9hz 
AC: OP_CHECKSIG: sig muss ein Gültiger sig für hash-und pubkey

-- dies überprüfen würden pubkey1 gegen ssig2, entfernen pubkey und [ssig2] vom Stapel, und lassen Sie [TRUE] auf stack

7C: OP_SWAP: die beiden obersten Elemente auf dem stack vertauscht

-- dies würde die swap [ssig1][TRUE], so [ssig1] ist auf der Oberseite des Stapels

21: OP_DATA_0x21: Länge komprimiert Öffentlichen Schlüssel (X9.63 form, 33 Bytes)
03F5D0FB955F95DD:6BE6115CE85661DB:412EC6A08ABCBFCE:7DA0BA8297C6CC0E:C4
 entsprechende bitcoin-Adresse ist: 1BaJ2fYiAVnZC73MtX1LsyJBtXNZWDSkt6
AC: OP_CHECKSIG: sig muss ein Gültiger sig für hash-und pubkey

-- dies überprüfen würden pubkey2 gegen ssig1, entfernen pubkey und [ssig1] vom stack, und lassen Sie [TRUE] auf stack [0x00][0x00][TRUE][TRUE]

7C: OP_SWAP: die beiden obersten Elemente auf dem stack vertauscht

-- dies würde die swap [TRUE][TRUE], Grund ist unklar

53: OP_3: die Zahl 3 ist auf stack geschoben

-- oberste stack-element "3" [0x00][0x00][TRUE][TRUE][0x53]

79: OP_PICK: item n zurück in den stack kopiert nach oben

-- dies würde pop-1-element aus dem stack, und bringen [0x00] der top of stack: [0x00][0x00][TRUE][TRUE][0x00]

A8: OP_SHA256: Eingabe Hashen mit SHA-256
20: OP_Data: nächsten 32 bytes Daten geschoben werden, auf den stack
D68DF9E32A147CFF:A36193C6F7C43A1C:8C69CDA530E1C6DB:354BFABDCFEFAF3C
87: OP_Equal: Gibt 1 zurück, wenn die Eingaben gleich sind, sonst 0

-- Hash der [0x00] Wert, setzen OP_DATA oben, und vergleichen Sie Sie. OP_EQUAL pops zwei Elemente vom stack. Dies würde es erlauben, [FALSE] auf den stack. Stack-status: [0x00][0x00][TRUE][TRUE][FALSE]

53: OP_3: die Zahl 3 ist auf stack geschoben
79: OP_PICK: item n zurück in den stack kopiert nach oben

-- dies würde den pick [TRUE] Wert ??

A8: OP_SHA256: Eingabe Hashen mit SHA-256
20: OP_Data: nächsten 32 bytes Daten geschoben werden, auf den stack
F531F3041D313670:1EA09067C53E7159:C8F9B2746A56C3D8:2966C54BBC553226
87: OP_Equal: Gibt 1 zurück, wenn die Eingaben gleich sind, sonst 0

-- Hash der [0x00] Wert, setzen OP_DATA oben, und vergleichen Sie Sie. OP_EQUAL poppt zwei Elemente vom stack. Dies würde es erlauben, [FALSE] auf den stack. Stack-status: [0x00][0x00][TRUE][TRUE][FALSE][FALSE]

-- interessant ist, dass diese hash übereinstimmen würden, auf sha256(hash) in die Förderung Texas, wie bereits in den vorherigen Kommentar. Ich stoppen die weitere Auswertung des Skripts hier. Mein Verständnis ist, dass wir gesehen haben die Ausgaben script mit zwei hex 0x00-Werte, gefolgt von sigs. Dies entspricht nicht dem pseudo-code? Vielleicht eher so:

wenn (sig1 == TRUE && 
 sig2 == TRUE &&
 sha256(dat1) == hash1 &&
 sha256(dat2) == hash2 &&
 Größe(dat1) == 32 oder 33 &&
 Größe(dat2) == 32 oder 33) 
...

Allerdings: ich habe irgendwo ein "off by one" in der zweiten hash-Wert (F531F3041D313670...). Es sollte OP_4 oder OP_5 (statt OP_3) zu erreichen, um eines der mitgelieferten hash-Bilder. Mit dem Wert 3 die OP_PICK kopieren würden [TRUE] (aus der sig-Kontrolle) auf der Oberseite, statt der hash-Bild an position 4 oder 5...

Ich wusste nicht, Folgen die nächsten opcodes, gibt es weitere Bedingungen. Auch die Sequenz-Nummer ist "00000000" (nicht "FFFFFFFF"), und LockTime ist "DA538652" (dezimal ), die größer als 500'000'000, also ein unix-timestamp. Dies führt zu einer Termin: Fr 15 Nov 2013 18:03:22 CET. Der tx erschien in der blockchain auf 2013-11-15 17:13:23.

Also zusammenfassend ich denke, das tx war so strukturiert, dass sich jemand gab ein Schlüsselwort mit der tx auf eine zweite party, und Sie benötigt, um in der Lage sein, zu unterzeichnen und zu "wissen" das Schlüsselwort. Eine Art von multisig, ja. Und, es konnte nicht ausgegeben werden, bevor ein bestimmter Punkt in der Zeit (der tx gehalten würden im mempool, aber wir können nicht sehen, diese nicht mehr). Sonst nur der Eigentümer wäre in der Lage zu verbringen die tx...

Es ist wohl mehr dahinter, ich überlasse es den Experten zu entschlüsseln, der restliche Teil :-)