Gregory Maxwell [ARCHIVE] on Nostr: 📅 Original date posted:2014-12-30 📝 Original message:On Mon, Dec 29, 2014 at ...
📅 Original date posted:2014-12-30
📝 Original message:On Mon, Dec 29, 2014 at 7:21 PM, Sergio Lerner
<sergiolerner at certimix.com> wrote:
> I propose to allow miners to voluntarily lock funds by letting miners
> add additional inputs to the coinbase transaction. Currently the
> coinbase transaction does not allow any real input to be added (only a
> pseudo-input).
> This is a hard-fork, and we could include it the next time a hardfork is
> made.
> The modifications to the code are minimal (no more than 12 lines
> modified where IsCoinBase() is called), and they generally involve
> removing code, not adding.
If the motivation is purely enabling different rules in a soft-fork
than I think nothing needs to be done.
Instead of providing inputs to a coinbase: you provide an unusual
anyone can spend transaction in the block which pays to fees; and
simultaneously add a soft-forking rule that makes that anyone can
spend rule no longer anyone can spend.
To make that more concrete. E.g. You make your anyone can spend
output "PUSH<hash of coinbase output script_pubkeys> OP_NOP3". Now
this anyone can pay transaction is really just a coinbase input.
The construction is reasonably efficient, and also more flexible-- in
that it could control the data under the hash in more flexible ways
than available in the existing sighash flags.
As an aside, I'm not sure that I agree with the claim that making
coinbases have inputs is a simple modification... as we use one of the
inputs already as the special coinbase field and at least that must be
special cased.
Published at
2023-06-07 15:28:18Event JSON
{
"id": "2f9211381493d3c368a5bcf5f51530ef699f1938629862bb62e9175c37d9279a",
"pubkey": "4aa6cf9aa5c8e98f401dac603c6a10207509b6a07317676e9d6615f3d7103d73",
"created_at": 1686151698,
"kind": 1,
"tags": [
[
"e",
"f6ade51d51dafc917c8be29f489893de2a4b160770ae11b63e489d5ab377f8dd",
"",
"root"
],
[
"e",
"e7e097fe21ad4512a3fbea4ad496918c9b194f28ff66061f99300024ed340ac4",
"",
"reply"
],
[
"p",
"5a6d1f44482b67b5b0d30cc1e829b66a251f0dc99448377dbe3c5e0faf6c3803"
]
],
"content": "📅 Original date posted:2014-12-30\n📝 Original message:On Mon, Dec 29, 2014 at 7:21 PM, Sergio Lerner\n\u003csergiolerner at certimix.com\u003e wrote:\n\u003e I propose to allow miners to voluntarily lock funds by letting miners\n\u003e add additional inputs to the coinbase transaction. Currently the\n\u003e coinbase transaction does not allow any real input to be added (only a\n\u003e pseudo-input).\n\u003e This is a hard-fork, and we could include it the next time a hardfork is\n\u003e made.\n\u003e The modifications to the code are minimal (no more than 12 lines\n\u003e modified where IsCoinBase() is called), and they generally involve\n\u003e removing code, not adding.\n\n\nIf the motivation is purely enabling different rules in a soft-fork\nthan I think nothing needs to be done.\n\nInstead of providing inputs to a coinbase: you provide an unusual\nanyone can spend transaction in the block which pays to fees; and\nsimultaneously add a soft-forking rule that makes that anyone can\nspend rule no longer anyone can spend.\n\nTo make that more concrete. E.g. You make your anyone can spend\noutput \"PUSH\u003chash of coinbase output script_pubkeys\u003e OP_NOP3\". Now\nthis anyone can pay transaction is really just a coinbase input.\n\nThe construction is reasonably efficient, and also more flexible-- in\nthat it could control the data under the hash in more flexible ways\nthan available in the existing sighash flags.\n\n\nAs an aside, I'm not sure that I agree with the claim that making\ncoinbases have inputs is a simple modification... as we use one of the\ninputs already as the special coinbase field and at least that must be\nspecial cased.",
"sig": "dbb1a3013315ab074a49ea8cece33b8d134f6734d67b7e8dca9afaf9ce2a12bb8c11ec4feaa6ce8d1807b40a68360563fb698f27622c731f9f0a013edd42f67e"
}