首页>>科技 >>内容

qtum量子链怎么挖矿,Qtum量子链的基本特性及原理解析

发布时间:2023-08-10 22:20:33编辑:温柔的背包来源:

qtum量子链怎么挖矿,Qtum量子链的基本特性及原理解析

很多朋友对qtum量子链怎么挖矿,Qtum量子链的基本特性及原理解析不是很了解,每日小编刚好整理了这方面的知识,今天就来带大家一探究竟。

新年伊始,CSDN以“让区块链回归技术和应用的本质”为宗旨,撰写了《区块链开发者报告》,包括技术扫描、公链选择指南、公链和应用开发三个部分。其中,公链和应用开发的实用部分,—— Qtum量子链中国区技术总监钟文彬撰写了《公链设计与开发实践和开发细节》部分,描述了Qtum量子链的基本特性、设计初衷以及Qtum量子链项目中使用的技术的详细介绍。本文为第一部分,包括以下几个部分:背景介绍。

QTum量子链账户抽象层的基本特征UTXO和比特币脚本如何支持智能合约?揭示了POS共识机制公共链的设计和开发细节。作者:钟文彬背景介绍

2018年被称为“公链元年”,各种公链如雨后春笋般出现。曾经,几乎所有的项目都在开发各种不同特点的公链。作为国内最早的公链之一,Qtum量子链于2017年9月推出骨干网络,全球节点总数仅次于以太坊和比特币,成为全球第三大去中心化区块链网络。

Qtum兼容比特币和以太坊。可以说它集成了主流公链开发的所有技术,并在此基础上提出和实现了多项技术创新。本文以Qtum为例,介绍了公链设计开发中需要注意的诸多细节,供所有公链开发者参考。Qtum量子链的基本特点Qtum是首个基于UTXO模型的智能合约平台和价值传递网络,采用PoS共识机制和去中心化治理模式,兼容多种虚拟机。

为了让读者有一个直观的了解,先列出Qtum区块链网络的基本特征和参数:底层模型:UTXO(未用完事务输出)块大小:2 MB平均块间隔:144秒共识机制:POS(栈证明,权益证明机制)链上理论最大TPS:70 ~ 100事务/秒,初始发行量:100,000,000 qtum,当前挖矿奖励:4 QTUM,挖矿奖励总量每四年减半:约7,888

基本代码框架:比特币比特币核心支持智能合约、EVM、x86VM等虚拟机,链上的去中心化治理机制。这些特性和参数不是心血来潮确定的,而是Qtum创始团队在综合考虑公链生态的现状、应用场景、技术可行性和未来发展方向后确定的。在正式介绍设计的每一部分之前,我们不妨回顾一下Qtum设计的初衷,这有助于理解很多后续的实现细节。Qtum量子链设计的初衷

Qtum量子链的想法诞生于2016年。当时比特币网络已经稳定运行了近8年。在此期间,比特币账本从未出现过一次错账,足以看出比特币UTXO、PoW等设计的优越性。当时,大多数项目都是对比特币的简单修改,本质上是中本聪最初设计的雏形。然而比特币美中不足的是,其非图灵脚本无法支持真正的智能合约。

Qtum创始团队最初的想法很简单:让比特币支持智能合约。然而,为什么团队要创建一个新的公链,拥有如此多与比特币完全不同的特性?主要出于以下考虑:1。考虑到安全性、稳定性、匿名性和可扩展性,选择UTXO模型而不是account模型;2.比特币的升级需要核心团队和比特币社区的共识。如此重大的升级几乎不可能,所以需要新的公链;

3.为了支持智能合同,需要虚拟机。EVM有良好的生态环境。首先,它是兼容的。4.不要重复做轮子,保持与比特币、以太坊的兼容性。5.EVM有其固有的缺点,所以Qtum也自主开发兼容性更强的x86虚拟机。6.支持同链多个虚拟机,需要设计一个可扩展的账户抽象层。7.考虑到权力共识的缺点,所以,

