public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
* [Bitcoin-development] Lock protocol version numbers
@ 2011-11-02 21:23 Amir Taaki
  2011-11-02 21:32 ` Christian Decker
                   ` (2 more replies)
  0 siblings, 3 replies; 17+ messages in thread
From: Amir Taaki @ 2011-11-02 21:23 UTC (permalink / raw)
  To: bitcoin-development

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

Hey,

Can we lock the version numbers to be the protocol version (which changes rarely) and instead use the sub_version_num field + revision number for individual builds?

Satoshi 0.4
BitcoinJava 120311
bitcoin-js 6

Like so. Otherwise we will have version bumping insanity :)

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

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [Bitcoin-development] Lock protocol version numbers
  2011-11-02 21:23 [Bitcoin-development] Lock protocol version numbers Amir Taaki
@ 2011-11-02 21:32 ` Christian Decker
       [not found] ` <CABsx9T0zUCu2RFC0Nc4URMtu060wyHMaebEM87in=NSiNbp=rw@mail.gmail.com>
  2011-11-05 14:32 ` Mike Hearn
  2 siblings, 0 replies; 17+ messages in thread
From: Christian Decker @ 2011-11-02 21:32 UTC (permalink / raw)
  To: Amir Taaki; +Cc: bitcoin-development

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

I don't really get what you want to achieve with this. The protocol will be
slow down evolution (hopefully) soon, while the clients will continue
releasing at a similar rhythm. It took long enough to decouple the protocol
version from being bumped each client release, now doing the inverse
coupling makes no sense.

Regards,
Chris
On Wed, Nov 2, 2011 at 10:23 PM, Amir Taaki <zgenjix@yahoo•com> wrote:

> Hey,
>
> Can we lock the version numbers to be the protocol version (which changes
> rarely) and instead use the sub_version_num field + revision number for
> individual builds?
>
> Satoshi 0.4
> BitcoinJava 120311
> bitcoin-js 6
>
> Like so. Otherwise we will have version bumping insanity :)
>
>
> ------------------------------------------------------------------------------
> RSA(R) Conference 2012
> Save $700 by Nov 18
> Register now
> http://p.sf.net/sfu/rsa-sfdev2dev1
> _______________________________________________
> Bitcoin-development mailing list
> Bitcoin-development@lists•sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bitcoin-development
>
>

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

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [Bitcoin-development] Lock protocol version numbers
       [not found] ` <CABsx9T0zUCu2RFC0Nc4URMtu060wyHMaebEM87in=NSiNbp=rw@mail.gmail.com>
@ 2011-11-02 22:33   ` Amir Taaki
  2011-11-02 22:42     ` Christian Decker
  2011-11-02 22:46     ` Luke-Jr
  0 siblings, 2 replies; 17+ messages in thread
From: Amir Taaki @ 2011-11-02 22:33 UTC (permalink / raw)
  To: bitcoin-development

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

Point taken.

About the sub_version_num though. I prefer to let the field by defined clients however they wish, with just a guideline suggestion that IDENTIFIER VERSION is a format they should follow.

The idea being that different projects would have different release scheduling schemes and it'd be restrictive to lock people into the popular major.minor system.

So for the current bitcoin to find out the version number of other clients (if it was needed), it would have to parse the number from the string:

"Satoshi 0.5"

Although there would be little reason for this with a sane protocol versioning scheme.

If we're agreed then I'll start on that BIP.



________________________________
From: Gavin Andresen <gavinandresen@gmail•com>
To: Amir Taaki <zgenjix@yahoo•com>
Sent: Wednesday, November 2, 2011 9:34 PM
Subject: Re: [Bitcoin-development] Lock protocol version numbers

Good idea.

Sounds perfect for a BIP....

On Wed, Nov 2, 2011 at 5:23 PM, Amir Taaki <zgenjix@yahoo•com> wrote:
> Hey,
> Can we lock the version numbers to be the protocol version (which changes
> rarely) and instead use the sub_version_num field + revision number for
> individual builds?

-- 
--
Gavin Andresen

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

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [Bitcoin-development] Lock protocol version numbers
  2011-11-02 22:33   ` Amir Taaki
