Title: JSON-RPC mass-pay Post by: Gavin Andresen on March 02, 2011, 12:21:17 AM Add a mass-pay JSON-RPC method, provided that the user interface requires a TX fee parameter (NOTE: zero is a valid TX fee) I've got a (private so far) patch that creates mass-pay transactions. API is: sendmulti <fromaccount> {address:amount,...} [minconf=1] [comment] This code in CTransaction::AcceptToMemoryPool will need to change, too: Code: if (GetSigOpCount() > 2 || nSize < 100) Replacing in the stock client with something like: Code: if (GetSigOpCount() > 2) minFee += GetSigOpCount()*GetArgMoney("-masspayfee", CENT/100); BUT: I think a higher priority is figuring out how to deal with fees for the other two send methods. Title: Re: JSON-RPC mass-pay Post by: theymos on March 02, 2011, 05:04:37 AM That seems fair for a default fee rule, though nodes should ignore all fees when relaying.
When I complained about the introduction of that particular code on the forum, Satoshi asked me to stop talking about it due to a DoS risk. He seemed to think the risk was pretty serious. This makes me think there might be some hidden DoS vulnerability we don't know about. This was when clients were still waiting for a block number to change the rule, though, so it might have been just the transitioning that caused the vulnerability. Quote from: satoshi The thing you highlighted is a patch for a DoS weakness. I don't want to post an instruction manual for how to use the weakness to DoS the previous versions. I think most P2P networks, and websites for that matter, are vulnerable to an endless number of DoS attacks. The best we can realistically do is limit the worst cases. (I'm absolutely in favor of the feature -- I just want to mention Satoshi's view.) Title: Re: JSON-RPC mass-pay Post by: jgarzik on March 02, 2011, 05:42:25 AM [...] though nodes should ignore all fees when relaying. Such a policy increases the ability of third parties to force the entire network to relay garbage. |