区块链时代,智能合约的安全性被无限放大,一行代码的漏洞就能导致千万美元的损失。统计数据显示,2011 年-2018 年间,智能合约安全事件损失金额达 12.4 亿美元,占该期间区块链安全事件总损失金额的 1/3。

2018 年 3 月,一家想要保证智能合约 100% 正确的安全服务公司「Beosin 成都链安」,携带一种被应用在军事、航空航天等领域的小众、高门槛的验证方式「形式化验证」杀入区块链领域。Beosin 成都链安创始人杨霞表示,形式化验证并非很神秘,归根结底,它是利用数学之美为计算机系统做安全防护的一种严格、有效的方法。

如今 Beosin 成都链安正式迎来了它的一周岁,针对智能合约的安全问题,Beosin 成都链安成功研发了全球首个同时支持 ETH、EOS、Fabric、TRON 等多个区块链平台的高度自动化智能合约形式化验证平台,实现了「一键式」的形式化验证,用数学的手段证明代码,给智能合约提供军事化级别的安全保护。

Beosin 成都链安是杨霞的第四次创业,作为一名连续创业者,她对区块链行业的未来和安全需求表达了充分的信心:「区块链跟其他互联网产业不一样,它的安全需求更大,而且它更刚需,无论是链上交易也罢,数字资产也罢,用户数据也罢,这些都不能出现安全问题,如果出现问题后果是非常严重的。」

Beosin 成都链安一周岁:利用数学之美,让区块链世界更健壮Beosin 成都链安创始人杨霞

在 Beosin 成都链安成立一周年之际,杨霞接受了链闻的专访,分享了她对区块链安全和形式化验证的深度观察和思考。以下是本次采访实录:

Q = 链闻 ChainNews
A = 杨霞,Beosin 成都链安联合创始人,电子科技大学副教授

Q:您从何时开始关注到区块链,能否讲一讲你深入区块链领域的过程?

A:对区块链这个概念的了解,是来源于我身边的一些朋友,他们有人从 14 年、15 年就开始在区块链领域工作,也给陆续我讲区块链方面的知识和动态。但是我当时还没有真正的把目标转向区块链,因为我本来一直在安全领域做研究,所以我更关注的是安全。16 年的时候,以太坊 The DAO 系统安全漏洞的的发生直接导致了 7000 万美元的损失,可以说是这个漏洞把我的目光吸引过来。

从那个时候开始我思考能否尝试用形式化验证的方法避免这些漏洞的发生,尤其是我之前一直给军事等比较关键的领域做形式化验证,对于形式化验证有足够的信赖。因为 The DAO 的安全事件让我感觉到在区块链领域安全问题非常大,一次漏洞就丢那么多钱,说明风险太高。作为安全领域的从业者和研究者,我需要不断的找寻新的对安全有需求的领域进行探索,所以我是从 16 年开始,真正深入区块链安全领域进行实践。

注:The DAO 事件是区块链历史上的著名事件,由于智能合约的漏洞造成资金被黑客转移。2016 年 5 月初,以太坊社区的一些成员宣布了「The DAO」的诞生。它是作为以太坊区块链上的一种智能合约而被建造的。编码框架是由 Slock 开源开发的。 2016 年 6 月 17 日,一名黑客在编码上发现了漏洞,使得他可以从 The Dao 上抽走资金。在攻击的头几个小时,360 万的以太被转出,在当时价值相当于七千万美元。

Q:能否分享一下成立 Beosin 成都链安的过程?初衷和愿景是什么?

A:成立 Beosin 成都链安的过程是进行了很多探索的,在形式化验证这个领域创业是一个很艰难的事,它是比较冷门、门槛比较高、比较小众的一个领域。因为门槛高,所以形式化验证对于传统互联网的安全,实际上发展空间并不大。但是在军事这些非常关键的领域,形式化验证已经被频繁的应用。所以对我而言,我首要思考的是从原来的应用领域,把应用的目标转向区块链,我当时第一个要考虑的问题就是用形式化验证的方法能在区块链领域做什么,然后是怎么做?

(链闻注:形式化验证即是用数学和逻辑学的方法对代码的安全属性进行证明或证伪,通过判断代码问题,从而证明这个代码的实现是否能满足用户需求。这种方法相较传统审计代码方法具有更高效、更安全的特点,多用于对安全系数要求较高的航空、航天等关键领域。)

当时可选择的区块链网络不多,基于对这个问题的思考,我们就在以太坊上面,对以太坊的智能合约进行形式化验证的尝试。当时智能合约同样也不多,我记得很清楚,我们当时找了一个 IBM 官方的捐赠合约,然后用人工的方法对其进行形式化的描述,而后进行形式化的建模,进而去证明整个流程。当时通过这份合约的形式化验证,我们的确发现了以太坊有一个机制漏洞——send 函数没有返回值(「unchecked-send」bug)。如果用户习惯不好,实际上这是不安全的。这算是我们通过形式化验证发现以太坊智能合约的第一个安全问题,也证明这个方法是有效的。

Beosin 成都链安一周岁:利用数学之美,让区块链世界更健壮Beosin 成都链安技术团队与 Vitalik 就形式化验证进行交流

但是这个过程中有一个问题,验证这样一个几百行代码的合约,我们就花了一周多的时间。 这说明通过用人工的方式去做效率太低了。通过人工建模,然后再去发现问题,这个过程太费时间,用这种方法做产业化服务显然是不行的,得尽可能提高它的自动化能力。因为我们先尝试的是通过人工进行形式化的建模,那么我当时就想能不能不用人工建模,而制作一个工具自动对代码进行建模,进而转换成形式化的语言描述,证明部分再用人工参与。

