Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EIP-0045 Ephemereal Tokens #99

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 42 additions & 0 deletions eip-0045.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Ephemeral Tokens

- Author: qx()
- Status: Proposed
- Created: 23-February-2024
- Last edited: 23-February-2024
- License: CC0
- Forking: not required

## Abstract

This document proposes a standard for creating and burning ephemeral tokens based on a future block height with incentive for miners to burn the token.
Incentivized Burning!

## Motivation

There exists many use cases for ephemeral tokens, here are a few:
- Blockchain messaging (messages that don't need to take up storage for longer than a specified time) including encrypted messaging (encryption is up the the clients of course)
- Key access - tokens that grant rights that are then automatically burnt after a period of time (think of committee access)
- Real-Time data - when data required is ONLY what is current (some sort of oracle perhaps), the old data can be pruned to save space on the chain
- NFT collections - Rareness could be ranked by the point at which it would be expired, with the most valuable ones being the random ones that have a block height many years out, or the reverse.
- Canary warrant tokens - if a token is not recreated every XXX days or years and ceases to exist, we can assume there has been a govt or state breach of a user/project or a required audit handover of information to a govt.
- Temporary boost tokens - for example, use in mining reward boosts (think GetBlok sub pools) as well as gaming boosts that are temporary (think holiday loot % boots that vanish).
- Testing on Mainnet - Make sure your test tokens are burnt by the time your mainnet tests are wrapping up.

## Requirements

- Ephemeral SC has a single address that miners can find to search for tokens that can be burned
- `R4` - p2pk address of the owner of the asset
- `R5` - block height to allow burning of token after reached
- `R6` - contains the amount of ergs that the miner is allowed to collect
- A smart contract that holds all assets. This Smart contract (Ephemeral) has the following logic
- A token can be minted into the SC address if it follows all rules of R4, R5, R6
- Owner in R4 can spend to a new box inside the SC address if .XX ergs are present in the box with the token (R6) and conditions are met (transfer)
- After block height has been reached, allows only pk === miner.pk to spend and collect the .XX ergs in the box IF the block height has been reached AND the token is in the input and NOT in the output (burn)


## Process
- User sends ERGS to a proxy contract to initiate a mint
- Off-chain bot takes ERGS from that contract and mints tokens into the Ephemeral SC which follows the requirements above
- Users can xfer ownership by modifying R4 and following all SC rules
- Minerts burn token and collect ergs from the box after the blockheight is reached (owners cannot utilize the token after the block height has been reached if there is a delay in miners burning it)