创业者在创业路上可以参考的指南

Published on:

很多在职专业高阶经理,往往非常羡慕创业者。因为网路上到处都是这样的传奇,某天某某,因为业馀的一个兴趣,或者已经到了职业上的颠峰。最后勇往创业,最后走上了成功的道路。生活滋润,豪车,美妻,好不威风。

这是网路上写的传奇。真实的情况是 99% 的创业者走不到这一个终点。走到这一步的人,他的内心也根本快乐不起来。

常有人开玩笑说:”如果要陷害一个人,就让他去当老板”。

脱不花前阵子在 2018/08/07 的得到例会上说过:


一个鸡汤就是如果你准备创业或者你已经开始创业,你一定要知道创业是对你的整个人生的一个巨大的整理工程。

就是你不仅有增量,因为你创业之后你会做很多新的事,你有很多的增量,完了之后,但是更重要的是说其实它是对你人生的一个巨大的整理。

这包括了对你历史上的所有的经历,你历史上你是不是个有信用的人,你是不是靠谱的人,你有没有攒点人品,这是一次整理。

第二个就是过去你的很多朋友,你的很多人际关系,有的因为你的创业得到了加强,比如对于我来说,我今天我那天跟罗胖说,我说可能到这个月底为止,我就是一个彻底没有私人朋友的人了。

因为我的私人朋友当中,我的就最好那些朋友当中,凡是能拉到这个公司来上班的已经全部在这个公司里了,所以我已经没有朋友了,我只有同事。

第二个当然你也会损失很多人际关系,因为各种因为立场的变化,因为就是包括很多非常微妙的东西的变化等等。


创业者是很孤独的

创业者往往都是很孤独的。很多事你没法说,说了没人懂,说了更是有大灾难。

更很多时候,你背后做了最好的决策,在灾难当前救了所有的人,当下所有人却当你是罪人。

再更多时候,你不知道,做什么才是正确的。有时候当下做的觉得是最正确的决定,回想过来却傻逼不过。有时候误打误撞豁出去瞎搞出的结果,回想发现却是神来一笔。

重点是,你没法找人分享心中的苦。你也没办法在茫茫大海中找到决策依据,只能靠自己。

一些创业可以参考的指南

怎么在孤独的创业中还能走出来呢?

老生常谈的关键人格品质我就不多讲了。一般都是:正直,勤奋,人脉,永不放弃,好学。只有这些关键品质,才能一路走下去。

但说到底还是得看攻略。看隔壁伺服器怎么打怪,这才是最关键的。

因为近五年来,市场实在变太快了。要在这么快速的战争活下来,不能看五年以前的攻略。得看去年与上个月的攻略。

什么是最近的攻略:

  • YC 创业课
  • YC 天使投资人课
  • Traction Conf
  • Business on Software
  • 梁宁产品 30 讲
  • 湖畔喜马拉雅
  • 混沌大学的业界分享
  • 得到每个月的例会

看别人,看自己。才不会被所谓的外界标准所迷惑自己,发现自己并没有那么差,没有那么傻逼。反而很牛逼。

或是自己并没有想像的牛逼,这个基本错误也犯,还没有哪些的基础常识。

总之,不再孤独与迷茫。

招聘也要 TDD

Published on:

学习做好 HR 是一个比较难的过程。HR 一向很少公司做得比较好。

但是如果假设这样一个概念。还人力债 = 还技术债。

那么以技术视角去看人力资源这件事瞬间就变得很清晰了。

初创企业 = 一个档案写几万行代码

在初创企业来说,全部都要求通用型人才 = 一个单档 PHP 文件写到死,需要啥功能就加啥功能。刚开始起步很快,威力很大。

但是企业 20人 以上还这样,那这个档案加功能改功能时就要小心翼翼,可能改一行就大爆炸。

而且比较糟糕的是,人离职 = 这段代码直接没了。

所以当企业跑起来之后,就要进行重构,将这一大段代码切开成几个模块分散职责。

但很多企业只是将代码粗暴的分开几大段。本质上没有处理呼叫相依性问题。于是在分开的过程中,可能整个程式也烂好几次。

如何有效重构代码

如果套用到软件工程上。通常我们会先这样做

  • 先写 Test,再重构功能
  • 分开模块,先写模块的 Test,再把功能填入
  • 写 Test,先写 Integration Test,再补 Unit Test。
  • 写代码时就要一并写文件
  • 以后写 Code 规定必须 TDD

套用到人力招聘

  • 先 "定义职位成功",再重新分派任务
  • 清晰定义职位,先写职位需求,以及如何定义成功,再把人换岗
  • 补协做任务的"成功条件",再去要求 "个别技能的成功弓件"
  • 公司各样任务以后做的时候,要有文件与纪录
  • 以后招聘任何人,必须先写"职位成功定义" 再补人

原本作 HR 任务时,我总觉得写这些文件非常讨厌。现在把视角转换成技术架构角度。我觉得变得特别容易了。毕竟是干了整整十年以上的事阿。。。。。。

参考资源

我以前写的重构投影片:https://speakerdeck.com/xdite/refactoring-lesson-from-gpa-1-dot-4-to-gpa-3-dot-0?slide=45

