Qtum量子链的基本特性及原理解析(3)
时间:2023-09-22 14:16 来源:网络整理 作者:墨客科技 点击:次
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 的“年龄”。 (责任编辑:admin) |