8.现有的区块链项目缺乏有效的链上治理模型,需要设计一个分散的治理机制。简而言之,Qtum=UTXO PoS智能合约兼容去中心化治理,与开篇表述完全一致:“Qtum是首个基于UTXO模型的智能合约平台和价值传递网络,采用PoS共识机制和去中心化治理模式,兼容多个虚拟机”。以上设计涉及到很多技术实现细节,接下来我们会详细讲解。

Qtum技术实现细节01账户抽象层:UTXO和比特币脚本如何支持智能合约?UTXO v.s账户模型UTXO(未用交易输出)是比特币采用的底层账本模型。而以太坊则采用账户模式。对于普通人来说,后者相对容易理解,就是一个ETH从一个地址传输到另一个地址,类似于银行账户。

比特币交易相对复杂,由几个输入和输出组成。每个输出都包含一个特定的“锁定脚本”,它指定了输出的支出规则。如果你提供了一个符合规则的“解锁脚本”,你可以把输出作为下一个事务的输入。没花的输出是UTXO。比特币网络上的交易都是通过输入输出串联起来的。UTXO的优点是:

安全性:解决双花问题的逻辑和处理方式极其简单,支持原生多签名的匿名性:对于多输入多输出的交易,钱包可以生成任意数量的地址,每次生成一个新的变更地址。可扩展性:并行处理成为可能,离线交易不需要像以太坊:SPV那样维护,支持轻钱包去中心化验证交易合法性,特别适合移动设备。

兼容性:兼容其他基于UTXO的项目,如闪电网、跨链原子交换、隐私交易等。虽然UTXO有很多优点,但是当时基于UTXO模型的各种项目的底层脚本语言都是非图灵的,与以太坊虚拟机采用的账户模型不兼容。

出于这个原因,Qtum开发了一个账户抽象层(AAL ),使UTXO模型适应账户模型。这种分层设计实现了底层账本和上层智能合约的完全解耦,也使得Qtum兼容各种虚拟机(EVM、x86、WASM等)成为可能。).AAL想要实现的其实很简单:UTXO模型账户模型。

由于篇幅有限,本文只对其基本原理和遇到的问题做简要解释,感兴趣的读者可以进一步阅读《深度解析 Qtum 量子链账户抽象层》 ,文章从代码层面对AAL 进行了详细剖析。扩展比特币脚本― UTXO 模型-》 账户模型比特币的UTXO 模型采用了一套非图灵完备的脚本语言,该脚本自带的操作码并不支持合约交易。Qtum 在比特币脚本的基础上增加了3 个操作码:

1. OP_CREATE :创建智能合约

2. OP_CALL :调用智能合约( 向合约发送QTUM)

3. OP_SPEND :花费智能合约中的QTUM在产生新区块时,除了对交易脚本做常规的检查外,还需要检查是否包含上述的操作码。OP_CREATE 用于向EVM 传递合约字节码。OP_CALL 将data、gasPrice、gasLimit、VMversion 等运行智能合约所需的关键参数通过交易脚本发送,最终传递到EVM 中。OP_SEND 则用于合约执行结果的UTXO 转换,稍后解释。

通过引入上述三个脚本,Qtum 的UTXO 模型具备了识别和处理智能合约相关交易的能力。

02. 从UTXO 获取的合约如何在EVM 中运行?

合约的执行会引起状态改变,对于合约的状态,Qtum 沿用了EVM 的定义,所以能兼容所有的符合EVM 规范的智能合约。从上述OP_CREATE 或OP_CALL 提取出合约交易参数之后,即可构建运行环境。合约的运行过程基本采用了EVM 的引擎,为使其与Qtum 区块链进行正常交互,Qtum 完成了以下工作(这里只截取部分),供公链开发者参考:

1. 针对每个独立交易构建运行环境,最大限度的把不同交易的合约执行过程隔离开,避免合约执行过程中的交叉影响

2. 实现EVM 的永久存储,当区块成为孤块或断开时,可以实现状态的回滚

