Title: Do pending transactions live forever on Eligius mempool? Post by: uminatsu on April 15, 2014, 06:41:19 AM I've been watching this 16-of-16 multisig tx for a while (2ee6d8ea223e118075882edba876f01b30f407eb6c6d31c40bd6664a17f20f0c)... it has never been redeemed even though the solution is not hard to arrive at.
My conclusion is that someone has been spamming Eligius with a valid redemption tx but it is never included in a block due to insufficient fees. But because it is already in the mempool, no other valid tx can be accepted. So does that mean the tx can never be redeemed? Title: Re: Do pending transactions live forever on Eligius mempool? Post by: amaclin on April 16, 2014, 06:06:41 PM Quote Do pending transactions live forever on Eligius mempool? Nothing is forever imho. Just until restart.Anyway, only Luke-Jr can answer this question. Quote I've been watching this 16-of-16 multisig tx for a while (2ee6d8ea223e118075882edba876f01b30f407eb6c6d31c40bd6664a17f20f0c)... it has never been redeemed even though the solution is not hard to arrive at. My conclusion is that someone has been spamming Eligius with a valid redemption tx but it is never included in a block due to insufficient fees. But because it is already in the mempool, no other valid tx can be accepted. So does that mean the tx can never be redeemed? How did you try to redeem this output? There is a web-form http://eligius.st/~wizkid057/newstats/pushtxn.php but we do not know is it connected directly to the pool-node-accepting-non-standard-txs or not. The second way is connect to the node with non-standard client and send raw tx from console. But what is Eligius ip-address? I was interested also in this question. So, I wrote a program which parses the whole blockchain, locates all spendable-by-me outputs, connects to Eligius (nat.router.dashjr.org:8333 but I am not sure), asks for memory pool (this is important), resolves conflicts (pool will not accept my double-spending attempt) and sends redeem transaction. I sent the redeem transaction with the fee 0.00010000 from several inputs (including my standard inputs from my account and this one) today. Next time I run my program the transaction came to me from the pool - so I definetetely know that it was correct and was accepted. Wow! But it was not mined for several hours - may be the fee is too low or this node is not a pool, but only a Luke's node with old client on it. tx hash is bb1ebbe8855043440037260250c5c048a400106c535d7ef0b4dd95069c4316cc (it was not accepted by all other standard nodes, so you can not google it until (and if) it will be mined) Code: "txid" : "2ee6d8ea223e118075882edba876f01b30f407eb6c6d31c40bd6664a17f20f0c", I can discard this transaction (by double-spending my standard outputs on the rest of network) and resend to Eligius with higher fees. Let's wait a couple of days. By the way. This node (nat.router.dashjr.org) holds thousands of spam transactions 1Sochi&1Enjoy in it's memory pool. Is it a bug or a feature? I dont know. But if it is Eligius - so it keeps pending transactions for a looooong time - month or two or may be more. Sorry for my poor English Title: Re: Do pending transactions live forever on Eligius mempool? Post by: uminatsu on April 16, 2014, 11:31:05 PM Well it looks like Eligius hasn't found any blocks for the past 5 hours, so that's probably why your tx is not mined... let's wait a bit longer.
Anyway thanks for the info! Title: Re: Do pending transactions live forever on Eligius mempool? Post by: uminatsu on April 17, 2014, 12:11:55 AM How did you try to redeem this output? There is a web-form http://eligius.st/~wizkid057/newstats/pushtxn.php but we do not know is it connected directly to the pool-node-accepting-non-standard-txs or not. The second way is connect to the node with non-standard client and send raw tx from console. But what is Eligius ip-address? To answer your question, yes I've trying the web-form. How do you directly dump rawmempool on a remote node? And how do you find out which tx has conflicts with your tx? I have added the node to my bitcoin.conf but when I type "bitcoin-cli getrawmempool" it just dumps my local mempool, right? Title: Re: Do pending transactions live forever on Eligius mempool? Post by: amaclin on April 17, 2014, 04:07:35 AM Well it looks like Eligius hasn't found any blocks for the past 5 hours, so that's probably why your tx is not mined... Or the blocks with my tx were rejected as invalid by the rest of network? Hehe.Quote How do you directly dump rawmempool on a remote node? I said before, that I have my own program, which connects to the peer, sends and receives data.Code: [...skip...] nat.router.dashjr.org holds about 3k transactions in its pool. My program saves downloaded txs on disk cache to save traffic. So I have in my cache some txs which were in Eligius pool yesterday, Title: Re: Do pending transactions live forever on Eligius mempool? Post by: Abdussamad on April 17, 2014, 04:22:06 AM Isn't there a limit to multisig transaction sizes? See this:
https://bitcointalk.org/index.php?topic=508256.msg5625950#msg5625950 Title: Re: Do pending transactions live forever on Eligius mempool? Post by: uminatsu on April 17, 2014, 04:38:48 AM Isn't there a limit to multisig transaction sizes? See this: https://bitcointalk.org/index.php?topic=508256.msg5625950#msg5625950 Sure but larger tx are merely nonstandard, not invalid. Eligius pool allows nonstandard tx to be included as long as fees are paid, but it will not propagate the tx to other nodes. Title: Re: Do pending transactions live forever on Eligius mempool? Post by: amaclin on April 17, 2014, 04:40:31 AM Quote Isn't there a limit to multisig transaction sizes? This is client limit to accept/relay, not a protocol rule.There was 20-of-20 transaction https://blockchain.info/tx/c4aaf7fbec7a9a079e670e50f6a672315451c7618814494ab1f89cf3fd97b3bb And it was spent by somebody :o in https://blockchain.info/ru/tx/da738e29f64e90ae46dcc3e6b4154041d6324abbe7919e722d486a4a3148b7dc (mined by Eligius of course) Title: Re: Do pending transactions live forever on Eligius mempool? Post by: amaclin on April 18, 2014, 03:56:54 AM I did some tests with some nodes, trying to push non-standard txs
I wrote down the txs, which these nodes already have in their memory-pool Here are the results: Code: 68.168.105.168 running: "/Satoshi:0.8.5/Eligius:3/" Code: 192.3.11.20 running: "/Satoshi:0.8.4/#Bitcoin-Watch:1/" Code: 98.70.227.41 running: "/Satoshi:0.8.99/next-test:20130721/" I do not know how old are these transactions - holding time is not a bitcoin rule, but a client feature We should ask Luke 1) What is the actual IP-address of Eligius node 2) What is the actual FEE for non-standard txs on Eligius pool 3) Are there additional restrictions for non-standard txs on Eligius (blacklists etc) Luke-Jr, come here and answer our questions please! :) Title: Re: Do pending transactions live forever on Eligius mempool? Post by: amaclin on April 19, 2014, 08:01:35 AM OK, i've realized that Eligius pool has its own rules (even stronger than classic bitcoind) for accepting and relaying transactions
For example, Eligius nodes reject all txs from/to "correct horse.." address and some other blacklisted addresses https://gitorious.org/bitcoin/luke-jr-bitcoin/source/7da290756fafb61369994f736f238ed990c3a45c:src/script.cpp#L1740 I am not sure now that it is possible to connect to main-eligius-node directly to check its mempool and send tx to it. Seems to me that there are only "frontend" nodes available from internet with their memory-pools Title: Re: Do pending transactions live forever on Eligius mempool? Post by: TierNolan on April 19, 2014, 11:36:09 AM Eligius nodes reject all txs from/to "correct horse.." address and some other blacklisted addresses https://gitorious.org/bitcoin/luke-jr-bitcoin/source/7da290756fafb61369994f736f238ed990c3a45c:src/script.cpp#L1740 Interesting link. It looks like they accept all transactions except if they have non-canonical pushes (and the blacklists, as you said). |