区块链之所以被认为是一种颠覆性技术,很大一部分原因是因为智能合约的出现。
什么是智能合约
早在 1994 年,密码学家 Nick Szabo 首次提出了“智能合约”的概念:
一个智能合约是一套以数字形式定义的承诺,包括合约参与方可以在上面执行这些承诺的协议。
简单来说,智能合约就是一个能够按照合约内容自动执行的电脑程序,工作原理与编程语言中的“if-then”语句类似,但不同的是,智能合约能够实现与真实世界资产的交互,但合约条件达成时,合约对应的条款也会自动被执行。
现实中最常见的场景莫过于地铁里的自动售票机,你放一个硬币进去,就会触发让你选目的地站点,然后相应面额的地铁票就会掉下来。
只是说传统意义上的这类智能合约都是由某个公司控制,也可以由控制它的公司单方面更改规则。你要相信出现纠纷的时候,比如钱被吞了,票却没出来的时候,正义会站到你这边。
而基于区块链的智能合约则是一旦创建就会自动(强制)执行,无法更改。同时,基于区块链技术也为其带来了去中心化的特性,不再依赖于某个第三方服务器,而是通过分布式的网络节点运行,用户也不用担心被黑客攻击或是篡改合约的事情发生。
智能合约的应用场景
从本质上来讲,智能合约的应用基本分为下面两类:
- 货币 - 货币
- 货币 - 商品
货币与货币间的智能合约是最基础的,尤其是近来比特币等数字货币的快速兴起,为智能合约的应用创造了更好的环境,可以说任何涉及到数字货币间的交易,都可以通过智能合约完成。
以最简单、最典型的博彩为例,你和你的朋友赌本届世界杯冠军归属,你下注巴西、对方下注法国,筹码是 1 个比特币。然后你们拟定好数字化的合约条款,智能合约将生成一个中立账户,并分别取走你们的赌资,等到冠军产生后,智能合约将会通过在网上搜索到的大量相关报道进行结果真实性验证,并将所有筹码转移到胜利一方的账户中。
而面对货币与商品的交易情况,单凭智能合约技术似乎有些力不从心,毕竟数字化的合约可以绑定网上的资金账户,却不能绑定真实世界中的某样物品。因此这里就需要借助物联网技术了。通过物联网将现实中的情况映射到智能合约里,触发智能合约的执行。
区块链的未来在智能合约
目前对区块链有两个不断在争论的声音:
- 认为区块链的未来在于联盟链
- 认为区块链的未来在于具有智能合约功能的公链
我个人是偏向与第二种观点的:
-
联盟链只是应用了区块链最基本的数据不可篡改的特性,进行联盟之间的数据共享或商品溯源。对于数据可不可篡改这点儿,即使传统的可篡改的数据库,真正发生直接更改数据库导致业务损失的现象也是很少见的,更多是机构员工腐败导致的传入数据库的业务数据就是不正确的。区块链能在这方面发挥的力量并不大,其一是区块链智能保证链上数据安全,却无法抵抗错误的业务数据,其二是当利益诱惑足够大时,一条船上的联盟成员合起来作恶也是有可能的,其三联盟链的主要作用是加固现有的生产关系,却很难促成新的生产关系。
-
相比较而言,具有智能合约功能的公链及其上的智能合约却完美继承了区块链最基本的几个特性:去中心化,不可篡改,可追溯,数据完全公开透明。
看看随着智能合约兴起而兴起的几个概念吧:ICO以及最近的DAICO,DAO,Token经济,几乎每一概念及相应合约的落地伴随的都是某种颠覆和革新。
智能合约的现在要看以太坊
这里有个10倍好的说法,想颠覆某个事物,要有它的10倍好才有可能。当前的以太坊智能合约已经发展出了相对完善的生态。你可以用Remix去调试Solidity智能合约,用Truffle或Embark框架去搭建自己的合约框架,并且Zeeplin公司已经开发并开源出很多经过严格测试的可重用智能合约代码,当前基于以太坊的项目已经有上千个,我个人也不断听到有人找以太坊开发团队去实现某个产品设计,相信未来会有更多类似与加密猫那样的爆款智能合约应用出来。想超越以太坊还真没那么容易。
我的智能合约培训
在上个月《入局区块链》这篇文章里,我提到过今年要做的与区块链相关的事情之一便是培训了。现在这个培训项目已经开张了,将我在以太坊研究和智能合约开发的经验在一个周末全盘托出,帮助大家:
- 深入理解以太坊
- 掌握Solidity智能合约语言
- 快速掌握DApp开发最佳工程实践
下面是我上课的照片:)
751D2511-5FC0-4C5B-AED0-97E19EE434BB-2337-0000027EAEC4398F_tmp.JPG
网友评论
[逻辑结构10']8.5
[文字功底10']8.8
[价值启发10']8.5
【我的收获】
区块链的智能合约的简明阐述,我学到的智能合约有点类似 e-contract,而且还能和真实世界的资产实现交付,这个更便捷了,而且不能篡改的硬性条件,使合同双方得更高效的履行合约内容,最大的好处是不会被黑客攻击,这个很牛了!
【推荐语】
很好的一篇区块链运用于智能合约的好处,文大量专业的术语,以太坊,Remix , solidity, truffle embark,智能合约语言,Dapp开发等,教科书级的文章,让小白也会有兴趣读喔!