导读
继上篇对当前数字资产领域的安全形势进行了深度分析后,本文将介绍区块链数字资产领域的安全措施与相关的解决方案。
区块链技术是数字资产的新兴载体。相较传统互联网,区块链因其不可篡改、不灭失的特征,对安全性的事先验证等程序机制提出了极高要求。
智能合约是新一代区块链技术的标志性设计,它利用事先定义的接口和协议自动完成合约步骤。以太坊图灵完备的特点在给了智能合约广阔舞台的同时,也背负了巨大的安全压力。如何保证合约本身的可控性、可调度性,以及执行过程中的可信性,成为软件安全和资产安全层面亟待解决的问题。
智能与安全无关
智能合约这个术语由密码学家尼克·萨博在上世纪九十年代中期首次提出。他将其定义为:能够自动执行合约条款的计算机程序。
合约语言的图灵完备意味着,理论上,智能合约可以具备任何功能,执行所有计算。对合约功能的宽松限制不可避免地引入了更多危险。
过去12小时全网爆仓1.39亿美元:金色财经报道,数据显示,过去12小时全网爆仓1.39亿美元,其中,多单爆仓1.24亿美元,空单爆仓1554万美元。[2023/6/15 21:38:53]
先回放一段经典案例。TheDAO事件可以说是智能合约发展史上的一场狂风暴雨。截止到2016年6月17日被攻击之前,该众筹合约已经募集了一亿五千万美金,攻击者利用合约漏洞发动攻击,导致300多万以太币资产被分离出TheDAO资产池。
这一切,都源于TheDAO智能合约中一个splitDAO函数的小小漏洞,攻击者通过该漏洞,不断的从资金池中分离资产给自己。
在该案例中,攻击者仅利用了智能合约的不完备性,就成功窃取了资金池内近三分之一的资产。可见,在智能合约框架下,事先检查合约本身是否存在机制漏洞,是安全问题的关键。一份安全、完备的智能合约应该具备如下功能:
BNB Chain投资总监:通过熊市和“迷你牛市”,我们正处于每个人都在建设的阶段:金色财经报道,BNB Chain投资总监 Gwendolyn Regina在接受采访时表示,尽管过去一年加密市场动荡不安,但 BNB 的投资策略着眼于长远,主要不受日常市场事件的影响。我们的投资主题不会改变,有时也会改变,我们都知道区块链和加密货币的发展速度非常快,所以我们在某些领域更加精确,但基本上来说它并没有改变。
总而言之,通过熊市和“迷你牛市”,我们正处于每个人都在建设的阶段,而且我们希望在BNB Chain上启用更多功能。
Regina 补充说,BNB Chain 上的Web3 游戏也“通过稳健性和更便宜的费用有机地增长”,但区块链团队现在正在该领域“加倍努力”,以鼓励更多游戏玩家和开发者在其链上玩游戏和构建游戏。Regina分享说,在其 100 万日活跃用户中,约有 40% 是游戏玩家。[2023/2/12 12:01:22]
编制模板框架,确定编程人员,保证代码的准确性。最重要的是,技术层面的内容如何获得合约双方认可;合约验证。任何程序都有bug,如果合约内容明显有利于其中一方,需要进行修复,保证合约逻辑正确;合约定制。根据不同场景定制适配的智能合约模板,根据需求对合约进行组合,形成复合合约;合约一致性。检验智能合约的执行代码与文本是否一致,不一致的合约可信度不高;执行过程中的可控性、可调度性和安全性。
开发元宇宙联盟成立,Animoca Brands、Yuga Labs等参加:11月1日消息,开发元宇宙联盟近日成立,该组织将由DAO进行管理,意图在各元宇宙之间建立标准。目前该组织正设立工作组以探讨与Web3有关的法律问题。目前成员包括Animoca Brands、The Sandbox、Alien world、 Dapper Labs、 Splinterlands、 Star Atlas、Upland、Decentraland、Cryptovoxels、Superworld、Wivity、Unstoppable DomainsYuga Labs等。[2022/11/1 12:05:30]
形式化方法的引入
为了达到智能合约的理想状态,Certik等行业先行者从硬件设计领域引入了形式化方法,即:用数学工具进行定义、开发和验证。
硬件电路和软件工程归根结底都是数学问题。如果所有的设计开发都能按照严密的数理逻辑进行,那么开发出来的系统就会像数学本身一样完美:永远正常工作。
阿布扎比监管机构公布虚拟资产监管“指导原则”:9月14日消息,阿布扎比的金融服务监管局 (ADGM)最近公布了虚拟资产监管的六项指导原则。这些原则由其金融业监管机构金融服务监管局 (FSRA) 宣布,旨在“支持与阿联酋境内外其他志同道合的监管机构的合作”。
尽管不具有法律约束力,但根据FSRA的说法,这些原则必须“被视为对我们已发布框架的全面细节的补充”。根据监管机构的说法,这六项原则可能是“跨辖区监管凝聚力”的基础。(news.bitcoin)[2022/9/14 13:29:02]
通俗地说,形式化方法就像一套完备的法律,规定了每个角色能做什么和不能做什么,并对角色之间的关系进行界定。类似于社会系统架构对不同角色进行分类,在承认个体天性的同时,使系统的复杂程度降低了多个维度。
形式化方法包括形式规约和形式化验证两个层面。
形式规约使用具有精确语法和语义的形式语言来刻画系统行为和特性。在形式化的过程中对对象进行分类、识别和拟合。形式规约约束了系统的代码组成,从系统设计流程上确保了输入组合的有穷性。同时,它也是验证系统正确性的依据。
加密分析师:加密货币的最大传染风险在于Binance和Tether:金色财经报道,加密分析师venturefounder在社交媒体上表示,坦率地说,加密货币的最大传染风险在于Binance和Tether,如果其中一个发生了可怕的事情,这个行业将需要很长的时间来恢复。仅仅在5个交易所的冷钱包中,Binance就持有700,830个BTC,这相当于比特币总供应量的3.67%。[2022/6/30 1:41:24]
形式化验证则在形式规约的基础上,建立系统行为及其与性质的关系,从而验证该系统是否满足预期的关键性质。这一过程可以和立法、司法程序类比,即:在对被审判人的权利、义务和其行为进行规范后,总是可以对他进行合理的判断。
形式化方法应用于智能合约的整个生命周期。
传统的合约开发并没有成体系地引入形式化方法,因此,一般先用非正式规范来设计合约,然后用形式化规范力求准确地描述合约,并将合约引入形式化的空间。再通过模型检验工具检查合约,或使用演绎法证明合约可被正常执行。最后,通过模型工具,将形式化空间中抽象的合约生成代码,通过不断测试生成序列,确保文本和程序代码的一致性。
形式化的规约旨在理解合约代码中内容的抽象本质,相当于对合约进行解读。在验证安全之后,通过使用可执行模型,将较高级别的抽象模型转换为较低级别的代码。
形式化方法使智能合约的生成和执行有了规范性约束,保证了合约的可信性,使智能合约的生产过程和执行效果得到了保障。
智能合约形式化验证的原理
形式化验证本身就是使用数学方法严格证明一个程序正确性的过程。
传统的验证方法主要是模拟和测试,即通过实验对系统进行查错。一般的方法是,在一端按系统要求或者自定义输入,观察在另一点的输出。这种方法耗费大量的时间,而且由于实验所能涵盖的系统行为有限,很难找出所有的潜在错误。
冯.诺伊曼(VonNeumann)I948年发表的相关论文就对这一问题有所触及,但未能提供解决方案。
1969年,托尼·霍尔提出了将程序正确性验证形式化的命题。
形式化验证方法可以检查程序的各种属性,如公平性、可达性、有界性和无状态二义性等,从理论上对程序做了全面检验,合格即被认为安全。
在从理论到实践的漫长过程中,形式化验证演化出了很多不同的操作方法。目前一线的技术公司多采用模型检测法,步骤如下:
建模。选择合适的建模语言和建模工具,使用模型检测工具能够接受的形式语言来描述合约。描述。阐明所要验证的合约性质,包括合约的状态可达性、死锁、活锁、有界性等。验证。对合约的状态空间进行搜索,发现问题并进行修改,对合约进行迭代验证。
模型检测是对有穷状态系统的一种形式化确认方法,其理论逻辑为:给定一个合约和规约,按照规约生成对应的合约模型,通过证明合约在模型中成立,以此证明合约满足约定规则。
有穷状态模型在建模时有一定难度,需要采集大量样本,并在其中提取逻辑,但因为状态是可穷的,可以保证搜索过程及时终止,因此,在工程上是实际的。
一些一线的技术公司已经将上述方法和流程应用到了区块链智能合约的安全验证上,但效果仍有待检验。
结论
形式化验证理论过去一直服务于集成电路的功能验证,发展多年,已经非常成熟。
智能合约是区块链系统发展应用的重要内容,也是目前传统网络安全公司尚未触及的安全盲区。市场已经发现了形式化验证对于智能合约安全的重要性。然而,安全机制的建立从数学理论变成现实,仍然需要时间。
来源链接:mp.weixin.qq.com
本文来源于非小号媒体平台:
加密谷Live
现已在非小号资讯平台发布1篇作品,
非小号开放平台欢迎币圈作者入驻
入驻指南:
/apply_guide/
本文网址:
/news/3626862.html
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表非小号的观点或立场
上一篇:
文摘|EOSIODawn3.0现已推出
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。