网络安全检测|网络安全服务|网络安全扫描-香港墨客投资移动版

主页 > 业界资讯 > imtoken

Qtum量子链的基本特性及原理解析(5)

Qtum 是首个采用纯 PoS 共识机制的智能合约平台,并解决了其潜在的安全隐患。公链开发者在采用新的共识规则时应该首要考虑不同的技术组合带来的安全性问题,不能完全照搬照套。

分布式自治协议

01、基本原理

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

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

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

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

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

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

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

02、DGP 实现

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

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

• 二是基于智能合约,具有图灵完备的可编程能力,可以灵活实现复杂的逻辑。Qtum 选择了后者。DGP 核心逻辑的实现,是由一系列的智能合约(包括框架合约,特性合约)组成。

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

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

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

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

• 允许自己被禁用,这样在不使用硬分叉的情况下就不能进行进一步的 DGP 修改(防止重大的漏洞或问题)

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

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

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

1. 只从合适的 DGP 框架合约接收信息 / 数据(使用 msg.sender )

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

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

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

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

03、小结

链上治理往往是公链开发者容易忽略的一环,然而其实际上非常重要,是去中心化网络后续升级迭代的重要基础设施。Qtum 的分布式自治协议是行业内真正意义上的链上治理机制,其设计思想可以引入到很多其他项目中。

Qtum x86 虚拟机

01、Qtum 已经兼容 EVM,为何还需要 x86VM ?

(责任编辑:admin)