关于《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 环境搭建详细教程

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
2 Likes

非常赞 :+1:
Pai大家一起加油!加油!

太好了。锦华是我认识一个大佬。因为认识这样的大佬而自豪

补充一下,关于备份服务器端节点钱包的方法,可以在命令窗口使用pscp指令,也可以下载xftp软件。xftp是窗口软件操作较为直观

1 Like

感谢Project PAI 核心开发者 Mark 提供的修改建议,以下是修订后的内容,请大家审阅。
如有不完善的地方,欢迎提供修改建议,谢谢

《PAI Coin 独立质押投票链上治理须知》是提供给PAI社区成员进行参与PAI区块链的链上投票获取质押收益的指引及参考的说明。

概念说明

  1. 投票权益凭证(Stake Vouchers),简称:SV
  2. 参与PAI Coin 独立质押投票进行链上治理相关人员,简称:参与者

1 背景

为PAI区块链能稳定运行,积极促进社区生态良好的经济循环,在此提供有关PAI Coin进行投票获取收益的一些规则解读和相关指引,希望能帮助到大家。

2 质押投票规则

2.1 有效投票权益凭证的总数为40960

投票权益凭证(SV)数量非常稀缺,活跃的SV总数动态调整目标为接近40960张。该SV总数值被用来做动态调整SV购买难度(即价格)的依据:当活跃的SV数量超过40,960时,SV的价格将增加,直到总的票池SV数量减少为止;相反,如果票池SV数量大小降至40,960以下,则SV的价格将下降,直到票池大小再次增加至40,960。本质上,这是基于SV的可变需求和固定目标供给的动态调整价格机制。

2.2 质押凭证的生命周期

2.2.1 提交购买阶段

SV购买交易会一直保留在内存池中,直到被包含在一个区块中,或者直到下一次质押难度(SV价格)调整为止(以较早者为准)。提交阶段的最大可能持续时间为144个块,或大约24小时。

2.2.2 不成熟阶段

一旦购买交易被包含在一个区块中,权益凭证就进入未成熟阶段。在不成熟阶段(持续256个块或大约43小时),质押凭证尚未可供投票,实际上暂时无效。

2.2.3 可投票阶段

在其生命周期的最后阶段,质押凭证可以对新开采的区块进行投票。SV仍然有资格获得40,960个区块(约284天),或者直到被选择对新开采的区块进行投票为止,以较早发生的为准。如果在选择投票时拥有SV的钱包未在线,则该SV将因错过的投票而被没收,且最初质押的币将退还。

2.3 SV价格定价规则

SV的初始价格为2 PAI。
当参与者竞争购买SV成功且购买SV的总数超过40960时,则在下一次SV定价调整中SV价格将增加(有关详细信息,请参阅2.3.1)。
相反,当购买的SV总数少于40960时,SV价格将在下一次SV定价调整中下降。

2.3.1 关于SV的自动定价调节

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

2.4 关于每个区块全网供应上限为20个SV

在所有竞争购买SV的参与者中,每个区块全网可购买的权益凭证供应总数为20个SV。若存在于内存池中全网待购买SV总数超过20SV时,在一个新区块被开采后,会根据购买SV支付费用高优先原则进行处理交易订单(意味着,如果用户设定购买SV的费用比其他参与者高,越容易购买成功),剩余未成交的购买交易将一直保持在那里(最长滞留内存池有效期时间为144个区块,请参阅2.4.1),直到(a)被下一个区块打包确认交易 或者(b)由于SV价格难度的增加而变得不足以购买新SV,此时该交易订单将被取消,资金将退还给用户。

2.4.1 关于购买SV交易订单滞留内存池有效期时间为144个区块

因为每次质押难度调整(每144个区块发生一次)时,都会刷新内存池中的SV购买交易。 如果在下一次质押难度调整之前N个区块提交了SV购买订单,它将在内存池中滞留最长N个区块的时间,或者在质押难度调整之前它被打包到区块中为止,以先到者为准。 如果在接下来的N个区块中不被打包到区块中,则该交易订单将失效,资金将原路退还给发起人。

2.5 关于投票治理规则

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

2.6 SV收益分配规则

成功参与投票的SV,将获得平分当前区块奖励中60%收益(当前每个区块奖励为1500PAI,60%即900PAI,剩下的40%为算力矿工收益),
即:若有5个SV在一个区块中投票,则每个人将获得180 PAI(即900/5)的奖励;
若有4个SV在一个区块中投票,则每个人将获得225 PAI(即900/4)的奖励;
若有3个SV在一个区块中投票,则每个人将获得300 PAI(即900/3)的奖励;

2.7 SV收益获取的等待期规则

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

2.8 有效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 环境搭建详细教程

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
1 Like