Received: from sog-mx-2.v43.ch3.sourceforge.com ([172.29.43.192] helo=mx.sourceforge.net) by sfs-ml-2.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1S2QbB-00024H-3z for bitcoin-development@lists.sourceforge.net; Tue, 28 Feb 2012 17:12:25 +0000 X-ACL-Warn: Received: from netmind.hu ([85.17.45.8] helo=mail.netmind.hu) by sog-mx-2.v43.ch3.sourceforge.com with esmtp (Exim 4.76) id 1S2Qb5-0005GN-2z for bitcoin-development@lists.sourceforge.net; Tue, 28 Feb 2012 17:12:25 +0000 Received: from [192.168.1.100] (188-195-182-160-dynip.superkabel.de [188.195.182.160]) by mail.netmind.hu (Postfix) with ESMTPSA id EE19D2E2594 for ; Tue, 28 Feb 2012 18:09:34 +0100 (CET) Message-ID: <4F4D0AEC.8060400@netmind.hu> Date: Tue, 28 Feb 2012 18:12:12 +0100 From: =?ISO-8859-1?Q?Brautigam_R=F3bert?= User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2 MIME-Version: 1.0 To: bitcoin-development@lists.sourceforge.net References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.0 (/) X-Spam-Report: Spam Filtering performed by mx.sourceforge.net. See http://spamassassin.org/tag/ for more details. -0.0 T_RP_MATCHES_RCVD Envelope sender domain matches handover relay domain X-Headers-End: 1S2Qb5-0005GN-2z Subject: Re: [Bitcoin-development] Duplicate transactions vulnerability 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: Tue, 28 Feb 2012 17:12:25 -0000 On 02/28/2012 05:48 PM, Pieter Wuille wrote: > Hello all, Hi, > as some of you may know, a vulnerability has been found in how the > Bitcoin reference client deals with duplicate transactions. Exploiting > it is rather complex, requires some hash power, and has no financial > benefit for the attacker. Still, it's a security hole, and we'd like > to fix this as soon as possible. > > A simple way to fix this, is adding an extra protocol rule[1]: > > Do not allow blocks to contain a transaction whose hash is equal to > that of a former transaction which has not yet been completely spent. I don't know whether I understand this correctly, but there should be no duplicate transaction hashes at all. So the rule should be: Do not allow blocks to contain transaction hashes which are already present in that branch. If by a freak accident a transaction has the same hash as another transaction in the chain, shouldn't the transaction be "tweaked" in some way to avoid collision (generate a new target address for it or something)? In any case this seams very-very unlikely to happen, or am I missing something? Robert.