Qtum 量子链发布新共识机制白皮书

摘要
权益证明(Proof-of-Stake,简称 PoS)机制是区块链领域最常见的共识机制之一,其总市值仅次于采用工作量证明(Proof-of-Work)机制的项目。Staking 是 PoS 系统中用户参与共识获取奖励的方式,经过多年的发展,仍存在许多弊端:
· Staking 节点需要保持在线;
· 代理 Staking 中的超级节点数量有限,网络趋于中心化;
· 普通用户参与 Staking 的本金和收益无法由自己掌握,有资金安全的风险;
· 各类代理 Staking 的模式固定且单一,无法根据实际情况进行升级和迭代。
Qtum 量子链首次把智能合约引入到 PoS 共识过程,提出了一种基于智能合约的离线 Staking 机制,使用户可以在离线状态参与 Staking,且本金和收益都通过智能合约保证安全性,为冷钱包 Staking、去中心化 PoS 矿池等提供了新的解决方案。在 Qtum 离线 Staking 机制中,成为 Super Staker 可以代替普通节点进行 Staking,并获取收益,网络中 Super Staker 的数量没有上限,最大可能地保证了网络的去中心化程度。同时,由于智能合约的引入,Qtum 离线 Staking 机制的规则是可编程、可升级的,增加了 Staking 本身的灵活性。
1. 简介
背景与动机
Qtum 量子链是最早采用 PoS 共识机制的区块链项目之一。Qtum PoS 共识机制的基本原理是 Staker(即 PoS 系统中的“矿工”)竞争生成新区块,每个 Staker 产生符合共识要求的新区块的概率和他持有的 QTUM 数量(或称为 Stake)成正比,持币越多则成为区块生成者的概率越大。
PoS 共识机制要求参与共识的持币者保持在线,负责打包交易信息、生成新区块、维护网络运行,共同维护去中心化网络的安全。作为奖励,节点可以获得系统增发的 QTUM,这种收益的方式就是 Staking。
然而在现实中,大部分 Staker 无法保持在线:
· 对于普通 Staker,无法保证自己的设备 7*24 小时在线运行;
· 对于机构持有者等大户,不愿意承担热钱包在线导致的安全性隐患,如黑客攻击等。
因此,在大多数 PoS 系统中,参与共识的持币者比例不高。由于大部分持币者都无法进行 Staking,系统产生的代币将被少数大户获得,从而降低网络的去中心化程度和安全性。
由于在线权益证明机制存在上述弊端,业内逐渐出现了一些对离线权益证明机制(以下简称离线PoS)的探索,以满足大部分普通持币者在离线状态下参与PoS共识、获得区块奖励的需求。目前,行业内的离线PoS机制主要分为以下几种类型,都或多或少存在一些问题:
基于中心化代理的 Staking
基本原理是用户将代币转移给代理人,再由代理人进行在线Staking,获取的收益按照事先约定分发给用户。大部分中心化 PoS 矿池、交易所的Staking 服务等,都属于基于中心化代理的 PoS。
该机制本质上是用户把币的所有权转移给中心化机构,再间接参与 Staking,资金的安全性和收益的获取都完全依靠中心化机构的信用背书,有很大的资金安全隐患和网络中心化风险。
基于去中心化代理的离线 Staking
较常见的几种方式包括:
· DPoS(Delegated-Proof-of-Stake)共识机制,普通用户根据持币数投票给少数几个超级节点,再由超级用户参与共识获取奖励。虽然用户仍可以使用自己的代币,但没有任何机制可以保证超级节点会分配 Staking 所得的利益。
· Tezos 的共识机制中,普通用户仅把自己的收益权委托给代理节点,自己仍拥有代币的控制权。但整个代理模式比较单一,且代理节点仍需要手动分配 Staking 收益,没有共识机制保证普通用户的收益。
· 另外一些基于保证金的 PoS 系统中,存在 Slashing 的风险,即质押用于 Staking 的代币可能会由于各种原因被系统罚没,造成本金的损失。
Staking 领域仍有许多痛点需要解决,行业内亟需一种让所有持币者可以随时参与,同时可以保证持币者本金和收益安全的 Staking 机制。
主要贡献
基于对 PoS 和智能合约的深入理解,Qtum 量子链提出一种基于智能合约的离线 Staking 机制。与现有 Staking 机制相比,其具有以下特点:
· 持币用户离线参与就有可能获取收益,且没有任何门槛;
· 成为 Super Staker 没有任何门槛,且 Super Staker 的数量也没有任何限制,鼓励充分竞争和去中心化;
· Staking 过程和收益的分配过程都由智能合约控制,通过底层共识机制保证安全性,避免中心化风险;
· 智能合约可以指定不同的代理规则,改变规则或引入新规则只需要部署新的合约,不需要硬分叉;
· 锁定在智能合约中的代币也可用于 Staking,这是其它 PoS 系统中都无法实现的。
目前 Qtum 离线 Staking 机制已经在 Qtum 主网上线,属业界首创。
2. 技术原理
本章介绍 Qtum 离线 Staking 机制的技术实现原理。
委托证明
Qtum 离线 Staking 协议允许用户将自己持有的代币的 Staking 权益委托给 Super Staker,获取区块奖励,但同时保留 QTUM 代币的所有权。在 Qtum 去中心化网络中,这种委托关系必须通过共识机制保证其真实性,因此代币持有者需要提供可被验证的委托证明。
委托证明(Proof of Delegation,简称 PoD),是由地址私钥持有者对委托信息进行数字签名后生成的消息。委托证明中被签名的信息即被委托的 Super Staker 的地址。PoD 将被记录到代理合约中,被 Super Staker 用于创建新区块。Super Staker 必须将 PoD 包含到新区块的区块头中,用于证明 Super Staker 有权利使用委托人地址的 UTXO 建立新区块。
PoD = SignMessage( Delegator’s priv key, Super Staker’s Address)
任何用户都可以通过委托人地址、Super Staker 地址验证 PoD 的有效性。验证 PoD 的有效性相当于验证委托的有效性。
Verify(委托人地址,Super Staker 地址,PoD) -> (True | False)。
代理合约
代理合约是用于管理 Qtum 离线 Staking 代理信息的预编译智能合约,部署在 Qtum 区块链上。代理合约主要实现以下几个功能:
· 委托人通过代理合约添加/删除/更新委托信息;
· Super Staker 通过代理合约获取相关委托信息;
· 所有节点通过代理合约获取委托信息,用于验证区块。
预编译合约的优势在于可以极大地降低 Gas 费用,且获取任何节点都可以无成本地获取合约状态信息。
委托信息
Qtum 区块链上 Staking 的基本单位是 UTXO(Unspent-Transaction-Output,未花费交易输出),但离线 Staking 的委托单位无法精确到 UTXO。一方面,每个地址往往有多个 UTXO,普通用户无法管理每个 UTXO 的委托,这会极大提高用户使用 Offline Staking 的门槛。另一方面,UTXO 在获得区块奖励后会生成新的 UTXO,如果以 UTXO 为单位,旧的委托会自动失效,用户需要继续对新的 UTXO 进行委托,这无论从经济性还是实际操作性上都存在问题。因此,Qtum 离线 Staking 需要以地址为单位进行委托。
代理合约将会管理所有以地址为单位的委托信息。这些委托信息的标准形式如下:
<委托人地址 A>
<对应的代理人地址 B>
<委托人愿意支付的手续费率>
<委托区块高度>
<委托证明 PoD>
其中,PoD 中包含的委托人和代理人地址需要和委托信息中地址相符,即 PoD 是委托人地址 A 对应的私钥对代理人地址 B 的数字签名。
委托人
代理合约中所有委托信息均由委托人发布和修改。通过 Solidity 智能合约的权限管理,仅有委托人私钥的持有者可以对其委托信息进行添加、修改和移除。所有操作都需要通过调用代理合约相关函数来实现。可供委托人调用的接口包括:
addDelegation() : 用于添加/修改委托信息
removeDelegation() : 删除代理信息
合约的调用者地址默认为委托人地址,委托区块高度默认为当前区块高度。在成功添加委托信息前,代理合约需要做一系列检查:
· 委托人地址和代理人地址必须不同,即委托人无法委托给自己;
· 手续费率需要在 0% – 100% 之间,即奖励的分配无法超出区块奖励本身;
· PoD 中包含的委托人和代理人地址需要和委托信息中地址相符,即委托人需要在合约中记录对应的委托证明,供其他节点验证。

