木星链 木星链
Ctrl+D收藏木星链

区块链:必备九条措施 保障智能合约安全性

作者:

时间:1900/1/1 0:00:00

以太坊开发者需要知道的四项安全性原则,以及一些基本权衡。

尽管区块链行业的发展日趋成熟,但是智能合约的开发仍是一个相对较新的领域。因此,为了应对新的漏洞和安全危机,以及满足开发新的最佳实践的需要,我们应该不断完善安全性方面的问题。学习最佳实践只是智能合约开发者在安全性方面踏出的第一步。

智能合约编程需要一种不同于传统的工程思维。智能合约失败的代价很高,更新迭代需要较大工程量,这使得它在某些方面更类似于硬件编程或金融服务编程,而不是web或者移动端开发。因此,仅仅防御已知的风险是远远不够的,还需要掌握新的开发理念。

准备应急措施

任何重要的合约都会出现故障。因此,开发者必须做好充足的准备,以便及时应对漏洞。

Immutable旗下游戏Gods Unchained现已在Epic游戏商店上架:6月22日消息,Immutable Games的Web3交易卡牌游戏《Gods Unchained》现已在Epic Games Store上架,这是一款类似于《炉石传说》或《魔法风云对决》的可收集交易卡牌游戏,每张卡牌在以太坊Layer2 Immutable X上都有一个代表性的NFT。

Gods Unchained的执行制作人Daniel Paez认为,登上Epic Games Store是游戏历史上的一个关键时刻,他表示:“很难不高估《Gods Unchained》登陆世界上最大的PC游戏平台之一——Epic Games Store的重要性。我们非常兴奋地将我们的游戏展示给全新的、真正庞大的传统PC游戏玩家和TCG爱好者的观众群。”[2023/6/22 21:53:32]

出现故障时暂停合约?(“断路器”)。

Crossover Markets与Hidden Road宣布建立合作关系:金色财经报道,数字资产交易公司Crossover Markets和数字资产和外汇经纪公司Hidden Road今天宣布建立合作伙伴关系全球机构信用网络。通过这种合作关系,Hidden Road 的客户将可以简化对 CROSSx 的访问,CROSSx 是 Crossover 的仅执行加密电子通信网络 (ECN),用于执行现货加密货币交易。[2023/5/23 15:20:47]

管理风险资金的数量?(限制流量,最大化利用率)。

准备有效的升级路径以修复和改进bug。

防患未然

最好是在完整的产品发布之前发现bug。

全面测试合约,并在发现新的攻击向量时添加相应测试。

美联储沃勒:美联储正与银行讨论管理人工智能风险:金色财经报道,美联储理事沃勒4月20日表示,随着越来越多的金融机构将人工智能用于客户服务应用、欺诈监控和承保,美联储与其监管的银行就管理与人工智能相关的风险进行了“定期讨论”。沃勒警告称,虽然人工智能可以为银行流程带来新的效率,但它也涉及新的风险。沃勒还表示,所谓的智能合约—或区块链上的自动执行交易,其结果取决于预编程的输入—可以为交易结算的现代化带来“相当大的希望”。不过,他指出,智能合约也会带来风险,例如网络漏洞。[2023/4/21 14:16:47]

alpha测试网版本发布之后,提供bug赏金。

分阶段推出,每个阶段更新功能并添加新测试。

保持智能合约的简洁性

复杂性会提高出现故障的概率。

美元指数DXY短线走高超20点:金色财经报道,美元指数DXY短线走高超20点,现报102.46。[2023/4/10 13:54:56]

确保合约逻辑简单。

模块化代码以使合约和函数保持较小。

请尽可能使用既有工具或代码?(例如不要使用自己的随机数生成器)。

在保证清晰度的前提下再考虑性能。

只在系统中需要去中心化的部分使用区块链技术。

保持更新

跟进新的安全性措施。

检查智能合约,以最快的速度定位新漏洞。

尽快升级到任何工具或库的最新版本。

采用可能有效的保障安全性的新技术。

了解EVM的特性

尽管开发者对以太坊编程较熟悉,但仍需要注意一些陷阱。

要特别小心外部合约调用,该过程可能会执行恶意代码并改变控制流(controlflow)。

要明白,开发者的公共函数是公开的,可能会被恶意调用,调用顺序也可能是任意的。任何人都可以查看智能合同中的隐私数据。

注意gas成本和区块gas限制。

注意,区块链上的时间戳是不精确的:矿工可以在几秒内影响交易执行的时间。

随机性是区块链上一个重要的特性,大多数产生随机数的方法在区块链上是具有博弈性的。

基本权衡因素

