Skip to content

ThankToken

Jörg Hohwiller edited this page Feb 13, 2019 · 8 revisions

ThankToken

A ThankToken is used to represent an atomic amount of a specific currenry. It is the digital equivalent of a coin. To own more value you need to own more ThankTokens. Even though ThankToken is a crypto-currency it has no blockchain but each ThankToken has its own chain of transactions.

In a nutshell this works with the following principles:

  • Each ThankToken represents a specific value and is stored in a public distributed ledger using cryptographic algorithms.

  • Each ThankToken has a single owner at a point of time.

  • A ThankTransaction transfers a ThankToken from one owner to another. It therefore contains the public key of the new owner and is signed with the private key of the previous owner.

  • For each ThankToken the correpsonding ThankTransactions build a crypto-chain and audit-trail of the token. The current owner is the recipient from the last ThankTransaction in the chain.

  • A ThankToken has a currency. According to the currency the creation and value calculation can differ. This allows to reuse the same technological core for different currencies.

  • Using specific transactions a ThankToken can be forked (split) into or merged with other ThankTokens. This supports transferal of small amounts of value ("micro-payment") as well as reducing waste (storage, bandwidth and computing power) by renewing tokens and getting rid of old data on the long term.

Technical Details

A ThankToken consists of a header and a list of transactions.

Header

The header has the following properties:

  • v (version): the version of the token. Sequentially increased when new algorithms or formats come out.

  • a (amount): the initial and atomic amount for the value of the token (e.g. 0.01 or 1000).

  • c (currency): the currency of the token. Thanks by default. May also be Vote or another currency.

  • ts (timestamp): the timestamp with nanosecond precision when the token was created in UTC (e.g. "20151231T235959.9999Z").

  • loc (location): the ThankLocation where the token was created (e.g. 9F2C4M).

  • tgt (target): the ThankTarget this token was created for.

  • rcp (recipient): the public key of the creator and inital recipient

  • sig (signature): the signature of this token. Build by hashing all other values in the given order and encrypting this hash with the private key of the creator (corresponding to the public key from the rcp field of the previous transaction).

For each ThankToken a list of ThankTransactions is stored. Whenever the ThankToken is transferred from one owner to the next a valid ThankTransaction is appended to the list. The current owner is defined by the last ThankTransaction in the list.

Value

The actual value of a ThankToken is calculated by its currency. More details can be found in the following currencies:

Clone this wiki locally