符合要求的委托信息将会被记录到合约中。同时,为了避免攻击者过于频繁地调用该合约,添加委托信息的函数设定了较高的 Gas 费用,在当前网络状态下,每次合约调用需要消耗约 0.9 QTUM 作为 gas 费用。这一部分gas费用以硬编码的方式写入合约。

典型的委托过程如上图所示:
1. 委托人确定 Super Staker 的地址,并用自己的地址(记为 Addr_d)和 Super Staker 地址(Addr_s)生成对应的委托证明 PoD;
2. 委托人用 Addr_d 调用代理合约 addDelegation() 函数,调用参数须包含 Super Staker 的地址 Addr_s,委托人愿意支付的手续费率 f,以及上述步骤1中的委托证明 PoD,合约的调用地址即为该委托的委托人地址;
3. addDelegation()函数会验证委托信息的有效性:
· 若委托人和代理人地址相同,结束;
· 若手续费率超过 100%,结束;
· 若委托证明 PoD 签名验证不通过,结束;
· 若相同的委托信息已存在,结束;
4. 上述检查通过后,addDelegation() 会在代理合约中添加新的委托信息,若合约中已有当前委托人地址对应的委托信息,该旧委托信息将会被最新的委托信息取代,以保证每一个委托地址始终只有一条合法的委托。
删除委托信息的过程基本类似,这里不再赘述。委托合约调用完成并获得区块确认后即生效,供后续 Super Staking 和区块验证使用。
Super Staking
Super Staking 指的是在 Qtum 离线 Staking 协议中,Super Staker 可以用委托人地址的 UTXO 进行 Staking 的机制。Super Staker 虽然不拥有委托人的 UTXO,但可以通过展示委托证明 PoD 证明其有权使用对应 UTXO 生成符合共识要求的新区块,并获取部分区块奖励。

