区块链智能合约是什么?有哪些应用和优缺点?

news/2024/7/8 2:27:05

链客,专为开发者而生,有问必答!

此文章来自区块链技术社区,未经允许拒绝转载。

在这里插入图片描述

关注区块链就会经常听到“智能合约”的术语,那么如何理解“智能合约”?它从何而来,它如何运作?它有什么优缺点?……本文适用于初学者。

我们经常会听到区块链技术的流行语,如“去中心化网络”“智能合约”等。有些人投资的时候,可能不会去关注项目的复杂细节,但不少成功的投资者对于“智能合约”等重要术语非常熟悉,对加密货币背后的具体技术理解透彻。

我们可以从智能合约的历史到智能合约的应用一一阐述。首先要提到的是,本文不涉及任何投资建议。本文主要是阐述智能合约的关键部分以及它对区块链和加密货币的潜在重要性。

智能合约的历史

在全面阐述什么是智能合约之前,我们先回顾一下它创建的历史背景,有助于理解它的重要性。

1994年,计算机科学家和密码学家Nick Szabo首次提出“智能合约”概念。它早于区块链概念的诞生。Szabo描述了什么是“以数字形式指定的一系列承诺,包括各方履行这些承诺的协议”。虽然有它的好处,但智能合约的想法一直未取得进展——主要是缺乏可以让它发挥出作用的区块链。

直到2008年,第一个加密货币比特币才出现,同时引入了现代区块链技术。区块链最初是以比特币的底层技术出现的,各种区块链分叉导致发生很大的变化。智能合约在2008年依然无法融入比特币区块链网络,但在五年后,以太坊让它浮出水面。从此,涌现出了各种不同形式的智能合约,其中以太坊智能合约使用最广。

智能合约的概念可以追溯到1994年,由Nick Szabo提出,但直到2008年才出现采用智能合约所需的区块链技术,而最终于2013年,作为以太坊智能合约系统的一部分,智能合约首次出现。

什么是智能合约

上面提到了历史背景,下面从多个角度继续探讨。智能合约是一种特殊协议,旨在提供、验证及执行合约。具体来说,智能合约是区块链被称之为“去中心化的”重要原因,它允许我们在不需要第三方的情况下,执行可追溯、不可逆转和安全的交易。

智能合约包含了有关交易的所有信息,只有在满足要求后才会执行结果操作。智能合约和传统纸质合约的区别在于智能合约是由计算机生成的。因此,代码本身解释了参与方的相关义务。

事实上,智能合约的参与方通常是互联网上的陌生人,受制于有约束力的数字化协议。本质上,智能合约是一个数字合约,除非满足要求,否则不会产生结果。

智能合约如何运作?

很多区块链网络使用的智能合约功能类似于自动售货机。智能合约与自动售货机类比:如果你向自动售货机(类比分类账本)转入比特币或其他加密货币,一旦输入满足智能合约代码要求,它会自动执行双方约定的义务。

义务以“if then”形式写入代码,例如,“如果A完成任务1,那么,来自于B的付款会转给A。”通过这样的协议,智能合约允许各种资产交易,每个合约被复制和存储在分布式账本中。这样,所有信息都不能被篡改或破坏,数据加密确保参与者之间的完全匿名。

虽然智能合约只能与数字生态系统的资产一起使用,不过,很多应用程序正在积极探索数字货币之外的世界,试图连接“真实”世界和“数字”世界。

智能合约根据逻辑来编写和运作。只要满足输入要求,也就是说只要代码编写的要求被满足,合约中的义务将在安全和去信任的网络中得到执行。

编程语言和程序

为了编写智能合约,你必须使用智能合约语言(SCL)。这些是直接编写智能合约或编译成智能合约的编程语言。Solidity是一种编写智能合约的编程语言,它在以太坊虚拟机上运行。它是一种面向合约的高级语言,其语法类似于JavaScript,主要针对以太坊EVM。

以太坊虚拟机(EVM)是以太坊上智能合约的运行环境。它实际上是完全隔离的,这意味着在EVM上运行的代码无法访问网络、文件系统和其他进程。智能合约对其他的智能合约的访问权也有限,在区块链网络上单独运作。

在以太坊网络上编写智能合约有三个主要步骤:

  1. 用以太坊高级语言编写

  2. 用EVM编译器编译成字节码

  3. 用以太坊客户端上传到区块链网络

对于智能合约和开源编码感兴趣的人,广为人知的资源之一是GitHub。这是开发人员托管软件代码的在线平台。你的每段代码会存在存储库中,存储库基本上是一个存储所有代码组件的文件夹。

很多人把其他人的存储库复制和粘贴到自己的账户中,然后进行微调整,变成自己的。通过搜索项目和存储库来浏览页面,可以帮你构建自己的项目。一旦找到你所需要的存储库,打开它并搜索内容,会包含大量有用代码的复杂内容。使用上述程序和资源,你也可以创建自己的智能合约。

智能合约是用SCL编写的,以太坊智能合约功能归功于以太坊虚拟机。这是以太坊上智能合约的运行环境。

智能合约的优缺点

