链客,专为开发者而生,有问必答!
此文章来自区块链技术社区,未经允许拒绝转载。
“智能合约是一套以数字形式定义的承诺,承诺控制着数字资产并包含了合约参与者约定的权利和义务,由计算机系统自动执行。”
“智能合约程序不只是一个可以自动执行的计算机程序,它本身就是一个系统参与者,对接收到的信息进行回应,可以接收和储存价值,也可以向外发送信息和价值。这个程序就像一个可以被信任的人,可以临时保管资产,总是按照事先的规则执行操作。”
好了,反正我们光看定义是怎么也不能理解透彻的,九少爷继续以例子的形式来讲讲。
传统合约和智能合约
在我们的现实社会中,我们会遇到很多场景去签一些合同,以约束双方的经济行为,但是即使我们签了合同,也无法保证在合同期内双方就一定能完整履行合同内的承诺。
举个例子:
你和你的一个朋友打赌,说明天的天气预报到底准不准,赌注20块钱,你赌准,他赌不准。然后到了第二天,天气果然和天气预报说的一样,那么他应该支付你20块钱,但是你的朋友耍赖,就是不支付这20块,结果就是你也没什么办法。
那么一般是怎么处理呢?你们为了保证你们的对赌能正常,你们找了一个可信任中介人,你们把各自的20块钱放到了中介那里,这样总可以了吧。
但是第二天,中介又为难了,因为天气预报预报的是多云,而实际天上的云不多也不少,这时你认为这样的天气就是多云,而你的朋友认为这样的天气不是多云,中介也是人啊,于是在判断天气到底是不是符合昨天天气预报的条件上,又出了问题。
最后一番争吵过后,中介决定一半云也算多云天气,你赢了这个对赌,正准备给你40块钱的时候,发现钱没带,于是只好等第二天才能把钱给你。
所以你看,传统的合约会受到各种维度的影响,自动化维度,主客观维度,成本维度,执行时间维度,违约惩罚维度,适用范围维度等。
而智能合约则在很大程度上解决了这些问题。
你只需要提前规定好合约内容,程序就会在触发合约条件的时候自动执行合约内容。
譬如,你规定合约内容是,明天中午12点判断天气是否和天气预报一样,如果是多云天气的话,超过一半云就算多云,否则不算。当第二天中午12点合约执行,如果你赢了,钱会自动打到你账上。一切解决。
例子举得比较简单,但你可以领会到智能合约能解决的一些问题。
智能合约和区块链
“智能合约的工作理论迟迟没有实现,一个重要原因是因为缺乏能够支持可编程合约的数字系统和技术。区块链技术的出现解决了该问题,不仅可以支持可编程合约,而且具有去中心化、不可篡改、过程透明可追踪等优点,天然适合于智能合约。因此,也可以说,智能合约是区块链技术的特性之一”
摘录来自: “区块链:从数字货币到信用社会”。
有一些朋友可能会问,九少爷,你上面说的智能合约,不就是一段条件判断的代码嘛,现在很多担保网站或系统不是也一样嘛,像淘宝的交易流程,不也是买家付款到系统里,然后卖家发货,买家收到货,系统再把钱打给卖家。这不早就实现了嘛?
区块链的特性是:
数据无法删除、修改,只能新增,保证了历史的可追溯,同时作恶的成本将很高,因为其作恶行为将被永远记录
去中心化,避免了中心化因素的影响
而像上面说的淘宝那套支付担保系统,依然是中心化的,合约是否公正或正常执行,也全靠中心来决定。如果中心要作恶,我们依然没有办法。
而基于区块链技术的智能合约不仅可以发挥智能合约在成本效率方面的优势,而且可以避免恶意行为对合约正常执行的干扰。将智能合约以数字化的形式写入区块链中,由区块链技术的特性保障存储、读取、执行整个过程透明可跟踪、不可篡改。同时,由区块链自带的共识算法构建出一套状态机系统,使智能合约能够高效地运行。
智能合约的应用场景
智能合约能应用的场景将非常广泛,譬如房租租赁、差价合约、代币系统、储蓄钱包、作物保险、金融借贷、设立遗嘱、证劵登记清算、博彩发行等。
我们以房租租赁场景举个例子:
大家知道老九村是一个基于区块链交易系统的村子,村里阿花向阿明租了一套房子,租金500,月付,租一年。房子的锁是密码锁,需要阿花生成的开锁秘钥打开。
智能合约执行步骤:
1.阿花和阿明的合约提交给村里的智能合约服务器,服务器发布到区块链上生效。
2.阿花将开锁秘钥和账户地址提供给智能合约服务器。
3.阿明向服务器支付500 * 12 = 6000老九币作为抵押。
4.合约开始执行,服务器从阿明的抵押资金中扣除500,发给阿花的账户,并把房子的开锁秘钥发给阿明,记录记到区块链。
5.每个月1号智能合约都会检查租约时间,没到期,就会自动扣除租金,然后把新的开锁秘钥发给阿明。
6.如果租约到期,服务器就会生成一条合约纪录,标志合约终止,并发布到区块链上,合约终止。
7.整个过程受到老九村村委会监督,村委会可以随时查看合约执行情况。
这样,阿花和阿明什么事都不用做,就完成了这套交易。当然不同的场景合约条件和内容也是不尽相同的。
智能合约的未来
随着区块链技术的到来,智能合约与区块链的结合可能会让人类社会结构产生重大变革。智能合约解决了传统合约中的信任问题,大幅降低了信任成本,虽然智能合约还有一些问题,但随着技术的不断发展,必然会走向一个好的发展之路。