Project Name: Just Auth
Project Track: Web3
Team Name: JustAuthDevs
Team Member(s): 2
DevPost Project Link: JustAuth | Devpost
Project Goal:
JustAuth aims to simplify and secure the authentication process for dapps on the TRON blockchain. Our goal is to provide a user-friendly, secure, and seamless authentication solution that bridges the gap between traditional web applications and blockchain-based dApps. By doing so, we aim to accelerate the adoption of Web3 technologies and make blockchain interactions more accessible to a broader audience.
Project Value:
JustAuth brings significant value to the blockchain ecosystem by:
-
Simplifying User Onboarding: By providing a familiar email-based authentication process, JustAuth lowers the entry barrier for new users, making it easier for them to interact with blockchain applications.
-
Enhancing Security: Our solution implements advanced encryption and key splitting techniques, ensuring that users’ private keys are securely managed without compromising on usability. The private key of the user is never persisted at a single system. Thus, ensuring that
-
Improving User Experience: JustAuth offers a smooth, intuitive interface for authentication, wallet creation, and transaction signing, making blockchain interactions feel more natural and less intimidating.
-
Accelerating dApp Development: By offering a ready-to-use authentication solution, JustAuth allows developers to focus on their core application features rather than building complex authentication systems from scratch.
-
Promoting TRON Ecosystem Growth: As an easy-to-integrate solution, JustAuth encourages more developers to build on TRON, potentially leading to an increase in the number and quality of dApps in the ecosystem.
Project Info:
justauth.pdf (78.3 KB)
Developer Documentation: https://just-auth.gitbook.io
Project Website:
https://just-auth-dashboard-production.up.railway.app
Project Test Instructions:
To test JustAuth, please follow these steps:
-
Click on the Demo button in on our website.
-
Click on “Login/Register”, and enter your email address. You will receive a One-Time Password (OTP) via email. Enter this OTP in the provided field.
-
Once authenticated, you’ll be able to view your wallet information, including address and balance
-
Send a test transaction (use the Nile testnet faucet to get test TRX)
-
Sign a message and verify the signature
-
Export your private key (for demonstration purposes only - never share your actual private key)
-
Try logging out and logging back in to test the persistence of your account.
-
For developers, we provide a React hook (useJustAuth) that can be easily integrated into any TRON dApp. Documentation for this can be found in our documentation
Project Details:
Understanding the security aspects
JustAuth sets itself apart from solutions like Web3Auth by offering a more user-centric and secure approach to authentication. While Web3Auth relies heavily on their proprietary network of authentication nodes, which are ultimately controlled by a single entity, JustAuth gives users the complete control over their keys and security works just like non-custodial wallets like TronLink works. The key generation happens on client side, and it is split into 3 parts, a part of the key is persisted on the client side storage, while the user is ask to create a password to encrypt the second and third part of the key. The second and third parts are then persisted on server side, but since the password was just a frontend state, the server can never ever decrypt the private key. Whenever the dapps requires to do any action involving private key, we reconstruct the private key using a client side part and one server side part.
When a user logs in from another device which does not have the client share, we get 2nd/3rd parts from server, and asks the user for password to decrypt on client side, regenerate the client side share and persist on that device.
Smart Contract links: Not applicable
Project Milestones:
Sept 1-10:
- Complete core authentication functionality
- Implement wallet creation and management
- Develop basic UI for login and dashboard
Sept 11-20:
- Implement transaction and message signing features
- Create the landing page and improve overall UI/UX
- Develop the useJustAuth React hook
Sept 21-30:
- Implement private key export functionality
- Enhance security measures and perform internal testing
- Create comprehensive documentation for developers
Oct 1-8:
- Conduct thorough testing and bug fixes
- Optimize performance and user experience
- Prepare final submission materials (video demo, presentation deck)
- Deploy the final version of the application
Plans going forward:
- We have a lot in pipeline to be built over JustAuth. We want to enhance the developer documentation and add support for more languages other than JS. We also aim to open source our key generation and splitting logic as well as get them audited to ensure security of our users.
- Apart from this, we also want to build more comprehensive developer suite in JustAuth by adding support for regular web3 wallets like TronLink to ensure that every dapp has the option to select to auth type for them.
- Also we plan to add tron specific functionalities in the SDK to include support for energy top-up, renting by collaborating with existing Dapps in ecosystem to onboard more developers.