Haben Sie enthalten eine harte Gabel Bedingungen (z.B. Folgen diese neuen Regeln nach block 170,000)? Es scheint mir, dass Sie bei Einführung von neuen Regeln und versuchen, Sie zu validieren, die alten Blöcke unter diese neuen Regeln. Jedoch, was Sie tun sollten, ist stattdessen die Validierung von alten Blöcken, die unter den alten Regeln, und dann, nachdem eine bestimmte Bedingung erfüllt ist (z.B. block Höhe >= 170,000) Sie beginnen mit der neuen Regeln zu überprüfen Blöcke. Richtig so, warum nicht fügen Sie eine "OP_CHECKSIG2" und neuen tx/Adresse geben Sie eine weiche Gabel, die hashes die ganze tx minus sigs einmal und verwendet den hash für jeden Eingang?

Ich nehme an, Einer die Ausgaben der UTXO einer zwischen-Transaktion C, die verbringt UTXO von B zählt nicht als 'unrelated', wie das nur zwei Grade der Trennung statt.

Hier sind drei Teil-Lösungen:

  1. Um das offensichtliche, man könnte einfach warten, bis B wird bestätigt, veröffentlichen A.

  2. Sie veröffentlichen konnte, Eine mit einem Schloss in der Zukunft und dann aktualisieren Sie es in regelmäßigen Abständen und mit Zunehmender Sequenzen und die Verlängerung der Sperrzeit jeder Zeit, aber das beseitigt nicht die Möglichkeit, frühere Versionen Eines bekommen wird abgebaut, wenn Ihre Sperre die Zeit abläuft. Dann, wenn B abgebaut wird, die Sie veröffentlichen eine neue version eines ohne-lock-Zeit aktiviert.

  3. Wenn Sie erfordern nur, dass Sie nicht auf die Münzen bewegen, um in der Transaktion B, könnte Man hinzufügen, eine Ausgabe zu B, dass nicht alle Münzen in ihm, und werden nur für die Nachverfolgung von Abhängigkeiten der Transaktionen. Dies erfordert, dass Sie wissen, dass Sie planen, zu veröffentlichen, die einer abhängigen Transaktion, Eine, vor der Zeit, obwohl.

Ich denke, Sie werden feststellen, dass es ist nicht wirklich ein guter Weg, um zu tun, was Sie Fragen. Transaktion Abhängigkeiten werden in der Regel behandelt durch verweisen auf Ausgänge von der vorherigen Transaktion.


In Bezug auf das Szenario, wo Sie versuchen, zu bestechen Bergleute, um zu bestätigen, dass Transaktionen, die Sie wurden zensiert, dies wird im wesentlichen versucht, das zu tun Kind-Zahlt-Für-Eltern mit Transaktionen, die nicht auf Ausgänge. Dies ist zwar noch nicht möglich, Sie könnten in der Lage sein, so etwas zu tun:

Die Gemeinschaft erkennt, dass viele Transaktionen werden zensiert, und Sie zahlen möchten Bergleute, Ihre Transaktionen. So startet jeder Anhängen einer zusätzlichen OP_TRUE Ausgang Ihrer Transaktion, mit 0 Münzen darin. Dann, wenn Sie belohnen will ein Bergmann Bergbau die Transaktion mit einem OP_TRUE Ausgabe, verbringen Sie die Ausgabe mit einer leeren scriptSig und verbringen eine Ausgabe zu liefern, einige Gebühren.

Ein Nachteil ist, dass ein miner nur in der Lage sein zu akzeptieren, die person, die Bestechung, da es nur eine OP_TRUE UTXO Hinzugefügt. Aber, ich denke, wenn Bitcoin wird zu diesem Punkt, dann wird er wahrscheinlich gescheitert.

Sie könnte auch tun, eine Treuhand, wo Sie setzen Münzen in einen 2-von-3 mit Euch, der Bergmann, und eine Vertrauenswürdige Dritte Partei. Wenn die miner Minen B, dann melden Sie die release-Transaktion dauert die Münzen aus dem Treuhandkonto und geben Sie an die miner. Wenn der Bergmann nicht mir B nach einer gewissen Zeit, dann werden Sie verlangen, dass die Vertrauenswürdige Dritte Partei, die Ihnen helfen, lösen Sie Ihre Fonds. Das ist viel Arbeit für eine einfache Aufgabe, aber.