文/韩大楠
原文首发币乎
大家好,我是大楠呀!
这是「币圈小白进阶计划」的二十八篇,希望大家多多给出建议。
谢谢大家!
写在前面
这篇是以太坊之二,再来说说以太坊。
上篇是略说以太坊,这篇我们再来详细说说以太坊。
何为以太坊?
以太坊(Ethereum)是一个开源的有智能合约功能的公共区块链平台,通过其专用加密货币以太币(Ether)提供去中心化的以太虚拟机(Ethereum Virtual Machine,“EVM”)来处理点对点合约。
简单来说,以太坊就是一系列协议,核心是以太坊虚拟机(“EVM”),可以执行任何复杂的代码。
以太坊的概念首次在2013至2014年间由Vitalik Buterin(V神)提出,大意为“下一代加密货币与去中心化应用平台”。
以太坊如何运作?
以太坊需要几千人在自己的计算机上运行一个软件,为该网络提供动力。网络中的每个节点运行一个叫做以太坊虚拟机(EVM)的软件。将以太坊虚拟机想象成一个操作系统,它能理解并执行通过以太坊特定编程语言编写的软件。由以太坊虚拟机执行的软件或者应用程序被称为“智能合约”。
要在这一世界计算机上做任何事都需付费。不过,付的是该网络自带的加密货币,即以太币。以太币与比特币大致相同,除了一点,即以太币可以为在以太坊上执行智能合约而付费。
论智能合约的问题
在以太坊上,无论是人还是智能合约都可作为用户。人类用户能做的事,智能合约也能做,总之“很强大”。
智能合约可以执行预定义的计算机程序,在程序被触发时执行各种操作。智能合约一旦完成,无论如何都无法被编辑或修改。所以,不管合约中有何规定,无论什么情况下,都会被执行,具有“一去不复返”的特点。
但智能合约也是有弊端的,我的这篇文章写了智能合约:「币圈小白进阶计划」咱来谈谈智能合约,同时,这篇文章:行走原创:也谈激励机制(二)回应韩大楠:智能合约的前世今生,兼谈契约,是行走大佬回应大楠的长文,里面写了智能合约源自契约以及智能合约并不完美之处。智能合约其实并不是可靠的,它也有自身的问题,也存在“机器系统性和非系统性的漏洞”。智能合约其实就是执行的程序, 但计算机程序都存在缺陷,它也是会出现错误的,智能合约自然也不例外。
以太坊虚拟机——EVM
作为一种比较新的利用比特币技术的开发项目,以太坊致力于实施全球去中心化且无所有权的的数字技术计算机来执行点对点合约。简单来说就是,以太坊是一个你无法关闭的世界计算机。
它是一个可编程的区块链,用户可以按照自己的意愿创建复杂的操作。为不同的区块链应用提供服务。简单来说,以太坊就是一系列协议,核心是以太坊虚拟机(“EVM”),可以执行任何复杂的代码。
首先,以太坊虚拟机会通过防止DOS攻击,来确保安全性,这个攻击是数字货币领域的挑战。
其次,以太坊虚拟机会编译以太坊程序语言,并且保证这之间的通信不会有任何的干扰。
以太坊虚拟机可以当作一个系统用来为以太坊智能合约创建运行环境。以太坊虚拟机是在沙盒中运行,这是和区块链主链完全分开的,并且非常适合作为测试环境。任何想要使用以太坊虚拟机创建智能合约的人,都可以在不受到其他区块链操作的影响下完成。
以太坊的账户
以太坊的基本单元是账户。
它有两种账户类型,一个是外有账户(EOA),由私人密码控制,用户掌握了账户就掌握私钥;另一个是合约账户,由合约代码来控制,只能由一个EOA账号来操作。
“智能合约”就是合约账号中的代码,当一个交易被发送到该账户时,合约中的代码就会被执行。用户可以通过把代码部署到区块链中来创建一个新合约,也即创建了一个新的合约账户。
以太坊的账户包含四个部分。
nonce:用于确定每笔交易只能被处理一次的随机数。
balance:账户目前的以太币余额
storageRoot:Merkle树的根节点Hash值。Merkle 树会将此账户存储内容的Hash值进行编码,默认是空值
codeHash:此账户EVM代码的hash值,对于合约账户,就是被Hash的代码并作为codeHash保存;对于外部拥有账户,codeHash域是一个空字符串的Hash值
参考资料
以太坊
EthFans
《图说区块链》、《区块链:定义未来金融和经济新格局》
《白话区块链》、《区块链:从数字货币到信用社会》
写在后面
以上就是大楠的小白科普第二十八篇,略说以太坊之二,还只是皮毛。你要是发现了什么不对的地方,要和大楠说啊,就在评论区,留言给我啦。
感谢大家啊!
大楠是谁?
一个很偶然撞进币乎的币圈小白,是个正在不断成长的大楠。
那你喜欢她么?
当然喜欢啦,大楠欢迎来撩哦。
微信:15222567477,加大楠也要备注的呢,就叫~