MooyAAho

MooyAAho

Voice ZK & Account Abstraction applied wallet which is secured by your voice.

The problem MooyAAho solves

  • We focused on security problem. We believe that security levels should be categorized based on the importance of transactions.
  • Currently, everything is being conducted under the same signature. For example, we treat signatures for sending large amounts of money and signatures for sending small amounts of money the same way.
  • MooyAAho utilizes AA and Voice ZK technologies to enable Two-factor authentication. Depending on the amount of money being transferred, voice authentication can be added. This allows users to strengthen their own security

Challenges we ran into

[AA Part]

  • It's hard to find effective Viem + Bundler + AA SDK stack. Especially bundler that supports JsonRPC redirection is super rare. - We've found and using Viem + Skandha + Alchemy AA SDK.
  • As always. It's hard to gather test tokens from multiple chains and deploying same contract too. - We solved by using bash script to deploy.
  • Due to the reference contracts have some "hacky " codes, unpacking these contracts to understand entire logic was little bit confusing.

[Voice ZKML Part]

  • We tried to implement the model with RNN (LSTM, GRU), but [email protected] does not seem to fully support such networks for classification. Alternatively, CNN and linear networks were used for simple implementations.

[Frontend Part]

  • There was a lot of code that needed to be written to create a good user experience. If we had more time, we could have done a better job of validating the values ​​entered by the user and providing better guidance to the user.
  • Nevertheless, we tried to deliver a good experience to users through a clear UI and appropriate use of toast.
  • In the front end, viem + wagmi + @alchemy/aa-core was used. In the case of aa-core, it is a library that is still actively being developed.
  • Therefore, it was little difficult to obtain accurate examples or explanations
    In order to process the voice, it needs to be sent to the server with the appropriate file extension. we solved this problem with ffmeg.

Discussion