跳至主要内容

强烈建议你:关注本网站,有重要信息!

重大疑问:在加密领域如何保护你的资产安全?

 对区块链技术感兴趣的话,或许听说过很多进犯者利用程序代码中的缝隙而导致的大量资金被盗事情。例如,2016 年臭名昭著的 DAO 进犯事情,进犯者利用一个名叫「重入」的缝隙超量提取了他们本来所能提取的资金。另一个更近期的事情是闪电贷进犯,发生于 2022 年 4 月 17 日,形成 1.82 亿美元的资金损失。虽然一切进犯都源于底层源代码的安全缝隙,但好消息是现在已经有可以检测此类缝隙的程序剖析技术。在接下去的几篇博文中,咱们会解释程序剖析是什么,以及它怎么协助在布置前捕获安全缝隙。

程序剖析简介

程序剖析指的是一类用于检测程序中安全缝隙的技术。程序剖析有两种首要方式,动态和静态。动态程序剖析的目标是经过执行程序来检测问题,而静态程序剖析则无需运转程序自身就可以对源代码进行剖析。但是,在这些技术之中,只要静态剖析可以保证程序中不存在缝隙。相反,不同于静态剖析,动态剖析能证明问题的存在,它并不可以证明缝隙并不存在。

乍一看,静态剖析听起来好像很神秘:外表看来,静态剖析好像违反了一个被总结为莱斯定理「Rice's theorem」的基本原则,该定理声称程序的每一个非普通性质都是不可判定的。在此,语义特点是关于程序行为的特点(与语法特点不同),而非普通性质是指只要某些程序具有而其他程序没有的性质。与咱们手头论题更相关的是,安全缝隙的存在是非普通性质的一个典型比如。因而,关于「这个程序是否存在安全缝隙」这一问题,莱斯定理告诉咱们没有一个算法可以完结并精确答复这一问题。 

那么,静态剖析的可行性源自哪里呢?答案藏于以下的调查:没错,没有一个算法可以精确地给出是或否,但可以有一个算法在程序有安全缝隙时总是会答复「是」,在程序没有安全缝隙时算法有时或许也会答复「是」。换句话说,只要咱们愿意容忍一些误报,咱们就可以绕过赖斯定理和不可判定性。

静态剖析原理

让咱们以高一维度的视角来看看静态剖析是怎么运作的。静态剖析的基本原理是将程序所处的状况调集进行过近似「over-approximate」。咱们将程序状况视为从变量到值的映射。一般来说,不存在一个算法可以清晰也许是执行某一程序引起的确切程序状况集。但可以近似该调集,如下图所示:


算法


此处,蓝色的不规则形状对应在执行某些程序时或许出现的实践状况集,赤色区域对应预示过错或安全缝隙的「坏状况」。因为不可判定性,永远没有一个算法可以精确标明蓝色区域究竟是什么,但是咱们能规划一个算法以系统性的方式过近似这个蓝色区域,如上面常规绿色区域所示。只要绿色和赤色的交集为空,咱们就有依据证明程序没有做坏事。但是,如果咱们的过近似不够不精确,或许会使得赤色区域堆叠,即使蓝色和赤色区域的交集依旧为空,如下图所示:


算法


这种状况会导致所谓的「误报」,因为剖析与真实问题不相应而陈述的虚伪过错。一般来说,静态剖析的圣杯是构造过近似,即 (1)过近似满足精确因而咱们在实践中不会取得很误报 (2)过近似的核算满足有用率,因而剖析可扩展到咱们所关心的现实世界的程序。

附带说明一下,还可以规划静态剖析算法来近似如下所示的程序行为:


算法


在此状况下,绿色区域(经过静态剖析核算)包含在蓝色区域内(表示实践状况),和另一种方式正好相反。这种剖析是不牢靠的,意味着或许会漏掉真实的程序过错:正如咱们在上图所看到的那样,绿色和赤色的交集为空,因而即使程序真的存在缝隙,剖析也不会陈述问题。这会导致所谓的假阴性,真实的缝隙被静态剖析给遗漏了。

大体来说,如果咱们想取得可证明的安全性,咱们会想要牢靠的从来不会有误报的静态剖析器,一起还需要满足精确,在实践时不会陈述太多误报。但是,好消息是,几十年的正统研讨标明规划这样的静态剖析器有或许的。下篇博文,咱们会更具体地介绍静态剖析器具体是怎么运作的!

总结

程序剖析是一种有用的可以捕捉各种程序中安全缝隙的技术,包括区块链应用程序。此外,牢靠的静态剖析器的过近似程序行为能保证整个类别中不存在缝隙。

评论

此博客中的热门博文