创业公司的人力债

Published on:

OTCBTC 是我最近创业的一个项目。也是我做过成长最快速的一个项目。不管是数字币成交额(GMV),公司大小,推出产品速度。都是打破纪录的快。

做这个项目的难度,可以说对我们来说是地狱级的难度。

怎么说是地狱级的难度?

  • 对接的底层是难度极高的开源软件(区块链资产)
  • 内部风控与外部风控直接到达了最高级别 — 区块链交易所安全
  • 叠代的速度远远超过互联网的速度 — 币圈一天,人间一周
  • 创业题目是双边市场的冷启动 — 同时要兼顾 Supplier / Consumer 市场的增长
  • 竞争对手的员工人数是我们的几十倍(高达上千人)

远远不是前几个项目能够比拟。

招聘的困难

在经历过许多次参与创业公司组建的过程。在最近两年的创业过程中,我更坚定了一个观点:创业公司中,文化与价值观才是最重要的,重要程度远超过技能。不合价值观的宁愿不招或者请对方离开。

就是以这样的坚持以及缓慢的招聘,才打造了现在的一支坚强的创业团队。连续缔造奇迹。不管是风口的掌控,推出产品的速度,叠代的速度。

然而,在产品小规模时可以维持这样的速度与品质。但是这样的团队却很难长大。特别是应付这么快的节奏。

为什么这么难招人?我们曾经内部盘点过内部要什么样的人:

  • 能够不断自我学习
  • 互助补位帮助其他人成长
  • 能够构建自己的方法论,并不断补强
  • 能够对自我的要求不断升高
  • 信息透明
  • 能自我改正的进取性人格

首先,具备这样个性的人非常稀有。再来,还要具备需求的技术栈(如懂区块链以及需求之业务)。并且可以快速学习融入我们内部独特做产品的框架。

导致了招人上的不可能任务。

对于我们来说,要一次招 100 人在财政上,不是不可能的事情。

但实际上,过去曾经几次放低过标准招人,对公司协做与产出上造成过巨大的伤害。更加坚定了我们不可能放低标准找人。(更何况在此之前,我们就见过 A 轮公司快速扩招,而导致的内部的山头斗争,最后整个公司没人在做业务,能量都消耗在内斗里的惨况)

因为现实生活中,面临到的现实就是:主动投履历的,可能合价值观,但技术栈不契合。或者是技术栈契合,但价值观与个性不合的实在应该敬而远之。

招聘是还人力债的过程,与还技术债一模一样。

在此之前,我从来没有意识到招聘,其实是还人力债(跟技术债一样)的一个过程。

刚开始组建一个公司,大家都是全能型,只要价值观相同,就可以用各式方式绕过协作上的障碍。

但是这个方法非常考验团队当中每个人的平均战力。因为任务是平均式的压到每个人的身上。而 CEO 是负责当最后救火员。

随著业务复杂度增高,并且团队扩增到几十人。每个人的平均任务以及压力程度,会上升到没有办法想像的地步。

很容易就会变成只要一个地方链条松了,就会造成连锁反应。更何况交易所与币市还是一个说错话以及公告被错误解读,就会造成大灾难的一个地方。

公司势必无法以这样的型态继续运转维持。

必须如同像代码重构一样,重新梳理组织架构与权责,引进高级人才建立分层制度,利用制度管公司,而不是用潜规则管公司。

而这个过程当中,一边不断的补人换人。势必会造成原有业务的动荡与效率降低。

如何有效的转型与扩招

在创业圈中,A 轮死是很常听到的一个字眼。许多创业团队在种子轮做得风风火火的。拿了一轮融资后,却直接死在了 A 轮。

A 轮死的原因有几个:

  • 原有的市场其实并没有想像中的大,无法烧出一个垂直的商业模式
  • 由原先 10 数人团队一举扩增到 100 人的过程中,团队无法有效协作,招的人越多,团队速度反而越来越慢
  • 拓展生意规模要烧的钱远超过想像

总而言之,创业团队从 seed 轮转型成 A 轮公司,就如同在赛车跑道上一边飙车一边换组件还要不散价。而 C 轮 D 轮的公司,只是轻松增加轮胎。

职缺专门化 & 职业化招聘

一般来说,seed 轮扩招到 A 轮公司,有两个很容易陷入的迷思:

  • 继续采取单纯发广告方式的招聘,希望吸引到类似原先团队气质的应聘人
  • 继续招偏全才的专才,求平均分担业务

但这其实是一个错误的思维。

首先,若是处于这个阶段。市场上合格的招聘人可能不足 0.1%。更何况是自己投简历。

第二,主动投简历与面试合格的速度,远远跟不上公司的需求。使用猎头虽然贵,但有效率非常多。

第三,到这个阶段,公司不应该再追求全才。而是反而要回头梳理过去业务。让过去的全才专心做专才的事。然后将这些原先散落在各地的业务,一个一个重新归纳整理,独立变成独立职位。

定义什么叫做 ”职位上的成功”

多数公司招人没有效率,是因为对于职位并没有清晰的需求,甚至没有清晰得定义这个职位的”成功状态”。

而是缺人干活,就招人。所以招聘启事写的极其简略,只列出了基本技能需求。

