THE:想保护自己的数字资产安全?形式化验证给你答案

导读

继上篇对当前数字资产领域的安全形势进行了深度分析后,本文将介绍区块链数字资产领域的安全措施与相关的解决方案。

区块链技术是数字资产的新兴载体。相较传统互联网,区块链因其不可篡改、不灭失的特征,对安全性的事先验证等程序机制提出了极高要求。

智能合约是新一代区块链技术的标志性设计,它利用事先定义的接口和协议自动完成合约步骤。以太坊图灵完备的特点在给了智能合约广阔舞台的同时,也背负了巨大的安全压力。如何保证合约本身的可控性、可调度性,以及执行过程中的可信性,成为软件安全和资产安全层面亟待解决的问题。

智能与安全无关

智能合约这个术语由密码学家尼克·萨博在上世纪九十年代中期首次提出。他将其定义为:能够自动执行合约条款的计算机程序。

合约语言的图灵完备意味着,理论上,智能合约可以具备任何功能,执行所有计算。对合约功能的宽松限制不可避免地引入了更多危险。

Injective测试网正在集成外汇功能:金色财经报道,基于Injective构建的DApp正在集成链上外汇功能并在测试网上线EUR代币,以推出无缝的外汇产品。由Injective提供支持的真正去中心化的RWA市场正在初具规模。[2023/3/29 13:32:44]

先回放一段经典案例。TheDAO事件可以说是智能合约发展史上的一场狂风暴雨。截止到2016年6月17日被攻击之前,该众筹合约已经募集了一亿五千万美金,攻击者利用合约漏洞发动攻击,导致300多万以太币资产被分离出TheDAO资产池。

这一切,都源于TheDAO智能合约中一个splitDAO函数的小小漏洞,攻击者通过该漏洞,不断的从资金池中分离资产给自己。

在该案例中,攻击者仅利用了智能合约的不完备性,就成功窃取了资金池内近三分之一的资产。可见,在智能合约框架下,事先检查合约本身是否存在机制漏洞,是安全问题的关键。一份安全、完备的智能合约应该具备如下功能:

Circle CEO:不认为美SEC是稳定币的监管机构:金色财经报道,USDC稳定币发行商Circle首席执行官Jeremy Allaire在接受采访时表示:“我不认为SEC是稳定币的监管机构,在世界各地,包括美国,政府明确表示支付稳定币是一种支付系统和银行监管活动,这是有原因的。虽然所有的稳定币不都是平等的,但从政策的角度来看,全世界的统一观点是这是一个支付系统下的审慎监管空间。”

Allaire还表示,他总体上支持美国SEC最近的一项提案,该提案将虚拟货币纳入受“合格托管人”要求约束的资产中。

Allaire称:“我们认为拥有合格的托管人可以提供适当的控制结构和破产保护等,这是一个非常重要的市场结构,非常有价值。”(彭博社)[2023/2/24 12:26:41]

编制模板框架,确定编程人员,保证代码的准确性。最重要的是,技术层面的内容如何获得合约双方认可;合约验证。任何程序都有bug,如果合约内容明显有利于其中一方,需要进行修复,保证合约逻辑正确;合约定制。根据不同场景定制适配的智能合约模板,根据需求对合约进行组合,形成复合合约;合约一致性。检验智能合约的执行代码与文本是否一致,不一致的合约可信度不高;执行过程中的可控性、可调度性和安全性。

Binance将移除ANC、MIR、TORN以及YFII部分现货交易对:12月21日消息,据官方公告,Binance 将于 12 月 27 日 11 时移除 ANC/BNB、ANC/BTC、ANC/USDT、MIR/BTC、MIR/USDT、TORN/BTC、TORN/USDT 以及 YFII/BTC 现货交易对,用户仍可以在 Binance 上的其它交易对中交易上述币种。[2022/12/21 21:58:52]

形式化方法的引入

为了达到智能合约的理想状态,Certik等行业先行者从硬件设计领域引入了形式化方法,即:用数学工具进行定义、开发和验证。

硬件电路和软件工程归根结底都是数学问题。如果所有的设计开发都能按照严密的数理逻辑进行,那么开发出来的系统就会像数学本身一样完美:永远正常工作。

通俗地说,形式化方法就像一套完备的法律,规定了每个角色能做什么和不能做什么,并对角色之间的关系进行界定。类似于社会系统架构对不同角色进行分类,在承认个体天性的同时,使系统的复杂程度降低了多个维度。

数据:124,619枚LTC从币安转移到未知钱包:金色财经报道,据Whale Alert监测数据显示,124,619 枚LTC(价值约8,253,296美元)从币安转移到未知钱包。[2022/12/17 21:50:56]

形式化方法包括形式规约和形式化验证两个层面。

