区块链:联盟链的“圆桌会议”:谁可以参与决策?如何进行决策?如何执行决策?

在前文《谁允许你访问了?》中,介绍了区块链中的权限层级、基于提案投票的权限管理模型,那么基于提案投票的权限管理模型在区块链中是如何使用的呢?下文将进行介绍。

随着区块链系统的运行,节点网络拓扑、用户数量会不断的变化,运行在区块链系统上的业务系统的形态与规模也会发生不断的变化。区块链系统的用户会逐渐认识到现有的区块链系统无法满足需求,需要加以升级调整,以解决运行时遇到的问题并满足一些新需求。

治理就是用户对区块链系统进行调整、决策,使系统整体发生相应改变。这里就提出了三个问题:谁可以参与决策?如何进行决策?如何执行决策?

根据决策系统的所处位置,可将区块链治理分成:链下治理、链上治理。

▲链下治理

链下治理:依赖于区块链系统以外的机制来完成治理。

大多时候依托于基金会,由核心开发者在社区中牵头发起某项提案,经过一定讨论后,在区块链系统中引入一些新的机制来达成某项目的,但这种机制往往和旧版系统不兼容,无法平滑过渡。

以太坊客户端Geth发布首个主网合并版本v1.10.22:8月22日消息,以太坊客户端Geth发布首个主网合并版本v1.10.22,该版本配置了主网的终端总难度(TTD)为 58_750_000_000_000_000_000_000,预计将于2022年9月15日达到。Goerli测试网现已内部配置为成功合并。[2022/8/22 12:41:17]

注意:这种方式往往会导致硬分叉,因为用户对于新机制的引入存在支持和反对两种观点,而这种模式的治理需要更新区块链程序,反对派可以选择不更新加以抵制,就会导致用户群体的割裂出现硬分叉,比较出名的事件就是以太坊的DAO事件,DAO之后以太坊也就分裂成了ETH和ETC两个系统。

▲链上治理

链上治理:依赖于区块链系统内部的机制来完成治理。

相比于链下治理,链上治理所提供的可调整能力是预定义的、有限的,但链上治理一般可以保证节点之间做统一、同步变更,不易导致用户社群分裂,产生硬分叉,总结而言就是安全、受限。同时,通过链上治理可以来改变一些区块链系统的运行时参数、共识的各种参数、区块链系统公共组件的配置参数。

以太坊客户端Geth出现钓鱼邮件:10月12日,以太坊客户端Geth开发者Marius发推称,在以太坊的开发社区中出现了邮件钓鱼,具体而言是一个名为get-eth.com的网站,其显示可以下载最新的以太坊Geth客户端。而geth客户端的下载网址为geth.ethereum.org,或在github直接下载。[2020/10/12]

前文提出三个问题:谁可以参与决策?如何进行决策?如何执行决策?基于提案投票的权限管理模型对其分别回答。

谁能参与:基于提案投票的权限管理模型中,维护角色系统、具有特定角色的用户可以参与。如何决策:去中心化决策。能参与决策的用户可以发起提案,所有能参与决策的用户在一定规则限制下进行投票,当投票超过一定阀值时出发执行。如何执行:通过RPC的提案基准来序列化提案,基于提案进行决策,决策完成后通过反序列化、反射RPC请求的方式执行。▲角色系统

Bitget合约大数据中心:BTC多空陷入胶着:据Bitget合约大数据中心行情播报,截至今日11:00,Bitget交易所BTC/USDT合约过去24小时交易量高达9亿美金,其中:盈利用户占比39%,多头盈利26%,空头盈利27%;亏损用户占61%,多头亏损24%,空头亏损23%。此外,Bitget正向合约当前盘口价差在0.5USDT左右,合约基差在0.2USDT左右。Bitget合约分析师表示,BTC四小时线看,布林带呈开口趋势,MACD快慢线有粘合迹象。[2020/7/8]

角色系统:基于区块链的公钥密码学账号系统,为账号增加角色属性,同时使用编写的内置合约来进行账号角色的管理。

由于区块链账本采用了键值对存储的方式进行存储设计,为了方便查询,在各个账号中保存了账号到角色的映射关系,在内置合约状态数据中保存了角色到账号的映射关系。

金色相对论 | 陈军:联盟链、私有链适合无币模式 公链更适合有币模式:本期金色相对论中,对于无币区块链和有币区块链各自的优势及各自应用场景,杭州量子大学区块链研究院联合执行院长陈军表示,如果我们把区块链技术区分为公链、联盟链、私有链的话,联盟链、私有链更适合无币模式,公链更适合有币模式。通常情况下区块链项目生成代币的作用有四个:一是众筹开发资金;二是激励系统参与者;三是为资产定价;四是标记资产。这其中前三个是币的概念,一般是通过发行的方式生成的,用来融资、激励和交易。最后一个是用来做标记的,是不能流通的。而基于代币的用途,其场景适用性为:

