Just to be clear, supposing there are no problems in the send by delegate and everyone performs their roles as they should, than no scripted transactions show up on the block chain right? Just 2 transactions that appear the same as if 2 random people had made normal non delegated transactions.
No, the escrow transactions do show up on the blockchain and they are
conspicously different from "standard" transactions. But the point is that
you can't infer from them any connection between original sender and the
ultimate recipient.
Here's an example of a sender escrow. It outputs the amount to be transferred (1000)
plus the fee (here 0,01, this is from an earlier test version) and the change. All go
to the same recovery address n2j4MTGYYdhsjJcpVacgUSQtYYKxpXj1oQ which is owned
by the sender. Note the script has some exotic operations, there is the contractual
logic.
So looking at this we can tell that the owner of the address is using a delegate. But
we can't know about the ultimate recipient.
{
"txid" : "bd41b109f1d2c384bfc382c29c70987864fec17758906b0a655ae86f7e469d83",
"version" : 1,
"time" : 1404381216,
"locktime" : 0,
"vin" : [
{
"txid" :
"37951184467d046c532140a5d0b9f8373d215b286773bfb6c1f96f3cbc498241",
"vout" : 0,
"scriptSig" : {
"asm" :
"30440220695aba0869ce5f0921cc06985871dad0b302d9d2ed2638ec77e3732fad5837f1022
01d168ef008b49b0f2878c8f4bef0bec432decdb569e933700d6f2f8d29efa60d01
031ffe73785c29e877ce48c799fe3e39ace04cf1d4585746e70f8bdec0a0e98c69",
"hex" :
"4730440220695aba0869ce5f0921cc06985871dad0b302d9d2ed2638ec77e3732fad5837f10
2201d168ef008b49b0f2878c8f4bef0bec432decdb569e933700d6f2f8d29efa60d0121031ffe7
3785c29e877ce48c799fe3e39ace04cf1d4585746e70f8bdec0a0e98c69"
},
"sequence" : 4294967295
}
],
"vout" : [
{
"value" : 1000.00000000,
"n" : 0,
"scriptPubKey" : {
"asm" : "OP_IF OP_IF 444d60df10487a4ff09a754f5e946961082b0b26 OP_DUP
3045022100fd07a29bac641cf6d040a4b3ce9cb1b0cf78475d2a829b3540030d4d8fef7888022
0394d55d083a3a59d4abb32d317aa70587caa84ed21cb7cbac0e4945434328f6c01
03a306ff3d92b501ec2b372764d7e6dc254f93964af955649bb231703fa98f6cd5
OP_CHECKDATASIG OP_VERIFY OP_SWAP OP_HASH160 OP_EQUAL OP_VERIFY
OP_CHECKTRANSFERNONCE OP_ELSE
e8a4b0c32e653971012005ede1e6c826cfd7c080 OP_TOALTSTACK OP_DUP
OP_HASH160 e8a4b0c32e653971012005ede1e6c826cfd7c080 OP_EQUALVERIFY
OP_CHECKSIG OP_ENDIF OP_ELSE 116 OP_CHECKEXPIRY OP_ENDIF",
"reqSigs" : 1,
"type" : "escrow-sender",
"addresses" : [
"n2j4MTGYYdhsjJcpVacgUSQtYYKxpXj1oQ"]
}
},
{
"value" : 188999.99000000,
"n" : 1,
"scriptPubKey" : {
"asm" : "OP_DUP OP_HASH160
e8a4b0c32e653971012005ede1e6c826cfd7c080 OP_EQUALVERIFY OP_CHECKSIG",
"reqSigs" : 1,
"type" : "pubkeyhash",
"addresses" : [
"n2j4MTGYYdhsjJcpVacgUSQtYYKxpXj1oQ"
]
}
},
{
"value" : 0.01000000,
"n" : 2,
"scriptPubKey" : {
"asm" : "OP_IF e8a4b0c32e653971012005ede1e6c826cfd7c080
OP_TOALTSTACK OP_DUP OP_HASH160
e8a4b0c32e653971012005ede1e6c826cfd7c080 OP_EQUALVERIFY OP_CHECKSIG
OP_ELSE 116 OP_CHECKEXPIRY OP_ENDIF",
"reqSigs" : 1,
"type" : "escrow-fee",
"addresses" : [
"n2j4MTGYYdhsjJcpVacgUSQtYYKxpXj1oQ"
]
}
}
],
"confirmations" : 0
}
This is the corresponding delegate escrow, again paying to the delegate's
address.
{
"txid" : "7a9ccd2f3b31ba25642b9b741ad3f347e5444f24cdeab858f6207a2d71477e76",
"version" : 1,
"time" : 1404381215,
"locktime" : 0,
"vin" : [
{
"txid" :
"d9f7b4fd2e38af8f949f8335bbe8c697f36d9df4f4217bf80f5335dab7436a31",
"vout" : 0,
"scriptSig" : {
"asm" :
"304402205a64f7dcff32f8d453e523074b0fb05609193d0dc250ada8a38b2f0909f89c240220
3017521ec70b3c53ea09dd69710c7960725dcbea2e8cc59c47b1af89c68a58a901
0221c4b0cbeb1e46cf292bcf77f545daf2c784306c1b60b9483799d746f64a9a43",
"hex" :
"47304402205a64f7dcff32f8d453e523074b0fb05609193d0dc250ada8a38b2f0909f89c2402
203017521ec70b3c53ea09dd69710c7960725dcbea2e8cc59c47b1af89c68a58a901210221c4
b0cbeb1e46cf292bcf77f545daf2c784306c1b60b9483799d746f64a9a43"
},
"sequence" : 4294967295
}
],
"vout" : [
{
"value" : 4000.00000000,
"n" : 0,
"scriptPubKey" : {
"asm" : "OP_DUP OP_HASH160 eac3ef3c9d319dc1a289201a072ff1b780990cc4
OP_EQUALVERIFY OP_CHECKSIG",
"reqSigs" : 1,
"type" : "pubkeyhash",
"addresses" : [
"n2vH8iDGaDZe2JqkkwXvtowJpnXNYt9UvR"
]}
},
{
"value" : 1000.00000000,
"n" : 1,
"scriptPubKey" : {
"asm" : "OP_IF b8d7f41da2b25189c37635267fb58f102215c6ed OP_DUP
304402200fd47c2c272f06476ca3f06fcddcb3dbbfa4237668cc6f006811d9f611fa543f022021
b87bd1c30ba1d6b0893ca21b5f5c9a6868202b376c7ddc57fbed63af79938a01
03a0c7ca30284bf65428943f16eba547b5b071d86aa7fce657430148b38b05520a
OP_CHECKDATASIG OP_VERIFY OP_SWAP OP_HASH160 OP_EQUAL OP_VERIFY
eac3ef3c9d319dc1a289201a072ff1b780990cc4 OP_TOALTSTACK OP_DUP
OP_HASH160 eac3ef3c9d319dc1a289201a072ff1b780990cc4 OP_EQUALVERIFY
OP_CHECKSIG OP_ELSE 21 OP_CHECKEXPIRY OP_ENDIF",
"reqSigs" : 1,
"type" : "escrow",
"addresses" : [
"n2vH8iDGaDZe2JqkkwXvtowJpnXNYt9UvR"
]
}
}
],
"confirmations" : 0
}
And here finally is the delegate sending coins to the recipient.
{
"txid" : "610f0490c7d033aa76ee596c5a20c0547df8de8820f844f5d6541b0156796d45",
"version" : 1,
"time" : 1404382682,
"locktime" : 0,
"vin" : [
{
"txid" :"7a9ccd2f3b31ba25642b9b741ad3f347e5444f24cdeab858f6207a2d71477e76",
"vout" : 1,
"scriptSig" : {
"asm" :
"3044022019fda87653a77ee9d2c545ab24636a75c757dc41466732214b7e3bb8d190922b02
2042b56dda7dea5b67dd75b20c82bf0508b70af9918449ffb11e83594cd77d782b01
03a306ff3d92b501ec2b372764d7e6dc254f93964af955649bb231703fa98f6cd5
fd87d87eeb43ab657ea714d9b414a0f471a9c82d25db1b4d 1",
"hex" :
"473044022019fda87653a77ee9d2c545ab24636a75c757dc41466732214b7e3bb8d190922b
022042b56dda7dea5b67dd75b20c82bf0508b70af9918449ffb11e83594cd77d782b012103a3
06ff3d92b501ec2b372764d7e6dc254f93964af955649bb231703fa98f6cd518fd87d87eeb43a
b657ea714d9b414a0f471a9c82d25db1b4d51"
},
"sequence" : 4294967295
}
],
"vout" : [
{
"value" : 1000.00000000,
"n" : 0,
"scriptPubKey" : {
"asm" : "112197da199dc12b OP_TOALTSTACK OP_DUP OP_HASH160
677543f91e54e7e98190c8c0d3a375e285093a4e OP_EQUALVERIFY OP_CHECKSIG",
"reqSigs" : 1,
"type" : "pubkeyhash-nonced",
"addresses" : [
"mpwzNZecqSBxGpMZxUFe2Fiqqa7RqYbxWU"
]
}
}
],
"amount" : 1000.00000000,
"confirmations" : 0,
"txid" : "610f0490c7d033aa76ee596c5a20c0547df8de8820f844f5d6541b0156796d45",
"time" : 1404382684,
"timereceived" : 1404382684,
"details" : [
{
"account" : "",
"address" : "mpwzNZecqSBxGpMZxUFe2Fiqqa7RqYbxWU",
"category" : "receive",
"amount" : 1000.00000000
}
]
}
So here we can see that the delegate is paying to Dirty Bob,
but on whom's behalf, that we can't tell. The delegate therefore
is the end-point who is willing to carry more risk than the sender.