这两个项目之间有许多共同性, 但同样有一些重要的差异。首先,两者都是在区块链技术上实现的去中心化的分类帐本及智能平台。在这方面他们非常相似,但两者的不同主要建立在以下四个方面: 治理方式、智能合约、大众共识和哲学层面。

1. 治理方式

比特币会为了升级网络或者为了纠正预知到的问题而分叉,Ethereum不想走这条路。Tezos同意Ethereum将关注点着重放在让协议保持动态不断发展这个理念,但是Tezos有自己不一样的发展方式。在Tezos里,协议升级的请求会提议在区块链上,同时依据现有的治理方法让XTZ持有者进行投票。如果这个提议被采纳,那么这个提议会被编译并自动转移到Tezos的测试链中进行测试。经过一段时间的测试,即会举行确认投票。如果投票也成功,那么这个测试会自动晋升为主要网络的一部分。

这种方式让我们的升级很好的避免了硬分叉。

Ethereum认为用户跟随协议升级很重要,而我们认为这种方式是有问题的,原因如下:

a.一个开放的自由选择,用户会选择他们所认为的“合理合法”的选项,而不是他们认为最好的那个选项。事实上,这给了开发团队和Ethereum基金会巨大的核心集中权力。这种动态称为一个“凯恩斯的选美比赛”

b.随着系统的成熟, 用户会逐渐变成被动的社区成员。这样会导致分叉的协调会越来越难。这样的偏见会导致一些趋向停滞的负面影响。一定数量的偏见会导致需要保守的协议升级,但是我们宁可让利益相关者作出精确的升级选择也比它被外部环境强迫选择升级的好。

2. 智能合约

类似于Ethereum,Tezos也拥有一个丰富的,图灵完备的智能合约语言,可以围绕智能合约发布令牌(token)。Ethereum的实现方式是建立一个非常低等级的虚拟计算机,EVM,然后在上面建立高等级的语言,其中最成功的是Solidity。

Tezos采取了不同的方法。我们的基本语言,Michelson,拥有两方面的低等级语言:它操控一个协议栈,类似比特币但同时不使用变量或指名功能还有高级语言的各个方面:它是静态类型,纯粹的功能,并可以提供发展路线,集合,列表,加密的原语,框架外的任意精度整数等特点。

Ethereum的虚拟计算机是尝试协议可能的中立和有效。它就是被设计成这样,顾名思义,一个“可视化机器”。而这是有代价的。基于Ethereum区块链的合约都存为EVM代码,由于对这种低水平的语言推理的复杂性使得代码很难被分析。虽然有可能附加solidity源代码,这不能保证每次两个源代码都准确的描述一个完全相同的合约。因为solidity不能进行认证。这样的话,任何细小错误都会导致创建出来的合约带有潜在性的灾难错误,例如:https://blog.golemproject.net/how-to-find-10m-by-just-reading-blockchain-6ae9d39fcd95

我们认为最聪明的合同只需要实现非常简单的业务逻辑extremely efficient

。合约的正确性远远比合约的高效性重要。即使合约需要大量计算,这些计算可以在线下执行,从而让智能合约去处理相对较轻的事务逻辑。

有人正努力试图用形式验证法去证实Ethereum合约的性质,但这样的努力需要克服EVM或者Solidity的巨大约束。而Michelson从一开始就设计好了形式验证的目标。

3. 大众共识

当Ethereum还在用POW(工作量证明)共识机制的时候,Tezos已经开始纯POS(持有量证明)共识机制了。尽管Ethereum正计划逐渐向POS共识机制转移,但其实这两种算法还是有很大不同。

Ethereum提出的pos算法设计依赖与一组绑在一起的验证程序去创建区块。这些验证程序依据他们执行的网络功能获得相应收益。这些收益最终会稀释其他的参与者持有币的价值。

Tezos的pos算法已经设计好了,所有XTZ币持有者会被要求去创建区块和依据持币比例随机接受收益。这意味着即使你拥有非常少的币也有机会去创建区块从而获益。这同时也意味着只有不参与共识算法的人的币的价值会被稀释,而不会影响所有人的币的价值。

4. 哲学层面

Tezos由一些哲学层面不同的方式设计

a. 精瘦协议 VS. 胖协议,代币

Ethereum目标是成为一个“精瘦的”协议层。用一个共识机制去激励EVM是为了开发真正的应用程序。这些应用程序通常会发行自己的令牌,或“XX币”。相比之下,Tezos致力于成为一个带有许多特性的“胖”协议层

虽然Tezos确实支持各种“币”的创建,但我们的重心不在这里。虽然这些应用程序可以创建一些令牌去激励智能合约创建,但他们也最终会稀释它的价值。在许多情况下,令牌会被硬塞进一个应用程序,而该应用程序其实不需要发行自己的令牌亦或这样也没有什么好处。我们不认为这是一个可持续的发展模式。

Tezos更倾向于通过协议的修正案去增加特性。例如,预测市场的本地支持可以被实现在协议层。一个开发者可以提出一项修正案来说明这种支持和附加一个发票在修正案上。如果修正案被采纳那么开发者将获得奖励。

b. 开发者社区

