Implement New Stateful Signature scheme


We are playing with Rosetta and trying to integrate our own Blockchain - Minima.

Most seems straightforward! - but we do use our own signature scheme that is not one of the current set in the keys package.

Our scheme is pretty standard for the post QC world- it is a merkle tree of Winternitz One Time Sigs… the root of the tree is the pub key.

But this raises 2 issues…

  1. Our scheme is stateful. You need to use a different leaf node when signing a new message. Users on our chain keep track of how many times they have used a key and increment that value after every use. I note the Construction API does not support this type of signature ? As it requires it to be stateless. Or does it ?

  2. Our blockchain is written in Java. I was wondering if we can implement a new signature type in java or if it must be in GO ?