Skip to content

projectmeka/meka-identity

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

meka-identity

meka identity is a solution for cross-chain identity based on bip-44. It's to create binding relationship between user's bip44 addresses.

for example, the default polkadot's derive path is m/44'/359'/0'/0/0 and the default bitcoin derive path is m/44'/0'/0'/0/0.

the user can derive many polkadot's addresses and bitcoin's addresses from the same seed. so there is no need to prove if they belongs to the same owner.

  • if the seed is A
  • the xpub key of bitcoin which is derived from the seed accroding to the path m/44'/0' is B
  • the xpub key of polkadot which is derived from the seed accroding to the path m/44'/359' is C
  • on substrate-based blockchain, send a meesage from C address and includes a signed data from B to set up the binding relationship.
  • bind relationship setup

notice, it uses xpub (after hardended) rather than private keys, it means it can means it can bind many bitcoin address at the same time. it's just like hd wallet.

further usages

the binding relationship can be used in many ways

  • build bridges
  • calc cross-chain reputation
  • trace cross-chain portfolio
  • etc...

for the bridge, different from chainx, the meka identity based bridge does not need you to add extre data on btc chain.

api

  • bind(accountId, chain, xpub, startDate)
  • unbind(accountId, chain, xpub, endDate)
  • setAdmin(accountId)
  • adminBind(accountId, chain, xpub)
  • adminUnbind(accountId, chain, xpub)

storage

  • binded(accountId, chain, xpub)[]
  • adminAccountId

pending problems

  • is it secure enough to expose the xpub key
  • how to strikly prove it's derived from the same seed and if it's necessary
  • handle gap easily

Releases

No releases published

Packages

No packages published

Languages