Qtum量子链分布式自治协议DGP 如何实现链上治理

引言:Qtum量子链的分布式自治协议是基于Qtum实现的链上协议,协议允许通过链上提案和投票系统对共识参数进行更改。提案一旦投票通过,就可以在不分叉主链的情况下对参数进行无缝调整。

背景

区块链治理要解决的是在一个去中心化网络中怎样对软件系统进行升级、迭代等等问题。比特币之前分叉成BTC和BCH,分歧仅在于区块的大小,正因为比特币是一个没有完整链上治理机制的去中心化网络,所以导致这个争论持续了很长一段时间。又比如BCH分叉的算力之争。

分叉并不能说是绝对意义上的坏事,但基本的区块链参数完全可以在无分叉的情况下实现升级,因此Qtum设计了DGP。

影响分叉的因素大致可分为以下三类:

算法、功能的改变:共识算法、加密算法、交易脚本、虚拟机;

霍比特HBTC交易所多个币种上涨 QTUM24小时涨幅为41.03%:据霍比特HBTC行情页显示,平台内多个币种持续上涨。其中,QTUM24小时涨幅为41.03%,现报价4.853USDT;ONT24小时涨幅为24.9%,现报价0.9821USDT;BAL24小时涨幅为21.14%,现报价21.006USDT;NEO24小时涨幅为20.38%,现报价19.5452USDT。

霍比特交易所是100%持币者共享的交易平台,推出全新的10倍PE定价回购模型及霍比特队长激励模型,并推出平台资产透明和交易数据可信机制。霍比特交易所由火币、OKEx等56家资本共同投资,主营币币、合约、杠杆、期权等业务,平台上主流币及合约交易拥有优秀流动性和深度。[2020/8/21]

策略、参数改变:区块大小、出块时间、交易数量、Gas策略;

公告 | 量子链Qtum发布了最新的2020年技术路线图:量子链Qtum发布了最新的2020年技术路线图,包含离线 Staking、Qtum Phantom 隐私解决方案和 Qtum Neutron 虚拟机架构三大更新。[2020/1/16]

关键漏洞的修复、回滚:DAO、Parity多重签名钱包。

策略方面的因素其实是最容易达成共识的,另外两类有时必须通过分叉来解决。DGP本身的框架是通过若干部署在创世区块的智能合约来实现的,其基本的治理结构是这样:在整个社区内部的矿工、区块生成者和持有者都是区块链治理的参与者,通过投票去完成治理的过程,最终让区块链成为能够自我管理、升级和迭代的系统。

功能设计与实现

DGP的实现需要某种可编程技术,UTXO和EVM其实都提供了这种特性,所以理论上有两种实现方式:

动态 | 区块链投资公司KR1从Golem和Qtum中退出:据proactiveinvestors报道,区块链和加密货币投资者KR1 Plc从Golem和Qtum中获得丰厚收益后退出,其投资的Qtum盈利在20倍以上,而投资的GNT盈利在17倍。KR1的首席执行官乔治麦克多诺(George McDonaugh)称,这两个项目都雇佣了大型团队,拥有蓬勃发展的社区,他们的协议的早期版本已经部署并运行良好,但来自TrueBit、Dfinity或其他平台的竞争正在增加。[2018/10/2]

基于比特币交易脚本,通过在交易脚本上实现协议逻辑。然而由于比特币脚本非图灵完备,这种实现会比较复杂;

基于智能合约,具有图灵完备的可编程能力,可以灵活实现复杂的逻辑。

Qtum选择了后者。DGP核心逻辑的实现,是由一系列的智能合约组成。

金色财经现场报道 Qtum量子链创始人帅初:未来区块链有机会成为我们的信任设施:金色财经现场报道,在2018区块链技术及应用峰会上,Qtum量子链创始人帅初认为,区块链未来是有机会成为我们的信任设施,如目前的水电煤气般的存在。整个区块链是个漫长发展的技术,大家应该抱有10年-15年的沉淀准备。[2018/3/30]

DGP框架合约实现以下功能:

提案和投票:每个参数改变包括内部治理席位管理需要先被提议,然后对它进行投票。如果投票符合所选择的条件,则该提议被接受,并执行该操作。投票使用“msg.sender”计算,这样公钥哈希地址或合约地址都可以作为参与者参与投票;

治理席位管理:可以添加和删除参与者,也可以修改治理席位参数,比如一个提案被接受需要多少个治理席位同意,添加一个治理席位需要多少个治理席位同意等等;

