MixinNetwork / MixinNetwork/mips

On-chain domain + transferable key item

Open
#29 1 comment 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
No language data
Stars
2
Forks
0
PR merge metrics
No merged PRs in 30d

Description

Mixin manages many assets of other blockchains, some of which feature smart contracts. If a user stores tokens in Mixin but wants to call a smart contract on another blockchain, He/she must withdraw the tokens first, from Mixin to his/her own wallet, and then handles private key things and signing things by him/herself.

What if we have a specialized domain that helps users manage their private keys of other blockchains. They will be able to deal with many smart contract stuff using their familiar tool, the Mixin Messenger, by telling the domain what to do.

Unlike the current domain, this new one does not broadcast asset addition and subtraction to Kernels, but instead, report that a new key is generated for a user. The Kernels may then treat the item as an undividable, non-fungible token (if Kernel can get NFT working on it #26).

Since this domain help users finish on-chain tasks, I prefer to call it an “On-chain domain.”

The next question is how to integrate the managed keys with Mixin Messenger. Just like Kernel, Messenger may regard them as undividable, non-fungible tokens stored in the wallet, which, by the way, give the key items another attribute, transferability.

Suppose a user wants to use a managed key, say, to call Uniswap contract. In that case, he/she may open a bot, prove his/her ownership of the key item using a related token in his/her wallet, and then ask the domain to sign and dispatch an Ethereum transaction.

As for how to ensure that the domain manages private keys safely and trustworthily, it’s beyond my horizon. Maybe we can rely on D3M-PIN?

This idea was originated in thinking how to use Uniswap inside Mixin Messenger, and later got influenced by tor.us.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No repository files or tests are named. Start by reviewing the Mixin Messenger, Kernel, and proposed on-chain domain interactions, including the Uniswap example and D3M-PIN reference. A concrete design for key generation, ownership, transferability, signing, dispatch, and safe key management would be needed before implementation can be considered done.

Written by the indexing model from the issue text.

Assessment

Tech stack
blockchain
Domain
blockchain, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.