区块链101:以太智能合同如何运作?-阿里云开发者社区

开发者社区> 安全> 正文
登录阅读全文

区块链101:以太智能合同如何运作?

简介:
1620

和区块链行业的许多想法一样,普遍的困惑也被称为“智能合同”。

一项由公共区块链所制造的新技术,智能合同难以理解,因为这一术语在一定程度上混淆了所描述的核心交互。

一份标准合同概述了一段关系的条款(通常是由法律强制执行的),而一份聪明的合同则会强制与密码代码的关系。

1620

换句话说,聪明的合同就是那些由他们的创造者设置的程序。

最初构想于1993年,最初由计算机科学家和密码学家Nick Szabo描述为一种数字自动贩卖机。在他著名的例子中,他描述了用户如何输入数据或价值,并从机器接收一个有限的项目,在这种情况下是现实世界的小吃或饮料。

在一个简单的例子中,ethereum用户可以使用智能契约在某个日期向一个朋友发送10个以太(见我们的指南“什么是以太?”)。

在这种情况下,用户将创建一个契约,并将数据推到该契约中,这样它就可以执行所需的命令。

Ethereum是专门为创建智能合同而建立的平台。

但这些新工具并不打算单独使用。人们相信,它们也可以构成“分散应用”的构建模块(参见:“什么是Dapp?”),甚至是整个分散的自治公司(参见:“什么是DAO?”)

智能合约如何工作?

值得注意的是,比特币是第一个支持基本智能合同的人,因为网络可以将价值从一个人转移到另一个人身上。节点网络只有在满足某些条件时才会验证事务。

但是,比特币仅限于货币用例。

相比之下,ethereum取代了比特币更为严格的语言(一种大约100个脚本的脚本语言),并用一种允许开发者编写自己程序的语言取而代之。

Ethereum允许开发人员为他们自己的智能合同编程,或者“自动代理”,就像Ethereum白皮书所称的那样。该语言是“Turing-complete”,意思是它支持更广泛的计算指令集。

聪明的合同可以:

  • 功能是“多签名”账户,因此只有当需要的百分比的人同意时才使用资金。
  • 管理用户之间的协议,比方说,如果一个人从另一个购买保险。
  • 为其他契约提供实用程序(类似于软件库的工作方式)
  • 存储有关应用程序的信息,如域注册信息或成员记录。

人多力量大

从最后一点推断,智能合同很可能需要其他智能合同的帮助。

当一个人在炎热的夏天把一个简单的赌注压在温度上时,它可能会引发一系列的合同。

一份合同将使用外部数据来确定天气情况,另一份合同可以根据在满足条件时从第一份合同中获得的信息来结算。

运行每个合同需要以太交易费用,这取决于所需的计算能力。

正如我们的指南“Ethereum如何工作”中所解释的,当一个用户或另一个合同以足够的交易费用发送消息时,Ethereum会运行智能契约代码。

然后,Ethereum虚拟机在“字节码”中执行智能契约,或由网络读取和解释的一系列1和0。



原文发布时间为:2018-04-07
本文作者:智能计算时代
本文来源:腾讯云 云+社区,如需转载请联系原作者。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: