summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.DS_Storebin0 -> 18436 bytes
-rw-r--r--bip-0048.mediawiki90
2 files changed, 55 insertions, 35 deletions
diff --git a/.DS_Store b/.DS_Store
new file mode 100644
index 0000000..6f80a1e
--- /dev/null
+++ b/.DS_Store
Binary files differ
diff --git a/bip-0048.mediawiki b/bip-0048.mediawiki
index 7c39823..386b410 100644
--- a/bip-0048.mediawiki
+++ b/bip-0048.mediawiki
@@ -3,7 +3,7 @@
Layer: Applications
Title: Multi-Account/Multi-Script Hierarchy for Deterministic Multi Signature Wallets
Author: Peter Denton <dentondevelopment@protonmail.com>
- Comments-Summary: Mixed review (one person)
+ Comments-Summary: No comments
Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0048
Status: Proposed
Type: Standards Track
@@ -27,7 +27,7 @@ millions of addresses per chain.
==Key sorting==
Any wallet that supports BIP48 inherently supports deterministic key sorting as per BIP67 so that all possible
-multi-signature addresses/scripts are derived from deterministically ordered public keys.
+multi-signature addresses/scripts are derived from deterministically sorted public keys.
==Path levels==
@@ -37,7 +37,7 @@ We define the following 6 levels in BIP32 path:
m / purpose' / coin_type' / account' / script_type' / change / address_index
</pre>
-`h` in the path indicates that BIP32 hardened derivation is used.
+<code>h</code> or <code>'</code> in the path indicates that BIP32 hardened derivation is used.
Each level has a special meaning, described in the chapters below.
@@ -55,7 +55,7 @@ Sharing the same space for various networks has some disadvantages.
Avoiding reusing addresses across networks and improving privacy issues.
-Coin type `0` for mainnet and `1` for testnet.
+Coin type <code>0</code> for mainnet and <code>1</code> for testnet.
Hardened derivation is used at this level.
@@ -82,16 +82,18 @@ an external source. Such an algorithm is described in "Account discovery" chapte
===Script===
-This level splits the key space into three separate `script_type`(s). To provide
+This level splits the key space into three separate <code>script_type</code>(s). To provide
optimum backward compatibility.
-The recommended default is pay to witness script hash `m/48'/0'/0'/2'`.
+The recommended default is pay to witness script hash <code>m/48'/0'/0'/2'</code>.
The following represent mainnet, account 0.
-`1'`: Nested Segwit (p2sh-p2wsh) `m/48'/0'/0'/1'`</br>
-`2'`: Native Segwit (p2wsh) `m/48'/0'/0'/2'`</br>
-`3'`: Legacy (p2sh) `m/48'/0'/0'/3'`</br>
+<code>1'</code>: Nested Segwit (p2sh-p2wsh) <code>m/48'/0'/0'/1'</code></br>
+<code>2'</code>: Native Segwit (p2wsh) <code>m/48'/0'/0'/2'</code></br>
+<code>3'</code>: Legacy (p2sh) <code>m/48'/0'/0'/3'</code></br>
+
+Easily expanded to account for new script types.
===Change===
@@ -142,109 +144,127 @@ an external chain by generating a new address.
==Examples==
{|
-!coin
-!account
-!script
-!chain
-!address
-!path
+|network
+|account
+|script
+|chain
+|address
+|path
|-
-|Bitcoin
+|mainnet
|first
+|p2wsh
|external
|first
|m / 48' / 0' / 0' / 2' / 0 / 0
|-
-|Bitcoin
+|mainnet
|first
+|p2wsh
|external
|second
|m / 48' / 0' / 0' / 2' / 0 / 1
|-
-|Bitcoin
+|mainnet
|first
+|p2wsh
|change
|first
|m / 48' / 0' / 0' / 2' / 1 / 0
|-
-|Bitcoin
+|mainnet
|first
+|p2wsh
|change
|second
|m / 48' / 0' / 0' / 2' / 1 / 1
|-
-|Bitcoin
+|mainnet
|second
+|p2wsh
|external
|first
|m / 48' / 0' / 1' / 2' / 0 / 0
|-
-|Bitcoin
+|mainnet
|second
+|p2wsh
|external
|second
|m / 48' / 0' / 1' / 2' / 0 / 1
|-
-|Bitcoin
+|mainnet
|second
+|p2sh
|change
|first
-|m / 48' / 0' / 1' / 2' / 1 / 0
+|m / 48' / 0' / 1' / 3' / 1 / 0
|-
-|Bitcoin
+|mainnet
|second
+|p2sh
|change
|second
-|m / 48' / 1' / 1' / 2' / 1 / 1
+|m / 48' / 1' / 1' / 3' / 1 / 1
|-
-|Bitcoin Testnet
+|testnet
|first
+|p2sh-p2wsh
|external
|first
-|m / 48' / 1' / 0' / 2' / 0 / 0
+|m / 48' / 1' / 0' / 1' / 0 / 0
|-
-|Bitcoin Testnet
+|testnet
|first
+|p2wsh
|external
|second
|m / 48' / 1' / 0' / 2' / 0 / 1
|-
-|Bitcoin Testnet
+|testnet
|first
+|p2wsh
|change
|first
|m / 48' / 1' / 0' / 2' / 1 / 0
|-
-|Bitcoin Testnet
+|testnet
|first
+|p2wsh
|change
|second
|m / 48' / 1' / 0' / 2' / 1 / 1
|-
-|Bitcoin Testnet
+|testnet
|second
+|p2wsh
|external
|first
|m / 48' / 1' / 1' / 2' / 0 / 0
|-
-|Bitcoin Testnet
+|testnet
|second
+|p2wsh
|external
|second
|m / 48' / 1' / 1' / 2' / 0 / 1
|-
-|Bitcoin Testnet
+|testnet
|second
+|p2wsh
|change
|first
|m / 48' / 1' / 1' / 2' / 1 / 0
|-
-|Bitcoin Testnet
+|testnet
|second
+|p2wsh
|change
|second
|m / 48 h / 1' / 1' / 2' / 1 / 1
-|}
+|-
+}|
+
==Reference==