接触区块链时经常看到一个名词「智能合约」,到底智能合约是什么、与区块链又有什么关係呢?对区块链发展有什么帮助?下文问读者一一解答。 (前情提要:Tornado Cash创办人遭重罪起诉,专家:美国司法部不把罪行放在「智能合约」) (背景补充:马斯克xAI模型Grok实测》号称「最叛逆、幽默的AI人格」,能挑战ChatGPT?)
本文目录
智能合约(Smart Contracts)是区块链大规模发展进程中相当重要的一环,透过无法被窜改的合约,让链上双方可以在不需要信任彼此、去中心化的条件下完成一系列互动。
本文就来详细聊聊「智能合约」是什么?它实际上可以在区块链网路上做什么?
智能合约(Smart Contract)的概念源自于 1990 年代由美国电脑科学家及密码学家尼克・萨博(Nick Szabo)提出,是一种只要符合制定好的情况就能够自动执行的合约,在智能合约中不需要经过人的判断,只要由程式自动判断是否符合条件,合约将会自动执行。
当时尼克提出一个例子,自动贩卖机与使用者进行交易时,其实是依照制定好的规则执行,如:你投了 30 元,并选择买一瓶 25 元的绿茶,贩卖机会判断投掷的金额是 30 元并超过绿茶的价格,因此会找 5 元并且给你绿茶。
而智能合约在运行的过程中,通常以 “IF…”, “THEN…” 的逻辑语法构成,因此要同时满足所有条件才能执行,而这代码运行的特点就是,完全没有第三方介入,因此可以达成自动化、去中心化。
由于智能合约的特点,让智能合约适合以代码的方式,在具有去中心化、资讯透明、不可篡改三大特性的区块链上运行。
而在区块链上运行的智能合约的优点在:
有漏洞的智能合约会成为骇客、有心人士的攻击目标,因为即使是撰写不完善的智能合约的内容也不能被更改。
举例来说:在 2016 年由 V 神和一众 DAO 爱好者组成的社区,一个名为「The DAO」的去中心化自治组织由于其智能合约程式码在撰写中存在漏洞,导致遭骇并数百万的以太币(ETH)被盗。
以太坊是首个引入智能合约概念的区块链网路,其支持 Turing 完备的智能合约,让开发者可以在合约中编写任何计算逻辑,只要你的合约码是有效的。
以太坊的智能合约通常使用 Solidity 等编程语言来编写。Solidity是一种专为以太坊智能合约设计的语言,它具有类似于 JavaScript 的语法。开发者可以使用 Solidity 来编写合约代码,然后将其编译成以太坊虚拟机(EVM)可以执行的字节码。
总的来说,以太坊智能合约是一种在区块链上运行的自动化代码,它们可以执行各种不同的操作,并且受到区块链网路的共识机制和规则的约束。这些合约在区块链应用中具有广泛的应用,包括去中心化金融(DeFi)、NFT、代币发行、供应链管理等。
智能合约在区块链技术中有许多实际应用,以下是一些常见的举例: