随着区块链越来越火热,智能合约也渐渐被普及开来,但大家都真的明白智能合约的概念、工作原理、存在的意义及日后的运用场景吗?不妨跟着小编一起再来详解智能合约吧。
1. 智能合约的定义
在区块链领域中,智能合约(smart contract)可以看成是写在区块链上的代码,一旦某个事件触发合约中的条款,代码就会自动执行。类似于代码中If A Then B(如果满足A,那就执行B)语句。
举个栗子:大家都见过售货机,消费者放5块钱,就会触发选择商品的选项,选择A后,A就会掉落出来,这就是生活中比较常见的智能合约。
从用户角度来说,智能合约就是一个自动担保的账户;从技术角度来看,智能合约被认为是架设在区块链上的网络服务器。
我们还可以从承诺、数字形式以及协议这三个方面来解读智能合约,小编就不详细说明,看图就好。
2.智能合约的工作原理
智能合约的工作原理涉及三个部分:构建→存储→执行。
1. 构建
智能合约由区块链内的多个用户共同参与制定,可用于用户之间的任何交易行为。合约明确了双方的权利和义务,开发人员将权利和义务进行编程,代码中包含会触发合约自动执行的条件。
2. 存储
一旦编码完成,这份智能合约就被上传到区块链网络上。
3. 执行
1) 智能合约会定期检查是否存在相关事件和触发条件;
2) 满足条件的事件将会推送到待验证的队列中;
3) 区块链上的验证节点先对该事件进行签名验证,以确保其有效性;
4) 等大多数验证节点对该事件达成共识后,智能合约将成功执行,并通知用户;
5) 成功执行的合约将移出区块。未执行的合约则继续等待下一轮处理,直至成功执行。
小编的图解又来啦!
3.智能与传统合约的区别
智能合约:
可以选择开源代码,这意味着,所有人都可以知道这个合约的内容及作用;
无法修改,由代码进行仲裁,解决信任问题;
可进行多方合作,消除潜在的人为错误和腐败风险;
设定每个人都同意的公开透明的标准
传统合约:
一般需要双方签署合同进行执行;
还需要法律的保护;
一旦出现了问题,需要很多机构来介入仲裁
4.为什么要信任智能合约
因为智能合约是存储在区块链上,它们是不可变的,且是分布式的。
不可变:意味着一旦智能合约被创建,这永远都无法改变。没有人可以背着你篡改合约。
分布式:意味着,合约的输出被网络上的每个人验证。因此,个人不能强迫智能合约放出资金。因为强迫的举动会被网络上其他人发现,并将其标记为无效。
所以,篡改智能合约几乎是不可能的,信任成本大大降低。
5. 智能合约面临的问题
1.智能合约在线上交易时涉及到了法币的交易时,处理比较麻烦,需引入权威的第三方。
2. 目前智能合约在日常活动中作用不大。一是技术上有难度,二是法律保护的缺陷。
3. 智能合约的编写必须非常严谨,如果出现漏洞,容易被黑客利用,就很悲惨了。比如著名的TheDAO事件,导致用户丢失了大量的以太币。
4. 信任度的问题,系统都设计成了无需信任的环境,意味着无法改正出现的错误,在现实生活中,发生错误后可通过中心化的系统来撤消。但如果是去中心化的系统,那就只能自己承担风险。
6.智能合约的应用场景
智能合约能应用的场景将非常广泛,小编选取几个方面畅想一下。
No.1 买车
在智能合约上有这么一辆车的所有权、价格和所有的细节、汽车的提供被上传到区块链;
你看到了并觉得很不错,你需要做的是用加密货币或者一个携带加密信息令牌的银行账号,就可以买下这辆车。整个区块链系统的每个节点都会更新总账,让每个人知道,在这个网络中,这辆车刚属于了你。
No.2 保险理赔
乘飞机买延误险,理赔就变得更加简单。投保乘客信息、航班延误险和航班实时动态均以智能合约的形式存储在区块链上。一旦航班延符合赔付标准,赔偿款将自动划账到投保乘客账户,十分高效,根本不需要跟工作人员费口舌、争论计赔等问题。
No.3 金融借贷
你借出一笔钱,虽然打了白纸黑字的借条,但是如果碰到了耍无赖的人,对方没有及时还钱,你还需要准备材料,找律师进法院。但智能合约简化了这繁琐的过程,双方把借款金额、还款时间、对方绑定银行卡信息等打包进合约中。到了约定还款日,借款自动划到你的账户里。
7. 总结
有人表示:随着区块链技术的到来,智能合约与区块链的结合可能会让人类社会结构产生重大变革。虽然智能合约还有一些问题,但随着技术的不断发展,必然会走向一个好的发展之路。
但也有人担心:智能合约很难广泛地做到无需信任、且需要依赖外部事物才能使它适用于大多数场景,难以保证可靠性。
其实,大家都希望能不断的有智能合约来简化我们的生活,但是智能合约未来的发展道路并不平坦,你会相信并支持智能合约的普及吗?