【翻译】 以太坊的挑战者:量子链(QTUM)

原文:https://strategiccoin.com/the-ethereum-challengers-qtum/
译者:中山大学数学学院(珠海)林学渊
大二时给量子做的翻译,转载注明出处,谢谢

以太坊的挑战者:量子链(QTUM)

– Guest Contributor

Peter KeayICO Alert 的全球化总监,也是 Bitgenstein’s Table加密哲学播客节目的主持人。他是“以太坊的挑战者”系列作者。 这篇文章最初发表在这里。 该系列涵盖的其他竞争对手包括 RSKEOSCardano

很多加密货币用户和投资者都十分支持比特币或以太坊,甚至达到了“极端主义者”的程度。

极端主义者们认为,他们喜欢的币将占据市场主导地位并广泛应用,而所有其他加密货币最终都会消亡 - 或者只是作为主导币的测试网络。

有些人只看到辩论的幽默。

实际上,BTC和ETH货币是当今最重要的数字资产,而且在可预见的未来可能也是如此。 然而比特币和以太坊是完全不同的,它们的优点和缺点都不一样。

所以,在2016年,一个简单的想法诞生了:

如果加密货币同时拥有比特币和以太坊的优点会怎样?

以太坊经典和比特币现金的优势,个人看法。(The Cryptos漫画)

遇见 Qtum。发音为“Quantum”

译者注:发音和中文“狂腾”相近

Qtum 结合了比特币技术和以太坊技术。

在“以太坊的挑战者”的系列中,我已经为大多数挑战者做了一些相关概念的总结。 例如,我们讨论了图灵完整性和侧链与RSKPoS和DPoS与EOS,以及用Cardano的形式验证

自从 Qtum(请记住:在你的心里请读作“Quantum”)将其平台作为比特币和以太坊的结合来推广时,让我们来谈谈两个主要的区块链交易模型。 然后,我们将讨论 Qtum 的其他功能,包括一些近期的公告,并看看它如何处理我们的七大问题。

所以,首先是交易模型。比特币使用 UTXO 模型。 以太坊使用帐户模型。 Qtum 想两者都要。

UTXO 模型(BTC)vs. 账户模型

你是否曾把 BTC 从一个地址发送到另一个地址,结果在块浏览器中看到你的帐户实际发送了更多的BTC?

这是 UTXO 模型的工作原理决定的,但对于习惯帐户模型的人来说,这并不直观。 事实上,看你的地址,显然发送的 BTC 比告诉你的要多得多,这十分可怕。

我把它交给了美联储。

你习惯帐户模型,在那里你的帐户有余额。

例如,你的以太坊地址也是你的以太坊帐户。 你可以从余额中支出并接收余额付款。

虽然建议仅使用一次地址 - 出于隐私和安全的原因 - 实际上帐户模型会激励用户重复使用地址,因为这是最简单的用钱方式。

以太坊账户类型:以太坊有两种账户:由私钥控制的账户 - 如果你使用ETH,则为你所有 - 以及由合约代码控制的账户。
私钥帐户制作并签署要发送给其他帐户的信息,而合约帐户会在收到信息时激活其代码以执行各种交易(包括发送其他信息,签订合约以及读取或写入自己的存储)。请注意,区块链中的“信息”包括交易。

帐户模型使用类似于银行帐户的余额管理系统。

但是像比特币这样的 UTXO(Unspent Transaction Output,未花费的交易输出)模型是不同的。

用 UTXO 模型的感觉类似于你只用支票付款,一直持有直到你需要用掉它。

比特币是你最卑微的仆人。 并且把财富作为支票的内容。

正如你不能在银行只兑现支票的某一部分,而是必须兑现全部。在比特币里,一个地址收到一定钱后又只想只花掉其中一点,这样不行,它必须花掉所有的钱。

当你发送 BTC 时,你会花费 “vins” 并生成新的 “vouts”. UTXO 无法重复使用,所以通过花费 vins 并生成 vouts 后 UTXO 就被销毁了。

因此,如果你收到一个声称有 3.152 BTC 的 UTXO vin,然后发送 2.1 BTC,你实际上必须发送整个 3.152 BTC - 在这种情况下,作为两个 vouts:〜2.1给你的收件人和~1.052给你自己。 (小的采矿费会略微降低实际数量。)你收到的 3.152 BTC的 UTXO 已完成使命且无法重复使用,但 BTC 仍然存在于新的 UTXO 中。

在后台,你创建的 vout 脚本(发送)需要vin脚本的许可。 换句话说,为了花钱,你必须有一张有效的支票或多张支票,证明你过去收到过这笔钱(或者更多),并且支票一定不能撕掉。

因此,在帐户模型中,你的余额会被检查并借记和贷记,这不是比特币的工作方式。

