Facebook 50%用户是虚假账号?我觉得可以更高!
0x00 背景
今天下午看新闻时,无意看到一条关于facebook虚假帐号(fake account)消息:

一下子就被这标题吸引了眼球,因为作为一个第三方机构,能够对facebook这样如此海量的帐号中的fake account进行测量,并得出这样一个比较具体的结果。非常非常好奇是怎么做到的,数据都是怎么来的。于是,在CCN原文中找到了这份75页的研究报告,地址:https://www.plainsite.org/realitycheck/fb.pdf。
0x01 探索
等待下载报告的时候,脑海中已经很兴奋,想着到底会是什么渠道获取到的数据,会是爬虫吗?如果是爬虫,会是怎么样牛逼的爬虫,判断虚假帐号的模型是怎么样的?
报告下载完成后,看到这样75页的长度报告还是很畏惧的:

虽然每天都阅读不少的英文,不过大多都是推文和简短的新闻,最多十分钟就可以看完一篇。这种论文风格的文章看起来还是比较费劲的。
坚持看完前几页后,隐约觉得事情有一点不对,怎么是在说作者自己的创业史以及扎克伯格的facebook创业史??

此时有点看不下去了,便看了看报告的目录,以及在文章中寻找50%或者fifth(y)的字眼,然后找到了关键段落了。此时报告已经来到了54页了!

0x02 结论
对此时的上下文进行了阅读后,我发现了这作者简直是个逻辑鬼才!!!其得出facebook 20亿月活用户中有一半是假的的结论,有一个很关键的点:
facebook中存在多个同名并且头像和简介相同的帐号,所以存在的虚假账号比facebook官方公布的多。其举的一个例子是" jack nicas"这个名字,给出了下图:

可是我去搜索这个人,得出的结果是这样的:
难道我们不是用的同一个facebook???

当然facebook中的确存在这样的帐号,比如搜索"Jack Mark",会出来一堆同姓名的人:

但是他们的头像和信息并不相同啊!!!
依靠这个观点,作者神逻辑来了!
Facebook月活用户和处理掉的虚假帐号数量是公开的,下图是facebook每个季度处理的虚假账号数量,其中2017 Q4是694m(m指的是百万),2018 Q1是583m。

所以从2017 Q4到2018 Q3,facebook处理掉的虚假账号数量为694m+583m+800m+754m=2.841 bilion。
Facebook在2018 Q3的月活用户为2.271 bilion。
然后神奇的算法出来了!!!

2.841 / (2.841+2.271) = 55%
得到这个55%后,作者手动减了5%作为误差,然后就是标题中50%了。

