Author

Topic: [ANN] [MINT] Mintcoin (POS / 5%) [NO ICO] [Fair distro, community maintained] - page 134. (Read 1369778 times)

legendary
Activity: 1330
Merit: 1000
Blockchain Developer
If my assumptions are correct it will have no impact on RAM or on CPU.

Although it hashes the first 60 hashes * the amount of mature unspent outputs you have, those hashes are all destroyed the second the code leaves the scope of CheckKernelStakeHash(), as this is how c++ works.

The current code hashes the first 60 seconds, then hashes timestamp 61 after one second passes, then 62 after two seconds pass, etc. Not 60 hashes each time (or else if it is doing so, it is not designed to be this way).

MINT has a very very old codebase, that hasn't been updated much in terms of efficiency, as well as a huge blockchain. The pool of unspent outputs for the entire network is stored in your RAM, thus this means a large amount of ram for an old chain with lost coins or lots of cold storage outputs. The CPU usage is probably a combination of all these items.
hero member
Activity: 840
Merit: 1000
Sounds like the block time of 30 seconds for MINT is something that most of you consider enough of the coin's personality, that it would really change too much if that was altered.

Concerning drift. Blackcoin uses a 1 second search interval. Hashdrift is a term I have created myself, as an easier way to describe things to people. So if you see anyone, or the code itself, refer to search interval then think "hashdrift".

So blackcoin and the derivatives of it, will loop through the staking process every second, and look only at only one second worth of timestamps at a time. It isn't really all that different from MINT's current system, except that as is MINT will scan the first 60 timestamps, and then hash each new second at a time.

Does this also affect the CPU & RAM usage, if i am getting this right, it has to keep 60 timestamps/blocks in RAM thus more RAM usage. I have seen that coins on POS 1.0 which have low block interval, consume a lot of RAM & CPU. For example UTC & MINT both use 625+ MB of RAM & 2-10% of a quad core at regular intervals.
Makes sense to me, that reducing it like we are discussing would lower the CPU & RAM.

Cool, that would be good side effect/added benefit!!
hero member
Activity: 613
Merit: 500
Mintcoin: Get some
Sounds like the block time of 30 seconds for MINT is something that most of you consider enough of the coin's personality, that it would really change too much if that was altered.

Concerning drift. Blackcoin uses a 1 second search interval. Hashdrift is a term I have created myself, as an easier way to describe things to people. So if you see anyone, or the code itself, refer to search interval then think "hashdrift".

So blackcoin and the derivatives of it, will loop through the staking process every second, and look only at only one second worth of timestamps at a time. It isn't really all that different from MINT's current system, except that as is MINT will scan the first 60 timestamps, and then hash each new second at a time.

Does this also affect the CPU & RAM usage, if i am getting this right, it has to keep 60 timestamps/blocks in RAM thus more RAM usage. I have seen that coins on POS 1.0 which have low block interval, consume a lot of RAM & CPU. For example UTC & MINT both use 625+ MB of RAM & 2-10% of a quad core at regular intervals.
Makes sense to me, that reducing it like we are discussing would lower the CPU & RAM.
hero member
Activity: 840
Merit: 1000
Sounds like the block time of 30 seconds for MINT is something that most of you consider enough of the coin's personality, that it would really change too much if that was altered.

Concerning drift. Blackcoin uses a 1 second search interval. Hashdrift is a term I have created myself, as an easier way to describe things to people. So if you see anyone, or the code itself, refer to search interval then think "hashdrift".

So blackcoin and the derivatives of it, will loop through the staking process every second, and look only at only one second worth of timestamps at a time. It isn't really all that different from MINT's current system, except that as is MINT will scan the first 60 timestamps, and then hash each new second at a time.

