{"type":"rich","version":"1.0","author_name":"npub1m230cem2yh3mtdzkg32qhj73uytgkyg5ylxsu083n3tpjnajxx4qqa2np2","author_url":"https://nostr.ae/npub1m230cem2yh3mtdzkg32qhj73uytgkyg5ylxsu083n3tpjnajxx4qqa2np2","provider_name":"njump","provider_url":"https://nostr.ae","html":"📅 Original date posted:2013-06-02\n📝 Original message:On Sat, Jun 01, 2013 at 10:32:07PM -0400, Gavin wrote:\n\u003e Feels like a new opcode might be better.\n\u003e \n\u003e Eg  \u003cdata\u003e 100 OP_NOP1\n\u003e \n\u003e ... Where op_nop1 is redefined to be 'verify depth' ... \n\nGood idea.\n\nEither way, looks like complex announce-commit logic isn't needed and a\nsimple txout with one of a few possible forms will work.\n\nI'd say we tell people to sacrifice to (provably) unspendable for now\nand do a soft-fork later if there is real demand for this stuff in the\nfuture.\n\n\u003e On Jun 1, 2013, at 3:30 PM, Peter Todd \u003cpete at petertodd.org\u003e wrote:\n\u003e \n\u003e \u003e Currently the most compact way (proof-size) to sacrifice Bitcoins that\n\u003e \u003e does not involve making them unspendable is to create a anyone-can-spend\n\u003e \u003e output as the last txout in the coinbase of a block:\n\u003e \u003e \n\u003e \u003e scriptPubKey: \u003cdata\u003e OP_TRUE\n\u003e \u003e \n\u003e \u003e The proof is then the SHA256 midstate, the txout, and the merkle path to\n\u003e \u003e the block header. However this mechanism needs miner support, and it is\n\u003e \u003e not possible to pay for such a sacrifice securely, or create an\n\u003e \u003e assurance contract to create one.\n\u003e \u003e \n\u003e \u003e A anyone-can-spend in a regular txout is another option, but there is no\n\u003e \u003e way to prevent a miner from including a transaction spending that txout\n\u003e \u003e in the same block. Once that happens, there is no way to prove the miner\n\u003e \u003e didn't create both, thus invalidating the sacrifice. The announce-commit\n\u003e \u003e protocol solves that problem, but at the cost of a much larger proof,\n\u003e \u003e especially if multiple parties want to get together to pay the cost of\n\u003e \u003e the sacrifice. (the proof must include the entire tx used to make the\n\u003e \u003e sacrifice)\n\u003e \u003e \n\u003e \u003e However if we add a rule where txouts ending in OP_TRUE are unspendable\n\u003e \u003e for 100 blocks, similar to coinbases, we fix these problems. The rule\n\u003e \u003e can be done as a soft-fork with 95% support in the same way the\n\u003e \u003e blockheight rule was implemented. Along with that change\n\u003e \u003e anyone-can-spend outputs should be make IsStandard() so they will be\n\u003e \u003e relayed.\n\u003e \u003e \n\u003e \u003e The alternative is sacrifices to unspendable outputs, which is very\n\u003e \u003e undesirable compared to sending the money to miners to further\n\u003e \u003e strengthen the security of the network.\n\u003e \u003e \n\u003e \u003e We should always make it easy for people to write code that does what is\n\u003e \u003e best for Bitcoin.\n\n-- \n'peter'[:-1]@petertodd.org\n0000000000000092f448c7630e47584650efa7e27604161c0b5984d603d944ea\n-------------- next part --------------\nA non-text attachment was scrubbed...\nName: signature.asc\nType: application/pgp-signature\nSize: 490 bytes\nDesc: Digital signature\nURL: \u003chttp://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20130602/e4620fb3/attachment.sig\u003e"}