3. 实现EVM 和Qtum 区块链间的接口, 使EVM 能够获取诸如BLOCKHASH,COINBASE,DIFFICULTY,BLOCKNUMBER,GASLIMIT 等区块基本信息4. 实现已部署在链上的合约间的相互调用

5. 实现合约地址获取自身余额的功能

6. 为EVM 生成debug 信息,方便调试智能合约

7. 重新设定各操作码的gas 价格,因为QTUM 和ETH 的价格差异较大,且EVM 的gas模型设计略不合理,因此需要重新优化

8. 支持自毁操作码,使合约可以自毁

9. ……

感兴趣的读者可以阅读《Qtum 设计文档》 获取更多设计方面的细节。在解决了上述问题之后,从Qtum 交易传入的智能合约代码即可在EVM 中成功运行了。该实现理论上适用于所有基于UTXO 的项目。

运行的结果会引起状态改变,这时需要使用上述的OP_SPEND 用于花费合约中的余额,上面已经提到,无论是比特币还是Qtum,都是通过私钥”解锁“ UTXO 脚本来花费UTXO余额的,而EVM 的执行涉及不同账户之间的转账,所以需要通过OP_SPEND 实现这些转账到UTXO 模型交易的转换,最终转化为Qtum 标准交易脚本(对比特币交易脚本不熟悉的读者建议阅读《Mastering Bitcoin》 )。

03、账户抽象层的安全性

上述的UTXO 和账户模型的互相转换虽然实现了Qtum 区块链与EVM 的交互,但AAL也引入了一个安全问题。由于合约地址本身也是一个Qtum 的合法地址,并且底层都是UTXO 模型,这就意味着一个合约可以拥有多个UTXO。这本身没有问题,但却给攻击者提供了DoS 攻击的可能性。

攻击者可以通过给合约发送多个小额的UTXO,然后一次性用OP_SPEND 花费大量UTXO,从而导致区块大小超过限制,新区块无法被接收,使得网络无法产生新的区块。这是UTXO 与智能合约相结合所带来的必然问题。Qtum 的解决方案是在共识层面做优化,规定合约地址只能拥有一个UTXO。

每次合约运行结束时,都会将原来的UTXO 和新加入的UTXO 进行合并,从而保证合约地址始终只有一个UTXO。

Qtum 称之为“Condensing transaction”。为了保证合约状态以及UTXO 的共识,Qtum 的区块头除了包含与比特币相同的字段外,还需要额外加入hashStateRoot 以及hashUTXORoot 两个字段,感兴趣的读者可以阅读Qtum 的源码。账户抽象层带来的好处比特币的UTXO 模型相较于以太坊的账户模型有诸多优越性,以太坊有一套图灵完备的语言,可以实现比较复杂的智能合约逻辑。

两者都有强大的生态作为支撑,并且聚集了区块链行业最优秀的开发者。

Qtum 选择不重复造轮子,而是在比特币和以太坊的基础上开发了账户抽象层AAL,打通了两个原本分离的生态。这一设计带来的好处包括:

1. 获得与比特币一致的稳定底层基础设施(UTXO);

2. 兼容比特币后续所有包括性能上和安全性上的升级;(目前已同步升级到0.16 版本,正在适配0.17)

3. 兼容现有智能合约生态,以太坊上的智能合约可以零成本迁移;(QRC-20,QRC-721等均兼容)

4. 比特币和以太坊的开发者自动成为Qtum 的开发者;

5. 兼容所有基于比特币和以太坊虚拟机的技术,比如闪电网络,雷电网络,plasma,加密隐私,原子交换,分片等等;

6. 兼容以太坊上所有智能合约开发工具(当然有些需要做RPC 的适配,Qtum 已经实现了这样的适配),降低开发者学习成本。

04、小结

Qtum 首创的账户抽象层AAL 实现了UTXO 模型到账户模型的适配,从技术层面打通了比特币和以太坊生态,并未后续兼容多种虚拟机(如x86,WASM)提供了可能,其设计思想和实现细节值得公链开发者参考。

