Darwinia Documentation
  • Home
  • Blog
  • Wiki
  • Crab Network
  • Developers
  • Languages iconEnglish
    • 中文

›RFCs

Get Started

  • Introduction
  • FAQ

    • General
    • Developers
    • Community Building
    • Token Holder FAQ
    • Mainnet Related
    • Lexion
  • Community
  • Roadmap
  • Tools
  • Sample Article
  • How to contribute

Understand Darwinia

  • Overview
  • Architecture

    • Architecture
    • Bridge Chain
    • Solo Mode
    • Parachain Mode
  • Appchain SDK
  • NFT Identifiability
  • Accounts

    • Account Keys
    • Account Generation
    • Account Address
    • Check Balance
    • Balance Types

    Economics

    • Native Tokens
    • Distribution
    • Transaction Fees

    Staking

    • Basic Staking
    • Advanced Staking
    • Staking Power
    • Slash Algorithm
  • Bridge Chain Mechanism
  • Cryptography
  • Governance
  • Glossary

Tutorials

  • Create an Account
  • Become a nominator
  • Running a node
  • Become a validator
  • Become a relayer
  • Participate in governance
  • Recharge EVM address
  • Using Web3 for transaction
  • Using Web3 for contract

RFCs

  • RFCs
  • 0001 Darwinia Developement Structure
  • 0007 Dawinia Token Staking Model
  • 0009 Dawinia Liquid Kton Reward
  • 0010 Darwinia Cross Chain Nft Bridge Protocol
  • 0011 Using Harberger Tax To Find Price For Xclaim Vault Collaterals
  • 0012 Darwinia Bridge Core Interoperation In Chainrelay Enabled Blockchains
  • 0013 Darwinia Cross Chain Nft Standards
  • 0014 Darwinia Token Migration By Cross Chain Redeem Protocol
Edit

0007 Dawinia Token Staking Model

  • 功能描述: 达尔文通证和Staking模型(Darwinia AppChain)
  • 开始时间: 2019-05-23
  • RFC PR: None
  • Github Issue: None

概要

这边设计稿介绍达尔文网络的通证和Staking模型。

原生资产

RING是达尔文网络的原生资产,RING可以作为交易的燃料费。燃料费包括交易费用,合约执行费用,网络带宽费用,存储费用等等。

RING在达尔文网路主网上线时的供应量为20亿,之后将会通过出块奖励将新发行的RING分发Staking系统和Treasury。

在达尔文主网上线后,该年的出块奖励每年调整一次,第N年的块奖励为剩余可发行供应量的 1 - (99 /100)^sqrt(N)。

剩余可发行总量 = 硬顶总量 - 当前供应量

下一年的供应量 = 上一年的供应量 + 该年实际出块奖励总和

RING的硬顶总量为100亿。

根据每年的出块奖励,和出块间隔时间(单位:秒),可以算出这一年的每个块的出块奖励。

每个块的块奖励 = 该年出块奖励 × 出块间隔时间 ÷ 每年总秒数(即365乘24乘3600)

收益分配

达尔网络总收入包括出块奖励和达尔文网络交易手续费。达尔文网络交易手续费包括网络手续费,跨链服务质押费用,应用链链的接入费用,以及相关应用比如进化星球自主选择分配给达尔文网络的收入。 收益分配

Staking = 系统收入 × Y
Treasury = 系统收入 × (1 - Y)

Treasury主要用于支付系统提案预算,可能包括NFT挖矿或App挖矿等系统运营提案,Polkadot槽位竞价激励,或者用于生态开发者支持。

备注: 系统Staking收益是达尔网络总收入的一个百分比Y(Y为系统参数)。 Staking 达尔文网络将会把主要收入作为激励分发给Staking的参与者。Staking的过程也可以理解为POS挖矿过程,挖矿者通过质押资产来获得Staking能量来进行POS挖矿。

一般来说,用户可以通过质押基础资产RING来进行POS挖矿,如果用户开始取回Staking质押的RING,那么挖矿将停止,解除质押的RING将需要14天时间可以完全到账。

Staking按照简单和复杂程度,可以分为基础版和专业版。

Staking流程

氪石(KTON)

为了鼓励用户进行长期锁定和承诺投入,用户在Staking RING的过程中,可以承诺锁定RING 3 - 36个月,系统会给参与Staking的用户一个氪石的通证进行奖励,但在承诺锁定期间无法进行解锁RING操作(除非缴纳3倍的氪石罚金)。

