什么是以太坊
以太坊是在比特币的基础上进一步发展,目前已经成为最受欢迎的智能合约平台。 以太坊团队的目标是构建一个对开发者更友好、更易于创新的区块链系统,这也是以太坊生态系统如此繁荣的重要原因。 想要参与到区块链浪潮当中的开发者无需对区块链的专业知识就可以在以太坊平台上编写智能合约,搭建属于自己的去中心化应用。
以太坊的诞生是区块链技术发展史上的重要里程碑,使得区块链在非金融领域的普遍应用成为可能,同时也被认为是区块链2.0时代的标识。
起源
以太坊最初由 Vitalik Buterin 在2013年提出。Vitalik 原本是一名比特币社区的程序员,曾向比特币核心开发人员主张比特币需要一种脚本语言来进行应用程序开发,但当未得到他们的同意时,他提议开发一个更通用的脚本语言的新平台。
2013年末,19岁的 Vitalik 给他的好友们发了一份白皮书1,建议设计一种新的比特币。这款新的比特币将基于通用的编程语言,可以用来创建各种各样的应用,比如社交、交易、游戏……
Vitalik 发给了15个人,这15个人又相继发给了他们的好友。一传十,十传百,Vitalik 的想法很快就在比特币社区里炸开了锅。
Vitalik 本以为自己的想法还存在不少漏洞,谁想到竟然受到了一致好评。不少人竟为了这个前卫的想法兴奋到不能自已,亲自找上门希望和Vitalik 一起合作。
彼时的 Vitalik ,刚刚获得10万美元Thiel奖学金2(Paypal创始人、硅谷投资大佬 Peter Thiel 为鼓励20岁以下年轻人创业的奖学金)。这笔钱还没有焐热,就被 Vitalik 用来开发一个去中心化、基于区块链技术的计算平台,取名以太坊(Etherum)。
然后,在2014年,以太坊团队为了获取开发资金,通过由比特币换取以太币的方式公开募资,也就是后来风行一时风的ICO(Initial Coin Offering)。 最初以太坊程序是由一间位在瑞士的公司 Ethereum Switzerland GmbH 开发3,之后转移至一个非营利机构“以太坊基金会”(Ethereum Foundation)。
以太坊开发计划
- 以太坊公链在2015年7月30日启动。最初的以太坊版本称为边境(Frontier,也有“前锋”的意思),用的是工作量证明(proof-of-work)算法,但未来预期会转换成权益证明(proof-of-stake)。此时的以太坊还不太成熟,但是可以进行基本的挖矿,学习和试验。系统运行之后,吸引了更多的人关注并参与到开发中来,以太坊作为一个应用平台,需要更多的人去开发自己的去中心化应用来实现以太坊本身的价值。随着人气渐旺,以太坊的价值也水涨船高。
- 2016年3月14日,以太坊进行第二次分叉,发布了第一个正式稳定版本,称作“家园”(Homestead),100%采用PoW挖矿,但是为了防止在未来矿工联合抵制以太坊从PoW到PoS转变升级,在挖矿的难度设计中故意引入了难度炸弹(Difficulty Bomb)。
- 2019年,以太坊划实施君士坦丁堡硬分叉获得一致同意,这是一个刺激以太坊网络改变其核心共识机制算法的炸弹代码。一旦炸弹爆炸,会让以太坊进入冰河时期。以后以太坊网络创建区块的难度将不断提升,使得出块速度不断下降,最终减慢到完成停止。从而强制督促转换到Pos共识。
- 当以太坊升级到 Serenity 版本时,PoS将完成在以太坊中运行,以太坊归于宁静,将拥有不错的交易速度,是最后一个里程碑。也许在2019年得以实现。
重要时间表
- 2013年,Vitalik 设计以太坊协议架构。
- 2014年1月25日,在迈阿密举行的北美比特币会议上,Vitalik 正式宣布了以太坊概念。同时,他宣布将与Gavin Wood博士和Jeffrey Wilcke合作,后者现在被认为是主要的核心开发人员。会议视频
- 2014年4月,Vitalik 发布以太坊黄皮书,标志以太坊系统原型设计完成。
- 2014年7月结束以太坊为期42天的以太币预售结束。一共筹集到 31529.36369551 个比特币,一共售出 60102216个以太币,当时价值 18,439,086 美元。销售所得首先用于偿还日益增加的法律债务,回报开发者们数月以来的努力,以及资助以太坊的持续开发。
- 2014年11月,以太坊开发者在柏林举办Devcon-0活动,旨在汇集来自世界各地的以太坊开发者,讨论了各种以太坊技术主题。在这次活动中看到的演示文稿都有一些使以太坊更加可靠、安全和可扩展的计划。
- 2015年4月,ÐΞVgrants 计划开展,对所有为以太坊平台和基于以太坊的项目所在贡献提供资金。旨在奖励和支持为以太坊做出贡献的开发者。
- 2015年7月,Frontier发布,开发者开始编写智能合约和去中心化应用以部署在以太坊实时网络上。这是以太坊项目的第一个里程碑,是一个非常成功的测试网络,开发者们立即开始提出方案改进以太坊系统。
- 2015年11月,Devcon-1在伦敦举行,有一百多个演讲者,吸引了四百多个参与者。这次会议让以太坊真正受益的是,瑞银、IBM和微软等大公司出席了会议。是区块链技术成为主流的时刻,以太坊代表区块链前沿技术。
- 2016年3月, 以太坊 homestead 版发布,是对以太坊网络改进。
- 2016年5月,The DAO 项目在为期28天的全球众筹中筹集到破纪录的1.5亿美元,此时以太坊获得了大量的媒体报道。
- 2016年6月,黑客发起针对The DAO智能合约多个漏洞的攻击。引起社区激烈争辩。
- 2016年7月,由于上月攻击,硬分叉方案公布,超过85%的算力支持硬分叉,以太坊硬分叉成功,网络分离成两个不同组:以太坊(ETH)和以太坊经典(ETC)。
- 2017年2月,企业以太坊联盟宣布,微软、其他主要技术和银行结成联盟,推动以太坊区块链技术。
- 2017年5月,在第一家企业以太坊联盟宣布四个月后,又推出了两个联盟,许多新的知名公司和客户也加入了其中。
- 2017年5月19日 以太坊价格首次突破100美元大关。
- 2017年10月16日「Metropolis Part 1:Byzantium」,以太坊平台拜占庭共识第一部分推出。
- 2018年1月14日 加密货币估值到达峰值,以太币售价1,418美元,每日交易量接近100亿美元,而市值为1350亿美元。
- 2018年4月6日 机密货币整体低迷,一枚以太币价格低于400美元。
- 2018年12月7日 举行的核心开发者会议上,以太坊的开发团队成员就君士坦丁堡硬分叉的激活时间达成了一致。
以太坊价值
区块链技术是比特币的底层技术,这一技术第一次被描述是在中本聪2008年发表的白皮书“比特币,点对点电子现金系统”中。区块链技术更多的一般性用途在原书中已经有所讨论,但直到2013年,区块链技术才作为通用术语出现。
比特币是基于点对点网络的一个电子现金系统,且不依赖任何第三方信任中介。 点对点网络中节点接收到其他节点广播的区块时,通过PoW共识算法校验区块合法性,并根据算力最大原则动态维护一条最长链。 由于网络等不确定性原因,每个节点的账本不完成一致, 但在共识机制驱动下是趋于一致的。
在基于密码学技术上的PoW共识下,比特币解决了交易双花问题。 同时,利用程序化的经济激励来刺激更多的人来维护和验证网络,保障区块链的安全与去中心化。
比特币系统作为一个去中心化的交易账本,账本中记录着每个地址的交易流水。 通过签名交易将比特币资产进行转移,实现个体间无需信任基础和第三方中介的金融活动。 比特币简单有效的解决了去中心化共识问题,随着更多开发者关注,极客们希望将比特币系统用于数字货币转移之外的其他经济活动。
随后几年,许多系统在原比特币协议基础进行微创新与修改,添加新功能,独立于比特币运行新的区块链网络。在2013年,比特币社区成员Vitalik Buterin 向比特币核心开发人员主张比特币需要一种脚本语言来进行应用程序开发,进行复杂运算。但当未得到他们的同意时,他提议开发一个更通用的脚本语言的新平台。
2014年, Vitalik Buterin 和 Gavin Wood、Jeffrey Wilcke 完成新平台的架构设计与运行规则,通过实施图灵完备的语言实现一个区块链架构的可编程的智能合约平台,该平台即为当前高热度的以太坊。
智能合约概念并非首次出现,而是于1994年由Nick Szabo首次提出。智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,而这些交易可追踪且不可逆转。
超前的概念,在当时未能有系统能实现,区块链技术却让大家看到了希望,以太坊引入智能合约,实现经济活动的可编程性和抹除金融中介。 以太坊衍生了Token 经济,使区块链技术从只能进行数字货币的转移时代迈入了智能合约时代。
以太坊如何工作
以太坊融合了比特币系统的技术特点,同时自己也进行创新与添加新功能。比特币系统是一个纯粹的交易列表,而以太坊中的交易是基于账户,通过交易改变账户状态,将加密货币资产和数字信息在账户间转移,完成丰富的金融活动,更多细节请阅读[以太坊账户]小节。
与比特币一样,当用户需要将资产转移给其他账户时,用户需要对交易签名,并支付一定手续费支付给矿工将交易打包到区块中。
更多内容请阅读[以太坊交易流程]小节
以太坊虚拟机
以太坊是可编程的区块链,不同于比特币中预设的货币转移操作。在以太坊中用户可自定义一份操作,以满足自身业务需求。从而可以在以太坊网络中部署运行风格各异的应用程序,此时以太坊便是一个应用平台,是分散的、去中心化的。
一份自定义操作如何得以运行,依赖的是以太坊内置的可编程性。 以太坊中定义并实现一套这些操作指令行为协议,协议内嵌在以太坊程序中, 当交易需要打包到区块中时,以太坊将启动一个包含协议的子系统, 将按照交易信息让子系统执行智能合约中的操作指令。 这个子系统名为“EVM”(Ethereum Virtual Machine),在计算机技术上称之为“虚拟机”, 在沙盒环境中正确执行操作指令,是“图灵完备的”。
这样,开发者便可以利用熟悉的编程语言编写可以运行在以太坊虚拟机上的应用。以太坊作为分布式的区块链网络,所有交易均在所有节点中由虚拟机以相同的指令执行。