Post
Topic
Board Announcements (Altcoins)
Re: [NLG] Guldencoin.com/pay-here — Meet our awesome community
by
/GeertJohan
on 20/10/2014, 21:35:25 UTC
Hi all,

Thanks everyone for taking part in this discussion! It's very important that we discuss and work together towards a solution!

Lower price
I agree with ny2cafuse: when the price drops there will still be profitable blocks (the low diff ones) that are going to be mined by the multipools. I also agree with strataghyst: price manipulation is a bad idea in general. Furthermore, the price must go up at one point.. So even if a lower price would fix, it won't be a permanent solution.

Different diff readjusment
I agree with thsminer: changing the diff readjustment is not a complete solution. I should've been more verbose in my earlier post. I think we can change the diff readjustment more so it fits better with Guldencoin's specs and performs better. But it won't be a complete solution. The scale and speed of the multipools is simply too large relative to our dedicated miners.

Longer coin maturity
If I was going to set up a multi-pool, I would start by mining 20 blocks; 20.000 NLG. Lets call it a "buffer". I would put those buffer coins in the exchange wallet. Then I would write software that watches the exchange rate and coin difficulty to calculate the profitability. When the coin is profitable, the software directs the miners to start mining x blocks until the diff is so high that it isn't profitable anymore. Say 10 blocks are mined, the software would directly sell 10.000 NLG from the buffer on the exchange. Once the 10 mined blocks have matured, those coins are sent to the buffer (exchange wallet). Then the whole process starts over again.
I don't know for sure if clevermining works this way, but it's trivial to implement. Therefore, increasing the coin maturity duration only requires multi-pools to have a larger buffer so they can bridge the maturity time. At the same time, a long coin maturity is a huge downside for independent and smaller miners.. So I'm a bit divided on this one.. It might help, but only as long as multi-pools haven't worked around it yet.. And it has downsides for small independent miners, the ones that are dedicated to our network.

Rejecting blocks
This sounds like a good idea, but I'm afraid it can be bypassed fairly easy. A multi-pool could implement some software to premine blocks with future timestamps, and broadcast those future blocks when the time is right (while the actual mining machines are working on different blocks on a different coin). So in the end, it will still result in multi-pools getting a lot of blocks.

Adjustment between blocks
I've been thinking about changing the diff between blocks. The problem is that a diff based on time is prone to errors and would likely cause chain splits when different miners and nodes are not in sync (clock time). This can be solved by doing a diff change only once every -lets say- 10 minutes. The diff is halved when 10 minutes have past without a block. Because machine times are not always in sync, it needs a graceful period of -lets say- 1 minute before that time. This means nodes can be out of sync for max 1 minute. This actually still a short amount of time, I've seen lots of machines with a wrong time greater than 1 minute. But if you were to take a larger graceful margin, people might try to take advance of that in the form of exploits (halving diff after 9 minutes instead of 10, and hoping for all other nodes to accept it because it's in the grace margin).
I think this might work as a fall back, when a block is 'stuck' for a long time. It does not prevent long blocks in any way.. I think it could be beneficial when the halvation time is pretty high (30 minutes or more, instead of 10), and a grace period being 2 or even 3 minutes.
The bitcoin/guldencoin software was never created with this feature in mind, so it could take a lot of efforts to create this, while it does not directly solve our problem.

Time based block reward
When the block reward is based on the seconds that have past since the previous block, it will discourage multi pools to mine a lot of blocks at once, as it won't be profitable since the reward will be low.
For example: 150 seconds since last block would reward 1000 NLG and 15 seconds would reward 100 NLG.
As pointed out by ny2cafuse: the downside is that "lucky" blocks will have a smaller reward. On the other side, we could change the max block reward to 2000 NLG (rewarded at a block being 300 seconds after the previous block). This means that in the end exactly 1000 NLG per 150 seconds would be generated, regardless of "lucky" or "bad-luck" blocks or jumping pools. To me it's still unclear if there are exploits with this approach (for instance: invalid block times to receive more coins).


I'd love to hear everyones thoughts and feedback.
As mentioned before: Guldencoin is a long term project. It's important that we think about decisions that are being made and achieve good consensus.

Cheers!
Geert-Johan Riemer