首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

浅析以太坊(3)——比特币和以太坊对比

上面两篇文章,我从比特币的局限性和以太坊更广的应用场景,来浅析以太坊。这篇文章,我将从其他方面更直观的对比以太坊和比特币。

比特币和以太坊模型架构

从左边图中,我们可以看到:

比特币的底层是一个数据库,采用UTXO的方式进行记账

再往上一层,是P2P的网络

然后是工作量证明POW以及密码学打造的共识层

再往上是脚本层,我们在这一层可进行一定程度的可编程的金融

最上面一层,就是比特币,我们所交易的BTC

右边的图中,是以太坊相对于比特币的改变:

首先,在数据库这一层,以太坊没有采用UTXO的方式进行记账,而采用了传统金融账户余额的记账方式

再往上和比特币一致,是P2P网络层

再往上,在区块获得权共识上,与比特币的工作量证明机制不同,以太坊采用工作量证明加权益证明的方式(完全的权益证明尚未实现)

再往上,与比特币的脚本语言不同,以太坊采用了图灵完备的语言,并打造了运行它的虚拟机EVM

最上面一层,也是我们日常交易中最可见的一层,即代币层。与比特币不同,以太坊这一层不仅有自己的代币ETH,还有通过智能合约层所建立的其他应用的代币,如DGD、REP、GNT等

接下来,我将简单说明比特币和以太坊的底层分布式账本和共识机制的区别。

UTXO(未花费的交易输出)和账户余额

UTXO是Unspent Transaction Output,中文译为未花费的交易输出。

假设Alice想给Bob发送11.7BTC。事实上,Alice不可能正好有11.7BTC。假设,她能得到的最小数额比特币的方式是:6+4+2=12。所以,她可以创建一笔有3个输入,2个输出的交易。第一个输出的面值是11.7BTC,所有者是Bob(Bob的比特币地址),第二个输出的面值是0.3BTC,所有者是Alice自己,也就是找零。

账户余额

与UTXO模型不同的就是账户余额模型,它跟现实世界中的银行账户非常相似,以太坊就使用了账户余额模型存储区块链中的数据。相比于 UTXO 模型,账户余额模型更加容易实现和理解,如果忽略很多 Ethereum 的实现细节,那么在整个网络中只存在三种对象:账户、交易和区块。

账户余额模型是一种非常容易理解的区块链应用模型,它与我们生活中的账户模型非常相似,只是为了保证账户的安全,使用了签名以及 nonce 的机制阻止恶意的攻击。这种基于账户余额模型的应用包含了一个包含所有账户余额的全局状态,在进行转账时,需要由节点对账户的余额进行验证,判断当前账户是否有足够的ETH进行转账。

PoW vs PoS

PoW(Proof of Work)工作量证明,通常只能从结果证明,因为监测工作过程通常是繁琐且低效的。

比特币的共识机制就是PoW机制,一个符合要求的区块哈希值由N个前导0构成,零的个数取决于网络的难度值。PoW依赖机器进行数学运算来获得记账权,资源消耗大、共识机制高、可监管性弱,同时每次达成共识需要全网共同参与运算,性能效率较低,容错性方面允许全网50%节点出错。

目前比特币已经吸引全球大部分的算力,其他再使用PoW共识机制的区块链应用很难获得相同的算力来保障自身的安全;挖矿造成大量的资源浪费;共识达成的周期较长。

PoS(Proof of Stake)权益证明

以太坊的前三个阶段——Frontier(前沿)、Homestead(家园)、Metropolis(大都会)采用的是工作量共识机制。第四个阶段,即Serenity(宁静),将采用权益证明机制。

PoS的主要理念是节点记账权的获得难度与节点持有的权益成反比,相比PoW,其在一定程度上减少了数学运算带来的资源消耗,性能也得到了相应的提升,但依然是基于哈希运算,竞争获取记账权的方式,可监管性弱,容错性和PoW相同。

PoS在一定程度上缩短了共识达成的时间,不需要大量消耗能源去挖矿。但是,PoS所有的确认都只是一个概率上的表达,而不是一个确定性的事情,理论上有可能存在其他攻击影响。例如,以太坊的DAO攻击事件造成的以太坊硬分叉,而ETC随之出现,事实上证明了此次硬分叉的失败。

总结

以太坊协议最初是作为一个通过高度通用的语言提供如链上契约,提现限制和金融合约,赌博市场等高级功能的升级版密码学货币来构思的。以太坊协议将不直接“支持”任何应用,但图灵完备编程语言的存在意味着理论上任意的合约都可以为任何交易类型和应用创建出来。然而关于以太坊更有趣的是,以太坊协议比单纯的货币走得更远,围绕去中心化存储,去中心化计算和去中心化预测市场以及数十个类似概念建立的协议和去中心化应用,有潜力从根本上提升计算行业的效率,并通过首次添加经济层为其它的P2P协议提供有力支撑,最终,同样会有大批与金钱毫无关系的应用出现。

以太坊协议实现的任意状态转换概念提供了一个具有独特潜力的平台;与封闭式的,为诸如数据存储,赌博或金融等单一目的设计的协议不同,以太坊从设计上是开放式的,并且我们相信它极其适合作为基础层服务于在将来的年份里出现的极其大量的金融和非金融协议。

一个人走的快,一群人走的远!如果你也在关注区块链,欢迎来勾搭我们哟

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180728G1I3NU00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券