# Lotus 服务使用须知

# 数据收集声明

为了给用户提供更高质量的服务,原语云需要收集服务所需一些必要的信息,并且仅在为用户提供服务时合理合法使用这些数据。 我们在 Lotus-Miner 程序中内置了信息收集代码,收集 Miner 的基础信息,以便于检测用户 Miner 进程和证明 Worker 进程是否正常运行。

Lotus-Miner 收集的数据结构如下:

{
	"Version": 20220203,
	"Config": {}, // Miner 启动参数
	"Miner": "t01000", // Miner ID
	"SectorSize": 536870912, // 扇区大小
	"Sectors": {}, // 扇区信息统计
	"Provers": [] // 证明 Worker 信息
}
查看一个完整的数据包
{
    "Version": 20220203,
    "Config": {
        "ID": "1364be51-7071-4f49-a5b4-d9a2fe8b6d73",
        "DevID": "6997658966681714966",
        "Hostname": "local-prover",
        "Address": "192.168.2.3:2345",
        "ApiPolicy": 0,
        "ClusterDetect": true,
        "WinningPost": true,
        "WinningWorker": 1,
        "WindowPost": true,
        "WindowWorker": 1,
        "BatchPartitions": 7,
        "SealingMgr": true,
        "SectorStore": true,
        "DealsMgr": true
    },
    "Miner": "t01000",
    "SectorSize": 536870912,
    "Sectors": {
        "Committed": 324,
        "Active": 324,
        "Faulty": 0,
        "Proving": 324
    },
    "Provers": [
        {
            "Config": {
                "ID": "1364be51-7071-4f49-a5b4-d9a2fe8b6d73",
                "DevID": "6997658966681714966",
                "Hostname": "local-prover",
                "Address": "192.168.2.3:2345",
                "ApiPolicy": 0,
                "ClusterDetect": false,
                "WinningPost": true,
                "WinningWorker": 1,
                "WindowPost": true,
                "WindowWorker": 1,
                "BatchPartitions": 7,
                "SealingMgr": true,
                "SectorStore": true,
                "DealsMgr": true
            },
            "Status": 1,
            "Enabled": true,
            "Locked": false
        },
        {
            "Config": {
                "ID": "117f126d-5ff7-4375-94d7-820d1860da9e",
                "DevID": "6996988912932487446",
                "Hostname": "winning-worker-yyyun-1700k",
                "Address": "192.168.2.202:2346",
                "ApiPolicy": 2,
                "ClusterDetect": true,
                "WinningPost": false,
                "WinningWorker": 1,
                "WindowPost": false,
                "WindowWorker": 0,
                "BatchPartitions": 5,
                "SealingMgr": false,
                "SectorStore": true,
                "DealsMgr": false
            },
            "Status": 1,
            "Enabled": true,
            "Locked": false
        }
    ]
}

# Lotus 代码优化说明

原语云服务运行的 Lotus 代码是原语技术团队基于 Lotus 官方原版代码的基础上进行优化后的版本,并一直保持跟官方版本同步更新。旨在提升密封和证明计算的效率和稳定性,没有也不会涉及链以及共识层面的任何修改。具体优化内容请阅读 原语云 Lotus 版本更新记录

特此声明:整个爆块流程,除了 ComputeProof 计算我们增加了集群支持,其他完全是官方的代码。所以能否被选中爆块,与原语云的优化完全无关。使用原语云的优化版本不会增加爆块选举概率也不会减少爆块选举概率。

# Lotus 运维注意事项

在正式加入 Lotus 储网络之前,相信您已经对这个项目有了一定的了解。但是我们仍然希望您对它的风险也能有个正确认知,我们想尽量帮您避免由于对技术了解不够,从而导致在实际操作中出现的低级错误,从而给集群造成一些不可挽回的经济损失。为了保持 Lotus 集群内网的安全,请尽量遵守如下专业建议:

私钥安全事项

Owner 私钥的安全关乎你整个集群的命运,丢失 Owner 私钥意味着丢失一切,因此 Owner 私钥的安全保管是重中之重。 我们强烈建议您在本地搭建一台节点机器,所有跟 Owner 私钥相关的操作都在本地完成。

  1. 在本地生成 Owner 私钥,不要在远程服务器上生成,要一直保持 Owner 私钥处于 "离线状态",所有私钥生成之后应当第一时间备份并保存到安全位置。
  2. 在本地初始化 Miner 之后,在把 Miner 根目录(LOTUS_MINER_PATH)数据拷贝到远程服务器启动 Miner,不要直接在远程服务器直接初始化 Miner。
  3. 每次使用完 Owner 私钥之后记得立即把私钥从 Owner 上删除,以免私钥被盗。具体方法请参考【钱包私钥的备份和删除】

存储安全事项

  1. 存储机器不要托管在原语云,最好关闭外网,最好走内网连接,保持存储机器处于离线状态。
  2. 不要在存储机器上运行其他计算任务,以免增加存储机负载。
  3. 已经封装满的存储机器通过网络挂载(如 NFS)的时候,建议都以只读模式挂载。

网络安全事项

  1. 保持计算网络和存储网络完全硬隔离,两个内网互不相通。
  2. 全部机器的用户名尽量保持不一样,初始化密码必须同时包含数字,字母,下划线,大小写,杜绝简单的密码,例如:123456,abc123等容易被爆破的密码。
  3. 给出机器列表文档的时候不需要给出密码,密码单独通过电话或者邮件给出,防止信息在社交网络暴露。
  4. 只给 miner 保留公网的 ssh 连接端口,统一使用 2201 外网映射到 miner 的 22 端口。
  5. Lotus 集群的计算机器如果需要转移去做别的计算,一定要将机器和现有的计算和存储网络硬隔离,互不相通,并且设置复杂的外网 ssh 密码(如果有需要),计算完后移回来,一定要先取消外网 ssh,再接入内网并且通知我方运维人员及时修改密码。
  6. 任何时刻有新的机器加入到计算或者存储网络,开辟了外网 ssh,一定要设置复杂的密码,且记住用完之后立刻关闭外网端口,否则可能会导致整个内网被攻击沦陷。
上次更新: 2022/4/26 18:21:19