什么是以太坊智能合约?以太坊智能合约解释
在投资过程中,我们经常听到人们对区块链发展时期的划分。区块链1以比特币的出现定义.0时代,以太坊的出现定义了区块链2.0时代。因此,我们可以知道定义了智能合约的时代。
如何准确定义以太坊?我认为以太坊在区块链世界中扮演着三个角色:它是一个以工作量证明为共识机制的公共链,采用不同于比特币的抗性ASIC挖掘算法,计划转换POW POS Hybrid,名为Casper共识算法;它是一个计算能力几乎完整的应用平台,可以运行复杂的智能合同和基于合同的基础app;它也是一种加密货币,用于支付以太坊公链调用合同和记录数据时产生的手续费;
以太坊之所以开启时代,是因为它使基于区块链技术建立生态系统成为可能。SEC所有数字货币都被定义,本质上可以分为两类,一类是security token,一类是utility token。前者是指具有融资功能的数字货币,后者是具有实际效用的数字货币。由于大多数区块链项目远离着陆应用,大多数数字货币都属于security token。这一幕主要归功于以太坊的问题。在我看来,以太坊从去年到今年年初的飙升主要是因为它解决了一个非常严格的问题——中小企业的融资问题。
今天我们就去吧ERC以20代币为例,从技术层面深入解读以太坊智能合约。智能合约是1990s尼克萨博在20世纪90年代提出,由于缺乏可信的执行环境,它没有得到实际应用。区块链技术出现后,人们发现区块链自然可以为智能合同提供可信的执行环境。以太坊的创始人Vitalik最早看到区块链与智能合约与区块链的契合,发布了以太坊:下一代智能合约与分散应用平台。
众所周知,区块链的本质是分布式账本系统,在比特币网络中,该区块主要记录比特币的转账和交易信息。在以太坊区块中,除了转账信息外,还记录了可执行的代码。
首先,我们需要理解一个非常重要的概念,叫做EVM(Ethereum Virtual Machine),也就是以太坊的虚拟机。以太坊的每个节点都会运行虚拟机,它不仅可以执行代码,还可以读写区块中可执行的代码和数据,验证数据签名等。如果比特币被比作功能手机,以太坊就像智能手机。
以太坊有两个账户,一个叫外部账户,是人操作的正常账户,地址是公钥,由私钥控制;一个叫合同账户,地址随机生成,有点像游戏。NPC(非玩家控制角色,non-player character)。
在外部账户中启动和改变区块链上数据的行为称为交易,如转账、部署合同、调用合同等;相应的查询是指只查看链上的数据而不改变,不消耗gas。
那么什么是智能合约呢?简而言之,智能合约指能够在EVM运行的代码和数据是区块链系统的内部应用程序,有自己的账户地址和存储空间。外部账户可以部署智能合同,并通过向合同地址提交交易来呼叫合同。一旦合同部署,所有节点都将自动执行,并验证执行结果。同样,智能合同本身也是一个代码,代码和数据都具有可追溯性、一致性和不可篡改的特点,即使是合同创建者也无法更改代码。
目前最流行的智能合约开发语言是Solidity,编译成字节码后,部署到主网,通过外部账户发送转账进行调用。实际测量后,网民可以尝试发布一个token玩。推荐步骤如下:
1. 用MetaMask新建以太坊钱包
2. 钱包选择以太坊测试网络Ropsten
3. 通过测试网络获取eth
4. 用Remix编码编译
5. 用MEW合同部署
6. 用EtherScan交易跟踪和合同浏览
太坊之所以能成为目前生态最好的公链,主要原因是有了智能合同的加持,有了操作系统级别的想象空间。