区块链系列4-智能合约

264 阅读3分钟

区块链与智能合约

实际上是区块链的程序,多方同意按照智能合约的代码执行,并对资产进行处置和分配。

区块链的状态信息

账户状态
	账号,用户信息,当前余额
交易:改变了状态
交易(顺序不能乱)->多账户状态
日志信息(交易系统)的总和就得到了状态信息
	相当于excel表的操作
状态信息相当于当前整个系统快照,提供快速访问状态的能力
	例如账户信息可以快速获得账户余额,而不需要重新计算
	相当于excel表计算出的一些信息

智能合约

根据状态信息和交易信息(相当于excel表中的vb操作程序)
	相当于随处复制的excel表

区块链与智能合约关系:

从数据角度看智能合约:
	数据库的存储过程
	日志(交易)
	区块链相当于数据库的数据总和
从区块链角度上看:
	运行在区块链以及全局状态的程序
	确定性,单线程程序
	确定行的程序在所有节点上运行的结果是一样的、
获取数据及全局状态,执行程序,修改数据及全局状态,通过日志来保证数据的唯一性(这里采用分布式共识来保证日志的顺序也就保证了数据的唯一性)

智能合约的简单案例

一个简单的转账智能合约
执行的时机:
	A->B转账,给智能合约发消息,消息触发转账,智能合约验证,然后执行(他直接可以访问及修改状态信息)
维护的是账本信息:
	谁来执行?合约程序是由所有的机器执行
	谁来确定顺序?分布式共识的算法,来让一个中签的机器来执行

再从数据库看区块链和智能合约

区块链:多地理分布费分布式数据库
智能合约:数据的操作,也就是存储过程
区块链: 分布式数据库+ 所有的操作日志组成链形式+ 共识协议决定日志的顺序+ 明确的智能合约语言+ 其他特征
简单来说:
	* 通过共识协议保持多方的数据库一致,方法是分布式共识
	* 多方共有的数据库,多方并不互相信任

特点和适用场景:

数据规模有限:数据目前是没有分片的
多方参与

应用(基于以太坊白皮书)

通证系统:
	token通证可以用来代表法币或者房产,股票债券等
	维护一个账户系统
	通过外界的激活,自动执行账户上的操作
	可以做一些其他的限制
金融衍生品:
	比如对冲合约:
去中心化自治组织(The DAO)
	传统企业的股东大会,投票的成本很高
	直接由计算机代码来控制投票
实体应用放到线上:
	租车:租车扫描二维码,发消息打一笔保证金,公司允许你开了,租完车之后保证金会完成一定的分配
身份和信誉系统:
	比如学生的文凭信息,由学校签名,学生选择可见权限