<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://en.bitcoin.it/w/index.php?action=history&amp;feed=atom&amp;title=BIP_0086</id>
	<title>BIP 0086 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://en.bitcoin.it/w/index.php?action=history&amp;feed=atom&amp;title=BIP_0086"/>
	<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=BIP_0086&amp;action=history"/>
	<updated>2026-05-02T21:52:20Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=BIP_0086&amp;diff=69964&amp;oldid=prev</id>
		<title>934: Update BIP text with latest version from https://github.com/bitcoin/bips/blob/9692c70eadc193d8/bip-0086.mediawiki</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=BIP_0086&amp;diff=69964&amp;oldid=prev"/>
		<updated>2023-12-14T05:27:12Z</updated>

		<summary type="html">&lt;p&gt;Update BIP text with latest version from https://github.com/bitcoin/bips/blob/9692c70eadc193d8/bip-0086.mediawiki&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 05:27, 14 December 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l6&quot;&gt;Line 6:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 6:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   Layer: Applications&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   Layer: Applications&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   Title: Key Derivation for Single Key P2TR Outputs&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   Title: Key Derivation for Single Key P2TR Outputs&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   Author: &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Andrew &lt;/del&gt;Chow &amp;lt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;andrew&lt;/del&gt;@achow101.com&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   Author: &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Ava &lt;/ins&gt;Chow &amp;lt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;me&lt;/ins&gt;@achow101.com&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   Comments-Summary: No comments yet.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   Comments-Summary: No comments yet.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0086&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0086&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key db_bitcoin_en:diff:1.41:old-69075:rev-69964:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>934</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=BIP_0086&amp;diff=69075&amp;oldid=prev</id>
		<title>934: Update BIP text with latest version from https://github.com/bitcoin/bips/blob/edffe529056f6dfd/bip-0086.mediawiki</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=BIP_0086&amp;diff=69075&amp;oldid=prev"/>
		<updated>2021-12-15T15:47:17Z</updated>

		<summary type="html">&lt;p&gt;Update BIP text with latest version from https://github.com/bitcoin/bips/blob/edffe529056f6dfd/bip-0086.mediawiki&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{bip}}&lt;br /&gt;
{{BipMoved|bip-0086.mediawiki}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  BIP: 86&lt;br /&gt;
  Layer: Applications&lt;br /&gt;
  Title: Key Derivation for Single Key P2TR Outputs&lt;br /&gt;
  Author: Andrew Chow &amp;lt;andrew@achow101.com&amp;gt;&lt;br /&gt;
  Comments-Summary: No comments yet.&lt;br /&gt;
  Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0086&lt;br /&gt;
  Status: Draft&lt;br /&gt;
  Type: Standards Track&lt;br /&gt;
  Created: 2021-06-22&lt;br /&gt;
  License: BSD-2-Clause&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Abstract==&lt;br /&gt;
&lt;br /&gt;
This document suggests a derivation scheme for HD wallets whose keys are involved in single key&lt;br /&gt;
P2TR ([[bip-0341.mediawiki|BIP 341]]) outputs as the Taproot internal key.&lt;br /&gt;
&lt;br /&gt;
===Copyright===&lt;br /&gt;
&lt;br /&gt;
This BIP is licensed under the 2-clause BSD license.&lt;br /&gt;
&lt;br /&gt;
==Motivation==&lt;br /&gt;
&lt;br /&gt;
With the usage of single key P2TR transactions, it is useful to have a common derivation scheme so&lt;br /&gt;
that HD wallets that only have a backup of the HD seed can be likely to recover single key Taproot&lt;br /&gt;
outputs. Although there are now solutions which obviate the need for fixed derivation paths for&lt;br /&gt;
specific script types, many software wallets and hardware signers still use seed backups which&lt;br /&gt;
lack derivation path and script information. Thus we largely use the same approach used in BIPs&lt;br /&gt;
[[bip-0049.mediawiki|49]] and [[bip-0084.mediawiki|84]] for ease of implementation.&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
&lt;br /&gt;
This BIP defines the two needed steps to derive multiple deterministic addresses based on a&lt;br /&gt;
[[bip-0032.mediawiki|BIP 32]] master private key.&lt;br /&gt;
&lt;br /&gt;
===Public key derivation===&lt;br /&gt;
&lt;br /&gt;
To derive a public key from the root account, this BIP uses the same account-structure as&lt;br /&gt;
defined in BIPs [[bip-0044.mediawiki|44]], [[bip-0049.mediawiki|49]], and [[bip-0084.mediawiki|84]],&lt;br /&gt;
but with a different purpose value for the script type.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
m / purpose&amp;#039; / coin_type&amp;#039; / account&amp;#039; / change / address_index&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For the &amp;lt;tt&amp;gt;purpose&amp;lt;/tt&amp;gt;-path level it uses &amp;lt;tt&amp;gt;86&amp;#039;&amp;lt;/tt&amp;gt;.&lt;br /&gt;
The rest of the levels are used as defined in BIPs 44, 49, and 84.&lt;br /&gt;
&lt;br /&gt;
A key derived with this derivation path pattern will be referred to as &amp;lt;tt&amp;gt;derived_key&amp;lt;/tt&amp;gt; further&lt;br /&gt;
in this document.&lt;br /&gt;
&lt;br /&gt;
===Address derivation===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[bip-0341.mediawiki#cite_ref-22-0|BIP 341]] states: &amp;quot;If the spending conditions do not require a&lt;br /&gt;
script path, the output key should commit to an unspendable script path instead of having no&lt;br /&gt;
script path. This can be achieved by computing the output key point as&lt;br /&gt;
&amp;#039;&amp;#039;Q = P + int(hash&amp;lt;sub&amp;gt;TapTweak&amp;lt;/sub&amp;gt;(bytes(P)))G&amp;#039;&amp;#039;.&amp;quot; Thus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
internal_key:       lift_x(derived_key)&lt;br /&gt;
32_byte_output_key: internal_key + int(HashTapTweak(bytes(internal_key)))G&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In a transaction, the scripts and witnesses are as defined in&lt;br /&gt;
[[bip-0341.mediawiki#specification|BIP 341]]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
witness:      &amp;lt;signature&amp;gt;&lt;br /&gt;
scriptSig:    (empty)&lt;br /&gt;
scriptPubKey: 1 &amp;lt;32_byte_output_key&amp;gt;&lt;br /&gt;
              (0x5120{32_byte_output_key})&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Backwards Compatibility==&lt;br /&gt;
&lt;br /&gt;
This BIP is not backwards compatible by design.&lt;br /&gt;
An incompatible wallet will not discover these accounts at all and the user will notice that&lt;br /&gt;
something is wrong.&lt;br /&gt;
&lt;br /&gt;
However this BIP uses the same method used in BIPs 44, 49, and 84, so it should not be difficult&lt;br /&gt;
to implement.&lt;br /&gt;
&lt;br /&gt;
==Test vectors==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mnemonic = abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about&lt;br /&gt;
rootpriv = xprv9s21ZrQH143K3GJpoapnV8SFfukcVBSfeCficPSGfubmSFDxo1kuHnLisriDvSnRRuL2Qrg5ggqHKNVpxR86QEC8w35uxmGoggxtQTPvfUu&lt;br /&gt;
rootpub  = xpub661MyMwAqRbcFkPHucMnrGNzDwb6teAX1RbKQmqtEF8kK3Z7LZ59qafCjB9eCRLiTVG3uxBxgKvRgbubRhqSKXnGGb1aoaqLrpMBDrVxga8&lt;br /&gt;
&lt;br /&gt;
// Account 0, root = m/86&amp;#039;/0&amp;#039;/0&amp;#039;&lt;br /&gt;
xprv = xprv9xgqHN7yz9MwCkxsBPN5qetuNdQSUttZNKw1dcYTV4mkaAFiBVGQziHs3NRSWMkCzvgjEe3n9xV8oYywvM8at9yRqyaZVz6TYYhX98VjsUk&lt;br /&gt;
xpub = xpub6BgBgsespWvERF3LHQu6CnqdvfEvtMcQjYrcRzx53QJjSxarj2afYWcLteoGVky7D3UKDP9QyrLprQ3VCECoY49yfdDEHGCtMMj92pReUsQ&lt;br /&gt;
&lt;br /&gt;
// Account 0, first receiving address = m/86&amp;#039;/0&amp;#039;/0&amp;#039;/0/0&lt;br /&gt;
xprv         = xprvA449goEeU9okwCzzZaxiy475EQGQzBkc65su82nXEvcwzfSskb2hAt2WymrjyRL6kpbVTGL3cKtp9herYXSjjQ1j4stsXXiRF7kXkCacK3T&lt;br /&gt;
xpub         = xpub6H3W6JmYJXN49h5TfcVjLC3onS6uPeUTTJoVvRC8oG9vsTn2J8LwigLzq5tHbrwAzH9DGo6ThGUdWsqce8dGfwHVBxSbixjDADGGdzF7t2B&lt;br /&gt;
internal_key = cc8a4bc64d897bddc5fbc2f670f7a8ba0b386779106cf1223c6fc5d7cd6fc115&lt;br /&gt;
output_key   = a60869f0dbcf1dc659c9cecbaf8050135ea9e8cdc487053f1dc6880949dc684c&lt;br /&gt;
scriptPubKey = 5120a60869f0dbcf1dc659c9cecbaf8050135ea9e8cdc487053f1dc6880949dc684c&lt;br /&gt;
address      = bc1p5cyxnuxmeuwuvkwfem96lqzszd02n6xdcjrs20cac6yqjjwudpxqkedrcr&lt;br /&gt;
&lt;br /&gt;
// Account 0, second receiving address = m/86&amp;#039;/0&amp;#039;/0&amp;#039;/0/1&lt;br /&gt;
xprv         = xprvA449goEeU9okyiF1LmKiDaTgeXvmh87DVyRd35VPbsSop8n8uALpbtrUhUXByPFKK7C2yuqrB1FrhiDkEMC4RGmA5KTwsE1aB5jRu9zHsuQ&lt;br /&gt;
xpub         = xpub6H3W6JmYJXN4CCKUSnriaiQRCZmG6aq4sCMDqTu1ACyngw7HShf59hAxYjXgKDuuHThVEUzdHrc3aXCr9kfvQvZPit5dnD3K9xVRBzjK3rX&lt;br /&gt;
internal_key = 83dfe85a3151d2517290da461fe2815591ef69f2b18a2ce63f01697a8b313145&lt;br /&gt;
output_key   = a82f29944d65b86ae6b5e5cc75e294ead6c59391a1edc5e016e3498c67fc7bbb&lt;br /&gt;
scriptPubKey = 5120a82f29944d65b86ae6b5e5cc75e294ead6c59391a1edc5e016e3498c67fc7bbb&lt;br /&gt;
address      = bc1p4qhjn9zdvkux4e44uhx8tc55attvtyu358kutcqkudyccelu0was9fqzwh&lt;br /&gt;
&lt;br /&gt;
// Account 0, first change address = m/86&amp;#039;/0&amp;#039;/0&amp;#039;/1/0&lt;br /&gt;
xprv         = xprvA3Ln3Gt3aphvUgzgEDT8vE2cYqb4PjFfpmbiFKphxLg1FjXQpkAk5M1ZKDY15bmCAHA35jTiawbFuwGtbDZogKF1WfjwxML4gK7WfYW5JRP&lt;br /&gt;
xpub         = xpub6GL8SnQwRCGDhB59LEz9HMyM6sRYoByXBzXK3iEKWgCz8XrZNHUzd9L3AUBELW5NzA7dEFvMas1F84TuPH3xqdUA5tumaGWFgihJzWytXe3&lt;br /&gt;
internal_key = 399f1b2f4393f29a18c937859c5dd8a77350103157eb880f02e8c08214277cef&lt;br /&gt;
output_key   = 882d74e5d0572d5a816cef0041a96b6c1de832f6f9676d9605c44d5e9a97d3dc&lt;br /&gt;
scriptPubKey = 5120882d74e5d0572d5a816cef0041a96b6c1de832f6f9676d9605c44d5e9a97d3dc&lt;br /&gt;
address      = bc1p3qkhfews2uk44qtvauqyr2ttdsw7svhkl9nkm9s9c3x4ax5h60wqwruhk7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Reference==&lt;br /&gt;
&lt;br /&gt;
* [[bip-0032.mediawiki|BIP32 - Hierarchical Deterministic Wallets]]&lt;br /&gt;
* [[bip-0043.mediawiki|BIP43 - Purpose Field for Deterministic Wallets]]&lt;br /&gt;
* [[bip-0044.mediawiki|BIP44 - Multi-Account Hierarchy for Deterministic Wallets]]&lt;br /&gt;
* [[bip-0049.mediawiki|BIP49 - Derivation scheme for P2WPKH-nested-in-P2SH based accounts]]&lt;br /&gt;
* [[bip-0084.mediawiki|BIP84 - Derivation scheme for P2WPKH based accounts]]&lt;br /&gt;
* [[bip-0341.mediawiki|BIP341 - Taproot: SegWit version 1 spending rules]]&lt;/div&gt;</summary>
		<author><name>934</name></author>
	</entry>
</feed>