联盟链不需要发币,比如金融系统的联盟链,他们用区块链技术解决整个产品体系中的清算、结算问题。 私有链不需要发币,私有链通常是为企业产品赋能的方式,是可以直接用来赚钱的,比如电子合同、电子交易信息存证服务,开发者只需跟监管部门联合记账即可。企业内部的系统安全升级不需要发币,比如企业中的日常检查、审计、预算管理、数据永久保存等场景都可以用区块链来解决。[2018/9/29]

声音 | Hyperledger超级账本:联盟链没有百分百拒绝token:联盟链Hyperledger(超级账本)副总裁Julian Gordon表示,Hyperledger有自己的商业模式,但并不是说完全百分之百拒绝token,因为货币只是区块链一种应用,“你用我们的技术可以在上面再增加token的功能,这是没有任何问题的。”他还透露,Hyperledger在全球已有240多家会员,中国会员超过50多家,会员数量一直在增长。联盟链近年来颇受争议,万向区块链肖风博士在日前一次演讲中认为,公有链的核心价值在于币,现在大多数大公司进入区块链,往往着眼于联盟链。联盟链去掉了币,只是一个分布式账本,也就失去了区块链的核心价值取向,因此,联盟链走不长远。[2018/7/21]

通过内置的一些角色来进行核心权限控制,当前最核心的内置角色是admin,在第一次调用内置合约时给特定的账号赋予admin角色。一般情况下,这些被赋予admin角色的账号是创世区块中写入的账号,所谓的创世账号admin账号可以发起提案交易、投票交易和执行交易。node账号可以发起提案和执行提案。▲合约类型

自治相关的合约都封装在了内置合约中,内置合约采用一个统一的前端合约来封装提案状态机,后端则是不直接暴露合约接口的功能合约,包括负责权限合约、配置合约、节点合约,以后还会进行扩展。

权限合约:提供角色增加、删除的功能,以及赋予用户角色和回收用户角色的功能。如果要对角色系统进行维护,则需要通过提案调用权限合约。配置合约:提供修改链级配置的功能。如果要对链级配置做统一更改,需要通过提案调用配置合约更改共识配置,例如batch_size等来修改打包参数,也可以更改拦截器配置,打开拦截器,配置相应规则可以禁止具有某些角色的用户调用某些合约,或者只允许具有某些角色的用户调用某些合约,还可以变更提案配置,修改提案的超时时间、投票通过阈值等。节点合约:提供增加、删除节点的功能。如果要对网络拓扑进行更改,需要通过提案调用节点合约,节点合约提供对分布式CA证书的支持,另外也提供共识节点集合变更的支持。

使用自治合约,可以通过四类交易进行,分别是提案交易、投票交易、撤销交易、执行交易。

提案交易:封装功能合约调用的多个方法名、参数构成的操作列表,用于创建提案。投票交易:对提案进行投票,有权投票的用户可以通过投票交易对提案进行投票。同意此提案的操作内容,则投支持票,不同意则投反对票。撤销交易:撤销提案,通过提案交易创建提案的用户,在提案没有被执行时,可以通过撤销交易撤销此提案。执行交易:执行投票通过的交易,通过提案交易创建提案的用户,通过执行交易来执行提案,执行交易可能会导致配置变更,也称为配置交易。▲业务流程

对于单个提案,有提案发起、提案审批、提案超时、提案禁止、提案通过、提案生效、提案销毁这几种状态。其状态的流转如下图所示:

引发提案状态发生变更的交易则是上文介绍到的提案交易、投票交易、执行交易、撤销交易。

注意:系统中只能有一个提案。当一个提案交易在提案合约中处理时,首先检查已有提案是否达到终止状态。如果已有提案已经达到终止状态,那么已有提案的数据会被从状态数据中移除,取而代之的是新提案的数据,新提案进入审批状态。

经过一段时间投票,如果支持票超过阈值则进入通过状态,如果反对票超过阈值则进入禁止状态。达到通过状态的提案都可以通过执行提案交易来变更到生效状态。在任何状态下,一旦提案相关交易的打包时间超过一定范围,就会导致提案超时。

当提案状态发生变更时,会通过mq通知到客户端。客户端也可以主动使用轮询的方式来主动查询提案。

本篇介绍了联盟自治的链上、链下治理,讲解了区块链系统机制是如何完成治理的、链上治理提案投票模型部分角色系统是如何运作的、合约类型以及一条业务交易是如何流转的等内容。联盟自治是为了满足灵活多变、迭代更替的业务规则而提出的一种具备联盟协商、迭代升级的技术。

综上所述,链上自治主要作用帮助使用角色系统来控制谁可以参与决策,通过内置合约来管理决策系统,完善控制如何进行决策以及如何执行决策的机制。

作者简介

刘明美趣链科技基础平台部区块链网络研究小组

参考文献

《区块链技术指南》

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

链链资讯

[0:15ms0-3:718ms