您现在的位置是:首页 > 区块链 > 区块链技术区块链技术

智能合约:区块链世界里的交易规则

2019-08-26来源:作者:经济常识笔记栏目:区块链技术

简介​随着区块链的成熟,大家应该经常会听到智能合约这个概念。这篇文章的目的是从用户的角度来解释什么是智能合约。开始了解智能合约之前,我们来了解一些相关的概念。

​随着区块链的成熟,大家应该经常会听到智能合约这个概念。

但智能合约到底是什么,它是指智能的合同吗?我需要去了解这个东西吗?当然需要,因为只要我们在区块链领域活动,我们就是智能合约的用户。

这篇文章的目的是从用户的角度来解释什么是智能合约。

开始了解智能合约之前,我们来了解一些相关的概念。

智能合约

什么是“交易”?

当我们听到“交易”这个词时,大多数人会立刻会想到钱。交易就是指用你手中的钱去交换某种东西(或者交换某种方式),不管是通过信用卡、纸币还是最近的数字货币去交换。

实际上,这只是一种特殊的交易,即金融交易。

但对交易有一个更广泛的定义,我们将在本节中尝试作出解释:

即状态的“原子”更新:“原子”一词的含义是要么“交易”全部都发生,要么全都不发生。

这听起来可能有点技术性,但实际上理解起来相对简单。

比如:当你买一杯3美元的咖啡时,会发生以下事件:

1.你的钱比原来少3美元;

2.星巴克比原来多了3美元;

3.你现在手里多了一杯热咖啡。

这些都是从你在柜台要咖啡的那一刻起,到你收到咖啡的那一刻发生的变化。在本例中,“状态”即表示每个实体所拥有的全部内容。每次你提供或接收到“状态”的一部分的时候,都会对“状态”进行更新。

这3个事情的发生作为交易的一部分。但是是必要条件,如果他们中的任何一个事件没有发生(例如:你把钱包忘在家里了),就什么都不会发生“交易”。这就是“原子”含义。无论涉及到多少个动作,要么交易完全发生,要么完全不发生。

交易系统就是这样的:它们确保多个相互依赖的操作以“完全”或“完全不”的方式发生。

区块链也是交易系统。事实上,从加减法的角度来理解,如果你没有从自己的账户中扣除相同的转账金额,你不可能把以太坊转账给别人。

传统的银行系统也是如此。但是,它们更多地依赖于多个金融机构之间的协调作用,而不是依赖区块链协议中内置的数学规则。

智能合约是什么?

我们已经从技术角度了解了”交易”是什么。

现在,我们来了解一下什么是智能合约,我们来举一个非常简单的例子:

石头剪刀布的比赛游戏。或者更确切地说,智能合约就像是这个游戏的玩法或者规则,如两个玩家需在游戏过程中下注一些金额并做出他们的动作。最后比赛的获胜者将拿走所有的下注金额。

这场比赛有三个不同的时刻:

1.玩家1做动作并下注所需的金额;

2.玩家2做动作并下注所需的金额;

3.比赛结束,获胜者拿走了所有下注金额。

这是3种“状态”(或者交易)的更新,每种需是状态的“原子”更新。如果一个玩家在不下注的情况下做动作,他不会有任何损失,当然你不希望让那样的情况发生。有趣的是,将获胜者的动作和奖项联系在一起,是为了防止骗子玩家提出索赔。

我们刚才所描述的系统正是智能合约要做的:利用区块链的事务功能实现更多的功能,而不仅仅只是实现货币功能。

事实上,在以太坊中,我们可以将整个程序编码到区块链中。区块链中的分布式账本作为我们的存储器(可以跟踪我们需要的一切),智能合约则是我们编写的代码,它为我们的程序制定游戏(玩法)规则。

基于这一切,我们的小猫(谜恋猫:区块链游戏)诞生了。

谜恋猫

智能合约是一个计算机程序吗?

对!但是它是运行在区块链上的程序。可以通过向其发送交易,读取区块链状态,评估当前状态从而完成交互。

在我们的石头剪刀布的例子中,我们可以随时访问合约状态,以了解玩家是否已经做出了选择。但要实际执行一个动作(即,改变状态并推进游戏),我们还需要实际发送一个精心设计的交易。

这个交易,不是说“发送x以太坊到地址0x1234…”,而是指定“我发送1个以太坊到合约里面,我的动作是剪刀”

等等,你是不是在发以太坊到合约里面?

再次确认,是的!

在以太坊中,智能合约与一般的用户几乎拥有相同的权利。他们只能执行被编码的指令。这意味着智能合约有一个地址,这个地址可以接收、持有和发送以太坊或ERC20代币,并且可以与其他智能合约进行交互。

智能合约与常规程序有什么不同?

不仅仅是因为它们的状态存储在区块链中,他们的合同本身的代码也是储存在区块链中。

智能合约的创建实际上是通过向以太坊网络发送交易来完成的,其中交易数据就是新合约的代码。

因此,智能合约本身也受到相同的规则的约束使区块链变得有趣。主要在于它是第三方不可变更和篡改的而且所有人都可以进行审查和访问,并确保它们完全按照合约规定执行。这有效地保证我们与他人安全互动,甚至是不受信的双方。双方的信任是由区块链智能合约来保证的。

使我们能够安全、自信地在去中心化的金融系统中使用数字货币。

智能合约也能为其他交易系统带来同样的好处。

简单地说就是,智能合约使我们在玩石头剪刀布的游戏的时候,不用担心对手会作弊,比如玩的时候偷瞄我们的手。

智能合约优缺点分析

说到作弊 ,如果区块链数据是公开的,我的对手就不能通过访问区块链本身的问题来作弊吗?好吧,这就交给加密哈希和电子签名来完成,这是他们发挥作用的时候。

如果所有规则都被写进一个智能合约,而且没有人可以更改它,如果智能合约出错了会发生什么?

程序员难免会犯错。这就是导致你的手机偶尔崩溃的原因,或者网站加载时间过长的原因。这些问题是无害的,而且往往容易解决。

然而,当程序涉及到处理钱的问题时,容忍度就要低得多。如果这些错误在设计上是不可逆的,那就更糟了。很可一个非常细微的错误就会将大量资金锁定在智能合约中,甚至使其容易受到攻击。

如2016年著名的DAO黑客事件。以太坊智能合约的漏洞使黑客从组织中窃取大量代币。最终,关于如何处理如此大规模的盗窃案,社区也产生了分歧,最终导致了以太坊硬分叉出来,以及以太经典的诞生。

然而,值得注意的是,智能合约和区块链中的所有东西,实际上仍处于初级阶段。我们不应该轻视这个问题,因为它们确实会产生一些问题,我们应该去权衡它们的利弊。

智能合约   区块链

很赞哦! ()

    股票