Author

Topic: Call for early miners and pools to watch for perfectly hidden premines (Read 1122 times)

sr. member
Activity: 434
Merit: 250
Or we can make the initial difficulty to be high, 100 instead of 0.001 to prevent instamine
legendary
Activity: 996
Merit: 1013

There is one more method for honest dev to make everyone sure that there is no premine hidden this way: the first 500-1000 blocks have very small reward (say, 1 coin) and only then the normal rewards are mined.

That's pretty much what I meant but your phrasing made it
more understandable  Grin

There ought to be a set of best practices.
Then responsible pool/exchange owners would ask that coin
devs adhere to them.
hero member
Activity: 574
Merit: 523
So there is quite big time window between genesis block generation and the actual launch almost always.

Making the block rewards near negligible for a period
that is little longer than the time between the genesis block news event
and the actual launch would be a proof of legitimacy.

 
 

There is one more method for honest dev to make everyone sure that there is no premine hidden this way: the first 500-1000 blocks have very small reward (say, 1 coin) and only then the normal rewards are mined.
legendary
Activity: 996
Merit: 1013
So there is quite big time window between genesis block generation and the actual launch almost always.

Making the block rewards near negligible for a period
that is little longer than the time between the genesis block news event
and the actual launch would be a proof of legitimacy.

 
 
sr. member
Activity: 434
Merit: 250
Yes and no. How many coins have you seen that have their 'properly text-message-timestamped' genesis block mined 5 minutes before the launch? I think not many. So there is quite big time window between genesis block generation and the actual launch almost always.

Just because most coins don't do it right doesn't make anything I said any less true.
legendary
Activity: 2548
Merit: 1054
CPU Web Mining 🕸️ on webmining.io
You can do this on any chain. It also doesn't have to be a fresh release to perform such actions, although it's much easier if it is
hero member
Activity: 574
Merit: 523
No hidden premine can be missed if you look at the source. That's really all it takes, and there's absolutely no way whatsoever for it to evade you. (Really, try it at home!) The source code is incapable of telling a lie. If you don't know how to identify premines, read this post of mine, it's in there.
Anyway, this won't stop the practice. I would wager that early miners and pools would still participate even if they saw that there was a premine with active attempts to hide it.

The source code may be incapable of lying, but there is no way to prove that a block's timestamp is actually when it was mined. This is basically just impossible to prove in any manageable way

As long as the genesis block contains reference to a unique event that couldn't have been known before genesis then there is no problem.  I don't think this sort of attack would be considered a "hidden" premine, since the *lack* of a referencable timestamp in the genesis block is visible.

If the genesis block (of a legitimately open sourced coin) does carry such a "real world momentary" reference then you can prove, in a manageable way, that every subsequent block's timestamp is bounded relative to when it was actually mined.

Yes and no. How many coins have you seen that have their 'properly text-message-timestamped' genesis block mined 5 minutes before the launch? I think not many. So there is quite big time window between genesis block generation and the actual launch almost always.
sr. member
Activity: 434
Merit: 250
No hidden premine can be missed if you look at the source. That's really all it takes, and there's absolutely no way whatsoever for it to evade you. (Really, try it at home!) The source code is incapable of telling a lie. If you don't know how to identify premines, read this post of mine, it's in there.
Anyway, this won't stop the practice. I would wager that early miners and pools would still participate even if they saw that there was a premine with active attempts to hide it.

The source code may be incapable of lying, but there is no way to prove that a block's timestamp is actually when it was mined. This is basically just impossible to prove in any manageable way

As long as the genesis block contains reference to a unique event that couldn't have been known before genesis then there is no problem.  I don't think this sort of attack would be considered a "hidden" premine, since the *lack* of a referencable timestamp in the genesis block is visible.