Facebook中的确存在还没有处理掉的虚假用户,但是你这个算法也真是太牛逼了!!!你为什么不把facebook之前处理的虚假用户都给算上???这样完全得出一个更高的比列,60%?70%?或者直接99%吧??
0x03 后记
最近看了不少这样的标题党,不光是这样的报告,还有一些华而不实的工具,就是介绍和命令行看起来很炫酷的那种!
吐槽归吐槽,但是老外这包装能力真是让人跪了,熟话说,"打不过就加入",教练我想学这个!!!
by:会飞的猫
Facebook 50%用户是虚假账号?我觉得可以更高!的更多相关文章
- 管理员技术(四): 配置NTP网络时间客户端、 创建一个备份包、 配置用户和组账号、配置一个cron任务
一. 配置NTP网络时间客户端 目标: 本例要求配置虚拟机 server0,能够自动校对系统时间.相关信息如下: 1> NTP服务器位于 classroom.example.com ...
- loadRunner之参数化,对用户名和密码进行参数化,并打印输出---实际操作:用户登录的账号用随机值来登录
录制脚本,对用户名和密码进行参数化: Action() { web_url("WebTours", "URL=http://127.0.0.1:1080/WebTours ...
- .NET通过PowerShell操作ExChange为用户开通邮箱账号
最近工作中一个web项目需要集成exchange邮箱服务,注册用户时需要动态创建邮箱用户,终于在http://www.cnblogs.com/gongguo/archive/2012/03/12/23 ...
- win7系统标准用户恢复administrator账号方法
一次误操作,把管理员账号给禁用了,满眼的泪花~~~~~~~~~ 标准用户,什么都干不了,怎么办呢????? 度娘一下,各种奇葩答案,就是解决不了 呵呵,最后找到了解决方法: 1.开机后BIOS过后,按 ...
- 阿里云dataworks数据工场用户使用子账号
如果您是第一次使用子账号登录数加平台和使用DataWorks,您需要获知以下内容: 该子账号所属主账号的企业别名. 该子账号的用户名和密码. 该子账号的AccessKey ID和AccessKey S ...
- 用HttpSessionListener统计在线用户或做账号在线人数管理
使用HttpSessionListener接口可监听session的创建和失效 session是在用户第一次访问页面时创建 在session超时或调用request.getSession().inva ...
- 让用户使用第三方账号(如亚马逊账号)接入AWS IoT系统
我们想象这么一个IoT应用场景:厂商A使用AWS IoT来开发物联网解决方案,那么A把设备卖给用户的时候,需要使用户能够登入AWS IoT系统来控制其购买的A的设备,也就是说给用户分配适当的权限.下面 ...
- GraphQL漏洞案例之获取Facebook任意用户的朋友列表和部分支付卡详细信息
Facebook有一个GraphQL endpoint,只能由Facebook的某些应用程序使用.需要用户(或页面)access_token来查询GraphQL endpoint. 这里可以将Face ...
- 50个jQuery代码段帮你成为更好的JavaScript开发者
1. 如何创建嵌套的过滤器: 允许你减少集合中的匹配元素的过滤器,只剩下那些与给定的选择器匹配的部分.在这种情况下,查询删除了任何没(:not)有(:has)包含class为“selected”(.s ...
随机推荐
- Swift中的反射
原文:http://www.cocoachina.com/applenews/devnews/2014/0623/8923.html Swift 事实上是支持反射的.只是功能略弱. 本文介绍主要的反射 ...
- mybatis的xml映射文件
1,在进行统计查询时候,不想写映射的实体类,这时候设置返回的resultType类型是map <select id="getMap" resultType="jav ...
- python更新tomcat脚本
#!/usr/bin/env python# _*_ coding:UTF-8 _*_import commandsimport time,os,sysfrom download_bag import ...
- 分布式服务化系统一致性(分布式事务、ACID、BASE、CAP)原理与解决方案
https://blog.csdn.net/rickiyeat/article/details/70224722
- rac添加新节点的步骤与方法(官方步骤与自我测试)
Extending the Oracle Grid Infrastructure Home to the New NodeNow that the new node has been configur ...
- Ubuntu16.04下安装配置phpmyadmin
在项目配置了阿里的druid,可以监控session,spring和详细sql的执行情况以及具体到表等信息,但是仍然发现不够详细,而且作为一个半吊子dba,一直用linux命令分配权限和管理数据库,效 ...
- 2018-2019-2 20175105 实验一《JAVA开发环境的熟悉》实验报告
一.实验内容及步骤 (一)使用JDK编译.运行简单的Java程序 利用cd指令和mkdir指令创建文件夹 利用vim指令编辑源代码文件 利用javac指令编译,利用java指令运行 (二)使用IDEA ...
- Echo团队Alpha冲刺随笔 - 第二天
项目冲刺情况 进展 项目各端都已经开始正式动工,完成了框架的搭建及小部分代码的编写 问题 对于框架使用不够熟练 心得 撸起袖子加油干! 今日会议内容 黄少勇 今日进展 实现账号绑定和首页公告信息及使用 ...
- Objective-C 在main函数之前的过程
main函数是我们所熟知的程序入口,Java.Python.C++等,虽语法各异,但皆是如此.然而,程序真正的起点并非main函数,在此之前,就已经干了很多事情. 1.在main函数打个断点,从调用栈 ...
- jdk_1_8_1
JAVA_HOME=/usr/local/java/jdk1.8.0_181 PATH=$JAVA_HOME/bin:$PATH JAVA_BINDIR=/usr/local/java/jdk1.8. ...