jl2012 at xbt.hk [ARCHIVE] on Nostr: š Original date posted:2015-10-03 š Original message:BIP68 allows per-input ...
š
Original date posted:2015-10-03
š Original message:BIP68 allows per-input locktime, though I don't know how this could be
useful.
BIP68 and BIP112 are mostly ready. If we try to reimplement
relative-locktime without using nSequence, we may need to wait for
another year for deployment.
A compromise is to make BIP68 optional, indicated by a bit in tx
nVersion, as I suggested earlier (1). This will allow deploying
relative-locktime without further delay while not permanently limiting
future upgrades.
(1)
http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-August/010043.html
Peter Todd via bitcoin-dev ę¼ 2015-10-03 10:30 åÆ«å°:
> BIP68 and BIP112 collectively define the CHECKSEQUENCEVERIFY semantics,
> which can be summarized conceptually as a relative CHECKLOCKTIMEVERIFY.
> However, CSV does define behavior for the previously undefined
> nSequence
> field, which is the only "free-form" field we currently have in the
> transaction serialization format that can be used for future upgrades -
> we should justify this new behavior carefully as it limits our options
> in the future. Adding new fields to the serialization format is very
> difficult, due to the very broad system-wide impact of the hard-fork
> required to do so.
>
> So we need to make the case for two main things:
>
> 1) We have applications that need a relative (instead of absolute CLTV)
>
> 2) Additionally to RCLTV, we need to implement this via nSequence
>
> To show we need RCLTV BIP112 provides the example "Escrow with
> Timeout",
> which is a need that was brought up by GreenAddress, among others; I
> don't think we have an issue there, though getting more examples would
> be a good thing. (the CLTV BIP describes seven use cases, and one
> additional future use-case)
>
> However I don't think we've done a good job showing why we need to
> implement this feature via nSequence. BIP68 describes the new nSequence
> semantics, and gives the rational for them as being a
> "Consensus-enforced tx replacement" mechanism, with a bidirectional
> payment channel as an example of this in action. However, the
> bidirectional payment channel concept itself can be easily implemented
> with CLTV alone. There is a small drawback in that the initial
> transaction could be delayed, reducing the overall time the channel
> exists, but the protocol already assumes that transactions can be
> reliably confirmed within a day - significantly less than the proposed
> 30 days duration of the channel. That example alone I don't think
> justifies a fairly complex soft-fork that limits future upgrades; we
> need more justification.
>
> So, what else can the community come up with? nSequence itself exists
> because of a failed feature that turned out to not work as intended;
> it'd be a shame to make that kind of mistake again, so let's get our
> semantics and use-cases in the BIPs and documented before we deploy.
>
> _______________________________________________
> bitcoin-dev mailing list
> bitcoin-dev at lists.linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
š Original message:BIP68 allows per-input locktime, though I don't know how this could be
useful.
BIP68 and BIP112 are mostly ready. If we try to reimplement
relative-locktime without using nSequence, we may need to wait for
another year for deployment.
A compromise is to make BIP68 optional, indicated by a bit in tx
nVersion, as I suggested earlier (1). This will allow deploying
relative-locktime without further delay while not permanently limiting
future upgrades.
(1)
http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-August/010043.html
Peter Todd via bitcoin-dev ę¼ 2015-10-03 10:30 åÆ«å°:
> BIP68 and BIP112 collectively define the CHECKSEQUENCEVERIFY semantics,
> which can be summarized conceptually as a relative CHECKLOCKTIMEVERIFY.
> However, CSV does define behavior for the previously undefined
> nSequence
> field, which is the only "free-form" field we currently have in the
> transaction serialization format that can be used for future upgrades -
> we should justify this new behavior carefully as it limits our options
> in the future. Adding new fields to the serialization format is very
> difficult, due to the very broad system-wide impact of the hard-fork
> required to do so.
>
> So we need to make the case for two main things:
>
> 1) We have applications that need a relative (instead of absolute CLTV)
>
> 2) Additionally to RCLTV, we need to implement this via nSequence
>
> To show we need RCLTV BIP112 provides the example "Escrow with
> Timeout",
> which is a need that was brought up by GreenAddress, among others; I
> don't think we have an issue there, though getting more examples would
> be a good thing. (the CLTV BIP describes seven use cases, and one
> additional future use-case)
>
> However I don't think we've done a good job showing why we need to
> implement this feature via nSequence. BIP68 describes the new nSequence
> semantics, and gives the rational for them as being a
> "Consensus-enforced tx replacement" mechanism, with a bidirectional
> payment channel as an example of this in action. However, the
> bidirectional payment channel concept itself can be easily implemented
> with CLTV alone. There is a small drawback in that the initial
> transaction could be delayed, reducing the overall time the channel
> exists, but the protocol already assumes that transactions can be
> reliably confirmed within a day - significantly less than the proposed
> 30 days duration of the channel. That example alone I don't think
> justifies a fairly complex soft-fork that limits future upgrades; we
> need more justification.
>
> So, what else can the community come up with? nSequence itself exists
> because of a failed feature that turned out to not work as intended;
> it'd be a shame to make that kind of mistake again, so let's get our
> semantics and use-cases in the BIPs and documented before we deploy.
>
> _______________________________________________
> bitcoin-dev mailing list
> bitcoin-dev at lists.linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev