区块链智能合约是什么意思?与传统合约的区别及优势
智能合约是一种计算机程序,在分散的“无信任”网络(例如区块链)上存储和运行。所谓无信任,我们的意思是网络中信息的有效性可以被任何人验证。许多人认为智能合约只适用于以太坊等较新的区块链网络,但比特币也使用智能合约,尽管功能有限。
以太坊最初的部分构想是作为一种推广比特币智能合约功能的方式。因此,以太坊网络是一个“图灵完备状态机”,这是一种学术上的说法,它是一个通用计算机,也是去中心化的。可以想象,这样一个网络的智能合约可以“计算”普通计算机上的程序可以计算的任何东西。这意味着该网络至少在理论上可以托管消息应用程序、视频游戏甚至整个社交媒体平台。然而,在目前的状态下,去中心化网络在它们可以支持的应用程序类型方面受到严重限制,速度和成本是主要的限制因素。我们在我们的区块链三难问题文章. 同样重要的是要注意,以太坊只是创建通用去中心化计算机器的众多网络中的第一个。
为什么有人会选择通过集中式云计算网络(例如亚马逊网络服务(AWS))在分散式网络上部署智能合约?毕竟,云计算比分散式计算更快、更便宜。答案是集中式网络对其速度和成本进行了重要的权衡。
由于智能合约存在于去中心化的无需信任的网络中,它们为程序的公平执行提供了更大的保障。例如,您必须相信您的银行会忠实地执行您的网上银行交易。即使银行是值得信赖的,也可能是银行的员工有恶意,黑客侵入了银行的网络,或者计算机硬件本身有故障。更不用说你几乎没有直接的方法来审计银行的交易,更不用说他们使用的软件了。智能合约和它们赖以生存的去中心化网络大大减少了对这些信任假设的需求。
对于许多用例,不需要透明、去信任和保证执行完整性的好处。例如,天气建模程序或空中交通管制监控程序可能从智能合约中获益甚微,而且会在速度和成本方面遭受重罚。然而,对于涉及金钱或财产的许多用例,速度和成本的权衡可能是值得的。例如,数字交易卡牌游戏、资产交换或发送和接收加密资产的程序。
智能合约如何运作
可以将以太坊等去中心化无信任网络视为共享计算机,智能合约是在共享计算机上运行的软件程序。开发人员用编程语言编写智能合约,然后将它们部署到共享计算机上。当你将智能合约部署到“计算机”时,你实际上在做的是在网络上注册一个特殊地址。任何人都可以通过将该网络的本机令牌发送到合同地址来与已部署的智能合同进行交互。对于以太坊网络,您将使用 ETH。这会触发合约中的代码根据其逻辑执行。就像任何其他编程语言一样,代码会沿着“如果这样,那么那样”模型自动执行。
例如,在以太坊网络上,可以编写一个简单的智能合约,当您向它发送 1 个 ETH 时,您的 1 个 ETH 被分成 12 个相等的部分,每个部分每隔一个月发送到指定地址。这将有效地创建类似于信托基金的东西。
对于完全存在于数字世界中的用例,智能合约允许人们完全绕过中介。例如,在我们上面的“信托基金”示例中,我们有效地消除了对律师和托管托管账户的需求。相反,我们只需将 ETH 发送到合约,并确保它将完全按照合约规定发送给信托基金接收人,而无需进一步输入。
智能合约正以更复杂的方式用于创建去中心化应用程序 (DApp),以执行诸如允许加密资产的无许可交换,甚至是玩家可以真正拥有的具有数字财产的游戏