<oembed><type>rich</type><version>1.0</version><author_name>npub1798ncudyucap9jzzujjsgufx8tdykm8auzfledjcs6f6wf4ekqvq8lpmjt</author_name><author_url>https://nostr.ae/npub1798ncudyucap9jzzujjsgufx8tdykm8auzfledjcs6f6wf4ekqvq8lpmjt</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2014-02-20&#xA;📝 Original message:You could pregenerate entire &#34;trees&#34; of alternative outcomes where you pick&#xA;one branch / chain to broadcast based on the real world events as they&#xA;happen.&#xA;&#xA;But I see another problem regarding use of oracles, if you have a P2SH&#xA;address with 2-of-3 signatures or similar in the chain, amd some&#xA;transactions following it, then the oracle needs to pregenerate both&#xA;transactions for both outcomes in advance. But the oracle probably don&#39;t&#xA;want to actually share it in advance to any third party before the event&#xA;happened.&#xA;&#xA;This can be solved if the oracle only shares the transaction hash in&#xA;advance and then hands out a Zero-knowledge proof of that transaction with&#xA;the given hash is following the agreed upon rules, so you can trust the&#xA;transaction chain anyway and still being able to pregenerate a full tree of&#xA;transactions.&#xA;&#xA;And then the oracle will release one of the possible transactions after the&#xA;event in question has happened, so you can broadcast the chain of choice.&#xA;&#xA;This unfortunately breaks down if the number of possible outcomes becomes&#xA;too many as you would need to both generate and store a tree of possible&#xA;outcomes that is massive.&#xA;&#xA;- Sent from my phone&#xA;Den 20 feb 2014 02:29 skrev &#34;Allen Piscitello&#34; &lt;allen.piscitello at gmail.com&gt;:&#xA;&#xA;&gt; This is somewhat problematic in my use case since some parts need to be in&#xA;&gt; the chain earlier than others and have the same ID as expected.&#xA;&gt;&#xA;&gt; https://bitcointalk.org/index.php?topic=260898.10&#xA;&gt;&#xA;&gt; I haven&#39;t gone back to see if there are any ways around it, but the main&#xA;&gt; problem here is I need the Contract TX to be in the chain much earlier than&#xA;&gt; redeeming, but I need the refund transaction to be in the chain much&#xA;&gt; earlier.  Perhaps there are some tricks to pull off to get it to work, but&#xA;&gt; I haven&#39;t been working on this for a while so I&#39;m a bit rusty in that area.&#xA;&gt;&#xA;&gt; This might be helpful enough to help a lot of use cases, but shouldn&#39;t be&#xA;&gt; final.&#xA;&gt;&#xA;&gt; -Allen&#xA;&gt;&#xA;&gt; On Wed, Feb 19, 2014 at 6:22 PM, Natanael &lt;natanael.l at gmail.com&gt; wrote:&#xA;&gt;&#xA;&gt;&gt; Regarding chains of transactions intended to be published at once&#xA;&gt;&gt; together, wouldn&#39;t it be easier to add a &#34;only-mine-with-child flag&#34;?&#xA;&gt;&gt;&#xA;&gt;&gt; That way the parent transactions aren&#39;t actually valid unless spent&#xA;&gt;&gt; together with the transaction that depends on it, and only the original&#xA;&gt;&gt; will have a child referencing it.&#xA;&gt;&gt;&#xA;&gt;&gt; Then malleability is not an issue at all for transaction chains if you&#xA;&gt;&gt; only need to broadcast your full transaction chain once, and don&#39;t need to&#xA;&gt;&gt; extend it in two or more occasions, *after* broadcasting subchains to the&#xA;&gt;&gt; network, from the same set of pregenerated transactions.&#xA;&gt;&gt;&#xA;&gt;&gt; If you need to broadcast pregenerated subchains separately, then you need&#xA;&gt;&gt; the last child in the chain to be non-malleable.&#xA;&gt;&gt;&#xA;&gt;&gt; This would require all miners to start to respect it at once in order to&#xA;&gt;&gt; avoid forking the network.&#xA;&gt;&gt;&#xA;&gt;&gt; - Sent from my phone&#xA;&gt;&gt; Den 19 feb 2014 22:13 skrev &#34;Pieter Wuille&#34; &lt;pieter.wuille at gmail.com&gt;:&#xA;&gt;&gt;&#xA;&gt;&gt; On Wed, Feb 19, 2014 at 9:28 PM, Michael Gronager &lt;gronager at mac.com&gt;&#xA;&gt;&gt;&gt; wrote:&#xA;&gt;&gt;&gt; &gt; I think that we could guarantee fewer incidents by making version 1&#xA;&gt;&gt;&gt; transactions unmalleable and then optionally introduce a version 3 that&#xA;&gt;&gt;&gt; supported the malleability feature. That way most existing problematic&#xA;&gt;&gt;&gt; implementations would be fixed and no doors were closed for people&#xA;&gt;&gt;&gt; experimenting with other stuff - tx v 3 would probably then be called&#xA;&gt;&gt;&gt; experimental transactions.&#xA;&gt;&gt;&gt;&#xA;&gt;&gt;&gt; Just to be clear: this change is not directly intended to avoid&#xA;&gt;&gt;&gt; &#34;incidents&#34;. It will take way too long to deploy this. Software should&#xA;&gt;&gt;&gt; deal with malleability. This is a longer-term solution intended to&#xA;&gt;&gt;&gt; provide non-malleability guarantees for clients that a) are upgraded&#xA;&gt;&gt;&gt; to use them  b) willing to restrict their functionality. As there are&#xA;&gt;&gt;&gt; several intended use cases for malleable transactions (the sighash&#xA;&gt;&gt;&gt; flags pretty directly are a way to signify what malleabilities are&#xA;&gt;&gt;&gt; *wanted*), this is not about outlawing malleability.&#xA;&gt;&gt;&gt;&#xA;&gt;&gt;&gt; While we could right now make all these rules non-standard, and&#xA;&gt;&gt;&gt; schedule a soft fork in a year or so to make them illegal, it would&#xA;&gt;&gt;&gt; mean removing potential functionality that can only be re-enabled&#xA;&gt;&gt;&gt; through a hard fork. This is significantly harder, so we should think&#xA;&gt;&gt;&gt; about it very well in advance.&#xA;&gt;&gt;&gt;&#xA;&gt;&gt;&gt; About new transaction and block versions: this allows implementing and&#xA;&gt;&gt;&gt; automatically scheduling a softfork without waiting for wallets to&#xA;&gt;&gt;&gt; upgrade. The non-DER signature change was discussed for over two&#xA;&gt;&gt;&gt; years, and implemented almost a year ago, and we still notice wallets&#xA;&gt;&gt;&gt; that don&#39;t support it. We can&#39;t expect every wallet to be instantly&#xA;&gt;&gt;&gt; modified (what about hardware wallets like the Trezor, for example?&#xA;&gt;&gt;&gt; they may not just be able to be upgraded). Nor is it necessary: if&#xA;&gt;&gt;&gt; your software only spends confirmed change, and tracks all debits&#xA;&gt;&gt;&gt; correctly, there is no need.&#xA;&gt;&gt;&gt;&#xA;&gt;&gt;&gt; --&#xA;&gt;&gt;&gt; Pieter&#xA;&gt;&gt;&gt;&#xA;&gt;&gt;&gt;&#xA;&gt;&gt;&gt; ------------------------------------------------------------------------------&#xA;&gt;&gt;&gt; Managing the Performance of Cloud-Based Applications&#xA;&gt;&gt;&gt; Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.&#xA;&gt;&gt;&gt; Read the Whitepaper.&#xA;&gt;&gt;&gt;&#xA;&gt;&gt;&gt; http://pubads.g.doubleclick.net/gampad/clk?id=121054471&amp;iu=/4140/ostg.clktrk&#xA;&gt;&gt;&gt; _______________________________________________&#xA;&gt;&gt;&gt; Bitcoin-development mailing list&#xA;&gt;&gt;&gt; Bitcoin-development at lists.sourceforge.net&#xA;&gt;&gt;&gt; https://lists.sourceforge.net/lists/listinfo/bitcoin-development&#xA;&gt;&gt;&gt;&#xA;&gt;&gt;&#xA;&gt;&gt;&#xA;&gt;&gt; ------------------------------------------------------------------------------&#xA;&gt;&gt; Managing the Performance of Cloud-Based Applications&#xA;&gt;&gt; Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.&#xA;&gt;&gt; Read the Whitepaper.&#xA;&gt;&gt;&#xA;&gt;&gt; http://pubads.g.doubleclick.net/gampad/clk?id=121054471&amp;iu=/4140/ostg.clktrk&#xA;&gt;&gt; _______________________________________________&#xA;&gt;&gt; Bitcoin-development mailing list&#xA;&gt;&gt; Bitcoin-development at lists.sourceforge.net&#xA;&gt;&gt; https://lists.sourceforge.net/lists/listinfo/bitcoin-development&#xA;&gt;&gt;&#xA;&gt;&gt;&#xA;&gt;&#xA;-------------- next part --------------&#xA;An HTML attachment was scrubbed...&#xA;URL: &lt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20140220/00054c41/attachment.html&gt;</html></oembed>