跳转到内容
主菜单
主菜单
移至侧栏
隐藏
导航
首页
最近更改
随机页面
MediaWiki帮助
非小号百科
搜索
搜索
创建账号
登录
个人工具
创建账号
登录
未登录编辑者的页面
了解详情
贡献
讨论
编辑“
智能合约(Smart Contract)
”(章节)
页面
讨论
不转换
不转换
简体
繁體
大陆简体
香港繁體
澳門繁體
大马简体
新加坡简体
臺灣正體
阅读
编辑
编辑源代码
查看历史
工具
工具
移至侧栏
隐藏
操作
阅读
编辑
编辑源代码
查看历史
常规
链入页面
相关更改
特殊页面
页面信息
警告:
您没有登录。如果您进行任何编辑,您的IP地址会公开展示。如果您
登录
或
创建账号
,您的编辑会以您的用户名署名,此外还有其他益处。
反垃圾检查。
不要
加入这个!
== 工作原理 == 类似于区块链上的价值转移,智能合约的部署也是通过从钱包发送到区块链的交易来实现的。该交易包括智能合约的编译代码和一个特殊的接收地址。然后,该交易必须被包含在一个添加到区块链的区块中,此时智能合约的代码将被执行以建立智能合约的初始状态。拜占庭容错算法以去中心化的方式保护智能合约,防止对其进行篡改。一旦部署了智能合约,就无法对其进行更新。 区块链上的智能合约可以存储任意状态并执行任意计算。终端客户端通过交易与智能合约交互。这些与智能合约的交易可能会导致状态改变,并将代币从一个智能合约发送到另一个智能合约或从一个账户发送到另一个账户。 以太坊是最流行的运行智能合约的区块链。在以太坊上,智能合约通常是用图灵完备的编程语言 Solidity 编写的,并编译成低级字节码以由以太坊虚拟机执行。由于停机问题和其他安全问题,图灵完备性被认为是一种风险,因此在像 Vyper 这样的语言中被有意避免。一些其他缺少图灵完备性的智能合约编程语言包括 Simplicity、Scilla、Ivy 和 Bitcoin Script。然而,2020年使用正则表达式进行的测量表明,当时 53,757 个以太坊智能合约中只有 35.3% 包含递归和循环——与停机问题相关的构造。 几种语言旨在实现形式化验证:Bamboo、IELE、Simplicity、Michelson(可以用 Coq 验证)、Liquidity(编译为 Michelson)、Scilla、DAML 和 Pact。 {| class="wikitable sortable" |+支持智能合约的区块链平台的著名示例包括: !名称 !描述 |- |Ethereum |在其区块链上实施图灵完备语言,这是一个著名的智能合约框架 |- |Bitcoin |提供一种图灵不完备的脚本语言,允许在比特币之上创建自定义智能合约,如多重签名账户、支付通道、托管、时间锁定、原子跨链交易、预言机或多方彩票,无需运营商37。 |- |Cardano |智能合约的区块链平台 |- |Solana |智能合约的区块链平台 |- |Tron |智能合约的区块链平台 |- |Tezos |智能合约的区块链平台 |} 为了确保拜占庭容错,区块链上的过程通常是确定性的。然而,智能合约的现实世界应用,如彩票和赌场,需要安全随机性。事实上,区块链技术降低了彩票的成本,因此对参与者有利。区块链上的随机性可以通过使用区块哈希或时间戳、预言机、承诺方案、RANDAO 和 Quanta 等特殊智能合约以及混合策略纳什均衡的序列来实现。
摘要:
请注意,所有对非小号百科的贡献均可能会被其他贡献者编辑、修改或删除。如果您不希望您的文字作品被随意编辑,请不要在此提交。
您同时也向我们承诺,您提交的内容为您自己所创作,或是复制自公共领域或类似自由来源(详情请见
非小号百科:著作权
)。
未经许可,请勿提交受著作权保护的作品!
取消
编辑帮助
(在新窗口中打开)
开关有限宽度模式