如果要能够招聘到有效的新成员。应该需要把握几个原则:

  1. 知道自己为什么要招人,干完什么样的活,重新检讨自己为什么需要招人。有时候,一个公司不需要招人。需要做的是调整职缺,将潜规则整理成制度,让制度运行,而非用人救火。
  2. 非得要招人,除了知道为什么要招新职位。还要具体定义这个职位的”成功状态”,而非只是招人进来补坑,补坑后发现这个人只能做原先的 1/2 需求,另外 1/2 不是不能做就是适应不良,明确给新员工一个目标去追求”成功”。
  3. 不可能透过单纯贴广告与应聘者主动应试,就招到合格的人。应该主动透过多个渠道去招人,特别是猎头。而且 A 级人才,并非是应聘者几个人就能筛到一个。而是如同销售一样,可能筛几十个甚至几百个人才能找到一个。所以要面很多人是家常便饭,甚至要建立一套系统有效筛选人。
  4. 只招 A 级人,别降低标准招。

这几个原则,往往是被多数小公司所忽略且缺乏系统性方法的。

具体实做方法,我推荐可以看以下两本书:

Onboarding

招到了人以后,不是就这么算了。好不容易招到一个 A 级人,若这个 A 级人没有办法明确在短时间取得 “胜利” 状态。也容易陷入迷茫,甚至无法发挥以往的战斗力。

内部也要建立 Onboarding 机制。具体的原则与做产品的 Onboarding 原则一样。

所以甚至不仅是定义 “职位上的成功”,甚至还要定义 “职位上的成功的具体指标”与 “成功方法论”。

所以,创业真不是融完资,雇用程序员解决技术债就了事。创业公司人力的 Scaling,也是一种还债,还的就是人力债。

运营交易所的安全挑战 Part 2.1.2 — 风控 - 安全顾问

Published on:

经营交易所的本质是

维护几十套技术不稳定之开源软件,以非去中心化的方式维护内部帐簿

所面临的挑战主要有:

  • 恶意黑客日夜钻研窜改链上数据
  • 恶意黑课日夜钻研攻破交易所数据

宏观来说,交易所是被动防守的一方。几乎很难抵御攻击方不断的主动式攻击,或开源社群上的不定时炸弹。加上交易所多为初创型企业。内部缺乏安全人才。

所以我通常会建议,在交易所开业时就雇用专业的安全公司帮忙把关。

专业的安全公司能够提供的协助

雇用专业的资安公司主要可以协助几块:

黑箱检测

资安公司作为白帽黑客。模拟外界黑客,在不知道内部架构的情况下,针对数十项常见的网站 App疏失进行渗透。并给出改进报告。

通常可以扫描到非常多常见架构设计漏失。

参考:慢雾安全的交易所安全审计项

https://www.slowmist.com/service-exchange-security-audit.html

灰箱检测

在资安公司知道部分架构设计的情况下,针对细微的特定操作行为路径与机器群,进行渗透。可以在针对特定流程组件,进行细部的逻辑安全校验。

通常可以抓到思维死角,内部开发之不良习惯。

白箱风控

讨论内部的风控架构,白帽心态模拟内部有心破坏的内鬼在知道架构的情况下攻击。以及如何设计截断防御机制。

让即使最坏的情况下,内部员工有心作恶,内部风控机制还是可以有效阻断大多数行为。

针对区块链场景,专业的安全公司能够提供的协助

黑箱,灰箱,白箱。是一般资安公司都会提供的服务。

但是我认为区块链,雇用资安公司顾问最大的价值,是 0day 防御与联防。

0day

0day漏洞,是已经被发现(有可能未被公开),而官方还没有相关补丁的漏洞。在一般互联网的领域,被 0day 攻击,可能导致的是伺服器入侵,资料被盗取。

但是在交易所的世界,区块链上的 0day 就代表著假转帐。一旦有假转帐,可能意味著几百万甚至几千万的损失。

而交易所维护著数十种资产,无法也不可能日日夜夜去研究区块链项目上的何种变动会造成高危风险。这时候就得倚赖专业资安公司的 0day 通报。

一般区块链资安公司,通常也是深研区块链社群的安全研究者。如果有 0day,通常可以在漏洞被发现几个小时甚至几十分钟之内就通报到合作交易所上。

特别是 ETH 合约安全事件频出。EOS 主网架构十分不成熟。光是这几十分钟的时间差,就足以阻挡非常大的灾难性事件。

联防

区块链黑客为什么好赚?赚的就是两件事:

  • 0day 时间差攻击
  • 这家交易所有这个洞,别家可能也有。一个漏洞可以获利几十遍

所以一个好的资安公司能带来的价值。就是其服务交易所的联防机制。当服务的其中一间交易所出事,其脱敏过后的事件处理报告,可以为联盟下的交易所带来很大的防御价值,及时修补。

Bug Bounty Program 设计

除了被动防御外,交易所也可以主动作 Bug Bounty Program。提供赏金给发现漏洞的白帽黑客。作为一种鼓励态度,而非防御攻击性态度。

然而,维护 Bug Bounty Program 并不是只有补洞,给奖这么简单。

