Pages:
Author

Topic: [ANN][GRA] Graincoin - New PoW/PoS coin | Fast, secure | Version 1.5 Released! - page 28. (Read 177059 times)

hero member
Activity: 574
Merit: 523
I have an Idea for a random source:

Lets take the previous blockhash and the Grain adress of the miner and hash it.

something like this: hash(previous_block_hash + Grain_adress).

The greedy miner would first have to search for a proper Grain adress for his miner in order to receive the nex superblock.
Maybe you can design it to be very difficult to find the next proper adress for the superblock, like:

if hash(previous_block_hash + Grain_adress) contains "99999" = superblock

You could also add a superblock difficulty:
if no superblocks are found for a long time, the superblockdifficulty goes down, lets say from must_contain = "99999" to must_contain to "9999".

You could make it very very hard for a block to be a superblock, but every single block could be a superblock and the greedy miner would be fucked.

lets call it: "Proof of luck".

You can't do this, as the computation needs to be exactly the same for all clients, that's where the network agree and form the blockchain. So you can't take Grain address into it.


Every client in the network can read the adress of the blockfinder from the transaction in the block or not?
You would verify a block by checking the adress of the blockfinder from the coinbase transaction and not by your own adress.

And you need to check the transactions. If not, then a miner could add any amount of coins to the coinbase transaction.

You can do that with the last transaction, related to the block creation. But there's no diff than you do it with last block hash. It's just a random number hash, you combine different values or not, no difference there. Anyone who want to write a program to check that can do exactly what you do in the client. No additional protection or encryption.


There is a difference, vecause every miner has a different adress.
The greedy miner cant just start to mine, if the last block was lucky, because the blocks are no longer lucky, the miner adress is now lucky or unlucky.
He must have a lucky adress in order to generate a valid coinbase transaction with x64 amount of coins.
In order to to generate a valid x64 coinbase transaction everytime, he first needs to search for a lucky adress.
The normal miner will just mine with the same adress everytime and be hoping to get lucky.
If you made it very hard to find a valid proof of luck, then the greedy miner cant profit from his permanent search for the lucky adress.
If searching for a adress, that can solve if hash(previous_block_hash + Grain_adress) contains "99999" = superblock (or something like this) would take longer, than the average block time, then the search for the lucky adress would be pointless.

The verificaton could work like this:


