From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from sog-mx-1.v43.ch3.sourceforge.com ([172.29.43.191] helo=mx.sourceforge.net) by sfs-ml-1.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1YzbL8-0002w5-4k for bitcoin-development@lists.sourceforge.net; Tue, 02 Jun 2015 01:50:02 +0000 X-ACL-Warn: Received: from mail-ig0-f176.google.com ([209.85.213.176]) by sog-mx-1.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128) (Exim 4.76) id 1YzbL5-0002k7-0o for bitcoin-development@lists.sourceforge.net; Tue, 02 Jun 2015 01:50:02 +0000 Received: by igbyr2 with SMTP id yr2so76373688igb.0 for ; Mon, 01 Jun 2015 18:49:53 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:from:date:message-id:subject:to :content-type; bh=5j/PyiVXYUmJYHFdM6L7rRw730hqaQ6pXO5NgJcFr4Q=; b=Kw2CUl3n0e1LGACNenXfVcNgV1psrw1CK3EqbE8oqfqNbCdSOnfxRvvc3I3TLNd1yu Hq35sr5hMiekTekDNQc5ZK2GClDymdiAMRg83+Nfer5NE5H3mlgH5E61w2H/9pMRz+HQ UjoW9jtZLZBaI+BAOGwwHn6oBcJwzkYNpsJUH7VFVYGAKy1THfVzRoztRyAsXlv9iLq2 JSgVeO8ncaPH3fYIlln2o+G7A1qFyegW26DTeYUJ5JSy/C8yc4GDd3LyEuu0pljGejYn ZwetZyXc/DVdb1lYzZrrDy6o1GG/F9kZ13HiVvqGABKyC7j3BvDzMKiVlP/iwfOocaMa sbqg== X-Gm-Message-State: ALoCoQleOLCJWtTIiBltLSuNPPYpNLHlHbCLC8300EPK5gjKeCfiE5Vxmg1iuy8xo6XIHq8gyVws X-Received: by 10.43.40.130 with SMTP id tq2mr32435932icb.46.1433209793456; Mon, 01 Jun 2015 18:49:53 -0700 (PDT) MIME-Version: 1.0 Received: by 10.107.10.197 with HTTP; Mon, 1 Jun 2015 18:49:33 -0700 (PDT) X-Originating-IP: [173.228.107.141] From: Mark Friedenbach Date: Mon, 1 Jun 2015 18:49:33 -0700 Message-ID: To: Bitcoin Development , Gregory Maxwell Content-Type: multipart/alternative; boundary=bcaec51dd849a0c3c605177f2836 X-Spam-Score: 1.0 (+) X-Spam-Report: Spam Filtering performed by mx.sourceforge.net. See http://spamassassin.org/tag/ for more details. 1.0 HTML_MESSAGE BODY: HTML included in message X-Headers-End: 1YzbL5-0002k7-0o Subject: [Bitcoin-development] [BIP draft] Consensus-enforced transaction replacement signalled via sequence numbers 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, 02 Jun 2015 01:50:02 -0000 --bcaec51dd849a0c3c605177f2836 Content-Type: text/plain; charset=UTF-8 I have written a reference implementation and BIP draft for a soft-fork change to the consensus-enforced behaviour of sequence numbers for the purpose of supporting transaction replacement via per-input relative lock-times. This proposal was previously discussed on the mailing list in the following thread: http://sourceforge.net/p/bitcoin/mailman/message/34146752/ In short summary, this proposal seeks to enable safe transaction replacement by re-purposing the nSequence field of a transaction input to be a consensus-enforced relative lock-time. The advantages of this approach is that it makes use of the full range of the 32-bit sequence number which until now has rarely been used for anything other than a boolean control over absolute nLockTime, and it does so in a way that is semantically compatible with the originally envisioned use of sequence numbers for fast mempool transaction replacement. The disadvantages are that external constraints often prevent the full range of sequence numbers from being used when interpreted as a relative lock-time, and re-purposing nSequence as a relative lock-time precludes its use in other contexts. The latter point has been partially addressed by having the relative lock-time semantics be enforced only if the most-significant bit of nSequence is set. This preserves 31 bits for alternative use when relative lock-times are not required. The BIP draft can be found at the following gist: https://gist.github.com/maaku/be15629fe64618b14f5a The reference implementation is available at the following git repository: https://github.com/maaku/bitcoin/tree/sequencenumbers I request that the BIP editor please assign a BIP number for this work. Sincerely, Mark Friedenbach --bcaec51dd849a0c3c605177f2836 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
I have written a reference implementation and BIP dra= ft for a soft-fork change to the consensus-enforced behaviour of sequence n= umbers for the purpose of supporting transaction replacement via per-input = relative lock-times. This proposal was previously discussed on the mailing = list in the following thread:

http://sourceforge.net/p/bitcoin/mailman/m= essage/34146752/

In short summary, this proposal seek= s to enable safe transaction replacement by re-purposing the nSequence fiel= d of a transaction input to be a consensus-enforced relative lock-time.
=
The advantages of this approach is that it makes use of the full range = of the 32-bit sequence number which until now has rarely been used for anyt= hing other than a boolean control over absolute nLockTime, and it does so i= n a way that is semantically compatible with the originally envisioned use = of sequence numbers for fast mempool transaction replacement.

=
The disadvantages are that external constraints often prevent the full= range of sequence numbers from being used when interpreted as a relative l= ock-time, and re-purposing nSequence as a relative lock-time precludes its = use in other contexts. The latter point has been partially addressed by hav= ing the relative lock-time semantics be enforced only if the most-significa= nt bit of nSequence is set. This preserves 31 bits for alternative use when= relative lock-times are not required.

The BIP= draft can be found at the following gist:

https://gist.github.com/maaku/be15629= fe64618b14f5a

The reference implementation is availab= le at the following git repository:
I request that the BIP editor= please assign a BIP number for this work.

Sincerely,
=
Mark Friedenbach
--bcaec51dd849a0c3c605177f2836--