<div dir="ltr"><br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
Or are you talking about some sort of new decentralized high frequency<br>
trading system that is self-matching and self-clearing? (I&#39;d be very<br>
interested in hearing more if this is the case).<br></blockquote><div><br></div><div style>I&#39;m using the term &quot;high frequency trading&quot; because Satoshi did. Like the way he used the word &quot;contract&quot; it is perhaps a bit misleading, but we lack anything better to describe this new concept.</div>
<div style><br></div><div style>Today HFT typically means companies that submits tons of micro-trades to centralised asset exchanges to try and exploit statistically expected correlations. HFT using tx replacement has nothing to do this with - it is instead a way that N parties can negotiate amongst themselves as fast as they can compute and verify signatures.</div>
<div style><br></div><div style>Here is how Satoshi explained it to me, in his words:</div><div style><br></div></div></div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div class="gmail_extra" style>
<div class="gmail_quote" style><div style><span style="font-family:arial,sans-serif;font-size:13px">An unrecorded open transaction can keep being replaced until nLockTime.  It may contain payments by multiple parties.  Each input owner signs their input.  For a new version to be written, each must sign a higher sequence number (see IsNewerThan).  By signing, an input owner says &quot;I agree to put my money in, if everyone puts their money in and the outputs are this.&quot;  There are other options in SignatureHash such as SIGHASH_SINGLE which means &quot;I agree, as long as this one output (i.e. mine) is what I want, I don&#39;t care what you do with the other outputs.&quot;.  If that&#39;s written with a high nSequenceNumber, the party can bow out of the negotiation except for that one stipulation, or sign SIGHASH_NONE and bow out completely.</span></div>
</div></div><div class="gmail_extra" style><div class="gmail_quote" style><div style><br style="font-family:arial,sans-serif;font-size:13px"></div></div></div><div class="gmail_extra" style><div class="gmail_quote" style>
<div style><span style="font-family:arial,sans-serif;font-size:13px">The parties could create a pre-agreed default option by creating a higher nSequenceNumber tx using OP_CHECKMULTISIG that requires a subset of parties to sign to complete the signature.  The parties hold this tx in reserve and if need be, pass it around until it has enough signatures.</span></div>
</div></div><div class="gmail_extra" style><div class="gmail_quote" style><div style><br style="font-family:arial,sans-serif;font-size:13px"></div></div></div><div class="gmail_extra" style><div class="gmail_quote" style>
<div style><span style="font-family:arial,sans-serif;font-size:13px">One use of nLockTime is high frequency trades between a set of parties.  They can keep updating a tx by unanimous agreement.  The party giving money would be the first to sign the next version.  If one party stops agreeing to changes, then the last state will be recorded at nLockTime.  If desired, a default transaction can be prepared after each version so n-1 parties can push an unresponsive party out.  Intermediate transactions do not need to be broadcast.  Only the final outcome gets recorded by the network.  Just before nLockTime, the parties and a few witness nodes broadcast the highest sequence tx they saw.</span></div>
</div></div></blockquote></div>