以太坊是一个专门为开发和运行去中心化应用(DAPP)搭建的智能合约平台;EOS与以太坊类似,同样是基于智能合约和区块链而搭建。但是,从技术和设计理念等方面来看,这两者之间实际上存在明显的区别。

那么EOS和以太坊到底有什么区别呢?

这个问题要从以下几个个角度来分析:

1.设计理念不同

EOS 和以太坊之间最关键的区别是它们设计理念不同。以太坊是一个应用不可知论者,也就是说它被设计为一个对于所有潜在的应用中立的平台。以太坊在github上的设计原理文档中如此说道:以太坊“没有特性”,拒绝在协议中加入即使是常用的高级别的用例。这使得应用没那么臃肿,但是它依然要求不同的应用重用代码。但是如果平台本身提供了那些常用的功能,将能提高应用开发者的效率。 于此相反,EOS意识到不同的应用都需要一些相同的功能,EOS就提供了这些功能,比如加密的实现,区块链通信工具的应用。基于这种理念,EOS将包含以下特性:基于角色的许可功能,用于开发界面的一套web工具,自描述接口,自描述数据库,声明式许可scheme。
就我的理解,EOS提供的这些功能将大大简化用户账号的生成与管理,以及像账号恢复这些安全问题。

2.共识机制不同

EOS和以太坊之间的另一个显著区别是区块链共识机制,以太坊使用的是工作量证明机制(类似按劳分配),而EOS将使用DPOS授权股权证明机制,类似于董事会,董事会成员数量有限,由大家选举产生,被选中的董事会成员可以行使权利。

3.性能等方面

目前以太坊网络受限于CPU的单线程性能,经过优化,可以达到50次 或 100 次交易/秒。然而,在实际应用中,以太坊网络的交易差不多是10次交易/秒,甚至更少。在网络拥堵时,只有交易费用高的交易能够执行,导致普通用户无法完成交易。虽然Vitalik Buterin已经拿出了实现“无限扩展”的路线图,但是,数据库分片的技术无疑会增加网络的复杂性,同时可能会降低网络的安全性。
而EOS将使用并行技术来拓展网络,处理能力将到达每秒百万笔交易。将达到最终可以支持每秒执行数百万个交易,并且没有交易费。一旦实现,EOS将成为能处理真正商业级去中心应用的唯一平台。
总的来说,EOS还是被看好的。如果预期目标可以实现,那它将在区块链领域大有作为。

EOS与以太坊有哪些区别?的更多相关文章

  1. 为什么比特币和以太坊未必真得比EOS更去中心化?

    在区块链行业里,有两派人一直在争论:一个是以比特币和以太坊为首的社群,另一个是以EOS为首的社群.这两群人一直在争论谁才是真正的未来,双方都认为自己这边更有未来.其中EOS抗争的重点就是100万TPS ...

  2. [转]NEO与以太坊:为什么NEO可能是2018年最强的加密货币

    本文转自:https://baijiahao.baidu.com/s?id=1591291802129464257&wfr=spider&for=pc NEO,它可以与以太坊竞争吗?N ...

  3. 以太坊虚拟机EVM 和EOS 虚拟机的劣势!

     EVM: 01 智能合约设计层面 缺乏标准库支持:EVM缺少完善的标准库支持,甚至最基本的string类型支持,在EVM中都很鸡肋,例如字符串拼接.切割.查找等等都需要开发者自己实现.带来的后果就是 ...

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

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

  5. 美图DPOS以太坊教程(Docker版)

    一.前言 最近,需要接触区块链项目的主链开发,在EOS.BTC.ethereum.超级账本这几种区块链技术当中,相互对比后,最终还是以go-ethereum为解决方案. 以ethereum为基准去找解 ...

  6. 以太坊挖矿源码:ethash算法

    本文具体分析以太坊的共识算法之一:实现了POW的以太坊共识引擎ethash. 关键字:ethash,共识算法,pow,Dagger Hashimoto,ASIC,struct{},nonce,FNV ...

  7. 以太坊开发DApp入门教程——区块链投票系统(一)

    概述 对初学者,首先要了解以太坊开发相关的基本概念.   学习以太坊开发的一般前序知识要求,最好对以下技术已经有一些基本了解: 一种面向对象的开发语言,例如:Python,Ruby,Java... 前 ...

  8. 以太坊智能合约虚拟机(EVM)原理与实现

    以太坊 EVM原理与实现 以太坊底层通过EVM模块支持合约的执行与调用,调用时根据合约地址获取到代码,生成环境后载入到EVM中运行.通常智能合约的开发流程是用solidlity编写逻辑代码,再通过编译 ...

  9. Hyperledger Fabric、Corda和以太坊对比

     Hyperledger Fabric . Corda 和以太坊的对比 三种不同的框架 我们从 Hyperledger Fabric.R3 Corda和以太坊的白皮书中可以看到,三种框架在可能的应用领 ...

随机推荐

  1. Web Service 部分内容简述(2)

    1. CORBA是什么?用途是什么?  CORBA 标准是公共对象请求代理结构(Common Object Request Broker Architecture),由对象管理组织 (Object M ...

  2. 简单快速的让你的json解析速度快上加快

    背景 最近小编在做公司的一个需求.要求是把系统内的一些大型文本文件上传到第三方那里,而且第三方要求的交互数据的方式是采用post请求发送json串的形式进行的. 问题 做到中途才发现问题,由于单个文本 ...

  3. 彻底弄懂 Unicode 编码

    彻底弄懂 Unicode 编码 今天,在学习 Node.js 中的 Buffer 对象时,注意到它的 alloc 和 from 方法会默认用 UTF-8 编码,在数组中每位对应 1 字节的十六进制数. ...

  4. js forEach跳出循环

    假设当我们只需知道某个数组有没有某个属性,如果找到了直接跳出循环,省略掉剩下的循环步骤是较优化的操作,但是for中是可以利用break跳出循环,但break在forEach中无效,那么forEach能 ...

  5. 乐观锁机制解决多层嵌套异步ajax问题

    前言 在项目中我们通常需要使用ajax异步嵌套去请求数据并做数据的展示,当我们多次快速的多次的发起ajax,因为ajax是异步的,每个ajax触发回调的时间都是不可控的,这样就会造成前面发起的ajax ...

  6. YARN集群的mapreduce测试(一)

    hadoop集群搭建中配置了mapreduce的别名是yarn [hadoop@master01 hadoop]$ mv mapred-site.xml.template mapred-site.xm ...

  7. C#比较两个对象是否为同一个对象。

    两个对象是否为同一个对象:是看两个对象是否指向堆中的同一块内存. 1.使用object.ReferenceEquals() class Program { static void Main(strin ...

  8. SQL 常用的判断、连表、跨库、去重、分组、ROW_NUMBER()分析函数SQL用法

    常用的SQL 由浅入深 大致上回想一下自己常用的SQL,并做个记录,目标是实现可以通过在此页面查找到自己需要的SQL ,陆续补充    有不足之处,请提醒改正 首先我创建了两个库,每个库两张表.(工作 ...

  9. C# CLR via 对象内存中堆的存储【类型对象指针、同步块索引】

    最近在看书,看到了对象在内存中的存储方式. 讲到了对象存储在内存堆中,分配的空间除了类型对象的成员所需的内存量,还有额外的成员(类型对象指针. 同步块索引 ),看到这个我就有点不懂了,不知道类型对象指 ...

  10. [PHP] 多进程通信-消息队列使用

    向消息队列发送数据和获取数据的测试 <?php $key=ftok(__FILE__,'a'); //获取消息队列 $queue=msg_get_queue($key,0666); //发送消息 ...