关注“区链数科”,让你从入门到精通区块链!

在前面的文章中我们有提到,以太坊是区块链2.0时代的代表。相比于区块链1.0时代的比特币而言,其不再局限于货币和支付,而是增加了更多的交易类型,更多体现在“合约”上。

打开网易新闻 查看更多图片

以太坊的诞生

以太坊(Ethereum)是2013年底由一个叫作 Vitalik Buterin (V神)提出来的技术,是基于区块链技术,在比特币基础上的升级。

在V神看来,比特币系统的主要设计 UTXO(未使用的交易输出)和其对应的脚本语言有缺陷,他总结认为它有以下四点不足:

1、缺少图灵完备性(lack of turing-completeness)。尽管比特币的脚本语言可以支持多种计算,但是它不能支持所有的计算;

2、价值盲(value-blindness)。UTXO 脚本不能为账户的取款额度提供精细的控制;

3、缺少状态(lack of state)。UTXO 只能是已花费或者未花费状态,这意味着 UTXO 只能用于建立简单的、一次性的合约;

4、区块链盲(blockchain-blindness)。UTXO 看不到区块链的数据,比如区块头部的随机数、时间戳和上一个区块数据的哈希值。

V神最后得出了自己的结论,他认为应当开发一个“下一代智能合约和去中心化应用平台”。他把自己将要开发的系统命名为“以太坊”。

打开网易新闻 查看更多图片

那么,以太坊是什么?

以太坊(Ethereum)是一个建立在区块链技术之上, 去中心化应用平台。它允许任何人在平台中建立和使用通过区块链技术运行的去中心化应用。

以太坊允许参与者运行被称为“智能合约”的分散式区块链应用程序。智能合约是高度安全的,具有完美的数字历史记录,使其具备了可审计、去信任化且不可阻挡的特点。

以太坊和比特币相似,是一个开源的,基于区块链技术的分布式计算平台,它强调自己是一个智能合约系统 。

通常只要有一套密钥系统,也就是加密系统,让交易可跟踪,这种结构就可以称为“智能合约”。基本上所有的虚拟货币都是这样的结构。所以智能合约也就是一套生成虚拟货币的系统, 它的本质和比特币是一样的,只不过,你可以在这个平台里自己生成任意多个不同的比特币系统而已 。

为了支持这个系统,V神和他的团队在2014年的7月至8月间,针对公众销售了他们自己的以太坊系统上的货币——以太币(Ether,简称ETH)。

他们事先进行所谓挖矿(将自己的联网计算机提供给虚拟币系统运行后,得到虚拟币的过程被称为“挖矿”。),挖出很多的以太币以后,在募资的时候进行公开销售,共计销售了1190万枚以太币(大约占以太币总数的13%)。

以太坊的设计原则

1、简洁:以太坊协议将尽可能简单,即便以某些数据存储和时间上的低效为代价。一个普通的程序员也能够完美地去实现完整的开发说明。这将最终有助于降低任何特殊个人或精英团体可能对协议的影响并且推进以太坊作为对所有人开放的协议的应用前景。添加复杂性的优化将不会被接受,除非它们提供了非常根本性的益处。

2、通用:没有“特性”是以太坊设计哲学中的一个根本性部分。取而代之的是,以太坊提供了一个内部的图灵完备的脚本语言以供用户来构建任何可以精确定义的智能合约或交易类型。想建立一个全规模的守护程序(Daemon)或天网(Skynet),你可能需要几千个联锁合约并且确定慷慨地喂养它们,一切皆有可能。

3、模块化:以太坊的不同部分应被设计为尽可能模块化的和可分的。开发过程中,应该能够容易地让在协议某处做一个小改动的同时应用层却可以不加改动地继续正常运行。以太坊开发应该最大程度地做好这些事情以助益于整个加密货币生态系统,而不仅是自身。

4、无歧视:协议不应主动地试图限制或阻碍特定的类目或用法,协议中的所有监管机制都应被设计为直接监管危害,不应试图反对特定的不受欢迎的应用。人们甚至可以在以太坊之上运行一个无限循环脚本,只要他愿意为其支付按计算步骤计算的交易费用。

打开网易新闻 查看更多图片

以太坊功能应用

以太坊是一个平台,它上面提供各种模块让用户来搭建应用,如果将搭建应用比作造房子,那么以太坊就提供了墙面、屋顶、地板等模块,用户只需像搭积木一样把房子搭起来,因此在以太坊上建立应用的成本和速度都大大改善。

具体来说,以太坊通过一套图灵完备的脚本语言(Ethereum Virtual Machinecode,简称EVM语言)来建立应用,它类似于汇编语言。

我们知道,直接用汇编语言编程是非常痛苦的,但以太坊里的编程并不需要直接使用EVM语言,而是类似C语言、Python、Lisp等高级语言,再通过编译器转成EVM语言。

上面所说的平台之上的应用,其实就是合约,这是以太坊的核心。

合约是一个活在以太坊系统里的自动代理人,他有一个自己的以太币地址,当用户向合约的地址里发送一笔交易后,该合约就被激活,然后根据交易中的额外信息,合约会运行自身的代码,最后返回一个结果,这个结果可能是从合约的地址发出另外一笔交易。需要指出的是,以太坊中的交易,不单只是发送以太币而已,它还可以嵌入相当多的额外信息。如果一笔交易是发送给合约的,那么这些信息就非常重要,因为合约将根据这些信息来完成自身的业务逻辑。

合约所能提供的业务,几乎是无穷无尽的,它的边界就是你的想象力,因为图灵完备的语言提供了完整的自由度,让用户搭建各种应用。白皮书举了几个例子,如储蓄账户、用户自定义的子货币等。

以太坊的规划路线

以太坊从2013年白皮书发布到今天,已经有7年以上的历程,它从一开始就有一个很清晰的规划路线。以太坊开发分为四个阶段,分别为前沿、家园、大都会、宁静。

前沿是以太坊网络的第一个阶段,这个阶段为以太坊网络的初始阶段,整个系统还不太成熟。在这个阶段,只有命令行界面,没有图形界面,主要适用于开发者。

第二阶段家园,则是对以太坊的协议进行了优化,让以太坊网络的运行更加平稳,安全,加快了网络的交易速度,降低了普通用户的使用门槛。

而第三个阶段大都会,则分成了两部分,分别是拜占庭和君士坦丁堡。其中拜占庭版本的升级主要改变了以太坊交易效率与安全,使得以太坊的智能合约适合于商业交易。君士坦丁堡版本的升级,则主要减少了出块奖励,降低了开发难度,加快了网络处理的速度,延缓了难度炸弹。

第四阶段宁静,则会彻底从PoW机制转向PoS机制,正式进入以太坊2.0时代。今年12月1日20:00,以太坊2.0启动创世区块,阶段0(信标链)已正式上线。

打开网易新闻 查看更多图片

以太坊对整个区块链行业来说,是具有里程碑式影响的,原因在于是它一手打开了区块链2.0的大门,发掘出了区块链更多的可能性。随着2.0后期的不断完善,相信还会有更多的价值值得我们期待!

- - - END - - -

关注“区链数科”,让你从入门到精通区块链!