Return-Path: Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 38030BC0 for ; Wed, 25 Jan 2017 07:22:24 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from sender163-mail.zoho.com (sender163-mail.zoho.com [74.201.84.163]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 94C5C140 for ; Wed, 25 Jan 2017 07:22:23 +0000 (UTC) Received: from [192.168.1.111] (137.189.135.19 [137.189.135.19]) by mx.zohomail.com with SMTPS id 1485328921028196.11692641878324; Tue, 24 Jan 2017 23:22:01 -0800 (PST) From: Johnson Lau Message-Id: <45F53199-C8AC-4DD3-B746-D56F9F01946B@xbt.hk> Content-Type: multipart/alternative; boundary="Apple-Mail=_FDE79A39-A0C4-46E7-A6F0-630708C549A5" Mime-Version: 1.0 (Mac OS X Mail 10.2 \(3259\)) Date: Wed, 25 Jan 2017 15:21:57 +0800 In-Reply-To: To: Natanael References: <311FE02A-F3B5-4F88-B6C8-F0E78CC46903@xbt.hk> X-Mailer: Apple Mail (2.3259) X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,HTML_MESSAGE, RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org Cc: bitcoin-dev Subject: Re: [bitcoin-dev] Anti-transaction replay in a hardfork X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Bitcoin Protocol Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Jan 2017 07:22:24 -0000 --Apple-Mail=_FDE79A39-A0C4-46E7-A6F0-630708C549A5 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii Assuming Alice is paying Bob with an old style time-locked tx. Under = your proposal, after the hardfork, Bob is still able to confirm the = time-locked tx on both networks. To fulfil your new rules he just needs = to send the outputs to himself again (with different tx format). But as = Bob gets all the money on both forks, it is already a successful replay > On 25 Jan 2017, at 15:15, Natanael wrote: >=20 >=20 > Den 25 jan. 2017 08:06 skrev "Johnson Lau" >: > What you describe is not a fix of replay attack. By confirming the = same tx in both network, the tx has been already replayed. Their child = txs do not matter. >=20 > Read it again.=20 >=20 > The validation algorithm would be extended so that the transaction = can't be replayed, because replaying it in the other network REQUIRES a = child transaction in the same block that is valid, a child transaction = the is unique to the network. By doing this policy change simultaneously = in both networks, old pre-signed transactions *can not be replayed by = anybody but the owner* of the coins (as he must spend them immediately = in the child transaction).=20 >=20 > It means that as soon as spent, the UTXO sets immediately and = irrevocably diverges across the two networks. Which is the entire point, = isn't it?=20 --Apple-Mail=_FDE79A39-A0C4-46E7-A6F0-630708C549A5 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=us-ascii
Assuming Alice is paying Bob with an old = style time-locked tx. Under your proposal, after the hardfork, Bob is = still able to confirm the time-locked tx on both networks. To fulfil = your new rules he just needs to send the outputs to himself again (with = different tx format). But as Bob gets all the money on both forks, it is = already a successful replay


On = 25 Jan 2017, at 15:15, Natanael <natanael.l@gmail.com> wrote:


Den 25 jan. 2017 08:06 skrev "Johnson Lau" <jl2012@xbt.hk>:
What you describe is not a fix of replay = attack. By confirming the same tx in both network, the tx has been = already replayed. Their child txs do not = matter.

Read it = again. 

The validation algorithm would be extended so = that the transaction can't be replayed, because replaying it in the = other network REQUIRES a child transaction in the same block that is = valid, a child transaction the is unique to the network. By doing this = policy change simultaneously in both networks, old pre-signed = transactions *can not be replayed by anybody but the owner* of the coins = (as he must spend them immediately in the child = transaction). 

It means that as soon as = spent, the UTXO sets immediately and irrevocably diverges across the two = networks. Which is the entire point, isn't it? 

= --Apple-Mail=_FDE79A39-A0C4-46E7-A6F0-630708C549A5--