Author

Topic: Introducing the NxtVault - Secure account management for Android devices! Beta (Read 376 times)

legendary
Activity: 817
Merit: 1000
That's great, Nxt has needed a lightweight wallet for a while now. The blockchain's too big for devices like phones. Will there be a windows version for devices like tablets soon?

Btw, a NXT litewallet does already exist. It acts exactly like the real nxt wallet, except there is no blockchain to download. It is built on similiar technology, the Jay Framework.

https://forum.thesupernet.org/index.php?board=38.0

Jones has also posted a version of the nxt client that lets you log in without requiring a passphrase. All you need is an Nxt account number. When you try to make a transaction using this wallet, instead of sending to the network it will pop up a QR code that you can scan using NxtVault, which will sign and broadcast the tx on behalf of the application:

http://jnxt.org/nxt
legendary
Activity: 817
Merit: 1000
That's great, Nxt has needed a lightweight wallet for a while now. The blockchain's too big for devices like phones. Will there be a windows version for devices like tablets soon?

NxtVault is not a wallet. It is meant for a wallet to be built on top of. It's sole purpose is to handle security of your passphrases and provide an api for signing of transactions so that third party developers no longer need to worry about this problem nor do users need to worry about exposing their passphrases to third party apps. The test wallet application I have included is a simple wallet that is meant to be an example of how to build a wallet on top of nxtvault's api. The test wallet is not production worthy or very polished at all, It is just meant to be an example that I only hope it will inspire other developers to build apps on top of NxtVault. An AE trading application for android would be a very exciting project.

And yes, Jones' does have a windows version known as the Jay Client.
sr. member
Activity: 326
Merit: 250
That's great, Nxt has needed a lightweight wallet for a while now. The blockchain's too big for devices like phones. Will there be a windows version for devices like tablets soon?
legendary
Activity: 817
Merit: 1000
I have had the idea for NxtVault for quite a while and am excited to announce that is is now in working state, has passed it's first rounds of beta testing and is now looking for a wider audience to test!

What is NxtVault?

NxtVault is an Open Source secure passphrase manager and transaction signer for the NXT platform.

The purpose of NxtVault is to safely and securely protect your Nxt passphrases from viruses, hackers, keyloggers while still allowing easy access to your accounts and creation of transactions. I have chosen to build this as an Android app because the security of an Android app is much stronger then that of a PC due to Android's unique sandboxing mechanisms. Other application installed on your device cannot access the contents of NxtVault's memory and NxtVault can sign transactions on behalf of other applications without ever exposing your passphrase.

NxtVault was built on top of Jones' new "Jay Framework", a javascript library created to interface with the the nxt network using dynamically discovered public nodes, allowing for the creation of our first suite of Nxt thin clients that don't rely on a single developers centralized server!

Screenshots:



NxtVault Features

-Keep your passphrases safe, locked inside Android's secure sandboxed storage. No apps on your device can access this storage, including any malicious apps. Passphrases are also encrypted with  a PIN number as an extra security measure.

-Create transactions without ever having to see, copy paste, or enter your passphrases ever again!

-Exposes an API for third party apps on your device to gain read access to your accounts(upon approval), as well as sign and broadcast your tx on their behalf.

-Displays a full report of the details of a transaction, giving you a final chance to confirm the tx is correct before signing and broadcasting it.

-Scan Jay Tx codes or unsigned bytes with your camera to have it signed and broadcast to the network.

-Acts as a "light" node - dynamically discovers available public nodes and uses them to query data and broadcast transactions.

-Allows you to specify your own custom broadcast server if you wish to only use your own node for privacy reasons.

The first "app" for NxtVault and jay clients has already been created by Jones and longzai, located here: https://nxtforum.org/index.php?topic=9030.msg177286#msg177286. This application can not only be used to sign into any Nxt account with only your RS address, but upon creating a transaction will display a code that can be scanned by NxtVault and signed/broadcast.

There are many things I would like to see come from this application:
- People have been afraid of developer android apps for Nxt for some time now. I believe there are two problems that needed solving.
    1. Thin android clients forced users to rely on developers centralized servers.
    2. Getting your passphrase safely onto your device was a challenge. Even if you solved it fairly well, nobody was going to trust their passphrase to your app, or going through the work of having to type it in for every app they wanted to use. This led to very low use of any apps that weren't NRS.

People generally also don't even want to trust any kind of web wallet with their passphrase. I love secureae.com but I feel very uncomfortable entering my passphrase into the site. This means I need a special account with only a few of my assets... which makes it pretty useless for my daily trading. Imagine if secure ae was to show a tx code that you could scan with nxtvault instead. I think that this will open up the door with for all kinds of third party apps, now that they can build their app in such a way that it does not need to be trusted with your keys.

NxtVault is fully open source and I would request help from the community in auditing it to make sure this core application is safe for use by the masses so that everyone can stop wasting their time worrying about passwords and writing cool apps instead!

NxtVault is not a wallet! It's sole purposes is for managing your passphrases and standing between them and third party applications. It's focus is purely on security. This means I will be implementing Account Control and Phasing when it is ready, and anything else security related. I expect some nice wallets or AE traders could be built on top of this.

Testing

I am currently looking for testers and have been posting APK build in #nxtvault on SuperNet slack. Please message me if you can help.

Instructions for testing are located here:
https://docs.google.com/document/d/1-OIq44Fhzz7aUm2LEsAvqn_LUzobRQG6ZZmZadRYTSI/edit?usp=sharing

Here are the current APK's:

This is the NxtVault APK:

https://www.dropbox.com/s/vysarznxrq863zo/nxtvault-debug.apk?dl=0

This is an example wallet application that shows developers how to integrate their app with nxtvault. This is not production ready but shows an example of adding an account from your vault, displaying it's balance and assets as well as allowing the transfer of nxt and assets:

https://www.dropbox.com/s/ky59rnnw1541t4m/testwallet-debug.apk?dl=0

Please note: always back up any passphrases in a secure location. I cannot recover your passphrase and cannot be held responsible if your passphrase is otherwise lost.
Jump to: