Qtum量子链:选择比特币UTXO模型的原因及其优势

区块链资讯 发布在 链圈子 0 11516

编者注:量子链可谓是数字货币社区的明星项目。量子链白皮书一经发布,就受到来自社区的许多支持和鼓励,也吸引了许多技术大咖的目光,同时也不乏关于量子链项目的疑问。最近,量子链开发团队对一些重点问题进行了悉心解答,通过这些问题和解答,也希望能够加深你对量子链设计理念和设计精髓的理解。

疑问1:量子链是不是一个将比特币脚本语言拓展,并支持基于Solidity智能合约的又一个比特币分叉?

答:首先,量子链远远不止是所谓的“比特币的又一个分叉”。我们对量子链项目有清晰的愿景,并拥有在加密学领域最强大和专业的团队之一,并且得到商业领域很多公司和投资者的支持。我们的目标不局限于加密学领域,量子链将会是一个世界级的项目,而不仅仅是一个“分叉”这么简单。

相较于屡次爆出安全新闻和隐患的以太坊、比特股以及其他区块链系统,比特币系统是目前最成熟、稳定和安全的区块链平台。经过谨慎考虑,Qtum最终选择以比特币核心代码为基础,对量子链进行开发。此外,由于比特币拥有最强大的社区支持,量子链可以继续使用现有比特币的开发工具和软件。而其他的区块链平台甚至缺乏最基本的比如移动钱包,稳定的桌面钱包等软件。

同时,我们还使用比特币脚本作为以太坊虚拟机和常规交易的桥梁。因此可以说,量子链模型的设计非常完善,而且比想象的要复杂的多。

疑问2:没有找到令人信服的理由来说明UTXO和支持账户余额的智能合约孰优孰劣。这就像比较总账和明细账哪一个更有用,答案是根据情况而定。我认为量子链支持UTXO是因为它使用了比特币的分叉,把兼容UTXO称为量子链的特点只是一个噱头。实际上,由于需要使用SPV来处理UTXO的多种状态信息,这会极大的影响量子链的并发处理能力。此外,我对量子链如何实施钱包很感兴趣。如果是这样的话,Hyperledger既支持UTXO又支持账户余额不是更好吗?

答:我们选择UTXO仅仅是因为这是最好的技术,有很多文章极力想把Account模式打造成与UTXO模式一样的高性能和安全,然而事实并非如此。不多赘述细节,Account模式过于不成熟也过于简单,并且没有无法进行并发处理。它总是让我想到纸杯连线通话的交易模式。

图片1

对Qtum而言,使用Hyperledger的混合模式(hybrid model)将是一个错误的选择,因为它无法与比特币和以太坊兼容,而这正是我们在量子链中需要实现的目标。因此,我们在比特币核心团队和社区的开发成果基础上,并加以实施比特币改进计划BIP(Bitcoin Improvement Proposals),使得Qtum可以完美兼容比特币和以太坊。具体来说:

1)如果仅是在顶层开发一个简单的智能合约平台,则在以太坊上进行分叉更为简单方便;

2)SPV(简单支付验证)协议可以在UTXO模型上运行。而在以太坊上,并没有类似的协议,如果不下载整个链上交易信息或者信任第三方机构,即便一个简单的钱包应用也无法运行;

3)总体来看,比特币的UTXO模型经过了多年较为稳定的运行和测试,性能和安全性都有较大的优势。而以太坊的账户(Account)模型理解起来比较容易,但是需要考虑更多复杂的临界情况来防止双花(double spend)攻击和重播攻击(replay attack);

4)Qtum拥有强大的并发处理能力。尽管运行智能合约可以导致账户状态的改变,但是这些变化并不会直接储存在区块链上。相反,账户状态的变化可以看作是执行合约的所有操作和差异的总和。这导致了区块同步速度的下降(因为区块的处理速度要慢于比特币的处理速度),但带来的其他优势可以远远弥补同步速度上的损失。此外,目前UTXO组中只存储了合约代码和合约输出(尽管输出结果在首次执行后已经不再重要)。在后续的开发过程中,考虑到减少UTXO组所占存储空间,开发团队可能会将UTXO组中存储的数据移除;