由于 Qtum 离线 Staking 的链上委托是委托人单方面发起的,Super Staker 在进行 Offline Staking 前,需要监听链上代理合约的调用历史,筛选出与自己相关的所有委托信息,并在本地建立委托地址库。Super Staker 需要保证本地的委托地址库始终与最新链上数据同步,否则有可能无法产生合法的离线 Staking 区块。Super Staker 可以对本地委托地址库进行筛选,滤除手续费过低,或者余额过低的地址,因为这些地址为 Super Staker 带来的收益可能非常有限。具体的筛选规则可以由 Super Staker 自己决定。
Super Staker 进行离线 Staking 的基本过程如上图所示:
1. 首先根据筛选后的委托地址信息获取所有委托 UTXO 列表;
2. 根据余额从大到小对委托 UTXO 进行排列,并筛选掉手续费和余额不符合 Super Staker 要求的 UTXO;
3. 依次用列表中的 UTXO 进行常规的 Staking,寻找符合要求的区块;
4. 一旦找到符合要求的区块(对应的 UTXO 记为 UTXO_1,其对应地址记为 Addr_1, 对应的委托证明记为 PoD_1),Super Staker 需要先读取代理合约中的委托信息(委托地址,Super Staker 地址,手续费率 f,委托证明 PoD 等信息),确认该符合要求的 UTXO_1 对应的地址 Addr_1 的委托信息与 Super Staker 自身的地址(Addr_2)相符:
a. 若不相符,Super Staker 可以更新本地委托信息,并继续返回继续用 UTXO 列表中其他 UTXO 进行 Staking;
b. 若委托信息相符,则继续创建 Offline Staking 新区块;
5. Offline Staking 新区块的创建规则和普通 Qtum PoS 区块基本相同,但需要遵守如下规则:
a. 新区块头中 prevoutStake 字段应该填入上述 UTXO_1 的 prevout,根据标准 PoS 协议,这么做相当于用 UTXO_1 的权益进行 PoS 验证;
b. 新区块头中新增了 proofOfDelegation 字段,填入对应的委托证明 PoD_1;
c. CoinStake 交易的输入必须为 Super Staker 地址 Addr_2 对应的一个 UTXO_2,且其余额不低于 100 QTUM,该 UTXO 将会被锁定 500 区块。这么做是为了防止 Super Staker 利用委托的 UTXO 进行 nothing-at-stake 攻击; 
d. CoinStake 的第二个输出必须发送给代理地址 Addr_1,金额为 (区块奖励 + 区块手续费)*(1 – f%);
e. CoinStake 的第三个输出必须发送给 Super Staker 地址 Addr_2,金额为(区块奖励 + 区块手续费)* f%;
6. 广播新区块,等待确认。
去中心化共识验证
1)区块头修改
为了让验证节点辨别普通 PoS 区块和 离线 Staking 产生的区块,需要在区块头中引入额外标识字段。同时,由于离线 Staking 区块需要验证 PoD 的正确性,需要在区块头中引入对应的委托证明 PoD,供网络中其他节点进行验证。Qtum 离线 Staking 协议在区块头中增加了 ProofOfDelegation 字段,同时满足以上两个需求。
2)共识规则升级
区块链中的所有参与者都可以对上述新区块进行验证,以达成全网共识。

