Join 100,427 users already on

Persistent Data Sticker Contract

2 47
Avatar for bitcoincashautist
Written by   187
1 year ago
Topics: BCH, Bitcoincash

Local transaction introspection will make it possible to design a contract owned by another contract. Here we present one such contract that:

  • 1. Hardcodes some data inside its redeem script.

  • 2. Requires no signature.

  • 3. Requires self-replication.

  • 4. Requires that another contract from the same parent TX is spent from.

With only 1., 2., and 3. the contract would be an anyone-can-spend persistent data entity. With 4., another contract becomes the owner by transitive relation.

Redeem script:
<sticker> OP_DROP // This is my data
<1> OP_OUTPUTBYTECODE <1> OP_UTXOBYTECODE OP_EQUAL // I couldn't have changed my data from when it was first set
<1> OP_OUTPOINTTXHASH <2> OP_OUTPOINTTXHASH OP_EQUAL // My owner got spent, therefore I can be spent

Signature script:

For the sticker to be spendable its owner must be spent in the same TX. The sticker will be replicated as the 1st output, and the 2nd output will become the new owner.

The sticker proves only that it couldn't have changed its data from when it was first set, but it can't prove when the data was set or which owner originally set it. It can't prove that it's not a new instance created in the parent TX. To prove genesis would require tracing the whole chain back to genesis.


CC0 1.0 Universal (CC0 1.0) Public Domain Dedication

$ 1.03
$ 0.51 from @TheRandomRewarder
$ 0.44 from @Big-E
$ 0.03 from @Oikawa
+ 3
Avatar for bitcoincashautist
Written by   187
1 year ago
Topics: BCH, Bitcoincash
Enjoyed this article?  Earn Bitcoin Cash by sharing it! Explain
...and you will also help the author collect more tips.


After I read your article, it shows that you are expert when we talks about bitcoin cash. Thank you for the information. 🤗

$ 0.00
1 year ago

This is a nice write up,I think am learning a few things from it.

$ 0.00
1 year ago