AstroX ME: Multi-Chain Smart Wallet

Hello Harmony community!

Wallets has been developing rapidly in the blockchain space, with almost each L1 chain having its own benchmark wallet application. Users are getting used to using different blockchain wallets. On top of crypto money transferring, users have also generated diversified demand for swap, investment, community governance and etc. At the moment, the use of smart contract wallets has become a new trend.

AstroX’s ME wallet, a multi-chain smart wallet (https://astrox.me/) powered by advanced cryptography, provides a smooth interactive experience similar to Web2 applications. ME wallet, using biometric technologies including fingerprints and facial recognition instead of existing wallet’s private key management methods, is able to creatively restore wallets on new devices without seed phrases.

For Ethereum, there are Gnosis Safe and Argent.xyz , and for Harmony there’s 1Wallet. Even though the early adaptors have already been used to seed phrase/private key backup and management, most users, especially novice and normal users, the concept of “seed phrase/private key” is still too complicated and can lead to loss of assets if they are not careful when using the wallet. For a very long time, the problem of how to securely and appropriately manage the seed phrase and private keys has been a big problem in the crypto space.

Although there are choices like hardware wallets or cold wallets as a secure key storage method, most of the products are not convenient enough in terms of user experience. Overall, there is still a high barrier to use smart contract wallet products, and most of which do not support multi-chain assets management and transferring.

Problems to be solved

Many wallets are browser-only plug-ins, which are not compatible with today’s mobile life. If a wallet requires users to sit in front of a computer and install a specific browser in order to use it, it would add to much inconvenience. The future of wallets is bound to be for the general public, and the product experience must be close to or even go beyond those of the Web2 products.

In addition, smart wallets should also make use of cryptography to prove transactions credibility on the blockchain network. ME expects to redefine wallet in terms of security and transaction experience.

What is ME wallet

In a nutshell: ME is a smart wallet that supports multiple chains and multiple coins.

Improved user experience with a low barrier to use. ME wallet has done a lot of thinking and optimization in this area to ensure that the design is appealing, the user interface is easy to understand, the operation process is simplified, and the functional logic is secure and rigorous.

Based on our conceptual understanding of identity and wallet, ME wallet is designed to differentiate between the two: users will first register a decentralized identity and then use the wallet connected to it. The implications are twofold:

First, the user only needs to remember his or her identity to manage all the data associated with it, as if registering for a Google account allowed him or her to connect to many applications and services.

Second, users can manage their wallets with one identity (username), allowing assets to transfer freely in wallets. When users log in to a third-party DApp with a username, they can switch between wallets themselves. This is consistent with the payment experience in our daily life. In other words, the main data of all DApps (such as account level, operation records, etc.) are only associated with the identity (username), and users can switch wallets for different payments at any time.

As the bridge connecting users and DApps, ME wallet also innovates in the design of authorization mechanism, proposing three authorization login modes with different privacy levels: “ordinary/pseudonymous/anonymous”, so that users can decide whether third-party DApps can track behavioral data in or across apps.

ME wallet features
AstroX will build ME wallet with the following features:

  • Allowing users to register and log in using an easy-to-remember ID;

  • Allowing for secure binding with multiple devices (including desktop computers and smartphones) without seeding phrase;

  • Allowing for logging in with devices (including desktop computers and smartphones) that has biometric features;

  • Allowing for logging in with Ethereum wallet like Metamask;

  • Mobile client supports iOS and Android devices;

  • Supporting multiple blockchains, including Harmony and all other EVM compatible chains; supporting mainstream coins including BTC, ETH, ONE and ICP, etc;

  • Supporting third-party DApps including Web DApp and MiniDApp; and supporting authorization models with different privacy protection levels;

  • And, supporting social recovery and complex business logic of multi-signature.

Technical Breakdown

  1. ME uses ECDSA Threshold Signature of Dfinity, a L1 public chain to complete the signature. The signature does not require intermediate servers to provide verification and is secured by the consensus mechanism of Dfinity blockchain with reliability and efficiency.
  2. Threshold ECDSA is based on the further development and extension of ECDSA technology and supports BIP 32 derived standard.
  3. ECDSA signature is widely used in blockchain industry. This feature will enable smart wallets to have ECDSA public keys and sign transactions. After smart wallets create Threshold ECDSA, they can hold BTC and ETH and create transactions. Threshold ECDSA allows nodes to share keys. Whenever a wallet issues a signature request, different nodes can collaborate and create Threshold ECDSA signatures.
  4. Threshold ECDSA is dynamically changing and regularly updated to reduce the risk of share secret leakage. Even if 1/3 of the nodes are not working properly, the remaining nodes can still finish the signing.
  5. ME uses account abstraction mechanism with smart contract running in WebAssembly container and permissions verified in the protocol stack. The ownership of user account is in the user-bound device, and each device can be regarded as a hardware wallet. At the same time, users can add and remove devices at any time.
  6. Many smart contract wallets today run in Solidity compiled EVM. Users need to unlock the contract in advance, and when the network is congested, the cost of use increases and efficiency is limited by L1. ME uses ICP high performance protocol, with the block speed of 30block/s, 2s finality, in performance and Harmony equivalent.
  7. Smart contracts are written in a language supported by WebAssembly, allowing for customized logic of high complexity and providing more possibilities for contract upgrades and satisfying user needs.

Future Plan

In our daily life, users simply pull out their phone, open the wallet app, and swipe to pay. If the user loses their phone, they can quickly report the loss, suspend the account, and continue to use the wallet on a different phone. Users can set a series of metrics such as time, expense limit, and geographical rules to protect their assets.

This is the kind of user experience we are aiming for.

ME wallet is designed to be a smart contract wallet for the mass market. We have the full-stack client and provide a daily-life user experience such as iCloud.

We believe that a true personal wallet should have functions, data and assets that can be controlled and managed by users themselves. Users can choose their own pluggable function modules, control the flow of wallet data, and management the circulation of wallet assets, thus achieving true individual sovereignty. All of these require the empowerment of smart contracts.

We believe that in the future, smart contracts and individual sovereignty will be integrated, and personally owned smart contracts and data will be converged under the control of the user, i.e. the user becomes the owner of the smart contract, not the developer or some institution, so as to ensure the maximum decentralization and realize individual sovereignty. To this end, ME aims to provide a number of developments and updates for the future. ME is to:

  • deploy a wallet contract for each registered user that belongs to the user;

  • compile user identity-based access control policies for each running smart contract;

  • create privacy backups and access rights to transaction data, including contacts, for each wallet transaction;

  • provide seamless upgrade and redundant backup capabilities for each smart contract;

  • provide proprietary user interface and configuration capabilities for user-end software including web and mobile apps;

  • provide features for advanced users such as multi-signature, social recovery, social transfers, and more.

About AstroX Team and Harmony

AstroX Network was incubated in the Firestack Labs. In the early days of Harmony, Firestack members Brutoshi (https://twitter.com/brutoshi_) was one of the advisors and Neeboo (https://twitter.com/ghostcorn ) was one of the Harmony community developers who helped build Harmony’s early products including the SDK from scratch. The team has also done Harmony’s staking node.

After that, Brutoshi and Neeboo continued to explore in the Web3 startup space, trying to build products in multi-chain areas. Brutoshi and Neeboo started to explore wallet and decentralized identity technology and founded AstroX Network last year. AstroX was the first team in Asia to receive an official DFINITY grant in 2021 summer. After the beta launch of its product ME, it received a lot of recognition from users and the community for its smooth user experience.

AstroX Network has a long-term relationship with Harmony and a history of building Web3 projects, the team is very eager to use different technology stacks to build new products and help users. Coming back to Harmony is like coming back to a family, and we are excited to share our product with the Harmony community.

2 Likes

this sounds like a great project. may i ask: what’s the current status of development and timeline/roadmap?

also, many wallet projects claim to be multichain and secure. is the proposition here that the combination of cryptographic identity and multi-chain asset management will make this unique against competitors?

may i also ask: so the ECDSA signature will depend on Dfinity. but where will data storage (e.g. for the identity information) be?

sorry for the many questions. this is a very interesting project to me.

As far as I know, the data can be stored on Dfinity. It differs from other blockchains that you can even deploy the website frontend code on the Dfinity too.

if that’s the case, would it mean that the project depends too much on one chain (Dfinity)? i wonder if it may be better to store the info in a more distributed way ← but that’s probably a naive thought. i don’t have a solution to propose here

Thanks @brutoshi for the proposal. I’ve tried the current product. It seems it is a pure ICP wallet. I am wondering how it will have multiple chain support. Will there be a demo of Harmony support? And how it will be differentiate with the 1wallet in terms of smart wallet. Thanks.

Indeed, to store data in a more distributed way is always safer or proper solution for people. It depends on 2 preconditions,

  1. The cost of data storage is acceptable when users or we need to switch to
  2. The verification method can be applied to multiple chains in a common or abstracted way, for example, JWTs or DID standard. For now, the solution is to drive the usage and adoption to reality.

I saw our team member KenC has touched some points. I will explain in more detail as follows, and hopefully it will answer @hakwan and @leo 's questions.

  1. AstroX ME smart wallet is designed as a multichain wallet. Technically, it consists of 3 parts: on-chain smart contract instance + ECDSA threshold signature + muiltichain client.

    • Each user owns and controls their smart contract instance to manage their wallet (wallet addresses will be derived for various blockchains);
    • Currently, we use Dfinity blockchain as the signer. It’s similar to multi-party computation (MPC) custody solutions for crypto assets like Fireblocks or Qredo, but instead of a private network for secret shares of private keys, the threshold signature is secured by the consensus algorithm of Dfinity’s blockchain;
    • The wallet client constructs various blockchain transactions, such as BTC, ETH or ONE transaction. The smart contract signing method is called to sign the transaction. ECDSA signatures can also be verified on-chain or off-chain, after that, the signed transactions are broadcasted via a client-side adaptor to the designated blockchain;
    • AstroX ME Wallet for ICP is live on production. The proof-of-concept of the ETH transaction has been up and running in the local dev environment. We will focus on ONE demo (testnet and mainnet) working in Q2 or early Q3 2022, and then will roll out production in Q3 2022.

  1. Cross-chain asset management is quite different from the multichain wallet. It needs to solve the problem of moving assets cross-chain securely. It will require a cross-chain relay/bridge to lock the assets. Besides the ECDSA threshold signature functionality, asset swapping and locking need to be developed on relay/bridge, which requires significant work to design a secure cross-chain solution. We are currently researching the topic and the timeline is still to be decided.

  2. Regarding data storage, the data users using AstroX ME to store are a series of authenticated devices’ public keys, which size is quite manageable. The data is stored on the Dfinity blockchain, which has over 500 node machines over the world. We can provide a migration solution for users to move their own data to other decentralized storage in the future. At the current stage, our priority is to lower the entrance barrier of smart contract wallets, so the masses can have secure and easy-to-use wallets.

  3. The key difference between 1Wallet and AstroX ME wallet is private key generation. AstroX ME uses threshold signature, generated by the Dfinity public blockchain’s subnet. 1Wallet uses smart contract to compute Merkel root for the client to generate private keys.

    • 1Wallet replies on client-side computation and requires Google Authenticator as a necessary device. Even though Google Authenticator provides additional security as 2FA, it adds complexity for the user and the security trust relies on Google Authenticator.
    • AstroX ME’s ECDSA threshold signature doesn’t rely on client-side computation. Security is provided by the Dfintiy consensus algorithm. More importantly, the majority of blockchains use ECDSA to sign transactions. So building a multichain wallet with ECDSA threshold signature is engineering feasible (with some work required to leverage each blockchain’s SDK). The disadvantages on the other side are limitations of Dfinity’s consensus interaction and speed, and the QoS of network connection.
    • Both wallets will require gas costs to run smart contracts. Since both Harmony and Dfinity are high performance POS chains, gas costs are similarly pretty low and will not be a big issue for the end-users.
1 Like

good and detailed explanation.

Hello @brutoshi (and Neeboo)! Really glad you guys are proposing to build this on Harmony and coming full circle!

Read through the proposal, and I’m curious with just a comment, not a question. I do think we’re too early to have a cross chain dependency at the threshold signature level. if there are any issues with the consensus on Dfinity, then it affects Harmony users too. This could be very fluid 3-5 years from now, like how Facebook could have their own user feed stored in their data centers but dependent on AWS being up for key management services.

Thank you @Jacksteroo for your comment!

We are trying to solve a bigger problem of Web3 user onboarding by providing a keyless and social recovery wallet. MetaMask, the market leader today, has 30M MAU, and 9M DAU, still a very small fraction of the Web2 user base.

We want to bring the Harmony community a new way to manage private keys with better UX and composability, similar to the way how Web3Auth(Torus) and other wallets/key management solutions help the Ethereum ecosystem.

Web3 will be a multichain world. So AstroX ME wallet will not only serve just one single blockchain chain. We want to integrate the best parts of different blockchains and empower users in various ecosystems.

Regarding your concern on the cross-chain dependency, we leverage Dfinity to provide threshold ECDSA signature for our wallet and Dfinity has sufficient consensus security. We actually think it more from a composability perspective rather than the dependency issue in Facebook/Amazon example, as long as the underneath protocol is open, secure, and transparent. Basically, it’s like using Chainlink, other blockchain infrastructure.

EVM integration is one of our top priorities this year. So our Harmony proposal is to bring unique value to Harmony community and AstroX users by leveraging Harmony high performance capacity.

2 Likes

Has ICP’s ECDSA solution been battle tested yet?

thanks for the proposal. i have few questions.

  • is the dfinity subnet dedicated for astrox wallet or general purpose subnet? what is the configuration of the subnet (in terms of # validators that participate in the TSS)
  • if the subnet is dedicate, what are the incentives for the signers to continue to facilitate signature generation for wallet users?
  • in the event of losing majority (<2/3 signers), funds are at risk or just the liveness? any fallback mechanism?
  • if the same set of signers (single subnet) is used, i wonder if it is prone to economic attacks, when the funds held in the wallets far exceeds the accumulated stake of the signers (sorry, i haven’t been up to date with dfinity POS). are there any limits imposed on the collective TVL (across wallets) that are accessible to 2/3 signers?
  • in terms of signing time, i assume < 2s (considering finality time of dfinity subnet)?
  • any additional cost for wallet txns to be paid to dfinity signers beyond 1 txn cost (for posting signature to the client chain)?