一般而言,收到 Bug Bounty 的流程如下:

  1. 收到 Bug 或漏洞,判断级别通报反应
  2. 修补漏洞。做出处置
  3. 针对漏洞给奖

这当中的难处就在于:

  1. 如何判断这个漏洞到底紧不紧急,是否要直接提升到风控最高等级
  2. 是否要马上修复,还是可以等一等
  3. 要如何判级给奖与感谢。

每一层都牵扯到需要「人力」去判断,与白帽黑客交涉。而交涉的过程一个不小心,甚至可能会得罪黑客。一般初创企业,实在没有办法负担成立一个专门的安全部门,处理这一类的事件。

所以委托资安公司,代为管理 Bug Bounty 也能省上不少力气。

总结

很多人在开办互联网公司时,很少雇用资安公司做为顾问。资安不是不重要,而是在一般互联网生意,可能不是最重要的一环。

然而,在经营交易所或企业区块链钱包服务时。我认为聘资安公司绝对是「必要性」的一环。

因为交易所世界实在存在太多的未知风险。如果不以主动式的态度,去面对这些潜在的威胁。还未开张赚钱,就先倒赔个几百几千万,恐怕真不是罕见的案例。

运营交易所的安全挑战 系列文目錄

运营交易所的安全挑战 Part 2.1.1 — 风控 - 上币部分

Published on:

风控部分的文章,因为很长。所以我从大家比较有兴趣的主题先写。我想很多人比较有兴趣的部分,是上币。

上币的原则

上币是交易所收入的主要来源。是非常重要的一环。所以很多人都会好奇,交易所上币的原则是怎么样的。

多数人以为只要上币费给得多就上。但事实上不是这样的。上一个币要考量非常多因素。

而且坦白说,今年开交易所的技术难度比去年年初时开交易所难度高非常多。

以前交易所只需要接 BTC 一套资产,顶多 ETH 再一套资产。

今年要接的资产有:

  • BTC
  • BTC 及其分叉币
  • ETH
  • ETH 及其 ERC20 Token
  • 各种公链
  • 各种公链上的 Token ( 比如 Qtum, Neo, Steemit , XRP, EOS )
  • ERC20 Token 转成公链(的过渡过程)

很多人常常会批评常去的交易所,反应不够快,态度很烂,技术不行。不支持分叉币,不支持糖果空投,不支持那个代币转换。

实际上交易所是哑巴吃黄连。

交易所的选币标准

交易所如何选币?

外界可能比较猜测到的选币标准通常是:

  • 项目方给了多少钱
  • 与哪一些资本战略合作
  • 可以带来多少流量与交易深度
  • …..

其实撇除这一些常见因素,其实更多人可能不知道的是,交易所还更考虑一个币的界接 / 维护度 / 安全度。

为什么上这个币?为什么不上这个币?

资产分两种,一种本身是链,另一种是链上的 Token。

如果要是赚钱为基础考量的话,其实大多数交易所都宁愿只支持 ERC20 Token。

原因很简单,因为:

  • 钱包工程师是交易所极度希有的资源(许多交易所干到很大了,还只有 1-2 位,甚至钱包工程师可能是老板本人或 CTO 本人。。。。。)
  • 一个链的热钱包通常是一台独立机器(风控因素)

以 C/P 值来说,当然交易所比较有大的意愿去支持 ERC20 Token。因为毕竟跑在同一套架构上。甚至有些交易所架构,写的比较好,改个设定就能上一套币上去了。

其他的公链,除非是前十,具有极大的流动性。否则交易所愿意接入的意愿,也相对来说较低。

特别是很多公链或者分叉币的钱包,接口与架构做的极其粗糙蛋疼。甚至这些链本身转帐与校验的方式,就不符合交易所的架构安全规范。这种优先权就会被排的非常低。

更别说,是基于其他知名度比较低链(这边就不点名了)上的 Token 了。除非是资本特别关照交易所,否则一般交易所并不会想接这么蛋疼的活。

为什么交易所 2018 年中之后上币趋于保守?

2017 BTC 分叉币之乱

2017 年底的时候,最热的话题是分叉币,各家交易所为了争取交易所,一下说支持这个分叉币,一下又说支持那个分叉币。

后来为什么大家都不支持,或者是只打快照,但实际不接充提呢?

两个原因:

  • 打快照太耗交易所的资源。用户都非常在意自己领到精确数量的糖果。所以打快照需要钱包工程师或者数据库工程师全神贯注作业,甚至关闭站上充提。某种程度上相当干扰站上正常交易行为以及日常运作。
  • 本来说好的区块快照高度,一变再变。
  • 分叉币团队根本做不出钱包,导致无法充提。在这个情况下,交易所哑巴吃黄连,抢先发了糖果,却一直被骂单机币。但事实上是分叉币团队技术不够。
  • 许多分叉币后来被证明只是炒作,对交易所毫无维护价值。
2018 年初 - ETH 智能合约漏洞

在 2018 年初,开始很多团队涌入开设交易所。支持 ERC20 Token 大家不亦乐乎。甚至某段时期,有些交易所甚至不需要上币费,推用户自主上币。

但是一段时间之后,为什么又沈寂了呢?

原因在于业界出了几次的重大事故。大家才发现原来智能合约上的信息是「不可信」的。