Ethereum设计的solidity类似于JavaScript,是为了吸引大量的开发人员的加入。我们不认为对智能合约来说这是一个适合的方法。智能合约需要小心仔细的发展,因为开发者的失误将影响整个平台的声誉。Tezos认为吸引适当数量的高级程序员来开发会更好。很多在用的应用程序可以直接在这些分类账本上创建合约而不需要利用智能合约去创建,为了这些应用程序方便使用,我们有一个JSONAPI。

总的来说, 以太坊给人们的印象是倾向于将开发人员视为他们的用户,而Tezos更关注于终端用户本身。

How is Tezos different from Ethereum?​www.quora.com

翻译:Tezos中文社区/Nancy

tez什么意思_Tezos 与 Ethereum 的区别相关推荐

  1. 区块链(1)——以太坊下载安装(我营销?营销个屁)

    安装地址就不发了,因为被提示营销广告,网上有很多自己去找吧 ```bash 我的系统是win10 64位版本,安装以太坊客户端 Mist-win64-0-11-0 Mist和Ethereum的区别:E ...

  2. 以太坊客户端Ethereum Wallet与Geth区别简介

    以太坊客户端Ethereum Wallet与Geth区别简介 最近有不少朋友在搭建交易平台,在咨询和技术交流的过程中发现很多朋友不太清楚Ethereum Wallet和Geth区别.甚至有朋友使用Ge ...

  3. Ethereum/mist项目下Ethereum Wallet和Mist的区别

    github页面 参考自 Mist DApp Browser (browser) Mist is the browser for decentralized web apps. What Mozill ...

  4. spark和tez的区别

    MapReduce MapReduce是一种编程模型,mapreduce是hive的默认执行引擎,用于大规模数据集(大于1TB)的并行运算.概念"Map(映射)"和"Re ...

  5. TEZ和MR简要区别

    首先看一下MapReduce的工作流程图 Tez工作流程图 从上面两个图可以看出,Tez可以将多个有依赖的作业转换为一个作业(这样只需写一次HDFS,且中间节点较少),从而大大提升DAG作业的性能.T ...

  6. Hadoop生态上几个技术的关系与区别:hive、pig、hbase 关系与区别

    Pig 一种操作hadoop的轻量级脚本语言,最初又雅虎公司推出,不过现在正在走下坡路了.当初雅虎自己慢慢退出pig的维护之后将它开源贡献到开源社区由所有爱好者来维护.不过现在还是有些公司在用,不过我 ...

  7. 【以太坊】web3.js的1.0版本和0.2.0版本的安装及区别

    一.前言 博主在安装web3.js的时候,偶然间安装了不同版本的web3.js,API操作也不相同,虽然都能达到目标,但是到底区别在哪呢?网上查找半天并没有人专门总结一下这块,所以今天斗胆总结一下,也 ...

  8. 【译】 Diving Into The Ethereum VM Part 6 - How Solidity Events Are Implemented

    在如何解读智能合约方法调用中,我们了解到"方法"是如何构建在简单EVM基元之上的抽象,如"跳转"和"比较"指令. 在本文中,我们将深入探讨S ...

  9. 集中和分散架构之间的区别_分散式应用程序架构:后端,安全性和设计模式

    集中和分散架构之间的区别 Decentralized applications, or ÐApps, require a special system design to achieve high s ...

最新文章

  1. 如何使用JavaScript Math.floor生成范围内的随机整数-已解决
  2. 40万总奖金!院士指导,顶级云服务免费用!2021全球高性能云计算创新大赛来了...
  3. Nat. Mach. Intell. | 基于神经网络的迁移学习用于单细胞RNA-seq分析中的聚类和细胞类型分类...
  4. GNU parted的指令說明[转]
  5. JZOJ 5393. 【NOIP2017提高A组模拟10.5】Snake vs Block
  6. memcached客户端_小水谈Memcache---Memcached安装
  7. mysql jpa总分数_JPA 查询COUNT示例
  8. 错误处理在Spring Integration中如何工作
  9. Google Reader 干掉了 RSS!
  10. Linux下安装Redis——菜鸟入门教程
  11. 3种常用的缓存读写策略
  12. java中手机号码的正则校验
  13. 读书笔记—做事坚定,做人柔软
  14. Android 程序框架设计
  15. ArcGIS_数字高程模型的建立
  16. Octave工具学习
  17. realplayer java,不同浏览器调用realplayer插件在线播放视频的有关问题,请大神们进来看看...
  18. Python装逼指南——五行代码实现批量抠图
  19. DSPack初次使用小结
  20. 记录一次爬虫接单项目【采集国际淘宝数据】

热门文章

  1. typecho 隐藏index.php,Typecho开启伪静态并隐藏index.php
  2. Kotlin学习笔记 第二章 类与对象 第三节接口 第四节 函数式接口
  3. Android笔记 ANR Application Not Response
  4. 基于Matlab的跨孔电磁波\跨孔雷达的直射线追踪(一)
  5. PyQt5学习笔记(二) 文本控件及使用
  6. matlab取矩阵实部和虚部,MATLAB中容易忽略却经常遇到的小技巧总结
  7. function 多个函数用一个_用递归函数和栈逆序一个栈
  8. python中级_python复习之中级
  9. Go编译exe可执行文件去掉运行时的CMD窗口
  10. Ubuntu 14.04 安装 WPS