PoS 共识机制为什么需要挖矿?

说到共识机制,我们首先从字面上回顾一下什么叫“区块链”,所谓区块实际上是一段时间内交易的集合,每个区块都有一个指向上一区块的哈希指针,从而组成了一条链。所以简单来说区块链就是一个不可篡改的分布式数据库,那为什么需要挖矿呢? 这里以PoW 挖矿为例。

首先,区块链主要分为:公有链、私有链和联盟链。它们的核心区别在于记账权,公有链是去中心化的,赋予网络上的每个节点记账的权力,而私有链和联盟链的记账节点为少数几个指定节点。

只有公有链才需要挖矿,其目的在于:

1. 安全性:依靠区块奖励和手续费激励节点记账,去中心化地维护区块链网络的安全性

2. 随机性:保证选出的记账节点的随机性,否则固定的记账节点很容易被DoS 攻击,出现单点故障

3. 代币分发:挖矿也是一个代币分发的过程,从而把币随机地分发出去,而不是只在少数人手中

整个比特币的精髓就在于它的激励机制,但PoW 共识机制也并非没有问题,比如:

• 加入网络的门槛较高,当前需要花费很多钱买矿机才能成为比特币的全节点进行挖矿,普通设备几乎没有机会;

• 越来越趋性中心化,大部分的挖矿所得被少数几个大矿池占据;

• 能源消耗巨大,矿机耗电甚至超过某些小国的耗电量(当然这些电量支撑起这么大的网络并不算多,但我们应该寻找更好的方式替代)。基于这些问题,2012 年时Sunny King 提出PoS(Proof-of-Stake,权益证明机制),其原理这里不做赘述,感兴趣的读者可以参考这篇文章。简单来说,只要用户持有该网络的Token,就可以参与记账。

另外,代币持有人作为利益相关者也更有动力维护网络的安全。PoS 机制同样也能达到比特币的随机性、安全性和代币分发等功能,而且相比于PoW 来说显得更加去中心化(前提是代币初始分发足够分散)。中本聪在设计PoW 共识机制时并没有想到会有矿机的出现从而使得比特币越来越中心化,而PoS 的挖矿根本不需要使用矿机,只需要一台普通电脑、树莓派就可以参与。

除此之外还有几种共识机制比如DPoS(代理权益机制)选出一些代理人来进行记账。pBFT,dBFT 等则是改进后的拜占庭容错机制解决方案。这几个共识机制虽然效率较高,但都比较中心化的,容易导致一些中心化的问题。对于计算节点比较少的网络,甚至一个节点挂掉都有可能导致整个网络瘫痪,但这些在比特币或者Qtum 上都没有发生过。

Qtum 项目出于去中心化程度和能源消耗方面的考虑,选择采用PoS 共识机制。

01、关于PoS 的误解

关于PoS 共识机制,大多数人的理解还停留在其最原始的版本,即PoS1.0。实际上PoS 共识机制已经经历过3 次大的迭代:

• PoS1.0 :依赖“币龄”,长期不在线,双花问题等;

• PoS2.0 :移除“币龄”,增强安全性;

• PoS3.0 :针对“short-range”攻击,采用区块时间和交易时间确认UTXO 的“年龄”。

“币龄”这个概念其实早就从共识机制中移除,现在的PoS3.0 系统已经可以解决很多初始版本遇到的安全性问题,甚至在抵抗51% 攻击上比PoW 系统更具优势。

02、PoS + 智能合约带来的问题

Qtum 没有直接采用PoS3.0,不是因为共识机制本身有问题,而是由于PoS 和智能合约的结合可能带来潜在的攻击可能。攻击者可以通过支付比较昂贵的gas 发起一系列“垃圾合约”。

虽然这将消耗很多的gas,但由于矿工可以获得交易中的gas 作为奖励,只要攻击者的合约设计得当,就能保证其他节点无法正常处理该交易,而攻击者则可利用先验知识成为区块的生产者,从而将攻击成本全部收回,实现零成本的DoS 攻击。