5)量子链SPV模型与其他轻钱包的工作原理几乎一致。简单来说,轻钱包会下载区块头信息,通过P2P向全网节点发出数据请求(使用Bloom filter算法),从而得到钱包秘钥所对应的所有交易区块信息。Qtum目前已经支持SPV钱包之间进行资金往来。接下来,Qtum将实现为合约注资的同时,可以有选择性的传送数据或执行相关操作。在Qtum开发过程中,我们始终考虑到兼容性,因此无需扩展SPV模型,即可直接为Qtum所用;

6)对于Hyperledger,我并不是专家,观点可能有失偏颇,仅供大家参考。对于Qtum开发,Hyperledger模型可能是最糟糕的选择。因为与Hyperledger产生交互,必须支持夸克(Quirk)算法。并且,账本仅支持单一模型,UTXO或账户模型(尽管在发送信息和数据发面Hyperledger有更多的功能)。因此我并不觉得Hyperledge是一个好的选择。Hyperledge复杂的模型设计,提供了强大的算力,但同时也提高了应用落地的难度、安全考量和其他程序的使用门槛。

疑问3:为了支持Solidity字符串,Qtum对比特币脚本进行了扩展。在此之前,合约币(CounterParty,简称XCP)也在现有比特币公链上支持Solidity字符串的调用。所以为什么要开发新的公链呢?此外,Qtum是否需要持续的与Solidity编译器进行“sloc”同步,以保证其兼容性?

答:Qtum和合约币(XCP)完全不同。XCP使用了比特币区块链存储数据,XCP用户需要再此之上运行软件。XCP交易费的上涨和顶层软件开发极大程度上了影响了整个项目的进展情况。

而Qtum提供了一站式的解决方案,不会因任何一方的事故而影响其运行。

对于sloc同步,Qtum也考虑到了。量子链使用的是与以太坊相同的虚拟机(EVM),完全可以运行任何Solidity编译代码。如果EVM有更新,Qtum也会同步进行更新。

疑问4:目前已经有了以太坊、Ripple、比特币和其他数字货币平台,为什么还要设计新的数字货币平台?Qtum是比特币的一个分叉,而不是什么所谓的“桥梁”。

答:之前提到,Qtum并不仅仅是“比特币的一个分叉”。我们会尽最大的努力,将Qtum打造成为最好的数字货币。

Qtum确实是一个桥梁,将不同的科技连接起来。它结合了比特币和以太坊的优点,并且将两个社区有机的结合起来,而不仅仅是结合二者的货币价值(市场价值)。Qtum的出现打破了比特币和以太坊社区以及开发者之间的壁垒,并致力于满足于:1)想要运行以太坊智能合约,却担心以太坊账户模型的稳定性,和协议的不兼容(比如SPV);2)喜欢比特币系统,却对其无法支持智能合约的运行以及其他类型的交易而不满。有的数字货币团队为了获取短期利润而进行数字货币的开发。Qtum会全面谨慎的权衡投资回报率,并将Qtum打造成为最好的数字货币。

疑问5:比特币是10分钟,以太坊是18秒,Qtum的区块确认时间是多少?

答:以太坊18秒的区块确认时间有点夸大其词,并且导致了大量的空区块(进一步使以太坊的发展停滞);而比特币10分钟的区块确认时间对于一个智能合约平台来说又太长。综上,我们将Qtum的区块确认时间定为1到3分钟。

疑问6:我并没有深入了解量子链的PoS共识机制,它是否与Peercoin的DPOS共识机制相类似呢?而且币龄可能会被恶意节点滥用并实施币龄累计攻击(coin age accumulation attack)。此外,PoS没有解决long range攻击的问题,这点Bitfury和VItalik已经发表了数篇相关文章。

答:Qtum使用的是PoS v3.0,已经修复了之前版本的大量漏洞,包括币龄累计攻击。

综上所述,Qtum是一个基于PoS共识机制,结合了UTXO模型和以太坊虚拟机的智能合约平台,将现有的先进技术结合起来,打造一个全面的、出色的区块链一站式解决方案。

发文时比特币标准价格 买价:¥6095.00 卖价:¥6086.00
稿源:巴比特资讯(http://www.8btc.com/qtum-utxo) 版权声明: by nc" sa 作者保留权利。文章为作者独立观点,不代表巴比特立场。

评论:0

您需要登录后才可以回复 登录|注册