十一月初的一个下午,林彻离开了自己的办公室。
这件事本身就不太正常。
微光总部七楼是他的地盘,从早上进门到晚上离开,他很少在工作时间离开七楼。
需要找人的时候让人上来,需要开会的时候人到他的办公室里开。
不是架子大,是习惯。
他的茶在七楼,他的文件在七楼,他处理事情的节奏在七楼,换一个地方就不顺手。
但今天他坐电梯下了一层,六楼,技术部。
六楼的走廊比七楼窄,两边是玻璃隔断的工位区,下午三点多,大部分工位上都有人,屏幕上是代码编辑器或者终端窗口,键盘敲击声连成一片。
有几个人抬头看了他一眼,又低下了头。
林彻不常来六楼,但也不是没来过,大家认识他,不至于大惊小怪。
老周的实验室在走廊最里面。
不是正式的实验室,是技术部划出来的一间大会议室,被老周改成了半办公半测试的空间。
玻璃门上贴了一张A4纸,打印的,写着"微光OS测试环境·闲人免入"。
"闲人免入"四个字是手写加上去的,笔迹是老周的。
林彻推门进去。
老周在里面,坐在一张大桌子前面,面前三块屏幕,左边那块开着代码,中间那块是一个架构图,右边那块是一个终端窗口在跑测试。
桌上放着一个搪瓷缸,里面是凉了的茶,茶叶泡得太久了,颜色很深。
"林总?"老周转过椅子看着他,有点意外。
"忙吗?"
"还行,OS的v2.7.5在做兼容性测试,不着急的。"老周把手里的键盘推到一边,"什么事?"
林彻拉了一把椅子坐下来,实验室里的椅子不是七楼那种皮面的,是普通的办公转椅,坐垫有点硬。
"沟通会的材料你看了?"
"看了,四家的发言回放我都看了一遍。"
"工行那个你怎么看?"
老周想了一下:"方案扎实,全栈自研,架构图画得很清楚,不是PPT工程师画的,是真干过的人画的,硬件钱包是亮点,NFC加安全芯片,离线支付,这个思路对。"
"但是?"
"但是他的方案本质上是在现有银行清算系统上面加了一层数字货币的壳,底层还是同步清算,每一笔交易实时记账实时确认,这套东西在网络好的地方跑得很顺,在网络不好的地方就会出问题。"
林彻没接话,等他继续。
老周端起搪瓷缸喝了一口茶,皱了一下眉,茶太浓了。
他放下缸子,转身在中间那块屏幕上打开了一个新文件。
"你来找我是想聊可编程的事?"
"嗯。"
"我沟通会上讲的那个概念,你觉得能往下走?"
"我想听你说能不能,怎么走。"
老周靠在椅背上,双手抱在胸前,他想问题的时候有这个习惯,身体往后靠,眼睛看着天花板,嘴唇微微动一下,像在默念什么。
"可编程货币,"他说,"核心是让数字人民币在支付的时候自动执行一套预设的规则,用你的话说就是'让钱自己知道该怎么花'。技术上要实现这个东西,有两条路。"
他转过身在屏幕上画了两条线。
"第一条路,快的,在央行的清算引擎上面加一个规则解释层,简单说就是在每一笔交易确认之前,先过一遍规则引擎,检查这笔钱能不能花、怎么花。规则引擎跑在央行的服务器上,跟清算引擎是同步的,好处是开发快,半个月能出原型,跟现有架构兼容性高,坏处是……"
"坏处是大行也能做。"
老周看了他一眼。
"对,同步架构加规则层,这个思路不复杂,工行的技术团队想到只是时间问题,他们有3.2亿客户的数据,有清算引擎的源码权限,做这个东西比我们快,我们走这条路没有优势。"
"第二条呢?"
老周在屏幕上画了第二条线,跟第一条分开了一个角度。
"第二条路,慢的,不在央行的清算引擎上加东西,自己做一套独立的可编程逻辑层,跟清算引擎异步运行,央行管记账,我们管逻辑,两层之间通过异步回调通信,不是实时同步的。"
他停了一下。
"好处是这套架构完全独立于银行的清算系统,大行做不了,因为他们的清算系统是同步的,要改成异步等于把底层重写,他们不会干这种事,坏处是开发周期长,技术难度大,异步架构要解决一致性问题,要解决时序问题,要解决在弱网环境下的容错问题。这些问题都不简单。"
林彻没有立刻说话。
实验室里安静了十几秒,老周没催他,低头喝了口茶,又皱了一下眉。
两条路,一条快的,一条慢的。
快的那条大行也能走,走了等于跟赵铭远在同一个赛道上比资源,比不过。
慢的那条大路走不了,但技术难度大,时间紧。
央行的数字货币双层运营架构是公开信息,上辈子的论文和政策文件里反复强调过:第一层央行管发行回笼,第二层运营机构管流通服务。
央行不会接受任何去中心化的方案,这是底线。
但异步架构不是去中心化,是分层。
央行管账本,微光管逻辑,两层各管各的,通过回调通信。
这不违反双层架构的原则,反而是双层架构的一种更深层次的实现。
关键在于:能不能在冬奥之前跑起来。
"选慢的。"
老周抬起头。
"慢的那条路,时间够吗?"他问。
"冬奥二月份开幕,实战测试预计一月,从现在算两个半月。"
"两个半月做一套异步可编程引擎?"老周的眉头拧了一下,"林总,这个东西不是写个App,是金融基础设施的底层组件。要保证一致性,要保证容错,要保证在高并发场景下不出错。两个半月……"
"能做吗?"
老周没有立刻回答,他看着中间那块屏幕上自己画的两条线,左边那条短的直的,右边那条长的弯的,手指在桌面上敲了两下。
"能。"他说,"但需要人。我现在手里的团队在做OS迭代,抽不出来,需要从技术部单独调一批人,全职做这个,封闭开发。"
"要几个?"
"核心团队至少八到十个,后端三个,前端两个,测试两个,架构一个,我自己盯。"
"你自己盯。"
"对,这个东西我不放心交给别人。"
林彻看着他,老周穿着那件灰色卫衣,搪瓷缸放在手边,三块屏幕亮着,实验室的灯光比七楼暗一些,他的脸上有一半在阴影里。
从微光OS到可编程货币引擎,从操作系统工程师到金融基础设施的技术负责人。
这个人的角色在变,他自己可能还没完全意识到。
"为什么选慢的?"老周忽然问。
这个问题不像他会问的。
老周做事很少问为什么,给他方向和时间他就去做。
今天问了,说明他在认真想这件事。
"因为快的那条路,赵铭远也能走。"林彻说,"我们要做的不是比他快,是走他走不了的路。"
老周看了他三秒,点了一下头。
"行,我今天开始排人。"
"两个半月,冬奥前必须能跑。"
"知道了。"
林彻站起来,把椅子推回原位。
走到门口的时候回头看了一眼,老周已经转回去了,三块屏幕的光照在他脸上,手指在键盘上敲了起来。
搪瓷缸里的茶凉透了。他没管。