Does this also affect the CPU & RAM usage, if i am getting this right, it has to keep 60 timestamps/blocks in RAM thus more RAM usage. I have seen that coins on POS 1.0 which have low block interval, consume a lot of RAM & CPU. For example UTC & MINT both use 625+ MB of RAM & 2-10% of a quad core at regular intervals.
hero member
Activity: 613
Merit: 500
Mintcoin: Get some
Sounds like the block time of 30 seconds for MINT is something that most of you consider enough of the coin's personality, that it would really change too much if that was altered.

Concerning drift. Blackcoin uses a 1 second search interval. Hashdrift is a term I have created myself, as an easier way to describe things to people. So if you see anyone, or the code itself, refer to search interval then think "hashdrift".

So blackcoin and the derivatives of it, will loop through the staking process every second, and look only at only one second worth of timestamps at a time. It isn't really all that different from MINT's current system, except that as is MINT will scan the first 60 timestamps, and then hash each new second at a time.

Interesting. I like the term.
So they essentially have their timedrift 15 seconds after their hashdrift (search interval). Correct?
If that seems to work, then we probably want to have 15 seconds more for the timedrift as well.

In light of the above, and past discussions, it seems to me, what would work well for Mintcoin, is to do 15 second hashdrift (search interval) and a a 30 second timedrift.  That seems to cover all the bases now.  Roll Eyes  Smiley
legendary
Activity: 1330
Merit: 1000
Blockchain Developer
Sounds like the block time of 30 seconds for MINT is something that most of you consider enough of the coin's personality, that it would really change too much if that was altered.

Concerning drift. Blackcoin uses a 1 second search interval. Hashdrift is a term I have created myself, as an easier way to describe things to people. So if you see anyone, or the code itself, refer to search interval then think "hashdrift".

So blackcoin and the derivatives of it, will loop through the staking process every second, and look only at only one second worth of timestamps at a time. It isn't really all that different from MINT's current system, except that as is MINT will scan the first 60 timestamps, and then hash each new second at a time.
sr. member
Activity: 356
Merit: 250
Regarding the timewarp issue:
I think we should keep it as simple as possible and keep with using more even numbers. I propose 20 seconds for hashdrift, and 30 seconds for timedrift. Open to other opinions though. Just out of curiosity, how is Blackcoin's timedrift and hashdrift setup? Someone said they have a 15 second timedrift....so what is their hashdrift set at? 
hero member
Activity: 840
Merit: 1000
I am so happy to see such deep discussion. Thanks to all of you Smiley
hero member
Activity: 840
Merit: 1000
Nice to see that we have a dev (thanks Presstab) and lots of talk is going on to fix lots of issues. Here are my 2 cents on

Block Time Issue

I think 30 seconds block time is good & one of the +ve points of MINT. We just need to upload either a torrent or sync file every week. Also, alternate clients like electrum or MultiMINT might not help because AFAIK you can't mint with them.

Timewarp Issue

I dont know much about it so i guess experts have pretty much sorted it out and will take right decision.

Mintcoin Central

Just a reminder to people that I bought the www.mintcoin-central.com domain from the old developer, and I have all the assets for the old site in wordpress format. Now that mintcoin is going so strong, maybe we can table some ideas for what this website can do that would be of benefit to mintcoin.

This whole debacle in Greece, where banks have shuttered and have tiny daily withdrawal limits, really shows how important something like Mintcoin is. We can leave it to Bitcoin to advocate for Cryptos in general and have infastructure in place, while Mintcoin can quietly generate interest and make gains for people that know about it, but what can a new site do to help bring 'Mintcoin to the masses' so to speak?

I will suggest that we publish weekly/monthly updates on our partnerships with charities and show the progress of various fundraisers. This will give new investors/adopters a reason other than speculation to invest in the coin. It will give whole coin a purpose that will be visible and will garner attention of wider non-crypto public.

I would also remid every one to donate to cryptoID block explorer. I am doing a 0.01 BTC every week there. If some other contribution come in & we have hosting for say 6 months then i can send same amount to dev bounty.

Regards