If the genesis block (of a legitimately open sourced coin) does carry such a "real world momentary" reference then you can prove, in a manageable way, that every subsequent block's timestamp is bounded relative to when it was actually mined.
sr. member
Activity: 439
Merit: 250
mmmmmm
No hidden premine can be missed if you look at the source. That's really all it takes, and there's absolutely no way whatsoever for it to evade you. (Really, try it at home!) The source code is incapable of telling a lie. If you don't know how to identify premines, read this post of mine, it's in there.
Anyway, this won't stop the practice. I would wager that early miners and pools would still participate even if they saw that there was a premine with active attempts to hide it.

The source code may be incapable of lying, but there is no way to prove that a block's timestamp is actually when it was mined. This is basically just impossible to prove in any manageable way
legendary
Activity: 1610
Merit: 1000
Crackpot Idealist
So have you seen this in the wild? Or just able to proof of concept?

And for fucks sakes man, great work!
legendary
Activity: 1736
Merit: 1001
So many ways to scam people.  Gotta love crypto.

Its a shame but true when money is involved all bets are off.
sr. member
Activity: 439
Merit: 250
mmmmmm
this is interesting, is this hiding a premine which could contain a percentage of the coin, or a retroactive instamine of sorts...

Basically a retroactive instamine. This is why I give a moderate warning for people that don't use a recent news event for a genesis seed. It's possible for a malicious developer to premine their own coin for a few days.

I tested this personally with Bitchcoin (though I never broadcasted the malicious chain). I was able to premine about 80 blocks, pushing difficulty up to 8 (for X11) with a single 270X mining over about 30 hours. If I would've broadcast the premine, it would've looked like 80 blocks were mined in the first minute after launch.. Impossible to spot after the fact, other than tracking orphans
sr. member
Activity: 686
Merit: 320
So many ways to scam people.  Gotta love crypto.
hero member
Activity: 574
Merit: 523
One of possible ways to catch such attempts is to send the mined coins to other address(es) immediately as they mature.

Edit: not the case when all your blocks got orphaned. So, if you managed to send at least one tx and it is accepted by the network and later exist on blockchain, then all blocks past your block are not premined. So sending the mined coins could make you sure that since your mined block there is no premine. I over complicated the things Smiley) as soon as your mined block exist on the best chain a while after all more recent blocks are not premined.
legendary
Activity: 1610
Merit: 1008
Forget-about-it
this is interesting, is this hiding a premine which could contain a percentage of the coin, or a retroactive instamine of sorts...
sr. member
Activity: 439
Merit: 250
mmmmmm
So, it's possible to "perfectly" hide a premine. I won't go into the deep details of how this is done, since I don't want to make it easy for these scam devs. However, when it's perfectly hidden, it's impossible to go back with a block explorer and spot it. The timestamps on the blocks are lies to just look like it was mined after launch.

Anyway, this is a call out for early miners. You know who you are, the people with email subscriptions to the announcement forum that kick on miners with ninja launches and such. Also this applies to pools that pre-register and such.

The only way to spot these perfectly hidden premines is to have a node on the chain at the very beginning after launch. A semi-smart scammer will wait before broadcasting the premine blocks, so that shadow_runner and people like him that post the block counts when they get it downloaded will show that only 10 blocks or some such has been mined. You can tell that a hidden premine is broadcast later by a very large chain of orphan blocks. For instance, if you mine for 2 minutes and get 80 blocks, and then your chain is orphaned by another chain with 90 blocks (or even 70 blocks, but with more cummulative difficulty) then there is a good chance that this is a hidden premine.

If you encounter a huge orphan chain at launch a minute or two after mining, please save your debug.log! It's the only thing that records the info that can make this kind of behavior spottable. You can then post this info for analysis by me and others.

Of course, orphan chains at launch are quite common. What we're looking for though is huge orphanings.  Particularly if you mined a very early block, like block 10, and then mine until block 60 and it's later orphaned all the way back to 9, this indicates that someone was not listening to the block you broadcast. Just because you encounter orphans at launch does not mean there is a hidden premine, it only indicates that it's possible. Analysis will be needed to determine it, and even then nothing is 100% certain.

If you encounter huge orphan chains, please save your debug.log. Post it publicly if you can and PM me.
Jump to: