智能合约的前世今生是怎样的
扫描二维码
随时随地手机看文章
智能合约是区块链技术首创的吗?
不是。
早在1993年,计算机科学家、加密大师尼克萨博(NickSzabo) 就提出了“智能合约“(Smart contract)这一概念。1994年他的《智能合约》论文,给智能合约进行详细的定义:
一个智能合约是一套以数字形式定义的承诺,包括合约参与方可以在上面执行这些承诺的协议。
所以,智能合约主要包括两个方面:
1. 承诺、合约可以用数字量化
2. 协议可以被自动执行 (使用程序自动运行)
2015年4月13日,以太坊的创始人Vitalik Buterin(V神)发表了题为《:Visions, Part 1: The Value of Blockchain Technology》的博文,重新定义了区块链:
A blockchain is a magic computer that anyone can upload programs to and leave the programs to self-execute, where the current and all previous states of every program are always publicly visible, and which carries a very strong cryptoeconomically secured guarantee that programs running on the chain will continue to execute in exactly the way that the blockchain protocol specifies.
“区块链就是一台任何人都可以上传程序,并且程序能够自动执行的神奇电脑。每个程序的当前状态和过去状态都是公共可见的。同时,强大的密码经济学保证了程序能按照其区块链协议中定义的方式持续运行。”
智能合约被V神正式引入区块链。区块链2.0时代到来!
智能合约有什么作用?
区块链1.0,比如比特币,只是简单的”数字黄金“,用做货币进行交易。而结合智能合约的区块链2.0, 将区块链扩展成了一个开发平台。
ETH建立了一个图灵完备的、可编程的区块链平台。
在这个平台上,我们可以:
生产各类数字资产(发币)、查看各个区块链资产账户的状态(是不是白名单用户)、实现以太坊和其他数字资产的自动兑换(ICO)等等。
在这个平台上,我们能结合区块链,开发各种应用(Dapp),用于日常生活中,比如游戏,云养猫游戏CryptoKitTIes。
总之,ETH一小步,区块链一大步,智能合约让各种去中心化应用变得可能。
智能合约如何构建?
包括以下三步:
首先,用户共同制定一份智能合约,就是若干if-else(如果。..,那么。..), 编写程序,分别放入各自的私钥,并签名。
其次,合约通过区块链P2P网络扩散,并存入区块链。
最后,智能合约自动执行。
智能合约和普通的电脑程序有什么不同?
首先,智能合约可以直接持有、发送和接收资金,表现形式就是持有、发送和接受代币,比如ETH。
再也不需要像苹果APP store里那样,需要刷信用卡购买APP里的服务。
或者,通过微信和支付宝支付买游戏道具了。
其次,智能合约是分散的,它不在中央服务器上运行,而是在区块链上运行。
这个讲过很多次啦。
第三,智能合约是不可变的,你不能像更改正常程序代码那样,修改或更新它们。
我们知道区块链的不变性,阻止了双重支付的发生。
而智能合约的不变性,建立了信任的基础。智能合约开源的,谁都可以在网络上找到它,阅读它。智能合约是不变的(有些链上的智能合约是可以改变的),不能被篡改,所以它是可信的。我们相信它会按照预期执行,从而使用它取代中间商。
当然,智能合约不可变,也给程序员带来了巨大的压力,因为你不能写错代码,合约里不能有致命的bug!因为,一旦发布,你的错误代码,就不能修改了。
应用场景
在西方国家,遗产继承,需要法律文件、公正、手续繁琐。而运用智能合约,可以轻松做到。
比如:某壕父亲请人编写一个智能合约,包括:自己的ETH钱包地址,几个子女的钱包地址。
规定,当自己三个月没有访问钱包,就自动将10万枚ETH,按比例转入各个子女的ETH钱包中。(合约内容)
父亲将合约写入区块链。
父亲去世三个月后,智能合约自动执行,ETH自动转入子女账户。
虽然这个例子有点忧伤,但比起昂贵的律师费用和遗产税,ETH转账费用只是零头的零头吧。