Received: from sog-mx-1.v43.ch3.sourceforge.com ([172.29.43.191] helo=mx.sourceforge.net) by sfs-ml-3.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1SgINE-0000YM-Qg for bitcoin-development@lists.sourceforge.net; Sun, 17 Jun 2012 16:30:48 +0000 X-ACL-Warn: Received: from nm26-vm3.bullet.mail.ne1.yahoo.com ([98.138.91.156]) by sog-mx-1.v43.ch3.sourceforge.com with smtp (Exim 4.76) id 1SgIND-0004fw-Ms for bitcoin-development@lists.sourceforge.net; Sun, 17 Jun 2012 16:30:48 +0000 Received: from [98.138.90.56] by nm26.bullet.mail.ne1.yahoo.com with NNFMP; 17 Jun 2012 16:30:41 -0000 Received: from [98.138.89.161] by tm9.bullet.mail.ne1.yahoo.com with NNFMP; 17 Jun 2012 16:30:41 -0000 Received: from [127.0.0.1] by omp1017.mail.ne1.yahoo.com with NNFMP; 17 Jun 2012 16:30:41 -0000 X-Yahoo-Newman-Property: ymail-3 X-Yahoo-Newman-Id: 921637.73904.bm@omp1017.mail.ne1.yahoo.com Received: (qmail 73973 invoked by uid 60001); 17 Jun 2012 16:30:41 -0000 X-YMail-OSG: 7N_shhkVM1kmzN3c_UeSTo3WrjL.Cb_igDKKebN8quXF5vD zZ_5HE5b5e0XvcQqV9alOw8QnQE875cRigVtkdbh9zaqA3PhV3.UeFnPUtth jFAcLRVxWIyTQfl0ln91JQdwW5xICnlTQhE8PPRPbHsidpQ_lBV9TYBJs4WV JN3R_SaKaAWywXzxlTq7Z.bHDFDirrNM.zEvrmpcIqGhxrBXwXaQKzQyYa.7 qoe1D22LgMS8mDNUzB4DfVVFPPTrZjxxeciXEpnRHArFFEIp5JGIErSNtYMp On9jnB6rjUo16ZAm88kmtry9XzcqsfygMTGNSqhdlyw3eVHjKy6OiRrP6vve De.zw4k.kb1qAGSKvP7bhKgI.FzfozByXUEv8zmtaZTju.7x6ZlBpEjLllcu 4JEKXMsLpOQcCelW_iBfWf67RZ5qqQIFm3ARhDpN1.WrVbEKWIfDEg_tmuN7 dwc5mkWlNe.qmlNNp9QLiJ03JUXuz.IvF_xpUPIc2.LQbWjKfJMtIzp5pQt. Fh0vJ1Ejhjg-- Received: from [77.87.48.248] by web121005.mail.ne1.yahoo.com via HTTP; Sun, 17 Jun 2012 09:30:41 PDT X-Mailer: YahooMailWebService/0.8.118.349524 References: <1339810493.15660.YahooMailNeo@web121004.mail.ne1.yahoo.com> <201206160916.24485.andyparkins@gmail.com> Message-ID: <1339950641.22050.YahooMailNeo@web121005.mail.ne1.yahoo.com> Date: Sun, 17 Jun 2012 09:30:41 -0700 (PDT) From: Amir Taaki To: "bitcoin-development@lists.sourceforge.net" In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.1 (/) X-Spam-Report: Spam Filtering performed by mx.sourceforge.net. See http://spamassassin.org/tag/ for more details. -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [98.138.91.156 listed in list.dnswl.org] 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (zgenjix[at]yahoo.com) -0.0 T_RP_MATCHES_RCVD Envelope sender domain matches handover relay domain -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 0.0 FSL_FREEMAIL_2 FSL_FREEMAIL_2 0.0 FSL_FREEMAIL_1 FSL_FREEMAIL_1 X-Headers-End: 1SgIND-0004fw-Ms 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 Reply-To: Amir Taaki List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Jun 2012 16:30:48 -0000 As the only person to have created and maintaining a full reimplementation = of the Bitcoin protocol/standard, I do think Bitcoin is filled with arbitra= ry endianness and magic numbers. However it is a tiny and simple protocol.= =0A=0AThe big problem is not implementing the Bitcoin protocol, but the fac= t that once you have created a codebase, you want to perfect and fine-tune = the design. During the meantime, the Bitcoin protocol is being changed. Cha= nge to the Bitcoin protocol is far more damaging to people that want to imp= lement the protocol than any issues with the current protocol.=0A=0AThat's = not to say, I disagree with changes to the protocol. I think changes should= be a lot more conservative and have a longer time frame than they do curre= ntly. Usually changes suddenly get added to the Satoshi client and I notice= them in the commit log or announcements. Then it's like "oh I have to add = this" and I spend a week working to implement the change without proper con= sideration or reflection which ends up with me having to compromise on desi= gn choices. That is to remain compatible with the protocol.=0A=0AHowever it= is not my intent to slow down progress so I usually try to hedge against t= hat kind of feeling towards conservatism.=0A=0A=0A=0A----- Original Message= -----=0AFrom: Jeff Garzik =0ATo: Wladimir =0ACc: bitcoin-development@lists.sourceforge.net=0ASent: Sunday, Jun= e 17, 2012 5:19 PM=0ASubject: Re: [Bitcoin-development] Proposed new P2P co= mmand and response: getcmds, cmdlist=0A=0AOn Sat, Jun 16, 2012 at 4:42 AM, = Wladimir wrote:=0A> Which is a perfectly reasonable requ= irement. However, one could simply=0A> standardize what a 'thin client' and= what a 'thick client' does and offers=0A> (at a certain version level), wi= thout having to explicitly enumerate=0A> everything over the protocol.=0A>= =0A> This also makes it easier to deprecate (lack of) certain features late= r on.=0A> You can simply drop support for protocol versions before a certai= n number=0A> (which has happened before). With the extension system this is= much harder,=0A> which likely means you keep certain workarounds forever.= =0A>=0A> Letting the node know of each others capabilities at connection ti= me helps=0A> somewhat. It'd allow refusing clients that do not implement a = certain=0A> feature. Then again, to me it's unclear what this wins compared= to=0A> incremental protocol versions with clear requirements.=0A>=0A> I'm = just afraid that the currently simple P2P protocol will turn into a zoo=0A>= of complicated (and potentially buggy/insecure) interactions.=0A=0AWhat is= missing here is some perspective on the current situation.=A0 It=0Ais -ver= y- easy to make a protocol change and bump PROTOCOL_VERSION in=0Athe Satosh= i client.=0A=0ABut for anyone maintaining a non-Satoshi codebase, the P2P p= rotocol is=0Aalready filled with all sorts of magic numbers, arbitrarily ve= rsioned=0Abinary data structures..=A0 already an unfriendly zoo of complica= ted and=0Apotentially buggy interactions.=A0 There is scant, incomplete=0Ad= ocumentation on the wiki -- the Satoshi source code is really the=0Aonly tr= ue reference.=0A=0AI see these problems personally, trying to keep ArtForz'= half-a-node=0Arunning on mainnet (distributed as 'blkmond' with pushpool).= =0A=0AIn an era of HTTP and JSON, NFS and iSCSI, bitcoin's P2P protocol is= =0Awoefully backwards, fragile, limited and inflexible when it comes to=0Ap= arameter/extension exchange and negotiation.=A0 Even iSCSI, that which=0Ais= implemented on hard drive firmware, has the ability to exchange=0Akey=3Dva= lue=A0 parameters between local and remote sides of the RPC=0Aconnection.= =0A=0ACalling the current P2P protocol "simple" belies all the=0Aimplementa= tion details you absolutely -must- get right, to run on=0Amainnet today.=A0= Satoshi client devs almost never see the fragility and=0Acomplexity inhere= nt in the current legacy codebase, built up over=0Atime.=0A=0A-- =0AJeff Ga= rzik=0AexMULTI, Inc.=0Ajgarzik@exmulti.com=0A=0A---------------------------= ---------------------------------------------------=0ALive Security Virtual= Conference=0AExclusive live event will cover all the ways today's security= and =0Athreat landscape has changed and how IT managers can respond. Discu= ssions =0Awill include endpoint security, mobile security and the latest in= malware =0Athreats. http://www.accelacomm.com/jaw/sfrnl04242012/114/501222= 63/=0A_______________________________________________=0ABitcoin-development= mailing list=0ABitcoin-development@lists.sourceforge.net=0Ahttps://lists.s= ourceforge.net/lists/listinfo/bitcoin-development=0A