共计 2645 个字符,预计需要花费 7 分钟才能阅读完成。
中移链是在满足我国信息化监管需要、合规可控的前提下,打造的中国移动区块链服务平台。如果把中移链类比为计算机系统,那么零碎合约就是中移链中的零碎设置局部,用于配置和治理链的资源和行为。在计算机系统中, 零碎设置提供了对计算机系统的底层管制,使其可能无效地运行各种应用程序。同样,在中移链中,零碎合约是中移链中的底层协定,负责账户、交易、RAM、CPU、网络带宽等相干配置和治理。
01
账户和权限体系介绍
在中移链中,账户与零碎合约密切相关,所有账户都必须由零碎合约创立和治理。零碎合约执行须要链账户来进行发动。链账户是中移链中的重要参与者,用于治理用户的资产、执行智能合约和交互。中移链中链账户能够设置多个权限和角色,这种灵便的权限管理机制使得中移链账户能够更加平安地进行交易。而这一机制,正是由零碎合约来实现的。
在创立新账号时,默认须要指定以下参数:账户名称,Active 和 Owner 权限公钥以及须要的资源(账户须要领有肯定数量的资源能力进行交易和操作,这些资源包含 RAM、CPU 和 NET)。
账户名:在中移链中,账户名是惟一的标识符,用于标识账户和接管中移链资源。账户名必须是 12 个字符串,只能蕴含小写字母 a - z 和数字 1 -5。
公钥和私钥:账户能够有多个公钥,不同的公钥能够用于不同的场景来进行加密和签订交易。私钥是与公钥相关联的一个字符串,它用于签订交易和解密加密信息。私钥必须放弃秘密,不能被分享或泄露。
权限:中移链中的账户权限有多种类型,例如沉闷权限(Active)、所有者权限(Owner)和合约权限等。这些权限用于治理账户的访问控制,例如限度谁能够拜访账户、对账户进行转账或批改账户信息等。中移链中的权限非常灵活,容许账户所有者定义本人的拜访规定和安全策略。
如果须要更简单的签名加密形式,能够通过多重签名来实现,它容许多个签名者进行多个公私钥对的合作,实现多方受权的目标。例如,一个企业账户能够设置 3 个签名者,当进行敏感操作时,须要至多有 2 个签名者独特受权能力实现操作。下图简略阐明了一下多重签名的概念。
咱们能够把 Alice 在区块链中的权限和受权表看作一张清单,这张清单通知咱们她须要多少权重能力应用本人的 Active 权限进行签名。假如她的 Active 权限阈值是 2,那么只有当权重达到 2 时,能力应用她的 Active 权限进行签名。如果咱们把 Bob 和 Stacy 在 Alice 的 Active 权限表中的权重都改为 1,那么他们两个的权限加起来能力达到 2,才能够应用 Alice 的 Active 权限进行签名。
02
零碎合约与交易介绍
目前中移链的次要的零碎合约有如下几个:
中移链零碎合约中的各个子合约之间相互协作,独特保护零碎的失常运行。要执行中移链的零碎合约,用户须要应用其私钥对其进行签名并发动交易申请。交易随后播送到网络并由网络参与者进行验证。以转账合约为例, 整体的执行过程如下:
1、用户发动交易,应用对应权限的公私钥签名;
2、节点收到交易后,发送给共识节点;
3、共识节点接管到交易后,进行交易排序;
4、交易执行;
5、交易打包出块;
6、区块同步全网,交易在每个节点上运行;
7、区块链网络中每个节点数据同步统一;
为了保障合约的执行平安,合约的执行都须要应用账户进行签名,签名的账户权限必须满足合约执行的需要。比方,一个合约须要执行一个转账操作,那么它所依赖的账户就须要领有相应的转账权限。如果账户没有这样的权限,那么合约的执行就会失败。
03
零碎合约权限管控性能革新
通过对账户权限和零碎合约执行过程的理解,不难发现尽管有灵便的组合权限来确认账户权限的归属,然而在零碎合约层面,无奈对重要零碎合约的执行进行无效管控,比方新建链账户、资源购买、赎回和选举共识节点等重要操作,只须要签名通过并满足创立资源的需要即可调用,无奈指定管理员来治理这些零碎合约的权限,这显然也不合乎凋谢联盟链的管理模式。
为了加强安全性,满足凋谢联盟链的需要,中移链在零碎合约的次要函数中退出了权限组的校验逻辑。当调用转账和购买资源等须要权限的合约时,须要先校验权限是否通过。如下为提前设置管理员的命令:
以购买资源的合约为例,在购买资源前,中移链会在购买资源的零碎合约中事后设置管理员权限表,为不同零碎资源分配不同的管理员。当用户购买内存时,会校验以后用户是否在的权限组中。这样,当调用账户没有管理员权限时,将抛出异样并回绝调用该合约。这种批改只是减少了管理员,放大了权限范畴,因而是向后兼容的,不会造成硬分叉。这样降级的益处是能够在不中断链的状况下,引入新的性能和降级零碎,使得整个零碎更加平安和牢靠。
通过权限表的灵便配置,中移链实现了零碎合约管控性能,敏感合约只容许权限表中对应的管理员进行操作。比方新建链账户,只容许链账户管理员进行操作,资源的交易和赎回,只容许资源管理员进行操作,确保链上数据和零碎合约的平安和稳固,也合乎 BSN 凋谢联盟链的需要和指标。
04
零碎合约权限管控性能验证
1、应用管理员账号别离创立两个测试账号:testaccount2 和 testaccount5,账号信息如下:
2、将测试账号 testaccount2 设置成为管理员账号
3、测试管理员 testaccount2 进行购买资源,购买胜利。
4、接着应用一般账号的 testaccount5 进行购买资源测试,购买失败。
5、当初将 testaccount2 从权限表中移除, 再次进行购买资源测试。
6、移除权限后,testaccount2 变成一般账号,购买资源失败。
中移链致力于构建一个凋谢、平安、高效、易用的区块链基础设施网络,以满足各种企业和开发者的需要。后续将继续对中移链底层框架进行能力加强,为 BSN 生态中的企业和开发者用户提供更加多元化的技术抉择与更加牢靠的基础设施保障。
05
参考资料
[1]BSN 凋谢联盟链:
https://opb.bsnbase.com/main/index
[2] 官网 EOSIO 账号和权限介绍:
https://developers.eos.io/welcome/latest/protocol-guides/acco…
[3] 官网 EOSIO 交易介绍:
https://developers.eos.io/welcome/latest/protocol-guides/tran…
[4] 官网 EOSIO 智能合约介绍:
https://developers.eos.io/welcome/latest/smart-contract-guide…
-END-