一文告诉你Zen Protocol为何比以太坊更快

导语:Zen Protocol 可同时处理多份智能合约,再加上独特的代币发行机制,让它拥有了超越ETH的潜力。

1.恼人的可伸缩性

可伸缩性(Scalability )是让任何区块链项目都十分头疼的问题。

理论上,比特币每秒最多可处理约7笔交易,但实际上只有3-4笔。目前以太坊每秒能处理约6笔交易,可理论上每秒最多可处理约12笔。比特币的区块通常满负荷运行,导致交易延迟。**以太坊在频繁使用时也面临着类似的问题 **——在2017年6月份的Status(英文缩写SNT,一个开源的聊天平台,以及是一个支持以太坊去中心化应用dApp的移动浏览器) ICO(inital coin offering)期间,以太坊的交易速度比平常慢了数小时。

以太坊代币(token)是运行在以太坊虚拟机(Ethereum Virtual Machine,以下简称EVM)上的,每一笔交易都会导致EVM状态改变,并且所有的交易只能按顺序依次处理。这就导致以太坊在交易吞吐量方面存在瓶颈——以太坊网络受到矿工运行智能合约速度的限制,智能合约一旦运行,就会导致EVM状态更新,最终导致以太坊处理交易速度降低。

2.拥堵的天敌——并行计算

计算领域中有一个重要概念是可并行性(parallelism) ,即同时执行多个任务的能力。以太坊网络不具有并行计算的能力,因为每一笔交易都会改变EVM的状态,并且后续也可能无法合并这些状态。没办法,以太坊网络只能一个接一个,依次处理每一笔交易。

Zen Protocol 没有像EVM这样的全网共享状态,这意味着我们可以并行处理智能合约。什么意思呢?

ZEN 和 ETH

假设现在有两份智能合约——α和β 需要处理。运行智能合约α需要271毫秒,β则需要463毫秒。如果我们只能按顺序依次执行智能合约,那么必须运行先α,再运行β。即先花费271毫秒,再花费463毫秒,整个过程需要734毫秒才能处理完毕。

如果可以并行处理智能合约,那么我们就可以同时启动α和β。也就是说,经过271毫秒后,α已运行完毕,同时,β仍在运行;又过了192毫秒,β已经运行完毕。至此,两份智能合约处理完毕。整个过程耗时463毫秒——和处理单个最耗时的智能合约时长一样。

这就是并行计算的优势。那如果我们想运行α100次,该怎么办呢?假如必须按顺序依次处理智能合约,那么将耗时27100毫秒,即27.1秒。而如果我们可以并行处理智能合约,那么整个过程仍然只需要27毫秒—— 足足快了100倍!

很明显,如果可以并行处理智能合约,就可以提高交易吞吐量。在所有条件相同的情况下,可并行处理的智能合约数量才是制约交易量的最大因素。如你所知,现代计算机已经拥有并行计算的能力,服务器也可以成百上千地同时运行。

当然啦,并非所有的交易都可以并行处理。而如果同一个区块中,一笔交易的处理必须要依赖于另一笔交易的处理,那么就只能按顺序处理这些交易。话说回来,这种处理方式也有它的好处,即这些交易不会影响其他单独交易的时间。正如其运行在类似以太坊这样的单线程处理环境中一样。

假设我们有三份智能合约要处理:α,β和γ,其中γ取决于β,这些智能合约分别需要耗时7,4和3毫秒。如果单线程处理,那么我们必须先运行α,然后运行β,最后运行γ,总共耗时14毫秒。如果可以并行处理这三份智能合约,那么我们可以同时启动α和β——在4毫秒之后,β已处理完毕并且开始处理γ;在7毫秒之后,全部处理完毕!

以太坊在 ICO时经常遇到交易延迟的问题,因为无论是什么智能合约,一旦运行都必将导致EVM的状态更新,进而导致交易网络用拥堵不堪。恰好Zen Protocol 没有类似的全网共享状态,因此在Zen Protocol 上发起ICO,其他不相关的交易就不会影响交易处理时间。

这种优势是巨大的。以太坊网络上的各种代币(除了以太代币ETH)都是EVM的一部分,这意味着更改帐户余额必须通过智能合约更改EVM的状态。

Zen Protocol 设计了一流的代币发行机制,即其他代币的运行方式与Zen Protocol 的原生代币完全相同。它们是UTXO(Unspent Transaction Output,即消费的交易输出),并且在Zen Protocol 网络上交易不一定都会运用智能合约——你可以像消费比特币一样消费它们,十分简便。

因此,在Zen Protocol 上智能合约可以并行处理,简单交易甚至不涉及智能合约。

仅凭这一点,Zen Protocol 已比以太坊的性能意见有了显著提升。但是,我们可以做得更好。

3.编译代码的优势

以太坊使用“燃料系统”为矿工支付运行智能合约消耗的计算资源,智能合约由EVM生成。为了使用以太坊智能合约,用户支付“燃料费”作为交易费用。

在执行智能合约之前,以太坊矿工会查找执行该合约的“燃料费”。如果用户支付了足够的费用,则矿工从用户支付的燃气费中减去执行该指令的消耗的费用,然后在EVM上执行该命令,最后EVM会更新状态。这个过程一直持续到用户支付的费用消耗完毕,或者矿工执行完所有智能合同。

在Zen Protocol 中,智能合约中包含着执行智能合约需要消耗费用的信息。当旷工我们执行智能合约时,不需要跟踪记录燃料使用情况,因为执行智能合约之前我们就知道了执行的成本。因此,我们不需要浪费时间查看燃料价格,检查剩余燃料,还得从剩余燃料中减去执行命令的燃料费用。

正因为不关心燃料价格,所以我们不需要将智能合约设定为一整套指令 ——只需要保留其源代码即可。基于此,我们不用像以太坊那样逐一按顺序执行智能合约指令,即我们可以让矿工编译(compile)源代码,而不是像以太坊那样解释(interpret)指令。

这里稍微解释下两者的异同:

编译(compile):即在整个程序源代码运行之前,将其翻译成为另外一种代码,然后等待被执行,产物则是另一份代码。
解释(interpret):即在运行程序时一行一行读懂然后执行源代码,产物是运行结果。

编译代码比解释代码快了几个数量级,并且编译代码也更容易自动优化。例如,有时可以用2个机器指令执行计算,而不是5条。编译时我们可能会自动进行此优化,但在逐个解释说明时则可能无法实现。

4.总结

总而言之,Zen Protocol 有如下优势:

  • 可以并行处理智能合约。即在所有其他条件相同时,我们可以在更短的时间内处理更多的智能合约;

  • 智能合约处理速度更快。即使是相同的智能合约,在Zen Protocol 上运行得更快;

  • 最后,Zen Protocol 拥有一流的代币发行机制常用的转移代币功能也不需要使用智能合约。


原文:https://blog.zenprotocol.com/zen-protocol-and-scalability-e0f9bf8483b8,作者Asher Manning,翻译:谢行知

如果觉得文章不错,欢迎打赏哦~~ ZEN钱包:

zen1qsa2qkrgx0vp3e0tnngx6apae92fuchpctjt6n8gdjr375gclnqusqcam2g


©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335

推荐阅读更多精彩内容