确定了这个方向,我们就朝这个目标走,也就是半自动化的目标。到目前为止,我们已经经历了从全人工化到半自动化到现在大部分自动化的三个阶段,当半自动化功能出来之后,其实我们大部分的产品原型也陆续完备,时间也就到了 2017 年底,完成这些准备之后,分布式资本对我们进行了投资,2018 年 3 月正式成立了 Beosin 成都链安。

Q:获得投资的过程顺利吗?能否介绍一下 Beosin 成都链安的创始团队,国内是否对标的项目和团队?

A:很顺利,实际上在 17 年 9 月份的时候,万向组织了第三届区块链全球峰会,当时峰会邀请我去做了「智能合约及形式化验证」的主题分享。当时在演讲结束后反响特别好,这套方法得到了比较广泛的认可。

目前在国内区块链行业,我们还暂时没有看到特别能够跟我们对标的公司或者团队。我的联合创始人郭文生老师也是做形式化验证的学者,我们原来是两个不同的门派,所以 Beosin 成都链安相当于把两套方法结合起来提供安全服务,加上自动化能力、安全检测能力和先发优势,目前还没有明确的竞争对手。

Q:走完了从全人工化到半自动化到大部分自动化三个阶段之后,2019 年的目标和计划是什么?

A:因为公司成立刚好满一年了,在这一年中,我们推出了基于形式化验证的 VaaS (Verification as a Service)平台,它是 Beosin 成都链安创立时就规划的一个高门槛的产品,这个产品我们已经做到全球最顶级,精确度和准确率都是全球最高。在形式化验证的基础上,2019 年我们计划做更多的区块链安全产品,同时我们的安全服务也将进化为全生态的,市场也将朝全球化发展,区块链本来就是个全球化的产物。

(链闻注:VaaS 是一个智能合约安全验证平台,主要来检验智能合约的安全属性和功能正确性,功能正确性是指智能合约的代码实践符合用户的预期功能需求。)

例如我们前段时间刚刚发布了面向 EOS 的线上智能合约开发平台,我们为什么做这个事情?因为在做形式化验证的过程中,我们发现其实有些问题是由于编程人员的规范不够,或者编程人员的意识不够,或者能力不够,或者有的是习惯不好,因此我们觉得有必要做一个专业的开发平台。基于形式化验证这套服务发展服务和产品生态,这就是我们 2019 年的目标。

Q:如何看待过去一段时间区块链的安全形势和区块链安全领域的变化?,区块链安全是否有了长足的进步?

A:还是有很大的进步。至少 2016 年的时候还没有多少人关注区块链安全,我们应该算全球最早一批把形式化验证用到区块链来的团队,所以在我们做的时候根本没有任何路子可寻,都不知道该怎么做,全是自己硬着头皮一步步走过来的。到 17 年的时候,行情开始火热,慢慢有人在关注区块链安全了,到 2018 年的时候也成立了多家区块链安全公司,但现在好多公司可能都没有声音了,能够坚持下来也就只有几家。

现在毕竟是行情的低谷期,这很正常,因为区块链行业仍是很早期的产物。但是对于区块链的发展我是长期有信心的。区块链跟其他互联网产业不一样,它的安全需求更大,而且它更刚需,无论是链上交易也罢,数字资产也罢,用户数据也罢,这些都不能出现安全问题,如果出现问题后果是非常严重的。

Q:在安全服务领域,道德是值得讨论的一个话题,从事安全服务,是否需要更高的道德约束?能否讲讲您的理解?

A:这个问题的确是好多安全公司需要面对的问题,所以我也想提一下,这就是我们公司和其他安全服务公司不太一样的地方,其实 Beosin 成都链安的定位是以防为主,不是以攻为主。形式化验证是一个很好的防的方法,形式化验证这套方法的目的是让系统的的代码真的安全,更安全的代码,意味着更少被攻击的可能性。

形式化验证是做盾的,就好像我们原来在航空、航天、军事领域用形式化验证让系统更坚固,让代码更安全,尽可能减少漏洞。Beosin 成都链安是一个以防为主的公司,这是我们跟其他的安全服务公司不太一样的地方,我们重点关注的是如何提升系统自身的安全能力和系统自身的健壮能力。这一点跟其他的白帽黑帽团队是不一样的,的确,白和黑或者白和灰,这是一念之间,这里面有太多的诱惑了,我们防的就是黑,是通过系统自身的安全角度去防黑。

我们把这叫做从根本上出发,从开发源头解决问题,包括我刚提到的 EOS 线上智能合约开发平台,我们的目的就是为开发者提供一个好用的开发平台,对开发流程进行保护,然后再进行安全检测。包括区块链安全态势感知系统、安全事件的预警报警、风控和反洗钱等等都是希望从系统自身的健壮性出发解决问题。

Q:Beosin 成都链安有行业榜样吗?不局限于区块链领域,为什么?

A:其实在 Beosin 成都链安成立之初就想做区块链的 360,当然是不是 360 这种模式或者 360 的发展路线我们还不确定。实际上我们的第一个形式化验证平台就是免费的。我们面向普通用户 to C 都是免费的,而面对企业选择做定制化的服务,这是互联网公司一种成熟的发展模式。