Skip to content

Proof-of-Time #1

@Mitoshi-Jackamoto

Description

@Mitoshi-Jackamoto

This is a theory on cryptocurrency. Every coin that can be mined has a block time and in this example i'll be using AmityCoin which has 2 minute block times.


What's this then?
So if the network solves a block in a shorter time than it is supposed to, then the network will give you a lower block reward


The formula in its most simple form will look something like this;

if ST < 120
  return lowerReward
else if ST => 120
  return normalReward

120 seconds equals 2 minutes so this saying "if the block time is solved in less than 120 seconds, then give us a lower reward but if it's exactly 120 or over then give us the normal reward for the block".

There is a slight problem though with this. If a block was solved in 10 seconds, then it would have the same penalty as a block being solved in 100 seconds. Both are incorrect solve times but a reward for a block solved within 10 seconds should have more of a penalty than one solved within 100 seconds so for this we need to think a little outside the box.

DIFFICULTY_TARGET = ST

if ST => 120
  return normalReward
else if ST < 119
  return lowerReward1
else if ST < 115
  return lowerReward2
else if ST < 110
  return lowerReward3

lowerReward1 = (normalReward / 2) + 60
lowerReward2 = (normalReward / 2) + 50
lowerReward3 = (normalReward / 2) + 40

lowerReward = lowerReward1
            = lowerReward2
            = lowerReward3

if lowerReward * 10
  return normalReward / 2

if lowerReward * 20
  return normalReward / 3

Now this is saying "if a block is solved anything less than 120 seconds then use 1,2 or 3 to get the new block reward. Also if a case of a lower block is reward multiple times because of the solve time is still to quick, then it half's and then third's the reward".


This does need properly coding so don't try and copy this into your code as it simple won't work "as-is"

This is just a rough sketch, feel free to comment something about this

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions