# Proof of time

**Problem ****All coins in hands of small amount of crooks**

Most amount of BITCOINS and other CRYPTO are in the hands of small amount of crooks and that means they can manipulate course and accumulate even more CRYPTO.**KYC**

It’s not an easy task to buy some bitcoins or other CRYPTO if you have some FIAT money. You must go through difficult KYC procedure which don’t suit for everyone. You must forget about your anonimity and become absolutly public for crooks and CIA and the other side is absolutly anonymous, most of cryptocurrency exchanges are registered in offshores and some exchanges can even change their registration from time to time.

In the beginning CRYPTO was a substitution of money, now the CRYPTO became an *Exclusive Investment Share* and only small amount of people using CRYPTO as currency.**How to distribute coins evenly ?**

The only solution is to distribute your coins for free, but how to do it evenly ?

**Solution****Proof of time**

The best solution for even distribution is distribution based on time. That means, the user must proof his spent time.**Tokens**

The only way to proof time moment is to proof it with token issued at the current moment of time.

The solution is to produce new token every DELTA (default 1 minute) period of time.

Every token is unique and has unique hash.

User need two tokens to proof time period (Start Token and End Token).

The user will recieve payment for proof time period

**AMOUNT=COINS*PERIOD****COINS**— amount of coins for single time step**PERIOD** — amount of tokens issued between period (amount of time steps)**AMOUNT** — total amount of coins user will recieve

There are no Users, only tokens and time periods based on tokens.**Coefficient**

The main idea of coefficients is to reduce payment amount for similar time periods.

The unique time periods will recieve maximum amount of coins and similar time periods will recieve minimun amount of coins.

The default coefficient is 0.

The maximum coefficient is 1.

We need two coeficients for start and end token (begining and end of time period).**Multiplication**

Everytime we make a payment near tokens increase their coefficient**Distribution****Scheme**

**Formulas****CCC = 0.5****DELTA=End-Start****NewC=COld + ((1-OldC)*CCC)*(Delta-Range)/Delta**

**CCC** — Default increase coefficient**Start** — start token number**End** — end token number**DELTA** — distance between start and end token**NewC** — New coefficient**CCurrent** — current coefficient**OldC** — Old coefficient**Range** — range from initial token (start or end) to current point (token)

**Payment formula****PAYMENT=COINS*(End-Start)*((CEnd+CStart)/2)**

**PAYMENT** — how much coins the user will recieve ?**COINS** — amount of coins for single time step**End** — End token number**Start** — Start token number**CStart** — Start Coefficient of start token**CEnd** — End Coefficient of end token

**Storage**

The best solution for storage of large amount of tokens is NoSQL**Tokens(table)**

ID — INTEGER UNSIGNED UNIQUE autoincrement — Token number

CStart — FLOAT — Start coefficient

CEnd — FLOAT — End coefficient

HASH — STRING UNIQUE — Randomly generated hash

**Payments(table)**

Date — ATETIME UNIQUE — Date of payment

Ammount — FLOAT — Amount of coins

StartHash — STRING — Hash of start token

EndHash — STRING — Hash of end token

# Addition

For example we have 100000 different users …

1 user make payment with period 1 year and other 99999 users makes payments with period 1–10 minutes. The user #1 fills all coefficients in +- 1 year range and other 99999 users have significantly lower coefficients.

The solution will be two different coefficients:

CD— day coefficient (start and end)

CM — minute coefficient (start and end)

CD will be used for periods < 1day

CH will be used for periods > 1day