如果你将BTC从Ledger钱包发送给其他人并在一个块代理商上检查交易,你可能已经注意到了这一点。

看似任意数量的BTC会被发送出去。 但你发送的实际金额将发送给收件人,剩余部分将转到一个你能控制的新地址。 你没有发送给收件人的BTC仍然是你的,但会被发送到新地址。

这是 UTXO 的工作原理决定的。 同样,如果你收到了两个分别为 1.1 BTC 和 0.8 BTC 的 UTXO,并且你想花费 1.3 BTC,那么两个 UTXO 都将 “被花费”,其余的将作为新的 UTXO 发送给你 - 在这种情况下,有 0.6 BTC,减去交易费用。

为什么这可能比简单的账户余额系统更好?

UTXO 模型激励用户限制他们对地址的重复使用,因为每次花费时 BTC 都会自动发送到新地址。

这样更安全,即使是对于量子计算(quantum computing)这样的进步也是如此,因为在你的地址开始使用之前,你的公钥不会泄露。 你的公共地址是公钥的哈希,而不是你的公钥本身,即使很多人错误地使用这些术语。 公钥和地址是相关但不同的东西。

仅仅因为有人知道你的地址并不意味着他们有你的公钥。 除非你透露了它。

但是,一旦地址开始花钱,该地址的公钥就会发布到区块链,因此理论上容易受到攻击,立刻就暴露了。 但是,如果地址的余额为空,即使成功攻击你的公钥也毫无价值 - 它发送到了你控制的新地址,并带有未公开的公钥 - 因此当BTC将“零钱”发送到新地址时,你将重新获得未知公钥安全上的好处。

一次性地址也具有隐私优势。 这种从地址到地址发送 BTC 的行为使得跟踪个人变得更加困难。 BTC 本身仍然可以很容易被跟踪,但在许多情况下,很难确定所涉及的大量地址的所有权。

其他代币以其他方式实现了类似或更高级别的隐私优势和安全性,不仅拥有这些优点,同时还保留了重复使用地址的便利性。 然而,这些代币在测试时间上没有比特币长,或者程度上没有比特币剧烈,并且他们的解决方案可能存在无法预料的复杂情况。

如果像以太坊这样的帐户模型加密货币的用户遵循仅使用每个地址一次的推荐做法,他们享有与UTXO提供的相同的安全和隐私权益。 但在比特币中,用户更有可能遵循这一最佳实践,因为它是默认行为。

附注:这些优点不适用于不再受欢迎的单地址钱包。 单地址钱包将UTXO的“零钱”发送回同一地址。
它们适用于其他两种主要类型:
1)随机生成新地址的钱包,现在也不常见。 当发送BTC时,用过的UTXO的“零钱”被发送到新的随机地址。 这是有风险的,因为如果钱包丢失,自上次备份以来生成的随机地址也将丢失。

而且,在至少一种情况下,密钥实际上不是随机生成的而是后来被盗。

2)能生成确定地址的钱包。 你今天用BTC的钱包可能会确定性地创建地址。 例如,硬件钱包和Electrum桌面钱包都是确定性的。 它们包含几乎无限的数学生成地址池。 无论何时发送BTC,这些钱包都会将用过的UTXO发送的“零钱”发送到新生成的地址。 确定性地址生成优于随机地址生成,因为一个种子可以重新生成所有相同的地址,从而提供更好的备份和恢复功能。

比特币的简单支付验证

UTXO模型的一个优点是 SPV,(Simplified Payment Verification,简单支付验证),允许客户端验证一个交易是否包含在一个块中,而无需下载和验证整个区块链。

简而言之,希望下载的数据更少,因为任何人一旦把钱用出去,UTXO输出就会被遗忘。

块标题足以进行验证,因为它们可以提供 Merkle branchas “包含证明(proof of inclusion)”在 Satoshi 的原白皮书中描述了 SPV 背后的想法,尽管不是所有的功能。

这种轻量级验证方法确实存在一些风险,但是 Bloom 过滤器和连接到多个节点而不是一个节点的各种措施用于缓解此方法带来的安全问题。否则,轻型比特币客户端联系的完整节点可能会有
1) 通过假装不存在的交易欺骗用户或
2)获得所需的数据轻松跟踪比特币用户。

结合两种模型:Qtum

Qtum 以 UTXO 模型及其 SPV 功能为基础运行,但增加了以太坊虚拟机 - 并且还支持其他虚拟机,我们稍后会介绍。

此外,尽管 UTXO 模型(BTC,BCH,LTC和DGB都是UTXO代币的例子)不支持退款,但 Qtum 可以通过创建新输出来退款。 在以太坊设置 “gas 限制” 并获得所有未使用的有作用的 gas 退款,因为以太坊没有运行在 UTXO 模型上。 但Qtum已成功启用此退款功能,即使它基于比特币的交易模式。