一般来说:

  • 资安的重要意识是要假设用户的资料是恶意的,先行过滤一遍再进行处理。
  • 交易所对区块链资产的充值往往只是确认数字对不对,网路上的确认数够不够。防重复充值而不会去校验,这个值是不是合理的。

问题在于:

  • 一些发币项目方,并没有本事写智能合约,都是外包的。要码智能合约本身有问题,可以被偷印币。
  • 要不是智能合约被外包商留了恶意后门,可以无视拥有者权限任意转帐划币。

这下很多交易所就炸锅了。因为这样会造成

  • 被转帐虚假的数字,大量充值,大量提现。交易所热钱包被提光。
  • 攻击者恶意砸盘提币变成 ETH 走人。
  • 错帐
  • 项目方「升级」(其实是换掉)智能合约硬回溯。所以空窗期的损失有可能是交易所或者使用者承担。(因为通常被攻击,到项目方通知交易所,到交易所真正关闭交易。都存在著时间差。)

所以现在多数交易所,都需要上币方必须提交审计报告,甚至质押项目风险保证金。

2018 年中 - EOS 糖果

EOS 糖果,一开始各大交易所都支持的很迟疑。甚至表示负面态度。

事实上就是被 ETH 智能合约漏洞这个问题所搞到胆战心惊的。

  • EOS 本身是刚上线的 beta 版本软件,本身不知道存在什么致命性漏洞。(交易所光开充提都很小心保守)
  • EOS 上的 Token 本身也是智能合约。然而,这些智能合约没有经过审计。贸然支持实在不知道会有什么后遗症。
  • 再来,EOS 改进了「 ETH 智能合约不可升级的缺点」,可以链上升级。可以升级也不一定是什么好事。举个例子好了,若是项目方改变了合约里面的总量数字与合约持有者持有的 Token 总数。。。。。会发生什么事。
  • 可以升级甚至可能代表「第一次 OK 的审计报告」可能是无效的。
  • EOS 本身上有一些架构问题,目前陆续爆出 0day,还未修复,可能导致交易所冷钱包资源受损。

再来,某些 EOS 糖果的操作非常危险,甚至是需要动用到冷钱包本身操作去领取的。严重违反交易所本身的内控准则。

这都是为什么许多交易所对于 EOS 糖果这件事,并不是持激进态度。

交易所难为的地方在于许多区块链资产都是 beta 版软件上面跑 alpha 版架构。不支持了被用户骂侵吞资产,支持了交易所又暴露在巨大的技术风险下。

如何进行风控

上币的风控分两块

币本身的信用

  • 上某个交易所本身,甚至代表交易所检查过背景
  • 有些币是明显针对老年人的庞式骗局。答应上了到时候说不清

币本身的技术风险

  • 合约本身是否经过审计,没有低级的安全性问题与架构上缺陷
  • 项目方彼此的紧急通报机制与内部下架处理
  • 风险的承受范围
  • 异常交易风控的警报
  • 对区块链上传入数字的校验。(可疑的大额转帐,宁愿直接 drop,人工手工入帐出帐。)
  • 与生态圈的战略结盟,达到第一时间修复 0day。

运营交易所的安全挑战 系列文目錄

运营交易所的安全挑战 Part 2.1 — 风控

Published on:

如果要我形容过去一年开交易所的感想,大概只有一句话形容 — 在炸药堆上开公司。

公司内部人一句话说错,关键几行代码错,一个小时不留神,整个公司都很有可能直接完蛋。一般技术创业公司可能很难想像这是什么场景,以及这是什么挑战难度。

这不是因为公司风控薄弱。而是这整个区块链业界,需要风险控制的地方,实在远比想像中的要多太多了。

区块链技术本质上是解决人与人交易信任上的问题。

然而,这个世界大概却是我见过人心最险恶的世界 — 而且 — 知道业界各种险恶,各种套路,还得装得一切都没事。

险恶包括:

  • 人与人之间的交易毁约与蓄意欺诈。(场外交易)
  • 无节操的 PR 碰瓷(没有道德的业馀安全团队发假 FUD )
  • 利用信息不对称的市场操作与项目方绑架交易所(项目绑架上币)
  • 社交工程的各种花式套路(社交钓鱼)
  • 区块链资产因为各式原因的的不可「信任」(充满缺陷的智能合约资产)
  • 各种太多眼花缭乱的庞式骗局.

很多人以为开交易所很风光,收收项目方天价上币费,发发糖果,刷刷量没什么技术可言。

所谓安全哪有啥?不就是:

  • 防钓鱼
  • 冷热钱包
  • 代码审计

哪有什么好说嘴的?

事实上,大众所知的只是区块链科普媒体上的小小一环。要好好保护用户资产的议题远比这个深入的多。

业务机制需要做到的风控部分

  1. 场外交易
  2. 场内交易
  3. 糖果
  4. 羊毛党耗用资源问题
  5. 智能合约风控
  6. 上币方道德风险以及上币维护成本

因为这个议题也很大,于是我会拆成若干篇文章细讲。

运营交易所的安全挑战 系列文目錄

运营交易所的安全挑战 Part 1 - 如何保护使用者的资产