就像任何其他新的系统协议一样,智能合约并不完美。使用智能合约有几个优点和缺点,包括更高的效率和缺乏监管。具体来说:

使用智能合约的一些主要优势包括在处理文档时的更高效率。这归功于它能够采用完全自动化的流程,不需要任何人为参与,只要满足智能合约代码所列出的要求即可。结果是,会节省时间,降低成本,交易更准确,且无法更改。

此外,智能合约去除任何第三方干扰,进一步增强了网络的去中心化。

另一方面,智能合约的使用也会产生不少问题。一些缺点包括:人为错误、完全实施有困难、不确定的法律状态。

虽然很多人把智能合约的不可逆转特性看作是它的主要好处,但也有人认为一旦出现问题无法修改。因为人类会犯错误,在创建智能合约时也一样,一些绑定协议可能包含错误,而它们是无法逆转的。

此外,智能合约只能使用数字资产,在连接现实资产和数字世界时会出现问题。最后也是最重要的是,智能合约缺乏法律监管,只受制于代码约定的义务。缺乏法律监管可能会导致一些用户对网络上交易持谨慎态度,特别是它很重要的话。

使用智能合约的优点是处理交易时效率更高,不可逆转,安全的交易以及全自动化流程。另外一个方面,缺点就是缺乏法律监管,人为的错误和实施有困难。

智能合约的应用

智能合约已在各种区块链网络中得以实施,其中最重要和最受欢迎的依然是比特币和以太坊。虽然比特币网络以使用比特币执行交易闻名,它的协议也可以用来创建智能合约。比特币实际上提供的是一种编程语言,允许创建自定义智能合约,比如支付通道。

以太坊则是目前为止最引人注目的智能合约框架,因为它是专门为支持智能合约的使用创建的。用Solidity语言编程,以太坊智能合约框架有助于促进去中心化网络,便于用智能合约处理交易。

除了加密货币之外,在不同行业的也有用户场景,例如选举、供应链优化、电子商务中可有效利用智能合约。

因此,加密爱好者看到了最近智能合约的发展,它与区块链技术携手合作,致力于改变数字化世界。

智能合约可以用比特币和以太坊创建。各行各业可以从智能合约发展中受益,包括选举、供应链和电子商务等。

结论

智能合约真的智能吗?它让区块链网络上执行的交易效率更高,同时,由于它是无法修改的,也由此要谨慎查看协议。

无论你如何看待智能合约,越来越多的项目正在寻找驾驭它的方法,它们很多是从以太坊智能合约开始的。随着对智能合约的研究不断推进,可以关注它取得的进展,但最重要的是,不要忘记智能合约在执行交易方面的重要性,交易在区块链网络上是安全的、无须信任和分布式的。


http://lihuaxi.xjx100.cn/news/236995.html

相关文章

main函数参数

参考:Where Does GCC Look to Find its Header Files? 命令行参数 VS 程序参数 ./a.out 1 2 3 4 5 6 1 2 3 4 5 6是程序参数,是传给a.out这个程序处理的,main里面的argv来接收 ./a.out 1 2 3 4 5 6完整的这一串才是命令行参数 代码演示 如下…

Rokid webhook 指南 手把手教你做个懒人

若琪用户 Amadeus 在社区里分享过很多视频。当你进门10秒后还未关闭房门,若琪会一直报警提醒;当你走进门后将门反锁的那一刻,若琪会为你播报今天的天气、为你播放设定的轻音乐。 看到这些视频中对传感器、智能情景的熟练运用,你很…

区块链中的“智能合约”有何应用?

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 如刺金般闪耀的区块链时代,投资者的热潮还将持续升温,与此同时金融的大佬已经开始注意到区块链应用落地场景的实现&#xff…

软工实践原型设计——PaperRepositories

软工实践原型设计——PaperRepositories 写在前面 本次作业链接队友(031602237吴杰婷)博客链接pdf文件地址原型设计地址(加载有点慢...)结对成员:031602237吴杰婷 & 031602636许舒玲原型设计工具:Axure RP 8PSP表格 PSP3.1Personal Software Process…

Xshell5中常用linux服务器命令集合

简易版:http://www.zhimengzhe.com/linux/84546.html 详细版:http://www.cnblogs.com/peida/tag/%E6%AF%8F%E6%97%A5%E4%B8%80linux%E5%91%BD%E4%BB%A4/default.html?page4转载于:https://www.cnblogs.com/keye/p/8982440.html

以太坊核心概念

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 以太坊虚拟机(EVM) 以太坊虚拟机(EVM)是以太坊中智能合约的运行环境。它不仅被沙箱封装起来&#…

vue项目踩坑

由于上一个小项目写的很次,这一次打算好好地写一个博客系统,最近刚刚结束了管理员的管理端的编写。其中遇到了很多小坑。 其实只能说自己vue用的不是特别熟练吧。很多问题都有些想当然了,实现起来发现了很多的问题。简单的记录几个我自己认为…

为什么以太坊能成为区块链2.0的代表之作?

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 区块链的学习进入到第四天,前三天学习比特币,分别从比特币的前世、货币属性和背后的区块链技术学习。 比特币是区块链的1…