使用比特币运行,Qtum 可以轻松采用比特币开发,如 SegWit 和闪电网络(Lightning Network),以及之后的比特币改进建议

使用以太坊的虚拟机运行,允许 Qtum 支持 Turing 完整的智能合约,这是比特币无法支持的。

为什么比特币脚本不够用

比特币的智能合约能力非常有限 - 尽管 RSK 和 CounterParty 正致力于以不同的方式在比特币区块链上实现智能合约。

特别是,比特币的脚本语言没有循环功能。 根据给定的变量,代码不能执行多次。 这一点或其他因素使比特币语言只能完成最简单的任务。

因此,Qtum 通过在比特币代码之上允许以太币虚拟机,在比特币代码库上实现图灵完备脚本 - 尽管不在实际比特币区块链上。

为了做到这一点,它中间需要多一层。

Qtum 帐户抽象层

为了使智能合约虚拟机及帐户模型适用于比特币的无帐户UTXO模型,Qtum包含了一个“帐户抽象层”。正如你可能想象的那样,让基于帐户的系统在无帐户底层上运行需要在 AAL(Account Abstract Layer,用户抽象层) 做一些复杂工作。

最终结果是为用户提供了 UTXO 和开发人员优势的图灵完备的以太坊虚拟机的优势。

和区块链一样,它并不那么简单,但你 get 到了要点。

新操作码

操作码:代码行的一部分,用于标识将要执行的操作。 有关其他示例,请查看比特币的可用操作码。 这些操作码是比特币脚本语言的所有功能。

寻求为比特币添加智能合约功能的解决方案,例如 RSK,通常需要一些新的操作码,且需要比特币来升级其代码。

Qtum 不需要比特币分支来添加新的操作码,因为它已经将比特币的代码分配到一个新项目中,因此能够简单地添加新的操作码。

技术说明:Qtum仍然使用比特币脚本语言,但是三个新的操作码使虚拟机能够在此基础上运行

  • OP_EXEC:执行特定的以太坊虚拟机字节码。
  • OP_EXEC_ASSIGN:与上述相同,可以包含合约地址和合约数据。它可选择将资金转移到智能合约上。
  • OP_TXHASH:推送当前执行的交易的ID哈希。
    Qtum 必须允许智能合约在添加到区块链时立即执行,因此前两个操作码将以特殊优先级进行处理。

通过添加这些操作码及帐户抽象层,Qtum 成功允许比特币代码库支持以太坊虚拟机。

现在,任何以太坊应用程序都可以在Qtum上运行,并享受UTXO基础带来的好处。

但是等等……还有更多。

权益证明,模板和向后兼容性

Qtum对以太坊虚拟机的实现并不意味着它包含了以太坊的局限性。

像比特币一样,以太坊是建立在工作量证明之上的。节点消耗大量能量,首先解决非常困难的难题,并声称采矿奖励。我们在EOS第2章中里讨论了的共识模型,包括工作量证明。

Qtum取而代之的是建立在 Peercoin(PPC)之上的 Proof of Stake 模型,这是第一个使用赌注模型生效的加密货币。

Qtum延续了用权益证明征服强大神仙的悠久传统。

Stof of Stake共识模型允许Qtum在没有高计算能力需求和每秒更多交易数的情况下运行。

如果您想详细阅读有关权益证明的信息,特别是与工作量证明相比较,我推荐以太坊团队成员撰写的文章。 不可否认,许多其他货币已经转移到了权益证明,以太坊计划在某些时候部分或全部这样做。

Qtum 还在实施模板以简化 dApp 开发 - 这是 NEM 等备选方案的重点,也是通过Crowd Machine 等项目引入以太坊的。

Qtum确实提供了一项功能,与 PoS 和模板不同,以太坊很可能永远不具备:向后兼容性。 Qtum 节点即使没有完全更新到最新版本的 Qtum,也可以参与共识。

Qtum X86 虚拟机

Qtum AAL最着名的是允许使用以太坊虚拟机,但它也允许用其他虚拟机。

在5月23号,即本文发布的几个星期前,Qtum在韩国 Qtum X86 虚拟机会议上做了一个演讲。X86 VM 允许开发人员使用许多不同的编程语言。提到的C和C++已经支持了,其他像Rust, Python 和 Go 正在路上。

目前的Qtum路线图将 X86 集成放在 2018 年末。

Qtum Enterprise(Qtum X)

Qtum Enterprise(Qtum X)也在同一个5月23日的会议中描述,是一项旨在吸引企业的新举措。 Qtum X 将是一个权威证明(Proof of Authority)系统,允许每秒更多的交易。

