区块链芝士 | 智能合约的主要特征
以太坊智能合约通常具有以下特征:
分布式--智能合约在以太坊网络的所有节点中被复制和分发,这种方式与基于中心化服务器的其他解决方案区别显著。
一致性--在满足要求的情况下,智能合约仅执行其预先设计的操作。而且,无论任何节点执行,结果都是一致的。
自动化--智能合约可以自动执行各种任务,就像自动执行程序一样。但是,在大多数情况下,如果未触发智能合约,它将保持“休眠”状态,并且不会执行任何操作。
不可篡改--智能合约一经部署,则无法更改。只有预先实现了特定功能,才能执行“删除”。因此,我们可以说智能合约可以提供防篡改程序。
定制化--在部署之前,智能合约可以通过多种不同方式进行编码。因此,它可用于创建许多不同的分布式应用程序(DApps)。这与以太坊具有图灵完备的区块链特征相关。
无需信任--两方或多方可以通过智能合约进行互动,而无需相互了解或取得信任。此外,区块链技术可确保数据准确无误。
透明性--由于智能合约基于公有区块链,因此其源代码不仅不可篡改,而且对任何人都是透明的。
智能合约可以被更改或删除吗?
以太坊智能合约一经部署,则无法再继续添加新功能。但是,如果其合约创建者在代码中预留了名为SELFDESTRUCT的函数,那么将来可以“删除”智能合约,也可以用新的合约替换它。如果未在合约代码中预留该函数,则它们将无法被删除。
值得注意的是,所谓的可升级智能合约支持开发人员在不可篡改方面拥有更大的灵活性。有许多方法可以创建可升级的智能合约,每个合约都可具有不同程度的复杂性。
举一个简单的例子,我们假设将智能合约分为多个较小的合约。其中一些被设计为不可变更的,而另一些则启用了“删除”功能。这意味着可以删除和替换部分代码(智能合约),而其他功能保持不变。