<oembed><type>rich</type><version>1.0</version><author_name>npub1ac86vemj7ce5z8jyxt39rna3tvwql6xd30ha3vxcd6esysp23d9qrlswfj</author_name><author_url>https://nostr.ae/npub1ac86vemj7ce5z8jyxt39rna3tvwql6xd30ha3vxcd6esysp23d9qrlswfj</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2013-06-02&#xA;📝 Original message:So the idea is that people may want to use proof-of-work unrelated to&#xA;bitcoin, and abuse bitcoin to obtain that proof, in a way denominated in BTC&#xA;(and with a published USD exchange rate).  And the ways they can do that are&#xA;to:&#xA;&#xA;a) create unspendable addresses (which maybe you cant compact in the UTXO&#xA;set if the unspendable address choices are not standardized)&#xA;&#xA;b) spend to anyone which I take it goes to a random person who happens to&#xA;see the address first and race the &#34;spend to me&#34; out on to the network, and&#xA;hope miners dnt replace it with &#34;spend to miner&#34;, which is insecure&#xA;&#xA;c) doesnt delay by 100 blocks just delay the &#34;spend to me&#34; race?  Also most&#xA;likely to be one by a big miner once they adapt and join the race.&#xA;&#xA;d) some new standardized spend to fees (only miners can claim).&#xA;&#xA;e) spend to charity/non-profit of choice could be useful also&#xA;&#xA;f) I guess we see something related in zerocoin - locked but unlockable via&#xA;another type of transaction later.&#xA;&#xA;g) why not instead make the beneficiary the address of the service the user&#xA;is consuming that is being DoS protected by the proof-of-sacrifice?  Seems&#xA;more useful than burning virtual money, then it helps the bitcoin network&#xA;AND it helps the service provide better service!&#xA;&#xA;so if I understand what you proposed d) seems like a useful concept if that&#xA;is not currently possible.  eg alternatively could we not just propose a&#xA;standard recognized address that clearly no-one knows the EC discrete log&#xA;of?&#xA;&#xA;Adam&#xA;&#xA;On Sat, Jun 01, 2013 at 03:30:36PM -0400, Peter Todd wrote:&#xA;&gt;Currently the most compact way (proof-size) to sacrifice Bitcoins that&#xA;&gt;does not involve making them unspendable is to create a anyone-can-spend&#xA;&gt;output as the last txout in the coinbase of a block:&#xA;&gt;&#xA;&gt;scriptPubKey: &lt;data&gt; OP_TRUE&#xA;&gt;&#xA;&gt;The proof is then the SHA256 midstate, the txout, and the merkle path to&#xA;&gt;the block header. However this mechanism needs miner support, and it is&#xA;&gt;not possible to pay for such a sacrifice securely, or create an&#xA;&gt;assurance contract to create one.&#xA;&gt;&#xA;&gt;A anyone-can-spend in a regular txout is another option, but there is no&#xA;&gt;way to prevent a miner from including a transaction spending that txout&#xA;&gt;in the same block. Once that happens, there is no way to prove the miner&#xA;&gt;didn&#39;t create both, thus invalidating the sacrifice. The announce-commit&#xA;&gt;protocol solves that problem, but at the cost of a much larger proof,&#xA;&gt;especially if multiple parties want to get together to pay the cost of&#xA;&gt;the sacrifice. (the proof must include the entire tx used to make the&#xA;&gt;sacrifice)&#xA;&gt;&#xA;&gt;However if we add a rule where txouts ending in OP_TRUE are unspendable&#xA;&gt;for 100 blocks, similar to coinbases, we fix these problems. The rule&#xA;&gt;can be done as a soft-fork with 95% support in the same way the&#xA;&gt;blockheight rule was implemented. Along with that change&#xA;&gt;anyone-can-spend outputs should be make IsStandard() so they will be&#xA;&gt;relayed.&#xA;&gt;&#xA;&gt;The alternative is sacrifices to unspendable outputs, which is very&#xA;&gt;undesirable compared to sending the money to miners to further&#xA;&gt;strengthen the security of the network.&#xA;&gt;&#xA;&gt;We should always make it easy for people to write code that does what is&#xA;&gt;best for Bitcoin.&#xA;&gt;&#xA;&gt;-- &#xA;&gt;&#39;peter&#39;[:-1]@petertodd.org&#xA;&gt;00000000000000ce3427502ee6a254fed27e1cd21a656a335cd2ada79b7b5293&#xA;&#xA;&#xA;&#xA;&gt;------------------------------------------------------------------------------&#xA;&gt;Get 100% visibility into Java/.NET code with AppDynamics Lite&#xA;&gt;It&#39;s a free troubleshooting tool designed for production&#xA;&gt;Get down to code-level detail for bottlenecks, with &lt;2% overhead.&#xA;&gt;Download for free and get started troubleshooting in minutes.&#xA;&gt;http://p.sf.net/sfu/appdyn_d2d_ap2&#xA;&#xA;&gt;_______________________________________________&#xA;&gt;Bitcoin-development mailing list&#xA;&gt;Bitcoin-development at lists.sourceforge.net&#xA;&gt;https://lists.sourceforge.net/lists/listinfo/bitcoin-development</html></oembed>