Published on:

黑客(入侵型)攻击交易所主要有两种手段:

  • 针对交易所本身的设计瑕疵攻击
  • 针对交易者进行社交攻击,诱骗拿到密码或者前往钓鱼网站

攻击交易所本身的设计瑕疵,本身难度比较高。可以把攻击交易所这件事,比喻为抢银行。

来硬的抢银行,难度可能比较高,因为有些银行防御系数非常高。不容易打的下来

但是对使用者进行社交攻击,就比较简单了。所谓社交攻击类似就是像骗密码。有时候要抢钱不一定得直接硬碰硬抢银行,合法拿本子进去银行大摇大摆提现容易的多。

什么是社交攻击?

人类对于自身信息的保护意识与技巧,其实是这当中最脆弱的一环。

所谓社交攻击就是黑客利用一系列人与人之间的互动去让被害者上当。

举例来说,常见的两种社交攻击技巧:

  • 用户无意中上到假的网站,输入真的密码。输入正确密码,却没有办法登入。但是也没有立刻意识到这是诈骗网站,即时把自己密码改掉。
  • 用户收到钓鱼信件,信件是由熟人寄来的。通常诈骗的手法是希望被害者打开副档名 .pdf 或 .docx 的内容阅览。而被害者一打开这些文件,马上就被植入木马。而这些木马会监测使用者在电脑的各种输入。。。。。(包括密码)

不容易被入侵的防御意识是:

  • 只用 iPhone 不用 Android
  • 只用 Chrome 不用其他浏览器
  • 使用 Mac 而不使用 Windows
  • 不同网站使用不同密码
  • 仔细检查网址是否是假的网址
  • 网址是否有上 https
  • 对于熟人寄来要求开档案的邮件,一律不打开。
  • 使用会自动侦测有害附件的邮箱(如 Gmail)
  • 邮箱也上二步验证。(这是最多人缺乏的意识,很多黑客喜欢攻击邮箱,因为很多网站的防御机制是透过邮箱确认。邮箱被入侵,会连这第二道防线也沦陷)

防社交攻击,说到容易做到难

社交攻击难以被防御的问题在于:

  • 很多人只是买个币,并不是电脑高手,也不是有被害妄想症的人,不可能防这个防那个。
  • 有一些防御细节牵扯到技术细节,一般人无法短时间吸收,更难以宣导。通常是中一次奖才会痛。

而且中国大陆用户的使用习性,可能让这件事又变得更加困难。

  • 很多人用的不是 Chrome / Firefox,而是不知哪里来的加料浏览器。(本身电脑还中了毒)
  • 绝大多数人惯用手机不是 iPhone,而是系统底层容易被入侵的 Android。
  • 多数人邮件使用的是 qq / 163 邮箱,不是 gmail。

所以要让使用者保持「安全」,这件事是很难做到的。因为使用者本身就不是待在安全的环境里。

交易所该怎么防:预设使用者已经被盗,但无法让被盗者一次得逞

所以交易所该怎么做呢?

我认为实做交易所安全很重要的一个态度,是直接假设所有的使用者的信息都是极其可能被盗,甚至已经被盗。

关键在于如何使用者在密码已经被拿到的情况下,还能保护使用者的资产。

技术性阻挡一次性沦陷

主要办法就是开启多重因素 ( Multi Factor )。

几个可以具体且可以确切阻挡的作法是:

  • 当侦测到使用者上次登入与这次登入的 IP / 浏览器不同时,要求使用者必须在邮箱里面确认。(假设 Email 没被盗的情况下)
  • 关键提取资产步骤,必须请使用者输入二步验证码,才能进行提币申请。(这里可以确认是本人操作)
  • 提币申请发出后,必须请使用者再去确认一次提币动作。(假设 Email 没被盗的情况下)
  • 请使用者设置防钓鱼码,确认以交易所名义寄来的信,确实是交易所寄来的。

这些都是一些目前主流交易所预设会上的技术手段。尽量避免使用者因为一道密码沦陷,甚至邮箱沦陷,整套资产蒸发的风险。

内部风控机制

另外还可以做的是交易所内部的风控动作。

所谓风控动作比较像是侦测可疑性事件并且主动进行阻挡:

  • 使用者是否提币到高危地址。(已经被回报为诈骗者变现主要钱包)
  • 使用者是否近期不活跃,突然转出大额资产。提币确认由机器处理转为人工客服处理。
  • 多个使用者被同一 IP 登入,快速冻结所有相关帐号
  • 同一 IP 尝试多个帐号密码,直接 ban 掉
  • 针对不同活跃度使用者,区分风险等级。高风险使用者出现不寻常动作,立刻冻结相关权限。

运营交易所的安全挑战 系列文目錄

運營交易所的安全挑戰 Part 0

Published on:

因为 2017 年区块链趋势兴起,明显的造富潮。所以造成很多人不是在买币的路上,就是在开交易所的路上。

即便到现在,还是会有人问我关于创业开交易所该具备哪些条件,对于开交易所跃跃欲试。

坦白说,我认为开交易所,需要天时地利人和。甚至是不只天时地利人和,还需要相当扎实深厚技术功底。

