Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AIP 20, Arkchain network registration for bip44 derivation path #29

Closed
fix opened this issue Sep 26, 2018 · 3 comments
Closed

AIP 20, Arkchain network registration for bip44 derivation path #29

fix opened this issue Sep 26, 2018 · 3 comments

Comments

@fix
Copy link
Contributor

fix commented Sep 26, 2018

  AIP: 20
  Title: Arkchain network registration for bip44 derivation path
  Authors: Fx THOORENS 
  Status: Draft
  Type: Standards Track
  Created: 2018-09-26
  Last Update: 2018-09-26

Abstract

In order to manage correctly HD wallets (either as soft version or using hardware wallets such as ledger nano s) and prevents from cross sidechain attacks/privacy risks, a slightly modified version of bip44 is proposed.

Motivation

Using HD wallet, combined with hardware wallet is seen as a the technique to improve security of wallets on blockchains.

As far as ark is concerned, applying bip44 is not adapted to sidechain for several reasons:

  • bip44 is only taking care of coin definition. If sidechains are used with the same coin id, the security issue due to public keys leak across side chain is not solved
  • If all sidechains register their own coin id on slip44 (for info ark registered as coin id = 111), it would pollute unnecessarily the standard and will be unusable for hardware wallet. For security reason ledger applies restriction to the derivation path at compile time of the ark app. Which mean they would need to publish a new version of the ark app anytime a new arkchain is launched
  • unnecessary use of change since there is no UTXO for ark

Rationale

In order to leverage existing infratructure developed by ark in a frictionless way, a new id is included in the standard bip44 derivation path called network

Specifications

We define the following 5 levels in BIP32 path:

m / purpose' / coin_type' / network' /account' / address_index

since ark is registered with coin_type = 111 any arkchain will have the following structure:

m / 44' / 111' / network' /account' / address_index

Here are the registered network so far:
mainnet: 0
devnet: 1

Any other network should register by requesting an update of this specification to the authors.

@vulet
Copy link
Contributor

vulet commented Oct 19, 2018

bip-44: m / purpose' / coin_type' / account' / change / address_index
aip-20: m / 44' / 111' / network' /account' / address_index
For AIP-20 account looks to be replaced by network, but then account is added again. I believe that the cross-chain attack vector should be eliminated by the already existing network depth, as a leaked private key from BIP-34 accounts doesn't compromise other accounts, only the compromised account and below. Am I incorrect in my assessment? I have created a repository that uses CKD, so I'm trying to clear this up as it has a default set to: m/44'/111'/1'/0/0.

@fix
Copy link
Contributor Author

fix commented Jan 3, 2019

hi @vulet sorry i missed your comment

essentially the idea behind is to be able to leverage one single app for HD hardware wallets like ledger, so people forking ark don't need to make sure to add a new ledger app in the ledger store (a bit like ERC20 tokens)

@github-actions
Copy link

github-actions bot commented Sep 6, 2021

Stale issue message

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants