区块链大学区块链研习社

EOS智能合约:“我真的还可以再抢救一下”(上)

2019-01-08  本文已影响4人  菜哥

智能合约随着以太坊的落地成为:“code is the law”的化身,崇尚自由和去中心化的链民对智能合约的绝对公平、透明和可信性深信不疑。然而,隐藏在这华丽的外表下的EOS智能合约既不全能,更不智能,某些项目甚至打着智能合约口号来公然跑路...

--慎入,小心三观崩塌

智能合约是什么?

这个问题我用一句话来概括:

智能合约是一段保存在区块链上的逻辑代码

这段话主要讲述了两个方面内容

即:智能合约=区块链+代码

代码司空见惯,为什么需要区块链呢?

我暂且把脱离区块链的代码称为合约

例如:

if A>B: 

do something

这就可以当做一段合约,翻译出来:

假如你和你女票摇骰子比大小,谁小谁洗碗

如果摇出的结果:你>你女票

结果:你女票去洗碗

这时候按理说你女票应该要去洗碗了

但是你女票说:“你在作弊,我来摇骰子”

然后重新摇,摇出的结果是你要去洗碗

这时候你又不高兴了,说:“你在作弊,我来摇骰子”

于是争来争去,骰子玩不下去,你却还是要去洗碗。


那么,问题在哪儿?

问题在于:你和女票之间互不信任

怎么解决?需要一个你们都认可的第三方来摇骰子

合约在被称为智能合约之前,也有同样的问题

合约代码运行在你的服务器,我担心你作弊

合约代码运行在我的服务器,你担心我作弊

这和你女票摇骰子是一个道理,于是乎,合约就玩不下去了


那么,怎么解决

很简单:把代码运行在一个可信的服务器上

真的简单吗?不简单,因为你找不到一个让所有人都认可的服务器

所以智能合约比区块链早诞生了十几年,却一直默默无闻


好在,区块链出来了

合约和区块链在一起,用珠联璧合来形容并不为过,合约负责执行,区块链负责信用背书(如果你不知道为什么区块链可以提供信用背书,建议先了解区块链或后台咨询),可以应用于一切需要被信任的场景,我们称运行在区块链上的一段有确定结果的代码为智能合约。

知道了这点,智能合约可以做很多事,例如:

摇骰子(你不用再担心别人作弊)

交押金(不用在担心类似ofo倒闭无法退押的事件)

你不再需要支付宝(因为你不需担心你付款后对方不发货)

你甚至不再需要银行,当然这是不可能的(原因不让说)

等等...

当然,这是一切都是在理想情况下可行

那么,现在的智能合约又是怎样的?

我们先聊聊,以太坊的智能合约

以太坊有两种类型的地址:外部地址和合约地址

外部地址:类似于银行卡卡号,也就是一串以0X开头的地址,它由私钥控制,类似银行卡密码。我们可以用私钥从外部地址进行转账操作。

合约地址:它和外部地址基本类似,也是一串以0X开头的地址,与外部地址不同是:

1. 它没有私钥(即没有账户的密码)

2. 可以部署合约代码

那么你可能会问,没有私钥,怎么从合约地址提现?

这是不是很坑爹?我们等会再说

智能合约(代码)部署到区块链上后,就会自动生成一个0x格式地址,这个地址唯一标识了这个合约,其他任何人就可以通过这个地址找到并使用这个合约,我们称这个地址为智能合约的地址,也就是这个智能合约的身份证号

好了,当一个智能合约成功部署到区块链上以后,它就可以正常工作了

比如,程序猿小明部署了一个摇骰子的智能合约到以太坊上,就叫:摇骰子

这时候,你就可以通过合约地址找到这个智能合约,然后和你女票开心的摇骰子,决定谁来洗碗了。再也不用担心有人耍赖了。

但是,你玩着玩着发现你一直输,怎么办? 当然是看看合约代码是不是有bug

好了,日了狗了,完了你发现合约代码真的是有bug,因为代码规定长得丑的永远都是输

你马上打电话把小明痛骂了一遍,让他赶紧改bug

小明苦丧着脸说:“我特么也想改,但是改不了啊,以太坊不让改!“

不让改bug?这是不是又很坑爹?


好了,我们今天的主角 EOS 终于闪亮登场了

显然,BM大神(EOS创始人)也发现了这两个“低级”问题,就希望能够在他的产品里修复这个“bug”

于是乎,EOS 的智能合约就出现了两个特性:

1. 合约账户即外部账户,也就是都由私钥控制

2. 合约代码是可以升级的

这两项“划时代”的特性,使得:上面两个问题得以完美解决

妈妈再也不用担心,智能合约里的钱提取不出来了

奶奶再也不用担心,智能合约出bug了

难道,这就是你们无上尊崇的智能合约了吗

你们还记得 FOMO3D 吗?曾经红极一时的以太坊菠菜Dapp,我在它推出的第二天买进,第四天就已经回本并开始盈利,显然我知道这是一个接盘游戏,但这并不影响我相信它。因为它是部署在以太坊的智能合约,我一不担心它跑路,二不担心它从中作弊。

我唯一需要确定的事就是:把握好进场和退出的时间

试问这么一个公平、透明和可信的接盘游戏为什么不玩?

可笑的是:有人在EOS上部署了一模一样的智能合约叫FOMO EOS,然后那些在以太坊上因为进场太晚做了接盘侠的人跑到FOMO EOS 上第一时间杀进去,以为能够大赚一笔

不料,FOMO EOS 却卷款跑路了...

为什么?

合约账户的私钥在人家手上,能不跑路么?

你知道当下最火的菠菜游戏是什么吗?当然非BETDICE莫属

这个每天流水超过1一个亿的网页游戏

弱弱的问一句:它靠谱儿吗?

我们查一查它的合约地址:betdicelucky

它现在这么赚钱(每天一个亿的流水)

完全没有必要跑路,所以我们基本不需要担心它带着私钥直接提款跑路的问题

但是,这么频繁的更新合约,也不禁让我虎躯一震

它如果更新代码然后让长的帅的都输怎么办?

它如果更新代码在你一把梭哈的时候输怎么办?

它如果更新代码让你倍投必输怎么办?

今天输了明天改,明天输了后天改,反正庄家输钱就要改,反正你们这些韭菜也不知道,知道了也看不懂。既然智能合约都可以瞎几把乱改代码,为什么还要用区块链?为什么不能直接去企鹅赌场玩?就因为它是所谓区块链嘛。。。

对EOS:

心里有一句 MMP 不知当讲不当讲?

你真的不打算再抢救一下?

这时候似乎我想起 BM 大神为什么要跑路了...

铁头韭菜 - 菜哥
上一篇下一篇

猜你喜欢

热点阅读