Included at the bottom of this mail is a BIP concerning our impending use of a particular services bit. I am making a good-faith effort to notify the community of this use and follow the BIP submission rules with a correctly formatted BIP sent to Luke jr. He has informed me that such a BIP should be discussed on the mailing list (which is this thread) and that the BIP should document the extreme thin block protocol. Not an unreasonable request, however while I personally respect the many great accomplishments of individual engineers loosely affiliated with "Core", Bitcoin Unlimited has our own process for documentation and discussion on an uncensored forum located here: https://bitco.in/forum/threads/buip010-passed-xtreme-thinblocks.774/. We would love to have any interested engineer join us there with ideas and criticisms. But since Bitcoin Unlimited already has a process, it would be redundant and time consuming for us to adhere to your process. If a "Core" engineer would like to spend the time to move this BIP through your process I would be eternally grateful and be willing to use a different bit or make other changes that make mutual sense. If not, then it is up to "Core" as a group to decide whether they would like to preserve interoperability as the protocol intended by avoiding use of bit 1<<4 (except to indicate the presence of a compatible Xthin implementation), or whether they will force clients to take the sub-version field into account when determining client capabilities. Regards, Andrew Stone Developer, Bitcoin Unlimited
BIP: XXX Title: Extreme thin block service bit Author: Andrew Stone==Abstract== Nodes need to communicate to each other whether or not thin block communication messages are supported. ==Motivation== # Ensure Satoshi client interoperability ==Rationale== Clients will use this functionality to choose peers, so a service bit is the most appropriate location. ==Specification== # Bit (1 << 4) of the nServices flags enum located in protocol.h shall indicate the ability to handle thin block communication messages. ==Backward compatibility== All older clients are compatible with this change. Users and merchants should not be impacted. ==Implementation== /** nServices flags */ enum { ... // NODE_XTHIN means the node is capable of and willing to handle Xthin messages. NODE_XTHIN = (1 << 4), ... }; ==Copyright== This document is Public Domain. On Mon, Mar 7, 2016 at 4:10 PM, dagurvalStatus: Type: Standards Track Created: 2016-03-07