# Totoro Tokenの仕様提案
## トークンの仕様策定にあたって
- 蛇足にならないようにする(トークンが存在することが自然であるような設計にする)
- Lightning Userが参入しやすい環境をつくれるようにする
- トークン価値がTotoroのもつネットワーク価値に応じて安定して上昇するように設計する
## 1. Gas方式
- ETHと同様のTXに対してGasを賦課する方式
- Constraints数や使用している分散ストレージの容量に合わせてGas料金を設定して消費するとOperatorに与える、もしくはバーンする
### メリット
- Ethereum経済圏ではもっともポピュラーな利用方法であり、エコノミクス上の事故が起こりえない
- Ethereumユーザーは利用しやすい
- ユーザーはみんな保有するので価値が上がりやすい
### デメリット
- ユーザーがTotoroトークンを保有する必要性がある
- Operator付与方式だと大量のState diffがOperatorに積み上がる
- Lightning Userからは評判悪そう
- LN払いが利用できない
## 2.EOS方式
- ユーザーがTotoroをステークすることでネットワークの計算量の枠を付与する
- Txを処理するとそのConstraints数や利用ストレージ容量に合わせてネットワーク計算量の枠を一定期間ロックする
- その間ユーザーはそのロックされている枠に関するTotoroトークンをUnstake出来ない
```mermaid
sequenceDiagram
actor U as User
participant N as Totoro Network
autonumber
U ->> N : Stake totoro token
N ->> U : Add Available Calculation Power(ACP)
U ->> N : Throw Tx
N ->> N : Execute Tx
N ->> U : Lock ACP for Computational complexity and storage usage
```
### メリット
- ユーザーはみんな保有するので価値が上がりやすい
- Gasの消費が行われないのでトランザクションの心理的な障壁が少ない
- ステークされるので売り圧が低くなる
### デメリット
- 手数料収入によるオペレーターに対するL1Gas代の補償が存在しない(Totoroの新規発行は除いて)
- ユーザーはみんな保有しなければならない
- LN払が利用できない
- あまり馴染みのないフレームワークなのでエコノミクス上の事故がありうる
## 3.MetaTransactionを前提としたEOS方式 <これでよさそう??>
- 基本的に帯域を消費するのは上記と同じ
- ただしオプションとしてMetaTransactionが利用でき、オペレーターにLightningなどで支払うと代わりに計算量の枠を消費して、Txを実行してくれる
- Txの署名とは別枠に計算量の枠を利用させるための署名が必要
```mermaid
sequenceDiagram
actor U as User
actor O as Operator
participant N as Totoro Network
autonumber
O ->> N : Stake totoro token
N ->> O : Add Available Calculation Power(ACP)
U ->> O : Throw Tx and pay fee by LN
O ->> N : Add signature for using ACP to Tx Payload and throw Tx
N ->> N : Execute Tx
N ->> O : Lock ACP for Computational complexity and storage usage
O ->> U : Return State Diff
```
### メリット
- ユーザーはTotoroを保有していなくても参加できる
- オペレーターは大量のTotoroを保有していることが考えられるため、効率が良い
- LN払いが利用できる
- LN払によってコンスタントにオペレーターからするとTotoroを売却できる効果があり、L1Gas代の補償としての側面がある
- ステークされるので売り圧は低くなる(2にくらべるとそこまで効果はない)
### デメリット
- 価格が上がりにくい
- あまり馴染みのないフレームワークなのでエコノミクス上の事故がありうる
- TXpayloadが大きくなってしまう
- Lightningでfeeを払ったからと言って実行される補償がない([こちらの議論](https://hackmd.io/_kCq_Ac0RaCzKPzgWhPNzA)で話されています)
## 4.Operatorによるステーキング
- 分散ストレージの運営にあたってLight Commitのしきい値署名を行えるSuper Nodeのような役割のNodeにはPoS型のステーキングが必要である
- もしInvalidなStateを提出または提出されたStateに対して署名したNodeのステークをばーんする
- これは上記1~3と併用して利用できるもの
## 5.DeFiでの利用
- 蛇足感があるのであまり推奨出来ない気がする
- Gasのトークンを錬成する方式などは単純な送金やNFT購入などの目的しか有してないユーザーにとっては敷居が高すぎる
- Governanceもあまりいれたくない感じ(そもそもGovernanceを利用しないといけない場面があるのか)
###### tags: TotoroToken