how it works - will be updated
'signature chain' rulesOnly legacy addresses that start with '1' and had at least one incoming transaction that is on the Bitcoin blockchain can become a 'signature chain.'
Some addresses don't have outgoing transactions, these are valid too.
Addresses can be compressed or uncompressed.
There is no upper limit for the number of incoming or outgoing transactions.
The private key holder of such an address can start a 'signature chain.'
The starting address is the ID (or the name) of that 'siganture chain.'
The blocktime of the first incoming transaction of a given address indicates the 'siganture chain age.'
The ownership transfer happens through 'transfer signatures' + 'transfer transactions.'
'Transfer signatures' are message signatures, where the message is the Bitcoin address of the new owner.
Anything else than the address of the new owner in the message would make the transfer signature invalid.
A transfer signature is only valid if there is a transfer transaction.
A transfer transaction is a transaction from the address of the old owner to the address of the new owner and the value is not important (can be dust).
The transfer transaction can contain more than one input (from the old owner) but it is only valid if it has exactly 1 output (to the new owner).
The new owner is now the sole owner of the 'signature chain' and can transfer this to a new address who will become the next owner.
Only unused/empty legacy addresses starting with '1' can receive 'signature chains.'
It is important to store the signature history of the 'signature chain' as the new owner needs it to verify the ownership.
If a 'signature chain' was transferred to an address, any outgoing Bitcoin transaction from that address thereafter would indicate the transfer of the 'signature chain'. So it is recommended to have a separate Bitcoin address for 'signature chain' transactions.
A Bitcoin address can hold only 1 'signature chain.' (if an address holds one 'singature chain' and receives another one, then the new one is not valid and the sending address will remain the owner)
Any address that received Bitcoin from a legacy address after the initial block (see below) can't receive a 'signature chain' if there is only 1 transaction output as the received Bitcoin could be a 'siganture chain' transfer that will be revealed later by the owner. Therefore it is recommended to use a new legacy address to receive a 'signature chain.'
The first 'siganture chain' of the project (1NChfewU45oy7Dgn51HwkBFSixaTnyakfj transfers the 'signature ownership' to 1E9YwDtYf9R29ekNAfbV7MvB4LNv7v3fGa) doesn't need a transaction (by definition it is the initial signature like Bitcoin block 0). All other 'transfer signatures' need 'transfer transactions' to be valid.
Invalid 'signature transactions' can be on the blockchain. But they will be treated as not happened.
Valid after block 765779 (03/Dec/2022 11:04 PM UTC) txid 16bb6761cc8d7d393d25a88ec589361c1f0461a9c138ecc2333b0736efe488de = initial transfer (example below)
Example:
we have a signature that 1NChfewU45oy7Dgn51HwkBFSixaTnyakfj transfers the 'signature ownership' to 1E9YwDtYf9R29ekNAfbV7MvB4LNv7v3fGa
-----BEGIN BITCOIN SIGNED MESSAGE-----
1E9YwDtYf9R29ekNAfbV7MvB4LNv7v3fGa
-----BEGIN SIGNATURE-----
1NChfewU45oy7Dgn51HwkBFSixaTnyakfj
HCsBcgB+Wcm8kOGMH8IpNeg0H4gjCrlqwDf/GlSXphZGBYxm0QkKEPhh9DTJRp2IDNUhVr0FhP9qCqo2W0recNM=
-----END BITCOIN SIGNED MESSAGE-----
we have a signature that 1E9YwDtYf9R29ekNAfbV7MvB4LNv7v3fGa transfers the 'signature ownership' to 1KN59gRxD8G9g9smSLTFt9aSgWxYxTzFL7
-----BEGIN BITCOIN SIGNED MESSAGE-----
1KN59gRxD8G9g9smSLTFt9aSgWxYxTzFL7
-----BEGIN SIGNATURE-----
1E9YwDtYf9R29ekNAfbV7MvB4LNv7v3fGa
HwvtQmiREYIyZeI9uohqr82d9eiwtcBgbhG5+VR7+ouEDOTgd6EYvcgNQVELLVJnQbYhN6SSv1xPtQ8SmIa10+U=
-----END BITCOIN SIGNED MESSAGE-----
then we have a 'transfer transaction': Bitcoin transfer from 1E9YwDtYf9R29ekNAfbV7MvB4LNv7v3fGa to 1KN59gRxD8G9g9smSLTFt9aSgWxYxTzFL7
txid 16bb6761cc8d7d393d25a88ec589361c1f0461a9c138ecc2333b0736efe488de
the 'signature chain'
1NChfewU45oy7Dgn51HwkBFSixaTnyakfj
1E9YwDtYf9R29ekNAfbV7MvB4LNv7v3fGa
1KN59gRxD8G9g9smSLTFt9aSgWxYxTzFL7
has the ID 1NChfewU45oy7Dgn51HwkBFSixaTnyakfj (= first/initial address in the chain)
and only 1KN59gRxD8G9g9smSLTFt9aSgWxYxTzFL7 (= last address in the chain) can transfer that 'signature chain'
It is to mention that this example is a special example as the first signature in that project doesn't need a transaction (by definition of that project it is the initial signature like Bitcoin block 0). All other 'transfer signatures' need 'transfer transactions' to be valid.
But it works even without a 'transfer transaction' of the 'transfer signature' for the first project transfer.
Example 2:
It worked. (It should work because Bitcoin works
)
The transfer to 143NrfsANkM5B2Y3pWeCHNxGQS8kBFceDw is stored on the blockchain, but the 'signature chain' protocol doesn't accept it because the target address was a used address. So the owner 1MAP7AKiN5Ddce82VE8eFheFfyQ8iffvmV was still the owner of the 'signature chain'.
I sent it to the other unused/empty address 14ivWoBRgpfMbyiWqyjuDFnch6sGpsxKTV and now the protocol accepts it.
You have your 'signature chain' on 14ivWoBRgpfMbyiWqyjuDFnch6sGpsxKTV.
txid 387087dddda71c8d48ee1a7ec08652507a32a9a2a2d574884f633065575675c2
block 766,199
signature:
-----BEGIN BITCOIN SIGNED MESSAGE-----
14ivWoBRgpfMbyiWqyjuDFnch6sGpsxKTV
-----BEGIN SIGNATURE-----
1MAP7AKiN5Ddce82VE8eFheFfyQ8iffvmV
IBNSqTqvnbppr24p5yLGfAhki47DRCOTH6D4DQ/07LePPjqRTNna/SyL3KcSLgUP2GNYsG5N+El6EnoEU5P95VA=
-----END BITCOIN SIGNED MESSAGE-----
This signature is proof that 1MAP7AKiN5Ddce82VE8eFheFfyQ8iffvmV gives you the right to transfer this 'signature chain' for the Bitcoin address 1MAP7AKiN5Ddce82VE8eFheFfyQ8iffvmV to someone else. 1MAP7AKiN5Ddce82VE8eFheFfyQ8iffvmV is a newly created address to test 'siganture chain' but it could be for example a very old address and the private key holder/owner of that address could transfer the rights to someone else through signing such a message where the address of the new owner is the message and transferring Bitcoin (value is not important/can be dust) to the address of the new owner.
Only you can transfer this 'signature chain' for 1MAP7AKiN5Ddce82VE8eFheFfyQ8iffvmV with the private key of 14ivWoBRgpfMbyiWqyjuDFnch6sGpsxKTV. It is important that you store that signature above. Because there is no 'signature chain' explorer at the moment where you could see that. This signature is like the NFT picture that is not stored on the blockchain.
We are doing all procedures manually at the moment. And it is good as people can understand how it works. At some point it should work automatically through a wallet/explorer.
Now we have to see how the community will accept it. But I have a feeling that it is CryptoPunks in the making.