区块链之智能合约详解

news/2024/7/5 2:28:46

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

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

在这里插入图片描述

什么是智能合约?

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

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

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

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

  1. 数据透明

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

  1. 不可篡改

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

  1. 永久运行

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

智能合约的应用

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

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

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

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

智能合约的工作原理

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

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

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

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

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

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

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

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

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

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


http://lihuaxi.xjx100.cn/news/236931.html

相关文章

文件操作示例脚本 tcl

linux 下,经常会对用到文件操作,下面是一个用 tcl 写的文件操作示例脚本: 其中 set f01 [open "fix.tcl" w] 命令表示 打开或者新建一个文件“fix.tcl”,并将其 file ID 设置为 f01,后续就以这个 file ID 来…

智能合约详解

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 尽管比特币(Bitcoin)和以太坊(Ethereum)是经常被一起提及的两个词,但实际上,…

Netty 粘包 拆包 编码 解码 序列化 介绍

目录: 粘包 & 拆包及解决方案 ByteToMessageDecoder基于长度编解码器基于分割符的编解码器google 的 Protobuf 序列化介绍其他的前言 Netty 作为一个网络框架,对 TCP 连接中的问题都做了全面的考虑,比如粘包拆包导致的半包问题&#xff0…

CDN全站加速助力企业云上升级

[2018云栖大会南京分会飞天技术汇专场,阿里巴巴高级技术专家魏晋带来题CDN全站加速助力企业云上升级的演讲。主要内容是结合实际客观案例详细解读全战加速产品如何对动静态业务进行的加速,结合安全WAF等其他运营产品,对如何构建适合大部分业务…

区块链兼容以太坊智能合约

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 引言 随着区块链技术以及应用的普及,越来越多的区块链出现在大众视野中。由于区块链技术的开源特性,任何公司和个人都可以…

Kafka史上最详细原理总结

KafkaKafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场…

单例和多例的区别

为什么80%的码农都做不了架构师?>>> 需要明白以下几个问题: 1. 什么是单例多例;2. 如何产生单例多例;3. 为什么要用单例多例4. 什么时候用单例,什么时候用多例; 1. 什么是单例多例: 单例&#…

区块链简史:解读这场技术革命的前世今生

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 真格基金徐小平的一个“内部讲话”被泄露,揭开了创投圈对区块链的新一轮热衷。 在这份微信群的“内部讲话”中,徐小平把区块…