@ 2011-11-02 22:42     ` Christian Decker
  2011-11-02 22:58       ` Amir Taaki
  2011-11-02 22:46     ` Luke-Jr
  1 sibling, 1 reply; 17+ messages in thread
From: Christian Decker @ 2011-11-02 22:42 UTC (permalink / raw)
  To: Amir Taaki; +Cc: bitcoin-development

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

Just for reference: https://github.com/bitcoin/bitcoin/pull/63
The issue resulted in my most useless pull request fixing two variables :-)

I second the use of sub_version_num as a Client and Version identifier.

Regards,
Chris

On Wed, Nov 2, 2011 at 11:33 PM, Amir Taaki <zgenjix@yahoo•com> wrote:

> Point taken.
>
> About the sub_version_num though. I prefer to let the field by defined
> clients however they wish, with just a guideline suggestion that IDENTIFIER
> VERSION is a format they should follow.
>
> The idea being that different projects would have different release
> scheduling schemes and it'd be restrictive to lock people into the popular
> major.minor system.
>
> So for the current bitcoin to find out the version number of other clients
> (if it was needed), it would have to parse the number from the string:
>
> "Satoshi 0.5"
>
> Although there would be little reason for this with a sane protocol
> versioning scheme.
>
> If we're agreed then I'll start on that BIP.
>
> ------------------------------
> *From:* Gavin Andresen <gavinandresen@gmail•com>
> *To:* Amir Taaki <zgenjix@yahoo•com>
> *Sent:* Wednesday, November 2, 2011 9:34 PM
> *Subject:* Re: [Bitcoin-development] Lock protocol version numbers
>
> Good idea.
>
> Sounds perfect for a BIP....
>
>
> On Wed, Nov 2, 2011 at 5:23 PM, Amir Taaki <zgenjix@yahoo•com> wrote:
> > Hey,
> > Can we lock the version numbers to be the protocol version (which changes
> > rarely) and instead use the sub_version_num field + revision number for
> > individual builds?
>
> --
> --
> Gavin Andresen
>
>
>
>
> ------------------------------------------------------------------------------
> RSA(R) Conference 2012
> Save $700 by Nov 18
> Register now
> http://p.sf.net/sfu/rsa-sfdev2dev1
> _______________________________________________
> Bitcoin-development mailing list
> Bitcoin-development@lists•sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bitcoin-development
>
>

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

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [Bitcoin-development] Lock protocol version numbers
  2011-11-02 22:33   ` Amir Taaki
  2011-11-02 22:42     ` Christian Decker
@ 2011-11-02 22:46     ` Luke-Jr
  2011-11-02 22:55       ` Amir Taaki
  1 sibling, 1 reply; 17+ messages in thread
From: Luke-Jr @ 2011-11-02 22:46 UTC (permalink / raw)
  To: bitcoin-development

On Wednesday, November 02, 2011 6:33:12 PM Amir Taaki wrote:
> "Satoshi 0.5"

What is "Satoshi 0.5" anyway? 0.5's server is bitcoind and GUI is Bitcoin-Qt; 
the wx GUI client is gone, which is more or less what "Satoshi" referred to in 
the past...



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [Bitcoin-development] Lock protocol version numbers
  2011-11-02 22:46     ` Luke-Jr
@ 2011-11-02 22:55       ` Amir Taaki
  2011-11-02 23:07         ` Luke-Jr
  0 siblings, 1 reply; 17+ messages in thread
From: Amir Taaki @ 2011-11-02 22:55 UTC (permalink / raw)
  To: bitcoin-development

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

Bitcoin is the protocol. The client protocol identifier needs a unique name. It is not a public name that anybody ever sees except protocol developers.

For instance with libbitcoin, there might be several clients using it, but they'd all have the same protocol identifier.

I think calling it Satoshi is apt homage to the person who made the original client reference protocol.

Satoshi
BitcoinCommunityOriginal
...

Take your pick.



________________________________
From: Luke-Jr <luke@dashjr•org>
To: "bitcoin-development@lists•sourceforge.net" <bitcoin-development@lists•sourceforge.net>
Cc: Amir Taaki <zgenjix@yahoo•com>
Sent: Wednesday, November 2, 2011 10:46 PM
Subject: Re: [Bitcoin-development] Lock protocol version numbers

On Wednesday, November 02, 2011 6:33:12 PM Amir Taaki wrote:
> "Satoshi 0.5"

What is "Satoshi 0.5" anyway? 0.5's server is bitcoind and GUI is Bitcoin-Qt; 
the wx GUI client is gone, which is more or less what "Satoshi" referred to in 
the past...

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

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [Bitcoin-development] Lock protocol version numbers
  2011-11-02 22:42     ` Christian Decker
@ 2011-11-02 22:58       ` Amir Taaki
  0 siblings, 0 replies; 17+ messages in thread
From: Amir Taaki @ 2011-11-02 22:58 UTC (permalink / raw)
  To: bitcoin-development

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

Cool thread. I enjoyed reading that :) Thanks for sharing.


________________________________
From: Christian Decker <decker.christian@gmail•com>
To: Amir Taaki <zgenjix@yahoo•com>
Cc: "bitcoin-development@lists•sourceforge.net" <bitcoin-development@lists•sourceforge.net>
Sent: Wednesday, November 2, 2011 10:42 PM
Subject: Re: [Bitcoin-development] Lock protocol version numbers


Just for reference: https://github.com/bitcoin/bitcoin/pull/63
The issue resulted in my most useless pull request fixing two variables :-)

I second the use of sub_version_num as a Client and Version identifier.

Regards,
Chris


On Wed, Nov 2, 2011 at 11:33 PM, Amir Taaki <zgenjix@yahoo•com> wrote:

Point taken.
>
>
>About the sub_version_num though. I prefer to let the field by defined clients however they wish, with just a guideline suggestion that IDENTIFIER VERSION is a format they should follow.
>
>
>The idea being that different projects would have different release scheduling schemes and it'd be restrictive to lock people into the popular major.minor system.
>
>
>So for the current bitcoin to find out the version number of other clients (if it was needed), it would have to parse the number from the string:
>
>
>"Satoshi 0.5"
>
>
>Although there would be little reason for this with a sane protocol versioning scheme.
>
>
>If we're agreed then I'll start on that BIP.
>
>
>
>________________________________
>From: Gavin Andresen <gavinandresen@gmail•com>
>To: Amir Taaki <zgenjix@yahoo•com>
>Sent: Wednesday, November 2, 2011 9:34 PM
>Subject: Re: [Bitcoin-development] Lock protocol version numbers
>
>Good idea.
>
>Sounds perfect for a BIP....
>
>
>On Wed, Nov 2, 2011 at 5:23 PM, Amir Taaki <zgenjix@yahoo•com> wrote:
>> Hey,
>> Can we lock the version numbers to be the protocol version (which changes
>> rarely) and instead use the sub_version_num field + revision number for
>> individual builds?
>
>-- 
>--
>Gavin Andresen
>
>
>
>------------------------------------------------------------------------------
>RSA(R) Conference 2012
>Save $700 by Nov 18
>Register now
>http://p.sf.net/sfu/rsa-sfdev2dev1
>_______________________________________________
>Bitcoin-development mailing list
>Bitcoin-development@lists•sourceforge.net
>https://lists.sourceforge.net/lists/listinfo/bitcoin-development
>
>

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

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [Bitcoin-development] Lock protocol version numbers
  2011-11-02 22:55       ` Amir Taaki
@ 2011-11-02 23:07         ` Luke-Jr
  2011-11-02 23:22           ` Christian Decker
  0 siblings, 1 reply; 17+ messages in thread
From: Luke-Jr @ 2011-11-02 23:07 UTC (permalink / raw)
  To: bitcoin-development, Amir Taaki

On Wednesday, November 02, 2011 6:55:27 PM Amir Taaki wrote:
> I think calling it Satoshi is apt homage to the person who made the
> original client reference protocol.

My point is that the "Satoshi client" was the wxWidgets client, which was 
retired by 0.5.



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [Bitcoin-development] Lock protocol version numbers
  2011-11-02 23:07         ` Luke-Jr
