Qtum量子链的基本特性及原理解析
时间:2023-09-22 14:16 来源:网络整理 作者:墨客科技 点击:次
新年伊始,CSDN 以“让区块链回归技术和应用的本质”为宗旨撰写《区块链开发者报告》包含技术扫描、公链选择指南,以及公链与应用开发实战 3 个部分。 其中公链与应用开发实战部分,Qtum 量子链中国区技术负责人——钟文斌,撰写了《公链设计与开发实践和开发细节》部分,讲述了 Qtum 量子链基本特性、设计初衷,以及在Qtum量子链项目中所运用技术的详细介绍,本文为上篇,包含以下部分: · 背景介绍 · Qtum 量子链的基本特性 · 账户抽象层 ― UTXO 和比特币脚本如何支持智能合约? · PoS 共识机制 公链设计与开发细节揭秘 作者:钟文斌 背景介绍 2018 年被称为“公链元年”,各种形形色色的公链如雨后春笋,一时间几乎所有项目都在开发各种各具特色的公链。Qtum 量子链作为国内最早的一批公链之一,在 2017 年 9 月上线了其主干网络,其全球全节点数仅次于以太坊和比特币,成为全球第三大去中心化区块链网络。 Qtum 兼容比特币和以太坊这两大生态,可以说集合了主流公链开发的所有技术,并且在此基础上提出并实现了多项技术创新。本文以 Qtum 为例,介绍了公链设计和开发需要注意的诸多细节,供所有公链开发者参考。 Qtum 量子链的基本特性 Qtum 是首个建立在 UTXO 模型之上,采用 PoS 共识机制和去中心化治理模式,且兼容多虚拟机的智能合约平台和价值传输网络。 为了读者有直观理解,先罗列 Qtum 区块链网络的的基本特性和参数 : 底层模型 :UTXO(Unspent Transaction Output) 区块大小 :2 MB 平均区块间隔 :144 秒 共识机制 :PoS(Proof-of-Stake,权益证明机制) 链上理论最大 TPS : 70~100 笔交易 / 秒 初始发行量 :100,000,000 QTUM 当前挖矿奖励 :4 QTUM,每四年减半 挖矿奖励总额 :约 7,884,000 QTUM(作为区块生产者奖励) 基础代码框架 :比特币 Bitcoin core 支持智能合约,支持 EVM,x86VM 等多虚拟机 支持去中心化链上治理机制 这些特性和参数的确定并非一时兴起,而是 Qtum 创始团队在综合考虑公链生态的现状、应用场景、技术可行性以及未来发展方向等因素之后确定的。在正式开始介绍各部分设计前,不妨先回顾一下 Qtum 设计初衷,有助于理解后续的许多实现细节。 Qtum 量子链设计初衷 Qtum 量子链的想法诞生于 2016 年,当时的比特币网络已经稳定运行了近 8 年,期间比特币账本从未出过一笔错账,足以看出比特币 UTXO,PoW 等设计的优越性。当时大部分项目都是对比特币的简单修改,本质上还是中本聪最初设计的雏形。然而比特币的美中不足之处在于其非图灵完备的脚本,无法支持真正意义上的智能合约。 Qtum 创始团队最初始的想法很简单 :让比特币支持智能合约。 然而,为什么团队创造了一条新的公链,并且具有如此多与比特币完全不同的特性呢?主要出于以下几点考虑 : 1. 出于安全性、稳定性、匿名性和可扩展性等方面考虑,选择 UTXO 模型,而不是账户模型 ; 2. 比特币的升级需要 Core 团队和比特币社区的共识,如此重大的升级几乎不可行,因此需要一条新公链 ; 3. 支持智能合约需要虚拟机,EVM 具有良好的生态,首先兼容 4. 不重复造轮子,并保持和比特币及以太坊两大社区的兼容性,复用比特币和以太坊部分代码 5. EVM 有其固有的缺点,因此 Qtum 也在自主研发更具兼容性的 x86 虚拟机 6. 同一条链上支持多种虚拟机,需要设计可扩展的账户抽象层 7. PoW 共识的缺陷,兼顾去中心化,因此采用 PoS 作为共识机制 8. 已有的区块链项目都缺乏有效的链上治理模式,需要设计一套去中心化治理机制。 简而言之,Qtum = UTXO+PoS+ 智能合约 + 多虚拟机兼容 + 去中心化治理,这与开篇提到的 :“Qtum 是首个建立在 UTXO 模型之上,采用 PoS 共识机制和去中心化治理模式,且兼容多虚拟机的智能合约平台和价值传输网络”完全吻合。上述设计涉及到较多技术实现细节,接下来我们详细解释。 Qtum 技术实现细节 01 账户抽象层 : UTXO 和比特币脚本如何支持智能合约? UTXO v.s. 账户模型UTXO(Unspent Transaction Output,未花费的交易输出)是比特币采用的底层账本模型。而以太坊则采用了账户模型。对于普通人来说,后者相对好理解,就是从一个地址到另一个地址,一笔 ETH 的传输,类似银行账户。 而比特币交易则相对复杂,它是由若干 input和 output 组成的,每个 output 包含特定”锁定脚本”,该脚本规定了该 output 的花费规则,提供符合规则的”解锁脚本“即可花费该 output,作为下一笔交易的 input。而尚未被花费的 output 就是 UTXO。比特币网络上的交易都是由 input 和 output 串联起来的。 UTXO 的优点在于 : • 安全性:解决双花问题的逻辑和处理方式都及其简单,且支持原生多重签名 • 匿名性:多入多出的交易,钱包可生成任意多个地址,每次生成新的找零地址 • 可扩展性:可并行处理,生成离线交易无需像以太坊一样维护 nonce • 轻钱包:SPV,支持轻钱包去中心化验证交易的合法性,特别适合移动设备 • 兼容性:兼容诸如闪电网络,跨链原子交换,隐私交易等其他基于 UTXO 的项目所采用的技术 UTXO 虽然有诸多优点,但当时基于 UTXO 模型的各种项目的底层脚本语言都是非图灵完备的,并且与以太坊虚拟机所采用的账户模型无法兼容。 (责任编辑:admin) |