Received: from sog-mx-2.v43.ch3.sourceforge.com ([172.29.43.192] helo=mx.sourceforge.net) by sfs-ml-4.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1Sfmku-0000NC-BM for bitcoin-development@lists.sourceforge.net; Sat, 16 Jun 2012 06:45:08 +0000 Received-SPF: pass (sog-mx-2.v43.ch3.sourceforge.com: domain of gmail.com designates 209.85.210.47 as permitted sender) client-ip=209.85.210.47; envelope-from=laanwj@gmail.com; helo=mail-pz0-f47.google.com; Received: from mail-pz0-f47.google.com ([209.85.210.47]) by sog-mx-2.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-MD5:128) (Exim 4.76) id 1Sfmks-0003dW-SS for bitcoin-development@lists.sourceforge.net; Sat, 16 Jun 2012 06:45:08 +0000 Received: by dalh21 with SMTP id h21so4818601dal.34 for ; Fri, 15 Jun 2012 23:45:01 -0700 (PDT) MIME-Version: 1.0 Received: by 10.68.240.99 with SMTP id vz3mr28270688pbc.60.1339829100810; Fri, 15 Jun 2012 23:45:00 -0700 (PDT) Received: by 10.143.44.2 with HTTP; Fri, 15 Jun 2012 23:45:00 -0700 (PDT) In-Reply-To: <1339810493.15660.YahooMailNeo@web121004.mail.ne1.yahoo.com> References: <1339810493.15660.YahooMailNeo@web121004.mail.ne1.yahoo.com> Date: Sat, 16 Jun 2012 08:45:00 +0200 Message-ID: From: Wladimir To: Amir Taaki Content-Type: multipart/alternative; boundary=047d7b3396ad9d132204c291456d X-Spam-Score: -0.6 (/) X-Spam-Report: Spam Filtering performed by mx.sourceforge.net. See http://spamassassin.org/tag/ for more details. -1.5 SPF_CHECK_PASS SPF reports sender host as permitted sender for sender-domain 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (laanwj[at]gmail.com) -0.0 SPF_PASS SPF: sender matches SPF record 1.0 HTML_MESSAGE BODY: HTML included in message -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature X-Headers-End: 1Sfmks-0003dW-SS Cc: "bitcoin-development@lists.sourceforge.net" Subject: Re: [Bitcoin-development] Proposed new P2P command and response: getcmds, cmdlist X-BeenThere: bitcoin-development@lists.sourceforge.net X-Mailman-Version: 2.1.9 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Jun 2012 06:45:08 -0000 --047d7b3396ad9d132204c291456d Content-Type: text/plain; charset=UTF-8 As replied on the github issue: Personally I still think it's better to have a clear standardized "protocol version", that implies what capabilities are supported, instead of a capability-based system that explicitly lists them. Capability-based systems (just look at OpenGL) tend to become horrendously complex, as you have to take into account all possible combinations of possible interactions, and constantly check for support of specific features instead of just comparing a version number. Sure, it can be necessary to distinguish between different types of nodes, but there is no need to make it this fine-grained. Wladimir On Sat, Jun 16, 2012 at 3:34 AM, Amir Taaki wrote: > Introspection/command discovery is nice, but I would prefer it to be > immediately done in the first version exchange so no assumptions as to how > a network is operating need to be made. > > I like the idea of a flat list of commands. It might make sense to have > "meta"-commands that alias to groups of commands. i.e "original" for the > current core subset up to (and including) "pong". The aliases could exist > in a text definition file which is held on github or bitcoin.org/ > > > ----- Original Message ----- > From: Jeff Garzik > To: Bitcoin Development > Cc: > Sent: Saturday, June 16, 2012 2:13 AM > Subject: [Bitcoin-development] Proposed new P2P command and response: > getcmds, cmdlist > > Outside of major features advertised network-wide in nService bits, > P2P protocol lacks a good method of enumerating minor features or > extensions. The version number increment is coarse-grained, and is > not self-documenting. A simple extension which lists supported > commands is added, as demonstrated in this pull request: > > https://github.com/bitcoin/bitcoin/pull/1471 > > Another option is for verack to return this information at login, > eliminating the need for a separate command/response. > > -- > Jeff Garzik > exMULTI, Inc. > jgarzik@exmulti.com > > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > Bitcoin-development mailing list > Bitcoin-development@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/bitcoin-development > > > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > Bitcoin-development mailing list > Bitcoin-development@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/bitcoin-development > --047d7b3396ad9d132204c291456d Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
As replied on the github issue:

Personally I = still think it's better to have a clear standardized "protocol ver= sion", that implies what capabilities are supported, instead of a capa= bility-based system that explicitly lists them.

Capability-based systems=C2=A0(just look at OpenGL)=C2= =A0tend to become horrendously complex, as you have to take into account al= l possible combinations of possible interactions, and constantly check for = support of specific features instead of just comparing a version number.

Sure, it can be necessary to distinguish between differ= ent types of nodes, but there is no need to make it this fine-grained.

Wladimir

On Sat, J= un 16, 2012 at 3:34 AM, Amir Taaki <zgenjix@yahoo.com> wrote= :
Introspection/command discovery is nice, but= I would prefer it to be immediately done in the first version exchange so = no assumptions as to how a network is operating need to be made.

I like the idea of a flat list of commands. It might make sense to have &qu= ot;meta"-commands that alias to groups of commands. i.e "original= " for the current core subset up to (and including) "pong". = The aliases could exist in a text definition file which is held on github o= r bitcoin.org/


----- Original Message -----
From: Jeff Garzik <jgarzik@exmult= i.com>
To: Bitcoin Development <bitcoin-development@lists.sourceforge.net>
Cc:
Sent: Saturday, June 16, 2012 2:13 AM
Subject: [Bitcoin-development] Proposed new P2P command and response: getcm= ds, cmdlist

Outside of major features advertised network-wide in nService bits,
P2P protocol lacks a good method of enumerating minor features or
extensions.=C2=A0 The version number increment is coarse-grained, and is not self-documenting.=C2=A0 A simple extension which lists supported
commands is added, as demonstrated in this pull request:

=C2=A0 =C2=A0 https://github.com/bitcoin/bitcoin/pull/1471

Another option is for verack to return this information at login,
eliminating the need for a separate command/response.

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

---------------------------------------------------------------------------= ---
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122= 263/
_______________________________________________
Bitcoin-development mailing list
Bitcoin-develo= pment@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-de= velopment


---------------------------------------------------------------------------= ---
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122= 263/
_______________________________________________
Bitcoin-development mailing list
Bitcoin-develo= pment@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-de= velopment

--047d7b3396ad9d132204c291456d--