0. Current block is #230000.
1. Miner has adress 9T5x6h164qpqk3s3Lunq7uAVLapQNCF7wj
2. Miner generates his proof of luck: proof_of_luck_hash = hash(hash of block_#23000 + 9T5x6h164qpqk3s3Lunq7uAVLapQNCF7wj)
3. Miner checks for superblock: if proof_of_luck_hash contains "99999" = superblock // in this case the proof_of_luck_hash containes the string "99999" so the proof of luck is valide, if not, then the miner can only create a valid transaction with 1x amount of coins, not x64 to the adress 9T5x6h164qpqk3s3Lunq7uAVLapQNCF7wj.
4. Miner makes coinbase transaction with 64x amount coins to adress 9T5x6h164qpqk3s3Lunq7uAVLapQNCF7wj and generates PoW.
5. Miner finds block #230001 and broadcasts it.
6. Client A receives the block #230001.
7. Client A generates the proof of luck for the block #23001 to be verified: proof_of_luck_hash = hash(hash of block_#23000 + adress of coinbase transaction_of_block_#230001) // adress of coinbase transaction is 9T5x6h164qpqk3s3Lunq7uAVLapQNCF7wj
8. Client A verifies the superblock: if proof_of_luck_hash contains "99999" = superblock // the proof_of_luck_hash containes the string "99999", so it is verified as a superblock and the transaction is valid.
If the coinbase transaction would have only the normal 1x amount of coins and proof_of_luck_hash would not cointain "99999" (proof of work invalid), then the block would be also valid.
If proof_of_luck_hash would not cointain "99999" and the coinbase transaction would have 64x amount of coins (superblock), then the block would be invalid.

I am not a mathematician in a pure meaning of this term, so I might be mistaken but I see no statistical difference between the present algorithm and the one proposed by you. In your proposal the greedy miner need to do only two extra computations per block: the addition and hashing. He need not to find any lucky address but he would use the same address all the time. Then he get the same number of bonus blocks as he has now.

hero member
Activity: 532
Merit: 500
I'm a great believer in elegant solutions solve difficult problems.

If it takes more more than 10 minutes to get my head around it, then it's not elegant.  Wink
member
Activity: 61
Merit: 10
The specification is 1% for x64 block, so the cheater miner only have to check 100 addresses in average, which could be done in a few ms-s.

A good solution:

Every block has two outputs:
-normal reward: 1024 and goes to the miner
-bonus reward: x0 x7 or x63 based on last block hash, and goes to the founder of the last block.
member
Activity: 109
Merit: 10
I have an Idea for a random source:

Lets take the previous blockhash and the Grain adress of the miner and hash it.

something like this: hash(previous_block_hash + Grain_adress).

The greedy miner would first have to search for a proper Grain adress for his miner in order to receive the nex superblock.
Maybe you can design it to be very difficult to find the next proper adress for the superblock, like:

if hash(previous_block_hash + Grain_adress) contains "99999" = superblock

You could also add a superblock difficulty:
if no superblocks are found for a long time, the superblockdifficulty goes down, lets say from must_contain = "99999" to must_contain to "9999".

You could make it very very hard for a block to be a superblock, but every single block could be a superblock and the greedy miner would be fucked.

lets call it: "Proof of luck".

You can't do this, as the computation needs to be exactly the same for all clients, that's where the network agree and form the blockchain. So you can't take Grain address into it.


Every client in the network can read the adress of the blockfinder from the transaction in the block or not?
You would verify a block by checking the adress of the blockfinder from the coinbase transaction and not by your own adress.

And you need to check the transactions. If not, then a miner could add any amount of coins to the coinbase transaction.

You can do that with the last transaction, related to the block creation. But there's no diff than you do it with last block hash. It's just a random number hash, you combine different values or not, no difference there. Anyone who want to write a program to check that can do exactly what you do in the client. No additional protection or encryption.


There is a difference, vecause every miner has a different adress.
The greedy miner cant just start to mine, if the last block was lucky, because the blocks are no longer lucky, the miner adress is now lucky or unlucky.
He must have a lucky adress in order to generate a valid coinbase transaction with x64 amount of coins.
In order to to generate a valid x64 coinbase transaction everytime, he first needs to search for a lucky adress.
The normal miner will just mine with the same adress everytime and be hoping to get lucky.
If you made it very hard to find a valid proof of luck, then the greedy miner cant profit from his permanent search for the lucky adress.
If searching for a adress, that can solve if hash(previous_block_hash + Grain_adress) contains "99999" = superblock (or something like this) would take longer, than the average block time, then the search for the lucky adress would be pointless.

The verificaton could work like this:


0. Current block is #230000.
1. Miner has adress 9T5x6h164qpqk3s3Lunq7uAVLapQNCF7wj
2. Miner generates his proof of luck: proof_of_luck_hash = hash(hash of block_#23000 + 9T5x6h164qpqk3s3Lunq7uAVLapQNCF7wj)
3. Miner checks for superblock: if proof_of_luck_hash contains "99999" = superblock // in this case the proof_of_luck_hash containes the string "99999" so the proof of luck is valide, if not, then the miner can only create a valid transaction with 1x amount of coins, not x64 to the adress 9T5x6h164qpqk3s3Lunq7uAVLapQNCF7wj.
4. Miner makes coinbase transaction with 64x amount coins to adress 9T5x6h164qpqk3s3Lunq7uAVLapQNCF7wj and generates PoW.
5. Miner finds block #230001 and broadcasts it.
6. Client A receives the block #230001.
7. Client A generates the proof of luck for the block #23001 to be verified: proof_of_luck_hash = hash(hash of block_#23000 + adress of coinbase transaction_of_block_#230001) // adress of coinbase transaction is 9T5x6h164qpqk3s3Lunq7uAVLapQNCF7wj
8. Client A verifies the superblock: if proof_of_luck_hash contains "99999" = superblock // the proof_of_luck_hash containes the string "99999", so it is verified as a superblock and the transaction is valid.
If the coinbase transaction would have only the normal 1x amount of coins and proof_of_luck_hash would not cointain "99999" (proof of work invalid), then the block would be also valid.
If proof_of_luck_hash would not cointain "99999" and the coinbase transaction would have 64x amount of coins (superblock), then the block would be invalid.
sr. member
Activity: 406
Merit: 250
I have an Idea for a random source:

Lets take the previous blockhash and the Grain adress of the miner and hash it.

something like this: hash(previous_block_hash + Grain_adress).

The greedy miner would first have to search for a proper Grain adress for his miner in order to receive the nex superblock.
Maybe you can design it to be very difficult to find the next proper adress for the superblock, like:

if hash(previous_block_hash + Grain_adress) contains "99999" = superblock

You could also add a superblock difficulty:
if no superblocks are found for a long time, the superblockdifficulty goes down, lets say from must_contain = "99999" to must_contain to "9999".

You could make it very very hard for a block to be a superblock, but every single block could be a superblock and the greedy miner would be fucked.

lets call it: "Proof of luck".

You can't do this, as the computation needs to be exactly the same for all clients, that's where the network agree and form the blockchain. So you can't take Grain address into it.


Every client in the network can read the adress of the blockfinder from the transaction in the block or not?
You would verify a block by checking the adress of the blockfinder from the coinbase transaction and not by your own adress.

And you need to check the transactions. If not, then a miner could add any amount of coins to the coinbase transaction.

You can do that with the last transaction, related to the block creation. But there's no diff than you do it with last block hash. It's just a random number hash, you combine different values or not, no difference there. Anyone who want to write a program to check that can do exactly what you do in the client. No additional protection or encryption.
member
Activity: 109
Merit: 10
I have an Idea for a random source:

Lets take the previous blockhash and the Grain adress of the miner and hash it.

something like this: hash(previous_block_hash + Grain_adress).

The greedy miner would first have to search for a proper Grain adress for his miner in order to receive the nex superblock.
Maybe you can design it to be very difficult to find the next proper adress for the superblock, like:

if hash(previous_block_hash + Grain_adress) contains "99999" = superblock

You could also add a superblock difficulty:
if no superblocks are found for a long time, the superblockdifficulty goes down, lets say from must_contain = "99999" to must_contain to "9999".

You could make it very very hard for a block to be a superblock, but every single block could be a superblock and the greedy miner would be fucked.

lets call it: "Proof of luck".

You can't do this, as the computation needs to be exactly the same for all clients, that's where the network agree and form the blockchain. So you can't take Grain address into it.


Every client in the network can read the adress of the blockfinder from the transaction in the block or not?
You would verify a block by checking the adress of the blockfinder from the coinbase transaction and not by your own adress.

And you need to check the transactions. If not, then a miner could add any amount of coins to the coinbase transaction.
sr. member
Activity: 406
Merit: 250
I have an Idea for a random source:

Lets take the previous blockhash and the Grain adress of the miner and hash it.

something like this: hash(previous_block_hash + Grain_adress).

The greedy miner would first have to search for a proper Grain adress for his miner in order to receive the nex superblock.
Maybe you can design it to be very difficult to find the next proper adress for the superblock, like:

if hash(previous_block_hash + Grain_adress) contains "99999" = superblock

You could also add a superblock difficulty:
if no superblocks are found for a long time, the superblockdifficulty goes down, lets say from must_contain = "99999" to must_contain to "9999".

You could make it very very hard for a block to be a superblock, but every single block could be a superblock and the greedy miner would be fucked.

lets call it: "Proof of luck".

You can't do this, as the computation needs to be exactly the same for all clients, that's where the network agree and form the blockchain. So you can't take Grain address into it.
member
Activity: 109
Merit: 10
I have an Idea for a random source:

Lets take the previous blockhash and the Grain adress of the miner and hash it.

something like this: hash(previous_block_hash + Grain_adress).

The greedy miner would first have to search for a proper Grain adress for his miner in order to receive the nex superblock.
Maybe you can design it to be very difficult to find the next proper adress for the superblock, like:

if hash(previous_block_hash + Grain_adress) contains "99999" = superblock

You could also add a superblock difficulty:
if no superblocks are found for a long time, the superblockdifficulty goes down, lets say from must_contain = "99999" to must_contain to "9999".

You could make it very very hard for a block to be a superblock, but every single block could be a superblock and the greedy miner would be fucked.

lets call it: "Proof of luck".
member
Activity: 112
Merit: 10
Stupid question here, but what happens when the coin supply runs out? Do miners get notified in some way?
legendary
Activity: 1884
Merit: 1005
sr. member
Activity: 336
Merit: 250
Have A Nice Day
Technically, he is not wrong,
because of everybody mine at same time for the super block.
I want to concern the super block reward system should be improved to avoid this kind of special miner.
I know as lucky 7 coin are using similar way,
And lotto or the others are using pure random instead of use the previous data.
Maybe, somebody use a special miner, just monitor the hash value, and, if it find a super block chance,
Just put all hash power, and, go to the other coin ~
maybe he utilize couple of coins at same time ~
And, i think it is just one address,
there are couple of more,

Attract points of coins
(1) price
(2) PoS
(3) Super reward

After one month,
The reward of this coin will become half,
There is not much time ~

Lottocoin and all other "superblock" coins are all using previous hash as the source of randomness. The difference between Grain/Lucky7 and other superblock coins is the Grain/Lucky7 counts the occurrence of certain digits in the previous hash, while all other superblock coins use previous hash as the seed for a random number. Since the random generation used here is always deterministic random (mersenne twister), with seed you can always find what the random number will be. Thus there's no difference here: once you know the previous hash, you can determine whether this current block is a superblock, and what type of the superblock. It is the same as the wallet client determines it.

There's no pure random, because all the clients need to compute exactly the same results, otherwise the p2p network can not be formed. This is the basics of p2p coin. Wink


yes, there is no pure random,
But, it is a random,
only issues is how can get the seed number,
mostlay, the random generator make a same random number with the same seed,
(to avoid it, we use the timer value for the seed mostly)
but, In P2P coin world, the random number should be verifiable,
So, the seed number should be a fixed value which can be shared over all QT,
it is why you and some coins are using the previous hash value (it is most easy, and can decide the reward for the next block)

Technically, you can use the generated hash number also,

(1) when hash is found, QT will broadcast the found hash and calcuated the reward using the found hash
(2) and, the QT can verify the reward using the recieved hash instead of the previous hash, and hash itself will be verifed also.

I am not sure the technical limitation for this method,
In this case, nobody know the rewards before found.

If just mining the super blocks only,
they can use couple of coins at once,
just focus one the default coin,
if find the chance of the super block or higher reward chance, switching th hashing power the coin,
It can increae the net gain ratio,

Yes, they need very high hashing power,

the coin changer is the general use in Multi-coin Pool,
Instead of change the coin base on the diff,
It can be changed the con base on the reward,

It can not be justified using the other coin also have same problem,
If it is the problem, it should be fixed or improved,

Thanks
legendary
Activity: 1894
Merit: 1001
Why grain is falling?

  someone with a lot of grains wants it to be a time to buy!    Wink
sr. member
Activity: 336
Merit: 250
sr. member
Activity: 434
Merit: 250
🤖UBEX.COM 🤖
What a freakin joke ! Nice find mkimid.

75800 GRA up for offers. Anything to get this garbage coin off my hard drive. :/

I will take them happily. Sent you offer.
sr. member
Activity: 406
Merit: 250
Technically, he is not wrong,
because of everybody mine at same time for the super block.
I want to concern the super block reward system should be improved to avoid this kind of special miner.
I know as lucky 7 coin are using similar way,
And lotto or the others are using pure random instead of use the previous data.
Maybe, somebody use a special miner, just monitor the hash value, and, if it find a super block chance,
Just put all hash power, and, go to the other coin ~
maybe he utilize couple of coins at same time ~
And, i think it is just one address,
there are couple of more,

Attract points of coins
(1) price
(2) PoS
(3) Super reward

After one month,
The reward of this coin will become half,
There is not much time ~

Lottocoin and all other "superblock" coins are all using previous hash as the source of randomness. The difference between Grain/Lucky7 and other superblock coins is the Grain/Lucky7 counts the occurrence of certain digits in the previous hash, while all other superblock coins use previous hash as the seed for a random number. Since the random generation used here is always deterministic random (mersenne twister), with seed you can always find what the random number will be. Thus there's no difference here: once you know the previous hash, you can determine whether this current block is a superblock, and what type of the superblock. It is the same as the wallet client determines it.

There's no pure random, because all the clients need to compute exactly the same results, otherwise the p2p network can not be formed. This is the basics of p2p coin. Wink
sr. member
Activity: 336
Merit: 250
Have A Nice Day
What a freakin joke ! Nice find mkimid.

75800 GRA up for offers. Anything to get this garbage coin off my hard drive. :/

The GPU miner for the CPU only coin,
Sneaky super block hunting,
Multi Coin Changer at Pool ~

All of the way of maximize their own profitability,
Some time, it makes the ordinary miner feel bad,
But, it is the general in the real life,

I am tracking, testing this coin always,
Because of I really hope this coin be one of the best in the crypto coin world.
And, it is not a problem of this coin only,
It is the problem of many coins, and,
I just wish this coin prepare the way to avoid the sneaky miner ~


Do I need to remind you and everyone who the prime suspect should be ?

Now chew on this for a minute or two..   https://bitcointalk.org/index.php?topic=444775.0

I understand what do you want to say,
At least, I am not smart enough to explain something theorically,
Just, I can desript some thing which I can think it is little bit strange

Anyway, thank you for your advice ~
legendary
Activity: 1624
Merit: 1001
All cryptos are FIAT digital currency. Do not use.
What a freakin joke ! Nice find mkimid.

75800 GRA up for offers. Anything to get this garbage coin off my hard drive. :/

The GPU miner for the CPU only coin,
Sneaky super block hunting,
Multi Coin Changer at Pool ~

All of the way of maximize their own profitability,
Some time, it makes the ordinary miner feel bad,
But, it is the general in the real life,

I am tracking, testing this coin always,
Because of I really hope this coin be one of the best in the crypto coin world.
And, it is not a problem of this coin only,
It is the problem of many coins, and,
I just wish this coin prepare the way to avoid the sneaky miner ~


Do I need to remind you and everyone who the prime suspect should be ?

Now chew on this for a minute or two..   https://bitcointalksearch.org/topic/42-and-descendents-have-unlimited-coin-supply-hardcoded-fixed-444775
sr. member
Activity: 336
Merit: 250
Have A Nice Day
What a freakin joke ! Nice find mkimid.

75800 GRA up for offers. Anything to get this garbage coin off my hard drive. :/

The GPU miner for the CPU only coin,
Sneaky super block hunting,
Multi Coin Changer at Pool ~

All of the way of maximize their own profitability,
Some time, it makes the ordinary miner feel bad,
But, it is the general in the real life,

I am tracking, testing this coin always,
Because of I really hope this coin be one of the best in the crypto coin world.
And, it is not a problem of this coin only,
It is the problem of many coins, and,
I just wish this coin prepare the way to avoid the sneaky miner ~




 
sr. member
Activity: 336
Merit: 250
Have A Nice Day
I have mined over 130 but i just got 4 8x blocks,
it is too lower than 10% of possibility,
But, i found some addresses which mined the super blocks mostly,
The example,

(Generated)

http://coinblockchain.com/grain/address/9L3nHRkKae1Xzmp47AkYcaJKGyeqioqUDN

(Transfer)

http://coinblockchain.com/grain/tx/f572daa89cf7c6653383b2f372e8eced23f088c9969659c4549774969106bae3#i0

(Storage)

http://coinblockchain.com/grain/address/9GFzZoJ4cFLVmb3mMEZhMCJfNif7DUXjLb


1. Is it a special address for the super block ?
Or,

2. It is an address of Super lucky person ?
Or,

3. Maybe somebody have a special miner to mine the super block only,

If #3, it is the very disappointed about the reward system of Grain Coin ~
Somebody just join when super-block chance with big hash, after that,
He mine the other coins ~~~~~

It is why the chance if super block is so low ~~~


The superblock supposed be random, it depends on the previous block hash. So far I am not aware of anyway to grab specifically the superblocks. If someone wants to do this, he must: (a) has huge hashpower (b) monitors all the time the blockchain and calculate the previous hash conditions.

If he is able to do that, then he'll be able to get superblocks of any coin, because so far all the superblocks I know of are based on the previous hash...

Technically, he is not wrong,
because of everybody mine at same time for the super block.
I want to concern the super block reward system should be improved to avoid this kind of special miner.
I know as lucky 7 coin are using similar way,
And lotto or the others are using pure random instead of use the previous data.
Maybe, somebody use a special miner, just monitor the hash value, and, if it find a super block chance,
Just put all hash power, and, go to the other coin ~
maybe he utilize couple of coins at same time ~
And, i think it is just one address,
there are couple of more,

Attract points of coins
(1) price
(2) PoS
(3) Super reward

After one month,
The reward of this coin will become half,
There is not much time ~

Pages:
Jump to: