Multiple-phase rewritable blockchain
A system includes circuitry for rewriting blockchains in a non-tamper-evident or tamper-evident operation by a trusted party during a rewrite-permissive phase. During a rewrite-embargoed phase, at least one trusted party with rewrite access during the rewrite-permissive phase may have rewrite access revoked. In some implementations, rewrite access may be implemented by controlling access to a key secret for the blockchain. In some cases, access to the key secret may be changed by deleting the key secret or by changing access permissions for a particular device.
1. A system including:
a memory configured to:
store a blockchain secured by an integrity code; and
blockchain phase circuitry configured to:
during a rewrite-permissive phase for a trusted party:
cause, on behalf of the trusted party, execution of a rewrite of a block within the blockchain,
the rewrite coding-consistent with the integrity code; and
responsive to a trigger condition, alter access to rewrites for the trusted party to initiate a rewrite-embargoed phase for the trusted party, the trigger condition including an update to software code for the blockchain; and
during a rewrite-embargoed phase for the trusted party:
cause, on behalf of the trusted party, unsuccessful execution of a rewrite of a block within the blockchain,
the rewrite coding-inconsistent with the integrity code.
2. The system of claim 1 , where the blockchain phase circuitry is configured to cause unsuccessful execution of the rewrite of the block by:
computing coding-inconsistent collision data based on less than complete access to a key secret for the integrity code.
3. The system of claim 1 , where the blockchain phase circuitry is configured to cause unsuccessful execution of the rewrite of the block by:
denying rewrite privileges to the trusted party.
4. The system of claim 1 , where the blockchain phase circuitry is configured to initiate the rewrite embargoed phase by deleting a key secret for the integrity code to.
5. The system of claim 1 , where initiation of the rewrite-embargoed phase includes a permanent transformation of the blockchain to an immutable state.
6. A method including:
during a rewrite-permissive phase for a first trusted party, receiving a first command to perform a first validity-preserving rewrite to a blockchain;
responsive to receiving the first command during the rewrite-permissive phase, causing execution of the first validity-preserving rewrite to the blockchain,
the first validity-preserving rewrite coding-consistent with an existing integrity output stored within the blockchain;
responsive to a trigger condition, altering access to validity-preserving rewrites to terminate the rewrite-permissive phase for the first trusted party,
the trigger condition including an update to software code for the blockchain;
during a rewrite-embargoed phase for a second trusted party, receiving a second command to perform a second validity-preserving rewrite to the blockchain; and
responsive to receiving the second command during the rewrite-embargoed phase, causing unsuccessful execution of the second validity-preserving rewrite to the blockchain.
7. The method of claim 6 , where causing unsuccessful execution of the second validity-preserving rewrite to the blockchain includes:
computing coding-inconsistent collision data based on incomplete access to a key secret for an integrity code of the blockchain.
8. The method of claim 6 , where causing unsuccessful execution of the second validity-preserving rewrite to the blockchain includes:
denying rewrite privileges to the second trusted party.
9. The method of claim 6 , where altering access to validity-preserving rewrites includes deleting a key secret for an integrity code of the blockchain.
10. The method of claim 6 , where the first trusted party and the second trusted party include the same trusted party.
11. The method of claim 6 , where the first trusted party and the second trusted party include different trusted parties.
12. The method of claim 6 , where the rewrite-permissive phase for the first trust party and the rewrite-embargoed phase for the second trusted party coincide at least in part.
13. The method of claim 6 , where the rewrite-embargoed phase includes:
a permanent transformation of the blockchain to an immutable state.
14. A system including:
memory configured to store a blockchain; and
blockchain phase circuitry configured to:
receive a first command to perform a first validity-preserving rewrite to a blockchain,
the first command received during a rewrite-permissive phase for a first trusted party;
responsive to receiving the first command during the rewrite-permissive phase, cause execution of the first validity-preserving rewrite to the blockchain,
the first validity-preserving rewrite coding-consistent with an existing integrity output stored within the blockchain;
responsive to a trigger condition, alter access to validity-preserving rewrites to terminate the rewrite-permissive phase for the first trusted party,
the trigger condition including an update to software code for the blockchain;
receive a second command to perform a second validity-preserving rewrite to the blockchain,
the second command received during a rewrite-embargoed phase for a second trusted party; and
responsive to receiving the second command during the rewrite-embargoed phase, fail to cause execution of the second validity-preserving rewrite to the blockchain.
15. The system of claim 14 , where the blockchain phase circuitry is configured to fail to cause execution of the second validity-preserving rewrite to the blockchain by:
computing coding-inconsistent collision data based on less than complete access to a key secret for an integrity code of the blockchain.
16. The system of claim 14 , where the blockchain phase circuitry is configured to fail to cause execution of the second validity-preserving rewrite to the blockchain by:
denying rewrite privileges to the second trusted party.
17. The system of claim 14 , where the blockchain phase circuitry is configured to alter access to validity-preserving rewrites includes deleting a key secret for an integrity code of the blockchain.
18. The system of claim 17 , where deletion a key secret includes deleting a decryption key used to decipher the key secret from an encrypted form.
19. The system of claim 14 , where the rewrite-permissive phase for the first trusted party and the rewrite-embargoed phase for the second trusted party coincide at least in part.
20. The system of claim 14 , where the rewrite-embargoed phase includes:
a permanent transformation of the blockchain to an immutable state.