以太坊是一个专门为开发和运行去中心化应用(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. 13 Tensorflow机制(翻译)

    代码: tensorflow/examples/tutorials/mnist/ 本文的目的是来展示如何使用Tensorflow训练和评估手写数字识别问题.本文的观众是那些对使用Tensorflow进 ...

  2. thinkphp自动验证分析

    thinkphp有一个自动验证的方法验证规则如下 array( array(验证字段1,验证规则,错误提示,[验证条件,附加规则,验证时间]), array(验证字段2,验证规则,错误提示,[验证条件 ...

  3. Tomcat8源码笔记(五)组件Container分析

    Tomcat8源码笔记(四)Server和Service初始化 介绍过Tomcat中Service的初始化 最先初始化就是Container,而Container初始化过程是咋样的? 说到Contai ...

  4. Eclipse中Maven插件的使用技巧及原理

    原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/6698699.html 题目有点大,这里只是自己对Maven插件的一些使用总结,可能会涉及到 ...

  5. HDFS简单测试

    使用Hadoop的Java客户端API操作分布式文件系统#获取文件系统实现//hdfs://master01:9000/FileSystem get(URI uri[,Configuration co ...

  6. React Fiber源码分析 第三篇(异步状态)

    先附上流程图~ 调用setState时, 会调用classComponentUpdater的enqueueSetState方法, 同时将新的state作为payload参数传进 enqueueSetS ...

  7. 使用Task异步执行方法_多线程_应用程序池

    偶然遇到在执行登录的方法需要发送消息队列导致登录时间过长的问题,从网上查了一些方法,先将一个简单的异步处理程序的小例子展示出来,供大家参考: 备注:该方法是从应用程序程序所在的线程池中获取线程,第一次 ...

  8. sqlserver count(1),count(*),count(列名) 详解

    sqlserver数据库 count(1),count(*),count(列名) 的执行区别 count(*)包括了所有的列,相当于行数,在统计结果的时候,不会忽略列值为NULL count(1)包括 ...

  9. echarts tab 切换问题整理

    一.bootstrap tabs 解决方案 方式一 tab切换echarts无法正常显示 https://blog.csdn.net/cjs68/article/details/78072382 ta ...

  10. Could not get JDBC connection

    想学习下JavaWeb,手头有2017年有活动的时候买的一本书,还是全彩的,应该很适合我这种菜鸟技术渣. 只可惜照着书搭建了一套Web环境,代码和db脚本都是拷贝的光盘里的,也反复检查了数据库的连接情 ...