From a system developer standpoint, CHECKMATURITYVERIFY ties together the semantics of this opcode with another existing feature in the system (coinbase maturity). HOWEVER... from an application developer standpoint, I think the concept of a timelock is more relevant. Maturity is a concept that was introduced for the sake of reducing the disruptive impact of reorgs. Miners would prefer to be able to spend the coins immediately, but instead they are forced to wait due to inherent limitations of the system. Timelocks, on the other hand, are typically used to control when funds can be moved. In these use cases, one or more of the parties involved explicitly want there to be a delay even if there were an idealized situation in which consensus is always reached instantaneously and there were never any reorgs. Moreover, since we already have CLTV, adding RCLTV or some variant thereof makes the relationship between the two more explicit. So my vote goes to RCLTV or RCHECKLOCKTIMEVERIFY. As for whether to explicitly use CHECK_..._VERIFY, consider that with segregated witness it will be possible to add opcodes that can push values onto the stack (rather than just hard failing or NOP), so there's something to be said for naming consistency. - Eric ------ Original Message ------ From: "Jorge Timón" To: "Btc Drak" Cc: "Bitcoin Dev" Sent: 11/24/2015 4:31:55 AM Subject: Re: [bitcoin-dev] Alternative name for CHECKSEQUENCEVERIFY (BIP112) >I agree, I believe the first name that an op with equivalent >functionality had was simply op_maturity. >At least I remember we discussed such an opcode when discussing pegged >sidechains' design. > >I kind of dislike the check_x_verify naming pattern. We want all new >operands to return if whatever they're checking/verifying fails, fine. >Do we have to repeat this redundant naming pattern forever due to that >discovery? >I hope not, but if that's the case my vote is for CMV. >As said before, I believe the documentation and code comments can >become much more clear with this change. >