皇冠信用盘开户
开云骰宝博彩平台投注策略_白帽黑客samczsun:针对NFT财富的裂缝会越来越平素 | BTC
你的位置:| 皇冠信用盘开户 > 新2投注网 > 开云骰宝博彩平台投注策略_白帽黑客samczsun:针对NFT财富的裂缝会越来越平素 | BTC

开云骰宝博彩平台投注策略_白帽黑客samczsun:针对NFT财富的裂缝会越来越平素 | BTC

发布日期:2023-11-03 10:23    点击次数:64

开云骰宝博彩平台投注策略_白帽黑客samczsun:针对NFT财富的裂缝会越来越平素  | BTC

开云骰宝博彩平台投注策略_

注:原文作家是领有“审计天主”之称的白帽黑客samczsun,同期他亦然Paradigm的接洽结伙东谈主,其最近动手挽回了BitDAO MISO荷兰拍卖资金池中的3.5亿好意思元财富,而在这篇著述中,他指示了对于NFT代币圭臬的潜在安全风险,他还揣度称,跟着ERC-721和ERC-1155代币圭臬变得越来越流行,针对NFT的裂缝很可能会越来越平素。

要是你从事软件工程方面的使命,很可能你据说过至少一条软件工程原则。诚然我不主张严格驯顺每一条原则,但有一些确乎是值多礼贴的。

我今天要讲的即是最小诧异原则,它有一个奇特的名字,但却是一个相等浅陋的思法。它所说的是,当呈现宣称要作念某件事的代码时,大浩瀚用户齐会假定它是奈何完成这件事的。因此,动作开发东谈主员,你的使命是编写相宜这些假定的代码,这么你的用户就不会感到或然。

这是一个很好的原则,因为开发东谈主员心爱对事物进行假定。要是你导出一个名为calculateScore(GameState) 的函数,许多东谈主就会假定该函数只会从游戏情状中读取。要是你还改变了游戏情状,你会使得许多东谈主濒临困惑的情状,他们试图弄明晰为什么他们的游戏情状会随即被陡立。即使你把它放在文档中,仍然不成保证东谈主们会看到它,是以最佳领先确保你的代码不会令东谈主诧异。

“6小时的调试使命,不错为你们简易5分钟的文档阅读时候。”皇冠客服飞机:@seo3687

皇冠hg86a

最近一则八卦,据说一场足球比赛中,著名体育明星Lionel Messi使用一种神秘博彩策略,成功地击败对手,引起观众们热议。有些认为这是纯粹运气,有人怀疑背后故事。越安全越好,对吗?

早在 2018 年头,当ERC-721 圭臬被草拟出来时,有东谈主就提议了实施转账安全性‌的建议,以确保代币不会被卡在无谓于处理代币的接受者合约中。为此,提案作家修改了transfer函数的步履,以检查继承方是否简略复古代币转账。他们还引入了unsafeTransfer函数,要是发送者兴盛,该函数将绕过这个检查。

皇冠体育代理

关联词,由于挂牵向后兼容性,这个函数在随后的提交中被重定名了。这使得ERC-20 和 ERC-721 代币的transfer函数施展疏通。然则,当今需要将继承方检查转机到其他场所。因此,圭臬作家就引入了safe类函数:safeTransfer 以及 safeTransferFrom。

开云骰宝

这是一个对于朴直性问题的处罚决策,因为有许多 ERC-20 代币被或然转机到从未渴望收到代币的合约的例子(一个极端常见的造作是将代币转机到代币合约中,将其长久锁定)。而在草拟 ERC-1155 圭臬时,提案作家从ERC-721圭臬招揽了灵感,不仅在转账时,何况在锻造(mint)也纳入了继承方检查,这少许也不及为奇。

在接下来的几年里,这些圭臬大多处于寝息情状,而 ERC-20代币圭臬保捏了它的流奇迹态,而最近gas资本的飙升,以及社区对NFT意思的增强,自关联词然导致开发者越来越多地使用ERC-721和ERC-1155代币圭臬。有了这些新的意思,咱们应该红运这些圭臬的缱绻接洽了安全性,对吗?

越安全越好,简直吗?

Ok,但对于转帐和锻造来说,安全意味着什么呢?不同确当事东谈主对安全有不同的解释。对于开发东谈主员来说,一个安全函数可能意味着它不包含任何bug或引入极端的安全问题。而对于用户来说,这可能意味着它包含极端的护栏,以保护他们不被或然命中我方的脚。

事实证实,在这种情况下,这些函数更多的是后者,而较少会是前者。这是极端令东谈主缺憾的,因为在transfer和safeTransfer函数之间进行遴荐时,你为什么不遴荐安全的阿谁函数呢?名字齐体现出来了!

收益皇冠体育信用盘 带新版老版手机端

好吧,其中的一个原因可能是咱们的老一又友reentrancy(可重入性),或者我一直在勤恳将其重定名为:不安全的外部调用。回思一下,新宝会员要是继承方是裂缝者放浪的,则任何外部调用齐可能不安全,因为裂缝者可能会导致你的合约疗养为未界说情状。证据缱绻,这些“安全”函数奉行对代币继承者的外部调用,平素在锻造或转机期间由发送者放浪。换句话说,这内容上是不安全外部调用的教科书示例。

然则,你可能会问我方,要是允许继承方合约闭幕他们无法处理的转账,那最坏的效果是什么?好吧,让我通过两个案例接洽来复兴这个问题。

例子1: Hashmasks

Hashmasks是一个供应有限的 NFT头像技俩,用户每次交游最多不错购买 20 个mask NFT(尽管它们照旧售罄数月了)。底下是购买mask的函数:

你可能以为这个函数看起来相等合理。关联词,正如你可能照旧料思到的,在 _safeMint 调用中荫藏着一些狂暴的东西。 让咱们来望望。

为了安全性,这个函数对token的接受者奉行了一次callback回调,以检查他们是否兴盛接受转账。关联词,咱们是token的继承者,这意味着咱们刚刚得到了一次callback回调,在这个点上咱们不错作念任何咱们思作念的事情,包括再次调用mintNFT函数。要是咱们这么作念,咱们将在仅锻造了一个mask后重调用该函数,这意味着咱们不错央求再锻造另外19个mask。这导致最终锻造出了39个 mask NFT,尽管法则允许锻造的最大数目唯有20个。

例子2: ENS域名封装器

最近,来自ENS 的Nick Johnson相干了我,他思让我望望他们正在进行的ENS域名封装器使命。这个域名封装器允许用户用新的ERC-1155 token代币化他们的ENS域名,这提供了对细粒度权限以及更一致的 API 的复古。

美高梅酒店

概述地说,为了封装任何ENS域名(更具体地说,除了 2LD.eth 除外统统的ENS域名),你必须领先批准域名封装器以看望你的ENS域名。然后,你调用wrap(bytes,address,uint96,address),它既为你锻造一个ERC-1155 token,也认真不停底层的ENS域名。

底下即是这个wrap函数,它终点浅陋。领先,咱们调用_wrap,它奉行一些逻辑并复返哈希域名。然后,咱们确保交游发送方确乎是ENS域名的统统者,然后再收受该域名。请瞩目,要是发送方不领有底层的ENS域名,则统统这个词交游应规复,澌灭在_wrap 中所作念的任何改造。

博彩平台投注策略欧博官网

底下是_wrap函数自己,这里莫得什么极端的。

不幸的是,恰是这个 _mint 函数,它可能会给毫无戒心的开发者带来可怕的惊喜。ERC-1155 轨范措施,在锻造token时,应规划继承者是否兴盛接受该token。在深化接洽库代码(该代码库证据OpenZeppelin的基础稍作了修改)后,咱们发现情况确乎如斯。

但这到底对咱们有什么克己呢?好的,咱们再一次看到了一个不安全的外部调用,咱们不错用它来奉行重入裂缝。具体地说,请瞩目,在callback回调期间,咱们领有了代币ENS域名的ERC-1155 token,但域名封装器尚未考证咱们领有基础ENS域名自己。这使咱们简略在子虚际领有ENS域名的情况下对其进行操作。举例,咱们不错条款域名封装器解开咱们的域名,烽火掉咱们刚刚锻造的token并得到底层的ENS域名。

当今咱们领有了底层的ENS域名,咱们不错用它作念任何咱们思作念的事情,比如注册新的子域名或者开发明白器。完成后,咱们只需退出callback回调。域名封装器将和底层ENS域名确刻下统统者(即咱们)交互,并完成交游。就像那样,咱们照旧取得了域名封装器被批准用于的任何ENS域名的临时统统权,并对其进行了苟且改造。

论断

皇冠字符

令东谈主诧异的代码可能会以不知足性的阵势破赖事物。在本文的两个案例下,开发东谈主员合理地假定safe函数类不错安全地使用,却或然中增多了他们的裂缝面。跟着ERC-721和ERC-1155代币圭臬变得越来越流行及平淡排列五娱乐城,这类裂缝情况很可能会越来越平素。开发东谈主员需要接洽使用safe类函数的风险,并笃定外部调用奈何与他们编写的代码进行交互。



>> 澳门六合彩炸金花博彩优惠_AI孙燕姿爆火之后..

>> 太阳城平台博彩平台游戏比较_华表奖这一日, 后台的陈谈明将“看东谈主下..

>> 幸运快艇现金网网站VIP会员特权_帮男生寝室擦狗尿,电锯搞木匠!彭昱畅..

>> AG棋牌博彩平台注册送免费游戏_今天是顾问节,《皆是天神惹的祸》、《红..

>> 太阳城私网网站无法访问_黄牛失落周杰伦演唱会..

>> 亚新三公博彩平台信誉_埃弗顿若未左迁!可能被保级敌手索赔3亿镑..

>> 沙巴棋牌博彩平台玩家_回家铭记在卧室里放这三样东西,暗喻越住越浊富,后..

>> 亚星骰宝博彩平台电竞_为丢冠找借口?球迷:海港本年主要培养国内球员,外..

>> 欧博三公网站用户协议_253期钱哥福彩3D研讨奖号:奇偶参考..

>> ug环球博彩怎么玩_五本无敌的总裁权门好评好书..