当前位置:首页 >  人工智能

一分钟了解以太坊(系列一)|V神为何信誓旦旦diss中本聪?

发布时间:2020-03-22

 

本次系列文章《一分钟了解以太坊》即将在接下来的几周内陆续推出。这一系列主要讲述了以太坊历史、目前的应用方向及其结构以及未来的发展方向。

一般来说,如果要去了解一样东西,那么你得先知道它是怎么形成和出现的。

P2P网络和去中心化等基本概念已经有了数十年的研究历史,但这些理论还停留在概念层面,并未发展为功能性产品。

“区块链技术将成功改变人们对于世界的认知”

2008年中本聪发布了比特币白皮书,真正将区块链技术推上了舞台。包括以太坊的联合创始人Vitalik Buterin在内,比特币社区内的成员都对区块链技术推崇备至。

但不仅于此,Vitalik认为,区块链绝不仅仅只是应用于加密货币,应当服务于更多的具备普及性和综合性的场景。

他解释说:“比特币社区的人想要创建一个可驱动多种类型交易的协议,协议中每个应用程序都有一种或两种交易类型,也就是所谓的瑞士军刀协议,但是我认为,这个协议并不足以成为区块链除加密货币以外的重要应用场景。“

因此V神和其他有着同样目标的朋友们进行了一番邮件沟通,以太坊就这样建立了起来。Vitalik设想了一种去中心化的,建立在开放接入基础设施上的“货币互联网”,而这种基础设施不受任何中央实体控制,只对用户负责。在2013年,Vitalik发布了一份白皮书,其中详细描述了以太坊区块链的形式,并说明这条区块链将使用图灵完备编程语言(一种可以在其内部编程任何操作的语言)作为模型。

“准图灵完备”机器

以太坊的图灵完备语言最初是来自于Alan Turing的通用图灵机的概念。一个图灵完备机,可以执行所需的任何智能合约。

由于以太坊提出了燃料限制的概念,因此在以太坊黄皮书内,开发人员无法运行高于燃料限制的程序。打个比方说,以太坊为限制汽车(智能合约)每天只能跑20km,结果这个汽车开到目的地需要30km,跑一半车停了,或是直接回到了起点(智能合约还原为原始状态),但是车主(智能合约的创建者),却已经将劳务费付给了司机(矿工)。

但是如果燃料的限制很高呢?听起来好像不错,反正要是车子能跑50km,没用完的里程下回车主还能接着找人开。但是对于司机(矿工)来说,每天规定了只能跑100km(块的gas limit),假如这笔代驾单写着里程20km,为了保证司机健康并不疲劳驾驶,这个司机今天最多能接5笔标示着20km的单子。结果车主动不动让司机开个5km就停,还只付了司机5km的劳务费,那不是很亏?没活干,没钱拿。这就导致了矿工不会选择优先处理燃料限制过高的智能合约。

哪怕以太坊将近实现图灵完备,以太坊虚拟机EVM仍不算是真正的图灵完备机,不可执行所有智能合约,因此它被称为“准图灵完备”机器。

比特币VS 以太坊

以太坊作为最流行的加密货币之一,它经常被拿来与比特币作比较。它与比特币有一个最主要的区别,那就是以太坊使用了智能合约。
智能合约是一种程序,它允许用户根据一组预先确定的规则进行交易,也就是A和B打个赌,如果A今天吃了饭,B就必须给A钱。以前这样的赌局必须要有一个第三方来公证和执行,但智能合约的自动化执行成功地消除了交易中第三方的存在。

那为什么比特币不能使用智能合约呢?

比特币不可循环,且它的脚本语言是非图灵完备,不支持编写所有需要的各类智能合约。所以相比之下,大多应用程序的开发人员会更愿意选择以太坊。

以太坊协议将智能合约的共识机制和执行机制都设置为自动化进行,这一行为不仅证明了以太坊程序可以支持规模化运转,对于以太坊的未来发展来说,它也具有相当长远的意义。

智能合约的自动执行意味着这项技术为程序员们提供了一个强大的运作工具。智能合约不仅允许网络上的用户们进行任意交互(交易、锁仓、分配等行为),开发人员也可在区块链上构建及发布任何合约(无论它们属于ERC20令牌还是分散应用程序(也称为Dapp))。因此以太坊智能合约在出现之初便受到了极大的欢迎。

有关智能合约的详细资料,请参阅公众号发文【业内干货 | 区块链技术:智能合约】,此文详细阐述了智能合约的基本概念和理论。

以太坊使用的货币是ETHer,Ether在平台上可实现价值存储的功能。如果将比特币比作账户数据库,那么以太坊就是CPU处理器,它能够支持开发人员在以太坊网络上构建和运行自己的区块链或其他包括智能合约在内的应用程序。

此外,相比于比特币,以太坊的规模更大。以太坊允许开发人员使用与Ether本身相同的协议来构建其他加密货币或代币,同时允许他们在自己的区块链上分发这些代币,这些代币可以是私有的,也可以是公共的。

以太坊是一个公链,因此如果开发人员想要在私有链上使用该技术,他们必须创建一个基于以太坊编码的公链。虽然以太坊并没有直接提供链间发送代币的功能,但以太坊准图灵完备智能合约完全实现了这一功能,从而使用户之间可使用Ether或ERC20代币进行交易。

计算机或CPU不能智能识别使用Python和C++等语言编写的代码,开发人员必须将这些代码编译成CPU能够理解的基本指令。因此以太坊使用了solid ability来编译一系列EVM指令。智能合约编程人员同样也可用其他可靠的语言(如CertiK的DeepSEA)编写代码,然后将这些代码编译成EVM指令并发送到以太坊区块链。

相比之下,比特币还有诸多其他的限制。当在比特币网络上执行交易时,交易成本是由区块容量大小来决定的,而以太坊的交易成本则是取决于其程序的计算复杂性、带宽和存储需求。

随后即将发布的《一分钟了解以太坊》系列文章将会为大家解释本篇内有关账户与燃料的相关知识与信息。欢迎关注CertiK公众号,继续阅读我们的业内干货分享。

来源: CertiK 作者:CertiK


󰄯 分享