疑问:加密空投是否真的不欢迎薅羊毛的羊毛党?

  你是一家公司的运营经理,公司决议拿出 50 万做运营,你或许要开 5 次会,50 个电话,忙活 500 个小时,才干做得漂漂亮亮。 可是在 Crypto 国际,项目决议拿出 1/4 乃至 1/5 的「股权」,价值动辄千万美金,乃至数亿美金,可是其间的许多决议好像便是拍脑袋定的。 老实说,对待如此大的决议,许多项意图确有些随意和固执。不过,这些小小的固执里边,其实就藏着一些时机。项目方越固执,时机的上限就越高。 今日推特上的一位朋友 Oar 也提到了这事,不由引起了我的考虑。从 Uni 到今日,大大小小项目空投数十次,总觉得应该整体剖析下,所以就有了这篇随想。   在开端之前,咱们先聊聊一个条件——空投这件事究竟意图是什么? 答案是一个词:「注意力」。 在 Crypto 职业浸淫已久的人,都知道 Crypto 这个圈子最重要的东西是什么—— 注意力 。 一致机制是注意力;Meme 文明是注意力;为什么其他 marketplace 现在无法超越 Opensea,因为现在 Opensea 掌握了最多的注意力;为什么马斯克要买下推特,因为推特是最简略获取注意力的渠道。 空投的意图也是相同的。 许多人之前或许会有过这样的疑问——为什么一个项目要送出几千万美金的免费筹码?很简略,为了最大化注意力。只需最夸张的馈赠,才干在竞争剧烈的 Crypto 国际夺走最多的眼球。 Crypto native guys 在使用之间的迁移是毫不留情的。这现已被重复论证过,这是因为地址-DApp 系统 vs 账户-App 系统的架构不同导致的。因而,一个使用想要留住这些用户,仅有的方式便是不断取得注意力。一旦你取得了注意力,便是取得了一切。 空投是为了: 1. 获取本身忠诚用户的注意力。 用户在项目刚起步时给予了许多支撑,那么等项目兴起之日加倍回馈,这种感人肺腑的美谈是最简略传达的: 2. 获取竞争对手用户的注意力。 这不只适用于 Defi,并且适用于简直一切人类商业活动。我经过送你若干美金,让你来使用我的产品,体会我的美妙,从而挖倒竞对的墙角。 那么接下来,让咱们逐一来进行剖析。 在这一轮中,敞开空投时代的毫无疑问是 $UNI。 Uniswap 的空投可谓是简略粗犷。某天忽然悄然发了一个公告,但凡在某日之前,使用过 Uniswap 的地址就奖赏...

ETH以太坊即将爆发?EVM 等效时代来临,将解锁以太坊增长的下阶段

  以太坊二层 Rollup 生态「进化」成了一个习惯性强且反响迅速的层,将解锁以太坊的下一阶段。 2020 年的 DeFi Summer 冲击了以太坊的规划极限。从那时起,EVM 的网络效应现已分化成许多不同的方向。新的 L1,乃至许多 L2 都打破了 EVM 的规范,以突破功能瓶颈。 不过现如今,EVM 等效的年代现已降临,一个新的立异的寒武纪爆破行将到来,而咱们只需求 EVM 等效来解锁它。 EVM 等效是什么 EVM 等效与 EVM 的规范彻底一致。EVM 等效的规划理念是根据以太坊的「最小 dif」构建一个 Optimistic Rollup。 EVM 等效将以太坊的属性扩展到其 L2。它含糊了以太坊 L1 停止和 L2 Rollup 开端之间的边界。这是「在以太坊上扩展」和「以太坊自身扩展」之间的差异。 作为 EVM 完美克隆的 Optimistic Rollup 不只是同享了以太坊主网的安全等级,实际上还共享了其网络效应的每一个方面。而其他 L2 规划结构不具有访问以太坊一切网络效应的特权。 EVM 的兼容性是呆板的。要么经过遵守以太坊规范来优化通用性(因此挑选与其他人相同的规范),要么树立一些彻底不同的东西,为你的用例进行专属优化(例如 ZK-rollups)。 为了将以太坊的全部能量扩展到 L2,咱们需求的不只仅是 EVM 的兼容性。咱们需求的是 EVM 等效。 兼容与等效 当 Optimism 团队去年 介绍 EVM 等效 时,他们叙述了等效和兼容之间的技术差异。 Rollups 被誉为是扩容的救星,由于咱们能够在上面运行 Uniswap。不过最早的 rollup 是经过在定制的 rollup 上使用定制的代码彻底重新创建 Uniswap 来完成的。这显然不是一个足够好的处理方案。 EVM 的网络效应远远超出了 Solidity 的规划。 大量的辅助工具 给以太坊开发者带来了超强的力气。由于这些工具也是在 EVM 规范上运行的,它们处理了必须要重新构建全新的专属代码的粗笨需求。在 EVM 等效的支持下,咱们只需求简略地仿制张贴就能够重构一个一层上已有的应用。 EVM 是一个城市 「开源代码就像一座城市。它是自下而上地创造出来的,来自于许多看到问题并树立处理方案的开发者的奉献。跟着时刻的推移,这个城市将变得益发强大且高效。简略来说,EVM ...

【主导信息】俄罗斯将不可避免地让加密支付合法化

  俄罗斯工业与贸易部长丹尼斯·曼图罗夫表示,俄罗斯“迟早”会将加密支付合法化。 俄罗斯政府在2022年一直在探索各种加密货币的采用,但尚未敲定任何有关数字资产支付的具体政策。然而,从4月份开始,俄罗斯财政部通过“数字货币”法案建议将其合法化。 根据当地媒体塔斯社5月19日报道的翻译,曼图罗夫在本周的New Horizon教育论坛上被问及是否正在推进加密支付的合法化。 “我是这样认为的。问题是,这将在何时发生,如何发生,以及将如何监管。现在中央银行和政府都在积极参与。但每个人都倾向于理解,这是一个时代的趋势,迟早会以这样或那样的形式实施。” “但是,再次强调,根据即将制定的规则,它必须是合法的、正确的,”他补充说。 俄罗斯央行(CBR)和财政部直到最近都对加密货币监管持完全相反的观点,央行希望完全禁止,而财政部希望监管税收。 就在今年1月,由于与加密行业相关的潜在“金融稳定风险”,CBR还提议全面禁止本地加密货币交易和挖矿。 然而,在入侵乌克兰之后,CBR上个月承认对加密货币采取了过于激进的立场,这可能已经扼杀了该行业的增长。 俄罗斯央行行长埃尔维拉·纳比乌里娜 (Elvira Nabiullina)指出,俄罗斯受到的众多经济制裁是改变其反加密情绪的关键驱动因素,而现在央行希望让当地数字资产市场进入“工作状态”。