bitcoin/bitcoin — pull request #4657 by jgarzik (2014-08-08 03:32:36+00:00)
Title: NODE_EXT_SERVICE: Advertise other services also available at this node.

It is not necessary to build all functionality into bitcoind, to form a decentralized network. BitPay's insight open source block explorer API project requires, and runs on top of, bitcoind. Therefore, at the same IP address as bitcoind, other services are made available to the public (scriptPubkey queries, other added-value queries). This results in a decentralized network of "anyone running a full node _and_ an insight server", as a subset of the whole P2P net.

Obviously, we want to build this in a generic, vendor-neutral way.

Services may only advertise added services **if and only if** the external services are at the same IP address that is being advertised.