Skip to content

Instantly share code, notes, and snippets.


Network partition resistance

For the Bitcoin network to remain in consensus, the network of nodes must not be partitioned. So for an individual node to remain in consensus with the network, it must have at least one connection to that network of peers that share its consensus rules. This document describes how we attempt to achieve this.

We can't rely on inbound peers to be honest, because they are initiated by others. It's impossible for us to know, for example, whether all our inbound peers are controlled by the same adversary.

#!/usr/bin/env python3#!/usr/bin/env python3
# Distributed under the MIT/X11 software license, see the accompanying
# file COPYING or
from test_framework.test_framework import ComparisonTestFramework
from test_framework.util import *
from test_framework.comptool import TestManager, TestInstance
from test_framework.mininode import *
sdaftuar / gist:465bf008f0a4768c0def
Last active September 24, 2015 17:59
Sendheaders message
View gist:465bf008f0a4768c0def

  BIP: <unassigned>
  Title: sendheaders message
  Author: Suhas Daftuar <>
  Status: Draft
  Type: Standards Track
  Created: 2015-05-08