区块链之智能合约详解

链客,专为开发者而生,有问必答!

此文章来自区块链技术社区,未经允许拒绝转载。

在这里插入图片描述

什么是智能合约?

智能合约又称智能合同,是由事件驱动的、具有状态的、获得多方承认的、运行在区块链之上的、且能够根据预设条件自动处理资产的程序,智能合约最大的优势是利用程序算法替代人仲裁和执行合同。

简单说,智能合约是一种用计算机语言取代法律语言去记录条款的合约。智能合约可以由一个计算系统自动执行。简单地说,智能合约就是传统合约的数字化版本。

如果区块链是一个数据库,智能合约就是能够使区块链技术应用到现实当中的应用层。智能合约是在区块链数据库上运行的计算机程序,可以在满足其源代码中写入的条件时自行执行。智能合约一旦编写好就可以被用户信赖,合约条款不能被改变,因此合约是不可更改的。

区块链智能合约有三个技术特性:

  1. 数据透明

区块链上所有的数据都是公开透明的,因此智能合约的数据处理也是公开透明的,运行时任何一方都可以查看其代码和数据。

  1. 不可篡改

区块链本身的所有数据不可篡改,因此部署在区块链上的智能合约代码以及运行产生的数据输出也是不可篡改的,运行智能合约的节点不必担心其他节点恶意修改代码与数据。

  1. 永久运行

支撑区块链网络的节点往往达到数百甚至上千,部分节点的失效并不会导致智能合约的停止,其可靠性理论上接近于永久运行,这样就保证了智能合约能像纸质合同一样每时每刻都有效。

智能合约的应用

如果能够通过区块链来发行法币,那么也可以通过智能合约技术,将代码嵌入到法币发行的行为中,则这部分法币可以被称为“可编程货币”。

比如,如果央行指定某一部分资金是发放到农业相关的账户,那么则可以对这部分资金写入相应程序,指定该部分资金只能进入到农业相关的账户中,那么这部分资金在任何情况下也不可能会被挪用到其他的账户中。

再比如,与房屋租金协议相关的智能合约只有当业主收到租金才会触发自动执行,并将公寓的安全密钥发送给租户。这个合约可以确保租金的定期支付,并且每个月重启。

智能合约在其他领域都可以广泛的应用,这里只略举两例。

智能合约的工作原理

开发人员会为智能合约撰写代码。智能合约可用于交易和(或)两方/多方之间的任何交换行为。该代码包含一些会触发合约自动执行的条件。

一旦编码完成,智能合约就会被上传到区块链网络上,即它们被发送到所有连接到网络的设备上。从另一种区块链应用——比特币——的情况来说,这就好像把关于比特币交易的网络更新上传到区块链上。

一旦将数据上传到所有设备上,用户就可以与执行程序代码的结果达成协议。然后更新数据库以记录合约的执行情况,并监督合约的条款以检查合规性。

这样一来,单独一方就无法操纵合约,因为对智能合约执行的控制权不在任何单独一方的手中。

与传统合约相比,智能合约有很多优势:

一、智能合约与传统合约相比,最大的特点和优势就是其解决了“信用”的问题。传统合约达成前,参与者先要了解各方的信用背景以选择合适的对象,合约达成后的阶段,也要依赖于各方的诚实信用,或者引入第三方(如支付宝)来担保合约履行。

二、智能合约因为链上的资源是真实透明的,合约的内容确定后就无法更改,执行更是不用依赖任何额外操作。最终,“匿名信用”成为现实,合约缔结前无需进行信用调查,缔结后也不用第三方进行担保履行,从而实现交易成本大大降低,交易效率则大幅提高。

三、智能合约的数据无法删除、修改,只能新增,而智能合约的历史可追溯,同时篡改合约或违约的成本将很高,因为其作恶行为将被永远记录并广为人知。

四、去中心化的智能合约,不依赖第三方执行合约。因此,智能合约的潜在好处包括降低签订合约、执行和监管方面的成本;因此,对很多低价值交易相关的合约来说,这是极大降低人力成本。合约验证和执行的整个过程随着用户间的直接交易而变得快速。

五、智能合约不容易出现断电、节点故障、水灾火灾等问题。智能合约保存在区块链分布式账本上时,不存在放错或丢失的风险。这意味着连接到网络的每个设备都有一份合约副本,并且数据会永远保存在网络上

Published by

风君子

独自遨游何稽首 揭天掀地慰生平