您当前的位置: > 热点资讯 >
什么是智能合约?
2009年,着名的加密货币比特币的发明者证明,有一种方式可以在线兑换货币,而无需通过银行,在线支付服务或其他集中管理机构。
比特币也推广了区块链,它的基础技术。区块链是一种分布式分类账,使各方能够在不需要中介的情况下注册和转让任何数字资产的所有权。
很快,开发人员希望在加密货币之外的区块链上创建各种应用程序,并简单地转移货币价值。
2015年,第二大区块链和加密货币以太坊启动。以太坊和比特币之间的主要区别之一是它使开发人员能够在其分散的网络上发布和运行智能合约,从而获得“世界计算机”的称号。
智能合约是在区块链上执行的一些代码,无需服务器。他们被称为“聪明”,因为他们自主运行,并“合同”,因为他们主要是为了履行多方之间复杂的资产转移形式。
智能合约具有区块链交易的特征,这意味着它们是透明的,不可变的和可审计的。任何一方都不能篡改它们并根据自己的利益进行修改,每个人都可以平等地访问它们。
智能合约技术仍处于起步阶段,为许多不同类型的分散应用铺平了道路。它并非没有缺陷和限制,但它肯定是有希望的。
智能合约如何运作?
智能合约为区块链交易添加了信息和逻辑层。开发人员可以使用智能合约来设置交易条件。当满足这些条件时,交易自动执行,并且基于智能合约的逻辑,在不同的相关方之间分配令牌或数字资产。
开发人员使用Solidity编程语言编写智能合约,编译并在以太坊网络上发布。还有其他编程语言,但Solidity是迄今为止最受欢迎的语言。
已发布的智能合约有公共地址。用户可以通过将ETH发送到他们的地址来触发它们,就像他们想要将资金发送给其他人一样,以及一些额外的数据。支持以太坊网络和验证交易的相同计算机执行智能合约。由于以太坊网络是分散的,它保证了智能合约的公平和透明执行。没有单个节点可以更改合同的条款和结果,因为它会与网络中的其他计算机相矛盾。
智能合约和分散式应用程序(DApps)
虽然智能合约可以独立运行,但它们也可以相互呼叫,就像任何传统程序中的程序和功能一样。例如,一个智能合约可能在其完成或执行过程中触发另一个智能合约。
通过创建互连的智能合约,开发人员可以创建分散的应用程序(DApps),完成在区块链上运行的程序。此外,更复杂的智能合约和DApp阵列可以创建分散的自治组织(DAO)。DAO是组织结构,无需人工管理人员,并根据他们对网络的贡献来补偿所有参与者。(DAO实际上要复杂得多,但完整的讨论超出了本文的范围。)
智能合约的例子
基本上,无论人工经营的任何地方都在协调和运营合同,您都可以用智能合约代替它们。想想房地产,供应链,应用商店,音乐产业,电影业,广告业,游戏 ......
以下是几个例子:
巧妙的合同,弥补艺术家
让我们说一群音乐家想要出售他们的新唱片。在过去,他们不得不通过唱片公司和音乐行业中可以访问广告和发行渠道的其他公司。这些中间人首先必须认为他们可以接受,然后如果他们决定分发他们的记录,他们将从他们的收入中大幅削减。音乐家所做的比他们创作的价值要低得多。
后来,在线平台使艺术家能够直接与他们的观众交流。这是对旧机制的改进。但这些平台仍然是集中的,其所有者继续大幅削减艺术家的收入。
现在想象一下,音乐家们为他们的新唱片发布了一份智能合约。任何想要获得音乐许可的人都会向智能合约发送以太币。金额取决于许可证的类型和客户想要的使用期限。作为交换,他们会收到一个数字键,使他们能够访问音乐。他们的交易也存储在区块链上,这无可辩驳地证明他们已经购买了音乐许可证并且没有盗版。
智能合约直接将资金发送给音乐家。乐队的每个成员获得的金额可以在智能合约中达成一致并注册,智能合约将自动在其钱包中分配。智能合约还可以编程为在客户到期时自动撤销其许可。
这是一个适用于其他行业的模型,例如应用商店,开发人员必须将大部分收入支付给应用商店所有者。
酒店的智能合约
说一个人想租一个酒店房间。此人可以向酒店房间的智能合约付款。如果房间不可用,客户将自动退款。如果可用,智能合约将在指定的时间内将密钥提供给客户,并且他们将能够使用具有其身份的房间。
当租赁期结束时,智能合约(或原始合同触发的另一个)将撤销该密钥。此外,如果酒店由多方拥有,智能合约可以自动在他们之间分配收入。
多重签名钱包
多签名钱包对于想要使用加密货币但需要在付款之前需要多方确认的企业和组织来说是有用的工具。为了使用多重钱包付款,第一个用户调用钱包智能合约以及目的地地址和要交易的资金数量。智能合约返回下一个用户必须通过其他智能合约呼叫确认的交易号。当足够的用户确认了交易时,转移完成。
智能合约的好处
首先,智能合约通过无可否认的数学证明自动化流程,从而消除了对律师,公证人和其他经纪人的需求。
其次,智能合约提供透明和不可变的注册。与集中式系统相反,合同存储在有围墙的花园中,并由向其客户提供服务的组织提供担保,智能合约执行的所有内容都存储在区块链中,不可更改且可供所有人使用。
这两个特征的直接结果是,首先,您节省了大量资金但削减了经纪人成本,其次,您的文件和合同被多次备份,而不是存储在可能被篡改的地方或销毁。
智能合约的安全风险
尽管它们具有重要的好处,但智能合约确实存在一些严重的安全风险和考虑因素。2016年,DAO的智能合约存在安全漏洞,这将是分散式自治组织的首次使用,使黑客能够窃取360万ETH,占当时流通中所有以太网的15%。
去年,黑客利用Parity multi-sig钱包的智能合约中的漏洞窃取150,00 ETH,几个月后,同一个钱包中的另一个漏洞冻结了用户账户中的大约514,000 ETH。这些只是导致数字货币被盗的智能合约相关的许多安全事件中的一部分。
区块链本身可以抵御篡改和许多其他类型的网络攻击。不幸的是,许多人将这一概念扩展到智能合约,这是不正确的。与所有计算机源代码一样,智能合约容易出现编码错误和缺陷。但是,智能合约有两个截然不同的功能,使它们比其他计算机程序更敏感。
首先,智能合约涉及金钱,这意味着恶意行为者会更有兴趣寻找能够获得免费数字现金的缺陷。其次,一旦发布了智能合约,就像区块链中存储的所有其他信息一样,它就变得一成不变。这意味着即使您在智能合约中发现缺陷,您也无法修复它。您可以使用包含更正后的代码的新地址发布智能合约的新版本,但旧版本仍将保留。
这意味着,与传统软件相反,我们习惯于通过智能合约完成发布和修复代码的循环,开发人员必须尽一切努力在第一遍中获得正确的代码。