Return-Path: Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id DC6621264 for ; Fri, 18 Sep 2015 09:12:29 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from s47.web-hosting.com (s47.web-hosting.com [199.188.200.16]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 8415D140 for ; Fri, 18 Sep 2015 09:12:29 +0000 (UTC) Received: from localhost ([::1]:38014 helo=server47.web-hosting.com) by server47.web-hosting.com with esmtpa (Exim 4.85) (envelope-from ) id 1ZcriW-001viA-49; Fri, 18 Sep 2015 05:12:28 -0400 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Date: Fri, 18 Sep 2015 05:12:27 -0400 From: jl2012@xbt.hk To: Btc Drak In-Reply-To: References: <014345a983eabf243d9ce127de0dff7c@xbt.hk> Message-ID: X-Sender: jl2012@xbt.hk User-Agent: Roundcube Webmail/1.0.5 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - server47.web-hosting.com X-AntiAbuse: Original Domain - lists.linuxfoundation.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - xbt.hk X-Get-Message-Sender-Via: server47.web-hosting.com: authenticated_id: jl2012@xbt.hk X-Source: X-Source-Args: X-Source-Dir: X-From-Rewrite: unmodified, already matched X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_LOW 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] Fill-or-kill transaction X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Bitcoin Development Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 18 Sep 2015 09:12:30 -0000 Btc Drak 於 2015-09-18 02:42 寫到: > On Fri, Sep 18, 2015 at 4:27 AM, jl2012 via bitcoin-dev > wrote: > >> Btc Drak 於 2015-09-17 15:12 寫到: >> >>> Forgive me if I have missed the exact use-case, but this seems >>> overly >>> complex. Surely fill-or-kill refers to getting a transaction >>> confirmed >>> within a few confirms or to drop the tx from the mempool so it >>> wont be >>> considered for inclusion anymore. As such, you could just >>> repurpose a >>> small range of nLocktime such that a TX will be accepted into >>> mempool >>> for a specific period before expiring. >> >> What I'm describing is to implement fill-or-kill as consensus rule. >> Certainly, we could implement it at the P2P network level: >> everything is the same as I described, but the nLockTime2 and >> nKillTime are for reference only and tx validity depends only on the >> nLockTime. Benevolent miners should drop the tx after the suggested >> kill time but there is no guarantee > > Sure, you can make the scheme I describe consensus based by adding the > rule tx is not valid to mine after expiry: this still keeps the > simplicity I described. If you simply redefine a range of unused nLockTime as nKillTime, users will be constrained to use either nLockTime or nKillTime, but not both in the same tx. If we are willing to scarify a large range of tx nVersion, say 10-15bits, the nKillTime data could be embedded there. Another option is nSequence, which will allow per-input nKillTime and nLockTime. The cleanest way, of course, is a hardfork to add a new nKillTime field to the tx so people could use nLockTime and nKillTime in parallel.