深入浅出智能合约

in #cn7 years ago

原文地址:https://medium.com/@nik5ter/smart-contracts-for-dummies-a1ba1e0b9575
1-lsZWlQRE0lWRLzx-BpxR8A.jpeg

如果你现在还不知道智能合约是啥。。。。。

好吧,那你总知道点比特币吧,也在新闻上见过区块链吧。

那么最近这个新的以太坊是什么呢?显然,通过这个新的加密货币,你可以用来构建。。“智能合约”。

那么,智能合约到底是什么东西呢?(剧透:它们其实并没有那么智能。而且它们也不是真正的合约)。

还是让我们看看它背后的关键思想,而不是干巴巴地给一个定义。

我们会讲两个部分。第一,我们会讲区块链。然后我们会讲“智能”这个词。把这两点理解透是关键所在。

第一部分:“信任”到底是什么意思

比特币和区块链常常是一起出现的。多数时候,当我们想到比特币(或以太坊)的时候,我们会把它看作是。。。货币。

这些数字货币不就是这样吗?在我们脑海中,我们可以想到:数字黄金,数字白银。。。(或者数字石油,数字苹果)等等等等。

然而,这些东西虽然容易理解,我们却忽略了这背后的一些概念。

不如我们还是暂时不谈这些货币吧。还是用另一种方式来看待这个问题。

数字石头

石头.jpeg
呃,数字石头??

其实,石头是非常有用的。

在英语中,我们有这样一句谚语:set it in stone(注:类似于中文的“板上钉钉”,表示绝对不变)

在现实世界中,石头也有一些有趣的特性:

1 如果你把东西刻到石头上,你就没那么容易去修改这些内容,也就是说它有一定的持久性和稳定性。

2 如果日后我想在上面加点东西,会留下痕迹。你做的任何修改都是透明的,可验证的。

3 上面的规则是普适的。石头是中立的。它不管你是国王还是农夫,它的行为都是一样的。

由于这些特性,我们对石头的信任度非常高。

石头就等价于有效证明,这可不是什么都能做到的。

1-8sfxhyikasLgeiUpNBa1iw.jpeg

其实,说开来,区块链就是上面提到的东西:一种新的数字原料,它具有持久性,透明性和中立性的特点。

不管你是把一笔交易还是一些单词放到区块链上,一放上去,就放上去了。

把东西加到区块链上就像把东西刻在石头上一样。它使得信任更容易了。

只是我们现在是在数字世界做这些事。

把区块链看作是一块可以在上面刻东西的石头就好了,这同样能帮助我们理解它的潜力。

谈到潜力,我们就要谈谈合约了。

第二部分:当我们谈“合约”的时候我们在谈些什么

“合约”这个词包含了不少东西。我们可能会想到:法律文件,律师,文书工作或者老旧的办公室。这个名字起的并不好。我倒希望我们给它起别的名字。

用现在媒体上的迂腐的描述就是:自执行。或者是:自动执行。但这依然很难理解。毕竟,没什么事是自动的,也不是执行的。

智能合约的爷爷

就拿自动贩卖机来说吧。它是一个“笨”机器,你让它干什么它就干什么,当然,是自动执行的。它已经存在几十年了!

1-U73m4z7Tl3fQVtAThldjGg.png
让我们好好看看这个机器。

在一个慵懒的下午,你来到一台自动贩卖机前,它说“如果你投币2.5美金,然后按下这个按钮,我就给你一瓶可乐。”

好吧,其实它并没有真正地“说”这些话。不过这是这些交互的保证。你也可以把它称为一种。。。协议。

你投了点钱,按下按钮。咚!你可能没注意到,这些“协议”都已经被编程写入这台机器了,当你按下“可乐”按钮的时候就会执行。有点像这样:

> if money received == $2.50 
>     && the button pressed is "Diet Coke"
> then release Diet__Coke
>如果收到的钱== 2.5美金
> 并且  按下的按钮 是 "可乐"
> 那么 派发 可乐

你看到的这些计算机代码,就是某种形式的“合约”。然后他就会去处理相关的交易了。

看!合约就是代码而已。

但是,现在你获取更迷糊了,这智能合约到底是啥?其实智能合约没什么特别的,就像上面的贩卖机所展示的那样,这种代码在我们的生活中已经随处可见了。只是说或许比较复杂一点而已。

所以,如果一个智能合约只是“如果。。。那么”,只是贩卖机代码,那只能合约有什么牛的?

贩卖机2.0

1-fhtPA_xZNCEwq1SMzYS2rw.jpeg
让我们回到贩卖机的例子,不过这次我们用一个理论上的贩卖机,一个数字化的贩卖机。

一天,你看到一台新的贩卖机。这台机器跟你说:如果你放进来1000美金,我将给你5000美金。

哇!发明这台机器的人肯定是个有爱心的富豪。当然也可能是个疯子(或者是个笨蛋)。管它呢,用1000换5000?还用想?我能换到它破产!

。。。对吧?

这跟我们上面的可乐贩卖机一样。一样的逻辑,一样的处理流程。

只是这次稍微有些不同。1000美金也不算小数。突然你觉得其中有点蹊跷。如果这台机器吞了你的钱怎么办?这可是你省了几个月才省下来的钱。两块钱买瓶可乐你眼都不眨,但是现在要花1000美金。你现在可能意识到这台贩卖机可能并不简单。你开始认真地思考“信任”的问题。

我们怎么知道它有没有足够的钱返还给我5000块美金?

我们怎么知道还是会运行?

有什么公开透明的方式可以检查这些代码吗?

结论

这台1000美金的贩卖机只是一个极端的理论化的例子,但它仍然触及到了核心问题:信任。在一个数字的,全球化的世界中,人们之间可以匿名链接,这时,信任就变成了一件。。。需要点花哨技巧的事情。这也是通常我们依赖第三方或中间人的原因。

如果能把传统编程的自动执行性和数字石头的信任性结合起来的话。。。

好吧,这其实就是智能合约。

记住,我们之前已经有了计算机逻辑和执行。但是这些都没有中立地,可证明地可信任地刻到一个数字石头上去。

现实中是怎么样?几个例子

在线博弈

供应链

投票

去中心化的自治公司

你可以用以太坊的图灵完备语言来在区块链上进行编程,这只是其中的几个例子。而且这还只是刚刚开始。

而这也是这个系统如此令人兴奋的原因。

就像90年代那样,现在我们有了这个全新的,开放平台,我们可以在上面构建,实验,以及链接。老实说,我们真不知道将来系统上将会创造出什么东西出来。我们只知道工具已经在这了,而且是向所有人开放的。

剩下的就由你来决定了。

Sort:  

对 先赞后看

感谢你的分享!贩卖机的例子非常形象生动!

Coin Marketplace

STEEM 0.16
TRX 0.17
JST 0.029
BTC 69431.83
ETH 2486.70
USDT 1.00
SBD 2.55