前言
经过朋友的介绍,参加的一场线上由Phala Network CEO佟林演讲的腾讯会议!了解的下它的生态,和对Bzz,chia的对比!使我感到的兴趣!
一、Phala Network是什么?
Phala Network是波卡上的隐私计算平行链,基于类pow的经济激励模式,Phala释放无数CPU中隐私算力并运用于波卡平行链,进而服务于波卡上的Defi、数据服务等其他应用!
二、Phala有什么落地应用吗?
我们为Libra设计的隐私层组件pLIBRA已经获得 Web3 基金会 Grant,开发完成后,将成为连接 Polkadot 生态和 Libra 生态的桥梁。 此外,我们还在开发一款次世代用户数据产品 Web3 Analytics,能做到不泄露用户隐私的同时得出数据分析结果,可实现隐私与数据使用兼得。
三、Phala靠什么运行?
Phala Network采用了TEE-区块链融合架构(TEE-Blockchain Hybrid Architecture)实现了保密智能合约! 于是需要支持TEE的CPU才能运行!
四、开始搭建
1.前期准备工作
1)检查你的CPU、BIOS与系统
- cpu检测->打开英特尔官网,搜索自己的芯片型号->查看是否支持Software Guard Extensions [yes]
2)确认 BIOS 设置
首先打开百度,查询进入你的电脑的 BIOS 键是什么。每个品牌不一样。重启电脑,快速按下刚刚查到的键,进入 BIOS 界面。
- 找到 Security(安全选项) ,找到 Secure Boot(安全启动) ,选择 Disabled(关闭)
- 找到 Boot(启动选项) ,在 Boot Mode (启动模式) 里 启动 UEFI
- 找到 SGX 选项,优先选 Enabled,如果没有则选 Software Controlled。选择 Software Controlled 的,进入系统以后输入下面的指令启动驱动
wget https://github.com/Phala-Network/sgx-tools/releases/download/0.1/sgx_enable
sudo chmod +x sgx_enable
sudo ./sgx_enable
3)安装Ubuntu 18.04 / 20.04
4)注册Phala账号 进入 Phala 测试网账号管理页面 https://poc4a.phala.network/polkadotjs/#/accounts
-
点击 添加账户 -
复制并记下助记词种子,在弹窗中勾选“I have saved my mnemonic seed safely”,再点击 Next。注意:这里的助记词种子请务必记录保存好! -
填写 名称、密码、密码二次确认(建议在名称上加上 stash/controller 这样成对的后缀),之后点击 Next -
最后点 保存,当右上角显示“已创建账号”,即账号创建成功 -
复制地址:点击头像即可复制地址
4)绑定Stash和Controller账号(有问题可以留言!或加我)
- Developer(开发者) → Extrinsics(交易) → 你的 stash 账号 → phala → SetStash(controller)
点 Submit Transaction(提交交易) ,签名并等待广播 这里一定确定是使用Stash账号进行交易,交易参数是Controller账户
5)下载Phala脚本
cd ~
sudo apt-get install wget
sudo apt-get install unzip
wget https://github.com/Phala-Network/solo-mining-scripts/archive/main.zip
unzip main.zip
cd solo-mining-scripts-main
sudo chmod +x sgx_enable
sudo ./sgx_enable
sudo reboot
sudo chmod +x install.sh
sudo ./install.sh cn
6)SGX测试
sudo phala install
sudo phala sgx-test
正常的结果
Detecting SGX, this may take a minute...
? SGX instruction set
? CPU support
? CPU configuration
? Enclave attributes
? Enclave Page Cache
SGX features
? SGX2 ? EXINFO ? ENCLV ? OVERSUB ? KSS
Total EPC size: 94.0MiB
? Flexible launch control
? CPU support
? CPU configuration
? Able to launch production mode enclave
? SGX system software
? SGX kernel device (/dev/sgx/enclave)
? libsgx_enclave_common
? AESM service
? Able to launch enclaves
? Debug mode
? Production mode
? Production mode (Intel whitelisted)
You are all set to start running SGX programs!
Generated machine id:
[162, 154, 220, 15, 163, 137, 184, 233, 251, 203, 145, 36, 214, 55, 32, 54]
Testing RA... // RA就是 Remote Atestation ,远程认证。只有经过了远程认证的SGX才是可信的SGX。
aesm_service[15]: [ADMIN]EPID Provisioning initiated
aesm_service[15]: The Request ID is 09a2bed647d24f909d4a3990f8e28b4a
aesm_service[15]: The Request ID is 8d1aa4104b304e12b7312fce06881260
aesm_service[15]: [ADMIN]EPID Provisioning successful
isvEnclaveQuoteStatus = GROUP_OUT_OF_DATE //????这一行报告尤为重要,这一行就决定了信用评级????
platform_info_blob { sgx_epid_group_flags: 4, sgx_tcb_evaluation_flags: 2304, pse_evaluation_flags: 0, latest_equivalent_tcb_psvn: [15, 15, 2, 4, 1, 128, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0], latest_pse_isvsvn: [0, 11], latest_psda_svn: [0, 0, 0, 2], xeid: 0, gid: 2919956480, signature: sgx_ec256_signature_t { gx: [99, 239, 225, 171, 96, 219, 216, 210, 246, 211, 20, 101, 254, 193, 246, 66, 170, 40, 255, 197, 80, 203, 17, 34, 164, 2, 127, 95, 41, 79, 233, 58], gy: [141, 126, 227, 92, 128, 3, 10, 32, 239, 92, 240, 58, 94, 167, 203, 150, 166, 168, 180, 191, 126, 196, 107, 132, 19, 84, 217, 14, 124, 14, 245, 179] } }
advisoryURL = https://security-center.intel.com
advisoryIDs = "INTEL-SA-00219", "INTEL-SA-00289", "INTEL-SA-00320", "INTEL-SA-00329"
confidenceLevel = 5 //这里是你的信任评级
2.TEE节点搭建
- 环境配置(会自动请求设置节点名称、IP和助记词):
sudo phala install init
- 开始运行
sudo phala start
程序会自动开始同步区块,当区块完全同步以后就会自动开启pruntime和phost
必须在区块同步到最高高度以后再进行下一步操作!
必须在区块同步到最高高度以后再进行下一步操作!
必须在区块同步到最高高度以后再进行下一步操作!
- 查看矿机状态
sudo phala status
正确的状态应该如下图: 4. 设置佣金和受益人
- 进入 Developer → Extrinsics(开发者—交易)
- 第一排选择你的 Controller 账号
- 第二排选择 phala 模块,再选择 setPayoutPrefs(payout_comission, payout_target)
- 第三排就是你的佣金率(Commission)
- 第四排选择一个挖矿收币地址。多个矿机可以选同一个收币地址.
- 开始挖矿
- 打开右上角的 Develoepr → Extrinsics
- 选择你的 controller 账号,点击 phala 模块,点击 startMiningIntention() ,后点击 Submit Transaction ,签名并等待广播。出现绿色通知后,说明挖矿已经开始
- 停止挖矿
- 打开 Developer → Extrinsics
- 选择 controller 账号,选择 phala → stopMiningIntention() → Submit Transaction 。签名等待广播
- 矿机操作
sudo phala stop
- 检查矿机部署情况
- 打开右上角的 Developer → Chain state
- 点击 phala 模块,旁边选择 workerState ,底下选择你的 stash 账号,点旁边的加号,底下会出现一些信息。score.overallScore 矿机总分,eatures 第一排:已经启动的核心数,features 第二排:你的硬件评分等级(由低到高是 0-4)
- 选择 stashState 模块,选择你的 stash 账号,点旁边的加号,底下会出现一些信息
- 选择 phala->stash(AccountId) 模块,选择你的 controller 账号,点旁边的加号,即可看到你的 controller 地址。
- 所有模块点完后,应如下图所示:
- 几种矿机状态说明
- Empty": null, 一般应该看不到
- “Free”: null, 矿机注册成功了,处在闲置状态。需要参考《开始挖矿》的步骤启动挖矿
- “MiningPending”: null, 操作开始挖矿以后显示的状态,矿机已经进入“准备开始”状态,在下一个round后会开始挖矿(每600区块一个round)
- “Mining”: “BlockNumber”, 矿机正在挖矿了,后面的数字是你开始挖矿的区块高度
- “MiningStopping”: null,操作停止挖矿后显示的状态,矿机已经进入“准备停止”状态,将在下一个round 停止挖矿,状态恢复变成free。在状态恢复成“free”之前下线,会被 slash。
- “Gatekeeper”: null, 你的设备有GK身份,无法同时跑矿工。
总结
欢迎加群一起学习交流!或者加我VX:xmn563412,拉您!
|