version.relay behavior change

version.relay behavior change
2018-03-09 15:33 ` Andrew Chow
  
From: Eric Voskuil @ 2018-03-09  7:50 UTC (permalink / raw)
  To: bitcoin-dev


[-- Attachment #1.1: Type: text/plain, Size: 192 bytes --]

/Satoshi:0.15.0/ and later nodes appear to be no longer honoring the
version.relay=false flag (BIP37). Could someone familiar with the change
please explain the rational?

Thanks,

e


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 490 bytes --]

 permalink raw reply	[|nested]
2018-03-09  7:50 [bitcoin-dev] version.relay behavior change Eric Voskuil

  2018-03-15  9:17   ` Eric Voskuil
  
From: Andrew Chow @ 2018-03-09 15:33 UTC (permalink / raw)
  To: bitcoin-dev

[-- Attachment #1: Type: text/plain, Size: 845 bytes --]

Looking through the code, I don't think that this behavior has changed.
Are you sure that you are actually connected to Satoshi:0.15.0 nodes and
not a node that has simply set their user-agent to that (i.e. not a real
Satoshi:0.15.0 node)?

If what you are seeing is true, it is likely a bug and not an
intentional change. In that case, can you provide specific details on
how to reproduce?

Andrew


On 03/09/2018 02:50 AM, Eric Voskuil via bitcoin-dev wrote:
> /Satoshi:0.15.0/ and later nodes appear to be no longer honoring the
> version.relay=false flag (BIP37). Could someone familiar with the change
> please explain the rational?
>
> Thanks,
>
> e
>
>
>
> _______________________________________________
> bitcoin-dev mailing list
> bitcoin-dev@lists•linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev


[-- Attachment #2: Type: text/html, Size: 1560 bytes --]

 permalink raw reply	[|nested]
2018-03-09 15:33 ` Andrew Chow

  2018-03-15 15:44     ` Andrew Chow
  
From: Eric Voskuil @ 2018-03-15  9:17 UTC (permalink / raw)
  To: Andrew Chow, Bitcoin Protocol Discussion

[-- Attachment #1: Type: text/plain, Size: 2246 bytes --]

Thanks for the reply Andrew. I’ve reviewed the relevant Core sources and I do not see any problem. We have also synced against a Core node locally and not seen the problem.

The reason I suspected it was Core is that it is very common and all of the User Agents are consistent (with an occasional exception for forked nodes). So there’s no easy way to determine what sort of nodes we are seeing. 

We tend to cycle through many more connections during sync than a Core node, so may just be seeing it more frequently, but I assume Core would log this behavior as well. Even so, seeing that wouldn’t help much. I’m as certain as I can be at this point that we are setting the flag and version correctly (and that we do not set bip37 filters).

This behavior started infrequently with 0.14.0 peers and has become more common over time. Just wondering at this point what fork would report as Core and be that common? We used to drop peers that did this (for protocol noncompliance), and I’m considering reinstating that behavior.

e

> On Mar 9, 2018, at 16:33, Andrew Chow via bitcoin-dev <bitcoin-dev@lists•linuxfoundation.org> wrote:
> 
> Looking through the code, I don't think that this behavior has changed. Are you sure that you are actually connected to Satoshi:0.15.0 nodes and not a node that has simply set their user-agent to that (i.e. not a real Satoshi:0.15.0 node)?
> 
> If what you are seeing is true, it is likely a bug and not an intentional change. In that case, can you provide specific details on how to reproduce?
> 
> Andrew
> 
>> On 03/09/2018 02:50 AM, Eric Voskuil via bitcoin-dev wrote:
>> /Satoshi:0.15.0/ and later nodes appear to be no longer honoring the
>> version.relay=false flag (BIP37). Could someone familiar with the change
>> please explain the rational?
>> 
>> Thanks,
>> 
>> e
>> 
>> 
>> 
>> _______________________________________________
>> bitcoin-dev mailing list
>> bitcoin-dev@lists•linuxfoundation.org
>> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
> 
> _______________________________________________
> bitcoin-dev mailing list
> bitcoin-dev@lists•linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev

[-- Attachment #2: Type: text/html, Size: 3458 bytes --]

 permalink raw reply	[|nested]
2018-03-15  9:17   ` Eric Voskuil

  2018-03-16  8:27       ` Eric Voskuil
  
From: Andrew Chow @ 2018-03-15 15:44 UTC (permalink / raw)
  To: Eric Voskuil, Bitcoin Protocol Discussion

[-- Attachment #1: Type: text/plain, Size: 2831 bytes --]

I don't think the nodes that you are connecting to that have this
behavior are actually forked from Bitcoin Core. It seems more like fake
nodes - nodes that don't actually do any verification or follow the
protocol. Such fake nodes can set whatever user agent they want, common
ones being Bitcoin Core's user agents.

IMO your best solution would be to drop peers for protocol noncompliance.

Andrew


On 03/15/2018 05:17 AM, Eric Voskuil wrote:
> Thanks for the reply Andrew. I’ve reviewed the relevant Core sources
> and I do not see any problem. We have also synced against a Core node
> locally and not seen the problem.
>
> The reason I suspected it was Core is that it is very common and all
> of the User Agents are consistent (with an occasional exception for
> forked nodes). So there’s no easy way to determine what sort of nodes
> we are seeing. 
>
> We tend to cycle through many more connections during sync than a Core
> node, so may just be seeing it more frequently, but I assume Core
> would log this behavior as well. Even so, seeing that wouldn’t help
> much. I’m as certain as I can be at this point that we are setting the
> flag and version correctly (and that we do not set bip37 filters).
>
> This behavior started infrequently with 0.14.0 peers and has become
> more common over time. Just wondering at this point what fork would
> report as Core and be that common? We used to drop peers that did this
> (for protocol noncompliance), and I’m considering reinstating that
> behavior.
>
> e
>
> On Mar 9, 2018, at 16:33, Andrew Chow via bitcoin-dev
> <bitcoin-dev@lists•linuxfoundation.org
> <mailto:bitcoin-dev@lists•linuxfoundation.org>> wrote:
>
>> Looking through the code, I don't think that this behavior has
>> changed. Are you sure that you are actually connected to
>> Satoshi:0.15.0 nodes and not a node that has simply set their
>> user-agent to that (i.e. not a real Satoshi:0.15.0 node)?
>>
>> If what you are seeing is true, it is likely a bug and not an
>> intentional change. In that case, can you provide specific details on
>> how to reproduce?
>>
>> Andrew
>>
>>
>> On 03/09/2018 02:50 AM, Eric Voskuil via bitcoin-dev wrote:
>>> /Satoshi:0.15.0/ and later nodes appear to be no longer honoring the
>>> version.relay=false flag (BIP37). Could someone familiar with the change
>>> please explain the rational?
>>>
>>> Thanks,
>>>
>>> e
>>>
>>>
>>>
>>> _______________________________________________
>>> bitcoin-dev mailing list
>>> bitcoin-dev@lists•linuxfoundation.org
>>> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>>
>> _______________________________________________
>> bitcoin-dev mailing list
>> bitcoin-dev@lists•linuxfoundation.org
>> <mailto:bitcoin-dev@lists•linuxfoundation.org>
>> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev


[-- Attachment #2: Type: text/html, Size: 4888 bytes --]

 permalink raw reply	[|nested]
2018-03-15 15:44     ` Andrew Chow

  
From: Eric Voskuil @ 2018-03-16  8:27 UTC (permalink / raw)
  To: Andrew Chow;  Bitcoin Protocol Discussion

[-- Attachment #1: Type: text/plain, Size: 2928 bytes --]

Agree, thanks for the input Andrew.

e

> On Mar 15, 2018, at 16:44, Andrew Chow <achow101-lists@achow101•com> wrote:
> 
> I don't think the nodes that you are connecting to that have this behavior are actually forked from Bitcoin Core. It seems more like fake nodes - nodes that don't actually do any verification or follow the protocol. Such fake nodes can set whatever user agent they want, common ones being Bitcoin Core's user agents.
> 
> IMO your best solution would be to drop peers for protocol noncompliance.
> 
> Andrew
> 
>> On 03/15/2018 05:17 AM, Eric Voskuil wrote:
>> Thanks for the reply Andrew. I’ve reviewed the relevant Core sources and I do not see any problem. We have also synced against a Core node locally and not seen the problem.
>> 
>> The reason I suspected it was Core is that it is very common and all of the User Agents are consistent (with an occasional exception for forked nodes). So there’s no easy way to determine what sort of nodes we are seeing. 
>> 
>> We tend to cycle through many more connections during sync than a Core node, so may just be seeing it more frequently, but I assume Core would log this behavior as well. Even so, seeing that wouldn’t help much. I’m as certain as I can be at this point that we are setting the flag and version correctly (and that we do not set bip37 filters).
>> 
>> This behavior started infrequently with 0.14.0 peers and has become more common over time. Just wondering at this point what fork would report as Core and be that common? We used to drop peers that did this (for protocol noncompliance), and I’m considering reinstating that behavior.
>> 
>> e
>> 
>> On Mar 9, 2018, at 16:33, Andrew Chow via bitcoin-dev <bitcoin-dev@lists•linuxfoundation.org> wrote:
>> 
>>> Looking through the code, I don't think that this behavior has changed. Are you sure that you are actually connected to Satoshi:0.15.0 nodes and not a node that has simply set their user-agent to that (i.e. not a real Satoshi:0.15.0 node)?
>>> 
>>> If what you are seeing is true, it is likely a bug and not an intentional change. In that case, can you provide specific details on how to reproduce?
>>> 
>>> Andrew
>>> 
>>>> On 03/09/2018 02:50 AM, Eric Voskuil via bitcoin-dev wrote:
>>>> /Satoshi:0.15.0/ and later nodes appear to be no longer honoring the
>>>> version.relay=false flag (BIP37). Could someone familiar with the change
>>>> please explain the rational?
>>>> 
>>>> Thanks,
>>>> 
>>>> e
>>>> 
>>>> 
>>>> 
>>>> _______________________________________________
>>>> bitcoin-dev mailing list
>>>> bitcoin-dev@lists•linuxfoundation.org
>>>> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>>> 
>>> _______________________________________________
>>> bitcoin-dev mailing list
>>> bitcoin-dev@lists•linuxfoundation.org
>>> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
> 

[-- Attachment #2: Type: text/html, Size: 5245 bytes --]

 permalink raw reply	[|nested]