当前位置:首页 > 物联网 > 区块链
[导读] 中心化的权限系统使用场景受限,同时增加了网络运维成本以及用户使用成本。百度超级链基于ACL权限模型实现了一套去中心化的权限系统,同时保持着可扩展、易用的特性,有助于开发者快速上手。 本期

中心化的权限系统使用场景受限,同时增加了网络运维成本以及用户使用成本。百度超级链基于ACL权限模型实现了一套去中心化的权限系统,同时保持着可扩展、易用的特性,有助于开发者快速上手。

本期超级链学院线上微课堂就带你解超级链去中心化的权限系统!明星讲师超哥将主要围绕以下几点展开:

1.权限系统在区块链中有哪些作用?

2.超级链权限系统是如何构建的?

3.用户如何快速上手超级链权限系统?

4.使用过程有哪些常见问题需要避免?

5.超级链权限系统与其他系统的异同点?

快来继续往下看吧!

Q1:账户与权限系统的定义是什么?

账户用于标识区块链网络中不同身份,而权限控制用于约束资源获取/更新等能力。

账户与权限系统就是指结合账户与权限控制两个要素,以账户为粒度对资源获取/更新等能力进行约束的一种系统要素。这里的账户包括普通账户以及合约账户。

Q2:账户与权限系统有哪些常见模型?

区块链中常见的权限控制模型包括:基于ACL的权限控制模型、基于RBAC的权限控制模型以及基于ABAC的权限控制模型。

Q3:账户与权限系统在区块链中有哪些作用?

权限系统用于保障区块链网络中普通用户资产、合约用户资产的安全,只有拥有相应权限的用户才能访问/更新相应的数据,做到用户对自己的数据具有所有权。

常见的权限系统包括以联盟链为代表的MSP身份认证系统,以公链为代表的去中心化权限系统。

Q4:超级链采用的哪种账户与权限模型呢?

超级链其实已经实现了一套基于CA的权限控制系统,适用于联盟链应用场景。为了不仅适用于联盟链场景,同时适用于公链场景的需求,超级链还自研了一套基于ACL权限控制模型的去中心化的账户与权限系统。当初设计去中心化的账户与权限系统主要是为了公链场景下,支持智能合约数据资产的访问权限控制,保障合约资产数据的安全。

到目前为止,超级链中普通账户的权限认证也走去中心化权限系统,实现了权限认证的入口统一。目前,超级链自研的权限控制系统支持签名阈值策略、AK集签名策略等。

阈值策略是指每个用户持有一定权重的权限,当授权用户的总权重达到一定阈值时,表明鉴权通过。AK集策略是指集合中的AK之间的与以及集合之间的或逻辑表达式,来决定是否鉴权通过。

Q5:超级链是如何实现账户与权限系统的?

权限系统主要包括赋权与鉴权两个部分,这两个方法以系统合约的形式实现。在创建合约账户、设置合约账户权限列表、设置合约方法权限列表时,会分别调用赋权与鉴权这两类系统合约。

(1)超级链是如何实现赋权的?什么操作涉及到赋权?

赋权是指为合约账户或者合约方法设置访问权限列表,涉及到更新数据库数据。

一般在创建合约账户、设置合约账户权限列表、设置合约方法权限列表时都会涉及到赋权操作。

主要操作就是将一个《key,value》写入数据库,value通常为json格式的权限配置文件,而key就是合约账户的ID或者合约方法的ID。

赋权过程中,还会对参数进行有效性验证,比如合约账户命名规范是否合法,权限列表数量是否达到上限。

(2)超级链是如何实现鉴权的?什么操作涉及到鉴权?

鉴权是指验证一组签名是否具有足够权限执行特定的操作,比如调用某个合约的某个方法、普通用户转账等。

主要通过权限树模型进行权限认证流程,具体流程如下:

①根据实体的链上权限规则构造出权限树,并缓存每个非叶子节点的具体权限规则;

②按层遍历权限树,从最底层的节点进行鉴权;

a.如果节点是一个普通的address,直接判断是否满足实体的权限需求;

b.如果节点是一个合约账号,则递归判断其所有子节点是否获得授权;

③如果当前节点为根节点,则按照(2)中的鉴权规则判断,得到最终的鉴权结果;