但是为何现有用PoS 共识机制的区块链项目就不会有这个问题,因为它们大部分只支持非图灵完备的脚本语言,无法支持上述的“垃圾合约”(实际上需要循环操作)。但是在Qtum 上既支持PoS,又支持智能合约,使上述攻击成为可能。

Qtum 的解决方案是:通过和其他节点分享收益并将收益延迟化,增加攻击的成本。Qtum 在PoS3.0 的基础上修改激励返还机制,实现了MPoS(Mutualized Proof-of-Stake)。

MPoS 的基本原理:每个区块奖励由10 个矿工平分,其余奖励延迟500 区块。即1/10 区块奖励立刻获得,其余9/10 奖励在500 个区块之后连续9 个块中获得。挖矿奖励=区块所得+ 手续费+ 运行智能合约gas 费用。

这个简单改进在不改变PoS3.0 的核心逻辑的前提下,使攻击者无法预测获得区块奖励的多少,也无法立即获得区块奖励,从而极大提高了发动上述“垃圾合约”攻击的成本(仅存在理论可能性,实际操作中完全无法实现)。

03、PoS 的实现细节

Qtum 的底层代码源于比特币,其采用的是PoW 共识机制。如何将PoS 应用到其中,并进一步实现MPoS 呢?Qtum 团队做了以下实现,供公链开发者参考,实现PoS 区块验证和挖矿功能,具体细节如下:

• 同时支持PoW 和PoS 区块,因为在初始阶段需采用PoW 生成初始代币,在一定高度后变为纯PoS

• 每个区块的stake modifier 都会发生改变

• coinage(币龄)不能改变PoS 哈希值

• 交易费不会作为共识规则

• 需要最近的500 个区块用于验证PoS,这里区块不宜太多,否则数据量太大难以处理

• 没有币龄概念,只需要币达到一定的确认数(如500 个区块)就可以进行PoS 挖矿

• 增加PoS 相关的共识参数:区块签名,区块类型(PoW 还是PoS),前一个stake 位置,以及staking 交易创建时间等

• 区块出coinbase 交易外(实际上coinbase 交易已经没有实际作用),还需要增加coinstake 交易,用于生成和分配区块奖励

• 接收区块时要检查区块头,因为处理PoS 区块时,需要处理重复哈希和孤块问题

• Staker 只需要才成功发现stake 后才继续处理交易,否则将导致交易被多次处理,特别是对于合约交易,多次处理可能会浪费大量时间,这点与PoW 区块的交易处理略有不同

• 由于AAL 引入了智能合约,PoS 区块的交易不仅需要估计交易本身自带的sigop 的大小,还需要考虑由于智能合约产生的“condensing 交易”所引入的额外交易,否则将导致有可能生成超过区块大小限制的交易,影响系统安全性。

关于MPoS 的实现细节包括:

• 发送给MPoS staker 的区块奖励必须来自于staking 区块• stake 交易必须包含至少10 个输出(outputs),1 个给区块创建者,9 个给MPoS staker

• stake 交易的第1 个10 个outputs 是共识相关的,必须准确地按照MPoS staker 挖矿的区块高度正确地排列,且创建者为第一个output

• stake 交易可以包含额外的outputs,例如,将一个大的staking UTXO 分成多个UTXO,input 也可以包含多个输入,比如讲零散的UTXO 自动合并成较大的UTXO。在第10个output 后,对于output 不应该有任何特殊的共识规则,只要交易的output 值不会41超过输入值+ 区块奖励+ 费用

• 前500 个PoS 区块不使用MPoS,因此区块的创建者获得全部的奖励,不需要使用前面的规则

点击阅读原文查看,Qtum 原始设计文档及源码

04、小结

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 ?

虽然EVM(以太坊虚拟机)是当下最流行的智能合约虚拟机,但正如绝大多数新生事物一样(比如Javascript),它存在诸多缺点。并且由于它的设计比较非主流,很难有主流的编程语言能够移植到EVM 上。这种设计可以说对于近50年来的大多数编程范例来说都不太友好。这里罗列一些其明显的缺点(详细描述可以参考这篇分析):

