<?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=ASMap</id>
	<title>ASMap - 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=ASMap"/>
	<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=ASMap&amp;action=history"/>
	<updated>2026-10-31T08:08:07Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=ASMap&amp;diff=71484&amp;oldid=prev</id>
		<title>NotATether: Add Eclipse resistance, Map construction, and Status sections</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=ASMap&amp;diff=71484&amp;oldid=prev"/>
		<updated>2026-09-13T07:34:46Z</updated>

		<summary type="html">&lt;p&gt;Add Eclipse resistance, Map construction, and Status sections&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 07:34, 13 September 2026&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-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&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;&amp;#039;&amp;#039;&amp;#039;ASMap&amp;#039;&amp;#039;&amp;#039; (autonomous-system map) is a [[Bitcoin Core]] feature that maps IP address prefixes to autonomous system numbers (ASNs) so that peer selection can diversify by routing domain rather than by IP prefix alone. The goal is to make eclipse attacks that rely on many addresses in one network operator&amp;#039;s space harder. ASMap is not a consensus rule.&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;&amp;#039;&amp;#039;&amp;#039;ASMap&amp;#039;&amp;#039;&amp;#039; (autonomous-system map) is a [[Bitcoin Core]] feature that maps IP address prefixes to autonomous system numbers (ASNs) so that peer selection can diversify by routing domain rather than by IP prefix alone. The goal is to make eclipse attacks that rely on many addresses in one network operator&amp;#039;s space harder. ASMap is not a consensus rule.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== Eclipse resistance ==&lt;/ins&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;br&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;br&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;Bitcoin Core&amp;#039;s address manager groups peers into netgroups and avoids filling outbound slots from a single group. The historical grouping is a /16 prefix for IPv4 (and analogous prefix cuts for IPv6). A single autonomous system, especially a large hosting provider or transit network, commonly originates many /16s. The Erebus attack (Tran et al., 2020) showed that an AS on the victim&amp;#039;s path can occupy those groups with addresses it already legitimately announces, without BGP hijacking, and eventually supply all of a victim&amp;#039;s outbound peers. Mapping each address to the originating ASN and using the ASN as the netgroup collapses those prefixes into one bucket, so outbound diversity tracks administrative control of address space more closely than the /16 cut.&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;Bitcoin Core&amp;#039;s address manager groups peers into netgroups and avoids filling outbound slots from a single group. The historical grouping is a /16 prefix for IPv4 (and analogous prefix cuts for IPv6). A single autonomous system, especially a large hosting provider or transit network, commonly originates many /16s. The Erebus attack (Tran et al., 2020) showed that an AS on the victim&amp;#039;s path can occupy those groups with addresses it already legitimately announces, without BGP hijacking, and eventually supply all of a victim&amp;#039;s outbound peers. Mapping each address to the originating ASN and using the ASN as the netgroup collapses those prefixes into one bucket, so outbound diversity tracks administrative control of address space more closely than the /16 cut.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== Map construction ==&lt;/ins&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;br&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;br&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;An ASMap file is a compressed trie from IP prefix to ASN, produced from public routing data (BGP tables and related dumps). The Kartograf tooling used by the asmap-data project parses several sources deterministically so independent operators can rebuild the same file and compare hashes. Encoded maps suitable for Bitcoin Core are published in the bitcoin-core/asmap-data repository after coordinated reconstruction and review. When ASMap is enabled, AddrMan buckets and eviction use the ASN as the group identifier for IPv4 and IPv6 peers; Tor and I2P overlay addresses are not ASN-mapped the same way and keep their own network groups. The map is a snapshot. Routing tables change, so an old map mis-groups some prefixes; operators replace the file for a fresh map, and releases that embed a map update it around release time.&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;An ASMap file is a compressed trie from IP prefix to ASN, produced from public routing data (BGP tables and related dumps). The Kartograf tooling used by the asmap-data project parses several sources deterministically so independent operators can rebuild the same file and compare hashes. Encoded maps suitable for Bitcoin Core are published in the bitcoin-core/asmap-data repository after coordinated reconstruction and review. When ASMap is enabled, AddrMan buckets and eviction use the ASN as the group identifier for IPv4 and IPv6 peers; Tor and I2P overlay addresses are not ASN-mapped the same way and keep their own network groups. The map is a snapshot. Routing tables change, so an old map mis-groups some prefixes; operators replace the file for a fresh map, and releases that embed a map update it around release time.&lt;/div&gt;&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-l9&quot;&gt;Line 9:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 13:&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;Operators who enable ASMap without trusting an embedded map can pass &amp;lt;code&amp;gt;-asmap&amp;lt;/code&amp;gt; with a file whose hash they verified against asmap-data releases. Independent rebuilds that match the published hash increase confidence that the trie reflects the stated BGP inputs. A wrong ASN mapping does not steal funds. It only weakens or skews peer-diversity heuristics until the map is replaced.&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;Operators who enable ASMap without trusting an embedded map can pass &amp;lt;code&amp;gt;-asmap&amp;lt;/code&amp;gt; with a file whose hash they verified against asmap-data releases. Independent rebuilds that match the published hash increase confidence that the trie reflects the stated BGP inputs. A wrong ASN mapping does not steal funds. It only weakens or skews peer-diversity heuristics until the map is replaced.&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;br&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;br&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;AddrMan still combines several defenses. ASN bucketing is one input alongside feeler connections, eviction of underperforming peers, and limits on inbound slots from a single group. ASMap does not stop an attacker who controls many distinct ASNs or who sits on the victim&#039;s actual network path. It mainly raises the cost of packing many look-alike prefixes from one operator into every outbound bucket.&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== Status ==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;AddrMan still combines several defenses. ASN bucketing is one input alongside feeler connections, eviction of underperforming peers, and limits on inbound slots from a single group. ASMap does not stop an attacker who controls many distinct ASNs or who sits on the victim&#039;s actual network path. It mainly raises the cost of packing many look-alike prefixes from one operator into every outbound bucket&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. Stale maps can mis-group new prefixes after routing changes. Operators who ship a custom asmap file should refresh it periodically and record which map hash the node loaded&lt;/ins&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;br&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;br&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;== See also ==&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;== See also ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>NotATether</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=ASMap&amp;diff=71401&amp;oldid=prev</id>
		<title>NotATether: Expand See also links</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=ASMap&amp;diff=71401&amp;oldid=prev"/>
		<updated>2026-09-13T07:23:08Z</updated>

		<summary type="html">&lt;p&gt;Expand See also links&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 07:23, 13 September 2026&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-l15&quot;&gt;Line 15:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 15:&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;* [[Network]]&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;* [[Network]]&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;* [[Erlay]]&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;* [[Erlay]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [[Compact blocks]]&lt;/ins&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;br&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;br&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;== External links ==&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;== External links ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>NotATether</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=ASMap&amp;diff=71400&amp;oldid=prev</id>
		<title>NotATether: Add AddrMan context and residual eclipse risk</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=ASMap&amp;diff=71400&amp;oldid=prev"/>
		<updated>2026-09-13T07:23:06Z</updated>

		<summary type="html">&lt;p&gt;Add AddrMan context and residual eclipse risk&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 07:23, 13 September 2026&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-l8&quot;&gt;Line 8:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 8:&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;br&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;br&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;Operators who enable ASMap without trusting an embedded map can pass &amp;lt;code&amp;gt;-asmap&amp;lt;/code&amp;gt; with a file whose hash they verified against asmap-data releases. Independent rebuilds that match the published hash increase confidence that the trie reflects the stated BGP inputs. A wrong ASN mapping does not steal funds. It only weakens or skews peer-diversity heuristics until the map is replaced.&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;Operators who enable ASMap without trusting an embedded map can pass &amp;lt;code&amp;gt;-asmap&amp;lt;/code&amp;gt; with a file whose hash they verified against asmap-data releases. Independent rebuilds that match the published hash increase confidence that the trie reflects the stated BGP inputs. A wrong ASN mapping does not steal funds. It only weakens or skews peer-diversity heuristics until the map is replaced.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;AddrMan still combines several defenses. ASN bucketing is one input alongside feeler connections, eviction of underperforming peers, and limits on inbound slots from a single group. ASMap does not stop an attacker who controls many distinct ASNs or who sits on the victim&#039;s actual network path. It mainly raises the cost of packing many look-alike prefixes from one operator into every outbound bucket.&lt;/ins&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;br&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;br&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;== See also ==&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;== See also ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>NotATether</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=ASMap&amp;diff=71398&amp;oldid=prev</id>
		<title>NotATether: Add operator verification and failure mode</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=ASMap&amp;diff=71398&amp;oldid=prev"/>
		<updated>2026-09-13T07:23:04Z</updated>

		<summary type="html">&lt;p&gt;Add operator verification and failure mode&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 07:23, 13 September 2026&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;br&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;br&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;Bitcoin Core has accepted an ASMap file via &amp;lt;code&amp;gt;-asmap=&amp;amp;lt;path&amp;amp;gt;&amp;lt;/code&amp;gt; since version 0.20. Bitcoin Core 31.0 was the first release to embed a default map in the binary (the embedded dump was created on 5 March 2026). The feature remains off by default: &amp;lt;code&amp;gt;-asmap&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;-asmap=1&amp;lt;/code&amp;gt; loads the embedded map, and &amp;lt;code&amp;gt;-asmap=filename&amp;lt;/code&amp;gt; loads an external file. Builds can disable embedding with a compile option. ASMap does not encrypt traffic, authenticate peers, or stop an attacker who controls many independent ASNs, and it does not help if the victim has only one network path and that path is the adversary. It is one layer of eclipse mitigation alongside feeler connections, anchor connections, and optional overlay networks. No wallet behaviour depends on ASMap. Related [[Network]] topics include [[Erlay]] for transaction relay; Addr v2 and BIP324 are separate peer-address and transport work.&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;Bitcoin Core has accepted an ASMap file via &amp;lt;code&amp;gt;-asmap=&amp;amp;lt;path&amp;amp;gt;&amp;lt;/code&amp;gt; since version 0.20. Bitcoin Core 31.0 was the first release to embed a default map in the binary (the embedded dump was created on 5 March 2026). The feature remains off by default: &amp;lt;code&amp;gt;-asmap&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;-asmap=1&amp;lt;/code&amp;gt; loads the embedded map, and &amp;lt;code&amp;gt;-asmap=filename&amp;lt;/code&amp;gt; loads an external file. Builds can disable embedding with a compile option. ASMap does not encrypt traffic, authenticate peers, or stop an attacker who controls many independent ASNs, and it does not help if the victim has only one network path and that path is the adversary. It is one layer of eclipse mitigation alongside feeler connections, anchor connections, and optional overlay networks. No wallet behaviour depends on ASMap. Related [[Network]] topics include [[Erlay]] for transaction relay; Addr v2 and BIP324 are separate peer-address and transport work.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Operators who enable ASMap without trusting an embedded map can pass &amp;lt;code&amp;gt;-asmap&amp;lt;/code&amp;gt; with a file whose hash they verified against asmap-data releases. Independent rebuilds that match the published hash increase confidence that the trie reflects the stated BGP inputs. A wrong ASN mapping does not steal funds. It only weakens or skews peer-diversity heuristics until the map is replaced.&lt;/ins&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;br&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;br&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;== See also ==&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;== See also ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>NotATether</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=ASMap&amp;diff=71397&amp;oldid=prev</id>
		<title>NotATether: Fix ASMap snapshot sentence wording</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=ASMap&amp;diff=71397&amp;oldid=prev"/>
		<updated>2026-09-13T07:23:03Z</updated>

		<summary type="html">&lt;p&gt;Fix ASMap snapshot sentence wording&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 07:23, 13 September 2026&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-l3&quot;&gt;Line 3:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 3:&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;Bitcoin Core&amp;#039;s address manager groups peers into netgroups and avoids filling outbound slots from a single group. The historical grouping is a /16 prefix for IPv4 (and analogous prefix cuts for IPv6). A single autonomous system, especially a large hosting provider or transit network, commonly originates many /16s. The Erebus attack (Tran et al., 2020) showed that an AS on the victim&amp;#039;s path can occupy those groups with addresses it already legitimately announces, without BGP hijacking, and eventually supply all of a victim&amp;#039;s outbound peers. Mapping each address to the originating ASN and using the ASN as the netgroup collapses those prefixes into one bucket, so outbound diversity tracks administrative control of address space more closely than the /16 cut.&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;Bitcoin Core&amp;#039;s address manager groups peers into netgroups and avoids filling outbound slots from a single group. The historical grouping is a /16 prefix for IPv4 (and analogous prefix cuts for IPv6). A single autonomous system, especially a large hosting provider or transit network, commonly originates many /16s. The Erebus attack (Tran et al., 2020) showed that an AS on the victim&amp;#039;s path can occupy those groups with addresses it already legitimately announces, without BGP hijacking, and eventually supply all of a victim&amp;#039;s outbound peers. Mapping each address to the originating ASN and using the ASN as the netgroup collapses those prefixes into one bucket, so outbound diversity tracks administrative control of address space more closely than the /16 cut.&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;br&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;br&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;An ASMap file is a compressed trie from IP prefix to ASN, produced from public routing data (BGP tables and related dumps). The Kartograf tooling used by the asmap-data project parses several sources deterministically so independent operators can rebuild the same file and compare hashes. Encoded maps suitable for Bitcoin Core are published in the bitcoin-core/asmap-data repository after coordinated reconstruction and review. When ASMap is enabled, AddrMan buckets and eviction use the ASN as the group identifier for IPv4 and IPv6 peers; Tor and I2P overlay addresses are not ASN-mapped the same way and keep their own network groups. The map is a snapshot &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; routing &lt;/del&gt;tables change, so an old map mis-groups some prefixes; operators replace the file for a fresh map, and releases that embed a map update it around release time.&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;An ASMap file is a compressed trie from IP prefix to ASN, produced from public routing data (BGP tables and related dumps). The Kartograf tooling used by the asmap-data project parses several sources deterministically so independent operators can rebuild the same file and compare hashes. Encoded maps suitable for Bitcoin Core are published in the bitcoin-core/asmap-data repository after coordinated reconstruction and review. When ASMap is enabled, AddrMan buckets and eviction use the ASN as the group identifier for IPv4 and IPv6 peers; Tor and I2P overlay addresses are not ASN-mapped the same way and keep their own network groups. The map is a snapshot&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. Routing &lt;/ins&gt;tables change, so an old map mis-groups some prefixes; operators replace the file for a fresh map, and releases that embed a map update it around release time.&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;br&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;br&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;Bitcoin Core has accepted an ASMap file via &amp;lt;code&amp;gt;-asmap=&amp;amp;lt;path&amp;amp;gt;&amp;lt;/code&amp;gt; since version 0.20. Bitcoin Core 31.0 was the first release to embed a default map in the binary (the embedded dump was created on 5 March 2026). The feature remains off by default: &amp;lt;code&amp;gt;-asmap&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;-asmap=1&amp;lt;/code&amp;gt; loads the embedded map, and &amp;lt;code&amp;gt;-asmap=filename&amp;lt;/code&amp;gt; loads an external file. Builds can disable embedding with a compile option. ASMap does not encrypt traffic, authenticate peers, or stop an attacker who controls many independent ASNs, and it does not help if the victim has only one network path and that path is the adversary. It is one layer of eclipse mitigation alongside feeler connections, anchor connections, and optional overlay networks. No wallet behaviour depends on ASMap. Related [[Network]] topics include [[Erlay]] for transaction relay; Addr v2 and BIP324 are separate peer-address and transport work.&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;Bitcoin Core has accepted an ASMap file via &amp;lt;code&amp;gt;-asmap=&amp;amp;lt;path&amp;amp;gt;&amp;lt;/code&amp;gt; since version 0.20. Bitcoin Core 31.0 was the first release to embed a default map in the binary (the embedded dump was created on 5 March 2026). The feature remains off by default: &amp;lt;code&amp;gt;-asmap&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;-asmap=1&amp;lt;/code&amp;gt; loads the embedded map, and &amp;lt;code&amp;gt;-asmap=filename&amp;lt;/code&amp;gt; loads an external file. Builds can disable embedding with a compile option. ASMap does not encrypt traffic, authenticate peers, or stop an attacker who controls many independent ASNs, and it does not help if the victim has only one network path and that path is the adversary. It is one layer of eclipse mitigation alongside feeler connections, anchor connections, and optional overlay networks. No wallet behaviour depends on ASMap. Related [[Network]] topics include [[Erlay]] for transaction relay; Addr v2 and BIP324 are separate peer-address and transport work.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>NotATether</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=ASMap&amp;diff=71345&amp;oldid=prev</id>
		<title>NotATether: Create ASMap stub: Bitcoin Core ASN-based peer netgroups (eclipse mitigation); -asmap since 0.20, embedded map in 31.0 off by default; not consensus</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=ASMap&amp;diff=71345&amp;oldid=prev"/>
		<updated>2026-09-12T21:18:15Z</updated>

		<summary type="html">&lt;p&gt;Create ASMap stub: Bitcoin Core ASN-based peer netgroups (eclipse mitigation); -asmap since 0.20, embedded map in 31.0 off by default; not consensus&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;ASMap&amp;#039;&amp;#039;&amp;#039; (autonomous-system map) is a [[Bitcoin Core]] feature that maps IP address prefixes to autonomous system numbers (ASNs) so that peer selection can diversify by routing domain rather than by IP prefix alone. The goal is to make eclipse attacks that rely on many addresses in one network operator&amp;#039;s space harder. ASMap is not a consensus rule.&lt;br /&gt;
&lt;br /&gt;
Bitcoin Core&amp;#039;s address manager groups peers into netgroups and avoids filling outbound slots from a single group. The historical grouping is a /16 prefix for IPv4 (and analogous prefix cuts for IPv6). A single autonomous system, especially a large hosting provider or transit network, commonly originates many /16s. The Erebus attack (Tran et al., 2020) showed that an AS on the victim&amp;#039;s path can occupy those groups with addresses it already legitimately announces, without BGP hijacking, and eventually supply all of a victim&amp;#039;s outbound peers. Mapping each address to the originating ASN and using the ASN as the netgroup collapses those prefixes into one bucket, so outbound diversity tracks administrative control of address space more closely than the /16 cut.&lt;br /&gt;
&lt;br /&gt;
An ASMap file is a compressed trie from IP prefix to ASN, produced from public routing data (BGP tables and related dumps). The Kartograf tooling used by the asmap-data project parses several sources deterministically so independent operators can rebuild the same file and compare hashes. Encoded maps suitable for Bitcoin Core are published in the bitcoin-core/asmap-data repository after coordinated reconstruction and review. When ASMap is enabled, AddrMan buckets and eviction use the ASN as the group identifier for IPv4 and IPv6 peers; Tor and I2P overlay addresses are not ASN-mapped the same way and keep their own network groups. The map is a snapshot  routing tables change, so an old map mis-groups some prefixes; operators replace the file for a fresh map, and releases that embed a map update it around release time.&lt;br /&gt;
&lt;br /&gt;
Bitcoin Core has accepted an ASMap file via &amp;lt;code&amp;gt;-asmap=&amp;amp;lt;path&amp;amp;gt;&amp;lt;/code&amp;gt; since version 0.20. Bitcoin Core 31.0 was the first release to embed a default map in the binary (the embedded dump was created on 5 March 2026). The feature remains off by default: &amp;lt;code&amp;gt;-asmap&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;-asmap=1&amp;lt;/code&amp;gt; loads the embedded map, and &amp;lt;code&amp;gt;-asmap=filename&amp;lt;/code&amp;gt; loads an external file. Builds can disable embedding with a compile option. ASMap does not encrypt traffic, authenticate peers, or stop an attacker who controls many independent ASNs, and it does not help if the victim has only one network path and that path is the adversary. It is one layer of eclipse mitigation alongside feeler connections, anchor connections, and optional overlay networks. No wallet behaviour depends on ASMap. Related [[Network]] topics include [[Erlay]] for transaction relay; Addr v2 and BIP324 are separate peer-address and transport work.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Bitcoin Core]]&lt;br /&gt;
* [[Network]]&lt;br /&gt;
* [[Erlay]]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [https://asmap.org/ ASMap project]&lt;br /&gt;
* [https://github.com/bitcoin/bitcoin/blob/master/doc/asmap-data.md Bitcoin Core ASMap data documentation]&lt;br /&gt;
* [https://github.com/bitcoin-core/asmap-data bitcoin-core/asmap-data (encoded maps)]&lt;br /&gt;
* [https://bitcoincore.org/en/releases/31.0/ Bitcoin Core 31.0 release notes (embedded ASMap)]&lt;br /&gt;
* [https://github.com/bitcoin/bips/blob/master/bip-0324.mediawiki BIP 324 (encrypted P2P transport)]&lt;br /&gt;
&lt;br /&gt;
[[Category:Technical]]&lt;/div&gt;</summary>
		<author><name>NotATether</name></author>
	</entry>
</feed>