From rusty at rustcorp.com.au Fri Oct 17 15:05:32 2014 From: rusty at rustcorp.com.au (Rusty Russell) Date: Fri, 17 Oct 2014 14:35:32 +1030 Subject: [Pettycoin-dev] Status after my vacation... Message-ID: <87iojj9w8j.fsf@rustcorp.com.au> Hi all, I had three weeks away, and have then spent most of this week catching up with (non-pettycoin) mail. Today I finally got back to some hacking, so I thought I'd give a status update: - Merge mining almost code-complete. This is a hard-fork which will allow bitcoin miners to mine pettycoin simultaneously. I'll need to do some work on the bitcoin side to get this to work, too. - There's a nasty bug which means we lose connections to other nods. https://github.com/rustyrussell/pettycoin/issues/32 I suspect a bug in my I/O library; restarting the client fixes it, but it's the top bug right now. - Gateway keeps falling over This is caused by forks in the bitcoin test network, where bitcoind errors out with: error: {"code":-2,"message":"Safe mode: Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues."} We should suspend processing, but aborting is a bit harsh. There are two interesting protocol changes coming up: 1) Multiple gateways. We want to allow new gateways, without having thousands. My current plan is to allow a supermajority vote for each 2 week difficulty period: if a gateway gets > 75% of the blocks approving it, then it's a valid gateway. Gateways will be able to broadcast messages on the network. 2) Variable-timing blocks. We're aiming for 10 second blocks, but the timing curve is an exponential decay: 50% of blocks will be < 7 seconds, but 1 in 1000 times you'll wait 70 seconds (P(solved at time t) = 1-exp(-(1/10)*t)). If 20 seconds has passed without a block (about 15% of the time), we could accept a lesser solution (eg. one which only meets 1/4 of the difficulty). 99.96% of the time someone will have generated such a solution already. Cheers, Rusty.