§.01 簡介
爲了實現計算節點()的安全性,Khala/Phala Network 除了給計算節點設置信任等級之外,還在 TEE Mining 行爲中引入了抵押()概念。
每個 只有抵押與自己 CPU 得分匹配的代幣數量,才能獲得 值,從而進入該系統開始 Mining。
抵押池() 就是計算節點()與抵押者()之間資金流動的中間層,服務於 TEE Mining 抵押場景的鏈上操作。
如果計算節點()表現與系統要求不符,則會被懲罰 值,從而引導計算節點網絡狀態符合規則。
§.02 角色介紹
角色 | 介紹 | 識別符 |
---|---|---|
Worker | 計算節點,以 CPU 爲單位。在 Phala 網絡負責鏈下計算(隱私環境內) | worker Key |
Operator | 由 Worker 授權的管理員,負責管理該 Worker 的 Mining 行爲 | operator key |
Owner | 創建 StakePool 的地址,負責對 Pool 和 Pool 綁定的 Worker 進行管理 | owner key |
StakePool | 抵押池,是 Worker 與 Staker 之間資金流動的中間層,服務於 TEE Mining 抵押場景的鏈上操作 | pid (系統自動生成) |
Staker | 持有 PHA 幣的地址,可以通過 stake 參與 Phala TEE Mining | staker key |
§.03 角色關係
§.04 計算節點與抵押池的關係
圖 1:Worker-StakePool
如圖 1:
-
當計算節點 (如 a,b,c)被創建後, 需要先授權給某個 地址 (如 A) 去管理計算節點; (如 -A )創建了 StakePool (如 Pool1);
-
因爲 A 既是 Pool1 的 ,又是 {a,b,c} 的 ,因此 {a,b} 與 Pool1 產生了綁定關係,Pool1 中已抵押的 PHA 可分配給 {a,b} ;同理,Pool2 中已抵押的 PHA 可以分配給 c 進行抵押操作;
-
同理,B 是 Pool3 的所有者,因此 B 管理的 {d,e} 可以綁定在 Pool3 上。
不可成立的關係:
c 先授權給了 A,因此它無法同時授權給 B。如果 c 想要轉移控制權給 B,則它必須中止挖礦;
Pool2 已經被 A 所創建和綁定,B 無法與 Pool2 發生關係,B 只能自己創建 Pool3。
§.05 抵押者與機器的關係
圖 2-1:Owner-Worker 1
如圖 2-1,我們依然假設 A 管理 Pool1,Pool1 綁定了 {a,b,c};B 管理 Pool3,Pool3 綁定了 {d,e}。並且:
-
A 給 Pool1 設置了 50% 的分傭率 (commission=50%),並且給 Pool1 抵押了 20k 個 PHA
-
B 給 Pool3 設置了 40% 的分傭率 (commission=40%),並且給 Pool3 抵押了 10k 個 PHA
我們假設 a,b,c,d,e 的最小抵押額分別爲:10k, 12.3k, 10k, 5k 和 5k
此時我們可以看到,Pool1 不足以給綁定的全部 進行最小值抵押;Pool3 可以給綁定的全部 進行抵押:
StakePool | Pool 總額 | Worker | Worker 所需抵押額 |
---|---|---|---|
1 | 20k | a,b,c | 32.3k |
3 | 10k | d,e | 10k |
則他們的最佳策略爲:
-
Pool1 給 b 抵押 12.3k,讓 b 開始工作;
-
Pool3 給 d 和 e 分別抵押 5k,讓 d 和 e 開始工作。
爲了避免 大規模出現因最小抵押額不足而無法工作的情況,我們創造了 協議,允許第三方 將代幣質押到 Stake Pool 中。假設 Staker① 和 Staker④ 給 Pool1 分別抵押了 0.3k 和 13k,Staker② 和 Staker③ 給 Pool3 分別抵押了 0.5k 和 20k:
圖 2-2:Owner-Worker 2
如圖 2-2,此時我們可以看到,Pool1 和 Pool3 均可以給綁定的全部 進行最小額抵押,他們此時甚至可以對 進行超額抵押(overstaked):
此時,在 中的 PHA 將會分爲兩種狀態:Deposited (已抵押)和 Free (未抵押)
StakePool | Deposited 金額 | Free 金額 |
---|---|---|
1 | 33.3k | 0 |
3 | 30k | 0.5k |
在實際操作中,每個 Pool 的 可以爲該 Pool 設置一個最大接受抵押額,以避免 Pool 的抵押額份額被惡意稀釋:
-
當 Pool 未達到最大抵押額時,任何 都可以加入抵押;
-
當 Pool 已達到最大抵押額時, 無法繼續爲其抵押。
§.06 獎勵結算關係
當 TEE Mining 獎勵產生時,Mining 模塊會根據當前網絡的計算節點統計和結算,並將每個計算節點對應的獎勵發放至對應的 。計入 的 PHA 獎勵會根據 Pool 設置的佣金率() 自動分成兩部分:
-
佣金部分存入 Pool 的 地址;
-
剩餘獎勵存入 的地址,這部分獎勵份額將由 按照其在 Pool 總權益中的對應份額自行領取。
比如,我們假設在 42 號區塊時,Khala 網絡爲計算節點生產了 64 個 PHA 獎勵。
假設此時上文中的 {a,b,c,d,e} 均在線,且只有這五個計算節點在線,且他們的累計 值與上小節中的實際抵押額成正比,則 TEE Mining 模塊將計算 {a,b,c,d,e} 的應得獎勵,並將其計入 Pool1 和 Pool3,並根據分傭率()分別結算給 和 。
圖 3:Reward-Pool
和 部分的結算公式爲:
-
收益 = Pool 獎勵數量 ×
-
Pool 收益 = Pool 獎勵數量 ×(1- )
Pool 收入根據每個 的抵押份額(他們在礦池總抵押量中的份額)進行獎勵分配:
- 抵押份額 = 抵押量 / Pool 總抵押額
單個 的收入分配可以計算爲:
- 收益 = 獎勵數量(Pool) × 抵押份額
這與以下內容相同:
___收益 = ( Pool 獎勵數量(1-commission)) × ( 抵押量 / Pool 總抵押額)*_
當 自己也抵押的時候, 的抵押部分視同 。
Pool 總抵押額包含 (已抵押)和 (未抵押)的總和。
如圖 3 所示,在我們的案例中:
Pool1 的 A 和 Pool3 的 B 分別收入:
-
A 的 收入 =34×50%=17 PHA
-
B 的 收入 =30×40%=12 PHA
收到用於運行 Pool 和 的佣金部分,如下所示:
Owner | Pool 獎勵 | Commission | Owner Commission | Pool 收益 |
---|---|---|---|---|
A | 34 PHA | 50% | 17 PHA | 17 PHA |
B | 30 PHA | 40% | 12 PHA | 18 PHA |
剩餘的 Pool 獎勵現在是 Pool 收益,將根據 Pool 份額支付給所有 (同樣,如果 參與質押,那麼他也將獲得作爲 部分的獎勵份額)。根據前文示例,這如下所示:
Staker | Pool | Pool 收益 | Staker 抵押量 /Pool 總抵押額 | Staker 抵押池份額 | 獎勵 |
---|---|---|---|---|---|
Owner A | 1 | 17 PHA | 20k / 33.4k | 59.9% | 10.18 PHA |
Owner B | 3 | 18 PHA | 10k / 30.5k | 32.8% | 5.9 PHA |
Staker ① | 1 | 17 PHA | 0.3k / 33.4k | 0.9% | 0.15 PHA |
Staker ② | 3 | 18 PHA | 0.5k / 30.5k | 1.6% | 0.29 PHA |
Staker ③ | 3 | 18 PHA | 20k / 30.5k | 65.6% | 11.81 PHA |
Staker ④ | 1 | 17 PHA | 13k / 33.4k | 38.9% | 6.61 PHA |
§.07 獎勵結算關係
如果 希望取消 TEE Mining 或者提取全部抵押(不能提取 的存款),他可以通過中止 Mining 操作實現。如圖在發起該類交易後, 內的存款將會進行 7 天的解凍期,解凍期後該餘額可以被解凍。
圖 4:withdraw-1
如圖 4 所示, 取消了挖礦之後, 會中止所有 的計算行爲,並且立即進入“冷凍期”。
7 天之後,A,① 和 ④ 之前的抵押額會被全額退回。
但是如果 的提取金額大於 中閒置資金( 狀態餘額),則 可以立即獲得該 狀態資金,剩餘待提取金額需要排隊等待:
圖 5:withdraw-2
如圖 5,③ 在之前抵押了 20k 在 Pool3,當他申請取消抵押 10k PHA 時,Pool3 立刻將 狀態的 0.5k 餘額打給了 ③。剩餘的 9.5k 抵押需要等待:
-
如果有未成功提款資金,則 需要先等待一個 7 天的緩衝期,在此期間 中如果加入了新的閒置資金或有 停止 Mining,那此部份閒置資金立即解鎖給 發起的退出交易,以此類推直到完成全部提款;
-
如果 7 天過後仍未完成該退出申請,則該 Pool 所有 都會進入 7 天的冷卻期,此過程不能被任何人中止,7 天過後該提款交易就可全部完成。
也就說:任意 發起退出交易後,最多 14 天就可以成功退出抵押
圖 6:withdraw-3
如圖 6:
-
在 ② 給 Pool3 又抵押了 5k PHA 之後,因爲 Pool3 的 狀態資金增加了 5k,因此 ③ 立即獲得了另外 5k 退款;
-
在等待 7 天但 4.5k 資金仍然沒有成功補充進 Pool3 後,系統被迫終止了 Pool3 的所有 Mining 行爲,並且在 7 天解凍期後自動退款 4.5k 至 ③。
綜上:
-
實際 的控制者—— 的 發起中止 Mining 或取消全部抵押時,將觸發全部抵押取消並有 7 天的解凍期。解凍期後該 全部抵押金額將會被退回;
-
當 發起取消抵押時,系統將判斷該 Pool 是否有 Free 狀態 PHA,如果有,則自動退回給 ;
-
如果沒有閒置資金則該 Pool 的 有 7 天時間去補充 需要退回的資金,如果補充資金成功則該 Pool 不必強行令 下線;
-
如果沒有成功補充資金,則系統將被迫中止該 Pool 的全部 Mining 行爲以便給 退還抵押金(7 天后成功)。
About Phala
Phala Network 是一個 Web3.0 共享雲平臺,旨在解決計算雲中的信任問題。基於 TEE 可信硬件的分佈式計算,Phala 雲計算可在不犧牲數據機密性的情況下實現大規模雲計算處理,其計算系統是可信的。Phala 通過將共識機制與計算分離,確保處理能力具有高度可延展性。不同於傳統雲服務平臺,Phala 的計算節點哪怕不在數據中心也可以提供安全、機密性好、邊緣化的雲服務,這使得 Phala 爲強大安全和可擴展的無信任計算雲創建了共享經濟模型的基礎設施。