EOS账户系统权限评估

Posted thefist11

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EOS账户系统权限评估相关的知识,希望对你有一定的参考价值。

1. 场景

  • 授权涉及个人或群体,并且往往是分类的。
  • 身份验证和权限管理必须标准化,并与应用程序的业务逻辑分开。

2. 定义

确认某项操作是否被正确授权。

最简单的权限管理是检查交易是否具有所需的签名,这也意味着所需的签名是已知的。

EOS 提供了一个声明式权限管理系统,可以对账户进行细粒度、高级别的控制,以确定谁在何时可以做什么。

2.1. 评估过程

以通用的方式管理权限:从小到大进行逐级匹配。

@alice 以 “Action” 类型发送一条消息给 @bob

step1. 检查 @alice 是否为 @bob.groupa.subgroup.Action 定义过权限映射。
step2. 如果没有找到,紧接着检查 @bob.groupa.subgroup 映射,然后是 @bob.groupa,最后 @bob 将被检查。如果都没有找到,那么假定映射为命名的权限群组 @alice.active。

  • 一旦一个映射被识别,则使用相关联的签名验证权限。
  • 如果失败了,则跃迁至父权限,直至拥有者权限@alice.owner。

2.2. 特点

权限管理和程序逻辑是相互独立的,自然权限评估和程序逻辑也是可以分开执行的,这让验证权限成为一个只读过程且可以并发执行、跳过多余的权限评估过程,从整体上提高性能,显著提高TPS性能。

权限评估过程是“只读”的,并且对事务所做的权限更改直到块结束才会生效。

=>

  • 所有事务的密钥和权限评估可以并发执行;
  • 可以快速验证权限,而不需要重新启动昂贵的应用程序逻辑;

2.3. 交易权限

验证权限占验证交易所需计算资源的很大一部分。

  • 交易权限可以在接收到待处理的交易时进行评估,而在应用它们时无须重新评估。
  • 当我们重放区块链的历史,试图从操作日志重新生成确定性状态时,不需要再次评估权限。交易包含在一个已知的不可逆区块中这一客观事实,足以让其跳过权限评估的步骤。这极大地减少了重放不断增长的区块链时消耗的计算资源。

以上是关于EOS账户系统权限评估的主要内容,如果未能解决你的问题,请参考以下文章

EOS商业落地利器:多签名

EOS账户系统账户权限分级

EOS账户系统权限和action映射

EOS账户系统账户和钱包

EOS账户系统action分级

EOS账户权限修改及操作(action)绑定