因此,用户在使用RING进行Staking过程中,可以选择承诺锁定RING一段时间来获得氪石。氪石的初始供应量为零,但主网上线前进化星球应用已经开始锁定RING获得氪石,因此主网上线时将会存在一定的氪石供应量。最早通过锁定RING获得氪石的设计出现在进化星球古灵阁银行,相关的介绍可以参考古灵阁氪石模型[5]。

氪石可以用于质押获得Staking能量,所以同样也可以参与POS挖矿。用户通过质押氪石进行Staking,如果用户开始取回Staking质押的氪石,那么挖矿将停止,解除质押的氪石将需要14天时间可以完全到账。

Staking算力

某账户的Staking算力代表此账户当前时间对Staking的贡献值大小,Staking算力可以类比为POW中的算力。每个账户的算力值由该账户中质押的RING和KTON资产来决定,一旦解除质押,相应的算力也将消失。

账户的Staking算力比随其质押的资产多少不断变化,不能转移或者转账。Staking参与者可以通过修改投票支持的验证人,在不需要解锁质押的情况下,更改投票支持的验证人。

算力值有可能还将在系统的治理和升级中扮演重要角色。(备注2)

算力值占总算力值的比例称做算力占比。

算力 = 总算力值 × 算力占比

该账户算力占比 = 算力占比(RING部分) + 算力占比(氪石部分)

RING和氪石贡献的算力占比计算公式如下:

算力占比(RING部分) = RING算力贡献比例 × 质押中的RING / RING质押的总数

算力占比(氪石部分) = (1 - RING算力贡献比例) × 质押中的氪石 / 氪石质押总数

该账户的Staking收益公式如下:

账户Staking收益 = (达尔网络总收入 × Y) × 账户算力占比

该账户的投票权重公式如下:

账户投票权重 = 总投票权重 ×  账户算力占比

备注1: RING算力贡献比例默认为0.5。

备注2: 因为氪石可以转售给其他人,所以流动性的氪石可能无法完全代表长期承诺投入,只有承诺锁定和质押的”资产×天数”才能准确代表对达尔文网络的承诺投入。 Slash算法

为了防止验证人进行攻击,或者出块不稳定,当攻击或者错误发生的时候,系统需要对验证人(包括投票人)质押的资产进行惩罚,惩罚的过程和机制就是Slash算法。

因为达尔文网络中实际存在RING和KTON两种质押资产,因此需要对Slash的算法进行一些补充说明。

Staking系统中惩罚相关的参数将以百分比为单位,当Slash发生后,验证人或用户质押的资产将按照该百分比比例进行惩罚,无论其质押的资产是RING还是KTON。

另外,在达尔文网路质押系统中,RING存在四种主要状态,账户余额、Staking中、锁定Staking中、解除质押中。因此存在两种质押状态的RING资产,即Staking中和锁定Staking中,并且锁定Staking状态的RING有可能存在不同的解锁到期时间。因此在Slash发生时,需要确定不同RING质押资产被Slash的先后顺序和优先级。Staking系统将按照解锁到期的时间先后顺序,优先Slash那些较早到期的质押资产,也就是先Slash不在锁定状态的质押资产,然后Slash那些解锁时间先到期的质押资产。

Staking模型设计解释

达尔文网络将会把全部收入作为激励分发给Staking的参与者。

达尔文网络的收入来源大体分为两种:

  • 出块奖励(BLOCK_REWARD),每年的块奖励上限随时间会减少,通胀率将会随着时间快速收缩和降低。
  • 达尔文网络交易手续费(NETWORK_FEE),包括开发者使用达尔文网络的跨链服务,达尔文网络平行链的接入费用,以及相关应用比如进化星球自主选择分配给达尔文网络的收入。

因为Polkadot网络采用共享池安全的模型,所以处于Polkadot 连接模式时,平行链的安全性将由由中继链的验证人来保证,达尔文网络在此情况下不需要负责验证,只需要负责Collator即可。

因此,达尔文网络的 Staking 在这两种模式下的安全激励也会有很大不同,具体如下。 Solo 模式收入分配

验证人和 KTON 持有者将会按照一个比例来分享进化星球的收入, KTON 持有者可以同时把自己的 KTON 投票给验证人,获取验证人部分的 Staking 激励。(Y为系统参数,将会通过KTON投票的治理机制来设定)

(锁定 KTON,全部 KTON, Treasury)= 

