BIP: Custom Services



Summary:

BitcoinJS is implementing a Distributed Hash Table (DHT) that will store only a user-defined percentage of the blockchain index locally. Any misses will be resolved by querying the network. The new feature will give users the option to run anywhere from a large BitcoinJS node to a lightweight one. All of them are equally queryable, and people won't have to download the Blockchain just to run the block explorer example. Peer exchange might work for custom services.In order to discover and make use of these capabilities, a second BIP was created, which includes prefixing the standard addr message with a service-specific message to mark off service support. The DHT network is extensible, allowing the decentralized pool protocol to live within it. It is considered easier to add semantics for "some nodes support some things" in one network rather than creating n networks.The focus of this BIP is to make it easy to canonicalize custom services if they prove themselves in the wild. Custom services can be added to the standard protocol, so it's recommended to encourage custom services to live in-band and recommend compatibility with Bitcoin's standard mechanisms.There may be pushback against putting extra functionality into the core Bitcoin network. Most likely, people will reuse the code with different peer discovery seeds and bootstrap similar but unrelated P2P networks for doing new applications. More elaboration of the use cases might be useful.


Updated on: 2023-06-06T06:55:44.872893+00:00