通常,涉及到数据更新的地方都需要鉴权。

Q6:应该如何使用超级链的账户与权限系统?

只需要正确填写Initiator以及AuthRequire以及对应的签名即可。

IniTIator通常从data/keys/address文件中获取,AuthRequire通常从data/acl/addrs文件中获取。

我们以创建一个合约账户为例,说明如何使用。

step1: 准备一个acl配置文件,命名为newAccount.json,内容如下:

{

“module_name”: “xkernel”,

“method_name”: “NewAccount”,

“args” : {

“account_name”: “1111111111111111”,

“acl”: “{”pm“: {”rule“: 1,”acceptValue“: 0.6},”aksWeight“: {”AK1“: 0.5,”AK2“: 0.5}}”

}

}

其中,module_name是指创建合约账户调用的系统合约名字;

method_name是指创建合约账户调用的系统合约方法名字;

account_name是指待创建的合约账户名字;

acl就是具体的权限配置规则,其中rule是指特定的权限模型,acceptValue是权限阈值,aksWeight是指具体的权限比重配置。

step2: 发起预执行,命令如下:

。/xchain-cli mulTIsig gen - -desc newAccount.json

step3: 对预执行结果进行签名,命令如下:

。/xchain-cli mulTIsig sign --output my.sign

step4: 将预执行结果以及签名组装成一个完整的交易并转发到网络,命令如下:

。/xchain-cli mulTIsig send my.sign my.sign

Q7:超级链权限模型与其他模型有何异同点呢?

Fabric:

实现了一套基于MSP的权限认证系统,通过CA进行证书授权,基于ABAC进行权限访问控制。

只适用于联盟链场景,不适用于公链,且ABAC方式较复杂。

EOS:

基于RBAC实现一套账户权限系统,RBAC将角色与权限挂钩。

Ethereum:

权限控制都是靠每个合约自己在代码中定义。

Bitcoin:

没有权限控制。

分享结束后,群里涌现出的精彩问题,摘取部分分享给各位。

问:超级链的权限模型是不是不使用CA证书?因为在我的理解中,CA是个中心化的东西。

答:我们支持CA模型,不过当前开源的版本没有实现CA。我们的联盟链解决方案包含了CA,但目前开源版本的权限系统是独立于CA存在的,是一种完全去中心化的权限系统。

问:普通账户权限认证的去中心化权限系统是在哪个版本升级了?普通用户该如何使用权限系统呢?

答:普通账户的权限验证一直都是在链上完成的,后来将普通账户的权限验证接口统一到了权限系统中了。

普通用户的权限验证就是公私钥验证。

问:物联网的海量数据接入链会发生什么事?是否有具体有关充电桩场景应用的案例呢?

答:这种场景对网络的性能有要求。如果网络性能不行,容易阻塞。

超级链之前恰好有过汽车充电桩数据接入区块链的案例,在这个案例中,我们通过LCV轻量级节点植入到充电桩中,从源头保证数据可信采集,并将实际充电结算数据上链,解决了充电桩服务商、电力部门和用户之间的数据互信问题。

问:rule是指特定的权限模型,acceptValue是权限阈值,aksWeight是指具体的权限比重配置。那权限模型、阈值、权限比重配置,可以说明一下这3个吗?

答:权限模型是指使用什么样的ACL规则模型来验证权限,可选的有阈值模型和AK集模型。如果选择阈值模型,那么ACL中每个address可以配置一个权重,这个权重配置列表就是aksWeight,那么将所有签名Address的权重累加,如果超过acceptValue这个阈值,就说明权限验证成功。

问:EOS实现RBAC将角色与权限挂钩。这种是不是更适合联盟链业务场景?超级链选择的acl的优势是什么?

答:超级链的ACL并不是传统意义的访问控制列表,而是一种基于账户列表的可扩展的权限模型。举例来说,我们提供的AK集模型就可以支持账户集合之间的逻辑关系判断。所以基于这种可扩展的权限模型,用户甚至可以定制出自己的RBAC模型,这种灵活性要比RBAC更高。

问:由于企业内部可能存在账号系统中用户信息被恶意泄露的问题,超级链中的授权鉴权能否发展成为企业内部账号系统?或者说未来有没有可能打造一款类似产品,部署在企业内部做私有链?

