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 ...
随机推荐
- JS面向对象之工厂模式
js面向对象 什么是对象 "无序属性的集合,其属性可以包括基本值.对象或者函数",对象是一组没有特定顺序的的值.对象的没个属性或方法都有一个俄名字,每个名字都映射到一个值. 简单来 ...
- day04--流程控制之if
编程的目的是让计算机像人脑一样工作,因此就需要让计算机具备人脑一样的逻辑思维,这里就需要用到计算机语言的流程控制: 流程控制之if......else 语法1: if 条件: 代码块 # 一组代码块的 ...
- Python基础(2)——列表、字典、数据运算
1.列表 #创建列表 name_list = ['alex', 'seven', 'eric'] #或 name_list = list(['alex', 'seven', 'eric']) #访问列 ...
- 网络流量状态命令总结 (含notp安装)
1. sar -n DEV 1 2 sar命令包含在sysstat工具包中,提供系统的众多统计数据.其在不同的系统上命令有些差异,某些系统提供的sar支持基于网络接口的数据统计,也可以查看设备上每秒收 ...
- Android 利用属ObjectAnimator,AnimatorSet性动画绘制一个弹球,加速下落,到底部时挤压,然后减速上弹
属性动画主要的几个类介绍: 1.ValueAnimator:这个类提供了一个简单的计时引擎运行动画动画计算值和设置目标对象.注意:使用该类时一般都是用:ObjectAnimator,而基于Object ...
- python inspect.stack() 的简单使用
1. #python # -*- encoding: utf-8 -*- #获取函数的名字 import inspect def debug(): callnamer = inspect.stack( ...
- 转:判断js中的数据类型的几种方法
判断js中的数据类型有一下几种方法:typeof.instanceof. constructor. prototype. $.type()/jquery.type(),接下来主要比较一下这几种方法的异 ...
- CF 799B T-shirt buying
一道超级水的练习STL的题目 题目大意:有\(n\)件T恤,每件T恤都分别有价格(每件衣服的价格不重复).前面的颜色.背部的颜色三种属性.接下来有\(m\)个人每个人都有一种喜欢的颜色,他们按先后顺序 ...
- [Oracle]跨DBLINK的JOIN查询的数据库缓存问题15783452141
客户问到跨DBLINK,结合本地表和远端表的时候,数据在哪一边 的 Data Buffer 缓存. 测试的结果是:本地表在本地缓存,远端表在远端缓存. ####Testcase-0929-10 本地数 ...
- AT2134 Zigzag MST
题面 题解 这个题目主要是连边很奇怪,但是我们可以发现一个性质:权值是递增的. 于是像下图的连边:(加边方式为\((A_1, B_1, 1)\)) 其实可以等价于如下连边: 于是我们将其变成了在环上连 ...