什么是智能合约

比特币用来分布式储存数据的,以太坊用来分布式储存数据并且计算。这些小型的电脑运行程序叫做智能合约,合约由参与者在他们自己的机器上通过一种称为 ”以太坊虚拟机“的操作系统运行。


  • 智能合约是运行在区块链上的一段代码,代码的逻辑定义了合约的内容。

  • 智能合约的账户保存了合约当前的运行状态

    balance: 当前余额

    nonce: 交易次数

    code: 合约代码

    storage: 存储,数据结构是一棵MPT

  • Solidity是智能合约最常用的语言

    在以太坊中,你可以创建一个包含代码的新帐户,并在交易中将其上传到以太坊的区块链上,从而建立一个智能合约。

    只要合约上传成功,就会像自动点唱机一样:想要运行合约时,只需要给它发送一个包含以太币支付的交易,当然可能还需要额外提供另一些信息。

    每一台挖矿电脑会用以太坊虚拟机来运行智能合约(这是他们挖矿过程的一部分),并得出最终的输出值。理论上,如果没有人使坏,以太坊网络上的每台电脑都会输出一样的结果,因为用户都运行着包含相同信息的智能合约代码。

    挖出区块后,获胜的矿工会向网络的其他用户公布挖到的块,其他矿工纷纷验证并在得到相同的结果后,把该区块放到他们的区块链中。

    这就是更新以太坊的区块链状态的方式。

参考链接:

https://www.youtube.com/watch?v=TIE8PE08Eac

https://ethfans.org/posts/a-gentle-introduction-to-ethereum

推荐阅读更多精彩内容