关于《PAI Coin 独立质押投票链上治理须知》讨论

注:本篇文章为初稿,仍存在很多理解不到位的地方,欢迎社区朋友指正一起完善。

1 背景

为PAI区块链能稳定运行,积极促进社区生态良好的经济循环,在此建立一篇有关PAI Coin进行链上投票治理及获取收益的一些规则讨论的主题,希望能帮助到大家。同时希望社区的朋友们能一起探讨和完善关于《PAI Coin 独立质押投票链上治理须知》的内容,为即将参与到PAI Coin 独立质押的社区朋友提供一些有意义的参考指引。

2 质押投票规则

2.1 关于有效SV数总量:40960

在PAI质押投票规则中,设定了有效SV总量为40960张,意味着参与者在竞争购买SV时,区块链系统中会根据已成功购买的SV总数与40960进行对比。

2.1.1 有效SV变为无效SV的末尾淘汰规则

若已购买SV总数超过40960,则对每个SV购买时的价格进行高到低排序,进行末尾淘汰标记为无效票(低于某个价格的SV),使得有效SV总数不能超过40960;若已购买SV总数没有超过40960,则不会进行末尾淘汰。

2.1.2 无效SV变为有效SV的恢复规则

当有效SV总数低于40960时,且票池中仍有无效SV,则在下一轮的SV价格调节中,当SV价格下调时,有部分无效SV会转变为有效SV。

2.1.3 SV价格定价规则

SV 的价格初始值为 2 PAI。
当参与者竞争购买SV的过程中,已成功购买的SV总数超过40960时,则在下一次SV定价调节(参考2.1.4)中,SV 价格将会上涨;
反之,已功购买的SV总数低于40960时,则在下一次SV定价调节中,SV 价格将会下跌。

2.1.4 关于SV的自动定价调节

在PAI 区块链系统中,每经过144个区块(大约24 小时),会进行一次SV价格的定价评估,来进行价格上调或下调的更新(参考2.1.3)

2.2 关于每个区块最多允许购买20个SV

在PAI区块链系统中,设定了每个区块参与者在竞争购买SV时,最多只允许购买20个SV,当内存池中的排队购买的SV交易数量超过20个时,会根据购买SV费用高优先原则进行处理交易订单。
意味着,如果用户设定购买SV的费用比其他参与者高,越容易购买成功。而未购买成功的交易订单将滞留者内存池中。
购买SV的交易订单在创建时,默认过期时间为144个区块(大约24 小时),若滞留在内存池中的订单超过过期时间,则订单自动失效,订单中的金额将会退款至原账号。

2.2 关于链上治理的投票规则

为保障算力矿工产出的每一个区块合法及有效性,防止算力51%攻击弊端,持有SV的节点将参与到每个产出区块合法性校验的治理中。
每个区块的产出,将会从有效SV池子中随机选出5个SV对应的节点对该区块进行合法性校验及投票是否为有效区块,在参与投票的5个SV中,必须要有3个及以上投票同意才认为该区块有效。若该区块投票结果为不通过,则矿工无法添加该区块,并且无任何奖励。

2.2.1 SV收益分配规则

成功参与投票的SV,将获得平分当前区块奖励中60%收益(当前每个区块奖励为1500PAI,60%即900PAI,剩下的40%为算力矿工收益),
若5个SV均参与投票,则每个SV收益为185 PAI(但实际区块投票中存在一个权重比例,并非每个SV都平均获得185PAI,有的多一些有的少一些)

2.2.2 SV收益获取收益规则

投票成功后,购买SV时所花费的PAI币将退回及获得奖励收益。收益成熟为256个区块数,即投票成功后本金和收益并没有立即可用,需要等待256个区块数量后,变成成熟收益才可用。

2.2.3 有效SV到期规则

一个有效的SV,在票池子中存留的有效时间为40960个区块数量,即若一个有效的SV一直没有被随机选中参与投票,则该SV在40960个区块数量后(大约285天),将会到期失效,本金退回原账户,没有获得任何收益。

2.3 关于SV购买投票周期流程

3 独立质押投票节点搭建与维护

3.1 搭建环境

推荐使用Docker环境搭建节点

获取镜像:

docker pull paicoin/paicoin-core:latest

启动服务:

docker run -d -p 8566:8566 -p 8567:8567 -v /docker/paicoin:/root/.paicoin --name paicoin-core
 --privileged paicoin/paicoin-core:latest paicoind -txindex -server

Ubuntu 及 CentOS 环境搭建详细教程 5

3.2 日常维护

3.2.1 首次启动独立质押节点需要执行的命令步骤

  1. 创建钱包账户(参考3.3-1)
  2. 获取节点钱包地址(参考3.3-2)
  3. 向钱包地址中充值币(参考3.3-6)
  4. 启动SV购买(参考3.3-7)
  5. 启动自动投票(参考3.3-11)
  6. 启动自动撤票(参考3.3-14)

3.2.2 在节点正常启动后常用维护操作

  1. 查看节点质押凭证情况(参考3.3-10)
  2. 调整每个区块购买SV的数量(参考3.3-17)
  3. 调整购买SV的费用(参考3.3-18)
  4. 提币至其他地址(参考3.3-20)
  5. 停止SV购买(参考3.3-8)

3.2.3 备份钱包

  1. 在Docker 容器的宿主主机中,找到: /docker/paicoin/wallet.dat 文件,并将其进行备份
  2. 若是直接在Ubuntu 及 CentOS 中直接运行节点,则钱包文件默认所在位置为:/root/.paicoin/wallet.dat

3.3.常用命令如下

1.进入docker容器

docker exec -it paicoin-core bash

2.获取节点区块信息

paicoin-cli getinfo

3.创建钱包账户: paicash

paicoin-cli createnewaccount paicash

4.在 paicash 账户中获取新地址

paicoin-cli getnewaddress paicash

5.导出钱包地址私钥(地址自行替换为上一步的获取节点钱包地址),建议备份好该私钥

paicoin-cli dumpprivkey PYtGb5EfhQ6dJW6Ak4nhp1HYGAaq3iUoD6

6.向节点钱包地址中转账

可用手机钱包转账到上述获取的节点钱包地址
或者 参考3.3-19 ,从其他钱包转币至当前节点。

7.启动SV购买:(账户中至少保留100PAI)

paicoin-cli startticketbuyer  paicash 100

8.停止SV购买:

paicoin-cli stopticketbuyer

9.查看购买SV配置

paicoin-cli ticketbuyerconfig

10.获取SV清单信息

paicoin-cli getstakeinfo

11.启动自动投票

paicoin-cli startautovoter 1

12.停止自动投票

paicoin-cli stopautovoter

13.查看自动投票配置

paicoin-cli autovoterconfig

14.启动自动撤票

paicoin-cli startautorevoker

15.停止自动撤票

paicoin-cli stopautorevoker

16.查看自动撤票配置

paicoin-cli autorevokerconfig

17.设置每个区块购买最大SV数量

paicoin-cli setticketbuyermaxperblock 5

18.设置购买每个SV支付的费用(参考:0.0001,可自行设定)

paicoin-cli setticketfee 0.0001

19.查看已设置购买每个SV支付的费用

paicoin-cli getticketfee

20.查看全网购买每个SV支付的费用情况

paicoin-cli ticketfeeinfo

21.从质押节点中转账至其他地址(地址和金额自行设定)

paicoin-cli sendtoaddress PYtGb5EfhQ6dJW6Ak4nhp1HYGAaq3iUoD6 0.01

22.查询钱包余额信息

paicoin-cli getwalletinfo