Sam Smiley
sr. member
Activity: 291
Merit: 250
Ezekiel 34:11, John 10:25-30
I'm not sure exactly how timewarp works.  The way I was thinking about it though, I thought it only allows you to go extra time into the future, and the closer timedrift you have the harder it is to "trick" the network. So it would be extremely improbable to do anything under 30 seconds, so my guess is it would be safe if we got it down that low.
Also, assuming you could increase the difficulty, wouldn't it be self correcting by the fact that each time it would make it harder to "rinse and repeat"? As the difficulty increased, the network weight would keep building up until it eventually overpowered the attack, and consecutive attacks would be harder and harder. So my thinking is we only need to protect it from a decreasing difficulty attack. So if that is the case then yeah, 26 seconds for hashdrift and 30 seconds for timedrift would work.
hero member
Activity: 613
Merit: 500
Mintcoin: Get some
I have been giving this timedrift issue a lot of thought.  Roll Eyes

Would it even be anymore beneficial to make it below the block target of 30 seconds? Starting to think it would not.

Maybe the better composition would be to just have the hashdrift set at say 24 seconds, and the timedrift set at say 30 seconds. This way if an attacker were to go to the max 30 seconds, the effect is 0 on the difficulty, since it is line with the block target.

But here is my other thought, Roll Eyes
Is it at all possible, that if someone goes out less than the block time, they could "INCREASE" the difficulty? Is a timewarp attack possible in the other direction so as to attack it by making the difficulty go way way up? (Essentially causing a denial of service type attack?)
What is the effect of the timewarp attack on the the network if the timedrift is below the block target time?
sr. member
Activity: 356
Merit: 250
Yes now is the time to think about it all. So is everyone a no for changing block time to be a bit higher in order to preserve the syncability of the chain over the long run?
Yeah. I'm a "No" vote as far as changing the block time. We have the bootstrap that cuts the time to sync down. There is also the option of doing a periodic genesis block every 3 years or so if we decide it is necessary. I think those are better options at this point that a block time change. IMO that would totally change the "feel" of MINT. Part of what makes MINT what it is, is it's block speed, and changing the block time, would also impact how many mintings are able to be completed, etc... so I'm not in favor of messing with that unless it is discovered we absolutely must.

If I understand everything so far, the other proposed changes are things that seem to be good and needed for strong lasting security, so I would be for them. Seems we should really try to get the "time drift" and "hash drift" to where they need to be so to prevent a timewarp attack (under 30 seconds like coolbeans proposed would eliminate the risk entirely?). 
Also, increasing the number of confirmations by 10x seems good to me. Should we also increase the confirmations needed for a new minting to be usable? If I am not mistaken, I believe it is currently it is currently at 50 confirmations - so increasing it by 10x would be 500 confirmations.
And a coin cap hard limit, replaced by 1 new coin per block makes sense. If coins keep getting lost, which is bound to happen, over time, there could be too few coins to function as a usable currency.

Anyway, good discussion. Glad to see some good though being put into this rather than just jumping to conclusions. Any changes, that require a hard fork, we need to be sure will be positively for the benefit of the coin and community. Obviously security is the #1 priority, for without it, you have neither coin or community.
sr. member
Activity: 291
Merit: 250
Ezekiel 34:11, John 10:25-30
Cool. Thank you for the efforts. Looking into the code for a definite answer would be great. Then we can decide from there. I'll throw up a few million mints for any additional changes we decide we want to do. Let's get this coin set right!

Yes now is the time to think about it all. So is everyone a no for changing block time to be a bit higher in order to preserve the syncability of the chain over the long run?
I think I'm happy with the block time the way it is. I like how fast it is and would rather not change it.
legendary
Activity: 1330
Merit: 1000
Blockchain Developer
Cool. Thank you for the efforts. Looking into the code for a definite answer would be great. Then we can decide from there. I'll throw up a few million mints for any additional changes we decide we want to do. Let's get this coin set right!

Yes now is the time to think about it all. So is everyone a no for changing block time to be a bit higher in order to preserve the syncability of the chain over the long run?
sr. member
Activity: 291
Merit: 250
Ezekiel 34:11, John 10:25-30
Cryptomommy contracted me to handle the security fork for the timedrift parameter. If you guys want to throw up some more coins and add in some more work for me I can add some other things on top of that as well.