形式规约使用具有精确语法和语义的形式语言来刻画系统行为和特性。在形式化的过程中对对象进行分类、识别和拟合。形式规约约束了系统的代码组成,从系统设计流程上确保了输入组合的有穷性。同时,它也是验证系统正确性的依据。

形式化验证则在形式规约的基础上,建立系统行为及其与性质的关系,从而验证该系统是否满足预期的关键性质。这一过程可以和立法、司法程序类比,即:在对被审判人的权利、义务和其行为进行规范后,总是可以对他进行合理的判断。

形式化方法应用于智能合约的整个生命周期。

香港金管局:快速支付系统与数字人民币的钱包增值技术测试已进入第二阶段:金色财经报道,香港金管局副总裁李达志9日在《汇思》撰文表示,转数快(香港的快速支付系统FPS)出近4年,截至8月底,已达1090万个登记,使用量持续稳定增长,特区政府有关部门与中国人民银行数字货币研究所合作,香港成为数字人民币在内地以外首个跨境试点,进行技术测试。 技术测试已进入第二阶段,主要测试通过转数快为数字人民币钱包增值,测试范围和规模亦有扩大,参与的银行由1间增至4间,目前进展良好,会适时引入更多数字人民币营运机构与本地银行参与测试,以便香港居民将来在内地使用数字人民币。[2022/9/13 13:25:58]

传统的合约开发并没有成体系地引入形式化方法,因此,一般先用非正式规范来设计合约,然后用形式化规范力求准确地描述合约,并将合约引入形式化的空间。再通过模型检验工具检查合约,或使用演绎法证明合约可被正常执行。最后,通过模型工具,将形式化空间中抽象的合约生成代码,通过不断测试生成序列,确保文本和程序代码的一致性。

形式化的规约旨在理解合约代码中内容的抽象本质,相当于对合约进行解读。在验证安全之后,通过使用可执行模型,将较高级别的抽象模型转换为较低级别的代码。

形式化方法使智能合约的生成和执行有了规范性约束,保证了合约的可信性,使智能合约的生产过程和执行效果得到了保障。

智能合约形式化验证的原理

形式化验证本身就是使用数学方法严格证明一个程序正确性的过程。

传统的验证方法主要是模拟和测试,即通过实验对系统进行查错。一般的方法是,在一端按系统要求或者自定义输入,观察在另一点的输出。这种方法耗费大量的时间,而且由于实验所能涵盖的系统行为有限,很难找出所有的潜在错误。

冯.诺伊曼(VonNeumann)I948年发表的相关论文就对这一问题有所触及,但未能提供解决方案。

1969年,托尼·霍尔提出了将程序正确性验证形式化的命题。

形式化验证方法可以检查程序的各种属性,如公平性、可达性、有界性和无状态二义性等,从理论上对程序做了全面检验,合格即被认为安全。

在从理论到实践的漫长过程中,形式化验证演化出了很多不同的操作方法。目前一线的技术公司多采用模型检测法,步骤如下:

建模。选择合适的建模语言和建模工具,使用模型检测工具能够接受的形式语言来描述合约。描述。阐明所要验证的合约性质,包括合约的状态可达性、死锁、活锁、有界性等。验证。对合约的状态空间进行搜索,发现问题并进行修改,对合约进行迭代验证。

模型检测是对有穷状态系统的一种形式化确认方法,其理论逻辑为:给定一个合约和规约,按照规约生成对应的合约模型,通过证明合约在模型中成立,以此证明合约满足约定规则。

有穷状态模型在建模时有一定难度,需要采集大量样本,并在其中提取逻辑,但因为状态是可穷的,可以保证搜索过程及时终止,因此,在工程上是实际的。

一些一线的技术公司已经将上述方法和流程应用到了区块链智能合约的安全验证上,但效果仍有待检验。

结论

形式化验证理论过去一直服务于集成电路的功能验证,发展多年,已经非常成熟。

智能合约是区块链系统发展应用的重要内容,也是目前传统网络安全公司尚未触及的安全盲区。市场已经发现了形式化验证对于智能合约安全的重要性。然而,安全机制的建立从数学理论变成现实,仍然需要时间。

来源链接:mp.weixin.qq.com

本文来源于非小号媒体平台:

加密谷Live

现已在非小号资讯平台发布1篇作品,

非小号开放平台欢迎币圈作者入驻

入驻指南:

/apply_guide/

本文网址:

/news/3626862.html

免责声明:

1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险

2.本文版权归属原作所有,仅代表作者本人观点,不代表非小号的观点或立场

上一篇:

文摘|EOSIODawn3.0现已推出

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金星链

FTX区块链:如何解决区块链治理「制度供给」难题?

区块链既不隶属于强权机构,也不归私人所有,它是「公地」。公地面临的最大考验是「公地悲剧」,因为所有人都面临搭便车、规避责任或其他机会主义行为的诱惑。只有一套合理的治理制度才能保证公地的持久发展.

[0:15ms0-1:111ms