从交易所程序员的角度看Fcoin事件

最近Fcoin停机维护事情闹的沸沸扬扬,本人作为一个老韭菜,想从技术角度谈谈本次事件。

原因相信大家已经已经明白了,销毁团队7亿FT导致的程序员怒删数据/模块。既然如此,分析出该程序员删了什么模块,对系统有什么重大影响。

一、数字货币交易所的基本架构

我不太清楚Fcoin的交易所架构是怎么样,但是根据我目前做的交易所架构来推理,所有交易所的架构应该都大同小异:

主要有撮合引擎和外部模块构成,外部模块包括提现,充值,消息,日志,用户登陆等。

废话少说,上图


Fcoin交易所基本模块


用户通过CA入口获取token,带着token在整个交易所进行交易和其他操作。Fmex和Fcoin应该是两套引擎,因为之前Fmex用的是全内存模型,Fcoin不是。Close engine属于平仓引擎,可能是独立模块也可能不是,对此次事件影响不大。


二、到底哪里出了问题?

首先,撮合引擎没有问题,因为在停机一段时间内,API还能正常收到心跳,而且价格还能正确显示

其次,Messaging模块没有问题,因为用户能收到邮件提醒(爆仓提醒/风险提醒),撮合引擎里的数据也是正常的。

根据我本人收到的爆仓提醒来看,爆仓提醒里有我的用户信息,说明交易引擎里有我本人的信息和仓位情况。数据一切正常

接下来就是CA模块,这是最有可能出问题的地方,结合官方的公告,需要提供绑定的邮箱和用户名来看,用户登陆的邮箱和用户名并未丢失,所以官方才可能通过这个来验证。但是问题来了,官方验证后会发送一个验证码来。用户回复这个验证码过后才会收到打币。说明官方这里手动做了一个2-step Auth。那么如果我的分析没有错的话,销毁的模块之一就是谷歌验证模块,而且配置谷歌验证的私钥一定在消失的那个程序员手里!

其次,一开始让我很想不通的是,为什么邮件里要写明自己的资产有多少,难道仅仅是为了确定你就是你吗?

但是看到后来官方说的大量的交叉验证和人工核对,又谈到数据也有丢失,那么我做了一个大胆的推测:

宕机当天的用户余额表(快照)被删除,且不可恢复,备份的可能是n天前的余额表(快照)

理由如下:

1:为什么要人工核对,因为根本不知道宕机当天有哪些用户做了哪些操作;

一次简单的从理财账户转入wallet的操作如下

financial balance = financial balance - amount1

wallet balance = wallet balance + amount1

一次简单的从wallet转入交易账户的操作如下

wallet balance = wallet balance - amount2

engine.update(id, amount2)

由于宕机当天数据表被清除,理论上说,当天谁转了多少钱到引擎进行交易,根本毫不知道,唯一的方法只能从engine反推!


2:  官方居然很神奇的要求了提交提币总量,并没有要求在邮件提币中区分是理财还是钱包还是杠杆

这说明官方只会校验你名下资产的总额,资产总额 = FmexEngine + wallet + financial + TradingEngine - loan 

在这个公式中,wallet和financial的数据不是实时的,例如是n天前的,我们就用wallet(-n)表示,因为当天的数据已经销毁了。所以公式变成了

资产总额 = FmexEngine + wallet(-n) + financial(-n) + TrandingEngine -loan + delta(TradingEngine,n) + delta(FmexEngine,n)

换言之,官方要找出从n天前开始到2.10截止,你向交易引擎和Fmex引擎一共转账了多少。

说实话,交易引擎一天的数据是海量的(百万级别),相当费时费力。

补充一点,Fcoin有个交易挖矿机制,这让FcoinEngine的日志和记录几何倍增长。


三、结论

被删除的模块有谷歌验证和当天或者最近几天的资产记录快照。恢复需要一定时间,但是通过人工验证的方式比对完全可以恢复。跑路可能性有,但是极低。模块修复完全可能,而且并不难(当然,有朋友会跟我说界面也被删了,这个我推断不出来,但是这个不涉及核心,就是需要时间而已)。修复完成后用户还是要补一次2step-auth。中间会不会存在风险,不好说。需要团队评估。

希望各位交易所的小伙伴也可以和我交流

交流Wechat: hanjun_nan

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,884评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,347评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,435评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,509评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,611评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,837评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,987评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,730评论 0 267
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,194评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,525评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,664评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,334评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,944评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,764评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,997评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,389评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,554评论 2 349

推荐阅读更多精彩内容