小白入门:初识以太坊

互联网发展至今,有人认为有能力独立开发出区块链应用的地球人不会超过2000个人,也有人认为可能不超过200个人。这个数字虽然或许夸张,但足以说明开发区块链难度之大。因为这就如同在没有操作系统的手机上开发出一款APP,需要从底层编写代码,构筑底层构架,更需要掌握非常多的软硬件开发能力和加密算法。So,有人设想,如果有人提供类似于安卓或者iOS这样的操作系统,即可让开发的门槛大大降低。于是,有群程序员开发了Ethereum,中文名: “以太坊”。

以太坊是一个开源的区块链底层系统,就像安卓一样,提供了非常丰富的API和接口,让许多人在上面能够快速开发出各种区块链应用。目前已经有超过200多个应用在以太坊上开发。

而以太坊很大的特色就是能够实现智能合约。所谓智能合约(Smart Contract),是密码学家Nick Szabo在1994年首次提出以数字形式定义的一系列承诺(promises) ,包括合约参与方可以在上面执行这些承诺的协议。

智能合约的智能在英语中对应的单词是Smart,和智能手机(Smart Phone)中的Smart意义相同,表示非常灵活的意思,并不是指人工智能(AI)。智能合约一旦设立指定后,能够无需中介的参与自动执行,并且没有人可以阻止它的运行。

区块链为智能合约提供可信执行环境,智能合约为区块链扩展应用。而在以太坊上的智能合约,能够控制区块链上各种数字资产进行复杂的操作,随着智能合约开始获得越来越多的使用,人们也发现,就像现实世界的合同一样,如果没有认真审核的话,其中就有可能出现漏洞,并且被坏人利用。而TheDAO项目所出现的一系列巨大问题让更多人开始重视智能合约的安全性。

TheDAO是一个基于以太坊的去中心化自治基金,每个人都可以随时使用以太币参与,没有任何中心化的管理机构,由集体决策进行投资各类区块链项目。由于该项目在28天内筹集超过1.5亿美元,成为全球最大的众筹项目而备受关注。但是由于TheDAO的程序出现漏洞,被黑客窃取了部分资金,使得很多人对智能合约的安全性,甚至是以太坊的安全性开始产生疑问。

事实上,随着事件的发展,大家开始认识到是DAO的智能合约编写出现了漏洞,而不是以太坊的问题。这次事件让所有人认识到智能合约也像传统的合同一样,如果合同的内容和执行流程过于复杂,也需要有律师这样的角色介入审查。而一旦存在漏洞没有被审查发现并被黑客利用,则可能引起糟糕的结果。就像我们可能永远没办法确保所有合同都没有漏洞一样,但不可能由此认为合同方式是没有用处的。智能合约也是如此,只不过在未来也许需要一群专业的人来审计代码。

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

  就像比特币一样,以太坊不受任何人控制,也不归任何人所有——它是一个开放源代码项目,由全球范围内的很多人共同创建。和比特币协议有所不同的是,以太坊的设计十分灵活,极具适应性。在以太坊平台上创立新的应用十分简便,随着Homestead的发布,任何人都可以安全地使用该平台上的应用。

  以太坊是可编程的区块链。它并不是给用户一系列预先设定好的操作,而是允许用户按照自己的意愿创建复杂的操作。这样一来,它就可以作为多种类型去中心化区块链应用的平台以太坊是一个平台,它上面提供各种模块让用户来搭建应用,如果将搭建应用比作造房子,那么以太坊就提供了墙面、屋顶、地板等模块,用户只需像搭积木一样把房子搭起来,因此在以太坊上建立应用的成本和速度都大大改善。具体来说,以太坊通过一套图灵完备的脚本语言(EthereumVirtual Machinecode,简称EVM语言)来建立应用,它类似于汇编语言,我们知道,直接用汇编语言编程是非常痛苦的,但以太坊里的编程并不需要直接使用EVM语言,而是类似C语言、Python、Lisp等高级语言,再通过编译器转成EVM语言。

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

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

你可能感兴趣的:(小白入门:初识以太坊)