[ (块奖励上限 ×氪石锁定率 + NETWORK_FEE)×X% ,  (块奖励上限 ×RING锁定率 + NETWORK_FEE)×Y%), (块奖励上限 + NETWORK_FEE) × (100-X-Y)% ]

Polkadot 连接模式收入分配

当达尔文网络打算连接至Polkadot网络时,根据Polkadot Parachain Auction[4]的模型,达尔文中继链将需要锁定足够多的DOTs来参与Parachain Slots竞价,是否胜出只与锁定的DOTs多少有关,取决于当时的市场情况。为了获得足够的竞争力,达尔文网络将设计一种众筹锁定竞价机制,以激励达尔文社区参与者帮助竞价。 众筹锁定竞价

Polkadot的Parachain Slot拍卖竞价允许任何类型的抽象账户参与竞价,包括普通地址账户,智能合约账户,平行链账户。这种广泛的抽象账户支持为参与竞价者提供了灵活性,可以设计各种去中心化的竞价模型。达尔文网络将为Polka连接模式设计一种通过众筹锁定DOT来参与Parachain Slots竞价的方式,众筹者不需要将DOT所有权进行转移,只需要将DOT锁定并提供锁定凭证,同时开放一定的投票或者竞价权限供达尔文中继链使用。参与竞价锁定的DOTs是安全的,因为整个过程是通过智能合约(或中继链)完成的,没有任何人可以控制这部分锁定的资产。

当达尔文网络切换至Polkadot连接模式时,达尔文网络不再需要自己的验证人,原来用来激励KTON锁定者Staking的部分将会被用来奖励那些帮助达尔文网络进行DOT锁定竞价的参与者,也就是说,达尔文社区的DOT持有者将可以通过提供DOT竞价锁定凭证,获得RING网络收入奖励。

(达尔文竞价锁定DOT,全部 KTON, Treasury)= 
[ (块奖励上限 + NETWORK_FEE) × X% ,  (块奖励上限 × RING锁定率 + NETWORK_FEE) × Y% , (块奖励上限 + NETWORK_FEE) ×(100-X-Y)%) ]

其他架构参考

  • Cosmos Staking
  • Polkadot Staking
  • Polkadot Parachain Slot Auction

参考和实现

代码库

https://github.com/darwinia-network/darwinia/tree/develop/srml/staking

主要特性和创新[WIP]

  • 支持Solo模式和波卡连接模式的无缝切换
  • 二阶Staking模型:锁定的氪石相当于二阶的锁定RING
  • 氪石是根据古灵阁氪石利息算法生成的,鼓励长期锁定和长期投入者
  • Staking权益和投票权的通证化,Staking后的锁定氪石即为投票权

缺点

  • 设计变更: 应用层面的流动性模型可以采取类似Uniswap模型的方案

理由[WIP]

现有技术

  • https://github.com/evolutionlandorg/bank
  • https://github.com/evolutionlandorg/darwinia-appchain/tree/master/srml/token

问题

[WIP]

未来的可能性

KTON虚拟银行未来商业拓展计划之贷款业务

当未来RING有足够的流动性,且虚拟银行中有锁定的RING的时候,任何玩家可以通过抵押足够(3倍)的资产(例如ETH),向虚拟银行贷款,但是需要在贷款时支付氪石贷款利息 D。用户到期后,可以返回借出的RING,换回抵押资产。

D(N, X, S) = R(N, X, S) * (贷款倍数) 暂定贷款倍数为2

借贷者缴纳的氪石贷款利息将会被虚拟银行销毁。

任何时候如果虚拟银行发现抵押不充足(平仓线,低于1.3倍)时,任何人可以通过平仓动作,支付RING给虚拟银行,换回锁定的抵押物。(这个部分设计可以参考MakerDAO)

氪石将作为RING长期持有者和价值投资者的奖励,在系统重要投票和系统创始道具购买上扮演重要角色,例如某些保留的地块,只能用氪石购买。

参考

  • [1] 进化星球虚拟银行和氪石
  • [2] PoW的好处
  • [3] 年化利率
Last updated on 2020-6-1
← 0001 Darwinia Developement Structure0009 Dawinia Liquid Kton Reward →
  • 其他架构参考
  • 代码库
  • 主要特性和创新[WIP]
    • KTON虚拟银行未来商业拓展计划之贷款业务
Links
BlogOfficial WebsiteDarwinia Wallet Apps
Darwinia Documentation
Follow @DarwiniaNetwork
Star
Copyright © 2021 Darwinia Network