(四)区块链的认识,区块链2.0代表-以太坊

1.以太坊的诞生

        2013年年末,以太坊创始人Vitalik Buterin(人称“V神”)针对比特币系统非图灵完备性、效率低等特点,首次提出以太坊(Ethereum)概念,发布了以太坊初版白皮书,启动了项目。2014年,以太坊基金会成立,Vitalik Buterin、Gavin Wood和Jeffrey Wilcke创建了以太坊项目,作为下一代区块链系统。2016年年初,以太坊技术得到市场认可,以太币(Ether)价格暴涨,也吸引了大量的开发者走进区块链世界(包括我☺☺)。今天,以太坊作为全球最为知名的公有区块链项目之一,同时拥有全球最大的区块链开源社区。

2.以太坊与比特币的不同

        简单来说,以太坊是一个开源的有智能合约功能的公共区块链平台,简单来说就是一个“可编程的区块链”,在以太坊上发送的交易不只是转账,还可以是执行一段用户自定义的代码(智能合约),通过其专用加密货币以太币提供去中心化的虚拟机来处理点对点合约。在这个区块链平台上有众多的节点参与,他们组成了P2P网络,这些节点彼此平等,没有任何一个节点有特殊的权限,也不存在有一个或多个节点进行协调或调度。相比较比特币系统,以太坊有更快的出块速度已经更先进的奖励机制,这意味以太坊具有更大的系统吞吐量和更少的交易确认时间间隔。另外,以太坊支持智能合约,用户可以自定义数字资产和流通逻辑,通过以太坊虚拟机几乎可以执行任何计算,而比特币只能支持比特币的转账,这意味着以太坊平台能作为一个通用的区块链平台,可以支持各种的去中心应用。以太坊还为开发者准备了完善的集成开发环境。

        以太坊还有更加活跃的社区,系统也是不断的在升级,就在最近以太坊官方发出声明,确定将把以太坊区块链上的 7,080,000 区块作为硬分叉激活点,用户可以选择从该区块升级到新代码,按目前的出块预算会在2019年的1月14日-18日左右完成硬分叉升级。简单说就是:如果以太坊用户选择通过升级软件来实施君士坦丁堡硬分叉,那么所有的功能更新都会在 7,080,000 区块被挖掘之后才会生效。

3.智能合约   

        在区块链上运行的程序,通常称为智能合约(Smart Contract)。所以通常会把写区块链程序改称写智能合约。所谓智能合约实际上就是一种基于规定触发规则的,可自动执行的逻辑代码。虽然比特币上也能写智能合约,但是比特币所支持的语法仅与交易有关,能做的事情比较有限。因此目前提到写智能合约,通常指的是支持执行图灵完备程序的以太坊区块链。

        智能合约是一组情景应对型的程序化规则和逻辑,是通过部署在区块链上的去中心化、可信共享的脚本代码实现的。通常情况下,智能合约经各方签署后,以程序代码的形式附着在区块链数据上,经P2P网络传播和节点验证后记入区块链的特定区块中。智能合约封装了预定义的若干状态及转换规则、触发合约执行的情景、特定情景下的应对行动等。区块链可实时监控智能合约的状态,并通过核查外部数据源、确认满足特定触发条件后激活并执行合约。

4.以太坊虚拟机(Ethereum Virtual Machine,EVM)

        以太坊中的技术我觉得最知道一提的就是,因为它是智能合约的基础。以太坊底层通过EVM模块支持合约的执行与调用,调用时根据合约地址获取到代码,生成环境后载入到EVM中运行。通常智能合约的开发流程是用solidlity编写逻辑代码,再通过编译器编译元数据,最后再发布到以太坊上。

        虚拟机指的是,通过软件模拟的、具备完整硬件系统功能并运行在隔离环境下的完整计算机系统;比如虚拟化物理机VMware、Java虚拟机等。而则是建立在以太坊区块链上的代码运行环境,其主要作用是处理以太坊系统内的智能合约。

        EVM是一个完全独立的沙盒,合约代码可对外完全隔离并在EVM内部运行。由于EVM分散储存在每个节点的计算机上,所以希望创建智能合约的公司可使用类似JavaScript和Python等编程语言创建运行于EVM的应用程序;同时EVM又能与主网的其余部分隔离,运行时不影响主区块链的操作。

        理论上以太坊是图灵完备的,其虚拟机为智能合约的实现提供了基础,可实现任何复杂程度的操作。不过它同时也存在着缺陷,比如每次函数执行的gas限制、Solidity语言缺乏标准库、基于栈的架构易于优化但所需opcode更多等。

5.小结

        以以太坊为代表的区块链2.0时代,已逐渐将区块链技术从货币和支付领域扩展到金融领域。而随着技术的发展,以及区块链应用的愈加广泛,超越货币和金融领域的区块链3.0时代也将指日可待。

        今天只是把我认为以太坊中最为经典的智能合约与EVM进行了讲述,但并不代表以太坊的技术只是这些,大家可以在网上找到更多具体讲述的资料,后续我也会把我手上好的资料链接整理发出来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值