在评估智能合约系统的结构和安全性时,需要考虑多种基本的权衡。对于所有智能合约系统的普遍建议是,在这些权衡之间找到平衡点。

从软件工程的角度来看,理想的智能合约系统是模块化的,即重用代码而不是复制代码,以及支持可升级的组件。而从安全架构的角度来看,理想的智能合约系统可能同样会使用这种模式,尤其是面对更为复杂的智能合约系统。

然而,当安全性和软件工程最佳实践出现不一致时,也会有一些例外情况发生。而在每种情况下,可通过选择合约系统上的最佳性能组合来达到平衡,例如:

固定版本vs.可升级

整块化vs.模块化

复制vs.重用

固定版本vs.可升级

当多个资源?(包括此资源)?强调自身的延伸性时?(比如可中断的、可升级的或可修改的模式),那么就需要在延伸性和安全性之间找到一个平衡点。

延伸性增加了复杂性和潜在的受攻击性。如果智能合约系统在预先规定的有限时间内能够完成的功能非常有限,那么这时简洁性比复杂性要有效得多,例如,无治理的限时代币发售合约系统。

整块化vs.模块化

独立的整块化合约允许信息在本地识别和读取。虽然整块化合约一般不被重视,但对于数据和流的极端本地化存在争议,例如代码审计的效率优化。

与本文考虑的其他因素一样,在简单的短期合约中,安全性最佳实践趋向于与软件工程最佳实践相悖;而在更复杂的永久合约系统中,两者趋于相一致。

复制vs.重用

从软件工程的角度来看,智能合约系统希望能够在需要时最大化重用功能。在Solidity语言中,有许多重用合约代码的方法。实现代码重用的最安全的方式通常是:使用自己之前经过验证和部署的合约。

如果之前部署的合约无法使用,开发者通常就需要依靠复制功能了。OpenZeppelin的Solidity库尝试提供一些模式,使得安全代码可以在无需复制的情况下被重用。任何合约安全分析都必须将目标智能合约系统中还没有与风险资金建立相当信任级别的重用代码包含在内。

现如今,在以太坊上创建应用软件无疑是最令软件工程师激动的前沿领域,但这需要持续不断的威胁建模?(threatmodeling)、安全审计,还需要做好周全计划以应对故障发生。

原文链接:https://media.consensys.net/the-smart-contract-security-mindset-a09f5f8f5f4f

来源|?ConsenSysMedia

标签:区块链CON以太坊SOL区块链的四大核心技术conv币怎么样以太坊交易所appSolvent

pepe最新价格热门资讯
BTC:BTC强势拉升币价重回一年前,多空会战历史峰顶

各位老铁好,我是你们的朋友墨菲言币微信公众号同号,一个普普通通得分析师,分析得文章千千万万,你能看到墨菲得文章,说明我的文章和你有缘,写的文章有不好的地方见谅,觉得好的麻烦点个赞留个言.

1900/1/1 0:00:00
非小号:LID(Liquidity Dividends Protocol)

Hotbit不为任何区块链资产做信用背书,所有相关介绍均来自第三方并有可能存在错误与遗漏。区块链资产投资是高风险行为,您必须自行承担价格有可能归零的风险,请根据您自身能力谨慎投资.

1900/1/1 0:00:00
BIT:交易合约赢USDT红包 与好友拼手气抢赠金

亲爱的用户:BitZ合约再次推出新功能!更新APP后,市价交易USDT合约,只要达到相应张数,即可在当前仓位免费获得平台提供的USDT赠金红包,分享给亲朋好友,输入手机号任何人都能拼手气抢红包.

1900/1/1 0:00:00
ATT:ATTN Token (ATTN)

项目简介:ATTN是一个基于区块链技术的游戏数字生态平台,拥有多款自主设计的热门PVP游戏。基于千万级活跃用户规模效应,携成熟玩家池、CP池、流量池、以及主播池累积迁移上链,是整合电竞产业所有商.

1900/1/1 0:00:00
BTC:昕雨论币:8.2比特币合约交易3种警示性K线信号,值得您观看学习

K线怎么看?什么是警示性K线信号?首先昕雨论币首说警示性K线信号,它是标志性K线的又一个重要组成部分。通常它的信号的发出会给我们在实战中的研判与操作带来意想不到的效果.

1900/1/1 0:00:00
BTC:老李解币:BTC今日12000已破,现回调后能否继续追多

极端的行为来自于虚荣,平庸的行为来源于习惯,狭隘的行为来源于恐惧,一个人所拥有的好运是所累积的善良与福报,所经历的人情炎凉与丑恶,只会让你成为更强大的人,有人进入你的生活成为人生启蒙.

1900/1/1 0:00:00