
区块链技术中的智能合约究竟是怎么一回事
智能合约在最近备受追捧。但是这是什么呢 它能解决哪些问题呢?
中英双字视频如下:
比特币概述
2009年,中本聪推出了比特币,并震撼了全世界,因为它催生了价值1500亿美元的加密货币,这个网络比500台超级计算机要强1万倍,并且实现了去中心化的金融系统。
比特币是不断增长的一系列区块,每个区块都包含一些交易,这代表比特币所有权的转移以及前一个区块的哈希值,从而连接起交易的历史并创建不可变的记录。
网络中使用公共密钥或私人密钥来验证这些交易的有效性。比特币通过工作量证明来生成区块,这一过程非常昂贵且耗时,但区块链中的其他节点能够易于进行验证。最后,工作量证明俗称为挖矿。
关于以太坊
比特币是用于追踪数字货币所有权的点对点电子现金系统;而以太坊是为用于跟踪去分布式数据库状态变化的点对点系统。
以太坊也是不断增长的一系列区块:每个区块都包含分布式数据库的状态变化。此外,以太坊使用类似比特币的工作量证明系统进行挖矿。
以太坊在白皮书中详尽介绍了分散式数据库。它提供了一个分布式的图灵完备的虚拟机,称为以太坊虚拟机(EVM)。与比特币的区别在于,在区块链顶端的由以太坊提供的新数据层能让功能码沿着分布式的节点分布。代码由网络中的每个节点运行、维护和更改数据库中的状态。这就是为什么以太坊经常被描述为“ 世界计算机”的原因。
但是,EVM必须由一系列独立于中央机构的规则来管理,这些规则规定允许更改哪些状态。
智能合约
智能合约是“执行合约条款的计算机化交易协议”。这并不是以太坊独有的,因为比特币允许使用智能合约来构建服务,在比特币交易中添加功能。虽然这些服务使用比特币,但它们本质上是集中式的,因为智能合约必须托管在中央服务器上。
另一方面,以太坊允许开发人员编写自己的智能合约来定义EVM指令。这些智能合约可以使用以现有语言(如Javascript何Python)为模板的编程语言编写。
智能合约在分布式数据库内部以字节码的形式存在。这是以太坊创新潜力的根源所在。
网络上使用EVM执行代码的所有节点必须得出相同的结果,并对下一个区块的状态达成一致。任何人都可以将智能合约部署到分布式数据库。
"智能合约"这个术语最初于1997年被Nick Szabo提出,远在比特币出现之前。
他是一位计算机科学家、法学学者和密码学家,他想用分布式账本来存储合同。智能合约就像现实世界中的合同一样。唯一的区别在于,智能合约完全是数字化的。实际上,智能合约是存储在区块链中的一个小型计算机程序。
让我们通过一个例子看看智能合约是怎么运行的。也许你熟知大型众筹平台Kickstarter,产品团队可以在Kickstarter 创建项目、设定资金目标,进而从那些相信这个想法的人那里筹集资金。
Kickstarter实质上是介于产品团队和支持者之间的第三方。这意味着双方都需要信任Kickstarter能够妥善地处理他们的资金。
如果项目成功获得筹资,项目团队希望从Kickstarter获得他们的资金。另一方面,支持者希望筹资后他们的资金能够给到项目,或者在没有达到目标的情况下获得退款。产品团队以及其支持者都需要信任Kickstarter。
但是有了智能合约,我们能够构建类似的系统,而不需要信任如Kickstarter这样的第三方。
那么让我们来构建智能合约。
我们能制定智能合约,那么它能持有所有收到的资金直到达到某个目标。现在项目的支持者可以把资金转到智能合约,如果项目获得足够的资金,智能合约自动将钱转交给项目的创建者;如果项目没能实现集资目标,钱会自动退还给项目支持者。
很不错吧?因为智能合约存储在区块链上,一切都是完全分布式的。有了这项技术,没人能控制当中的钱。
但是我们为什么要信任智能合约呢?
不可变和分布式
因为智能合约存储在区块链上,它们继承了一些有趣的特性。它们是不可变的、分布式的。
不可变意味着一旦智能合约被创建,这永远都无法改变。因此,没有人可以背着你篡改合同的代码。
分布式意味着,你合约的输出被网络上的每个人验证。因此,个人不能强迫智能合约放出资金。
因为网络上的其他人会发现这个举动并将其标记为无效。篡改智能合约几乎是不可能的。
智能合约可以应用到许多不同的领域,而不仅仅是众筹。银行可以利用它发放贷款或提供自动支付;保险公司可以用它来处理某些索赔;邮政公司可以用它来交货付款等等。
那么现在你可能会想,你要在哪儿以及如何使用智能合约。如今有一些支持智能合约的区块链,但其中最大的是以太坊。它是专门为支持智能合约而设计的。
当中使用一种称为Solidity的特殊编程语言来编程。这种语言是专门为以太坊创建的,并使用类似于Javascript的语法。
值得注意的是比特币也支持智能合约,虽然这比以太坊更受限制。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
用 Power BI 制作地图热力图:基于经纬度数据的实践指南 在数据可视化领域,地图热力图凭借直观呈现地理数据分布密度的优势,成 ...
2025-07-24解析 insert into select 是否会锁表:原理、场景与应对策略 在数据库操作中,insert into select 是一种常用的批量数据插入语句 ...
2025-07-24CDA 数据分析师的工作范围解析 在数字化时代的浪潮下,数据已成为企业发展的核心资产之一。CDA(Certified Data Analyst)数据分 ...
2025-07-24从 CDA LEVEL II 考试题型看 Python 数据分析要点 在数据科学领域蓬勃发展的当下,CDA(Certified Data Analyst)认证成为众多从 ...
2025-07-23用 Python 开启数据分析之旅:从基础到实践的完整指南 在数据驱动决策的时代,数据分析已成为各行业不可或缺的核心能力。而 Pyt ...
2025-07-23鸢尾花判别分析:机器学习中的经典实践案例 在机器学习的世界里,有一个经典的数据集如同引路明灯,为无数初学者打开了模式识别 ...
2025-07-23解析 response.text 与 response.content 的核心区别 在网络数据请求与处理的场景中,开发者经常需要从服务器返回的响应中提取数 ...
2025-07-22解析神经网络中 Softmax 函数的核心作用 在神经网络的发展历程中,激活函数扮演着至关重要的角色,它们为网络赋予了非线性能力, ...
2025-07-22CDA数据分析师证书考取全攻略 一、了解 CDA 数据分析师认证 CDA 数据分析师认证是一套科学化、专业化、国际化的人才考核标准, ...
2025-07-22左偏态分布转正态分布:方法、原理与实践 左偏态分布转正态分布:方法、原理与实践 在统计分析、数据建模和科学研究中,正态分 ...
2025-07-22你是不是也经常刷到别人涨粉百万、带货千万,心里痒痒的,想着“我也试试”,结果三个月过去,粉丝不到1000,播放量惨不忍睹? ...
2025-07-21我是陈辉,一个创业十多年的企业主,前半段人生和“文字”紧紧绑在一起。从广告公司文案到品牌策划,再到自己开策划机构,我靠 ...
2025-07-21CDA 数据分析师的职业生涯规划:从入门到卓越的成长之路 在数字经济蓬勃发展的当下,数据已成为企业核心竞争力的重要来源,而 CD ...
2025-07-21MySQL执行计划中rows的计算逻辑:从原理到实践 MySQL 执行计划中 rows 的计算逻辑:从原理到实践 在 MySQL 数据库的查询优化中 ...
2025-07-21在AI渗透率超85%的2025年,企业生存之战就是数据之战,CDA认证已成为决定企业存续的生死线!据麦肯锡全球研究院数据显示,AI驱 ...
2025-07-2035岁焦虑像一把高悬的利刃,裁员潮、晋升无望、技能过时……当职场中年危机与数字化浪潮正面交锋,你是否发现: 简历投了10 ...
2025-07-20CDA 数据分析师报考条件详解与准备指南 在数据驱动决策的时代浪潮下,CDA 数据分析师认证愈发受到瞩目,成为众多有志投身数 ...
2025-07-18刚入职场或是在职场正面临岗位替代、技能更新、人机协作等焦虑的打工人,想要找到一条破解职场焦虑和升职瓶颈的系统化学习提升 ...
2025-07-182025被称为“AI元年”,而AI,与数据密不可分。网易公司创始人丁磊在《AI思维:从数据中创造价值的炼金术 ...
2025-07-18CDA 数据分析师:数据时代的价值挖掘者 在大数据席卷全球的今天,数据已成为企业核心竞争力的重要组成部分。从海量数据中提取有 ...
2025-07-18