@ 2011-11-02 23:22           ` Christian Decker
  2011-11-03  4:46             ` Jeff Garzik
  0 siblings, 1 reply; 17+ messages in thread
From: Christian Decker @ 2011-11-02 23:22 UTC (permalink / raw)
  To: Luke-Jr; +Cc: bitcoin-development

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

The mainline client (independently from the GUI) has been referenced to as
"Satoshi" client. I personally like the name as a homage, but I guess it
all comes down to the decision of the maintainers.

Regards,
Chris

On Thu, Nov 3, 2011 at 12:07 AM, Luke-Jr <luke@dashjr•org> wrote:

> On Wednesday, November 02, 2011 6:55:27 PM Amir Taaki wrote:
> > I think calling it Satoshi is apt homage to the person who made the
> > original client reference protocol.
>
> My point is that the "Satoshi client" was the wxWidgets client, which was
> retired by 0.5.
>
>
> ------------------------------------------------------------------------------
> RSA(R) Conference 2012
> Save $700 by Nov 18
> Register now
> http://p.sf.net/sfu/rsa-sfdev2dev1
> _______________________________________________
> Bitcoin-development mailing list
> Bitcoin-development@lists•sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bitcoin-development
>

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

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [Bitcoin-development] Lock protocol version numbers
  2011-11-02 23:22           ` Christian Decker
@ 2011-11-03  4:46             ` Jeff Garzik
  0 siblings, 0 replies; 17+ messages in thread
From: Jeff Garzik @ 2011-11-03  4:46 UTC (permalink / raw)
  To: Christian Decker; +Cc: bitcoin-development

On Wed, Nov 2, 2011 at 7:22 PM, Christian Decker
<decker.christian@gmail•com> wrote:
> The mainline client (independently from the GUI) has been referenced to as
> "Satoshi" client. I personally like the name as a homage, but I guess it all
> comes down to the decision of the maintainers.

That's how I take it to mean:  "satoshi client" is the client
-started- by satoshi, that is actively distributed through
github.com/bitcoin/bitcoin and bitcoin.org-linked downloads.  Changing
to QT doesn't change the lingo.

-- 
Jeff Garzik
exMULTI, Inc.
jgarzik@exmulti•com



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [Bitcoin-development] Lock protocol version numbers
  2011-11-02 21:23 [Bitcoin-development] Lock protocol version numbers Amir Taaki
  2011-11-02 21:32 ` Christian Decker
       [not found] ` <CABsx9T0zUCu2RFC0Nc4URMtu060wyHMaebEM87in=NSiNbp=rw@mail.gmail.com>
@ 2011-11-05 14:32 ` Mike Hearn
  2011-11-05 14:45   ` Christian Decker
  2 siblings, 1 reply; 17+ messages in thread
From: Mike Hearn @ 2011-11-05 14:32 UTC (permalink / raw)
  To: Amir Taaki; +Cc: bitcoin-development

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

