以太坊入门分享

金钱报

发布时间:17-12-2804:15

1、什么是以太坊

以太坊是建立在区块链和数字资产的概念之上的一个全新开放的区块链平台。它是图灵完备的,允许任何人在平台上建立和通过使用区块链的技术运行去中心化的应用。

简单地说,以太坊技术就是区块链技术+智能合约

与比特币不同的是,以太坊从比特币中抽象出功能层和应用层,从而形成以太坊,以太坊不再是一个单纯的币种,而是一个运行智能合约的平台,以太币是这个平台中最基本的数字货币,用于支付应用所需的系统开销。

而在以太坊出现之前的其他代币则是Fork比特币而产生的,就像一个计算器的功能那么简单,只记录交易。

以太坊是一个图灵完备的平台,就像一台计算机,你可以在上面运行任何你能够设计出来的计算,当然,前提是该计算机拥有足够的计算能力和存储空间。

2、ETH & ETC

ETH就是我们通常所说的以太币,而ETC被称为“以太坊经典”。这里从一个故事说起:

以太坊前期有一个项目叫做“TheDAO”,即分布式自治组织,2016年上半年,The DAO通过公开众销共筹集了1.5亿美元以太币(以太坊网络的加密币)。网络上,任何持有以太币的人都可以参与。从理论上讲,其想法很简单。投资者将钱转给The DAO,然后收到投票代币,之后由这些投资(投票)的人通过民主投票,决定如何使用The DAO资金。

然而,在要开始投票表决的时候,The DAO被黑客攻击了。各方无法对期间进行的交易达成一致,以太坊社区最终做出投票表决,大部分参与者同意更改以太坊代码,希望索回资金——从攻击者那里要回来,还给投资人。但一小部分人不同意这个选择,他们认为这违反了“不可逆”的设计原则,继续挖老版本的区块链。有效果的是,“以太坊经典”成为其区块链的一个平行版本,其中的资金也从来没有还给过随着The DAO项目终止而失去资金的以太币持有者。

3、EVM

下面继续回到以太坊,以太坊通过构建虚拟机(EVM)来运行智能合约。因为以太坊实在太有钱了,EVM同时实现了三个版本:C++、Go语言、Python;当然,从另一方面考虑,通过不同版本实现同样的功能,并进行分布式部署,从一定程度证明了这个项目的可行性。

在以太坊虚拟机上面,用户可以运行自己的智能合约应用。以太坊提供了四种高级语言供用户编程:solidity(类JavaScript),serpent(类Python),Mutan(类GO),LLL(类Lisp)。

4、Gas

当然,以太坊虚拟机的容量和计算能力并不是无限的,但由于以太坊是图灵完备的,支持使用循环,理论上用户可以无限制运行智能合约命令,这就会对EVM造成很大的压力。

以太坊使用Gas来解决这个问题!对于每个被执行的命令都会有一个特定的消耗,用单位Gas计数,命令执行会根据Gas来计费,费用仍然使用以太币来支付。

这种方式很容易让大家联想到现在的云平台,也是通过对服务收费的方式来提供计算资源和存储资源。云平台是中心化的,计算资源和存储资源都集中在商家的手中。同理,以太坊使用Gas有一点中心化的味道,与以太坊去中心化的初衷相违背,但这也是目前不得已而为之的一种办法。

值得注意的是,Gas并不等于以太币,其交换方式也不是恒定的。以太币会随着投资的变化而变化,相对于法币来说波动很大,不利于智能合约的结算,因此,Gas如同法币一样稳定,就需要与以太币之间有一个“汇率”,随着以太币的波动,这个“汇率”也会作相应地调整。

5、智能合约

在以太坊EVM之上,用户可以运行自己编写的智能合约,那什么是智能合约呢?

从用户角度来讲,智能合约通常被认为是一个自动担保账户,例如,当特定的条件满足时,程序就会释放和转移资金;

从技术角度来讲,智能合约被认为是网络服务器,只是这些服务器并不是使用IP地址架设在互联网上,而是架设在区块链上,从而可以在其上面运行特定的合约程序。

智能合约代码自动执行,要么成功执行,要么所有的状态变化都撤销,智能合约的代码执行是不可逆的。

智能合约的应用范围十分广阔,除了直接关联的有银行、投资等金融应用以外,还可以广泛运用于其他行业。

当智能合约与物联网结合起来,其价值是不可估量的。举个栗子:我们开发一个可以自动售货的机器,不必要雇佣店员站在那里贩卖商品,只需要设备联网,也不需要通过银行进行结算,不需要通过任何中间平台,只需要通过智能合约算法确认收款,顾客就可以拿走商品。

6、以太坊 VS 比特币

7、总结

最后,通过一张图对以太坊的架构加以说明:

通过分层的方式,以太坊可分为数据层、网络层、共识层、激励层、合约层和应用层:

数据层。数据层是构建以太坊的基础,其核心技术是区块链。

网络层。区块链所使用的网络是P2P,通过P2P网络来实现以太坊的去中心化。

共识层。目前以太坊使用的共识方式和比特币一样,是POW(基于工作量的证明),后期会加入POS(基于权益的证明)。

激励层。以太坊按照一定规则持续发行数字货币。旷工提供计算资源来支持以太坊的运作,同时也在挖矿中获得收益。

合约层。以太坊提供EVM来运行智能合约,并通过Gas来计费,限制循环运行合约命令,以保证资源得到合理应用。

应用层。区块链的展示层。以太坊使用的是truffle和web3.js。区块链的应用层可以是移动端,web端,或是是融合进现有的服务器,把当前的业务服务器当成应用层。

合作丨投稿丨广告丨专栏入驻:

返回顶部