Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[AccountAbstraction]Session Key #419

Closed
Tracked by #420 ...
jolestar opened this issue Jul 6, 2023 · 1 comment
Closed
Tracked by #420 ...

[AccountAbstraction]Session Key #419

jolestar opened this issue Jul 6, 2023 · 1 comment
Labels
skill::move Need the Move language skill to complete the issue skill::rust Need the rust language skill to complete the issue
Milestone

Comments

@jolestar
Copy link
Contributor

jolestar commented Jul 6, 2023

Motivation

The session key is a specific type of authentication key with the following features:

  1. Its lifespan is limited, and it becomes invalid after expiration.
  2. Its usage is restricted to specific purposes, such as invoking functions within a designated module.
  3. Automatic renewal can be implemented based on the last usage time.

So, the App can store the session key in the App storage(such as the browser storage), and enabling automatic transaction signing without constant interaction with the wallet enhances the user experience.

Solution

The session key solution is dependent on the #460

How to indicate that a transaction has used a session key?

  1. Implement SessionKey as a special Authenticator base on Authenticator Abstraction.

    • Pros: It appears simple and isolates the logic for session keys.
    • Cons: It can become complicated if SessionKey needs to support different authenticator schemes.
  2. Implement SessionKey as part of the Account. Attempt to retrieve the authentication key from the account and, if it is a session key, follow the validation process specific to session keys. Otherwise, proceed with alternative validation procedures.

    • Pros: SessionKey can reuse the authenticator scheme.
    • Cons: It strongly impacts the account and transaction validation processes.
@jolestar jolestar added this to Rooch Jul 6, 2023
@jolestar jolestar added this to the Rooch v0.2 milestone Jul 6, 2023
@jolestar jolestar added skill::move Need the Move language skill to complete the issue skill::rust Need the rust language skill to complete the issue labels Jul 6, 2023
@jolestar
Copy link
Contributor Author

jolestar commented Sep 1, 2023

Finished, the document needs to be improved. #468

@jolestar jolestar closed this as completed Sep 1, 2023
@github-project-automation github-project-automation bot moved this to Done in Rooch Sep 1, 2023
@jolestar jolestar mentioned this issue Sep 6, 2023
15 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
skill::move Need the Move language skill to complete the issue skill::rust Need the rust language skill to complete the issue
Projects
Status: Done
Development

No branches or pull requests

1 participant