【初识区块链】区块链与智能合约(二)

一个简单的转账智能合约

Contract{
  function transfer(address to,int amount){
    address from = msg.sender;
    from.eth = from.eth - amount;
    to.eth = to.eth + amount;
  }
}

这是一个简单的智能合约,可以在以太坊上执行
智能合约是由外部消息推动执行的,可以被认为是一些服务程序。
可以看到,智能合约能够在状态信息上执行
智能合约完成对区块链以及状态的访问以及修改。

从数据库角度看区块链与智能合约

多台地理分布的计算机维护相同的数据库(包括数据和日志)
支持应用程序的执行(类似于存储过程)
区块链:多个本地自主维护的数据库,所有操作日志组成块链的形式 + 共识协议决定日志的顺序 + 明确的智能合约语言 + 其它特征。

简单说,通过共识协议维护多台机器之间的数据库状态一致,方法是保证日志内容和顺序一致。

是多方共同拥有一个数据库,多方并不用相互信任,忠实的参与方按照预定协议执行。

特点与适用场景

数据规模有限:都是单个节点的数据,没有数据分片,每一个参与方(每一个节点)可以看做是一个完整的数据库。

共同拥有的数据库:不是单个实体拥有的数据库,是多方共同拥有的数据库,单方无法控制这个数据库,共同信任预定的协议,而不是相互的信任。

上述的特点决定引用场景:处理速度不能太快,所需要进行的数据量不需要太多,双方进行共同操作,行间清算,跨境转账,跨行转账,票据交易。

智能合约的应用

以太坊白皮书
以太坊 = 区块链 + 智能合约

通证系统:链上通证系统有很多应用,从代表美元或黄金等资产的子货币到公司股票,单独的通证代表智能资产。

金融衍生品和价值稳定的货币,金融衍生品是智能合约的最普遍的应用,也是最易于用代码实现的之一。

身份和信誉系统:在区块链上完成身份的注册,注册完成之后不可更改

去中心化自治组织(DAO):对于公司的管理进行在线简化,实现自组织的目的。

推荐阅读更多精彩内容