默认的 NEAR TLA 拥有 FullAccess 密钥是否安全?

Is it safe for the default NEAR TLA to have a FullAccess key?

我注意到 NEAR MainNet 上的 near 顶级帐户已获得与之关联的访问密钥:

{
  "public_key": "ed25519:5zset1JX4qp4PcR3N9KDSY6ATdgkrbBW5wFBGWC4ZjnU",
  "access_key": {
    "nonce": 1568,
    "permission": "FullAccess"
  }
}

此密钥是硬编码的 in the genesis

据我了解,这实际上意味着拥有相应私钥的实体可以随时删除其 ID 以 .near 结尾的任何账户,并将所有资金从该账户转移到任何地方选择。这包括通过官方 NEAR web wallet 或通过其他方式调用 near.create_account().

创建的所有帐户

我想知道我的理解是否正确,这是否是网络运行所必需的,以及这对典型用户可能有什么安全隐患。

我很确定您不能像这样影响父帐户的子帐户。如果有人删除 near 帐户,您的帐户不会受到影响。除非 near 帐户本身持有子帐户的 FullAccess 密钥,否则它不会控制它们

这也很容易测试。在 TestNet 上尝试创建一个子账户并将其从父账户中删除。如果您没有帐户的 FullAccess 密钥,那么您的 DeleteAccount 操作将被网络拒绝。