答:对于企业账户信息泄露的问题,可以从两个角度考虑,第一个角度是单个用户密码泄露导致的单个用户信息泄露,这个在区块链场景下如果用户私钥泄露也同样会泄露个人信息;第二个角度是因为用户数据中心化存储带来的中心化系统数据泄露问题,这种情况通过区块链可以将用户信息作为个人隐私数据保留在个人账户中,典型的例如去中心化身份系统,可以做到不会因为中心化系统被攻破而泄露所有用户的信息。

问:有方法实现去中心化的身份认证系统吗?

答:DID去中心化身份系统有标准实现,我们也会在未来开源我们自己的DID解决方案。

问:Fabric中的CA认证能不能拓展到其他场景呢?例如:登陆某一网站或者APP,通过扫描二维码,进行CA授权及权限划分。

答:超级链不是Fabric,不过我们也有CA。除此之外,我们的权限系统是一种更灵活、可扩展的权限模型。理论上,可以通过扩展权限模型来支持外部验证系统,不过外部系统数据不在链上,当外部用户发生变化时,链上并无法及时得知,有可能导致数据不一致问题。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

现如今数字经济完全依赖各大平台的服务,交易能否达成与双方信用直接挂钩。平台往往在交易过程中抽取大量服务费用,导致了交易成本的提高。

关键字: 元宇宙 区块链 虚拟活动

随着人工智能(AI)技术的不断发展和创新,其应用领域也在不断拓展。AI正在逐步渗透到各个行业中,为我们的生活和工作带来诸多变革。本文将为您探讨人工智能在各个领域的应用。

关键字: 人工智能 区块链 应用领域

本文中,小编将对区块链技术予以介绍,如果你想对它的详细情况有所认识,或者想要增进对它的了解程度,不妨请看以下内容哦。

关键字: 区块链 Blockchain

北京2023年9月19日 /美通社/ -- 随着科技的快速发展,我们正处在一个数据爆炸的时代。超大规模数据中心作为数据的重要存储和处理场所,其数量在不断增长,与之而来的数据量也在呈指数级增长。这不仅包括原始数据,还包括分...

关键字: 分布式 节点 软件 数据中心

深圳2023年9月15日 /美通社/ -- 9月14-15日,2023全球AI芯片峰会(GACS 2023)在深圳正式举行。峰会以【AI 大时代 逐鹿芯世界】为主题,共探AI芯片的产学研用,邀请了清华大学教授、中国半导体...

关键字: 接口 芯科 内存 AC

深圳2023年9月8日 /美通社/ -- 近日,超算领域国际顶级会刊SC23公布了论文入选名单,由微众银行区块链团队发表的论文——《FISCO-BCOS:An Enterprise-grade Permissioned...

关键字: 区块链 OS 开源 联盟链

(全球TMT2023年9月6日讯)耀世星辉新文娱集团控股有限公司宣布,根据2023年8月16日签署的《股份认购协议》,完成发行总计8,064,516 股普通股,认购价格为每股2.48美元,总计2000万美元的战略投资完...

关键字: 云计算 移动互联网 区块链 生态系统

成都2023年9月5日 /美通社/ -- 2023年9月5日,ACCA市场关系执行总监卢曦(Lucia)、ACCA中国总监梁淑萍一行到访成都,就推动财金大学生职业发展议题与实习僧展开交流。双方正式签署"ACCA...

关键字: AC 创始人 AI LEARNING

(全球TMT2023年9月5日讯)在2023年华为云沙特峰会上,华为宣布,华为云利雅得节点正式开服。本次开服后,利雅得节点将成为华为云服务中东、中亚和非洲的核心节点。华为云利雅得节点通过3AZ(可用区)架构,提供了高可...

关键字: 节点 华为云 云服务 GO

沙特阿拉伯利雅得2023年9月4日 /美通社/ -- 在2023年华为云沙特峰会上,华为宣布,华为云利雅得节点正式开服,推动该国数字经济增长。 本次开服后,利雅得节点将成为华为云服务中东、中亚和非洲的核心节点,可提供创...

关键字: 华为云 节点 AI 数字化
关闭
关闭