Re: [bitcoin-dev] Generalized covenant to implement side chains embedded into the bitcoin block chain

2019-07-01 Thread Tamas Blummer via bitcoin-dev
Any meaningful covenant must be one that is reducing control by the current owner. I can think of countless predicates reducing control, but try to explore the least invasive first, and see if they unlock a new use. Offering alternate control paths is what taproot was designed for, therefore a

Re: [bitcoin-dev] Generalized covenant to implement side chains embedded into the bitcoin block chain

2019-06-30 Thread Tamas Blummer via bitcoin-dev
I made an error proposing the new covenant. It should be unchanged as in the original example: ‘covenant or(and(_, pk(Transfer)) covenant transitive, and(pk(Exit), _) covenant drop)’ since the placeholder stays for the control of the rightful owner without transfer signature on or off chain.

Re: [bitcoin-dev] Generalized covenant to implement side chains embedded into the bitcoin block chain

2019-06-30 Thread Tamas Blummer via bitcoin-dev
Hello ZmnSCPxj, Yes, representation of debt is more interesting here as it requires the covenant, wheras this example, as you point out, was less convincing given alternatives. I created this example to avoid discussion of topics not approriate on this list. Thank you for the suggestion of

Re: [bitcoin-dev] Generalized covenant to implement side chains embedded into the bitcoin block chain

2019-06-29 Thread ZmnSCPxj via bitcoin-dev
Good morning Tamas, While I think covenants for some kind of debt tool is mildly interesting and an appropriate solution, I wonder about this particular use-case. It seems to me that, as either the `Transfer` signers or `Exit` signers are always involved, that the `Transfer` signers can be

[bitcoin-dev] Generalized covenant to implement side chains embedded into the bitcoin block chain

2019-06-29 Thread Tamas Blummer via bitcoin-dev
I introduced you to gerneralized covenants[1] earlier, but in a domain specific context that de-routed us from technical discussion. Let me demonstrate the concept in a more generic use: A covenant or(and(pk(Transfer), _) covenant transitive, and(pk(Exit),_) covenant drop) would put a coin