除标准的权益证明共识验证外,支持Qtum 离线 Staking的节点还需要在共识验证阶段增加以下验证:
1. 获取新区块的区块头,根据区块头中的proofOfDelegation字段判断该区块是否为通过代理Staking产生的区块;若不是,则采用标准PoS验证流程进行验证;若是代理Staking区块,则继续进行如下额外验证;
2. 验证区块头中 prevoutStake 字段中用于 Staking 的 UTXO 在过去 500 区块中没有用于 Staking 或 Super Staking;
3. 从新区块的签名中恢复区块生产者的地址,即 Super Staker 的地址;
4. 从新区块的区块头的 prevoutStake 字段获取用于 Staking 的币的地址,即委托人的地址;
5. 利用 ProofOfDelegation 中对应的 PoD,以及上述获取的 Super Staker 地址和委托人地址进行数字签名验证;若验证失败,则拒绝区块头;若验证成功,则继续;
6. 验证区块头中的 PoD 与代理合约中对应地址的 PoD 是否相符;若验证失败,则拒绝新区块;若成功,则继续;
7. 继续获取新区块的数据,验证其中的 CoinStake 交易:
a.第一个输入必须为Super Staker地址的 UTXO,且 UTXO 的值大于 100 QTUM;
b.第二个输出的接收方必须为上述 Super Staker 地址(注意,CoinStake 交易的第一个输出为空),且金额必须为 (区块奖励 + 区块手续费)* f%,其中,f 为代理合约中对应委托信息记录的费率;
c. 第三个输出的接收方必须为上述委托人地址,且金额必须为 (区块奖励 + 区块手续费)* (1 – f)%;
8. 验证通过,接收新区块。
通过引入上述额外的共识规则,Qtum 离线 Staking 产生的区块可以被网络中任意节点验证,从而保证委托双方地址,委托手续费以及区块奖励的分配都与委托合约中保持一致。
3. 系统安全性
Qtum 离线 Staking 机制对 Qtum 原有的共识机制进行了补充,引入新的共识规则使代币能够被代理人用于 Staking。本节主要讨论由 离线 Staking 引入的新共识规则的安全性,确保没有引入新的安全问题。
代币安全性
在前文提到的 Qtum 离线 Staking 解决方案中,委托人用于 Staking 的所有权从未发生转移,其私钥始终掌握在委托人手中,其安全性等同于普通地址上代币的安全性。在发起或修改委托信息阶段,委托人需要用其私钥生成对应的 PoD,并对调用代理合约的智能合约交易签名。而随后的离线 Staking 和验证过程均无需委托人参与,即对应私钥无需再被使用。根据数字签名的特性,对 PoD 和智能合约交易签名并不会暴露私钥,因此无论 Super Staker 还是其他节点,都无法通过 PoD 和代理合约中的委托信息恢复出委托人的私钥,保证了离线 Staking 过程中代币的安全性。
PoD 的安全性
PoD 决定了 Super Staker 是否有权利使用委托人的代币进行 Staking。为了保证安全性,协议必须确保满足以下条件:
1. 只有委托人可以发起和修改委托信息;
2. 只有被委托的 Super Staker 可以用委托地址进行 Staking;
3. 委托信息被删除或过期后,Super Staker 无法再对已过期的委托地址进行 Staking。
上述三点均由智能合约的具体实现逻辑和共识规则共同保证。首先,合约的调用地址默认为委托人地址,而发起调用合约的交易必须用该地址私钥对交易进行签名,因此只有委托人可以成功创建和修改对应地址的委托信息;其次,代理合约中一个地址都对应一个 Super Staker 地址,且该对应关系通过包含委托人和Super Staker 地址的数字签名 PoD 体现,因此只有被委托的 Super Staker 地址可以进行合法的离线 Staking;最后,对于已经失效的委托信息(例如被替换,被删除,或已超过规定区块高度),由于委托信息已从代理合约的状态中删除,无法被其他节点验证,因此也无法继续被 Super Staker 用于 Staking。
防止“双挖”
在以往标准的 Qtum PoS 过程中,作为 Stake 获得区块奖励的 UTXO 总是被作为 CoinStake 交易的输入,每次都产生一个新的 UTXO,共识规则规定新产生的 UTXO 达到成熟条件(即 500 个区块)前,无法继续被用于 Staking。这种设计保证了 Stake 的唯一性。
然而,在离线 Staking 机制中,虽然 Super Staker 用委托人的 UTXO 进行 Staking,但委托人的 UTXO 在成功 Staking 时不会产生新的 UTXO,因此旧的共识规则无法确保委托人的 UTXO 在 500 个区块内的唯一性。这将导致一些余额较高的委托 UTXO 连续获得区块奖励,进而垄断整个网络。同时,委托人可能在进行委托 Staking 的同时,自己也进行在线 Staking,通过这种“双挖”的方式获得超出自身权益的奖励。
Qtum 离线 Staking 机制对此的解决方案是引入新的共识规则,验证节点在验证新区块时,需要对记录在区块头中的委托人 UTXO 进行验证,确保其在 500 个区块内没有被用于 Staking 或是 Offline Staking,从而保证离线 Stake 与原有常规 Stake 具有一致的唯一性。
奖励分配的安全性
在离线 Staking 场景下,Super Staker 是区块的实际生产者,负责创建区块。这意味着 Super Staker 可以决定新区块中区块奖励的分配。
为了避免 Super Staker 作恶,Qtum 离线 Staking 引入额外的共识机制确保奖励的合理分配。首先,奖励的分配规则由委托人决定并进行签名确认,记录在代理合约中。其次,只有与代理合约中奖励分配规则完全一致的新区块才能被其他节点验证通过。因此,Super Staker 只能按照委托人给定的比例获得奖励的一部分,而其余奖励必须全部发送到委托人地址。
另外,委托人也无法影响 Super Staker 获得与委托信息相符的收益。因为委托人的委托信息必须通过调用代理合约进行修改,需要在下一个区块生效。委托人无法通过修改当前的委托信息来降低 Super Staker 本应获得的收益。试图以高回报吸引 Super Staker,再通过快速修改委托信息以避免支付服务手续费的行为,在理论上是不可行的。
综上,委托人和 Super Staker 的收益权都得到了保障。
Nothing at stake 问题
离线 Staking 机制的引入,会使 Super Staker 获得极大的权益,更容易产生新区块。同时,由于 Super Staker 只使用委托人的 UTXO 进行 Staking,nothing-at-stake 问题将会进一步恶化。Super Staker 为了最大化获取收益,可以在不同分叉链上进行离线 Staking,但却不用付出任何成本。Nothing-at-stake 问题是 PoS 机制中暂时无法完全解决的问题,但 Qtum 离线 Staking 引入了独特的机制缓解这一问题。Super Staker 在创建离线 Staking 的新区块时,必须以自己持有的 UTXO 作为 CoinStake 交易的输入,且 UTXO 的金额不少于 100 QTUM。产生的新 UTXO 在达到 500 个区块的成熟条件后才能再次用于离线 Staking。这虽然提高了 Super Staker 进行离线 Staking 的门槛,但同时也能极大地缓解 Nothing-at-stake 问题。
小结
通过上述讨论,我们可以得出结论,Qtum Offline Staking 通过智能合约逻辑和共识规则的配合,保证了代币本身在离线 Staking 过程中的安全性,同时也保证了委托双方收益分配的安全性。在系统层面没有引入额外的安全隐患。
4. 离线 Staking 应用场景
上文所述的委托信息中的一项重要参数就是委托手续费率。不同的费率设置可以使离线 Staking 适应不同的应用场景。本节将介绍离线 Staking 在实际中几种可能的应用示例。
常规离线委托(0 < 手续费率 < 100%)
在大部分常规的离线 Staking 委托中,大部分委托人会把委托手续费率设置在 (0, 100) % 范围内,默认费率为 10%。在这类场景中,一般有三种角色参与:Super Staker,普通委托人,第三方信息平台。
Super Staker 通过提供稳定的 Staking 服务,或是较低的费率,吸引普通用户把手里代币的 Staking 权利委托给自己,从而获取收益。Super Staker 可以通过各种链下宣传的方式对自身进行宣传,吸引普通用户。Super Staker 还可以根据自身运营成本筛选客户,从而最大化自身的收益。
普通委托人可以把自己的 Staking 权利委托给 Super Staker。委托人是唯一可以设置手续费率的参与者,手续费率越高,被 Super Staker 接受的概率越高,但相应获得的收益比例越低;反之,收益比例越高,但有可能被 Super Staker 忽略。委托人需要根据市场的变化和 Super Staker 的要求修改手续费率,以实现最大化收益。全网的平均手续费率是一个市场博弈的过程,最终会和 Super Staker 的运营成本接近。
随着离线 Staking 的普及,会逐步出现一些第三方信息平台,聚合市面上所有 Super Staker 的列表,对比其费率和服务质量,供普通委托人筛选。同时也有助于 Super Staker 推广自己的服务。
冷钱包Staking (手续费率 = 0%)
当委托人把手续费率设置为 0 时,区块奖励将完全由委托人获得,Super Staker 无法获取收益。这种设置适合大矿工进行冷钱包 Staking。
拥有较多代币的大矿工,往往由于对热钱包安全性担忧而对参与 Staking 持观望态度。通过 Qtum 离线 staking 机制,大矿工可以把存有大量代币的冷钱包作为委托人地址,并委托给由自己维护的热钱包地址,热钱包地址可以只拥有数量很少的代币,满足每个区块的最低代币需求即可。委托的费率设置为 0,可以保证所有收益仍然发送到冷钱包地址。这样一来,既可以保证冷钱包中代币的安全性,又可以参与 Staking 获取收益,满足大矿工的实际需求。
PoS矿池(手续费率 = 100%)
通过常规的离线 Staking 委托,普通委托人可以获得一定的期望收益,但该收益有很大的不确定性,必须在 Super Staker 利用委托人的 UTXO 挖到新区块时才能获得。而在大家所熟悉的中心化矿池场景下,用户只要加入矿池就可以确定地获得一部分收益。虽然收益金额较少,但比较持续稳定。
为了满足普通委托者获取稳定收益的需求,矿池作为 Super Staker 可以要求委托人将手续费率设置为 100%。在这种情况下,委托人虽然拥有代币的所有权,但所有区块奖励都将由矿池获得。矿池随后再根据和用户的约定按比例分配收益,用户获得稳定的收益。这里引入了和普通矿池一样的中心化风险,因为矿池有可能不按照约定分配收益,因此需要用户仔细甄别有公信力的矿池。但与普通的中心化 PoS 矿池相比,离线 Staking 的方案可以保证用户的本金不受损失,极大降低了用户的风险。而且用户可以随时取消委托,把风险降至最低。
5. 未来工作
智能合约 Staking
随着 DeFi 项目的持续火热,越来越多的代币被锁定在智能合约中。在以太坊等平台上,锁定在合约中的 ETH 是无法进行 Staking 的(假设以太坊已经切换 PoS 成功)。但在 Qtum 离线 Staking机制中,由于协议本身就是智能合约实现的,利用合约中锁定的代币进行 Staking 也成为可能。
未来,我们计划在智能合约中增加类似前文提到的委托证明 PoD,把智能合约中锁定的代币委托给 Super Staker,进行离线 Staking。获取的收益将自动返还给智能合约的资金池,增加 DeFi 参与者的收益。
代理合约链上治理
Qtum 离线 Staking 由于修改了共识规则,需要进行硬分叉升级。随着 Staking 和 DeFi 生态的不断发展,在未来,可能还需要引入更多共识规则。但频繁的硬分叉无疑会破坏社区的共识。
Qtum 在未来会利用自主研发的分布式自治协议 DGP,对代理合约的共识机制进行管理。DGP 可以通过去中心化治理实现对共识规则和 Qtum 区块链基本参数的无缝修改,无需硬分叉。
6. 总结
Qtum 离线 Staking 机制把智能合约和传统的 PoS 共识机制相结合,使任何用户都可以随时随地参与 Staking,且保重参与 Staking 的本金以及 Staking 收益的安全性。成为 Qtum 的 Super Staker 没有任何门槛,且没有任何数量限制,保证了网络的去中心化,同时还为冷钱包 Staking、去中心化 PoS 矿池等提供了兼顾安全性和实用性的解决方案。另外,由于智能合约的引入,具体的委托规则和奖励分配规则都是可编程、可升级的,极大地提高了 Staking 的灵活性。我们相信 Qtum 离线 Staking 机制会随着行业的发展而继续进化,成为 Staking 领域新的标准。