Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >EOS智能合约的功与防-拒绝转账

EOS智能合约的功与防-拒绝转账

作者头像
爬虫
发布于 2018-12-17 07:53:08
发布于 2018-12-17 07:53:08
9110
举报
文章被收录于专栏:Python与爬虫Python与爬虫

从World Conquest 被攻击说起

World Conquest的游戏规则采用了FOMO模式,如果你是最后一位购买者,那么你可以获得奖池里面大部分的钱。

假如你是普通玩家,你肯定是一只盯着网页,到了最后10s左右,如果没有人购买的话,你就只好买入...

然后希望在后续10分钟内,所有的玩家都不要买入,这样你就能获得了大奖...

那如果你是一位技术流玩家的话,你会怎么做呢?

World Conquest 有一个缴税规则,所有购买地图的玩家,都需要向世界领主缴税(也就是每当有人购买某个地图后,合约都会给世界领主 这个玩家打一笔钱。

因为EOS内,所有的账号都可以部署合约,那么假如 我先用我的小号成为最后一位购买者,然后我用世界领主这个账号 部署合约

拒绝合约账号给我打钱,那么我只要默默等待时间结束,我就成为了最后一位玩家。(因为别人购买的时候 会触发给你打钱的动作,但是因为这个动作被拒绝了,所以导致整个交易失败,然后也就购买不成功...

攻击再优化一点

在前面说了,世界账号是部署了合约,拒绝了 World Conquest 这个合约给他打钱.

但是其实这样是有一些问题的,假如说 游戏结束后,系统是自动发奖的...那么因为你拒绝了该合约给你打钱..。

那么你也就拿不到奖...(当然现实是 手动打钱,因为合约时间到了后,只能手动打,你需要在开发者给你打钱之前 把合约重新部署下,就可以了)

当然这个方法不怎么好,如何把细节完善好呢...

一个简单的方法 就是判断打进来的钱的金额(因为缴税的金额肯定是比较低的,而大奖金额是比较多的...

或者通过memo来判断,也是一样的...

快神话被攻击

昨天上线一款新的资金盘类游戏...

游戏有个规则是 最后奖池的20%分给最低价值英雄的玩家...

那么 如何成为拥有最低价值英雄的玩家呢...

  1. 在标语里面写上 买我这个英雄的都是SX 之类的
  2. 技术流当然是使用上面攻击World Conquest相同的方法了...

如何防止这种攻击呢?

World Conquest是怎么做的呢?

World Conquest在新开第二盘的时候,使用了记账的方式 来避免被攻击...

正常来说,有人购买你的地后,你就能拿到赚的钱,这笔钱会直接转到你的账号上(上面说的攻击就是拒绝这笔转账汇入)

World Conquest是在有人购买你的地后,不给你转钱,而是帮你记一笔账...

当然你可以随时来提取你的奖金...

当然这种方式肯定是被玩家喷了...不能立马复投的资金盘还叫资金盘么...

有没有更好的办法

防止这种攻击的方法其实很简单...就是把购买动作和转钱分开...

那么只要在购买成功后,发起一笔延时交易,给用户打钱.这样购买与转钱的动作就分开了...

而且还有个好处是,假如用户恶意拒绝合约给他转钱的话,那么这笔钱会留在你的合约...(算是惩罚了 恶意用户)

当然不是所有的方法都是完美的...

这个方法有一个问题是...因为延时交易是需要 合约出CPU的...

目前我还没有测试 到底是在发出延时的时候 扣CPU,还是延时发生的时候才扣

假如是第一种情况...还好,毕竟用户无法买入了...(可能会去你群里与你沟通

假如是第二种情况...正常用户买入了,而合约却没有把钱给上一个玩家...那么你肯定要被用户喷死...

当然解决方法也不是很难

  1. 你可以提前多去租点CPU,就能避免CPU不足的问题了
  2. 可以参考系统解除质押发出的延时 如果出错怎么处理的...

总结

目前EOS上,各种斗智斗勇的故事在发生...

欢迎来EOS上玩...

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-11-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python爬虫分享 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【安全】Fomo3D死亡3分钟的交易攻击
【本文目标】 (1)通过本文分析,了解Fomo3D游戏第一轮结束的交易攻击流程及具体地址; (2)介绍“拒绝服务攻击”(Denial of Service,DoS)的原理。
辉哥
2018/09/26
1K0
大白话看懂区块链
        为了能够更加深入的理解区块链的概念和优势,我们先从2008年的金融危机说起。
matt
2022/10/25
5490
元宇宙在叩我们的门?再不了解它你就OUT了
  今年春晚,小品《还不还》中沈腾说的一句话:“我在元宇宙倒腾狗”,将元宇宙推向了热点话题之中。
科技旋涡
2022/03/30
3900
元宇宙在叩我们的门?再不了解它你就OUT了
Fomo3D 千万大奖获得者“特殊攻击技巧”最全揭露!
Fomo3D 游戏第一轮正式结束,最终大奖由地址 0xa169 获得,奖金额高达 10,469.66 以太币。
区块链领域
2018/09/20
8060
Fomo3D 千万大奖获得者“特殊攻击技巧”最全揭露!
Daniel Jeffries:为什么我相信EOS是去中心化时代的黎明
Daniel Jeffries,“互联网上的书呆子”,作为一个资深作家,他不仅仅会写各种风格的科幻小说,也非常擅长写一些关于AI、区块链等技术性的文章。本文中,他主要分享了对加密货币和EOS的独到看法
区块链大本营
2018/06/19
1.2K0
1分钟链圈 | 快看快看!首款基于EOS智能合约的博弈游戏发布!Canaan Creative推出比特币采矿电视机
这里是 8 月 3 日的每日1句话新闻晚报,只需1分钟,看看全球最热、最新的区块链新闻。
区块链大本营
2018/08/15
5250
1分钟链圈 | 快看快看!首款基于EOS智能合约的博弈游戏发布!Canaan Creative推出比特币采矿电视机
如何做智能合约审计?
你可以自己学习,或者你可以使用这份便利的一步步的指南来准确地知道在什么时候该做什么,并对合约进行审计。
辉哥
2018/08/10
1.4K0
【精】EOS智能合约:system系统合约源码分析
笔者使用的IDE是VScode,首先来看eosio.system的源码结构。如下图所示。
文彬
2019/02/26
1.5K0
智能合约中常见的漏洞总结复现#技术创作101训练营#
一个小朋友,他可以数着手指运算十以内的运算,比如 1+1=2,他可以用两个手指算出来,但是如果你问他 5+6 等于多少,他数完十个手指之后发现手指不够用了,就会把手指扳回来,说:结果为 1,对于小朋友来说,这个问题就超纲“溢出”了
yichen
2020/09/23
2.9K0
OWASP BlockChain Sec Top 10
近几年区块链技术的发展非常迅猛,安全形势也越来越严峻,仅安全事件导致的直接经济损失就高达35亿美元,很多公司甚至因此倒闭,给行业带来了巨额的经济损失和惨痛的教训,基于此OWASP中国成立专门研究小组,收集、整理和分析了2011年至2019年间共160个典型区块链安全事件,并在本文档中给出了排列和描述,希望能帮助到广大的区块链从业者和关注区块链安全的人们
Al1ex
2022/12/22
1K0
OWASP BlockChain Sec Top 10
节点资本王明远:区块链为什么能改变世界 | 清华x-lab公开课
啦啦啦,本周四由清华x-lab及校研团委创新创业中心联合打造的面向清华大学全体学生、教师、校友的“区块链”系列公开课程第二节课正式开始,这一讲的嘉宾是来自Node Capital的王明远老师。大数据文摘为不能来到现场的同学们带来了讲座实录,请大家来先睹为快吧! 区块链投资现状 大家好,很高兴能给还在读书的朋友们来分享一个话题,关于我对区块链的一些看法——为什么区块链能改变世界。现在是万物复苏的季节,比较适合多出来走动走动,今天特别希望跟大家交流分享区块链的知识、原理、和应用,来一块儿来感受区块链。 我简单介
大数据文摘
2018/05/23
1K0
历时3个月,我们是如何为一个开源项目集资300万美元的?
长期以来,开源项目一直都面临着融资难的问题。PostHog很幸运地获得了大量的资金,并希望跟大家分享我们的经历,以帮助其它那些很酷的项目也能早日启动。
CDA数据分析师
2020/08/02
5680
如何面试中判断区块链以太坊工程师是否优秀 原
对优质区块链开发人员的需求很大,这是有充分理由的。区块链和ICO领域在过去几年中爆炸式增长。越来越多的人试图进入并在该领域中扬名立万。但是,为了获得成功,他们拥有一支强大而健全的团队至关重要。区块链开发人员,更准确地说,以太坊开发人员是该团队中最关键的组成部分。
笔阁
2018/10/25
1.5K0
【精解】EOS标准货币体系与源码实现分析
EOS智能合约中包含一个exchange合约,它支持用户创建一笔交易,是任何两个基本货币类型之间的交易。这个合约的作用是跨不同币种(都是EOS上的标准货币类型)的,通过各自与EOS主链价值进行锚定,然后再相互发起交易兑换。要搞清楚的是,这与区块链“传统的”交易所并不一样,那个主要是集中在交易撮合上面,而且必须是同一币种。 关键字:EOS token 经济模型,exchange,Pegged Currency,LTV,cmake,跨token交易,ubuntu编译boost库,通证模型,抵押资产,to
文彬
2018/05/08
2K2
科技圈啪啪打脸!当初的那些美好像极了一个巴掌
作者|褚杏娟 2022 年,每个人都不好过,不是每个人都可以实现当初的雄心壮志,无论有意还是无意。我们简单列了一些“打脸”事件,背后的原因不尽相同,但最终只有一个意思:且行且珍惜。 白烧了 1400 亿后,自己打自己的脸 2021 年北京时间 10 月 29 日凌晨 1 点,被业界人士称为“VR 圈春晚”的 Facebook Connect 大会在一众期待中举行。会上,扎克伯格将 Facebook 正式更名为 Meta,股票代码也将从 12 月 1 日起由“FB”更改为“MVRS”。这场发布会除了公布
深度学习与Python
2023/03/29
3270
科技圈啪啪打脸!当初的那些美好像极了一个巴掌
你为啥总给自己搞不懂区块链找理由?如果1750年的人都能搞懂,你还有理由?
现如今,网上充斥着各种各样的区块链教程。参差不齐的质量,并不统一的表述给初学者带来了很多困惑。不知你是否也被一堆专业术语绕得云里雾里的,别怕,你不是一个人。 软件开发商Neonto公司的创始人兼CTO
区块链大本营
2018/05/11
6680
能用强化学习买卖比特币赚钱吗?能能能,当然能!
AI 科技评论按:人工智能热潮还没过去,电子货币和区块链的热潮又滚滚而来。以 BTC(比特币)为代表的电子货币近半年来吸引了全世界的注意力,每个人都想在这个热潮中分一杯羹 —— 只不过,不是每个人都赚到钱了,尤其是经验不足的投资者们。 那么问题来了,现在人工智能技术也有了长足进步,连 AlphaGo 在打败柯洁之后都还能继续进化,可以对围棋无师自通,所以我们有没有机会同样用 AlphaGo 所用的强化学习(Reinforcement Learning)方法学习一个百战百胜的电子货币人工智能呢? 斯坦福大学计
AI科技评论
2018/03/06
1.7K0
能用强化学习买卖比特币赚钱吗?能能能,当然能!
县城游戏有多野?
王者荣耀、吃鸡、跳一跳、欢乐斗地主、开心消消乐……我问了身边几十个朋友,这是得票率最高的几个答案。
用户1564362
2019/05/07
1.1K0
县城游戏有多野?
【精解】开发一个智能合约
智能合约 这两天被老大搞去搬砖,学习计划有变但无大碍,这篇文章将仔细分析智能合约相关内容。 关键字:智能合约,remix,Solidity,truffle,geth,leveldb,datadir,ganache,web3j 合约 合约也称合同、协议,是甲乙双方参与的,制定一系列条目规范双方权利与义务的文件。智能合约是电子化的,自动执行的,去中心化的,具有不可抵赖性,本质上它是一段代码,依托于区块链技术,它可以做很多事情,基于以太坊的智能合约可以让你的区块链扩展出任何你想要的功能。 我相信,智
文彬
2018/05/03
3.1K0
【精解】开发一个智能合约
区块链快速参考(三)
去中心化应用(DApps)是在去中心化网络上运行的应用程序,不受集中式权威机构的拥有或控制。它们与分布式应用程序主要在所有权方面有所不同。分布式应用程序可能在成千上万台计算机上运行,但这些计算机和运行在它们上面的软件的管理受到中央机构的控制 - 亚马逊、微软等。去中心化应用程序运行在通常是点对点网络上,并且设计得以一种使得没有任何人或组织可以控制应用程序功能的方式。去中心化应用程序不需要区块链。在区块链之前有多个去中心化应用程序:BitTorrent、Tor 和 Mastodon 都是没有使用区块链而存在的去中心化应用程序。
ApacheCN_飞龙
2024/05/24
1310
区块链快速参考(三)
推荐阅读
相关推荐
【安全】Fomo3D死亡3分钟的交易攻击
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档