因为开交易所的难度可能是一般 FinTech 的几十倍不夸张。因为真不是开个站就会有人愿意存钱交易这么简单的事。更别说,果做起来,有人愿意存大量的钱在这里,那么站方又怎么保护这些资产?

之前一两个月,我曾经与安全厂商 Sqreen 合作发表了一篇关于交易所安全性的英文专访文章。

这次打算花更多时间,来专门写一篇有关于交易所安全性的专门文章。

什么是经营交易所技术上最挑战的部分?

若说 2018 年区块链行业最赚的行业是什么?我不会说是开交易所,甚至不会说是发币(除非立志狂印超多空气币杀韭菜)。我认为是当区块链黑客(入侵类型的那种)。

为什么呢?

这里列一些我看过业界的几种情况:

  1. 许多区块链资产持有者,资安意识匮乏,很容易因为一些小钱(比如空投或代开钱包)就把自己私钥交出去了(各种花式被拐)。
  2. 许多发币者,智能合约不是自己写的,而是由外包写的。所以一但币的合约出现问题,而且这个币已经上了交易所,加上(ETH)智能合约不能修改。很可能因为时间差问题,造成交易者与交易所的重大损失。
  3. 链本身机制不成熟,可能因为链本身的 0day 导致交易所被攻击。
  4. (EOS)的合约上链之后可以被修改,导致即使第一次看到的版本是可信的,只要 Owner 有心作恶。合约爱怎么改就怎么改,使用者与交易所不会马上察觉。
  5. 交易所的部分代码出现问题(可能交易下单引擎有 race condition),导致使用者可以自己印钱出来。转手提币到其他交易所直接变现逃逸。
  6. 使用者对于自己的密码保管不当,被撞库。或者交易所没有防恶意撞库。而且没有对提限等敏感操作设防,导致资产被偷走。

我还可以列出几十种曾经发生过的案例,限于篇幅写到这里。总而言之,大致上分成这几种类型:

  • 许多使用者,完全没有资安意识以及资安知识。但交易所必须在机制上做到即便使用者没有相关知识,就算遭受到恶意钓鱼,也不至于死伤惨重。
  • 交易所本身也是一个成长型 Startup,在一般 Startup,推出功能的速度是最被看重的。架构稳定与 Bug 优先权是次要的。除非有老练架构师在的交易所,否则团队写代码难以有资安优先的潜意识。而只要一个 Bug,可能就会让整个交易所的当季利润当场蒸发,甚至直接破产。
  • 交易所接入的数字资产,本身是(高度)不稳定且不成熟的开源软件。链与合约本身都有可能(一转眼变成)是恶意的。

所以,我才会说也许当一个区块链黑客(入侵型),可能远比开交易所来的划算。

那么,资安是经营交易所技术上最挑战的部分吗?我认为也不是。经营一个交易所要注意的部分非常的多。

  • 交易底層系統的設計
  • 促進交易系統與交易者活躍度的設計
  • 交易系統效能上的延展度與抗壓度
  • 如何選幣?(項目靠譜度,項目介接技術難度,項目後續維護性)
  • 風控系統的設計(如何降低用戶的損失,如何降低站方的損失,如何第一時間阻斷攻擊)
  • 內控系統的設計(如何分層管控內部存取敏感資訊,以及資產如何分散風險異地配置)

資安只是其中的一環。但這個項目卻是一失守,所有其他一切都變得不重要的一環。也是一般技術 Startup 最脆弱的一環。

  • 交易底层系统的设计
  • 促进交易系统与交易者活跃度的设计
  • 交易系统效能上的延展度与抗压度
  • 如何选币? (项目靠谱度,项目介接技术难度,项目后续维护性)
  • 风控系统的设计(如何降低用户的损失,如何降低站方的损失,如何第一时间阻断攻击)
  • 内控系统的设计(如何分层管控内部存取敏感资讯,以及资产如何分散风险异地配置)

资安只是其中的一环。但这个项目却是一失守,所有其他一切都变得不重要的一环。也是一般技术 Startup 最脆弱的一环。

如何建置高可靠的交易所?

这篇文章可能会很长,我打算拆成一个系列持续连载。主要会分成几个主题:

  • 如何保护使用者的资产(在教育层面以及系统机制层面)
  • 如何做风控
  • 如何做内控
  • 以资安为重点的编程架构设计
  • 与资安协力厂商的合作

运营交易所的安全挑战 系列文目錄

平静处理事情的绝佳方法

Published on:

最近学到了一个非常牛逼的方法,叫做「A4纸书写法」,这个方法出自于赤羽雄二的「零秒思考」一书。

使用方法也非常简单:

  • 遇到苦恼与愤怒的事情,生氣時別急著找人抱怨
  • 拿出一張 A4 開始發洩,真實的把腦袋裡面浮現的字寫下來
    • 不管是遇到的爛人,爛狀況
    • 自己的情緒
    • 自己的苦惱
    • 衍生的解法
  • 以条列的方式写下来
  • 写完一张 A4 后,把第一章 A4 里面浮现的问题,再逐一展开来写
  • 一样是把脑袋浮现的念头写下来

一旦写到两三张后,就会走出困境。有办法知道自己的问题,也列得出后续代办的 TODO。

