智能合约编写之 Solidity的设计模式_澳门必中三肖三码

智能合约编写之 Solidity的设计模式_澳门必中三肖三码

本文摘要:如上所述,随着区块链技术的发展,网络桌面新闻网开始让更多的企业和个人将区块链与自己的业务结合起来。

澳门必中三肖三码

如上所述,随着区块链技术的发展,网络桌面新闻网开始让更多的企业和个人将区块链与自己的业务结合起来。区块链的独特优点(例如,数据公开半透明、不可伪造、对业务方便),但与此同时,没有几个隐藏的危险。数据的公开是半透明的。也就是说,任何人都可以加载。

不能伪造。也就是说,如果信息被链接起来,就不能删除,合同代码也不能更改。此外,合同的公开性、信息传递机制可以利用所有特点,反击手法稍有不慎,轻合同虚无缥缈,要面对企业机密泄露的危险。

因此,在链接业务合同之前,不要事先充分考虑合同的安全性、可服务性等问题。幸运的是,近几年来,通过Solidity语言的大量实践,开发者已经形成了“设计模式”,以解决日常研发中罕见的问题。(威廉莎士比亚,Northern Exposure(美国电视剧),创作)智能合同设计模式解释了2019年维也纳大学名为《Design Patterns For Smart Contracts In the Ethereum Ecosystem》的论文中收录了IEEE。

该论文分析了燃烧的Solidity开源项目,融合了过去的研究成果,整理了18种设计模式。这些设计模型包括安全性、可维护性、生命周期管理、认证等多个方面。接下来,该文档经过标准化,可以从实际研发经验中经过大量测试的18种设计模式中自由选择。

澳门精准三肖

制定安全智能合同的第一个考虑事项是安全问题。区块链世界上恶意代码数不胜数。如果合同包含合同之间的调用,尤其是外部调用是否可靠,尤其是逻辑不受控制的情况下,要特别注意。

如果方人心不够,那“心不可测”的外部代码可能会破坏你的合同。例如,外部调用可以通过故意的消息传递反复运行代码,从而破坏合同状态。这种反击手法是众所周知的“纠错反击”。

这里引入了错误修正反击的小实验,以便读者能够理解外部调用会破坏合同的原因,并帮助他们更好地解释提高今后说明的两个合同安全性的设计模式。(威廉莎士比亚,Northern Exposure(美国电视),)关于纠错反击,这里推荐一个简洁的例子。AddService合同是一个非常简单的计数器,允许每个外部合同调用AddService合同的addByOne,对_count字段进行特殊处理,并通过require强制拒绝每个外部合同。

这个函数不能调用一次。这样,_count字段将准确反映AddService被多少合同调用。

在AddByOne函数的结尾,AddService不调用外部协议的消息传递函数notify。AddService的代码如下:contractaddservice { uintprivate _ count;映射(address=bool)private _ adders;无法对每个Function addByOne() public {//strong制拒绝地址调用一次require(_ adders[msg . sender]==false,’ you have added ///调用帐户的消息传递函数adderinterfaceadder=adder interface(msg . sender);adder . notify();//将地址重新添加到调用的子集_ adders[msg . sender]=true;} } contractadder interface { function notify()public;}这样部署AddService后,蓄意攻击者只能控制AddService的_count数,导致计数器几乎过热。

攻击者只要部署一个合同BadAdder,就可以调用AddService,超过反击效果。BadAdder协议如下:contract badader is adder interface { addserviceprivate _ add service=//.Uint private _ calls//消息function notify()public { if(_ calls 5){ return;} _ calls//Attention!_ add service . add by one();} function doadd()public { _ add service . add by one();}}BadAdder从消息传递函数notify反过来调用AddService。AddService糟糕的代码设计导致require条件检测语句出色地交叉,攻击者可以掏出_count字段,反复添加指定的次数。

本文关键词:澳门必中三肖三码,澳门精准三肖

本文来源:澳门必中三肖三码-www.g268.cn

admin

网站地图xml地图