博客
关于我
Aragon DAO 权限分析
阅读量:795 次
发布时间:2019-03-25

本文共 1083 字,大约阅读时间需要 3 分钟。

Aragon DAO权限结构简要分析

在Aragon DAO中,权限管理是确保Dapp协同工作的重要环节。本文将从权限分类、实现、初始化及管理等方面,对Aragon DAO的权限结构进行简要分析,试图为开发者提供一些实用的参考。

一、权限分类

在Aragon DAO中,权限主要分为两个层面:角色权限与管理权限。

角色权限指的是某一Dapp中特定功能的执行权限,而管理权限则负责对Dapp中角色权限的配置与管理。例如,若有合约A-B-C-D,合约A包含一个写数据的方法f(),用来更改其状态变量X:

  • 调用A.f()更改X的权限,需提供B地址,这属于角色权限
  • 为A.f()设置调用权限为C地址,这由D负责,属于管理权限
  • 需要注意的是,Aragon DAO系统要求默认管理权限由投票合约负责,所有管理操作需通过投票机制完成。

    二、权限实现

    Aragon ACL合约采用map结构存储权限信息。主要包括以下几个方面:

  • 权限哈希计算:通过roleHash函数定义角色权限hash值,其输入包括Dapp地址和操作描述
  • 权限参数存储:将权限参数通过编码存入数据库
  • 管理权限映射:将管理权限委托存储在对应的地址中
  • ACL合约核心逻辑位于ACL.sol,主要函数包括:

    • 初始化函数:设置初始权限创建者,确保系统安全
    • _createPermission:为实例创建权限
    • setPermissionManager:设置Dapp管理权限
    • Revocation相关函数:管理角色权限
    • Query函数:提供权限查询接口

    三、权限初始化

    ACL合约初始化过程为:

  • 存储初始块号,确保单次初始化
  • 检查调用来源,只允许核心 kernel合约
  • 设置初始权限,配置默认管理员
  • 初始化过程重要,因为它确定了系统管理框架。

    四、权限管理

    ACL合约提供丰富的权限管理接口,涵盖:

    • createPermission:设置未管理权限的Dapp
    • grantPermission:赋予已管理权限的Dapp
    • revokePermission:取消特定权限
    • setPermissionManager:更换管理权限
    • removePermissionManager:移除管理权限
    • createBurnedPermission:销毁未用的权限
    • Query接口:支持权限检查和信息查询

    本文仅描述关键管理方法,对其他内部函数不做详细说明。

    总结来说,Aragon DAO权限结构设计颇为完善。通过角色与管理权限的分类设置,实现了灵活的Dapp协同,同时确保了系统安全性。对于其他DAO系统的设计或优化,这一机制可提供重要参考。

    转载地址:http://itpyk.baihongyu.com/

    你可能感兴趣的文章
    ORACLE客户端连接
    查看>>
    oracle常用SQL——创建用户、表空间、授权(12C)
    查看>>
    Oracle数据库异常--- oracle_10g_登录em后,提示java.lang.Exception_Exception_in_sending_Request__null或Connection
    查看>>
    oracle数据库异常---SP2-1503: 无法初始化 Oracle 调用界面 SP2-1503: 无法初始化 Oracle 问题的解决办法
    查看>>
    oracle数据库笔记---oracleweb视图使用流程,及plsql安装
    查看>>
    oracle数据库笔记---pl/sql的基础使用方法
    查看>>
    Transformer 架构解释
    查看>>
    Oracle数据库表空间 数据文件 用户 以及表创建的SQL代码
    查看>>
    Oracle数据库验证IMP导入元数据是否会覆盖历史表数据
    查看>>
    Oracle未开启审计情况下追踪表变更记录
    查看>>
    Oracle条件查询
    查看>>
    Oracle查看数据库会话连接
    查看>>
    Oracle查询前几条数据的方法
    查看>>
    oracle树形查询 start with connect by
    查看>>
    oracle毕业论文题目,历届毕业论文申报题目大全.doc
    查看>>
    oracle求助---win7下oracle配置相关疑问Starting Oracle Enterprise Manager 10g Database Control ...发生系统错误 5。
    查看>>
    Oracle流程控制语句
    查看>>
    oracle深度解析检查点
    查看>>
    Oracle游标
    查看>>
    oracle用户改名
    查看>>