I would like to use Hash based Signatures in Algorand based Multi Signature Wallet application. I have found reference implementation of multi signature wallet for Algorand in GitHub. However I would like to get an advise on how can I use custom designed Hash based Signatures in Algorand SDK ?
Currently, to be valid, a transaction on Algorand needs to:
- either have a valid ED25519 signature (the public key is the sender address and the message is the encoded transaction)
- or have a valid multisignature, with enough ED25519 signatures corresponding to public keys implicitly defined by the sender address
- or have a valid LogicSig, i.e., a TEAL script as explained in https://developer.algorand.org/docs/asc-tutorial
You can in theory use a TEAL script to use a custom designed signature scheme, if verifying these custom designed signatures can be efficiently done by a TEAL script (https://developer.algorand.org/docs/teal#execution-environment)
What kind of custom designed hash based signature do you have in mind?
Hi @fabrice , thank you for such a detailed response. I will go through ED25519 usage and LogicSign implementation approaches. I was planning to use Winternitz One Time Signature or Lamport Signature ( both are slated to be quantum safe signature schemes ) for a Multi Signature Wallet which I am planning to develop for a use case. Please let me know if you need any further details.