Gregory Maxwell [ARCHIVE] on Nostr: 📅 Original date posted:2015-12-09 📝 Original message:On Wed, Dec 9, 2015 at ...
📅 Original date posted:2015-12-09
📝 Original message:On Wed, Dec 9, 2015 at 6:59 AM, Mark Friedenbach <mark at friedenbach.org> wrote:
> Greg, if you have actual data showing that putting the commitment in the
> last transaction would be disruptive, and how disruptive, that would be
> appreciated. Of the mining hardware I have looked at, none of it cared at
> all what transactions other than the coinbase are. You need to provide a
> path to the coinbase for extranonce rolling, but the witness commitment
> wouldn't need to be updated.
>
> I'm sorry but it's not clear how this would be an incompatible upgrade,
> disruptive to anything other than the transaction selection code. Maybe I'm
> missing something? I'm not familiar with all the hardware or pooling setups
> out there.
I didn't comment on the transaction output. I have commented on
coinbase outputs and on a hard-fork.
Using an output in the last transaction would break the assumption
that you can truncate a block and still have a valid block. This is
used by some mining setups currently, because GBT does not generate
the coinbase transaction and so cannot know its size; and you may have
to drop the last transaction(s) to make room for it.
That a block can be truncated and still result in a valid block also
seems like a useful property to me.
If the input for that transaction is supposed to be generated from a
coinbase output some blocks earlier, then this may again run into
hardware output constraints in coinbase transactions. (But it may be
better since it wouldn't matter which output created it.). This could
likely be escaped by creating a zero value output only once and just
rolling it forward.
Published at
2023-06-07 17:45:43Event JSON
{
"id": "87589824b8904a994cf5b9e68473378f3433cfb8cbb12246896a4d457494becc",
"pubkey": "4aa6cf9aa5c8e98f401dac603c6a10207509b6a07317676e9d6615f3d7103d73",
"created_at": 1686159943,
"kind": 1,
"tags": [
[
"e",
"558b0da1f3869961bbef0556878e1dd6b9ae37e86128bc130bab17f5332c918d",
"",
"root"
],
[
"e",
"4e77f6c02f72a15742307b52ed384e6cb240cf715c795dfa3b757a8feb1ad16a",
"",
"reply"
],
[
"p",
"1c61d995949cbfaf14f767784e166bde865c7b8783d7aa3bf0a1d014b70c0069"
]
],
"content": "📅 Original date posted:2015-12-09\n📝 Original message:On Wed, Dec 9, 2015 at 6:59 AM, Mark Friedenbach \u003cmark at friedenbach.org\u003e wrote:\n\u003e Greg, if you have actual data showing that putting the commitment in the\n\u003e last transaction would be disruptive, and how disruptive, that would be\n\u003e appreciated. Of the mining hardware I have looked at, none of it cared at\n\u003e all what transactions other than the coinbase are. You need to provide a\n\u003e path to the coinbase for extranonce rolling, but the witness commitment\n\u003e wouldn't need to be updated.\n\u003e\n\u003e I'm sorry but it's not clear how this would be an incompatible upgrade,\n\u003e disruptive to anything other than the transaction selection code. Maybe I'm\n\u003e missing something? I'm not familiar with all the hardware or pooling setups\n\u003e out there.\n\nI didn't comment on the transaction output. I have commented on\ncoinbase outputs and on a hard-fork.\n\nUsing an output in the last transaction would break the assumption\nthat you can truncate a block and still have a valid block. This is\nused by some mining setups currently, because GBT does not generate\nthe coinbase transaction and so cannot know its size; and you may have\nto drop the last transaction(s) to make room for it.\n\nThat a block can be truncated and still result in a valid block also\nseems like a useful property to me.\n\nIf the input for that transaction is supposed to be generated from a\ncoinbase output some blocks earlier, then this may again run into\nhardware output constraints in coinbase transactions. (But it may be\nbetter since it wouldn't matter which output created it.). This could\nlikely be escaped by creating a zero value output only once and just\nrolling it forward.",
"sig": "3d2df540ef9fc806e23a8d8c5aaa0c9d9d041dd52596a06727019ffe21a01a07c3a9a4ce36a3b8e7c301251b7a5ec2d73b44d529beb892143d917f4506f3ec67"
}