熟悉 Phala 经济白皮书的朋友可能知道,Phala 的挖矿奖励分为在线奖励和计算任务奖励。本次 1605 竞赛二期,即在在线奖励的基础上,重点引入计算任务奖励。本文即是对 Vendetta 测试网计算任务的介绍。
一、背景概要本次测试网中的计算任务由系统虚拟产生,每个 Round(600个区块)固定产生 5 个计算任务。挖矿奖励的奖励量与白皮书一致,其中每个区块被挖出的奖励将有 50% 被执行隐私计算任务的 TEE 获得,30% 的奖励由所有在线的 TEE 获得,20% 流入国库通过链上议会进行民主治理; Vendetta 测试网中,CPU 最低抵押额为 0 tPHA;TEE 矿工可以用 tPHA 为自己的 CPU 作额外抵押,任何人也可以用自己的 tPHA 为其他 TEE 矿工抵押,但是结算时暂不支持自动分账到提名人身上; 1 个 Round 内,1 个 TEE 最多分到 1 次计算任务; 测试网中计算任务分发的算法与参数是具有实验性的,主网上线后会有所升级;奖励的结算方式也可能会变化; TEE 计算任务的流程大致如下:
二、隐私计算任务派单算法
2.1 核心逻辑
如同任何派单算法一样,我们需要根据隐私计算任务特征指派给最合适的TEE完成计算; 因此 Phala Network 系统会根据计算特性的核心需求,根据每个TEE设备特征进行打分,得出每个 TEE 的Score; 根据所有在线 TEE 的Score,通过加权随机抽样公式进行计算得出指派结果; 被指派的 TEE 完成隐私计算后,由系统自动结算和发放奖励。为保障系统安全性,奖励将冻结一段时间。(Vendetta测试网发放的奖励是FireII ,只用作结算奖池的统计,无法流转)。
TEE-CPU 分到计算任务的概率主要取决于CPU的两个特征:计算能力、安全性。 计算能力由 CPU 得分来评定,未来将通过链上投票-无分叉升级方式实现迭代; 安全性与单 CPU 抵押额相关。 计算能力和安全性对 TEE 矿工获得计算任务的概率并不是线性增加的,下小节中将详细阐述概率公式。
根据 TEE 计算派单的核心指标,我们可以计算出每个 TEE 被指派计算任务的合适度分数。计算分数的公式如下:
2.4 不放回的加权随机采样(weighted random sampling without replacement)我们使用不放回的加权随机采样(这意味着每个 TEE 只能被抽取一次),从所有 M 个在线 TEE 中随机的抽取 N 个 TEE 来执行计算任务。
加权则意味着抽样中会将每个TEE的概率得分 W 作为基础值,即 W 越高意味着抽中概率越高。
举例说明不放回的加权随机采样:
假设有A、B、C三台机器 其中A任务分为3,B任务分为2,C任务分为1 现在从3台机器里抽一台,那A被抽中的概率是
如果抽两台,那A被抽中的概率就是
根据1605竞赛一期的实际情况,真实环境下可能会从上千台至上万台 TEE 里抽出5个,但逻辑是和上述的例子一致的。
为了让 TEE 矿工可以预测自己的抽中概率和模拟抵押 tPHA 量与抽中概率的关系,我们将提供 Dashboard 的隐私计算概率计算器,矿工可以填入自己的机器性能和预期抵押额模拟派单概率。
三、派单算法的数据模拟3.1 额外抵押量与选中概率的相关性假设 TEE 得分一致,不同抵押量对选中概率的影响。
算法是明确的,但仅仅基于算法,并不能算出单一矿机被抽中的概率,因为抽中概率是和当前在线的矿机数量以及他们的任务分相关的。我们模拟了额外抵押量对抽中概率的提升:
假定罗夏有一台 300 分的TEE(图中红线),假定其它 TEE 是 5000 台 420 分的机器,并且都有额外 1000 tPHA 的抵押。如果从 5001(算上了罗夏的)台矿机中抽5台执行计算任务的话,那随着罗夏增加额外抵押,被派到的概率呈现如下增长:
从图中可以看出:
从一千多台机器中抽 5 个被抽中的概率是很低的,大概是 0.05% ; 随着抵押量的增加,最开始概率增加较快,之后缓慢; 但即使抵押量增加到 2 万,中奖率也只是增加到 0.17% 。
上图中浅蓝、红、黄、绿的机器分分别是400、300、200、100分,可以看出机器性能在获奖概率上保持恒定的绝对优势。
3.3 多台矿机该怎么分配额外抵押?假设罗夏有两台一样的矿机,那在总抵押量相同的情况下,怎样分配抵押对整体收益影响不大。 下图模拟的情况是罗夏有两台420分的TEE、并且都做了5000tPHA的抵押。其它的TEE是5000台,1000tPHA抵押,都是420分。
现在罗夏有20000tPHA,下图中:
横坐标最左边是全部把20000tPHA全给了其中一台TEE,概率是0.28%; 最右边是把20000tPHA全给了另一台,也是0.28%; 中间是均分,概率是0.32%。
可见,均分会比只分给其中一台更多一点。以上是关于 1605 矿工竞赛二期的全部介绍,欢迎大家到论坛与我们进行更多讨论。
About PhalaPhala Network 是 Polkadot 上的隐私计算平行链,基于类pow 的经济激励模式,Phala 将构建出一个由全球数十万矿工组成的分布式隐私计算云,进而作为波卡平行链、辐射所有区块链生态的Defi、数据服务等其他应用。基于 Phala 的应用 pLibra 和 Web3 Analytics 已经获得两次 web3 基金会 grant 。Substrate Builders Program 首批成员。Linux基金会成员。隐私计算联盟(CCC)成员。