智能合约(上)

这一节课我们将学习第二类区块链项目智能合约平台,它的表现项目就是ETH,由于ETH的知识很丰富,所以拆成了上、下两部分来学习,通过这节课的学习,你将了解到ETH的起源、版本规划及ETH相关的基本概念。

2013年由俄罗斯天才开发者维塔利·布特林发布白皮书至今,ETH在智能合约领域里面一直处于非常领先地位,到目前为止,它也是全球最知名,应用最广泛的区块链智能合约底层平台。

我们之前学过,BTC的协议虽然做出了巨大创新,但是也有很多不足,比如BTC区块链因为缺少图灵完备,还记得什么是图灵完备吗?是指一切可计算的问题都能计算,这样的虚拟机或者编程语言就叫图灵完备的。BTC不能支持所有种类的计算,无法为帐户的取款额度提供精细的控制,缺少更丰富的状态记录,导致BTC区块链系统的扩展性比较差,不能广泛应用在除BTC以外的其他应用上,所以它更无法支持复杂的智能合约。

所以EHT建立了一个可编程的、图灵完备的区块链,在这个区块链之上,你可以通过简单的程序实现各类数字资产的生产,也可以通过编写程序对ETH上流通的区块链资产的状态进行精确的控制,比如这个资产是待支付还是被锁定还是有额度限制、这个帐户是黑名单还是白名单、ETH和其他数字资的自动兑换等等。同时,ETH是一个可以编程、图灵完备的区块链网络基础,在这个基础上,我们能免实现更多的非区块资产的功能产品,比如说我用ETH建立智能合约,应用在个人日常经济生和企业经济活动中,这样的运用也是可以被实现的。

ETH是建立在区块链和区块链资产的概念之上的一个全新开放的区块链平台,它允许任可人在平台上通使用区块链技术建立和运行去中心化的应用,简单地说,ETH技术就是区块链技术加上智能合约。

ETH在创立之初就规划了比较详尽的民发展路径和迭代版本,ETH一共规划了四个迭代版本:

第一个版本:Frontiet(前沿)

第二个版本:Homestead(家园)

第三个版本:Metropolis(大都会)

第四个版本:Serenity(宁静)

下面简单介绍一下以太坊的发展历程及规划。

第一阶段:项目启动和测试阶段

2013年年末,以太坊创始人V神发布了以太坊最初的白皮书,启动了以太坊项目。

2014年7月24日,以太坊启动了为期42天的众筹,一共募集了3万多枚比特币,预售了6000万枚以太币。

2015年5月,以太坊团队发布正式版上线前的最后一个测试网络,代号为:奥林匹克

 第二阶段:主网上线与升级

2015年7月,以太坊主网上线,并不断升级。按照白皮书上的介绍,以太坊网络开发分为四个阶段,以太坊团队给每个阶段取了一个充满文艺气息的名字,它们分别为前沿、家园、大都会、宁静。

1、前沿(Frontier)

前沿为以太坊网络的第一个阶段,持续时间为2015年7月至2016年3月。这个阶段为以太坊网络的初始阶段。在这个阶段,只有命令行界面,没有图形界面,主要适用于开发者。

2、家园(Homestead)

在2016年3月14日,以太坊进入家园阶段。家园阶段与前沿阶段相比,以太坊网络的运行更加平稳,安全性和可靠性得到提升。在此阶段,以太坊易用性得到极大改善,普通用户也可以方便地体验和使用以太坊。以太坊图形界面的钱包就是这个阶段产生的。

3、大都会(Metropolis)

以太坊网络的第三阶段为大都会。大都会阶段分为两个小的升级,分别为拜占庭(Byzantium)和君士坦丁堡(Constantinople)。这两个升级都属于硬分叉。

拜占庭版本的升级时间为2017年10月16日。这次升级,主要包含了5项以太坊改进提案,实现了以太坊更快速、更安全的交易,使得以太坊的智能合约适合于商业交易。同时,提高了挖矿的难度,区块奖励由5ETH降为3ETH。

君士坦丁堡版本的升级时间在2020年3月1日。这次升级最初预计的时间在2018年中期,后来因各种原因被多次延期。原本预计将共识算法从PoW转换成PoW/PoS混合共识算法,实际也没能实现。

虽然没有达成路线图中规划的目标,但这次升级同样给以太坊带来了一些变化。这次升级包含了5项以太坊改进提案,升级后的主要变化包括:出块奖励进一步减少,由3ETH变为2ETH,难度炸弹延期12个月生效,在以太坊虚拟机中新增了移位指令等,君士坦丁堡升级完成,标志着以太坊大都会阶段结束。

4、宁静(Serenity)

以太坊的第四阶段为宁静阶段,这是以太坊路线图中最后一个里程碑,发布时间待定。在宁静阶段,以太坊将完全从PoW转换到PoS,以太坊也将进入到2.0阶段。在2020年12月1日晚上,以太坊2.0信标链正式启动,截止目前,已质押以太坊290万枚,这标志着以太坊第四阶段进行中。

以太坊系统中代币,简称ETH,是以太坊网络主要燃料,为在这个体系上运行各种数字资产交易提供主要的流动性,同时也是用于智能合约费用的支付。它是以太坊内置的区块链资产,用来支付智能合约运行的。这个概念理解相对简单,我们之前学习哈希和工作量证明,不知道大这是否还记得,我们了解了,为了不让网络被垃圾邮件充斥,因此要求发送邮件的计算机要进行一些工作量计算,这样对于发送大量垃圾邮件的计算机说法是一个巨大的负担,同样道理,在ETH网络上要进行智能合约的建立和运行,也需要一个小小的门槛,这个门槛对于认真想做开发的人来说成本比较低,但是对于大量运行垃圾项目的发起者或者对于攻击者来班次就是比较大的负担,不过ETH的这个门槛不是工作量,而是燃料,我们叫GAS,GAS用ETH来兑换。

试想下,如果运行一个智能合约不需要花一些费用的话,在这条区块链上就会出现很多的垃圾合约或者垃圾应用,这个区块链会遭到攻击,使整个网络陷入无法使用的状态,所以呢,ETH区块链要求每次运行智能合约的时候,需要支付一定数量的GAS,GAS可以以ETH来支付,来确保这个区块链稳定和案全。

关于ETH的面值,我们熟悉的BTC最小面值是一聪,是1亿分之一BTC,ETH也一样,有自己最的面值,命名为1WEI,它有多少呢?一枚ETH可以分割到小数点后18位,就是1wei.

还有,在2016年7月,ETH区块链发生硬分叉,这次硬分叉将ETH分成了两条区块链,由创创始人Vitalik主导的、升级以后的ETH继续叫以太坊,代币代号ETH,不接受这次升级的链称为以太经典原链上的以太坊代币代号为ETC。

第二个概念就是以太坊虚拟机EVM,在一个编程系统之上,通常会有一些编译和执行的虚拟机来做支撑,JAVA有JVM,那在以太坊里,也会有以太坊的虚拟机可以执行任意复杂的算法代码,开发者可以使用现有的JAVA或者python以及其他友好的编程语言,在以太坊上创造出自己想要的应用。

第三个概念是智能合约,智能合约的理念并不新鲜,最早是由密码学家尼克·萨博在1995年时候提出的,几乎与互联网同时出现,指的是由计算机程序定义并自动执行承诺协议,虽然 说它的理念提出已经很久,但是,直到ETH的出现,智能合约才被广泛应用,一个重要原因是因为之前缺乏能够一个友好的、可编程的基础系统。

有了智能合约,任何人都能够在ETH上创建自己想要做的去中心化的应用了,智能合约在以太坊上一旦被创建之后,就无需中间机构参与,就能自动执行,并且没有人能阻止其运行,在以太坊上的智能合约,能够控制区块链上各种数字资产,进行复杂的算法和操作。

智能合约(上)

扫一扫手机访问

智能合约(上)

发表评论