Qtum X 和 Qtum 是独立的产品,至少目前是这样。 我还没有找到关于这两种产品是否可以互通的任何信息,即它们是否将共享相同的货币。

宣布之后可能还需要很长时间才能获得许多细节,特别是英语版,所以如果有读者有更多信息,我会十分感谢分享。

连接到世界

除了Qtum X和X86虚拟机之外,Qtum还有许多其他项目正在开发中,旨在吸引开发人员和企业加入Qtum生态系统。

API。 模板。 功能齐全的SDK。 原子交换。 Qtum 卫星。

原子交换:将一种加密货币交易给另一种货币而不涉及任何第三方。 在典型的原子交换中,在一个区块链上启动时间锁定的智能合约。 如果另一方未在规定时间内交付所交易的货币,则该交易将被取消。

是的,我不是在开玩笑说卫星。 与Nexus一样,Qtum计划与SpaceChain合作发射卫星。 看来,与前者相比,Qtum在审查阻力之后,主要是在现阶段拉动宣传噱头 - 正如他们所说的那样,“无可争议地证明了我们决心成为世界领先的加密货币和区块链平台。”

好吧,让我们把话题带回地球。

Qtum如何回答我们的七大问题?

1.可扩展性

由于它是从比特币和以太坊构建的,因此Qtum每秒没有大量的交易。 权益证明(Proof of Stake)有助于实现 SegWit,将 TPS 提升至 60 左右。截至我看到的最新信息,Qtum 未来的可扩展性开发可能包括脱链渠道抑或类似于以太坊提议的分片的功能。 Qtum Enterprise(Qtum X)将使用授权证书来实现更高的交易吞吐量。 目前尚不清楚Qtum X和Qtum将如何或是否将在此时集成,但由于其可扩展性优势,企业可能对Qtum X感兴趣。

2.治理

Qtum的股权证明,最初建立在PeerCoin开创性的PoS代码之上。Qtum确实有一个分散治理协议(DGP)。 Qtum X 将在权威证明上运行。

Qtum区块链基金会指导DGP范围之外的决策。

3.开发复杂性

虽然Qtum可以使用以太坊的EVM和Solidity,但新的Qtum X86虚拟机还是会允许 C 和 C++ 和之后其他语言比如 Ruby, Go, Python. 与以太坊不同,Qtum的EVM始终向后兼容。

eSML是Qtum的计划语言,具有正式的验证能力。我们在episode #3 (Cardano)讨论了正式验证。正式验证是 Cardano 的主要关注点。 公平地说,一些第三方解决方案以及可能即将推出的 Casper 也将为以太坊引进正式验证。

4.时间轴

Qtum 很活跃,新的 X86 虚拟机将在今年晚些时候集成。 Qtum X(Qtum Enterprise)项目时间表在撰写本文时尚不清楚。

5.广义特征

如上所述,模板计划为应用程序开发人员提供通用功能,减少重复性工作和错误倾向。 除此之外,尚未出现广义特征。 随着X86虚拟机的集成,我不会惊讶于看到许多有趣的功能。

6.可采纳性

几个基本的 Qtum 可采用性功能已经到位,例如 Ledger 钱包集成,但由于以业务为中心的 Qtum X 仍处于早期开发阶段,我怀疑我们不会知道最终的 Qtum dApp 生态系统以及后来的游戏有多么对用户友好。

Qtum 确实有交易费用,但是像以太坊的费用一样,它们可能最终会被企业从用户那里抽象出来。 我没有找到有关 Qtum 上人类可读的地址计划的信息。

7.市场地位

据我所知,Qtum没有像我们迄今为止讨论过的大多数解决方案那样大的开发者社区。 然而,在Qtum上运行了一些dApp和ICO。 如果Qtum区块链基金会能够在加强Qtum营销的同时快速实现计划中的X86 VM,Qtum X和更多功能,那么它可能会使它们成为强大的以太坊挑战者。

当然,随着我们通过市值进一步向下移动,我们应该期待看到处于早期阶段的项目。 他们根本没有顶级项目那么多的嗡嗡声 - 也没有多少钱。

Qtum带来了其他智能合约平台的许多优势,以及它自己的一些重点。 因此,尽管我大声地认为Qtum确实需要一个新的标识,但我很高兴看到该项目的去向。

毕竟,在NEO的第4集中,我们讨论了中国项目在中国的表现如何比外国项目更好。 事实上,好多了。 中国的强大优势可能会使Qtum成为以太坊的严峻挑战者。

与本系列中的所有平台一样,我将密切关注 Qtum 及 X86 VM 和 Qtum X 的发布。

让我知道你对Twitter上Qtum的看法

当前网速较慢或者你使用的浏览器不支持博客特定功能,请尝试刷新或换用Chrome、Firefox等现代浏览器