更新时间:2021-10-28 08:36:01点击:125
【先导】
前面提到的《谁允许你访问了?》介绍了基于区块链内的权限级别、提案投票的权限管理模型,基于提案投票的权限管理模型在区块链内是如何使用的? 以下进行介绍。
随着区块链系统的运行,节点网络拓扑、用户数量不断变化,在区块链系统上运行的业务系统的形态和规模也不断变化。 区块链系统的用户意识到现有的区块链系统无法满足需求,必须解决运行时出现的问题,并调整升级以满足新的需求。
治理是指用户调整、决策区块链系统,并适当改变整个系统。 这里问了三个问题。 谁能参加决策? 你如何做出决定? 你如何做出决定?
【联盟号自治】
根据决策系统的位置不同,区块链治理可以分为链下治理、链上治理。
链条下降管理
链治理:依赖区块链系统以外的机制来完成治理。
经常依赖基金会发起核心开发者在社区中主导的提案,经过一定的讨论,在区块链系统中引入了新的机制来完成项目,但该机制与旧的系统不兼容,无法顺利过渡
注意:这种方式经常导致硬叉。 用户对新机制的引入有支持和反对两种观点,但这种模式的管理需要更新区块链程序,因此反对派可以选择不更新,从而导致用户群体的分裂。 有名的事件是以太坊的DAO事件,DAO之后以太坊也分裂成了ETH和ETC两个系统。
链上的管理
连锁治理:依靠区块链系统内部的机制来完成治理。
与链上治理相比,链上治理提供的可调整能力是预定义和有限的,但链上治理一般能保证节点之间的统一、同步变更,不易导致用户群体分裂,难以产生硬分叉,总结如下另外,通过在链上进行管理,可以获得一些区块链系统运行时参数、共识的各种参数(例如区块链时间、区块内交易数等)、区块链系统的公共组件的结构参数(例如
【链上治理提案投票模型】
前面三个问题:谁能参加决策? 你如何做出决定? 你如何做出决定? 基于提案投票的权限管理模式分别回答。
谁可以参加:在基于提案投票的权限管理模式中,维持角色系统,具有特定角色的用户可以参加。 决策方法:以决策为中心。 能够参加决策的用户可以开始提案,所有能够参加决策的用户在一定的规则限制下进行投票,并在投票超过一定的阈值时开始执行。 执行方法:用RPC的提案标准序列化提案,根据提案进行决策,决策完成后反序列化,通过反射RPC的要求来执行。 角色系统
角色系统:基于区块链的公钥密码学账户系统。 将角色属性添加到帐户,并使用创建的内置合同管理帐户的角色。
由于区块链账本采用密钥值对存储方式进行存储设计,因此为了便于查询,各账户中存储了从账户到账户的映射关系,在内置合同状态数据中存储了从角色到账户的映射关系。
某些内置角色具有中心权限控制。 目前最核心的内置角色是admin,在首次调用内置合同时将admin角色授予特定帐户。 通常,这些被赋予管理员角色的账户是写入创世区的账户,所谓创世账户管理员可以开始执行提议交易、投票交易和交易。 节点帐户可以启动和执行建议。 合同类型
自治相关的合同都并入了嵌入式合同,嵌入式合同采用统一的前端合同封装提案状态机,后端是不直接暴露包括权限合同、配置合同、节点合同在内的合同接口的功能合同,今后将进行扩展。
权限合同:提供添加、删除和向用户授予角色和重新使用用户角色的功能。 要维护角色系统,必须通过提案调用权限合同。 分配合同:提供更改链层分配的功能。 要统一更改链级配置,必须在建议的调用配置协议(如batch_size )中更改软件包参数。 此外,还可以设置规则,以更改拦截器配置,打开拦截器,禁止具有特定角色的用户调用特定的合同,只允许具有特定角色的用户调用特定的合同,更改方案的超时时间或投票通过阈值节点合同:提供添加、删除节点的功能。 要改变网络拓扑,需要通过方案调用节点合同,节点合同除了提供分布式CA证书的支持外,还提供了对修改一致节点集合的支持。
使用自治合同,可以通过提案交易、投票交易、交易取消、交易执行4种交易进行。
提案事务处理:封装由功能合同中调用的多个方法名称、参数组成的操作列表,制作提案。 投票交易:有权对提案进行投票和投票的用户可以通过投票交易对提案进行投票。 如果同意这个提案的操作内容,就投支持票,如果不同意就投反对票。 取消提案:取消提案并在提案交易中提出提案的用户,可以通过取消交易来取消提案(如果提案未执行)。 执行交易:执行投票通过的交易并在提案交易中提出提案的用户,通过执行交易来执行提案,执行交易后可能会变更配置。 也称为配置交易。 业务流程
各个提案有提案提案、提案批准、提案超时、提案禁止、提案通过、提案生效、提案放弃这几种状态。 其状态的流程如下图所示。
引起提案状态变更的交易是上述的提案交易、投票交易、执行交易、取消交易。
注意:系统只有一个建议。 一个提案交易按提案合同处理时,首先检查现有提案是否达到结束状态(结束状态是指超时、禁止或生效三种状态)。 如果现有方案已经达到结束状态,现有方案的数据将从状态数据中删除,而新方案的数据将被创建,新方案处于批准状态。
经过时间的投票,如果支持票超过阈值,就会成为通过状态,如果反对票超过阈值,就会成为禁止状态。 达到通过状态的提案都可以通过执行提案交易变更为生效状态。 在任何情况下,如果提案关联交易的包装时间超过一定范围,则提案超时。
的状态发生变化时,会通过mq通知客户端。 客户端还可以主动使用轮询方法来主动查询建议。
【总结】
本文介绍了联盟自治的连锁化、连锁化治理,分析了区块链系统的结构如何实现治理,连锁化治理提案投票模式的部分作用系统如何发挥作用,以及合同的类型联盟自治是为满足灵活多变的重复业务规则而提出的具有联盟协商、重复升级的技术。
综上所述,链上自治的主要作用是通过角色系统控制谁可以参与决策,通过内置合同管理决策系统,完善决策方法和决策方法的机制。
作者的个人资料
刘明美趣链科技基础平台部区块链网络研究小组
参考文献
《区块链技术指南》