当前位置:首页 > 物联网 > 区块链
[导读] 我是顾荣辉,哥伦比亚大学计算机科学系助理教授,CertiK联合创始人。很多朋友曾问我这些问题——或许在座的很多人也经常被问起:比特币的价值在哪里?以太坊的价值在哪里?为什么区块链如此受欢迎?

我是顾荣辉,哥伦比亚大学计算机科学系助理教授,CertiK联合创始人。很多朋友曾问我这些问题——或许在座的很多人也经常被问起:比特币的价值在哪里?以太坊的价值在哪里?为什么区块链如此受欢迎?

我认为,答案在一个词中:信任。

区块链生态建立在信任之上。有些人称其为“共识”,有些人称其为“信仰”。

然而,由于一些程序漏洞,搭建这些区块链生态的代码是脆弱且难以被完全信赖的。

一旦漏洞被黑客所利用,所造成的不仅是数字资产的损失,更是信任的崩塌。对一个健康的去中心化社区的发展十分不利。

在过去的几年间,我们见到了很多黑客利用这些系统漏洞,价值十几亿以上美金的数字货币被盗。

区块链生态系统比我们想象的还要脆弱,智能合约安全问题不容小觑。

那么,我们该怎样避免这些程序漏洞?有没有任何解决方案?比如说,是否可以寄希望于程序测试、白帽黑客?

很遗憾,答案或许是:不。

Edsger Dijskstra曾说过:测试可以被用来证明漏洞的存在,但并不能证明程序不存在漏洞。

白帽黑客和程序测试方法确实非常有用,并且被行业所需要。然而遗憾的是,他们由于自身的局限性,无法满足区块链所有的安全需求。

那么我们还能做些什么?

在座的你们也许已经知道答案——形式化验证才是最终的解决方案。

根据 NSF 2016的报告显示,为了达到程序系统的绝对安全,形式化验证是唯一值得信赖的方法。

通过形式化验证,我们使用数学模型去验证代码确实符合给定的规范。

你们心里或许会有这个疑问:形式化验证的概念已经被提出了数十年之久。既然这么厉害,为什么这个方法还没有被广泛应用?为什么如今的代码中还是有这么多的程序漏洞?

——在大多数的实际案例中,完全的形式化证明的实现非常困难。

2015年,耶鲁大学计算机科学系主任邵中教授和我提出了“深度规范”的概念,我们发现,形式化验证真正的瓶颈并不在“如何去证明”,而是在“如何更好地表达程序设计的意图(或规范)”。

“深度规范”最强大的地方是可以证明“复杂系统的正确性” ,这类系统在之前被认为是很难证明的。

区块链的公链就是一个典型的复杂的分布式系统。

利用这套技术,我们可以把一个复杂系统(并发的或者分布式的)进行分层、整合,实现完备的智能合约验证。

目前,“深度规范”的概念已经被广泛学习和讨论。除了耶鲁大学和哥伦比亚大学,还包括来自普林斯顿大学,宾夕法尼亚大学,麻省理工大学等高校的学者。已经举办了三次深度规范学术研讨会和两次暑期学校。

在2016年,我们利用“深度规范”实现了CerTIKOS——世界第一个被完全验证了的并发式操作系统内核。这个系统已经被部署到了未来机器人Landshark等对安全要求非常高的领域,当时验收方请来了由谷歌工程师组成的黑客团队进行评测,其报告评价CerTIKOS是“无懈可击”的。

在2017年,我们开始将这个技术运用到区块链领域中。软件安全公司CerTIK应运而生。

上图是运用“深度规范”保护智能合约的例子:对于非常复杂的智能合约,(比如像我们的稳定币客户TrueUSD的合约)我们首先用标签的形式写下合约的规范,(部分规范也可以被自动生成)。之后,我们将将复杂的智能合约拆分为较小的可验证的模块,在不同的抽象层进行证明。最后,我们将经过证明的模块合并到一起,生成整个合约正确性的证书。

上图是CerTIK如何检测到美链(BEC)的智能合约漏洞的例子。我们先用标签的方式把规范添加到智能合约中。一旦某个模块的验证失败,该模块的程序漏洞——也就是V神所说过的“程序实现与程序员意图之间的区别”——就能被检测出来。

同时,我们的技术也可以找到触发程序漏洞的方法,当所有程序漏洞被修复并通过验证后,CertiK即可生成智能合约“不存在漏洞”的证明。

这个“不存在漏洞”的证明,是其他比如程序测试和白帽黑客技术无法实现的。

我之前提到过,有些规范(或标签)是可以被自动生成的。这项技术叫做“智能标签”,由CertiK团队独立研发而成。

基于“智能标签”技术,CertiK在几个月之前发布了安全漏洞扫描引擎CASE。

CASE可以扫描已部署在区块链系统中的智能合约。通过智能标签技术生成合约规范,并对合约进行安全验证。

在最近一次耗时数小时的扫描中,我们发现,币值前500的智能合约中有超过50个智能合约存在安全漏洞,包括3种高危漏洞,2种中危漏洞,和11种低危漏洞,涉及到的总币值高达四千万美金。

从2018年五月开始,我们开始了和NEO的合作,共同为NEO的生态系统建立形式化验证平台,这个项目目前已经如期启动,并且预计会在今年陆续发布相关产品和资料。

我们在大约一年前上线了代码安全验证服务。迄今,我们完成了超过160份代码安全审计,累计大约九万行代码。守护了价值超过12亿美金的数字资产。

一年来,我们的服务已经被区块链领域的主流机构所承认和采纳——CertiK是唯一同时被币安、火币、OKEx等全球主流交易所所认证的安全服务商,也是全球顶级公链平台如NEO、Waves、本体、ICON、Qtum、Quarkchain的安全合作伙伴。

同时,我们也为诸多业内知名项目如Crypto.com,TrueUSD,Celer,IoTex等提供了安全审计、定制化安全防御、渗透测试等一站式安全解决方案。

现在让我们把目光放到一个新的研究项目上——DeepSEA Blockchain。

我们已经讨论了如何检测已部署合约的程序漏洞,而更加重要的问题是:我们是否可以从最开始直接开发出没有程序漏洞的,可完全被信赖的智能合约?

为了探索这个问题的答案,我们开始了DeepSEA项目。

我们计划引入DeepSEA函数式编程语言,并为包括IBM超级账本、EVM等平台提供无漏洞的DeepSEA编译器。

——也就是说,如果源代码是正确的,那么被编译之后的机器码也是正确的。

同时,我们可以从DeepSEA源代码中将程序规范导入Coq证明辅助器,然后在Coq中对程序进行手动或者半自动证明。

DeepSEA Blockchain项目致力于构建跨平台的,可信赖的智能合约框架,由CertiK,哥伦比亚大学和耶鲁大学共同合作推进。我们已经获得了来自IBM、以太坊基金会和Qtum基金会的科研奖金,也诚挚地希望可以得到更多社区的支持,帮助我们将该框架理念发展到下一个阶段。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