2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 区块链上智能合约的讲解

区块链上智能合约的讲解

时间:2023-01-05 20:04:37

相关推荐

区块链上智能合约的讲解

智能合约

智能合约是在区块链上运行的应用或者程序。通常情况下,智能合约是一组具有特定规则的数字化协议,且这些协议能够强制化执行。这些规则由计算机代码预先定义,所有节点会复制和执行这些计算机源码。智能合约不需要依靠双方互相信任的前提,只需要双方根据事先协商好的内容形成合约,在特定的触发条件下执行合约,省略了对于第三方中介的需求,从而降低了运营的成本。简单的讲,智能合约是一个确定性的计划。当满足某些条件的时候,则会执行特定的任务。因此,智能合约系统通常遵循“if...then...”的条件语句。智能,仅仅体现在它可以自动执行,不需要人工参与。再次精简:当我们设置银行自动还款,这样每到还款日,银行账户会自动从余额中扣除固定的金额转给信用卡,如果银行账户钱数不够那么付款就会失败,将会触发另外一套工作流程。智能合约也依据这个逻辑自动化执行,除了智能合约是部署在区块链上,由多方运行,而不是单方控制。

智能合约的特征

分布式。智能合约在以太坊网络的所有节点中被复制和分发,这种方式与基于中心化服务器的其他解决方案区别显著。一致性。在满足要求的情况下,智能合约仅执行其预先设计的操作。而且,无论任何节点执行,结果都是一致的。自动化。智能合约可以自动执行各种任务,就像自动执行程序一样。但是,在大多数情况下,如果未触发智能合约,它将保持“休眠”状态,并且不会执行任何操作。不可篡改。智能合约一经部署,则无法更改。只有预先实现了特定功能,才能执行“删除”。因此,我们可以说智能合约可以提供防篡改程序。定制化。在部署之前,智能合约可以通过多种不同方式进行编码。因此,它可用于创建许多不同的分布式应用程序。这与以太坊具有图灵完备的区块链特征相关。无需信任。两方或多方可以通过智能合约进行互动,而无需相互了解或取得信任。此外,区块链技术可确保数据准确无误。透明性。由于智能合约基于公有区块链,因此其源代码不仅不可篡改,而且对任何人都是透明的。

智能合约更改或者删除

以太坊智能合约一经部署,则无法再继续添加新功能。但是,如果其合约创建者在代码中预留了名为SELFDESTRUCT的函数,那么将来可以“删除”智能合约,也可以用新的合约替换它。如果未在合约代码中预留该函数,则它们将无法被删除。值得注意的是,所谓的可升级智能合约支持开发人员在不可篡改方面拥有更大的灵活性。有许多方法可以创建可升级的智能合约,每个合约都可具有不同程度的复杂性。举一个简单的例子,我们假设将智能合约分为多个较小的合约。其中一些被设计为不可变更的,而另一些则启用了“删除”功能。这意味着可以删除和替换部分代码(智能合约),而其他功能保持不变。

局限性

智能合约由人工编写的计算机代码组成。这也带来了许多风险,代码容易受到攻击和漏洞的影响。理想情况下,它们应由经验丰富的程序员编写和部署,特别是涉及敏感信息和大量资金时。除此之外,有人认为中心化的系统也可以提供智能合约的大部分解决方案和功能。主要区别在于智能合约在分布式的点对点网络中运行,而不是运行在中心化服务器上。因为它们基于区块链系统,所以它们往往是不可篡改的。在某些情况下,智能合约的不可篡改性优势明显,但其他情况下却很糟糕。例如,由于其智能合约代码存在缺陷,名为“The DAO”的分布式自治组织(DAO)在被黑客攻击时,损失高达数百万枚以太币(ETH)。由于他们的智能合约是不可变更的,开发人员无法修复代码。这最终导致出现了硬分叉,诞生了第二个以太坊链。简而言之,一条链进行“回退”,并将资金返还给了合法的所有者(这是当前以太坊区块链的一部分)。而另一条链决定不受此次攻击影响,坚持区块链上发生的事情永远不可改变(这个链现在称为以太坊经典)。需要注意的是,造成该问题并不是以太坊区块链的原因,它是由智能合约的错误执行所引发的。智能合约的另一个限制与其不确定的法律地位有关。智能合约在大多数国家仍处于灰色地带,且不适应当前的法律监管框架。例如,许多合约都要求交易双方彼此实名认证且超过18岁。但区块链技术提供的匿名性,加上缺乏中间人,可能会影响这些要求。虽然有潜在的解决方案,但目前看,智能合约的法律可执行性是一项真正的挑战,尤其是在没有边际的分布式网络中。

图片

参考链接

一篇文章让你了解什么是智能合约

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。