diff --git a/ch06_transactions.adoc b/ch06_transactions.adoc index 618bebaa..fc863923 100644 --- a/ch06_transactions.adoc +++ b/ch06_transactions.adoc @@ -781,7 +781,7 @@ problems with placing witnesses in the input script field. ==== Circular Dependencies -Many contract protocols for Bitcoin involve a series of transactions +Many ((("transactions", "witnesses", "circular dependencies", id="transaction-witness-circular")))((("witnesses", "circular dependencies", id="witness-circular")))((("circular dependencies", id="circular")))contract protocols for Bitcoin involve a series of transactions that are signed out of order. For example, Alice and Bob want to deposit funds into a script that can only be spent with signatures from both of them, but they each also want to get their money back if the @@ -807,7 +807,7 @@ txid for Tx~0~ is part of the input's outpoint in Tx~1~. That means there's no way for Alice and Bob to construct Tx~1~ until both signatures for Tx~0~ are known--but if they know the signatures for Tx~0~, one of them can broadcast that transaction before signing the -refund transaction, eliminating the guarantee of a refund. This is a +refund transaction, eliminating the guarantee of a refund. This((("transactions", "witnesses", "circular dependencies", startref="transaction-witness-circular")))((("witnesses", "circular dependencies", startref="witness-circular")))((("circular dependencies", startref="circular"))) is a _circular dependency_. ==== Third-Party Transaction Malleability