{"type":"rich","version":"1.0","author_name":"npub1g6vxlp4e0nyhs2dqxxcryztyf5f5hyuaq93nw4r87zcnv0sdsa0qqsl5wd","author_url":"https://nostr.ae/npub1g6vxlp4e0nyhs2dqxxcryztyf5f5hyuaq93nw4r87zcnv0sdsa0qqsl5wd","provider_name":"njump","provider_url":"https://nostr.ae","html":"📅 Original date posted:2015-12-08\n📝 Original message:On Tue, Dec 8, 2015 at 5:41 PM, Mark Friedenbach via bitcoin-dev \u003c\nbitcoin-dev at lists.linuxfoundation.org\u003e wrote:\n\n\u003e A far better place than the generation transaction (which I assume means\n\u003e coinbase transaction?) is the last transaction in the block. That allows\n\u003e you to save, on average, half of the hashes in the Merkle tree.\n\u003e\n\nThis trick can be improved by only using certain tx counts.  If the number\nof transactions is limited to a power of 2 (other than the extra\ntransactions), then you get a path of length zero.\n\nThe number of non-zero bits in the tx count determings how many digests are\nrequired.\n\nhttps://github.com/TierNolan/bips/blob/aux_header/bip-aux-header.mediawiki\n\nThis gets the benefit of a soft-fork, while also keeping the proof lengths\nsmall.  The linked bip has a 105 byte overhead for the path.\n\nThe cost is that only certain transaction counts are allowed.  In the worst\ncase, 12.5% of transactions would have to be left in the memory pool.  This\nmeans around 7% of transactions would be delayed until the next block.\n\nBlank transactions (or just transactions with low latency requirements)\ncould be used to increase the count so that it is raised to one of the\nvalid numbers.\n\nManaging the UTXO set to ensure that there is at least one output that pays\nto OP_TRUE is also a hassle.\n-------------- next part --------------\nAn HTML attachment was scrubbed...\nURL: \u003chttp://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20151208/99821607/attachment.html\u003e"}
