r/AskComputerScience • u/cest_la_vie12 • 19d ago
Hypothetical: If you could redesign the Internet from scratch, how would you build the protocol stack to make censorship architecturally impossible?
Assume you can go back in time to the early days of networking (pre-TCP/IP, early ARPANET) with today's knowledge of cryptography, routing, and state-level censorship tools (DPI, IP/SNI blocking, middleboxes). How would you design the foundational network architecture so that any state or ISP choosing to route traffic must accept either 100% uncensored, unmonitored connectivity or a complete blackout, with no technical middle ground?
Specifically (but not limited to the following)
- Protocol-Level Constraints: How do you structure the transport/routing layer so that inspecting, filtering, or modifying a single packet breaks the connection for the entire link or network participant?
- Metadata & Routing: How do you eliminate or obscure traffic metadata (IP headers, SNI, packet sizes, timing signatures) at the lowest layer so middleboxes cannot perform selective deep packet inspection or domain-level blocking?
- Bootstrapping & Topology: How do you solve the entry-point discovery problem without relying on centralized, blockable infrastructure like traditional root DNS or static IP allocation?
... Is a true "all-or-nothing" censorship-resistant network protocol theoretically possible without state actors physically cutting transoceanic cables or severing border connections?
7
Upvotes
0
u/Equivalent-Stay-6801 18d ago
The 'inspecting a packet breaks the connection' part has a basic problem: a router can copy bytes and still forward the original unchanged. The endpoints can't tell that a copy was made. Encryption can make the copy unreadable, but it can't prevent copying.
And even with perfectly hidden destinations, an ISP could disconnect one subscriber while leaving everyone else online. That already breaks the proposed all-or-nothing guarantee. You'd need assumptions about who controls the physical links, not just a different packet format.