Qtum量子链帅初:去中心化交易比起中心化的交易系统的高频、深度、流动性,差距很大:在近日的“三点钟无眠区块链”分享关于中心化交易系统,未来的发展方向的问题时,帅初表示,去中心化交易系统我研究的不多,谈几个具体的案例,最早出现的去中心化交易系统是基于mastercoin和counterparty的colorcoin对colorcoin的交易对,后面出现了基于NXT和BTS的去中心化交易系统,再后面出现了 etherdelta (基于智能合约的交易系统),从体验上面来说,几个去中心化的交易系统的体验差不多,比起中心化的交易系统的高频、深度、流动性,差距很大。关于去中心化交易系统中订单的撮合和订单的同步,这个可以找一些这方面的开发者,咨询一下。[2018/2/22]

发送正确格式的数据给DGP特性合约;

允许自己被禁用,这样在不使用硬分叉的情况下就不能进行进一步的DGP修改;

一次只允许一个提案,提案只能由参与者提出。每个提案的有效期不超过5000个区块。每个提案在到期后,或者在投票结束后,完全可以拒绝或者批准;

维护管理员的列表,管理员可以删除提案,管理员也可以是唯一允许添加提案的人。

DGP特性合约则更简单,它只需要完成以下两件事情:

只从合适的DGP框架合约接收信息/数据。

使用“SSTORE”以一种标准化的形式存储共识数据,以便区块链在不运行EVM的情况下就能在RPL中检索和解析该数据。区块链核心代码在共识过程中执行协议的智能合约,获得当前的共识状态。同时它能通过Transaction完成区块链网络的状态转换,升级无需区块链网络软件更新。

理论上,采用了图灵完备的智能合约可以实现任意复杂度的协议设计,甚至是区块链的核心协议,如共识部分的代码等;权衡效率和安全性方面考虑,当前协议仅适用于在安全范围内对特定参数进行更改,同时对参数生效时间采取一定的时间限制。

未来DGP可以不断迭代,实现更多更复杂的治理。回到具体实现,创世块嵌入了常见的区块链参数治理的智能合约,每个治理的主题都由独立的框架合约控制,这意味着每个功能有独立的治理、授权机制以及内置限制条件Blocksize、MinGasPrice、BlockGasLimit、GasSchedule。

此外DGP合约还具备自毁功能,能在提案治理上发生意外时启动,治理参数退回到默认状态。

实际用例

DGP允许通过链上提案和投票系统对共识参数进行更改。提案一旦投票通过,就可以在不分叉主链的情况下对参数进行无缝调整。目前在Qtum链上部署了4个DGP合约,分别用于对4个共识参数进行动态控制:

1.区块大小:区块的最大容量

默认是2Mb,DGP合约:?

0000000000000000000000000000000000000081

2.最小Gas价格:区块创建者可接受的最小Gas价格

默认是40satoshis,DGP合约:?

0000000000000000000000000000000000000082

3.区块Gas限制:一个区块所能消耗的最大Gas数

默认是4千万,DGP合约:?

0000000000000000000000000000000000000084

4.EVMGas调度:每个EVM操作花费的Gas

DGP合约:?

0000000000000000000000000000000000000080

将控制这4个常见的区块链参数的智能合约嵌入到Qtum主网的创世块的原因是:这4个参数是Qtum链中最为关键的几个参数,使用智能合约对它们进行动态更改,可以最大程度地减少对区块链网络的影响。

可以使用DGP合约来添加更多的可控参数,但这个过程需要执行一次硬分叉。因为需要对共识编码进行修改,才能让链上已经存储的参数值变得可控。

每一个可被DGP合约控制的参数都需要独立部署一个相应的DGP合约。Qtum客户端会从控制参数的各个DGP合约中获取每个区块共识下的DGP合约所控参数的值。

客户端如果没有读取到DGP合约中存储的参数值,就会直接返回在客户端代码中所定义的该参数的初始值。

DGP合约管理席的任务是在需要时为每个DGP合约参数发起提案,并提交提案启动投票。一旦某个提案获得足够的支持票数,该提案会自动生效,同时新的参数规则将作为新的共识规则作用于相应的参数。

如果提案在21600个区块内没有获得所需的票数,那么它将被驳回,同时合约将接受新的提案。

参考资料:

1.https://qtum.org/user/pages/01.home/Qtumnewwhitepaper_cn.pdf

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

银河链

AAVE币安逐仓杠杆新增IOTX、CELR、CHR、DOCK、MKR、VTHO

亲爱的用户:为了更好地服务用户,币安逐仓杠杆已增加以下资产与交易对:新增逐仓可抵押资产:IOTX、CELR、CHR、DOCK、MKR、VTHO新增逐仓可借贷资产:IOTX、CELR、CHR、DOCK、MKR、VTHO新增逐仓交易对:I.

以太坊最新价格IPFS/Filecoin真能永久保存数据吗?

关于IPFS的宣传和讲解市面上描述的文章非常多,但这些文章中对IPFS的某些描述也不完全准确,甚至有一些误解,比如在很多爱好者看来这是个去中心化的存储方案,文件一旦存储在IPFS中就永远不会丢失.

[0:15ms0-2:729ms