BitCoinJ already sets the subver field to its name and version.

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

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [Bitcoin-development] Lock protocol version numbers
  2011-11-05 14:32 ` Mike Hearn
@ 2011-11-05 14:45   ` Christian Decker
       [not found]     ` <1320507570.40074.YahooMailNeo@web121017.mail.ne1.yahoo.com>
  0 siblings, 1 reply; 17+ messages in thread
From: Christian Decker @ 2011-11-05 14:45 UTC (permalink / raw)
  To: Mike Hearn; +Cc: bitcoin-development

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

On BitDroid I stopped updating the protocol version at 31700 and set the
string to be both Version and Client, just like BitcoinJ :-)

On Sat, Nov 5, 2011 at 3:32 PM, Mike Hearn <mike@plan99•net> wrote:

> BitCoinJ already sets the subver field to its name and version.
>
>
>
> ------------------------------------------------------------------------------
> RSA(R) Conference 2012
> Save $700 by Nov 18
> Register now
> http://p.sf.net/sfu/rsa-sfdev2dev1
> _______________________________________________
> Bitcoin-development mailing list
> Bitcoin-development@lists•sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bitcoin-development
>
>

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

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [Bitcoin-development] Lock protocol version numbers
       [not found]     ` <1320507570.40074.YahooMailNeo@web121017.mail.ne1.yahoo.com>
@ 2011-11-05 15:39       ` Amir Taaki
  2011-11-05 16:17         ` Christian Decker
  0 siblings, 1 reply; 17+ messages in thread
From: Amir Taaki @ 2011-11-05 15:39 UTC (permalink / raw)
  To: bitcoin-development

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

From talking with Patrick Strateman (phantomcircuit), he suggested this idea (which I will elaborate more on in the BIP):


User-agent strings are a good starting point, however they aren't easy for parsing so we'll make a small modification to them.

We need a hierarchy from protocol, variant, gui, flavour, build

/Satoshi:314700/bitcoin-qt:0.4/

How does that sound? In BitcoinJ's case:

/BitcoinJ:0.2/AndroidBuild:0.8/

Thoughts:

- Do we need a freely defined comments field?

/BitcoinJ:0.2[iPad; U; CPU OS 3_2_1]/AndroidBuild:0.8/
/Satoshi:314700/bitcoin-qt:0.4[Ubuntu Oneiric]/



________________________________
From: Christian Decker <decker.christian@gmail•com>
To: Mike Hearn <mike@plan99•net>
Cc: Amir Taaki <zgenjix@yahoo•com>; "bitcoin-development@lists•sourceforge.net" <bitcoin-development@lists•sourceforge.net>
Sent: Saturday, November 5, 2011 2:45 PM
Subject: Re: [Bitcoin-development] Lock protocol version numbers


On BitDroid I stopped updating the protocol version at 31700 and set the string to be both Version and Client, just like BitcoinJ :-)


On Sat, Nov 5, 2011 at 3:32 PM, Mike Hearn <mike@plan99•net> wrote:

