On Fri, Feb 16, 2018 at 10:49 PM, Johnson Lau via bitcoin-dev <bitcoin-dev@lists.linuxfoundation.org> wrote: > Since we have a block weight limit of 4,000,000 and sigop limit of 80,000, > each sigop could not use more than 50 weight unit on average. For new script > proposals we could count the actual number of sigop at execution (i.e. skip > unexecuted sigop, skip 0-size signature, count the actual checksig > operations in multi-sig), and make sure the number of executed sigop * 50 is > not greater than the size of the input.
We have a related policy rule in Bitcoin Core for some time now, the weight of the transaction for the purpose of mining is max(weight,lambda*sigops), though we set lambda a bit lower than makes sense due to how checkmultisig. This policy rule replaced an earlier one which was almost equivalent to your proposal: it rejected transactions with too many sigops per the byte count, but we found it block actual more or less sensible transactions. Going forward I don't think this is a great framework. It works if the only expensive operations all involve large input data, but I think many proposals people have made for new operations would have computational cost which requires relatively small amounts of additional input-- aggregation is just one fairly minor example. _______________________________________________ bitcoin-dev mailing list bitcoin-dev@lists.linuxfoundation.org https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev