走进以太坊

作者: 南网 | 来源:发表于2018-07-12 15:41 被阅读32次

从2008年被首次提及到今日,区块链已经发展将近十年。在这段时间内,区块链依次经历了1.0,2.0,3.0这三个阶段,逐渐发展成熟,也逐渐流行。

区块链1.0时代中最主要的自然就是以比特币为代表的数字货币的应用。以比特币为代表的区块链1.0凭其分布式账本的原理、去中心化的特征给我们带来了极大的便利。所有的交易记录账本被公开,任何人查看每笔交易和记录都可以,而且每笔交易都可以追溯到源头,通过加密等算法实现其记录的不可更改性。但在这些便利的背面,同样存在不可解决的问题,比如由于缺乏对虚拟货币的监督导致ICO乱象频发,限于数字货币的交易和支付功能在现实生活中应用场景狭隘等。

在这些问题亟待解决的同时,以以太坊为代表的区块链2.0出现了。很多人说,以太坊的出现解决了比特币网络一些固有的问题和不足,那以太坊又是如何解决其不足的呢?了解其原因之前,我们先来认识一下以太坊是什么。

以太坊是运行在一个计算机网络中的软件,它确保数据以及称为智能合约的小程序可以在没有中心协调者的情况下被所有网络中的计算机复制和处理。简单来说,以太坊可以被称作“区块链+智能合约”。

举个例子,在区块链上,假设某天A向B借了100元,当发生这笔交易后,该交易记录即被记录并公开,区块链上其他人都可以知道这笔交易的发生。当归还期限到达时,A却否认与B的借钱交易,这时,其他人便可以作为公证人拿着自己的账本跳出来证实这笔交易记录确实发生了。在区块链1.0时,由于公开的分布式账本存在,A确实无法撒谎否认交易,但是为了赖账,A一直推脱不还钱,其他人也只能束手无策。而智能合约的存在就可以避免赖账事件的发生,当归还期限到达时,智能合约代码将自动执行,并把这100块划到B的账上。

从这个例子中,我们可以看出加入智能合约的以太坊相比于比特币更加灵活、智能化。这其中自然离不开智能合约的实现原理及更深层的技术架构。

刚刚提到智能合约是一段代码,更准确地说,它是一段被部署在分享的、可复制的账本上的代码,可以被计算机自动执行,它同时具备两个功能,一个是现实产生的合同,一个是不需要第三方的、去中心化的、公正、超强行动力的执行者。其实现流程主要有三个步骤:

构建:智能合约由区块链内的多个用户共同参与制定。协议中明确双方的权利和义务,开发人员将这些权利和义务以电子化的方式进行编程,并写下触发合约执行的条件。以上面借钱例子为例,那么这份智能合约中应包含归还的期限、金额等条款。

存储:编码完成后,智能合约便通过P2P网络扩散到每个节点,并存入区块链,即全网验证节点都会接收到这份合约。

执行:智能合约会定期检查触发条件,满足条件的事件将会推送到验证的队列中。例如A在约定归还时间前将钱还给B,这个事件就成了该合约的触发条件。区块链上的验证节点将对该事件进行验证以确保其有效性,当大多数验证节点对该事件达成共识后,智能合约将成功执行,并通知用户。

成功执行的合约将被移除区块,而未被执行的合约则继续等待下一次处理。

经过以上的解释,相信大家对智能合约有了一个较清晰的认识了。区块链2.0与区块链1.0相比区别就在于“智能合约”吗?简单理解,通常我们会把“区块链1.0+智能合约”称作区块链2.0。

区块链1.0技术架构图 区块链2.0技术架构图

但除此之外,在共识层上,以太坊相比比特币多出POS以及DPOS共识机制。PoW与PoS最大的区别在于,PoW在算法复杂度足够高的前提下,基本不需要太多的节点间互相通讯和确认,对代码的实现要求极低。而PoS对于多节点间一致性验证、防伪等要求较高,但是很大程度上可以沿用传统一致性选举的思路进行一定程度的优化。但随着集群内参与的节点增多,其效率开始变慢,因此,为了满足足够的吞吐量,使用PoS在进行选举时务必不能在成千上万个节点之间进行投票选举,而是应当在有限的集合范围内进行投票验证。这就是DPoS的核心原理。可见,区块链2.0在技术架构上的改进使得以太坊可以更灵活、共识时间更短。

区块链1.0是以比特币为代表的加密货币,具有支付、流通等货币职能。而区块链2.0则是以以太坊为代表的智能合约。对比发现,无论是比特币还是以太坊,其共同的特征都是完全去中心化的,所有数据都是公开透明的,都属于公有链。但是相比于区块链1.0单一的货币应用,随着以太坊区块链平台的出现,程序员们可以基于区块链2.0技术架构在区块链上开发出各种各样的应用。除金融类应用外,以太坊平台同样可以应用到其他诸如资产注册、投票、物联网这类对信任、安全和持久性要求比较高的应用场景。

以太坊的出现解决了比特币网络一些固有的问题和不足,那么以太坊是否会超越甚至说取代比特币呢。对于这个疑问,本人答案是否定的。以太坊确实解决了比特币网络的一些问题,但本质上,比特币网络和以太坊是完全不同的概念,两者是为了不同目的而创造的,并不存在竞争关系。比特币是一种价值存储手段,是一种全球性的、分布式的数字货币。而以太坊是属于智能合约类型的,是可编程的电子货币系统。两者概念不同,侧重不同,自然也就不存在竞争取代这一说法。

总的来说,虽然目前以太坊凭借智能合约解决了很多问题,但其安全性、隐私性等方面还依然存在问题。随着区块链的发展,相信以太坊也会随之发展,就如以太坊的创始人Vitalik Buterin所说,未来能打败以太坊的只有以太坊2.0。

相关文章

  • 走进以太坊

    从2008年被首次提及到今日,区块链已经发展将近十年。在这段时间内,区块链依次经历了1.0,2.0,3.0这三个阶...

  • 走进以太坊-- 以太坊和以太币的区别

    公平地说,以太坊和以太币的整个概念很容易混乱。 正如在开头的模块中提到的——当我们听到“以太坊”这个词时,我们通常...

  • 区块链重要资料

    比特币 比特币官网比特币Wiki白皮书源代码 以太坊 以太坊爱好者以太坊Blog以太坊论坛以太坊Git白皮书

  • 以太坊1.0和2.0有什么区别?

    虽然以太坊2.0依旧用“以太坊”命名,但以太坊1.0和以太坊2.0其实是完全不同的两种架构。以太坊1.0和2.0的...

  • 区块链2.0之以太坊

    区块链2.0之以太坊 一、什么是以太坊 以太坊的全称是Ethereum,简称ETH或ether。 以太坊被称为区块...

  • 【尾巴讲堂】走进以太坊--以太坊分片解释

    分片是什么? 分片是指将整个以太网络分割成多个部分,称为“分片”。每个碎片将包含它自己的独立状态,这意味着一组独特...

  • 以太坊源码解读(1)以太坊架构与模块结构

    以太坊架构与模块化结构 一:以太坊核心概念 EVM: 以太坊虚拟机,以太坊中智能合约的运行环境 Accounts:...

  • 第3章 以太坊应用开发基础

    以太坊开发环境搭建 配置以太坊环境** 安装go环境因为以太坊是Go语言进行开发的,所以要在本机上安装以太坊,首先...

  • 如何购买以太坊

    以太坊ETH是一种区块链技术,而以太币是以太坊的原生代币。随着以太坊价格的暴涨以及数字货币被人们所承认,以太坊交易...

  • 如何购买以太坊

    如何购买以太坊 以太坊ETH是一种区块链技术,而以太币是以太坊的原生代币。随着以太坊价格的暴涨以及数字货币被人们所...

网友评论

    本文标题:走进以太坊

    本文链接:https://www.haomeiwen.com/subject/wtqrpftx.html