BitCoinJ already sets the subver field to its name and version.
>
>
>------------------------------------------------------------------------------
>RSA(R) Conference 2012
>Save $700 by Nov 18
>Register now
>http://p.sf.net/sfu/rsa-sfdev2dev1
>_______________________________________________
>Bitcoin-development mailing list
>Bitcoin-development@lists•sourceforge.net
>https://lists.sourceforge.net/lists/listinfo/bitcoin-development
>
>

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

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [Bitcoin-development] Lock protocol version numbers
  2011-11-05 15:39       ` Amir Taaki
@ 2011-11-05 16:17         ` Christian Decker
  2011-11-05 16:29           ` Luke-Jr
  0 siblings, 1 reply; 17+ messages in thread
From: Christian Decker @ 2011-11-05 16:17 UTC (permalink / raw)
  To: Amir Taaki; +Cc: bitcoin-development

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

Sorry for shooting this approach down, but I'm against it. User-agent
strings are an extremely bad idea as it would lead developers to start
making communication choices depending on the client type. User-Agents in
HTTP are only useful if the clients (browsers) do not adhere to a well
defined behavior. I see the version string more as a kind of vanity point
(xyz peers are using my network code) and it would be bad to base choices
on it.
For protocol choices we already have a good mechanism in place (nServices)
to negotiate capabilities.

I for one vote for keeping it as simple as possible, just a simple string,
without any further meaning.

On Sat, Nov 5, 2011 at 4:39 PM, Amir Taaki <zgenjix@yahoo•com> wrote:

> From talking with Patrick Strateman (phantomcircuit), he suggested this
> idea (which I will elaborate more on in the BIP):
>
> User-agent strings are a good starting point, however they aren't easy for
> parsing so we'll make a small modification to them.
>
> We need a hierarchy from protocol, variant, gui, flavour, build
>
> /Satoshi:314700/bitcoin-qt:0.4/
>
> How does that sound? In BitcoinJ's case:
>
> /BitcoinJ:0.2/AndroidBuild:0.8/
>
> Thoughts:
>
> - Do we need a freely defined comments field?
>
> /BitcoinJ:0.2[iPad; U; CPU OS 3_2_1]/AndroidBuild:0.8/
> /Satoshi:314700/bitcoin-qt:0.4[Ubuntu Oneiric]/
>
> ------------------------------
> *From:* Christian Decker <decker.christian@gmail•com>
> *To:* Mike Hearn <mike@plan99•net>
> *Cc:* Amir Taaki <zgenjix@yahoo•com>; "
> bitcoin-development@lists•sourceforge.net" <
> bitcoin-development@lists•sourceforge.net>
> *Sent:* Saturday, November 5, 2011 2:45 PM
> *Subject:* Re: [Bitcoin-development] Lock protocol version numbers
>
> On BitDroid I stopped updating the protocol version at 31700 and set the
> string to be both Version and Client, just like BitcoinJ :-)
>
> On Sat, Nov 5, 2011 at 3:32 PM, Mike Hearn <mike@plan99•net> wrote:
>
> BitCoinJ already sets the subver field to its name and version.
>
>
>
> ------------------------------------------------------------------------------
> RSA(R) Conference 2012
> Save $700 by Nov 18
> Register now
> http://p.sf.net/sfu/rsa-sfdev2dev1
> _______________________________________________
> Bitcoin-development mailing list
> Bitcoin-development@lists•sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bitcoin-development
>
>
>
>
>
>
>
>
> ------------------------------------------------------------------------------
> RSA(R) Conference 2012
> Save $700 by Nov 18
> Register now
> http://p.sf.net/sfu/rsa-sfdev2dev1
> _______________________________________________
> Bitcoin-development mailing list
> Bitcoin-development@lists•sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bitcoin-development
>
>

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

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [Bitcoin-development] Lock protocol version numbers
  2011-11-05 16:17         ` Christian Decker
@ 2011-11-05 16:29           ` Luke-Jr
  2011-11-05 16:40             ` Amir Taaki
  0 siblings, 1 reply; 17+ messages in thread
From: Luke-Jr @ 2011-11-05 16:29 UTC (permalink / raw)
  To: bitcoin-development

On Saturday, November 05, 2011 12:17:58 PM Christian Decker wrote:
> Sorry for shooting this approach down, but I'm against it. User-agent
> strings are an extremely bad idea as it would lead developers to start
> making communication choices depending on the client type.

This can be necessary in some cases. What happens when some popular client is 
found with a subtle bug, and cannot otherwise be differentiated from other 
similar-functionality clients? I have found User-Agent very valuable when 
dealing with the wide variety of miner bugs when I have enabled new 
functionality/behaviour on Eligius.



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [Bitcoin-development] Lock protocol version numbers
  2011-11-05 16:29           ` Luke-Jr
@ 2011-11-05 16:40             ` Amir Taaki
  2011-11-05 17:30               ` Jordan Mack
  0 siblings, 1 reply; 17+ messages in thread
From: Amir Taaki @ 2011-11-05 16:40 UTC (permalink / raw)
  To: bitcoin-development

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



On Saturday, November 05, 2011 12:17:58 PM Christian Decker wrote:
>> Sorry for shooting this approach down, but I'm against it. User-agent
>> strings are an extremely bad idea as it would lead developers to start
>> making communication choices depending on the client type.
> This can be necessary in some cases. What happens when some popular client is 
> found with a subtle bug, and cannot otherwise be differentiated from other 
> similar-functionality clients? I have found User-Agent very valuable when 
> dealing with the wide variety of miner bugs when I have enabled new 
> functionality/behaviour on Eligius.

I can agree with this point though. If clients break the network protocol/do not comply properly with it, they should be disconnected and shunned. Hard love. We don't want any ambiguity in the protocol.

Fail hard and fast.

However my feeling about the user-agent string is that it is a vanity item, but here we'd be enforcing a format that everybody can understand and read. Lets say with libbitcoin- I'm sure that users of libbitcoin would like to have their client name in the string somehow. This was we can quickly understand which code-bases are being used and all the variants that exist build on those code-bases.

Together with system information (how many Linux users are there?) and various system settings (how many 32bit users are there), and so on.

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

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [Bitcoin-development] Lock protocol version numbers
  2011-11-05 16:40             ` Amir Taaki
