日前,外媒thenextweb刊文详细介绍了以太坊(Ethereum)相关的信息。文章指出,虽然比特币(Bitcoin)和以太坊(Ethereum)经常被放在一起,但实际上它们的差别非常大,它们唯一一个共同点应该就是都是在区块链上运转加密资产。
跟比特币不同的是,除了是一种虚拟货币之外,以太坊还能以一个巨大的去中心化计算机存在。
要搞明白以太坊就得先明白区块链是怎么运行的。
什么是区块链?
简单点说,区块链就是一个数据库,它是一个会不断扩大的某种特定数据类型的数据库,另外它具有以下两个比较显著的特征:
一旦数据存入到数据库中,它将永远无法修改或删除。区块链上的额每一次纪录都是永久性的;
该类型数据库并非由某个人或某个机构维护,它则是由上千人一同展开并且每个人都有数据库副本。
数据库的每个动作都是共享的
可以看到,当某个页面密封之后,它会被加入到文件夹中,然后又会生产一个新的页面继续以上这个动作。随着时间的推移,这些包含有重要纪录的页面(区块)加入到文件夹(链)最终形成数据库(区块链)。
区块链里存着什么?
区块链可以储存任何类型的数据,区块链储存的每一种数据都将被赋予其各自的价值。我们知道,比特币的区块链储存的是金融交易记录,所以使得它有点类似于美元或英镑等货币交易。比特币的用途除了为美元服务并无其他用途,但以太坊不同。
它不仅仅以货币的形式存在,它还可以是一台巨大的计算机!不过它的速度非常慢--比普通电脑慢上5到100倍--而且非常昂贵。以太坊计算机的功能跟90年代的智能手机差不多。
这听起来好像并不那么得吸引人,那么为什么又要给以太坊做那么多的宣传呢?--因为它的广泛性,其是一种在全球范围内完全分散化的计算机。了解以太坊区块链的运行方式能够知道它是如何像一台世界级计算机运行的。
以太坊如何运行?
就像其他区块链一样,以太坊也需要上千人在他们的电脑上运行一套软件来为网络提供电力。网络中的每台节点(电脑)使用一种叫做Ethereum Virtual Machine(以下简称EVM)的脚本语言。由EVM执行的软件或应用叫做“智能合约(smart contracts)”。
如果想要执行“智能合约”则需以以太币ether的形式支付才行。
在以太坊上,无论是人还是智能合约都被视为用户,人类用户能做什么,智能合约也能做什么。
智能合约就像网络上的其他任何人类用户一样,它们也都能发送和接受以太币ether。
不过不同于人类用户的是,智能合约还能够执行一个预定义程序,它能在触发的时候展开各种操作。为了了解智能合约的威力,就让我们来看一个例子。
智能合约的威力
想象一下两个人打赌明天的天气,其中一个打赌明天晴天,另外一个下雨,赌注100美元。那么要怎样做才能确保双方的诚信呢?
1. 相信彼此
2. 签署法律协议
3. 找一位共同的朋友作为见证人
不论是上面哪一种方法,要么是可操行性不强要么成本太高,但以太坊的智能合约却能很好地解决这个问题,它就像是打赌者信任的共同朋友,只不过它存在于代码里。在以太坊上,打赌者可以在一款软件中写入“赌约”并各自存入价值为100美元的以太币ether,等到次日结果出来后,输的那方的将获得该软件下的所有钱,即价值200美元的以太币ether。
一旦智能合约编写好后,它就不能以任何方式进行编辑或修改。
那么智能合约跟区块链又有什么关系呢?
智能合约如何跟区块链联系在一起?
当某个智能合约被执行的时候,它会在区块上以交易的形式纪录下关于该执行的信息。以太坊区块链上的交易在高级水平下的运行方式如下:
除了最后一个其余都可自我说明。正是这个“数据(data)”给了以太坊独特的威力,其用于纪录以交易形式展开的智能合约的创建与执行。以太坊区块链任何一个块的交易可分为三种:
1. 一名用户转账给一名人类用户
这就像是常规的比特币交易,即一名账户将以太币转到另一名用户的名下,当中的数据字段则会被清空;
2. 没有接收方的转账
当创建一笔没有接收方的交易时,这意味着该动作的目的是为了在网络中使用“数据”中的内容创建智能合约。
3. 一名用户转账给智能合约
当一名用户(包括人类用户和智能合约)想要执行一项智能合约时,他/她/它需要在“数据”中为这笔交易执行智能合约。
跟其他区块链一样,无论是展开了以上哪种交易,它都将会被共享到整个以太坊网络。另外,每个节点都会执行得到指令的智能合约,而这能让它们的EVM跟网络其他部分保持同步。
每一个节点都执行一部分软件,因此,整个网络就像是一台巨大但缓慢的分布式计算机。每一次细小的执行都将被储存在区块链上进而成为永久性的数据。
还有一个叫做Gas的东西,那么是什么呢?
上面已经提到,执行智能合约需要付出一些代价,而这个代价的大小取决于执行过程中的内存、存储、计算和电力。据悉,每个报表都有一个指定的成本,打个比方需要执行一个使用节点内存的报告,那么它会有一个与之匹配的特定成本。这里的成本单位就被叫做Gas,它最终通过汇率转换成以太币ether。
无论用户何时执行某一智能合约,ta都需要定义好最大的Gas量,当达到设定的最高量之后该动作就会停止。这样做的好处是能避免智能合约发生无限循环的情况。这种情况通常都由程序员的疏忽造成。
总结
以太坊不仅仅是一种虚拟货币,它的真正价值在于它的用途--能够允许所有者使用全球分布式计算机。虽然它的成本高昂、速度缓慢,但当与更快、中心化控制的服务器面前,这些都不是问题。因为当成本更低、速度更快的中心化控制计算机(服务器)遭遇网络攻击时,上面所有的客户都将受到波及,而去中心化的计算机却不会面临有这样的问题。此外,只要有网络的地方就会有以太坊。