学习
实践
活动
专区
工具
TVP
写文章

以太坊的智能合约应用(二):对赌和拍卖

对赌

前阵子,伴随着世界杯的火热,区块链的各个预测类项目,也趁着东风火了一把。但其实,所谓的预测就是对赌,只不过换了个高大上点的名字。用户对某个事件进行预测,比如世界杯决赛是法国队夺冠,还是克罗地亚?并且抵押一定数量的代币,最后,等到结果出炉,猜错了的输掉抵押的代币,猜对了的赢得代币。这不就是对赌嘛。

接下来,我们来看看用智能合约如何实现对赌。如图:

这个例子,对赌的标的是猜测未来某个以太坊区块,包含交易笔数的奇偶性,这里A和B两个人对赌,A赌的是奇数,B赌的是偶数。

第一步:肯定是要将这个智能合约布署到以太坊区块链,谁布署都没关系,因为代码是透明可见的,可以是A布署,也可以是B布署,还可以是第三方布署;

第二步:A和B分别发起交易,带着各自的对赌参数(奇数或偶数)调用该合约的下注函数,同时该交易也向合约地址转账以太币,他们转账的以太币暂时锁定在合约账户里;

第三步:对赌的那个区块产生后,假如交易笔数是奇数,A发现自己赢了,于是再次发起一笔交易,调用合约的判定函数;

第四步:合约判定函数经过检查后,证实交易笔数确实是奇数,于是自动将账上锁定的A和B的以太币全部转给A。

如果是B赢了,操作类似,不再复述。

拍卖

拍卖的过程就比对端稍微复杂一点,如图:

这里拍卖的标的是一个数字资产:一只以太坊猫。我们来看看流程:

第一步:当然是布署合约,可能是标的所有者布署,也可能是第三方布署;

第二步:A是第一个出价的,他发起交易,调用合约的出价函数,同时向合约地址转账以太币,以太币暂时锁定在合约账户,因为他是第一个出价的,所以他的出价就是当前最高价;

第三步:B是新出价者,同样,他发起交易,调用合约,向合约地址转账以太币,如果B的出价比当前的最高出价(A的出价)高,那么合约将A的以太币退还给A,同时将的B的出价设为当前最高价;反之,则将B的以太币退还给B(这种情况一般不会发生,因为B是可以看到A的出价的,没必要浪费手续费去发起一笔无意义的交易);

第四步:其他新出价者的操作步骤跟上面一样,等到拍卖结束后,标的所有者会发起一笔交易,调用合约的判定函数;

第五步:判定函数经过证实,将以太坊猫转给最终的最高出价者,同时将以太币转给标的所有者,拍卖结束。

好了,我们终于把以太坊讲完了,后面我们开始讲讲区块链的一些衍生技术。

不投资毋宁死

自由,就是拥有选择的权利,而每一次选择都是一次投资。

谢谢阅读

✬如果你喜欢这篇文章,欢迎分享到朋友圈✬

评论功能现已开启,灰常接受一切形式的吐槽和赞美☺

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181011G19MLR00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

关注

腾讯云开发者公众号
10元无门槛代金券
洞察腾讯核心技术
剖析业界实践案例
腾讯云开发者公众号二维码

扫码关注腾讯云开发者

领取腾讯云代金券