How can I use Hash based Signatures in Algorand Transactions?

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 ?

Hi @gokulalex,

Currently, to be valid, a transaction on Algorand needs to:

  1. either have a valid ED25519 signature (the public key is the sender address and the message is the encoded transaction)
  2. or have a valid multisignature, with enough ED25519 signatures corresponding to public keys implicitly defined by the sender address
  3. 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?

1 Like

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.