以太坊上的智能合约是如何运作的?

发布日期:2020-06-26

就像其他许多区块链产业的点子一样,人们◐也对「智能合约」抱着无比的疑惑。智能合约这个ミ名词误导℡了人们对于智能合约合约核心运作模式的理解,因此这个透过区块链达成的技术让人们不∧是很好理≈解。

一个我们日常生活中所提到的合约,是指一种通常透过法律作为强制力的两造关系。但是智能合约的强制力是透过加密的程序所达成的。换句话说智能合约是一些我们写◄好的程序,而且这些程序会照И着程序开发者当初设定的内容运作。

在1993年,智能合约这个概念才被提出来。提出者是Nick Szabo,他是一位电░脑科┙学家也是一位密码学家。他最早把智能合约描述为一种数位⿶贩卖机的概念。在他的例子中,他描述使用者如何能输入数据或数值,从机器去换取✿。✿有限的物品,在这个例子中这№有限的物品是零食和气泡饮料。

在一个简单的例子中,以太坊使用者可以利用智能合约,在指定时间,传〥送1↓0个以太币给自己的朋友。

在这个例子中,使用◇者可以写一个智能合约,并且给予合约○所需的数据,然后合约就可以◥执行我们所需的任务。

但其实这个新工具不是被设计为单独使用。人们相л信我们可以透过智能Ы合约技术,去达成︰去中心☎化应用程序(Dapp),甚至是一个去中☆心化自己运作的公司(DAO)。

智⊙能合约是如何运作的?

我们必须注意到,其实比特币就已经支持某些基本的智能合约功能。在交易被发出去以后,比特币网络上的节点可以设定在某些状况才去验证之前发出去的╪交易。*但是比特币被局限在仅能当作货币用途使用。

相反的,以太坊把比特币较◇为受限的语言(比特币是大概一百多个脚本所构成的脚本语言,详见biTC▕Oin wiki),用一个允许软件工程师任意发挥他们能力的语言取代。

以太坊允许开发者去┐开发他们自己的智能合约,或┆┇者用※以太坊白皮☞书里面的说法 — 自动代理人(autonomous agents)。并且以太坊提供的语言是图灵完备的,代表说它能支持更多的计算指令。

智能合约能做到:

多重签名,这样资金可以只有在指定一群人中达到指定比例的人同≤意后才能被┈┉花费。
管理多个使用者之间的合约、协议。就像是纪录是某个人向另个人买了↕保险。
提供其他合约所需的功能及服务。(就◥像是写软件时所需要用到的函式库)々
做应用软件的纪录,比如说像是域名申请的信息或者是会员资ↅ料■纪录。

群众‖|的力量

从最后一点就可以推断,智能合约很可能需要来自其他智能合约功〗能上的支持∠。比如说有人写了一个能在夏天对气温下Du的简单智能合约。这个合约可能就会触发其他合约。一个合约负责从外部得到天η气信息,另个∮合约负责Du博所需要的计算,他就可以透过第一个合约回传的数据去计算赔率。

在运作智能合约的时候需要支付以太币当作交易手续费。而这个ъ交易手▇█续费会随着所需计算指令数量的增加而增加。

就像在另一篇文章以太坊是如何运作的中提到的以太坊的智能合¤约会在使用者或者另一个合约送足够交易费┄┅的信息开始运作。以太坊虚拟❤☜机就会以位组码(bytecode)的方式去执行智Ш能合约,而位元组码是一连串可以被以太坊网络所读取′和编译0和1。


来源:区块网

󰄯 分享