Concerning the coin cap... for most proof of stake implementations this was actually coded improperlely and is actually a maximum amount per transaction. Unless MINT has been changed specifically to fix this, then I would assume it has this same property. I can look into the code and grab a precise answer as well.

That being said, coding in a predetermined supply growth rate is not at all a bad idea, and is not at all difficult to do.
Cool. Thank you for the efforts. Looking into the code for a definite answer would be great. Then we can decide from there. I'll throw up a few million mints for any additional changes we decide we want to do. Let's get this coin set right!
newbie
Activity: 32
Merit: 0
I wrote a small (amatuer) p2p algorithm, just as a test. And I've only half read the things posted lately. But in my little P2p thing I added a constraint on the time per client (assume your time is correct and only accept times that are within a certain range). As I had control over all the computers I tested it on I set it fairly low (1 min). But shouldn't it result in a consensus on the network. I'm not sure I really understand your issue unless you are suggesting multiple clients that all offset by 1 min in my example and enough clients to override the whole system. Dont mintcoin clients have the same priority as far as time is concerned?
legendary
Activity: 1330
Merit: 1000
Blockchain Developer
Cryptomommy contracted me to handle the security fork for the timedrift parameter. If you guys want to throw up some more coins and add in some more work for me I can add some other things on top of that as well.

Concerning the coin cap... for most proof of stake implementations this was actually coded improperlely and is actually a maximum amount per transaction. Unless MINT has been changed specifically to fix this, then I would assume it has this same property. I can look into the code and grab a precise answer as well.

That being said, coding in a predetermined supply growth rate is not at all a bad idea, and is not at all difficult to do.
sr. member
Activity: 291
Merit: 250
Ezekiel 34:11, John 10:25-30
Sounds good to me.
It seems these few tweaks would be beneficial for security for the long-term, and still stays true to what Mintcoin is all about. Let's make mintcoin flawless.   Smiley
How hard would it be to make all the said changes? Is this something presstab can do for us? I'll be willing to tip him good if this all works out. Cheesy
hero member
Activity: 613
Merit: 500
Mintcoin: Get some
Another thing that I think we should do (if the community agrees) is to remove the 70-billion hard limit coin cap, and instead implement a stable block reward of 1 coin per block, in addition to the transaction fee. This comes out to hard limit increase of 1,036,800 coins per year. I think it is necessary, to maintain a guaranteed block reward indefinitely. This will ensure that people are still motivated to keep their wallets minting to secure the network, and will also ensure coin supply doesn't dry up. By the time 70 billion comes, adding an extra 1-million per year will scarcely make a difference to the limit anyway. What this means is that the first year, after this change, the increase in the money supply would only be .0015%. Basically still a hard limit anyway but ensures the network keeps going. (1,036,800/70,000,000,000=.0015%) Each year thereafter it would even be a fraction of a % less, as the total supply grows by about 1 million per year. This will motivate people to stake and not have to worry about possibly having to rely on transaction fees alone, that they may or may not get. Every block deserves a bit of reward guaranteed IMO. If all these changes were implemented, I'm sure Mintcoins would grow to become the coin of choice that will surely stand the test of time.


hero member
Activity: 613
Merit: 500
Mintcoin: Get some
Also before we do fork, can we also look into possible ways to reduce the chance on a standard 51% attack? I get that we are already greatly reducing it by this update. But by making something harder it does not make it unpossible. When this coin does go big, and it will get adopted more and more it will only be harder to force a fork.

We could increase the confirmations up from 4 to say 40.

Transactions would still confirm in 30 seconds, and individual users could decide if they want to wait a full 20 minutes for all 40 confirmations. Essentially, people can pick their own risk level.  I think that anyone trying to get 40 blocks in a row would find that to be very difficult. Think 40 is enough?
Jump to: