以太坊分析之 以太坊介绍

以太坊介绍

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

 

区块链2.0

      区块链是一个分布式账本,一种通过去中心化、去信任的方式集体维护一个可靠数据库的技术方案。区块链并不是一种单一的技术,而是多种技术整合的结果。这些技术以新的结构组合在一起,形成了一种新的数据记录、存储和表达的方式。

 

 

      区块链是从比特币衍生出来的,一般我们称为区块链1.0,主要以各种特色的电子货币为主,最多的行业应用是小额支付、外汇兑换等等。而随着区块链的发展,有了区块链2.0。区块链2.0相比于区块链1.0来说应用场景也更为丰富,不仅仅局限支付,也可以包括股票、债券、期货、贷款、抵押、产权、智能财产和智能合约。

 

      比特币是区块链1.0的代表,以太坊是区块链2.0的代表,以太坊是个平台和编程语言,包括数字货币以太币(Ether)和以太脚本(EtherScript),用来构建和发布分布式应用。以太坊是个基础性的、开放的通用数字货币平台来实现图灵完备虚拟机,可以运用任何货币、协议和区块链。定位来说以太坊旨在成为一个平台,而比特币则是一个货币体系。

 

以太坊历史

       2013年年末,以太坊创始人VitalikButerin发布了以太坊初版白皮书,在全球的密码学货币社区陆续召集到一批认可以太坊理念的开发者,启动了项目。

      20142月以太坊的各方面都在突飞猛进:社区成长、写代码、写wiki内容、商业基础结构和法律策略。在这个月,Vitalik在迈阿密比特币会议上第一次公布了以太坊项目,并在Reddit上举办第一次问我们任何事儿活动,核心开发团队成为世界级的密码学货币团队。

扫描二维码关注公众号,回复: 1076306 查看本文章

      2014724日起,以太坊进行了为期42天的以太币预售,一共募集到31,531个比特币,根据当时的比特币价格折合1843万美元,是当时排名第二大的众筹项目。关于这次众筹对于以太坊意义重大,并深深影响了以太坊的发行,具体可以参考博文《以太坊创世揭秘》(https://zhuanlan.zhihu.com/p/29028693)。

 

      2015730日,以太坊发布了Frontier阶段。Frontier阶段是以太坊的最初版本,不是一个完全可靠和安全的网络。Frontier是空白版的以太坊网络:一个用于挖矿的界面和一种上传和执行合约的方法。Frontier的主要用途是:将挖矿和交易所交易运行起来,从而社区可以运行挖矿设备,和开始建立一个环境,人们可以在里面测试分布式应用(DApps)。由于Frontier阶段的以太坊客户端只有命令行界面,没有图形界面,所以该阶段主要开发者。随着Frontier的发布,以太币也开始在世界各地的交易所进行交易。在2016年初,以太币的价格开始暴涨,以太坊的技术实力开始在市场上得到认可,吸引了大量开发者以外的人进入以太坊的世界。另外,在此阶段每年被矿工挖矿的以太币大约为1000万个,少于最初计划的每年1500万。

      2016314日(圆周率节),以太坊发了Homestead阶段。Homestead阶段与Frontier阶段相比,没有明显的技术性里程碑,只是表明以太坊网络已经平稳运行,不再是不安全和不可靠的网络了。在此阶段,以太坊提供了图形界面的钱包,易用性得到极大改善,以太坊不再是开发者的专属,普通用户也可以方便地体验和使用以太坊。

      以太坊的发布分成了四个阶段,即Frontier(前沿)、Homestead(家园)、Metropolis(大都会)和Serenity(宁静),在前三个阶段以太坊共识算法采用工作量证明机制(POW),在第四阶段会切换到权益证明机制(POS)。

         以太坊发展过程还有一个非常重要的事件就是以太币分叉。20166月,以太坊上的一个去中心化自治组织The DAO被黑客攻击,市值五千万美元的以太币被转移。由于原有程序不允许黑客立即提取,是否修改程序、找回损失考验着以太坊团队。同年720日,以太坊进行硬分叉,所有的以太币(包括被移动的)回归原处,而不接受此改变的区块链变成了以太坊经典(Ethereum ClassicETC)。

智能合约

         智能合约可以理解为在区块链上可以自动执行的(由事件驱动的)、以代码形式编写的合同(特殊的交易)。在以太坊上的程序就称之为智能合约,它是代码和数据(状态)的集合。

以太坊中可以使用任何高级语言一样来编写智能合约,智能合约的默认的编程语言是Solidity,文件扩展名以.sol结尾。Solidity是和JavaScript相似的语言,下面是一个简单示例:

EVM

         EVM(EthereumVirtual Machine)以太坊虚拟机是以太坊中智能合约的运行环境。以太坊虚拟机是一个隔离的环境,在EVM内部运行的代码不能跟外部有联系,而EVM运行在以太坊节点上,当我们把合约部署到以太坊网络上之后,合约就可以在以太坊网络中运行了。

Gas

         以太坊上用Gas机制来计费,Gas也可以认为是一个工作量单位,智能合约的运行就是靠Gas计费。简单来说,交易要是按照智能合约的规定一步一步执行命令,每执行一个命令都会产生一定的消耗,这个消耗用Gas作为单位,另外,不同命令消耗的Gas数量也不相同。所以通俗的理解,Gas相当于游戏中的蓝(MP值),你放魔法、放技能都要消耗蓝。

       以太坊和比特币的不同之处,以太坊引入了 Gas 的概念,Gas的目的是限制执行交易所需的工作量,同时为执行支付费用。引入Gas的原因主要是因为以太坊曾经发生过这样的攻击,就是通过不断的转移额度非常小的帐目,使得整个网络瘫痪,当时交易的费用非常低,可以忽略不计,因此以太坊引入了gas的概念,任何转账以及智能合约的执行,都要消耗一定的费用即Gas,如果Gas消耗完毕,则代码不再继续执行,这样防止恶意代码的for循环不停的执行,以至于整个网络无法继续向下一个状态迁移。

Gas中有2个概念Gas Limit和Gas Price:

GasLimit – 就是说你愿意最多給多少Gas去完成这一关交易,实际上用到的Gas是小于Gas Limit。

GasPrice – 就是你愿意支付多少Ether给以太坊区块链旷工帮你执行这一交易。

以太坊的交易费用= 实际用到的Gas 数量 * Gas Price

 

以太币

         以太坊中Gas Price         是以以太币计量,Gas被认为是网络资源/使用的固定成本,想要发送交易的真实成本保持一致,所以不希望Gas发行,一般来说货币是不稳定的。因此我们发行以太币,它的价值会变动,但也会根据以太币来执行Gas价格换算。如果以太币价格上升,Gas价格换算成以太币会下降,以此来保持Gas的真实花费相同。

         与比特币一样,以太币也不是无限可分的,以太币的最小单位是Wei。Wei是一个非常小的单位,1以太币= 10的十八次方Wei,和无限可分也差不了多少了。

除了基本单位Wei,为了使用方便,以太坊还有其他的单位,他们的关系如下:

参考

  • https://ethfans.org/posts/457
  • http://www.8btc.com/blockchain-2-ethereum
  • https://www.cnblogs.com/tinyxiong/p/7878468.html

作者简介

吴龙辉,《Kubernetes实战》作者,活跃于技术开源社区,贡献代码和撰写技术文档。 
邮箱: [email protected]

猜你喜欢

转载自blog.csdn.net/wlhdo71920145/article/details/80395701