• 编程语言局限性(Solidity)

• 缺少标准库

• 256bit 整数,大部分处理器不能原生支持,运行效率降低• Gas 模型不合理,难以估计Gas 消耗

• 生成的bytecode 较大,浪费区块存储资源

• 难以测试和调试

02、Qtum-x86 虚拟机的设计目标

正因为EVM 存在诸多缺陷,Qtum 决定开发自己的虚拟机。x86 虚拟机兼容了被工业界充分验证过的x86 指令集,对基于x86 架构之上的所有技术和基础设施都有很好的兼容性。

Qtum-x86 的基本特性包括:

• 支持多种主流编程语言: C/C++/Go/Rust 等等

• 丰富的标准库,提高开发效率

• 更加优化的Gas 模型:为标准库函数设定合理的gas 模型,可以准确估计Gas 消耗

• 解锁AAL 的强大功能: 支持合约的P2SH 交易,segwit 交易等

• 冯 诺依曼结构,加强版的智能合约: 代码即数据,多任务协作,支持中断和恢复

• 第一类预言机:无需运行合约即可获得某些合约数据

• 区块链动态分析:更全面地分析区块链状态

• 选择性数据存储:节省宝贵的区块链上资源

• 清晰的依赖关系树:有可能并行运行智能合约,降低gas 费用由于Qtum-x86 还没正式发布,其具体设计文档暂时无法透入太多细节。但其设计目标的描述可以参考这篇文章。

03、小结

Qtum 的账户抽象层使兼容多虚拟机,使集成x86 成为可能。未来Qtum 将同时支持多种虚拟机,充分发挥不同虚拟机的优势。虚拟机是支持智能合约的区块链系统不可或缺的部分,Qtum 的x86 虚拟机无论从设计上还是实现上都对公链开发者有极大的参考价值。其发布后也可输出到其他区块链项目中。

Qtum 的可扩展性

上面已经介绍了Qtum 区块链的底层设计和实现。由于Qtum 兼容UTXO 以及EVM,使得很多已有的区块链相关技术都能够很容易地移植到Qtum 上,这些都得益于Qtum 优秀的架构设计。

下面的一些技术已经成功在Qtum 上实现,感兴趣的读者可以在https://github.com/qtumproject 上查看所有实现细节。

• Qtum 闪电网络

• Qtum 支付通道

• Qtum-IPFS

• Qtum-Plasma

• qtumjs

• QRC20,QRC721 等(与ERC20,ERC721 保持一致)

• Qmix(类似Remix)

• Qrypto (类似metamask)

总结

Qtum 是首个建立在UTXO 模型之上,采用PoS 共识机制和去中心化治理模式,且兼容多45 虚拟机的智能合约平台和价值传输网络。

1. Qtum 创新性的账户抽象层打通了以比特币为代表的UTXO 以及以以太坊为代表的智能合约生态,兼容大部分主流区块链项目的技术,可扩展性极高

2. Qtum 采用了PoS 共识机制,在保证去中心化的前提下解决了PoW 固有的能源消耗问题,并在此基础上进一步提高安全性,支持灵活的智能合约

3. Qtum 提出的分布式自治协议完成了去中心化链上治理,实现无分叉的区块链升级,未来可应用于更多场景

Qtum-x86 虚拟机支持主流的x86 指令集,将主流语言和主流开发工具引入到智能合约,开发领域,大大降低了智能合约和DApp 开发的门槛

4. Qtum 作为较早上线的主链,是典型的结合了区块链领域多种主流技术,并包含多项技术创新的公链项目,其良好的扩展性可以支撑后续技术迭代,同时也为其他公链项目的开发提供了良好的范本,其AAL,DGP,x86 虚拟机等都可以适配到其他公链项目,对公链开发者来说是很好的参考。

以上知识分享希望能够帮助到大家!