摆脱自己的情绪

这个方法刚开始是同事介绍的,本来用时还半信半疑。但是写了几张 A4 纸之后,越写脑袋有更清楚的感觉,开始逐渐上瘾。

写到后来,我开始明白这是什么道理。

人脑是有带宽限制的。情绪也会占据短期注意力(通常只能记住五件事)。 一旦短期注意力被情绪满满的占住,不是不理智,就是会陷入情绪负循环。 被占住没有好方法可以解,通常只有睡觉可以解决。

另外可以解决的方式,就是找朋友喝酒吐苦水。吐苦水其实是一种强制释放注意力的方式,透过叙述的方式,释放短期注意力,把话越说越明白。

但是吐苦水是有代价的。

  • 朋友未必有时间听你吐苦水
  • 就算有时间,长久下来对方也觉得你是个负面的人

另外,如果对方不是个引导者,而只是个情绪接收器。多半吐苦水,能宣泄掉的是情绪。情绪宣泄完,还是没有明确的方法往前。

A4 纸书写法 = 驴耳朵

而 A4 纸书写法其实充当的就是驴耳朵的功用。

透过手工书写,能够有效把注意力聚拢。而且将情绪都发泄到纸上,写了两三张后,明确就会知道问题在哪了。

比如若书写了当天对某某的不满,其实反过来看这些抱怨的内容,就代表其实你不满的是对方违背你个人的原则或者做事的原则。

那么应该做的是,把个人的原则与做事的原则写下来,公告或落实在生活中。

我通常在书写到第二张纸后,就有办法把情绪,原则,TODO 很快的梳理开来。

这其实也是一个把不确定性问题,梳理到确定性问题,再找出解答的方法。

动手做

当然,这个方法非常好用。但是为什么不是很多人流通,并养成习惯。

我个人的原因猜测是这样子的。在情绪产生时,很多时候下意识只想到都是对方的错,对方应该如何如何。

而在书写 A4 或是日常撰写 ORID 时,常常不小心就会变成对自己深刻的检讨。

没有人喜欢一天到晚检讨自己。不是病态的人,并不会有检讨自己上瘾的感觉。

但是,我觉得人与人的差距,就在于一个人有没有办法摆脱自己的情绪,客观的面对自己的不足做出检讨改进,摆脱自己老是陷入的失败回圈里面。

这才是成长的核心重点。

如何在熊市保持理智不割肉?

Published on:

这是币市里面头号的一个经典问题。

我们都知道要在币市里面赚钱,最佳的原则

  • 低买高卖
  • 选定优质资产低点时购入,高点适当出货
  • 不碰吸血传销币,以免本金被吸

道理很简单,但是很少人能做到。

主要问题出在哪呢?

人类的大脑里面有两套系统,一套叫快系统,一套叫慢系统。

心理学家认为,人类的大脑是在所谓的双重系统中运行的。其中一个系统就是迅速的、直觉的、反应性的,此时的大脑会恒定地抵抗或逃避警觉,并不需要有意识地思考或努力,其运作方式类似自动驾驶仪,这是大脑的快系统。而另一个系统较慢,它更慎重、周密、有逻辑,因此在认知上需要付出更多努力,这是大脑的慢系统。
由于冷静的慢系统很费脑力,因此我们习惯把思考的时间花在热情的快系统上,容易在第一时间做出自发的、直觉的、反应性的、快速的判断。只有当某件事真正吸引了我们的注意力、迫使我们停下来或者使我们大为震动时,我们才开始意识到应求助于更深邃的、自省的、冷静的慢系统。但无论你是先启动哪种系统,大脑都会预先接受第一眼看到的事情,即便这件事并非真实。

问题了。慢系统的启动是非常费力的。甚至,需要足够的知识去培训。也就是:

  • 遇到突发状况,得训练先识别这信息是真是假
  • 根据越多的环境变量,去下出品质足够好的决策

问题来了,在币市里面

  • 信息极度不对称
  • 很多人对整个币圈的大环境,与经济的大环境是没有感知的
  • 原始的大脑只知道损失就要逃跑,有赠送的奖品立刻就要冲进去拿
  • 以为群众的结论就是真正的结论

所以当熊市时,就很容易鬼哭神嚎了。

另外,也有另外一个很重要的元素:血清素。

血清素是一种有助于提振精神,防止情绪低落或抑郁的重要大脑化学成分。 当血清素降低到一定数量时,便会出现注意力集中困难等问题,会间接影响到个人的计划和组织能力,此种状况下还经常伴随压力和疲惫感,如果血清素水平进一步降低,还会引起抑郁等更严重的问题。

很多人割肉时,多半是夜晚。很少在白天。因为在晚上,人是很难控制集中注意力,而且血清素低,很容易情绪一再降到低点。

那么在血清素低的时候,就容易做出后悔莫及的事了。

然而,你是不可能知道自己不知道的事。

所以,这时候念书就派上用场了,一个人要是知道自己有什么问题,先知道并且知道解法。那么下次再做这件事情时,就会三思再做动作。

像我一向在情绪低点时,往往是不做任何动作的。

我往往只会马上去做一件事,就是去睡觉。

睡觉治百病,真的,而且也防割肉。