京公网安备 11010802034615号
经营许可证编号:京B2-20210330
如何理性看待智能合约
就像近年来的"区块链"、"人工智能"和"云"一样,"智能合约"也是十分热门的话题之一。
通过智能合约能够实现:
· 自动、公正地执行合约;
· 无需中间人的介入。
在执行合约时,如果无需获得另一方的信任,那么事情的效率会更高。
那么,智能合约究竟是什么?在本文中,我将探究何谓智能合约,以及其运行原理。
智能合约是什么?
通常,合约是双方或多方对某件事达成的协议。
例如,Alice向Bob付钱租住他的房屋(即租金)。Charlie每月向Denise收取一定的费用,当Denise的车坏了时帮她维修(即车险)。
智能合约的不同之处在于,合约条款都是由计算机代码评估和执行的。例如,Alice同意支付500美元给给Bob,3个月后从他那购买沙发。这些代码可以确保Alice是否完成支付,以及是否收到沙发,而且双方都无法退出。
智能合约的关键特点是无需信任第三方,即你不需依赖第三方来执行合约条件。无需依赖对方言行一致,也需要依赖律师和法律体系解决违约问题。一旦出现问题,智能合约会确保合约的执行。
智能合约并不智能
“智能”似乎指合约天生具有智能性,但并非如此。智能合约的智能体现在,执行合约无需另一方的合作。确保合约的执行是智能合约的强大之处。
智能合约会考虑到所有情况,遵循合约精神,即使在最不明朗的情况下也做出公平的裁决。换句话说,智能合约像一名出色的法官。
智能合约并不简单
由于以太坊的大热,人们错误地以为智能合约只存在于以太坊中,这并不对。
从2009年开始,比特币就有智能合约语言Script。而智能合约实际出现在1995年,早于比特币。比特币的智能合约语言与以太坊的区别在于,以太坊是图灵完备的。也就是说,以太坊的智能合约语言Solidity能执行更复杂的合约,但分析难度更大。
虽然复杂的合约能够处理更复杂的情况,但是合约越复杂则越难保证和实施。
在图灵完备的情况下执行合约并不容易,而且很难进行分析。确保图灵完备的智能合约相当于去证明计算机程序不存在漏洞。这是很难的,因为目前几乎所有的计算机程序都存在一定程度的漏洞。
编写智能合约需要多年的学习和过硬的专业知识。但目前很多合约都是由新手写的,当中难免会出现一些问题。
在解决这个问题方面,比特币的做法是让合约不具备图灵完备性。这让合约更容易分析,因为这种情况下更易于列举和检查。
以太坊则是交给合约编写者,合约编写者需要确保合约按其意图执行。
智能合约不是真正的合约
虽然让编写者确保合约听起来不错,但这会带来一些集中性问题。
以太坊的理念是"代码就是法律"。也就是说,以太坊的合约具有共识性,没有人能否决。这个理念指的是,智能合约的开发者是独立的,如果你搞砸了自己的智能合约,那么后果自负。但当发生DAO事件时,这就行不通了。
DAO指的是"去中心化自治组织(Decentralized Autonomous Organization)",DAO在以太坊进行众筹。用户可以将资金存入DAO,并根据DAO投资获得收益。当以太币交易价格到达20美元左右时,DAO募集了1.5亿美元的以太币。
这在理论上听起来不错,但有一个问题。由于代码没有得到很好的保证,导致有些人利用合约的漏洞,从DAO中牟利。
之后,以太坊不再遵循代码就是法律的理念,并将DAO中的所有资金归还。另外,开发人员不在使用图灵完备性。ERC20和ERC721成为以太坊中使用最为频繁的智能合约模板,这两种合同都可以在没有图灵完备性的情况下编写。
智能合约的问题
即使没有图灵完备性,智能合约依然是不错的选择。那么比起普通合约,智能合约更容易使用吗?
例如,智能合约能用于房地产吗?
通过智能合约,Alice可以证明房子的所有权。Bob可以通过付钱给Alice购买房子。当中没有所有权的问题,而且能快速执行,不需要律师等第三方介入,听起来不错吧?
但是,这里存在两个问题。首先,通过集中的组织执行的智能合约并不是去信任的。你仍然需要信任集中的组织。去信任是智能合约的关键特征,因此集中执行并不合理,实际上你需要的是一个去中心化平台。
这就带来了第二个问题。在去中心化的情况下,只有当数字版本与实体版本间存在明确联系时,智能合约才有效。也就是说,当房子数字版本的所有权改变时,实体版本的所有权也必须改变。数字世界需要"了解”现实世界的情况。
当Alice将房子转让给Bob时,智能合约需要知道房子发生了转让。有几种方法可以做到这一点,但都面临相同的问题,现实世界中,必须有信任的第三方来进行验证。
例如,房子可以表现为以太坊上不可替代的代币。Alice可以通过将房子转给Bob获得一定数量的以太币。那么问题来了,Bob需要相信代币代表房子,而且需要确保获取代币意味着房子所有权转给他。
此外,即使政府机构证明代币代表房子,但如果代币被偷了,那会怎么样?房子会属于小偷吗?如果代币丢失怎么办?房子不能再出售了吗?房子代币可以重新发行吗?如果可以,由谁发行呢?
在去中心化的情况下,将数字与实物资产联系起来都是个难题。你名下的实体资产意味着,除了智能合约,你还需要信任第三方。也就是说,拥有智能合约并不意味着拥有实体资产,而且会遇到普通合约相同的信任问题。信任第三方的智能合约则消除了去信任化这个最关键的特性。
即使是电子书,医疗记录或电影等数字资产也面临同样的问题。这些数字资产拥有权还是有一些权威机构决定。
只有数字化无记名产品则没有这个问题。代币的所有权在智能签约平台之外,不具有依赖关系,这才能真正实现去信任化。
结语
智能合约并不是我们预期中的那么有用。
此外,图灵完备性会带来一些意想不到的问题。因此,智能合约需要避免这个问题,DAO事件也证明了这个情况。
智能合约仍然面临一些问题,比如难以确保和实现去信任化。目前只有当用于比特币等去中心化平台时,智能合约才能有效发挥其作用。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
在 MySQL 实际应用中,“频繁写入同一表” 是常见场景 —— 如实时日志存储(用户操作日志、系统运行日志)、高频交易记录(支付 ...
2025-10-30为帮助教育工作者、研究者科学分析 “班级规模” 与 “平均成绩” 的关联关系,我将从相关系数的核心定义与类型切入,详解 “数 ...
2025-10-30对 CDA(Certified Data Analyst)数据分析师而言,“相关系数” 不是简单的数字计算,而是 “从业务问题出发,量化变量间关联强 ...
2025-10-30在构建前向神经网络(Feedforward Neural Network,简称 FNN)时,“隐藏层数目设多少?每个隐藏层该放多少个神经元?” 是每个 ...
2025-10-29这个问题切中了 Excel 用户的常见困惑 —— 将 “数据可视化工具” 与 “数据挖掘算法” 的功能边界混淆。核心结论是:Excel 透 ...
2025-10-29在 CDA(Certified Data Analyst)数据分析师的工作中,“多组数据差异验证” 是高频需求 —— 例如 “3 家门店的销售额是否有显 ...
2025-10-29在数据分析中,“正态分布” 是许多统计方法(如 t 检验、方差分析、线性回归)的核心假设 —— 数据符合正态分布时,统计检验的 ...
2025-10-28箱线图(Box Plot)作为展示数据分布的核心统计图表,能直观呈现数据的中位数、四分位数、离散程度与异常值,是质量控制、实验分 ...
2025-10-28在 CDA(Certified Data Analyst)数据分析师的工作中,“分类变量关联分析” 是高频需求 —— 例如 “用户性别是否影响支付方式 ...
2025-10-28在数据可视化领域,单一图表往往难以承载多维度信息 —— 力导向图擅长展现节点间的关联结构与空间分布,却无法直观呈现 “流量 ...
2025-10-27这个问题问到了 Tableau 中两个核心行级函数的经典组合,理解它能帮你快速实现 “相对位置占比” 的分析需求。“index ()/size ( ...
2025-10-27对 CDA(Certified Data Analyst)数据分析师而言,“假设检验” 绝非 “套用统计公式的机械操作”,而是 “将模糊的业务猜想转 ...
2025-10-27在数字化运营中,“凭感觉做决策” 早已成为过去式 —— 运营指标作为业务增长的 “晴雨表” 与 “导航仪”,直接决定了运营动作 ...
2025-10-24在卷积神经网络(CNN)的训练中,“卷积层(Conv)后是否添加归一化(如 BN、LN)和激活函数(如 ReLU、GELU)” 是每个开发者都 ...
2025-10-24在数据决策链条中,“统计分析” 是挖掘数据规律的核心,“可视化” 是呈现规律的桥梁 ——CDA(Certified Data Analyst)数据分 ...
2025-10-24在 “神经网络与卡尔曼滤波融合” 的理论基础上,Python 凭借其丰富的科学计算库(NumPy、FilterPy)、深度学习框架(PyTorch、T ...
2025-10-23在工业控制、自动驾驶、机器人导航、气象预测等领域,“状态估计” 是核心任务 —— 即从含噪声的观测数据中,精准推断系统的真 ...
2025-10-23在数据分析全流程中,“数据清洗” 恰似烹饪前的食材处理:若食材(数据)腐烂变质、混杂异物(脏数据),即便拥有精湛的烹饪技 ...
2025-10-23在人工智能领域,“大模型” 已成为近年来的热点标签:从参数超 1750 亿的 GPT-3,到万亿级参数的 PaLM,再到多模态大模型 GPT-4 ...
2025-10-22在 MySQL 数据库的日常运维与开发中,“更新数据是否会影响读数据” 是一个高频疑问。这个问题的答案并非简单的 “是” 或 “否 ...
2025-10-22