@ 2011-11-05 17:30               ` Jordan Mack
  0 siblings, 0 replies; 17+ messages in thread
From: Jordan Mack @ 2011-11-05 17:30 UTC (permalink / raw)
  To: bitcoin-development

 > If clients break the network protocol/do not comply properly with it,
 > they should be disconnected and shunned. Hard love. We don't want any
 > ambiguity in the protocol.

 > However my feeling about the user-agent string is that it is a vanity
 > item, but here we'd be enforcing a format that everybody can
 > understand and read.

I agree with Amir completely on both these points.

With something as critical as financial transactions, no exceptions can 
be made. The reported client and version should be ignored completely. 
If a client does not comply with the protocol, they must be rejected 
outright.

It is not in the best interest, or ability, to attempt to micromanage 
how developers choose to use the information given. Recommendations and 
guidelines can be made, but how they choose to implement is ultimately 
their decision. In my opinion, clear and concise definition of the 
protocol, and strict adherence in the mainline client, are the best 
options available.

The protocol version should be indicated so that it can properly be 
handled. Neither the name of the client, or it's version, need to be 
reported in this. Protocol validation should ignore this completely.

I do not believe that leaving out the client name and version entirely 
is the best option though. As silly as it may seem to some, vanity and 
recognition are very strong motivators. We want to encourage more 
supporters to the scene, not scare them away. The additional data 
provided by this could also be used for calculating various statistics. 
It sounds like BitcoinJ and BitDroid have already found ways of adding 
it in anyway. I believe it is in the best interest of the developers to 
formalize how this information will be included, and use it to their 
advantage.

TL;DR: Adhere strictly to the protocol, and reject clients that do not. 
Add a user agent string of some kind, but keep it separate from the 
protocol version.




^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2011-11-05 17:30 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-11-02 21:23 [Bitcoin-development] Lock protocol version numbers Amir Taaki
2011-11-02 21:32 ` Christian Decker
     [not found] ` <CABsx9T0zUCu2RFC0Nc4URMtu060wyHMaebEM87in=NSiNbp=rw@mail.gmail.com>
2011-11-02 22:33   ` Amir Taaki
2011-11-02 22:42     ` Christian Decker
2011-11-02 22:58       ` Amir Taaki
2011-11-02 22:46     ` Luke-Jr
2011-11-02 22:55       ` Amir Taaki
2011-11-02 23:07         ` Luke-Jr
2011-11-02 23:22           ` Christian Decker
2011-11-03  4:46             ` Jeff Garzik
2011-11-05 14:32 ` Mike Hearn
2011-11-05 14:45   ` Christian Decker
     [not found]     ` <1320507570.40074.YahooMailNeo@web121017.mail.ne1.yahoo.com>
2011-11-05 15:39       ` Amir Taaki
2011-11-05 16:17         ` Christian Decker
2011-11-05 16:29           ` Luke-Jr
2011-11-05 16:40             ` Amir Taaki
2011-11-05 17:30               ` Jordan Mack

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox