bitcoin covenants

_ Here's how it works: Anybody can ask a question Anybody can answer The best answers are voted up and rise to the top up vote 1 down vote favorite First off, I understand that the standard way to do escrow with bitcoin is a P2SH with a 2 of 3 multisig redeem script.I'd like to try and do escrow in the following way: names of 3 parties involved: money source escrow agent money destination there are 2 transactions involved: escrow transaction: the money source sends funds to a custom locking script spending transaction: the escrow agent moves funds from the escrow transaction to the money destination With these properties, the escrow agent has complete control over spending the funds, BUT the escrow agent can only move them to the money destination and nowhere else.escrow agent can't steal the funds) I realize that in order for this to work the custom locking script of the escrow transaction somehow has to reference the money destination's address and provide some mechanism such that when the escrow transaction's locking script is unlocked it checks that the transaction it is being used in is in fact going to the money destination.

It seems that one cannot directly reference the output address of the spending transaction when the spending transaction is being verified.The only way it seems to have the output address be part of the verification is indirectly via CHECKSIG (since the data being signed include the output address of the spending transaction) But in order for this to work we would need to sign the spending transaction and include that signature in the escrow transaction, but that creates a circular dependency: the escrow transaction includes a signature of the spending transaction which includes the hash of the escrow transaction (since the escrow transaction is an input to the spending transaction).
3d hubs bitcoinAnd so this would be impossible.
we love bitcoin faucetI wish there was a hashtype that allowed you to only sign the output side of the transaction and not the inputs at all.
nxt bitcoin

I'm pretty new to bitcoin, so maybe I'm missing something.But it seems that designing an escrow with the properties I described at the beginning of this question would be impossible, and the only way to do escrow is a standard P2SH 2 of 3 multisig.
bitcoin price pythonThe reason I don't want to do a standard multisig is that in order for it to work in a trustless way.
ethereum giftthe money source and money destination have to exchange their addresses directly (i.e.
litecoin gpu mining howtothe escrow agent can't give the other 2 parties the appropriate addresses, because he could give out the wrong addresses).
nxt vs bitcoinThis way when the escrow agent signs the txn and gives it to the other party to sign they can verify that the escrow agent signed it to go to the right place.
bitcoin tor setup

I'd like the escrow agent to be the point of contact for the other 2 parties so that they don't need to do an address exchange prior to working with the escrow agent but can still not have to trust the escrow agent multi-sig-transactions escrow message-signing sighash-flags checksig up vote 0 down vote Partial answer (not a new solution - I merely adapted the micropayment channel protocol): if you allow for public key exchange, one solution seems to me to be: t1: source funds an address A controlled by source and escrow t2: source partially signs transaction T spending A to destination.
bitcoin origin blockThen she sends this partially signed transaction to escrow.it is now up to escrow to sign and broadcast T so that destination receives the fund.Escrow cannot spend the funds differently (i.e.steal) as it would require source to cosign.(Problem: Escrow could decide to not sign and "block the funds" (that s why Refund transactions are included in payment channels).

Solved by having Escrow partially sign and send to source a transaction R sending hte funds from A back to source at t0.It s now up to source to sends herself the funds from A back.Is this an issue?Not really if you have transaction R be "timelocked") It seems harder to find a solution without public key exchange... but it is a bit strange to forbid public key exchange.Your Answer Sign up or log in Sign up using Google Sign up using Email and Password Post as a guest Name Email discard By posting your answer, you agree to the privacy policy and terms of service.Browse other questions tagged multi-sig-transactions escrow message-signing sighash-flags checksig or ask your own question.Bond Covenant What is a 'Bond Covenant' A bond covenant is a legally binding term of agreement between a bond issuer and a bond holder.Bond covenants are designed to protect the interests of both parties.Negative or restrictive covenants forbid the issuer from undertaking certain activities; positive or affirmative covenants require the issuer to meet specific requirements.

BREAKING DOWN 'Bond Covenant' All bond covenants are part of a bond's legal documentation and are part of corporate bonds and government bonds.A bond's indenture is the portion that contains the covenants, both positive and negative, and is enforceable throughout the entire life of the bond until maturity.Possible bond covenants might include restrictions on the issuer's ability to take on additional debt, requirements that the issuer provide audited financial statements to bond holders and limitations on the issuer's ability to make new capital investments.When an issuer violates a bond covenant, it is considered to be in technical default.A common penalty for violating a bond covenant is the downgrading of a bond's rating, which could make it less attractive to investors and increase the issuer's borrowing costs.For example, Moody's, one of the major credit rating agencies in the United States, rates a bond's covenant quality on a scale of 1 to 5, with five been the worst.This means that a bond with a covenant rating of five means that covenants are being violated consistently.

In May 2016, Moody's reported that overall covenant quality in the market declined to 4.56 from 3.8 the previous month.The downgrade is attributed to a high amount of junk bonds being issued, ones with strict covenants that are easier to default.An Example of a Bond CovenantOn June 23, 2016, Hennepin County, Minnesota, issued a bond to help finance a part of the ambulatory outpatient specialty center at the county's medical center.Fitch ratings gave the bond a AAA rating, because the bond is backed by the county's full faith, credit and unlimited taxing power.Additionally, the rating agency gave the county's outstanding Hennepin County Regional Railroad Authority limited tax GO bonds (HCRRA) a AAA rating for the same reasons, including the fact that the county can pay the debt using ad valorem taxes on all taxable property.The HCRRA bond debenture contained a covenant stipulating that Hennepin County can levy taxes to fund the debt service at 105% annually.The debenture also stipulated that the maximum tax rate provides strong coverage of the debt service of 21.5x MADS.